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@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 with: fetch-depth: 0 - name: 🌐 Sync Translations with Crowdin uses: crowdin/github-action@60debf382ee245b21794321190ad0501db89d8c1 # v2.13.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: false skip_untranslated_files: false export_only_approved: false # Commit customization commit_message: "feat(i18n): update translations from Crowdin" env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID }} CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_PERSONAL_TOKEN }}