diff --git a/.github/workflows/translate.yml b/.github/workflows/translate.yml index 0740aaa3..90b5646e 100644 --- a/.github/workflows/translate.yml +++ b/.github/workflows/translate.yml @@ -11,249 +11,246 @@ jobs: translate-zh: runs-on: ubuntu-latest steps: - - name: Checkout code - uses: actions/checkout@v4 - - name: Setup Node.js - uses: actions/setup-node@v4 + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 with: node-version: "20" - - name: Translate to Chinese - run: npx i18n-auto-translation -k ${{ secrets.GOOGLE_TRANSLATE_API_KEY }} -d "src/locales" -f en -t zh - - name: Upload artifacts - uses: actions/upload-artifact@v4 + - run: npx i18n-auto-translation -k ${{ secrets.GOOGLE_TRANSLATE_API_KEY }} -d "src/locales" -f en -t zh + - run: | + mkdir -p src/locales/zh + [ -f "src/locales/zh.json" ] && mv src/locales/zh.json src/locales/zh/translation.json || true + - uses: actions/upload-artifact@v4 with: name: translations-zh path: src/locales/zh/ + continue-on-error: true translate-ru: runs-on: ubuntu-latest steps: - - name: Checkout code - uses: actions/checkout@v4 - - name: Setup Node.js - uses: actions/setup-node@v4 + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 with: node-version: "20" - - name: Translate to Russian - run: npx i18n-auto-translation -k ${{ secrets.GOOGLE_TRANSLATE_API_KEY }} -d "src/locales" -f en -t ru - - name: Upload artifacts - uses: actions/upload-artifact@v4 + - run: npx i18n-auto-translation -k ${{ secrets.GOOGLE_TRANSLATE_API_KEY }} -d "src/locales" -f en -t ru + - run: | + mkdir -p src/locales/ru + [ -f "src/locales/ru.json" ] && mv src/locales/ru.json src/locales/ru/translation.json || true + - uses: actions/upload-artifact@v4 with: name: translations-ru path: src/locales/ru/ + continue-on-error: true translate-pt-br: runs-on: ubuntu-latest steps: - - name: Checkout code - uses: actions/checkout@v4 - - name: Setup Node.js - uses: actions/setup-node@v4 + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 with: node-version: "20" - - name: Translate to Portuguese (Brazil) - run: | - npx i18n-auto-translation -k ${{ secrets.GOOGLE_TRANSLATE_API_KEY }} -d "src/locales" -f en -t pt - mv src/locales/pt src/locales/pt-BR || true - - name: Upload artifacts - uses: actions/upload-artifact@v4 + - run: npx i18n-auto-translation -k ${{ secrets.GOOGLE_TRANSLATE_API_KEY }} -d "src/locales" -f en -t pt + - run: | + mkdir -p src/locales/pt-BR + [ -f "src/locales/pt.json" ] && mv src/locales/pt.json src/locales/pt-BR/translation.json || true + - uses: actions/upload-artifact@v4 with: name: translations-pt-br path: src/locales/pt-BR/ + continue-on-error: true translate-fr: runs-on: ubuntu-latest steps: - - name: Checkout code - uses: actions/checkout@v4 - - name: Setup Node.js - uses: actions/setup-node@v4 + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 with: node-version: "20" - - name: Translate to French - run: npx i18n-auto-translation -k ${{ secrets.GOOGLE_TRANSLATE_API_KEY }} -d "src/locales" -f en -t fr - - name: Upload artifacts - uses: actions/upload-artifact@v4 + - run: npx i18n-auto-translation -k ${{ secrets.GOOGLE_TRANSLATE_API_KEY }} -d "src/locales" -f en -t fr + - run: | + mkdir -p src/locales/fr + [ -f "src/locales/fr.json" ] && mv src/locales/fr.json src/locales/fr/translation.json || true + - uses: actions/upload-artifact@v4 with: name: translations-fr path: src/locales/fr/ + continue-on-error: true translate-es: runs-on: ubuntu-latest steps: - - name: Checkout code - uses: actions/checkout@v4 - - name: Setup Node.js - uses: actions/setup-node@v4 + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 with: node-version: "20" - - name: Translate to Spanish - run: npx i18n-auto-translation -k ${{ secrets.GOOGLE_TRANSLATE_API_KEY }} -d "src/locales" -f en -t es - - name: Upload artifacts - uses: actions/upload-artifact@v4 + - run: npx i18n-auto-translation -k ${{ secrets.GOOGLE_TRANSLATE_API_KEY }} -d "src/locales" -f en -t es + - run: | + mkdir -p src/locales/es + [ -f "src/locales/es.json" ] && mv src/locales/es.json src/locales/es/translation.json || true + - uses: actions/upload-artifact@v4 with: name: translations-es path: src/locales/es/ + continue-on-error: true translate-de: runs-on: ubuntu-latest steps: - - name: Checkout code - uses: actions/checkout@v4 - - name: Setup Node.js - uses: actions/setup-node@v4 + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 with: node-version: "20" - - name: Translate to German - run: npx i18n-auto-translation -k ${{ secrets.GOOGLE_TRANSLATE_API_KEY }} -d "src/locales" -f en -t de - - name: Upload artifacts - uses: actions/upload-artifact@v4 + - run: npx i18n-auto-translation -k ${{ secrets.GOOGLE_TRANSLATE_API_KEY }} -d "src/locales" -f en -t de + - run: | + mkdir -p src/locales/de + [ -f "src/locales/de.json" ] && mv src/locales/de.json src/locales/de/translation.json || true + - uses: actions/upload-artifact@v4 with: name: translations-de path: src/locales/de/ + continue-on-error: true translate-hi: runs-on: ubuntu-latest steps: - - name: Checkout code - uses: actions/checkout@v4 - - name: Setup Node.js - uses: actions/setup-node@v4 + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 with: node-version: "20" - - name: Translate to Hindi - run: npx i18n-auto-translation -k ${{ secrets.GOOGLE_TRANSLATE_API_KEY }} -d "src/locales" -f en -t hi - - name: Upload artifacts - uses: actions/upload-artifact@v4 + - run: npx i18n-auto-translation -k ${{ secrets.GOOGLE_TRANSLATE_API_KEY }} -d "src/locales" -f en -t hi + - run: | + mkdir -p src/locales/hi + [ -f "src/locales/hi.json" ] && mv src/locales/hi.json src/locales/hi/translation.json || true + - uses: actions/upload-artifact@v4 with: name: translations-hi path: src/locales/hi/ + continue-on-error: true translate-bn: runs-on: ubuntu-latest steps: - - name: Checkout code - uses: actions/checkout@v4 - - name: Setup Node.js - uses: actions/setup-node@v4 + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 with: node-version: "20" - - name: Translate to Bengali - run: npx i18n-auto-translation -k ${{ secrets.GOOGLE_TRANSLATE_API_KEY }} -d "src/locales" -f en -t bn - - name: Upload artifacts - uses: actions/upload-artifact@v4 + - run: npx i18n-auto-translation -k ${{ secrets.GOOGLE_TRANSLATE_API_KEY }} -d "src/locales" -f en -t bn + - run: | + mkdir -p src/locales/bn + [ -f "src/locales/bn.json" ] && mv src/locales/bn.json src/locales/bn/translation.json || true + - uses: actions/upload-artifact@v4 with: name: translations-bn path: src/locales/bn/ + continue-on-error: true translate-ja: runs-on: ubuntu-latest steps: - - name: Checkout code - uses: actions/checkout@v4 - - name: Setup Node.js - uses: actions/setup-node@v4 + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 with: node-version: "20" - - name: Translate to Japanese - run: npx i18n-auto-translation -k ${{ secrets.GOOGLE_TRANSLATE_API_KEY }} -d "src/locales" -f en -t ja - - name: Upload artifacts - uses: actions/upload-artifact@v4 + - run: npx i18n-auto-translation -k ${{ secrets.GOOGLE_TRANSLATE_API_KEY }} -d "src/locales" -f en -t ja + - run: | + mkdir -p src/locales/ja + [ -f "src/locales/ja.json" ] && mv src/locales/ja.json src/locales/ja/translation.json || true + - uses: actions/upload-artifact@v4 with: name: translations-ja path: src/locales/ja/ + continue-on-error: true translate-vi: runs-on: ubuntu-latest steps: - - name: Checkout code - uses: actions/checkout@v4 - - name: Setup Node.js - uses: actions/setup-node@v4 + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 with: node-version: "20" - - name: Translate to Vietnamese - run: npx i18n-auto-translation -k ${{ secrets.GOOGLE_TRANSLATE_API_KEY }} -d "src/locales" -f en -t vi - - name: Upload artifacts - uses: actions/upload-artifact@v4 + - run: npx i18n-auto-translation -k ${{ secrets.GOOGLE_TRANSLATE_API_KEY }} -d "src/locales" -f en -t vi + - run: | + mkdir -p src/locales/vi + [ -f "src/locales/vi.json" ] && mv src/locales/vi.json src/locales/vi/translation.json || true + - uses: actions/upload-artifact@v4 with: name: translations-vi path: src/locales/vi/ + continue-on-error: true translate-tr: runs-on: ubuntu-latest steps: - - name: Checkout code - uses: actions/checkout@v4 - - name: Setup Node.js - uses: actions/setup-node@v4 + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 with: node-version: "20" - - name: Translate to Turkish - run: npx i18n-auto-translation -k ${{ secrets.GOOGLE_TRANSLATE_API_KEY }} -d "src/locales" -f en -t tr - - name: Upload artifacts - uses: actions/upload-artifact@v4 + - run: npx i18n-auto-translation -k ${{ secrets.GOOGLE_TRANSLATE_API_KEY }} -d "src/locales" -f en -t tr + - run: | + mkdir -p src/locales/tr + [ -f "src/locales/tr.json" ] && mv src/locales/tr.json src/locales/tr/translation.json || true + - uses: actions/upload-artifact@v4 with: name: translations-tr path: src/locales/tr/ + continue-on-error: true translate-ko: runs-on: ubuntu-latest steps: - - name: Checkout code - uses: actions/checkout@v4 - - name: Setup Node.js - uses: actions/setup-node@v4 + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 with: node-version: "20" - - name: Translate to Korean - run: npx i18n-auto-translation -k ${{ secrets.GOOGLE_TRANSLATE_API_KEY }} -d "src/locales" -f en -t ko - - name: Upload artifacts - uses: actions/upload-artifact@v4 + - run: npx i18n-auto-translation -k ${{ secrets.GOOGLE_TRANSLATE_API_KEY }} -d "src/locales" -f en -t ko + - run: | + mkdir -p src/locales/ko + [ -f "src/locales/ko.json" ] && mv src/locales/ko.json src/locales/ko/translation.json || true + - uses: actions/upload-artifact@v4 with: name: translations-ko path: src/locales/ko/ + continue-on-error: true translate-it: runs-on: ubuntu-latest steps: - - name: Checkout code - uses: actions/checkout@v4 - - name: Setup Node.js - uses: actions/setup-node@v4 + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 with: node-version: "20" - - name: Translate to Italian - run: npx i18n-auto-translation -k ${{ secrets.GOOGLE_TRANSLATE_API_KEY }} -d "src/locales" -f en -t it - - name: Upload artifacts - uses: actions/upload-artifact@v4 + - run: npx i18n-auto-translation -k ${{ secrets.GOOGLE_TRANSLATE_API_KEY }} -d "src/locales" -f en -t it + - run: | + mkdir -p src/locales/it + [ -f "src/locales/it.json" ] && mv src/locales/it.json src/locales/it/translation.json || true + - uses: actions/upload-artifact@v4 with: name: translations-it path: src/locales/it/ + continue-on-error: true translate-he: runs-on: ubuntu-latest steps: - - name: Checkout code - uses: actions/checkout@v4 - - name: Setup Node.js - uses: actions/setup-node@v4 + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 with: node-version: "20" - - name: Translate to Hebrew - run: npx i18n-auto-translation -k ${{ secrets.GOOGLE_TRANSLATE_API_KEY }} -d "src/locales" -f en -t he - - name: Upload artifacts - uses: actions/upload-artifact@v4 + - run: npx i18n-auto-translation -k ${{ secrets.GOOGLE_TRANSLATE_API_KEY }} -d "src/locales" -f en -t he + - run: | + mkdir -p src/locales/he + [ -f "src/locales/he.json" ] && mv src/locales/he.json src/locales/he/translation.json || true + - uses: actions/upload-artifact@v4 with: name: translations-he path: src/locales/he/ + continue-on-error: true create-pr: needs: [translate-zh, translate-ru, translate-pt-br, translate-fr, translate-es, translate-de, translate-hi, translate-bn, translate-ja, translate-vi, translate-tr, translate-ko, translate-it, translate-he] runs-on: ubuntu-latest steps: - - name: Checkout code - uses: actions/checkout@v4 + - uses: actions/checkout@v4 - name: Download all artifacts uses: actions/download-artifact@v4 @@ -263,20 +260,20 @@ jobs: - name: Move translations to correct locations run: | mkdir -p src/locales - cp -r translations-temp/translations-zh/* src/locales/ || true - cp -r translations-temp/translations-ru/* src/locales/ || true - cp -r translations-temp/translations-pt-br/* src/locales/ || true - cp -r translations-temp/translations-fr/* src/locales/ || true - cp -r translations-temp/translations-es/* src/locales/ || true - cp -r translations-temp/translations-de/* src/locales/ || true - cp -r translations-temp/translations-hi/* src/locales/ || true - cp -r translations-temp/translations-bn/* src/locales/ || true - cp -r translations-temp/translations-ja/* src/locales/ || true - cp -r translations-temp/translations-vi/* src/locales/ || true - cp -r translations-temp/translations-tr/* src/locales/ || true - cp -r translations-temp/translations-ko/* src/locales/ || true - cp -r translations-temp/translations-it/* src/locales/ || true - cp -r translations-temp/translations-he/* src/locales/ || true + cp -r translations-temp/translations-zh/* src/locales/ 2>/dev/null || true + cp -r translations-temp/translations-ru/* src/locales/ 2>/dev/null || true + cp -r translations-temp/translations-pt-br/* src/locales/ 2>/dev/null || true + cp -r translations-temp/translations-fr/* src/locales/ 2>/dev/null || true + cp -r translations-temp/translations-es/* src/locales/ 2>/dev/null || true + cp -r translations-temp/translations-de/* src/locales/ 2>/dev/null || true + cp -r translations-temp/translations-hi/* src/locales/ 2>/dev/null || true + cp -r translations-temp/translations-bn/* src/locales/ 2>/dev/null || true + cp -r translations-temp/translations-ja/* src/locales/ 2>/dev/null || true + cp -r translations-temp/translations-vi/* src/locales/ 2>/dev/null || true + cp -r translations-temp/translations-tr/* src/locales/ 2>/dev/null || true + cp -r translations-temp/translations-ko/* src/locales/ 2>/dev/null || true + cp -r translations-temp/translations-it/* src/locales/ 2>/dev/null || true + cp -r translations-temp/translations-he/* src/locales/ 2>/dev/null || true - name: Create Pull Request uses: peter-evans/create-pull-request@v6 @@ -286,5 +283,3 @@ jobs: branch: translations-update delete-branch: true title: "chore: Update translations for all languages" - body: | - Auto-generated translations