diff --git a/.github/workflows/crowdin-actions.yml b/.github/workflows/crowdin-actions.yml new file mode 100644 index 0000000000..1af1a77e11 --- /dev/null +++ b/.github/workflows/crowdin-actions.yml @@ -0,0 +1,40 @@ +name: Crowdin Action + +on: + push: +# paths: [ 'app/src/main/res/values**', 'fastlane/metadata' ] + branches: + - 'develop' + +concurrency: + group: ${{ github.workflow }} + cancel-in-progress: true + +jobs: + synchronize-with-crowdin: + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: crowdin action + uses: crowdin/github-action@v2 + with: + upload_sources: true + upload_translations: false + download_translations: true + localization_branch_name: l10n/develop + create_pull_request: true + pull_request_title: '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' + env: + # A classic GitHub Personal Access Token with the 'repo' scope selected (the user should have write access to the repository). + GITHUB_TOKEN: ${{ secrets.GH_TOKEN }} + + # A numeric ID, found at https://crowdin.com/project//tools/api + CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID }} + + # Visit https://crowdin.com/settings#api-key to create this token + CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_PERSONAL_TOKEN }} \ No newline at end of file diff --git a/crowdin.yaml b/crowdin.yaml index 49ca873992..4aac34d394 100644 --- a/crowdin.yaml +++ b/crowdin.yaml @@ -1,3 +1,9 @@ +# The _env suffix tells crowdin to get these from the environment variables set +# in the GitHub actions workflow +project_id_env: "CROWDIN_PROJECT_ID" +api_token_env: "CROWDIN_PERSONAL_TOKEN" +preserve_hierarchy: true + files: - source: /app/src/main/res/values/strings.xml translation: /app/src/main/res/values-%two_letters_code%/strings.xml