name: 🌐 Translation Sync on: push: branches: [develop] paths: - "translations/**" - "crowdin.yml" - "i18n.ts" - ".github/workflows/crowdin.yml" # Run weekly to pull new translations schedule: - cron: "0 2 * * 1" # Every Monday at 2 AM UTC workflow_dispatch: permissions: contents: write pull-requests: write jobs: sync-translations: runs-on: ubuntu-latest steps: - name: 📥 Checkout Repository uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 with: fetch-depth: 0 - name: 🌐 Sync Translations with Crowdin uses: crowdin/github-action@08713f00a50548bfe39b37e8f44afb53e7a802d4 # v2.12.0 with: upload_sources: true upload_translations: true download_translations: true localization_branch_name: I10n_crowdin_translations create_pull_request: true pull_request_title: "feat: New Crowdin Translations" pull_request_body: "New Crowdin translations by [Crowdin GH Action](https://github.com/crowdin/github-action)" pull_request_base_branch_name: "develop" pull_request_labels: "🌐 translation" # Quality control options skip_untranslated_strings: true export_only_approved: false # Commit customization commit_message: "feat(i18n): update translations from Crowdin" env: GITHUB_TOKEN: ${{ secrets.CROWDIN_GITHUB_TOKEN }} CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID }} CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_PERSONAL_TOKEN }}