v1.10.0 #471
107
.github/workflows/translate.yml
vendored
107
.github/workflows/translate.yml
vendored
@@ -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
|
||||||
|
|||||||
@@ -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,
|
||||||
|
|||||||
@@ -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" },
|
||||||
|
|||||||
Reference in New Issue
Block a user