Files
TimeTracker/.github/workflows/crowdin-sync.yml
T
Dries Peeters 6e0010b28f docs(i18n): document Crowdin setup and add sync configuration
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.
2026-04-15 08:03:48 +02:00

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 }}