diff --git a/.github/workflows/crowdin-commit.yml b/.github/workflows/crowdin-commit.yml new file mode 100644 index 0000000..de06a5e --- /dev/null +++ b/.github/workflows/crowdin-commit.yml @@ -0,0 +1,57 @@ +name: Import translations from Crowdin + +on: + schedule: + - cron: "0 0 1,15 * *" + workflow_dispatch: + +jobs: + build: + runs-on: ubuntu-latest + container: devkitpro/devkitarm:20241104 + + steps: + - uses: actions/checkout@v4 + with: + persist-credentials: false + submodules: recursive + + - name: Setup environment + run: git config --global safe.directory '*' + + - uses: actions/setup-node@v4 + with: + node-version: lts/* + + - name: Setup Crowdin CLI + run: | + npm i -g @crowdin/cli + + - name: Pull from Crowdin + env: + CROWDIN_TOKEN: ${{ secrets.CROWDIN_TOKEN }} + GM9I_CROWDIN_ID: ${{ secrets.GM9I_CROWDIN_ID }} + run: | + ./crowdin-pull.sh + + - name: Pull origin + run: git pull origin master --ff-only # Pull origin in case a commit has been done while updating + + # This makes sure that the site actually builds before pushing to master + - name: Build GodMode9i + run: | + make all dsi + + - name: Push changes + run: | + git config user.email "twlbot@flashcarts.net" + git config user.name "TWLBot" + + git checkout master + git commit -a -m "Automatic translation import" + + - name: Push changes + uses: ad-m/github-push-action@master + with: + branch: master + github_token: ${{ secrets.TWLBOT_TOKEN }} diff --git a/.github/workflows/crowdin-upload.yml b/.github/workflows/crowdin-upload.yml new file mode 100644 index 0000000..7134349 --- /dev/null +++ b/.github/workflows/crowdin-upload.yml @@ -0,0 +1,34 @@ +name: Upload source files to Crowdin + +on: + push: + branches: [ master ] + paths: + - 'nitrofiles/languages/en-US/language.ini' + workflow_dispatch: + +jobs: + build: + runs-on: ubuntu-latest + container: devkitpro/devkitarm:20241104 + + steps: + - uses: actions/checkout@v4 + with: + persist-credentials: false + submodules: recursive + + - name: Setup environment + run: git config --global safe.directory '*' + + - name: Build GodMode9i + run: | + make all dsi + + - name: Push to Crowdin + uses: crowdin/github-action@v2 + with: + upload_sources: true + env: + GM9I_CROWDIN_ID: ${{ secrets.GM9I_CROWDIN_ID }} + CROWDIN_TOKEN: ${{ secrets.CROWDIN_TOKEN }} diff --git a/crowdin-pull.sh b/crowdin-pull.sh new file mode 100755 index 0000000..00852d1 --- /dev/null +++ b/crowdin-pull.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +# Add new languages here, space separated and using the ID for `crowdin pull` +LANGUAGES="de es-ES fr he hu id it ja kana nl pl ro ru ry tr uk zh-CN" + +ARG='' +for LANGUAGE in $LANGUAGES; do + ARG+="-l $LANGUAGE " +done +crowdin pull $ARG