v1.10.0 #471

Merged
LukeGus merged 106 commits from dev-1.10.0 into main 2026-01-01 04:20:12 +00:00
3 changed files with 52 additions and 95 deletions
Showing only changes of commit 3c61873026 - Show all commits

View File

@@ -16,13 +16,10 @@ jobs:
with: with:
node-version: "20" node-version: "20"
- run: npx i18n-auto-translation -k ${{ secrets.GOOGLE_TRANSLATE_API_KEY }} -d "src/locales" -f en -t zh - 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 - uses: actions/upload-artifact@v4
with: with:
name: translations-zh name: translations-zh
path: src/locales/zh/ path: src/locales/zh.json
continue-on-error: true continue-on-error: true
translate-ru: translate-ru:
@@ -33,16 +30,13 @@ jobs:
with: with:
node-version: "20" node-version: "20"
- run: npx i18n-auto-translation -k ${{ secrets.GOOGLE_TRANSLATE_API_KEY }} -d "src/locales" -f en -t ru - 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 - uses: actions/upload-artifact@v4
with: with:
name: translations-ru name: translations-ru
path: src/locales/ru/ path: src/locales/ru.json
continue-on-error: true continue-on-error: true
translate-pt-br: translate-pt:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
@@ -50,13 +44,10 @@ jobs:
with: with:
node-version: "20" node-version: "20"
- run: npx i18n-auto-translation -k ${{ secrets.GOOGLE_TRANSLATE_API_KEY }} -d "src/locales" -f en -t pt - 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 - uses: actions/upload-artifact@v4
with: with:
name: translations-pt-br name: translations-pt
path: src/locales/pt-BR/ path: src/locales/pt.json
continue-on-error: true continue-on-error: true
translate-fr: translate-fr:
@@ -67,13 +58,10 @@ jobs:
with: with:
node-version: "20" node-version: "20"
- run: npx i18n-auto-translation -k ${{ secrets.GOOGLE_TRANSLATE_API_KEY }} -d "src/locales" -f en -t fr - 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 - uses: actions/upload-artifact@v4
with: with:
name: translations-fr name: translations-fr
path: src/locales/fr/ path: src/locales/fr.json
continue-on-error: true continue-on-error: true
translate-es: translate-es:
@@ -84,13 +72,10 @@ jobs:
with: with:
node-version: "20" node-version: "20"
- run: npx i18n-auto-translation -k ${{ secrets.GOOGLE_TRANSLATE_API_KEY }} -d "src/locales" -f en -t es - 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 - uses: actions/upload-artifact@v4
with: with:
name: translations-es name: translations-es
path: src/locales/es/ path: src/locales/es.json
continue-on-error: true continue-on-error: true
translate-de: translate-de:
@@ -101,13 +86,10 @@ jobs:
with: with:
node-version: "20" node-version: "20"
- run: npx i18n-auto-translation -k ${{ secrets.GOOGLE_TRANSLATE_API_KEY }} -d "src/locales" -f en -t de - 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 - uses: actions/upload-artifact@v4
with: with:
name: translations-de name: translations-de
path: src/locales/de/ path: src/locales/de.json
continue-on-error: true continue-on-error: true
translate-hi: translate-hi:
@@ -118,13 +100,10 @@ jobs:
with: with:
node-version: "20" node-version: "20"
- run: npx i18n-auto-translation -k ${{ secrets.GOOGLE_TRANSLATE_API_KEY }} -d "src/locales" -f en -t hi - 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 - uses: actions/upload-artifact@v4
with: with:
name: translations-hi name: translations-hi
path: src/locales/hi/ path: src/locales/hi.json
continue-on-error: true continue-on-error: true
translate-bn: translate-bn:
@@ -135,13 +114,10 @@ jobs:
with: with:
node-version: "20" node-version: "20"
- run: npx i18n-auto-translation -k ${{ secrets.GOOGLE_TRANSLATE_API_KEY }} -d "src/locales" -f en -t bn - 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 - uses: actions/upload-artifact@v4
with: with:
name: translations-bn name: translations-bn
path: src/locales/bn/ path: src/locales/bn.json
continue-on-error: true continue-on-error: true
translate-ja: translate-ja:
@@ -152,13 +128,10 @@ jobs:
with: with:
node-version: "20" node-version: "20"
- run: npx i18n-auto-translation -k ${{ secrets.GOOGLE_TRANSLATE_API_KEY }} -d "src/locales" -f en -t ja - 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 - uses: actions/upload-artifact@v4
with: with:
name: translations-ja name: translations-ja
path: src/locales/ja/ path: src/locales/ja.json
continue-on-error: true continue-on-error: true
translate-vi: translate-vi:
@@ -169,13 +142,10 @@ jobs:
with: with:
node-version: "20" node-version: "20"
- run: npx i18n-auto-translation -k ${{ secrets.GOOGLE_TRANSLATE_API_KEY }} -d "src/locales" -f en -t vi - 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 - uses: actions/upload-artifact@v4
with: with:
name: translations-vi name: translations-vi
path: src/locales/vi/ path: src/locales/vi.json
continue-on-error: true continue-on-error: true
translate-tr: translate-tr:
@@ -186,13 +156,10 @@ jobs:
with: with:
node-version: "20" node-version: "20"
- run: npx i18n-auto-translation -k ${{ secrets.GOOGLE_TRANSLATE_API_KEY }} -d "src/locales" -f en -t tr - 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 - uses: actions/upload-artifact@v4
with: with:
name: translations-tr name: translations-tr
path: src/locales/tr/ path: src/locales/tr.json
continue-on-error: true continue-on-error: true
translate-ko: translate-ko:
@@ -203,13 +170,10 @@ jobs:
with: with:
node-version: "20" node-version: "20"
- run: npx i18n-auto-translation -k ${{ secrets.GOOGLE_TRANSLATE_API_KEY }} -d "src/locales" -f en -t ko - 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 - uses: actions/upload-artifact@v4
with: with:
name: translations-ko name: translations-ko
path: src/locales/ko/ path: src/locales/ko.json
continue-on-error: true continue-on-error: true
translate-it: translate-it:
@@ -220,13 +184,10 @@ jobs:
with: with:
node-version: "20" node-version: "20"
- run: npx i18n-auto-translation -k ${{ secrets.GOOGLE_TRANSLATE_API_KEY }} -d "src/locales" -f en -t it - 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 - uses: actions/upload-artifact@v4
with: with:
name: translations-it name: translations-it
path: src/locales/it/ path: src/locales/it.json
continue-on-error: true continue-on-error: true
translate-he: translate-he:
@@ -237,17 +198,14 @@ jobs:
with: with:
node-version: "20" node-version: "20"
- run: npx i18n-auto-translation -k ${{ secrets.GOOGLE_TRANSLATE_API_KEY }} -d "src/locales" -f en -t he - 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 - uses: actions/upload-artifact@v4
with: with:
name: translations-he name: translations-he
path: src/locales/he/ path: src/locales/he.json
continue-on-error: true continue-on-error: true
create-pr: 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] needs: [translate-zh, translate-ru, translate-pt, 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 runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
@@ -257,23 +215,22 @@ jobs:
with: with:
path: translations-temp path: translations-temp
- name: Move translations to correct locations - name: Move translations to src/locales
run: | run: |
mkdir -p src/locales cp translations-temp/translations-zh/zh.json src/locales/ 2>/dev/null || true
cp -r translations-temp/translations-zh/* src/locales/ 2>/dev/null || true cp translations-temp/translations-ru/ru.json src/locales/ 2>/dev/null || true
cp -r translations-temp/translations-ru/* src/locales/ 2>/dev/null || true cp translations-temp/translations-pt/pt.json src/locales/ 2>/dev/null || true
cp -r translations-temp/translations-pt-br/* src/locales/ 2>/dev/null || true cp translations-temp/translations-fr/fr.json src/locales/ 2>/dev/null || true
cp -r translations-temp/translations-fr/* src/locales/ 2>/dev/null || true cp translations-temp/translations-es/es.json src/locales/ 2>/dev/null || true
cp -r translations-temp/translations-es/* src/locales/ 2>/dev/null || true cp translations-temp/translations-de/de.json src/locales/ 2>/dev/null || true
cp -r translations-temp/translations-de/* src/locales/ 2>/dev/null || true cp translations-temp/translations-hi/hi.json src/locales/ 2>/dev/null || true
cp -r translations-temp/translations-hi/* src/locales/ 2>/dev/null || true cp translations-temp/translations-bn/bn.json src/locales/ 2>/dev/null || true
cp -r translations-temp/translations-bn/* src/locales/ 2>/dev/null || true cp translations-temp/translations-ja/ja.json src/locales/ 2>/dev/null || true
cp -r translations-temp/translations-ja/* src/locales/ 2>/dev/null || true cp translations-temp/translations-vi/vi.json src/locales/ 2>/dev/null || true
cp -r translations-temp/translations-vi/* src/locales/ 2>/dev/null || true cp translations-temp/translations-tr/tr.json src/locales/ 2>/dev/null || true
cp -r translations-temp/translations-tr/* src/locales/ 2>/dev/null || true cp translations-temp/translations-ko/ko.json src/locales/ 2>/dev/null || true
cp -r translations-temp/translations-ko/* src/locales/ 2>/dev/null || true cp translations-temp/translations-it/it.json src/locales/ 2>/dev/null || true
cp -r translations-temp/translations-it/* src/locales/ 2>/dev/null || true cp translations-temp/translations-he/he.json src/locales/ 2>/dev/null || true
cp -r translations-temp/translations-he/* src/locales/ 2>/dev/null || true
- name: Create Pull Request - name: Create Pull Request
uses: peter-evans/create-pull-request@v6 uses: peter-evans/create-pull-request@v6

View File

@@ -3,20 +3,20 @@ import { initReactI18next } from "react-i18next";
import LanguageDetector from "i18next-browser-languagedetector"; import LanguageDetector from "i18next-browser-languagedetector";
import enTranslation from "../locales/en.json"; import enTranslation from "../locales/en.json";
import zhTranslation from "../locales/zh/translation.json"; import zhTranslation from "../locales/zh.json";
import deTranslation from "../locales/de/translation.json"; import deTranslation from "../locales/de.json";
import ptbrTranslation from "../locales/pt-BR/translation.json"; import ptTranslation from "../locales/pt.json";
import ruTranslation from "../locales/ru/translation.json"; import ruTranslation from "../locales/ru.json";
import frTranslation from "../locales/fr/translation.json"; import frTranslation from "../locales/fr.json";
import koTranslation from "../locales/ko/translation.json"; import koTranslation from "../locales/ko.json";
import itTranslation from "../locales/it/translation.json"; import itTranslation from "../locales/it.json";
import esTranslation from "../locales/es/translation.json"; import esTranslation from "../locales/es.json";
import hiTranslation from "../locales/hi/translation.json"; import hiTranslation from "../locales/hi.json";
import bnTranslation from "../locales/bn/translation.json"; import bnTranslation from "../locales/bn.json";
import jaTranslation from "../locales/ja/translation.json"; import jaTranslation from "../locales/ja.json";
import viTranslation from "../locales/vi/translation.json"; import viTranslation from "../locales/vi.json";
import trTranslation from "../locales/tr/translation.json"; import trTranslation from "../locales/tr.json";
import heTranslation from "../locales/he/translation.json"; import heTranslation from "../locales/he.json";
i18n i18n
.use(LanguageDetector) .use(LanguageDetector)
@@ -26,7 +26,7 @@ i18n
"en", "en",
"zh", "zh",
"de", "de",
"ptbr", "pt",
"ru", "ru",
"fr", "fr",
"ko", "ko",
@@ -60,8 +60,8 @@ i18n
de: { de: {
translation: deTranslation, translation: deTranslation,
}, },
ptbr: { pt: {
translation: ptbrTranslation, translation: ptTranslation,
}, },
ru: { ru: {
translation: ruTranslation, translation: ruTranslation,

View File

@@ -14,9 +14,9 @@ const languages = [
{ code: "zh", name: "Chinese", nativeName: "中文" }, { code: "zh", name: "Chinese", nativeName: "中文" },
{ code: "de", name: "German", nativeName: "Deutsch" }, { code: "de", name: "German", nativeName: "Deutsch" },
{ {
code: "ptbr", code: "pt",
name: "Brazilian Portuguese", name: "Portuguese",
nativeName: "Português Brasileiro", nativeName: "Português",
}, },
{ code: "ru", name: "Russian", nativeName: "Русский" }, { code: "ru", name: "Russian", nativeName: "Русский" },
{ code: "fr", name: "French", nativeName: "Français" }, { code: "fr", name: "French", nativeName: "Français" },