mirror of
https://github.com/DRYTRIX/TimeTracker.git
synced 2026-05-19 04:40:32 -05:00
6e0010b28f
Add crowdin.yml mapping the English gettext catalog to per-locale messages.po paths, with an explicit nb→no mapping so Norwegian matches app/config.py. Add a manual GitHub Action (Crowdin sync) to upload sources and download translations when CROWDIN_PROJECT_ID and CROWDIN_PERSONAL_TOKEN are configured. Extend CONTRIBUTING_TRANSLATIONS with maintainer steps, cross-link TRANSLATION_SYSTEM and contributor guides, refresh TRANSLATION_SYSTEM metadata, and note the integration under [Unreleased] in CHANGELOG.md.
35 lines
1.2 KiB
YAML
35 lines
1.2 KiB
YAML
# Manual Crowdin sync: uploads English source .po, downloads translations, opens a PR.
|
|
# Prerequisites: repo secrets CROWDIN_PROJECT_ID and CROWDIN_PERSONAL_TOKEN (see docs/CONTRIBUTING_TRANSLATIONS.md).
|
|
name: Crowdin sync
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
|
|
permissions:
|
|
contents: write
|
|
pull-requests: write
|
|
|
|
jobs:
|
|
crowdin:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Crowdin push and pull
|
|
uses: crowdin/github-action@v2
|
|
with:
|
|
upload_sources: true
|
|
# Set to true once to seed Crowdin with existing translations/…/messages.po, then set back to false.
|
|
upload_translations: false
|
|
download_translations: true
|
|
localization_branch_name: i18n/crowdin
|
|
create_pull_request: true
|
|
pull_request_title: "chore(i18n): Crowdin translations"
|
|
pull_request_body: "Automated sync from Crowdin. Review placeholders and `no` vs `nb` paths before merge."
|
|
commit_message: "chore(i18n): sync Crowdin translations"
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID }}
|
|
CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_PERSONAL_TOKEN }}
|