fix: comprehensive i18n — replace hardcoded French/English strings with t() calls
Some checks failed
Deploy to Production / Build and Deploy (push) Failing after 1m7s

Replaced ~100+ hardcoded French and English text strings across 30+ components
with proper i18n t() calls. Added 57 new translation keys to all 15 locale files
(ar, de, en, es, fa, fr, hi, it, ja, ko, nl, pl, pt, ru, zh).

Key changes:
- contextual-ai-chat.tsx: 30 French strings → t() (actions, toasts, labels, placeholders)
- ai-chat.tsx: 15 French/English strings → t() (header, tabs, welcome, insights, history)
- note-inline-editor.tsx: 20 French fallbacks removed (toolbar, save status, checklist)
- lab-skeleton.tsx: French loading text → t()
- admin-header.tsx, header.tsx, editor-connections-section.tsx: French fallbacks removed
- New AI chat component, agent cards, sidebar, settings panel i18n cleanup

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-04-26 21:14:45 +02:00
parent e358171c45
commit 153c921960
60 changed files with 4125 additions and 1677 deletions

View File

@@ -81,7 +81,30 @@
"noModels": "مدلی وجود ندارد. روی ↺ کلیک کنید",
"modelsAvailable": "{count} مدل در دسترس",
"enterUrlToLoad": "آدرس را وارد کرده و روی ↺ کلیک کنید",
"currentProvider": "(فعلی: {provider})"
"currentProvider": "(فعلی: {provider})",
"pageTitle": "مدیریت هوش مصنوعی",
"pageDescription": "نظارت و پیکربندی قابلیت‌های هوش مصنوعی",
"configure": "پیکربندی",
"features": "قابلیت‌های هوش مصنوعی",
"providerStatus": "وضعیت ارائه‌دهندگان هوش مصنوعی",
"recentRequests": "درخواست‌های اخیر هوش مصنوعی",
"comingSoon": "به زودی",
"activeFeatures": "قابلیت‌های فعال",
"successRate": "نرخ موفقیت",
"avgResponseTime": "میانگین زمان پاسخ",
"configuredProviders": "ارائه‌دهندگان پیکربندی شده",
"settingUpdated": "تنظیم به‌روز شد",
"updateFailedShort": "به‌روزرسانی ناموفق بود",
"titleSuggestions": "پیشنهادات عنوان",
"titleSuggestionsDesc": "پیشنهاد عنوان برای یادداشت‌ها بعد از ۵۰+ کلمه",
"aiAssistant": "دستیار هوش مصنوعی",
"aiAssistantDesc": "فعال‌سازی چت هوش مصنوعی و ابزارهای بهبود متن",
"memoryEchoFeature": "متوجه شدم...",
"memoryEchoFeatureDesc": "تحلیل روزانه ارتباطات بین یادداشت‌ها",
"languageDetection": "تشخیص زبان",
"languageDetectionDesc": "تشخیص خودکار زبان هر یادداشت",
"autoLabeling": "برچسب‌گذاری خودکار",
"autoLabelingDesc": "پیشنهاد و اعمال خودکار برچسب‌ها"
},
"aiTest": {
"description": "تست ارائه‌دهندگان هوش مصنوعی برای تولید برچسب و تعبیه‌های جستجوی معنایی",
@@ -195,7 +218,9 @@
"email": "ایمیل",
"name": "نام",
"role": "نقش"
}
},
"title": "کاربران",
"description": "مدیریت کاربران و مجوزهای برنامه"
},
"chat": "چت هوش مصنوعی",
"lab": "آزمایشگاه",
@@ -231,7 +256,18 @@
"testing": "در حال تست...",
"testSearch": "تست جستجوی وب"
},
"settingsDescription": "پیکربندی تنظیمات کلی برنامه"
"settingsDescription": "پیکربندی تنظیمات کلی برنامه",
"dashboard": {
"title": "داشبورد",
"description": "نمای کلی معیارهای برنامه",
"recentActivity": "فعالیت اخیر",
"recentActivityPlaceholder": "فعالیت‌های اخیر در اینجا نمایش داده می‌شود."
},
"error": {
"title": "خطایی در پنل مدیریت رخ داد",
"description": "رندر این صفحه ناموفق بود. می‌توانید دوباره تلاش کنید.",
"retry": "تلاش مجدد"
}
},
"ai": {
"analyzing": "در حال تحلیل هوش مصنوعی...",
@@ -322,7 +358,57 @@
"improve": "بهبود نگارش",
"improveDesc": "اصلاح گرامر و بهبود سبک نگارش",
"toMarkdown": "قالب‌بندی به عنوان Markdown",
"toMarkdownDesc": "افزودن عناوین، نقاط گلوله‌ای و ساختاردهی متن"
"toMarkdownDesc": "افزودن عناوین، نقاط گلوله‌ای و ساختاردهی متن",
"minWordsError": "یادداشت باید حداقل ۵ کلمه داشته باشد.",
"genericError": "خطای هوش مصنوعی",
"actionError": "خطا در حین عمل هوش مصنوعی",
"appliedToNote": "در یادداشت اعمال شد",
"applyToNote": "اعمال در یادداشت",
"undoLastAction": "برگرداندن آخرین عمل هوش مصنوعی",
"selectContext": "انتخاب زمینه...",
"selectNotebook": "انتخاب دفترچه",
"chatPlaceholder": "از هوش مصنوعی بخواهید ویرایش، خلاصه یا پیش‌نویس کند...",
"assistantTitle": "دستیار هوش مصنوعی",
"currentNote": "یادداشت فعلی",
"shrinkPanel": "کوچک کردن پنل",
"expandPanel": "بزرگ کردن پنل",
"chatTab": "چت",
"noteActions": "عملیات یادداشت",
"askToStart": "برای شروع سوالی از دستیار بپرسید.",
"contextLabel": "زمینه",
"thisNote": "این یادداشت",
"allMyNotes": "همه یادداشت‌های من",
"notebookGeneric": "دفترچه",
"writingTone": "لحن نوشتن",
"askAboutThisNote": "از هوش مصنوعی درباره این یادداشت بپرسید...",
"askAboutYourNotes": "از هوش مصنوعی درباره یادداشت‌هایتان بپرسید...",
"webSearchLabel": "جستجوی وب",
"newLineHint": "Shift+Enter = خط جدید",
"resultLabel": "نتیجه",
"discardAction": "رد کردن",
"transformationsDesc": "تبدیل‌ها — مستقیماً در یادداشت اعمال می‌شوند",
"writeMinWordsAction": "حداقل ۵ کلمه بنویسید تا عملیات هوش مصنوعی فعال شود.",
"processingAction": "در حال پردازش...",
"action": {
"clarify": "روشن کردن",
"shorten": "خلاصه کردن",
"improve": "بهبود",
"toMarkdown": "به مارک‌داون"
},
"openAssistant": "باز کردن دستیار هوش مصنوعی",
"poweredByMomento": "پشتیبانی شده توسط Momento AI",
"welcomeMsg": "سلام! من دستیار هوش مصنوعی شما هستم. امروز چطور می‌توانم با یادداشت‌هایتان کمکتان کنم؟ می‌توانم لحن را بهبود دهم، پیام‌ها را بسط دهم یا محتوا را خلاصه کنم.",
"summaryLast5": "خلاصه ۵ یادداشت آخر",
"analyzingProgress": "در حال تحلیل...",
"generateInsightsBtn": "تولید بینش",
"newDiscussion": "بحث جدید",
"noRecentConversations": "بدون گفتگوی اخیر.",
"discussionContextLabel": "زمینه بحث",
"webSearchNotConfigured": "جستجوی وب (پیکربندی نشده)",
"historyTab": "تاریخچه",
"insightsTab": "بینش‌ها",
"aiCopilot": "دستیار هوشمند",
"suggestTitle": "پیشنهاد عنوان با هوش مصنوعی"
},
"aiSettings": {
"description": "ویژگی‌ها و ترجیحات هوش مصنوعی خود را پیکربندی کنید",
@@ -937,7 +1023,12 @@
"viewCardsTooltip": "شبکه کارتی با مرتب‌سازی کشیدن و رها کردن",
"viewTabsTooltip": "زبانه‌ها در بالا، یادداشت در پایین — زبانه‌ها را بکشید تا مرتب شوند",
"viewModeGroup": "حالت نمایش یادداشت‌ها",
"reorderTabs": "مرتب‌سازی زبانه"
"reorderTabs": "مرتب‌سازی زبانه",
"loading": "در حال بارگذاری...",
"exportPDF": "خروجی PDF",
"savedStatus": "ذخیره شد",
"dirtyStatus": "تغییر یافته",
"completedLabel": "تکمیل شده"
},
"pagination": {
"next": "→",
@@ -1029,7 +1120,8 @@
"searchPlaceholder": "در یادداشت‌های خود جستجو کنید...",
"searching": "در حال جستجو...",
"semanticInProgress": "جستجوی هوش مصنوعی در حال انجام...",
"semanticTooltip": "جستجوی معنایی هوش مصنوعی"
"semanticTooltip": "جستجوی معنایی هوش مصنوعی",
"disabledAdmin": "جستجو در حالت ادمین غیرفعال است"
},
"semanticSearch": {
"exactMatch": "تطابق دقیق",
@@ -1471,5 +1563,9 @@
"markUndone": "علامت‌گذاری به عنوان انجام نشده",
"todayAt": "امروز ساعت {time}",
"tomorrowAt": "فردا ساعت {time}"
},
"lab": {
"initializing": "راه‌اندازی فضای کاری",
"loadingIdeas": "بارگذاری ایده‌های شما..."
}
}