From 3aaddc04931fe634267999f31fd2d351ddc53717 Mon Sep 17 00:00:00 2001 From: Quentin BEY Date: Wed, 12 Mar 2025 14:54:52 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=91=B7(crowdin)=20upload=20main=20transla?= =?UTF-8?q?tions=20to=20crowdin?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This will send the translations to crowdin everytime the main branch is updated. --- .github/workflows/crowdin_upload.yml | 76 ++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 .github/workflows/crowdin_upload.yml diff --git a/.github/workflows/crowdin_upload.yml b/.github/workflows/crowdin_upload.yml new file mode 100644 index 0000000..bdb545e --- /dev/null +++ b/.github/workflows/crowdin_upload.yml @@ -0,0 +1,76 @@ +name: Update crowdin sources + +on: + workflow_dispatch: + push: + branches: + - main + +jobs: + install-dependencies: + uses: ./.github/workflows/dependencies.yml + with: + node_version: '18.x' + with-front-dependencies-installation: true + with-build_mails: true + + synchronize-with-crowdin: + needs: install-dependencies + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v4 + # Backend i18n + - name: Install Python + uses: actions/setup-python@v3 + with: + python-version: "3.11" + - name: Upgrade pip and setuptools + run: pip install --upgrade pip setuptools + - name: Install development dependencies + run: pip install --user . + working-directory: src/backend + - name: Restore the mail templates + uses: actions/cache@v4 + id: mail-templates + with: + path: "src/backend/core/templates/mail" + key: mail-templates-${{ hashFiles('src/mail/mjml') }} + fail-on-cache-miss: true + - name: Install gettext + run: | + sudo apt-get update + sudo apt-get install -y gettext pandoc + - name: generate pot files + working-directory: src/backend + run: | + DJANGO_CONFIGURATION=Build python manage.py makemessages -a --keep-pot + # frontend i18n + - name: Restore the frontend cache + uses: actions/cache@v4 + with: + path: "src/frontend/**/node_modules" + key: front-node_modules-${{ hashFiles('src/frontend/**/yarn.lock') }} + fail-on-cache-miss: true + - name: generate source translation file + working-directory: src/frontend + run: yarn i18n:extract + # crowdin workflow + - name: crowdin action + uses: crowdin/github-action@v2 + with: + config: crowdin/config.yml + upload_sources: true + upload_translations: false + download_translations: false + create_pull_request: false + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_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 }} + + CROWDIN_BASE_PATH: "../src/"