From 49fa50c3cd12a693738aa4b6a7ef3fbdd9fc1da6 Mon Sep 17 00:00:00 2001 From: ChobPT <45816945+ChobPT@users.noreply.github.com> Date: Mon, 15 Apr 2024 17:14:56 +0100 Subject: [PATCH] feat: Adding Portuguese (pt-PT) Translation (#52) * Added pt-PT translation Machine translation with human review * Added Flag * Update LanguageSelector.tsx Added Portuguese Option * Update constants.ts Added PT Language constant * Update LanguageSelector.tsx Moved PT to be in the correct alphabetical order * Update constants.ts Moved PT to be in the correct alphabetical order * Update i18next-toolkit.config.cjs --- src/client/components/LanguageSelector.tsx | 5 + src/client/i18next-toolkit.config.cjs | 2 +- src/client/public/locales/pt/flag.png | Bin 0 -> 3612 bytes src/client/public/locales/pt/translation.json | 269 ++++++++++++++++++ src/client/utils/constants.ts | 5 + 5 files changed, 280 insertions(+), 1 deletion(-) create mode 100644 src/client/public/locales/pt/flag.png create mode 100644 src/client/public/locales/pt/translation.json diff --git a/src/client/components/LanguageSelector.tsx b/src/client/components/LanguageSelector.tsx index f81f4e4..9f3d4e4 100644 --- a/src/client/components/LanguageSelector.tsx +++ b/src/client/components/LanguageSelector.tsx @@ -34,6 +34,11 @@ export const LanguageSelector: React.FC = React.memo(() => { key: 'jp', itemIcon: , }, + { + label: 'Português', + key: 'pt', + itemIcon: , + }, { label: 'Русский', key: 'ru', diff --git a/src/client/i18next-toolkit.config.cjs b/src/client/i18next-toolkit.config.cjs index ce05a00..d1336de 100644 --- a/src/client/i18next-toolkit.config.cjs +++ b/src/client/i18next-toolkit.config.cjs @@ -1,6 +1,6 @@ /** @type {import('@i18next-toolkit/cli').I18nextToolkitConfig} */ const config = { - locales: ['en', 'zh', 'jp', 'fr', 'de', 'ru'], + locales: ['en', 'zh', 'jp', 'fr', 'de', 'pt', 'ru'], verbose: true, translator: { type: 'openai', diff --git a/src/client/public/locales/pt/flag.png b/src/client/public/locales/pt/flag.png new file mode 100644 index 0000000000000000000000000000000000000000..d40599656d563d34bb53816ab99871bcaf7718a7 GIT binary patch literal 3612 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