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@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: fetch-depth: 0 - name: 🌐 Sync Translations with Crowdin uses: crowdin/github-action@b4b468cffefb50bdd99dd83e5d2eaeb63c880380 # v2.14.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 }}