name: L10n on: workflow_dispatch: concurrency: group: l10n cancel-in-progress: true permissions: contents: write pull-requests: write jobs: l10n: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v6 - name: Setup Go uses: actions/setup-go@v6 with: cache: true go-version: 'stable' - name: Install gettext run: | sudo apt-get install -y gettext - name: Install xgotext run: | go install github.com/leonelquinteros/gotext/cli/xgotext@latest - name: Generate pot files run: | ~/go/bin/xgotext -default helper -in ./ -out ./pkg/embed/locales - uses: stefanzweifel/git-auto-commit-action@v7 name: Commit changes with: commit_message: "chore(l10n): update pot files" - name: Sync with Crowdin uses: crowdin/github-action@v2 with: config: crowdin.yml upload_sources: true upload_translations: false download_translations: true export_only_approved: true create_pull_request: true pull_request_title: 'l10n: sync translations with Crowdin' env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID }} CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_PERSONAL_TOKEN }}