Merge pull request #254 from vlisivka/main

Ukrainian translation for Page Assist is added.
This commit is contained in:
Muhammed Nazeem 2024-11-22 21:56:37 +05:30 committed by GitHub
commit 0421f66f92
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
11 changed files with 684 additions and 0 deletions

View File

@ -0,0 +1,13 @@
{
"heading": "Налаштування Chrome AI",
"status": {
"label": "Ввімкнути або вимкнути підтримку Chrome AI на Page Assist"
},
"error": {
"browser_not_supported": "Ця версія Chrome не підтримується моделлю Gemini Nano. Будь ласка, оновіть до версії 127 або новішої",
"ai_not_supported": "Налаштування chrome://flags/#prompt-api-for-gemini-nano не увімкнено. Будь ласка, увімкніть його.",
"ai_not_ready": "Модель Gemini Nano ще не готова; вам потрібно перевірити налаштування Chrome знову",
"internal_error": "Стався внутрішній збій. Будь ласка, спробуйте пізніше."
},
"errorDescription": "Щоб використовувати Chrome AI, вам потрібна версія переглядача новіша за 127-му, яка наразі доступна в каналах Dev і Canary. Після завантаження підтримуваної версії виконайте наступні кроки:\n\n1. Перейдіть до `chrome://flags/#prompt-api-for-gemini-nano` та виберіть \"Ввімкнути\".\n2. Перейдіть до `chrome://flags/#optimization-guide-on-device-model` та виберіть \"EnabledBypassPrefRequirement\".\n3. Перейдіть до `chrome://components`, знайдіть \"Optimization Guide On Device Model\" і натисніть \"Перевірити оновлення\". Це завантажить модель. Якщо ви не бачите налаштувань, повторіть кроки 1 і 2 та перезапустіть переглядач."
}

View File

@ -0,0 +1,125 @@
{
"pageAssist": "Допомога на сторінці",
"selectAModel": "Виберіть модель",
"save": "Зберегти",
"saved": "Збережено",
"cancel": "Скасувати",
"retry": "Спробувати знову",
"share": {
"tooltip": {
"share": "Поділитися"
},
"modal": {
"title": "Поділитися посиланням на чат"
},
"form": {
"defaultValue": {
"name": "Анонімний",
"title": "Неназваний чат"
},
"title": {
"label": "Назва чату",
"placeholder": "Введіть назву чату",
"required": "Назва чату обовʼязкова"
},
"name": {
"label": "Ваше імʼя",
"placeholder": "Введіть ваше імʼя",
"required": "Ваше імʼя обов'язкове"
},
"btn": {
"save": "Створити посилання",
"saving": "Створення посилання..."
}
},
"notification": {
"successGenerate": "Посилання скопійовано до буфера обміну",
"failGenerate": "Не вдалося створити посилання"
}
},
"copyToClipboard": "Копіювати в буфер обміну",
"webSearch": "Пошук у мережі",
"regenerate": "Перегенерувати",
"edit": "Редагувати",
"delete": "Видалити",
"saveAndSubmit": "Зберегти та надіслати",
"editMessage": {
"placeholder": "Введіть повідомлення..."
},
"submit": "Надіслати",
"noData": "Немає даних",
"noHistory": "Немає історії чату",
"chatWithCurrentPage": "Чат з поточної сторінки",
"beta": "Бета",
"tts": "Читання вголос",
"currentChatModelSettings": "Налаштування поточної моделі чату",
"modelSettings": {
"label": "Налаштування моделі",
"description": "Встановіть глобальні параметри моделі для всіх чатів",
"form": {
"keepAlive": {
"label": "Тривалість збереження в памʼяті",
"help": "вказує, як довго модель залишатиметься завантаженою у памʼять після запиту (за замовчуванням: 5 хв)",
"placeholder": "Введіть тривалість збереження у памʼяті (наприклад, 5m, 10m, 1h)"
},
"temperature": {
"label": "Температура",
"placeholder": "Введіть значення температури (наприклад, 0.7, 1.0)"
},
"numCtx": {
"label": "Кількість контекстів",
"placeholder": "Введіть кількість контекстів (типово: 2048)"
},
"numPredict": {
"label": "Максимальна кількість токенів",
"placeholder": "Введіть максимальну кількість токенів (наприклад, 2048, 4096)"
},
"seed": {
"label": "Зерно",
"placeholder": "Введіть значення зерна (наприклад, 1234)",
"help": "Повторюваність виводу моделі"
},
"topK": {
"label": "Top K",
"placeholder": "Введіть значення для Верхніх K (наприклад, 40, 100)"
},
"topP": {
"label": "Top P",
"placeholder": "Введіть значення для Верхнього P (наприклад, 0.9, 0.95)"
},
"numGpu": {
"label": "Кількість GPU",
"placeholder": "Введіть кількість шарів для відправки на GPU"
},
"systemPrompt": {
"label": "Тимчасовий системний запит",
"placeholder": "Введіть системний запит",
"help": "Швидкий спосіб встановити системний запит для поточного чату, який замінить вибраний системний запит, якщо він існує."
}
},
"advanced": "Додаткові налаштування моделі"
},
"copilot": {
"summary": "Підсумувати",
"explain": "Пояснити",
"rephrase": "Перефразувати",
"translate": "Перекласти",
"custom": "Власне"
},
"citations": "Цитати",
"segmented": {
"ollama": "Моделі Ollama",
"custom": "Власні моделі"
},
"downloadCode": "Завантажити код",
"date": {
"pinned": "Прикріплено",
"today": "Сьогодні",
"yesterday": "Вчора",
"last7Days": "Останні 7 днів",
"older": "Старіше"
},
"pin": "Прикріпити",
"unpin": "Відкріпити",
"generationInfo": "Інформація про генерацію"
}

View File

@ -0,0 +1,40 @@
{
"addBtn": "Додати нове знання",
"columns": {
"title": "Назва",
"status": "Статус",
"embeddings": "Модель вкладень",
"createdAt": "Створено в",
"action": "Дії"
},
"expandedColumns": {
"name": "Імʼя"
},
"confirm": {
"delete": "Ви впевнені, що хочете видалити це знання?"
},
"deleteSuccess": "Знання успішно видалено",
"status": {
"pending": "Очікування",
"finished": "Завершено",
"processing": "Обробка",
"failed": "Не вдалося"
},
"addKnowledge": "Додати знання",
"form": {
"title": {
"label": "Назва знань",
"placeholder": "Введіть назву знань",
"required": "Назва знань обовʼязкова"
},
"uploadFile": {
"label": "Завантажити файл",
"uploadText": "Перетягніть файл сюди або натисніть для завантаження",
"uploadHint": "Підтримуються типи файлів: .pdf, .csv, .txt, .md, .docx",
"required": "Файл обовʼязковий"
},
"submit": "Надіслати",
"success": "Знання успішно додано"
},
"noEmbeddingModel": "Будь ласка, додайте модель вкладень з сторінки налаштувань RAG спочатку"
}

View File

@ -0,0 +1,90 @@
{
"settings": "Сумісний з OpenAI API",
"heading": "Сумісний з OpenAI API",
"subheading": "Тут керування та налаштування ваших постачальників OpenAI API.",
"addBtn": "Додати постачальника",
"table": {
"name": "Назва постачальника",
"baseUrl": "Базовий URL",
"actions": "Дії"
},
"modal": {
"titleAdd": "Додати нового постачальника",
"name": {
"label": "Назва постачальника",
"required": "Назва постачальника обовʼязкова.",
"placeholder": "Введіть назву постачальника"
},
"baseUrl": {
"label": "Базовий URL",
"help": "Базовий URL постачальника OpenAI API. Наприклад, (http://localhost:1234/v1)",
"required": "Базовий URL обовʼязковий.",
"placeholder": "Введіть базовий URL"
},
"apiKey": {
"label": "Ключ API",
"required": "Ключ API обовʼязковий.",
"placeholder": "Введіть ключ API"
},
"submit": "Зберегти",
"update": "Оновити",
"deleteConfirm": "Ви впевнені, що хочете видалити цього постачальника?",
"model": {
"title": "Список моделей",
"subheading": "Виберіть чат-моделі, які ви хочете використовувати з цим постачальником.",
"success": "Моделі успішно додано."
},
"tipLMStudio": "Page Assist автоматично отримає моделі, завантажені в LM Studio. Вам не потрібно додавати їх вручну."
},
"addSuccess": "Постачальника додано успішно.",
"deleteSuccess": "Постачальника видалено успішно.",
"updateSuccess": "Постачальника оновлено успішно.",
"delete": "Видалити",
"edit": "Редагувати",
"newModel": "Додати моделі до постачальника",
"noNewModel": "Для LMStudio, Ollama, Llamafile ми отримуємо моделі динамічно. Ручного додавання не потрібно.",
"searchModel": "Пошук моделі",
"selectAll": "Вибрати все",
"save": "Зберегти",
"saving": "Збереження...",
"manageModels": {
"columns": {
"name": "Назва моделі",
"model_type": "Тип моделі",
"model_id": "Ідентифікатор моделі",
"provider": "Назва постачальника",
"actions": "Дії"
},
"tooltip": {
"delete": "Видалити"
},
"confirm": {
"delete": "Ви впевнені, що хочете видалити цю модель?"
},
"modal": {
"title": "Додати власну модель",
"form": {
"name": {
"label": "Ідентифікатор моделі",
"placeholder": "llama3.2",
"required": "Ідентифікатор моделі обовʼязковий."
},
"provider": {
"label": "Постачальник",
"placeholder": "Виберіть постачальника",
"required": "Постачальник обовʼязковий."
},
"type": {
"label": "Тип моделі"
}
}
}
},
"noModelFound": "Не знайдено моделей. Переконайтеся, що ви додали правильного постачальника з базовим URL та ключем API.",
"radio": {
"chat": "Модель чату",
"embedding": "Модель вкладень",
"chatInfo": "використовується для завершення чату та генерації розмови",
"embeddingInfo": "використовується для RAG та інших повʼязаних завдань семантичного пошуку."
}
}

View File

@ -0,0 +1,13 @@
{
"newChat": "Новий чат",
"selectAPrompt": "Виберіть запит",
"githubRepository": "Репозиторій GitHub",
"settings": "Налаштування",
"sidebarTitle": "Історія чату",
"error": "Збій",
"somethingWentWrong": "Щось пішло не так",
"validationSelectModel": "Будь ласка, виберіть модель для продовження",
"deleteHistoryConfirmation": "Ви впевнені, що хочете видалити цю історію?",
"editHistoryTitle": "Введіть нову назву",
"temporaryChat": "Тимчасовий чат"
}

View File

@ -0,0 +1,29 @@
{
"ollamaState": {
"searching": "Пошук вашого Ollama 🦙",
"running": "Ollama працює 🦙",
"notRunning": "Неможливо підключитися до Ollama 🦙",
"connectionError": "Здається, у вас виникла проблема з підключенням. Будь ласка, зверніться до цієї документації<anchor> для усунення несправностей.</anchor>"
},
"formError": {
"noModel": "Виберіть модель",
"noEmbeddingModel": "Налаштуйте модель вкладень на сторінці Налаштування > RAG"
},
"form": {
"textarea": {
"placeholder": "Введіть повідомлення..."
},
"webSearch": {
"on": "Увімкнено",
"off": "Вимкнено"
}
},
"tooltip": {
"searchInternet": "Пошук в Інтернеті",
"speechToText": "Голос у текст",
"uploadImage": "Завантажити зображення",
"stopStreaming": "Зупинити трансляцію",
"knowledge": "Знання"
},
"sendWhenEnter": "Надсилати при натисканні Enter"
}

View File

@ -0,0 +1,341 @@
{
"generalSettings": {
"title": "Загальні налаштування",
"settings": {
"heading": "Налаштування веб-інтерфейсу",
"speechRecognitionLang": {
"label": "Мова для розпізнавання голосу",
"placeholder": "Виберіть мову"
},
"language": {
"label": "Мова інтерфейсу",
"placeholder": "Виберіть мову"
},
"darkMode": {
"label": "Змінити тему",
"options": {
"light": "Світла",
"dark": "Темна"
}
},
"copilotResumeLastChat": {
"label": "Поновити останню розмову при відкритті бічної панелі (Copilot)"
},
"hideCurrentChatModelSettings": {
"label": "Приховати налаштування поточної моделі чату"
},
"restoreLastChatModel": {
"label": "Відновити останню використану модель для попередніх чатів"
},
"sendNotificationAfterIndexing": {
"label": "Надсилати сповіщення після завершення обробки бази знань"
},
"generateTitle": {
"label": "Створювати заголовок за допомогою AI"
}
},
"sidepanelRag": {
"heading": "Чат з Copilot з налаштуваннями веб-сайту",
"ragEnabled": {
"label": "Чат з веб-сайтом за допомогою векторних вкладень"
},
"maxWebsiteContext": {
"label": "Розмір вмісту нормального режиму",
"placeholder": "Розмір вмісту (типово 4028)"
}
},
"webSearch": {
"heading": "Управління веб-пошуком",
"searchMode": {
"label": "Виконувати простий пошук в Інтернеті"
},
"provider": {
"label": "Пошукова система",
"placeholder": "Виберіть пошукову систему"
},
"totalSearchResults": {
"label": "Загальна кількість результатів пошуку",
"placeholder": "Введіть загальну кількість результатів пошуку"
},
"visitSpecificWebsite": {
"label": "Відвідати веб-сайт, згаданий у повідомленні"
}
},
"system": {
"heading": "Системні налаштування",
"deleteChatHistory": {
"label": "Видалити історію чату",
"button": "Видалити",
"confirm": "Ви впевнені, що хочете видалити історію чату? Ця дія не може бути відвернута."
},
"export": {
"label": "Експорт історії чату, бази знань та запитів",
"button": "Експортувати дані",
"success": "Експорт успішний"
},
"import": {
"label": "Імпорт історії чату, бази знань, та запитів",
"button": "Імпортувати дані",
"success": "Імпорт успішний",
"error": "Помилка імпорту"
}
},
"tts": {
"heading": "Налаштування Текст-у-Голос",
"ttsEnabled": {
"label": "Увімкнути Текст-у-Голос"
},
"ttsProvider": {
"label": "Поставник Текст-у-Голос",
"placeholder": "Виберіть постачальника"
},
"ttsVoice": {
"label": "Голос Текст-у-Голос",
"placeholder": "Виберіть голос"
},
"ssmlEnabled": {
"label": "Ввімкнути SSML (Мова Розмітки для Синтезу Голосу)"
}
}
},
"manageModels": {
"title": "Управління моделями",
"addBtn": "Додати нову модель",
"columns": {
"name": "Назва",
"digest": "Хеш",
"modifiedAt": "Оновлено",
"size": "Розмір",
"actions": "Дії"
},
"expandedColumns": {
"parentModel": "Батьківська модель",
"format": "Формат",
"family": "Сімʼя",
"parameterSize": "Розмір параметрів",
"quantizationLevel": "Рівень квантування"
},
"tooltip": {
"delete": "Видалити модель",
"repull": "Повторно завантажити модель"
},
"confirm": {
"delete": "Ви впевнені, що хочете видалити цю модель?",
"repull": "Ви впевнені, що хочете повторно завантажити цю модель?"
},
"modal": {
"title": "Додати нову модель",
"placeholder": "Введіть назву моделі",
"pull": "Завантажити модель"
},
"notification": {
"pullModel": "Завантаження моделі",
"pullModelDescription": "Завантажується модель {{modelName}}. Для отримання додаткової інформації перевірте іконку розширення.",
"success": "Успіх",
"error": "Помилка",
"successDescription": "Модель успішно завантажена",
"successDeleteDescription": "Модель успішно видалена",
"someError": "Щось пішло не так. Будь ласка, спробуйте пізніше."
}
},
"managePrompts": {
"title": "Управління запитами",
"addBtn": "Додати новий запит",
"option1": "Нормальний",
"option2": "RAG",
"questionPrompt": "Питання-запит",
"segmented": {
"custom": "Власні запити",
"copilot": "Запити Copilot"
},
"columns": {
"title": "Назва",
"prompt": "Запит",
"type": "Тип запиту",
"actions": "Дії"
},
"systemPrompt": "Системний запит",
"quickPrompt": "Швидкий запит",
"tooltip": {
"delete": "Видалити запит",
"edit": "Редагувати запит"
},
"confirm": {
"delete": "Ви впевнені, що хочете видалити цей запит? Його не вдасться відновити."
},
"modal": {
"addTitle": "Додати новий запит",
"editTitle": "Редагувати запит"
},
"form": {
"title": {
"label": "Назва",
"placeholder": "Мій чудовий запит",
"required": "Будь ласка, введіть назву"
},
"prompt": {
"label": "Запит",
"placeholder": "Введіть запит",
"required": "Будь ласка, введіть запит",
"help": "Ви можете використовувати {key} як змінну у вашому запиті.",
"missingTextPlaceholder": "Змінна {text} відсутня в запиті. Додайте її, будь ласка."
},
"isSystem": {
"label": "Це системний запит"
},
"btnSave": {
"saving": "Додавання запиту...",
"save": "Додати запит"
},
"btnEdit": {
"saving": "Оновлення запиту...",
"save": "Оновити запит"
}
},
"notification": {
"addSuccess": "Запит додано",
"addSuccessDesc": "Запит успішно додано",
"error": "Збій",
"someError": "Щось пішло не так. Спробуйте знову пізніше",
"updatedSuccess": "Запит оновлено",
"updatedSuccessDesc": "Запит успішно оновлено",
"deletedSuccess": "Запит видалено",
"deletedSuccessDesc": "Запит успішно видалено"
}
},
"manageShare": {
"title": "Управління спільним доступом",
"heading": "Налаштування URL спільного доступу до сторінки",
"form": {
"url": {
"label": "URL спільного доступу до сторінки",
"placeholder": "Введіть URL спільного доступу до сторінки",
"required": "Будь ласка, введіть ваш URL спільного доступу!",
"help": "З міркувань конфіденційності, ви можете самостійно обробляти спільний доступ до сторінки через цей URL. <anchor>Дізнатися більше</anchor>."
}
},
"webshare": {
"heading": "Спільний доступ через веб",
"columns": {
"title": "Назва",
"url": "URL",
"actions": "Дії"
},
"tooltip": {
"delete": "Видалити спільний доступ"
},
"confirm": {
"delete": "Ви впевнені, що хочете видалити цей спільний доступ? Його не вдасться відновити."
},
"label": "Управління спільним доступом до сторінки",
"description": "Включіть або вимкніть функцію спільного доступу до сторінки"
},
"notification": {
"pageShareSuccess": "URL спільного доступу до сторінки оновлено успішно",
"someError": "Щось пішло не так. Будь ласка, спробуйте пізніше",
"webShareDeleteSuccess": "Спільний доступ видалено успішно"
}
},
"ollamaSettings": {
"title": "Налаштування Ollama",
"heading": "Налаштуйте Ollama",
"settings": {
"ollamaUrl": {
"label": "URL до Ollama",
"placeholder": "Введіть URL до Ollama"
},
"advanced": {
"label": "Розширене налаштування URL Ollama",
"urlRewriteEnabled": {
"label": "Увімкнути або вимкнути налаштування власного URL походження запиту"
},
"rewriteUrl": {
"label": "Власний URL походження запиту",
"placeholder": "Введіть власний URL походження"
},
"headers": {
"label": "Власні заголовки",
"add": "Додати заголовок",
"key": {
"label": "Ключ заголовка",
"placeholder": "Authorization"
},
"value": {
"label": "Значення заголовка",
"placeholder": "Bearer token"
}
},
"help": "Якщо у вас виникають проблеми з підключенням до Ollama на Page Assist, ви можете налаштувати власний URL походження запиту. Щоб дізнатися більше про це налаштування, <anchor>натисніть тут</anchor>."
}
}
},
"manageSearch": {
"title": "Управління пошуком в Інтернеті",
"heading": "Налаштуйте пошук в Інтернеті"
},
"about": {
"title": "Про додаток",
"heading": "Інформація про цей додаток",
"chromeVersion": "Версія Page Assist",
"ollamaVersion": "Версія Ollama",
"support": "Ви можете підтримати проект Page Assist, зробивши пожертву або ставши спонсором через наступні платформи:",
"koFi": "Підтримка на Ko-fi",
"githubSponsor": "Стати спонсором на GitHub",
"githubRepo": "Репозиторій GitHub"
},
"manageKnowledge": {
"title": "Управління знаннями",
"heading": "Налаштування бази знань"
},
"rag": {
"title": "Налаштування RAG",
"ragSettings": {
"label": "Налаштування RAG",
"model": {
"label": "Модель вбудованих даних",
"required": "Будь ласка, виберіть модель",
"help": "Рекомендується використовувати моделі вбудованих даних, такі як `nomic-embed-text`.",
"placeholder": "Вибрати модель"
},
"chunkSize": {
"label": "Розмір шматка",
"placeholder": "Ввести розмір шматка",
"required": "Будь ласка, введіть розмір шматка"
},
"chunkOverlap": {
"label": "Перекриття шматків",
"placeholder": "Ввести перекриття шматків",
"required": "Будь ласка, введіть перекриття шматків"
},
"totalFilePerKB": {
"label": "Типовий ліміт кількості завантажень файлів до бази знань",
"placeholder": "Введіть типовий ліміт (напр. 10)",
"required": "Будь ласка, введіть типовий ліміт кількості файлів для завантаження"
},
"noOfRetrievedDocs": {
"label": "Кількість отриманих документів",
"placeholder": "Ввести кількість отриманих документів",
"required": "Будь ласка, введіть кількість документів"
}
},
"prompt": {
"label": "Налаштування запиту з RAG",
"option1": "Нормальний",
"option2": "З Веб-пошуком",
"alert": "Налаштування системного запиту тут застаріло. Використовуйте розділ «Управління запитами», щоб додавати або редагувати запити. Цей розділ буде видалено в майбутньому оновленні",
"systemPrompt": "Системний запит",
"systemPromptPlaceholder": "Ввести системний запит",
"webSearchPrompt": "Запит веб-пошуку",
"webSearchPromptHelp": "Не видаляйте `{search_results}` із запиту.",
"webSearchPromptError": "Будь ласка, введіть запит для веб-пошуку",
"webSearchPromptPlaceholder": "Ввести запит для веб-пошуку",
"webSearchFollowUpPrompt": "Запит для подальшого пошуку в мережі",
"webSearchFollowUpPromptHelp": "Не видаляйте `{chat_history}` і `{question}` із запиту.",
"webSearchFollowUpPromptError": "Будь ласка, введіть запит для подальшого пошуку в мережі!",
"webSearchFollowUpPromptPlaceholder": "Ваш запит для подальшого пошуку в мережі"
}
},
"chromeAiSettings": {
"title": "Налаштування Chrome AI"
}
}

View File

@ -0,0 +1,7 @@
{
"tooltip": {
"embed": "Може знадобитися кілька хвилин для вкладення сторінки у базу. Будь ласка, зачекайте...",
"clear": "Стерти історію чату",
"history": "Історія чату"
}
}

View File

@ -3,6 +3,7 @@ import { initReactI18next } from "react-i18next";
import { en } from "./lang/en"; import { en } from "./lang/en";
import { pt } from "./lang/pt"; import { pt } from "./lang/pt";
import { fr } from "./lang/fr"; import { fr } from "./lang/fr";
import { uk } from "./lang/uk";
import { ru } from "./lang/ru"; import { ru } from "./lang/ru";
import { ml } from "./lang/ml"; import { ml } from "./lang/ml";
import { zh } from "./lang/zh"; import { zh } from "./lang/zh";
@ -28,6 +29,8 @@ i18n
ml: ml, ml: ml,
"pt-BR": pt, "pt-BR": pt,
"zh-CN": zh, "zh-CN": zh,
uk: uk,
"uk-UA": uk,
ru: ru, ru: ru,
"ru-RU": ru, "ru-RU": ru,
zh: zh, zh: zh,

19
src/i18n/lang/uk.ts Normal file
View File

@ -0,0 +1,19 @@
import option from "@/assets/locale/uk/option.json";
import playground from "@/assets/locale/uk/playground.json";
import common from "@/assets/locale/uk/common.json";
import sidepanel from "@/assets/locale/uk/sidepanel.json";
import settings from "@/assets/locale/uk/settings.json";
import knowledge from "@/assets/locale/uk/knowledge.json";
import chrome from "@/assets/locale/uk/chrome.json";
import openai from "@/assets/locale/uk/openai.json";
export const uk = {
option,
playground,
common,
sidepanel,
settings,
knowledge,
chrome,
openai
}

View File

@ -16,6 +16,10 @@ export const supportLanguage = [
label: "Italiano", label: "Italiano",
value: "it" value: "it"
}, },
{
label: "Ukrainian",
value: "uk"
},
{ {
label: "Russian", label: "Russian",
value: "ru" value: "ru"