From 1dc379b092ee5f05faa337bfc9639847acf2a6f5 Mon Sep 17 00:00:00 2001 From: Paulo Bernardo Date: Thu, 24 Oct 2024 15:17:38 -0300 Subject: [PATCH] feat: add crowdin support --- .github/workflows/crowdin-download.yml | 31 ++++++++++++++++++++++++++ .github/workflows/crowdin-upload.yml | 24 ++++++++++++++++++++ crowdin.yml | 13 +++++++++++ 3 files changed, 68 insertions(+) create mode 100644 .github/workflows/crowdin-download.yml create mode 100644 .github/workflows/crowdin-upload.yml create mode 100644 crowdin.yml diff --git a/.github/workflows/crowdin-download.yml b/.github/workflows/crowdin-download.yml new file mode 100644 index 000000000..42e859427 --- /dev/null +++ b/.github/workflows/crowdin-download.yml @@ -0,0 +1,31 @@ +name: Crowdin Download + +on: + schedule: + - cron: '0 20 * * *' # Run the workflow every day at 20:00 UTC + +permissions: + contents: write + pull-requests: write + +jobs: + crowdin-download: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Synchronize with Crowdin + uses: crowdin/github-action@v2 + with: + upload_sources: false + upload_translations: false + download_translations: true + localization_branch_name: crowdin_translations + create_pull_request: true + pull_request_title: '[CROWDIN] - New translations' + pull_request_body: New Crowdin pull request with translations + pull_request_base_branch_name: main + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID }} + CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_PERSONAL_TOKEN }} diff --git a/.github/workflows/crowdin-upload.yml b/.github/workflows/crowdin-upload.yml new file mode 100644 index 000000000..211030cd1 --- /dev/null +++ b/.github/workflows/crowdin-upload.yml @@ -0,0 +1,24 @@ +asd +name: Crowdin Upload + +on: + push: + paths: [ 'src/locales/**' ] + branches: [ main ] + +jobs: + crowdin-upload: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Crowdin push + uses: crowdin/github-action@v2 + with: + upload_sources: true + upload_translations: true + download_translations: false + env: + CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID }} + CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_PERSONAL_TOKEN }} diff --git a/crowdin.yml b/crowdin.yml new file mode 100644 index 000000000..469ebf663 --- /dev/null +++ b/crowdin.yml @@ -0,0 +1,13 @@ +"project_id_env": "CROWDIN_PROJECT_ID" +"api_token_env": "CROWDIN_PERSONAL_TOKEN" +"base_path": "." +"base_url": "https://api.crowdin.com" + +"preserve_hierarchy": true + +files: [ + { + "source": "src/config/i18n/defaults.json", + "translation": "src/config/i18n/%locale%/resource.json", + } +] \ No newline at end of file