From e156ef897e8b0315ca8a042ec1445d013bd0ccf6 Mon Sep 17 00:00:00 2001 From: Vadym Samoilenko Date: Sun, 24 May 2026 20:05:39 +0100 Subject: [PATCH] =?UTF-8?q?fix(i18n):=20translate=20Personas=20page=20?= =?UTF-8?q?=E2=80=94=20all=20hardcoded=20EN=20strings=20replaced=20with=20?= =?UTF-8?q?t()=20keys?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adds 74 keys to synthetic_users section in ru/uk/en locales. Covers: page title/subtitle, buttons, tabs (AI Recruiter / Manual Creation), AIRecruiterForm fields, UserCreator form labels, FolderTree labels, InputStrengthIndicator hints, filter/delete/move dialogs. Co-Authored-By: Claude Sonnet 4.6 --- src/components/AIRecruiter.tsx | 4 +- src/components/FolderTree.tsx | 6 +- src/components/UserCreator.tsx | 78 +++++---- .../ai-recruiter/AIRecruiterForm.tsx | 44 ++--- src/components/ui/InputStrengthIndicator.tsx | 10 +- src/i18n/locales/en/common.json | 90 +++++++++- src/i18n/locales/ru/common.json | 90 +++++++++- src/i18n/locales/uk/common.json | 90 +++++++++- src/pages/SyntheticUsers.tsx | 159 +++++++++--------- 9 files changed, 424 insertions(+), 147 deletions(-) diff --git a/src/components/AIRecruiter.tsx b/src/components/AIRecruiter.tsx index 9b8ed572..4431f261 100755 --- a/src/components/AIRecruiter.tsx +++ b/src/components/AIRecruiter.tsx @@ -1,5 +1,6 @@ import { useState, useEffect, useRef } from 'react'; +import { useTranslation } from 'react-i18next'; import { z } from "zod"; import { Users } from 'lucide-react'; import { toast } from 'sonner'; @@ -19,6 +20,7 @@ interface AIRecruiterProps { } export default function AIRecruiter({ targetFolderId, targetFolderName }: AIRecruiterProps) { + const { t } = useTranslation(); const location = useLocation(); const navigate = useNavigate(); const { loadPersonas, savePersonas } = usePersonaStorage(); @@ -277,7 +279,7 @@ export default function AIRecruiter({ targetFolderId, targetFolderName }: AIRecr
-

AI Persona Recruiter

+

{t('synthetic_users.ai_recruiter_title')}

{/* Progress Modal for Persona Generation */} diff --git a/src/components/FolderTree.tsx b/src/components/FolderTree.tsx index f62104b6..70f200fc 100755 --- a/src/components/FolderTree.tsx +++ b/src/components/FolderTree.tsx @@ -1,4 +1,5 @@ import { useState, useEffect } from 'react'; +import { useTranslation } from 'react-i18next'; import { Button } from '@/components/ui/button'; import { Input } from '@/components/ui/input'; import { @@ -65,6 +66,7 @@ const FolderTree = ({ const [folderToRename, setFolderToRename] = useState(null); const [renameFolderName, setRenameFolderName] = useState(''); + const { t } = useTranslation(); const [expandedFolders, setExpandedFolders] = useState>(new Set()); const [activeId, setActiveId] = useState(null); const [dragConfirmOpen, setDragConfirmOpen] = useState(false); @@ -253,7 +255,7 @@ const FolderTree = ({ <>
-

Folders

+

{t('synthetic_users.label_folders')}