From ab28ebd765307d313bd4579c594dfa3e126cb5e6 Mon Sep 17 00:00:00 2001 From: Vadym Samoilenko Date: Sun, 24 May 2026 17:39:44 +0100 Subject: [PATCH] =?UTF-8?q?feat(i18n):=20login,=20register,=20focus=20grou?= =?UTF-8?q?p=20setup,=20persona=20editor=20=E2=80=94=20EN/UK/RU?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Login.tsx: auth.login_heading, login_subtitle, email_or_username_label, password_label, signing_in, sign_in_button, no_account_q, create_one_free - Register.tsx: full form labels, check-inbox screen, toast messages, data processing consent, plan badge credits (all 3 locales) - SetupTab.tsx: session name, research brief, topics, duration, model, thinking depth, verbosity, materials — new focus_group_setup namespace - PersonaEditor.tsx: all form labels, section headings, OCEAN traits, goals/frustrations/motivations, think-feel-do, scenarios, toast messages — new persona_editor namespace - Locale files: 80+ new keys across EN/UK/RU Co-Authored-By: Claude Sonnet 4.6 --- .../focus-group-session/SetupTab.tsx | 74 +-- src/components/persona/PersonaEditor.tsx | 512 ++++++++---------- src/i18n/locales/en/common.json | 137 ++++- src/i18n/locales/ru/common.json | 137 ++++- src/i18n/locales/uk/common.json | 137 ++++- src/pages/Login.tsx | 35 +- src/pages/Register.tsx | 74 +-- 7 files changed, 741 insertions(+), 365 deletions(-) diff --git a/src/components/focus-group-session/SetupTab.tsx b/src/components/focus-group-session/SetupTab.tsx index ecb1340a..87ce6675 100755 --- a/src/components/focus-group-session/SetupTab.tsx +++ b/src/components/focus-group-session/SetupTab.tsx @@ -30,6 +30,7 @@ import { } from "@/components/ui/accordion"; import AssetUploader from '@/components/AssetUploader'; import { InputStrengthIndicator } from "@/components/ui/InputStrengthIndicator"; +import { useTranslation } from 'react-i18next'; interface SetupTabProps { form: UseFormReturn; @@ -50,6 +51,7 @@ export function SetupTab({ onAssetsChange, onCopyGuideClick, }: SetupTabProps) { + const { t } = useTranslation(); const selectedModel = form.watch("llm_model"); return ( @@ -61,11 +63,11 @@ export function SetupTab({ name="focusGroupName" render={({ field }) => ( - Session name + {t('focus_group_setup.session_name_label')} - + -

You can always rename it later

+

{t('focus_group_setup.session_name_hint')}

)} @@ -77,11 +79,11 @@ export function SetupTab({ name="researchBrief" render={({ field }) => ( - What are you researching? + {t('focus_group_setup.research_brief_label')}