feat(i18n): Complete localization for Settings, Action Plan, Slides, and Google Ads generators - Added actionPlan and slidesGen translation sections for EN/RU/HE - Localized ActionPlanGenerator with dynamic titles, labels, and quick notes - Localized SlidesGenerator with theme, audience, and animation settings - Added RTL support and text-start alignment for Hebrew - Standardized AI Provider and Model labels across all generators
This commit is contained in:
367
lib/i18n/translations.ts
Normal file
367
lib/i18n/translations.ts
Normal file
@@ -0,0 +1,367 @@
|
||||
export type Language = "en" | "ru" | "he";
|
||||
|
||||
export const translations = {
|
||||
en: {
|
||||
sidebar: {
|
||||
title: "PromptArch",
|
||||
subtitle: "AI Tool Suite",
|
||||
promptEnhancer: "Prompt Enhancer",
|
||||
prdGenerator: "PRD Generator",
|
||||
actionPlan: "Action Plan",
|
||||
slidesGen: "Slides Gen",
|
||||
googleAds: "Google Ads",
|
||||
uxDesigner: "UX Designer",
|
||||
settings: "Settings",
|
||||
history: "History",
|
||||
},
|
||||
common: {
|
||||
aiProvider: "AI Provider",
|
||||
model: "Model",
|
||||
generate: "Generate",
|
||||
generating: "Generating...",
|
||||
copy: "Copy",
|
||||
copied: "Copied!",
|
||||
settings: "Settings",
|
||||
error: "Error",
|
||||
configApiKey: "Configure API key in Settings",
|
||||
},
|
||||
promptEnhancer: {
|
||||
title: "Prompt Enhancer",
|
||||
description: "Transform your simple ideas into professional, high-quality prompts",
|
||||
placeholder: "Enter your prompt here...",
|
||||
enhancedTitle: "Enhanced Prompt",
|
||||
enhancedDesc: "Your prompt has been optimized for better AI performance",
|
||||
},
|
||||
prdGenerator: {
|
||||
title: "PRD Generator",
|
||||
description: "Generate comprehensive Product Requirements Document from your idea",
|
||||
placeholder: "e.g., A task management app with real-time collaboration features",
|
||||
generatedTitle: "Generated PRD",
|
||||
},
|
||||
googleAds: {
|
||||
title: "Google Ads Strategist",
|
||||
description: "Generate keywords, ad copy, and campaign structure for Google Ads",
|
||||
websiteUrl: "Website URL",
|
||||
products: "Products / Services",
|
||||
budget: "Budget (USD/mo)",
|
||||
industry: "Industry",
|
||||
targetAudience: "Target Audience",
|
||||
generateAds: "Generate Ads",
|
||||
magicWand: "Magic Wand",
|
||||
researching: "Researching...",
|
||||
generatedCampaign: "Generated Campaign",
|
||||
strategicDirections: "Strategic Directions",
|
||||
marketIntelligence: "Market Intelligence",
|
||||
competitiveInsights: "Competitive Insights",
|
||||
campaignDirections: "Campaign Directions",
|
||||
},
|
||||
settings: {
|
||||
title: "System Settings",
|
||||
apiKeys: "API Configuration",
|
||||
qwenAuth: "Qwen Authentication",
|
||||
connectQwen: "Connect Qwen Account",
|
||||
connected: "Connected",
|
||||
notConnected: "Not Connected",
|
||||
theme: "Theme",
|
||||
language: "Interface Language",
|
||||
saveKeys: "Save API Keys",
|
||||
keysSaved: "API keys saved successfully!",
|
||||
defaultProvider: "Default Provider",
|
||||
defaultProviderDesc: "Select your preferred AI provider",
|
||||
dataPrivacy: "Data Privacy",
|
||||
dataPrivacyDesc: "All API keys are stored locally in your browser. Your prompts are sent directly to the selected AI provider and are not stored by PromptArch.",
|
||||
loginQwen: "Login with Qwen (OAuth)",
|
||||
logoutQwen: "Logout from Qwen",
|
||||
authenticated: "Authenticated via OAuth",
|
||||
expires: "Expires",
|
||||
enterKey: (provider: string) => `Enter your ${provider} API key`,
|
||||
getApiKey: "Get API key from",
|
||||
qwenDesc: "Alibaba DashScope API",
|
||||
ollamaDesc: "Ollama Cloud API",
|
||||
zaiDesc: "Z.AI Plan API",
|
||||
},
|
||||
uxDesigner: {
|
||||
title: "UX Designer Prompt",
|
||||
description: "Describe your app idea and get the BEST EVER prompt for UX design",
|
||||
placeholder: "e.g., A fitness tracking app with workout plans, nutrition tracking, and social features...",
|
||||
inputLabel: "App Description",
|
||||
inputDesc: "Describe what kind of app you want, target users, key features, and any specific design preferences.",
|
||||
resultTitle: "Ultimate UX Prompt",
|
||||
resultDesc: "Comprehensive UX design prompt ready for designers",
|
||||
emptyState: "Your comprehensive UX designer prompt will appear here",
|
||||
},
|
||||
history: {
|
||||
title: "Session History",
|
||||
description: "Previous prompts and generated results",
|
||||
empty: "No history yet. Start exploring tools!",
|
||||
clear: "Clear History",
|
||||
},
|
||||
actionPlan: {
|
||||
title: "Action Plan Generator",
|
||||
description: "Generate a logical, step-by-step implementation plan from your PRD",
|
||||
placeholder: "Paste your PRD or project requirements here...",
|
||||
generatedTitle: "Generated Action Plan",
|
||||
architecture: "Technical Architecture",
|
||||
infrastructure: "Infrastructure & Tools",
|
||||
tasks: "Implementation Tasks",
|
||||
riskAssessment: "Risk Assessment",
|
||||
emptyState: "Generated action plan will appear here",
|
||||
},
|
||||
slidesGen: {
|
||||
title: "AI Presentation Generator",
|
||||
description: "Generate stunning, professional slides for any occasion in seconds",
|
||||
placeholder: "Describe your presentation topic or paste an outline...",
|
||||
language: "Presentation Language",
|
||||
theme: "Aesthetic Theme",
|
||||
audience: "Target Audience",
|
||||
animations: "Animation Style",
|
||||
numSlides: "Number of Slides",
|
||||
generate: "Generate Presentation",
|
||||
generating: "Crafting your story...",
|
||||
emptyState: "Your presentation will appear here",
|
||||
attachFiles: "Attach files for context",
|
||||
}
|
||||
},
|
||||
ru: {
|
||||
sidebar: {
|
||||
title: "PromptArch",
|
||||
subtitle: "Набор ИИ-инструментов",
|
||||
promptEnhancer: "Улучшение промптов",
|
||||
prdGenerator: "Генератор PRD",
|
||||
actionPlan: "План действий",
|
||||
slidesGen: "Генератор слайдов",
|
||||
googleAds: "Google Реклама",
|
||||
uxDesigner: "UX Дизайнер",
|
||||
settings: "Настройки",
|
||||
history: "История",
|
||||
},
|
||||
common: {
|
||||
aiProvider: "Провайдер ИИ",
|
||||
model: "Модель",
|
||||
generate: "Генерировать",
|
||||
generating: "Генерация...",
|
||||
copy: "Копировать",
|
||||
copied: "Скопировано!",
|
||||
settings: "Настройки",
|
||||
error: "Ошибка",
|
||||
configApiKey: "Настройте API ключ в настройках",
|
||||
},
|
||||
promptEnhancer: {
|
||||
title: "Улучшение промптов",
|
||||
description: "Превратите ваши простые идеи в профессиональные, качественные промпты",
|
||||
placeholder: "Введите ваш промпт здесь...",
|
||||
enhancedTitle: "Улучшенный промпт",
|
||||
enhancedDesc: "Ваш промпт оптимизирован для лучшей работы ИИ",
|
||||
},
|
||||
prdGenerator: {
|
||||
title: "Генератор PRD",
|
||||
description: "Создайте подробный документ требований к продукту на основе вашей идеи",
|
||||
placeholder: "Например: Приложение для управления задачами с совместной работой",
|
||||
generatedTitle: "Созданный PRD",
|
||||
},
|
||||
googleAds: {
|
||||
title: "Стратег Google Ads",
|
||||
description: "Генерация ключевых слов, объявлений и структуры кампании",
|
||||
websiteUrl: "URL сайта",
|
||||
products: "Продукты / Услуги",
|
||||
budget: "Бюджет (USD/мес)",
|
||||
industry: "Отрасль",
|
||||
targetAudience: "Целевая аудитория",
|
||||
generateAds: "Создать рекламу",
|
||||
magicWand: "Магический жезл",
|
||||
researching: "Исследование...",
|
||||
generatedCampaign: "Созданная кампания",
|
||||
strategicDirections: "Стратегические направления",
|
||||
marketIntelligence: "Анализ рынка",
|
||||
competitiveInsights: "Анализ конкурентов",
|
||||
campaignDirections: "Направления кампании",
|
||||
},
|
||||
settings: {
|
||||
title: "Настройки системы",
|
||||
apiKeys: "Настройка API",
|
||||
qwenAuth: "Авторизация Qwen",
|
||||
connectQwen: "Подключить аккаунт Qwen",
|
||||
connected: "Подключено",
|
||||
notConnected: "Не подключено",
|
||||
theme: "Тема",
|
||||
language: "Язык интерфейса",
|
||||
saveKeys: "Сохранить ключи API",
|
||||
keysSaved: "API ключи успешно сохранены!",
|
||||
defaultProvider: "Провайдер по умолчанию",
|
||||
defaultProviderDesc: "Выберите предпочитаемого провайдера ИИ",
|
||||
dataPrivacy: "Конфиденциальность данных",
|
||||
dataPrivacyDesc: "Все ключи API хранятся локально в вашем браузере. Ваши запросы отправляются напрямую выбранному провайдеру ИИ и не сохраняются в PromptArch.",
|
||||
loginQwen: "Войти через Qwen (OAuth)",
|
||||
logoutQwen: "Выйти из Qwen",
|
||||
authenticated: "Авторизовано через OAuth",
|
||||
expires: "Истекает",
|
||||
enterKey: (provider: string) => `Введите ваш API ключ ${provider}`,
|
||||
getApiKey: "Получить API ключ здесь:",
|
||||
qwenDesc: "Alibaba DashScope API",
|
||||
ollamaDesc: "Ollama Cloud API",
|
||||
zaiDesc: "Z.AI Plan API",
|
||||
},
|
||||
uxDesigner: {
|
||||
title: "UX Дизайнер Промпт",
|
||||
description: "Опишите идею вашего приложения и получите ЛУЧШИЙ промпт для UX-дизайна",
|
||||
placeholder: "Например: Приложение для отслеживания фитнеса с планами тренировок, питанием и социальными функциями...",
|
||||
inputLabel: "Описание приложения",
|
||||
inputDesc: "Опишите тип приложения, целевых пользователей, ключевые функции и любые предпочтения в дизайне.",
|
||||
resultTitle: "Ультимативный UX промпт",
|
||||
resultDesc: "Комплексный промпт для UX-дизайна, готовый для дизайнеров",
|
||||
emptyState: "Ваш комплексный промпт для UX-дизайнера появится здесь",
|
||||
},
|
||||
history: {
|
||||
title: "История сессий",
|
||||
description: "Предыдущие промпты и результаты генерации",
|
||||
empty: "История пока пуста. Начните использовать инструменты!",
|
||||
clear: "Очистить историю",
|
||||
},
|
||||
actionPlan: {
|
||||
title: "Генератор плана действий",
|
||||
description: "Создайте логичный пошаговый план реализации на основе вашего PRD",
|
||||
placeholder: "Вставьте ваш PRD или требования к проекту здесь...",
|
||||
generatedTitle: "Созданный план действий",
|
||||
architecture: "Техническая архитектура",
|
||||
infrastructure: "Инфраструктура и инструменты",
|
||||
tasks: "Задачи по реализации",
|
||||
riskAssessment: "Оценка рисков",
|
||||
emptyState: "Созданный план действий появится здесь",
|
||||
},
|
||||
slidesGen: {
|
||||
title: "Генератор презентаций",
|
||||
description: "Создавайте потрясающие профессиональные слайды для любого случая за считанные секунды",
|
||||
placeholder: "Опишите тему презентации или вставьте план...",
|
||||
language: "Язык презентации",
|
||||
theme: "Эстетическая тема",
|
||||
audience: "Целевая аудитория",
|
||||
animations: "Стиль анимации",
|
||||
numSlides: "Количество слайдов",
|
||||
generate: "Создать презентацию",
|
||||
generating: "Создаем вашу историю...",
|
||||
emptyState: "Ваша презентация появится здесь",
|
||||
attachFiles: "Прикрепить файлы для контекста",
|
||||
}
|
||||
},
|
||||
he: {
|
||||
sidebar: {
|
||||
title: "PromptArch",
|
||||
subtitle: "ערכת כלי בינה מלאכותית",
|
||||
promptEnhancer: "משפר פרומפטים",
|
||||
prdGenerator: "מחולל PRD",
|
||||
actionPlan: "תוכנית פעולה",
|
||||
slidesGen: "מחולל מצגות",
|
||||
googleAds: "Google Ads",
|
||||
uxDesigner: "מעצב UX",
|
||||
settings: "הגדרות",
|
||||
history: "היסטוריה",
|
||||
},
|
||||
common: {
|
||||
aiProvider: "ספק בינה מלאכותית",
|
||||
model: "מודל",
|
||||
generate: "חולל",
|
||||
generating: "מחולל...",
|
||||
copy: "העתק",
|
||||
copied: "הועתק!",
|
||||
settings: "הגדרות",
|
||||
error: "שגיאה",
|
||||
configApiKey: "הגדר מפתח API בהגדרות",
|
||||
},
|
||||
promptEnhancer: {
|
||||
title: "משפר פרומפטים",
|
||||
description: "הפוך רעיונות פשוטים לפרומפטים מקצועיים באיכות גבוהה",
|
||||
placeholder: "הזן את הפרומפט שלך כאן...",
|
||||
enhancedTitle: "פרומפט משופר",
|
||||
enhancedDesc: "הפרומפט שלך הותאם לביצועי בינה מלאכותית טובים יותר",
|
||||
},
|
||||
prdGenerator: {
|
||||
title: "מחולל PRD",
|
||||
description: "חולל מסמך דרישות מוצר מקיף מהרעיון שלך",
|
||||
placeholder: "למשל: אפליקציית ניהול משימות עם תכונות שיתוף בזמן אמת",
|
||||
generatedTitle: "PRD שחולל",
|
||||
},
|
||||
googleAds: {
|
||||
title: "אסטרטג Google Ads",
|
||||
description: "חולל מילות מפתח, עותקי מודעות ומבנה קמפיין",
|
||||
websiteUrl: "כתובת אתר",
|
||||
products: "מוצרים / שירותים",
|
||||
budget: "תקציב (USD לחודש)",
|
||||
industry: "תעשייה",
|
||||
targetAudience: "קהל יעד",
|
||||
generateAds: "חולל מודעות",
|
||||
magicWand: "מטה קסמים",
|
||||
researching: "חוקר...",
|
||||
generatedCampaign: "קמפיין שחולל",
|
||||
strategicDirections: "כיוונים אסטרטגיים",
|
||||
marketIntelligence: "מודיעין שוק",
|
||||
competitiveInsights: "תובנות תחרותיות",
|
||||
campaignDirections: "כיווני קמפיין",
|
||||
},
|
||||
settings: {
|
||||
title: "הגדרות מערכת",
|
||||
apiKeys: "הגדרת API",
|
||||
qwenAuth: "אימות Qwen",
|
||||
connectQwen: "חבר חשבון Qwen",
|
||||
connected: "מחובר",
|
||||
notConnected: "לא מחובר",
|
||||
theme: "עיצוב",
|
||||
language: "שפת ממשק",
|
||||
saveKeys: "שמור מפתחות API",
|
||||
keysSaved: "מפתחות API נשמרו בהצלחה!",
|
||||
defaultProvider: "ספק ברירת מחדל",
|
||||
defaultProviderDesc: "בחר את ספק הבינה המלאכותית המועדף עליך",
|
||||
dataPrivacy: "פרטיות נתונים",
|
||||
dataPrivacyDesc: "כל מפתחות ה-API נשמרים מקומית בדפדפן שלך. הפרומפטים שלך נשלחים ישירות לספק הבינה המלאכותית הנבחר ואינם נשמרים ב-PromptArch.",
|
||||
loginQwen: "התחבר עם Qwen (OAuth)",
|
||||
logoutQwen: "התנתק מ-Qwen",
|
||||
authenticated: "מאומת באמצעות OAuth",
|
||||
expires: "פג תוקף",
|
||||
enterKey: (provider: string) => `הזן את מפתח ה-API של ${provider}`,
|
||||
getApiKey: "קבל מפתח API מ-",
|
||||
qwenDesc: "Alibaba DashScope API",
|
||||
ollamaDesc: "Ollama Cloud API",
|
||||
zaiDesc: "Z.AI Plan API",
|
||||
},
|
||||
uxDesigner: {
|
||||
title: "פרומפט מעצב UX",
|
||||
description: "תאר את רעיון האפליקציה שלך וקבל את הפרומפט הטוב ביותר אי פעם לעיצוב UX",
|
||||
placeholder: "למשל: אפליקציית מעקב כושר עם תוכנית אימונים, מעקב תזונה ותכונות חברתיות...",
|
||||
inputLabel: "תיאור האפליקציה",
|
||||
inputDesc: "תאר איזה סוג אפליקציה אתה רוצה, קהל יעד, תכונות עיקריות והעדפות עיצוב ספציפיות.",
|
||||
resultTitle: "פרומפט UX אולטימטיבי",
|
||||
resultDesc: "פרומפט עיצוב UX מקיף מוכן למעצבים",
|
||||
emptyState: "פרומפט מעצב ה-UX המקיף שלך יופיע כאן",
|
||||
},
|
||||
history: {
|
||||
title: "היסטוריית מפגשים",
|
||||
description: "פרומפטים קודמים ותוצאות שחוללו",
|
||||
empty: "אין עדיין היסטוריה. התחל לחקור את הכלים!",
|
||||
clear: "נקה היסטוריה",
|
||||
},
|
||||
actionPlan: {
|
||||
title: "מחולל תוכנית פעולה",
|
||||
description: "חולל תוכנית יישום לוגית, צעד אחר צעד, ממסמך ה-PRD שלך",
|
||||
placeholder: "הדבק את ה-PRD או דרישות הפרויקט שלך כאן...",
|
||||
generatedTitle: "תוכנית פעולה שחוללה",
|
||||
architecture: "ארכיטקטורה טכנית",
|
||||
infrastructure: "תשתית וכלים",
|
||||
tasks: "משימות יישום",
|
||||
riskAssessment: "הערכת סיכונים",
|
||||
emptyState: "תוכנית הפעולה שחוללה תופיע כאן",
|
||||
},
|
||||
slidesGen: {
|
||||
title: "מחולל מצגות בינה מלאכותית",
|
||||
description: "חולל שקופיות מרהיבות ומקצועיות לכל אירוע בשניות",
|
||||
placeholder: "תאר את נושא המצגת שלך או הדבק ראשי פרקים...",
|
||||
language: "שפת המצגת",
|
||||
theme: "עיצוב אסתטי",
|
||||
audience: "קהל יעד",
|
||||
animations: "סגנון אנימציה",
|
||||
numSlides: "מספר שקופיות",
|
||||
generate: "חולל מצגת",
|
||||
generating: "יוצר את הסיפור שלך...",
|
||||
emptyState: "המצגת שלך תופיע כאן",
|
||||
attachFiles: "צרף קבצים להקשר",
|
||||
}
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user