diff --git a/.github/crowdin.yml b/.github/crowdin.yml new file mode 100644 index 0000000000..db76da5e90 --- /dev/null +++ b/.github/crowdin.yml @@ -0,0 +1,19 @@ +project_id_env: CROWDIN_PROJECT_ID +api_token_env: CROWDIN_PERSONAL_TOKEN + +preserve_hierarchy: true + +pull_request_title: 'chore(translation): sync translation with Crowdin' +commit_message: 'chore(translation): sync translation with Crowdin' +pull_request_labels: 'translation' + +files: [ + { + source: 'app/src/res/values/strings.xml', + translation: 'app/src/res/values-%android_code%/strings.xml' + } + { + source: 'app/src/res/values/plurals.xml', + translation: 'app/src/res/values-%android_code%/plurals.xml' + } +] diff --git a/.github/workflows/crowdin.yml b/.github/workflows/crowdin.yml new file mode 100644 index 0000000000..441b3e679e --- /dev/null +++ b/.github/workflows/crowdin.yml @@ -0,0 +1,34 @@ +name: Crowdin + +on: + push: + branches: [ dev ] + paths: + - "app/src/res/values/strings.xml" + - ".github/workflows/crowdin.yml" + schedule: + - cron: "0 0 * * 1" + workflow_dispatch: + + +jobs: + synchronize-with-crowdin: + runs-on: ubuntu-latest + steps: + - name: Checkout the repository + uses: actions/checkout@v4 + + - name: Crowdin action + uses: crowdin/github-action@v1 + with: + config: ".github/crowdin.yml" + upload_sources: true + upload_translations: false + download_translations: true + create_pull_request: true + localization_branch_name: "crowdin_translations" + pull_request_base_branch_name: "dev" + env: + GITHUB_TOKEN: ${{ secrets.GH_TOKEN }} + CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID }} + CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_PERSONAL_TOKEN }}