diff --git a/docs/CONTRIBUTING.md b/docs/CONTRIBUTING.md index 369c44b6..f78436d5 100644 --- a/docs/CONTRIBUTING.md +++ b/docs/CONTRIBUTING.md @@ -54,11 +54,12 @@ Help us make Open WebUI more accessible by improving documentation, writing tuto Help us make Open WebUI available to a wider audience. In this section, we'll guide you through the process of adding new translations to the project. -We use JSON files to store translations. You can find the existing translation files in the `src/lib/i18n/locales` directory. Each directory corresponds to a specific language, for example, `en` for English, `fr` for French and so on. You can refer to [ISO 639 Language Codes][https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes] to find the appropriate code for a specific language. +We use JSON files to store translations. You can find the existing translation files in the `src/lib/i18n/locales` directory. Each directory corresponds to a specific language, for example, `en-US` for English (US), `fr-FR` for French (France) and so on. You can refer to [ISO 639 Language Codes][http://www.lingoes.net/en/translator/langcode.htm] to find the appropriate code for a specific language. To add a new language: -- Create a new directory in the `src/lib/i18n/locales` path with the appropriate language code as its name. For instance, if you're adding translations for Spanish, create a new directory named `es`. -- Copy the English translation file(s) (from `en` directory in `src/lib/i18n/locale`) to this new directory and update the string values in JSON format according to your language. Make sure to preserve the structure of the JSON object. + +- Create a new directory in the `src/lib/i18n/locales` path with the appropriate language code as its name. For instance, if you're adding translations for Spanish (Spain), create a new directory named `es-ES`. +- Copy the American English translation file(s) (from `en-US` directory in `src/lib/i18n/locale`) to this new directory and update the string values in JSON format according to your language. Make sure to preserve the structure of the JSON object. - Add the language code and its respective title to languages file at `src/lib/i18n/locales/languages.json`. ### 🤔 Questions & Feedback diff --git a/src/lib/components/chat/Settings/General.svelte b/src/lib/components/chat/Settings/General.svelte index d49e8dc8..9b48536c 100644 --- a/src/lib/components/chat/Settings/General.svelte +++ b/src/lib/components/chat/Settings/General.svelte @@ -144,7 +144,7 @@ - {#if $i18n.language === 'en'} + {#if $i18n.language === 'en-US'}
Didn't find your language?
diff --git a/src/lib/i18n/index.ts b/src/lib/i18n/index.ts index 43aec164..23edb2e1 100644 --- a/src/lib/i18n/index.ts +++ b/src/lib/i18n/index.ts @@ -53,7 +53,7 @@ i18next lookupLocalStorage: 'locale' }, fallbackLng: { - default: ['en'] + default: ['en-US'] }, ns: 'translation', returnEmptyString: false, diff --git a/src/lib/i18n/locales/de/translation.json b/src/lib/i18n/locales/de-DE/translation.json similarity index 100% rename from src/lib/i18n/locales/de/translation.json rename to src/lib/i18n/locales/de-DE/translation.json diff --git a/src/lib/i18n/locales/en/translation.json b/src/lib/i18n/locales/en-US/translation.json similarity index 100% rename from src/lib/i18n/locales/en/translation.json rename to src/lib/i18n/locales/en-US/translation.json diff --git a/src/lib/i18n/locales/fa/translation.json b/src/lib/i18n/locales/fa-IR/translation.json similarity index 100% rename from src/lib/i18n/locales/fa/translation.json rename to src/lib/i18n/locales/fa-IR/translation.json diff --git a/src/lib/i18n/locales/fr/translation.json b/src/lib/i18n/locales/fr-FR/translation.json similarity index 100% rename from src/lib/i18n/locales/fr/translation.json rename to src/lib/i18n/locales/fr-FR/translation.json diff --git a/src/lib/i18n/locales/languages.json b/src/lib/i18n/locales/languages.json index 2abe1da8..a909ea26 100644 --- a/src/lib/i18n/locales/languages.json +++ b/src/lib/i18n/locales/languages.json @@ -1,26 +1,30 @@ [ { - "code": "en", - "title": "English" + "code": "en-US", + "title": "English (US)" }, { - "code": "fa", - "title": "فارسی" + "code": "fa-IR", + "title": "فارسی (Farsi)" }, { - "code": "de", + "code": "de-DE", "title": "Deutsch" }, { - "code": "fr", - "title": "French" + "code": "fr-FR", + "title": "French (France)" }, { - "code": "uk", + "code": "uk-UA", "title": "Ukrainian" }, { - "code": "zh", - "title": "Chinese" + "code": "zh-TW", + "title": "Chinese (Traditional)" + }, + { + "code": "zh-CN", + "title": "Chinese (Simplified)" } ] diff --git a/src/lib/i18n/locales/uk/translation.json b/src/lib/i18n/locales/uk-UA/translation.json similarity index 78% rename from src/lib/i18n/locales/uk/translation.json rename to src/lib/i18n/locales/uk-UA/translation.json index 72dc566c..eb866bf1 100644 --- a/src/lib/i18n/locales/uk/translation.json +++ b/src/lib/i18n/locales/uk-UA/translation.json @@ -9,14 +9,15 @@ "Action": "Дія", "Add a model": "Додати модель", "Add a model tag name": "Додати ім'я тегу моделі", - "Add a short description about what this modelfile does": "Додати короткий опис того, що робить цей modelfile", - "Add a short title for this prompt": "Додати коротку назву для цього запиту", + "Add a short description about what this modelfile does": "Додати короткий опис того, що робить цей файл моделі", + "Add a short title for this prompt": "Додати коротку назву для цього промту", "Add Docs": "Додати документи", "Add Files": "Додати файли", "Add message": "Додати повідомлення", + "Add a tag": "Додайте тег", "add tags": "додати теги", - "Adjusting these settings will apply changes universally to all users.": "Корегування цих налаштувань застосовуватиме зміни для всіх користувачів.", - "admin": "Адмін", + "Adjusting these settings will apply changes universally to all users.": "Зміни в цих налаштуваннях будуть застосовані для всіх користувачів.", + "admin": "адмін", "Admin Panel": "Панель адміністратора", "Admin Settings": "Налаштування адміністратора", "Advanced Parameters": "Розширені параметри", @@ -31,12 +32,12 @@ "API Key": "Ключ API", "API RPM": "API RPM", "are allowed - Activate this command by typing": "дозволено - активізуйте цю команду набором", - "Are you sure?": "", + "Are you sure?": "Ви впевнені?", "Audio": "Аудіо", "Auto-playback response": "Автоматичне відтворення відповіді", "Auto-send input after 3 sec.": "Автоматична відправка вводу через 3 сек.", "AUTOMATIC1111 Base URL": "Базова адреса URL AUTOMATIC1111", - "AUTOMATIC1111 Base URL is required.": "", + "AUTOMATIC1111 Base URL is required.": "AUTOMATIC1111 Необхідна URL-адреса.", "available!": "доступно!", "Back": "Назад", "Builder Mode": "Режим конструктора", @@ -55,9 +56,9 @@ "Chunk Params": "Параметри фрагментів", "Chunk Size": "Розмір фрагменту", "Click here for help.": "Клацніть тут, щоб отримати допомогу.", - "Click here to check other modelfiles.": "Клацніть тут, щоб перевірити інші modelfiles.", - "Click here to select": "", - "Click here to select documents.": "", + "Click here to check other modelfiles.": "Клацніть тут, щоб перевірити інші файли моделей.", + "Click here to select": "Натисніть тут, щоб вибрати", + "Click here to select documents.": "Натисніть тут, щоб вибрати документи.", "click here.": "клацніть тут.", "Click on the user role button to change a user's role.": "Натисніть кнопку ролі користувача, щоб змінити роль користувача.", "Close": "Закрити", @@ -71,8 +72,8 @@ "Copy last code block": "Копіювати останній блок коду", "Copy last response": "Копіювати останню відповідь", "Copying to clipboard was successful!": "Копіювання в буфер обміну виконано успішно!", - "Create a concise, 3-5 word phrase as a header for the following query, strictly adhering to the 3-5 word limit and avoiding the use of the word 'title':": "Створіть стислий, 3-5 слів заголовок для наступного запиту, суворо дотримуючись 3-5 слів обмеження та уникаючи використання слова 'заголовок':", - "Create a modelfile": "Створити modelfile", + "Create a concise, 3-5 word phrase as a header for the following query, strictly adhering to the 3-5 word limit and avoiding the use of the word 'title':": "Create a concise, 3-5 word phrase as a header for the following query, strictly adhering to the 3-5 word limit and avoiding the use of the word 'title':", + "Create a modelfile": "Створити файл моделі", "Create Account": "Створити обліковий запис", "Created at": "Створено", "Created by": "Створено", @@ -82,12 +83,12 @@ "Customize Ollama models for a specific purpose": "Налаштувати моделі Ollama для конкретної мети", "Dark": "Темна", "Database": "База даних", - "DD/MM/YYYY HH:mm": "ДД/ММ/РРРР ГГ:хх", + "DD/MM/YYYY HH:mm": "DD/MM/YYYY HH:mm", "Default": "За замовчуванням", - "Default (Automatic1111)": "", + "Default (Automatic1111)": "За замовчуванням (Automatic1111)", "Default (Web API)": "За замовчуванням (Web API)", "Default model updated": "Модель за замовчуванням оновлено", - "Default Prompt Suggestions": "Запропоновані запити за замовчуванням", + "Default Prompt Suggestions": "Пропозиції промтів замовчуванням", "Default User Role": "Роль користувача за замовчуванням", "delete": "видалити", "Delete a model": "Видалити модель", @@ -96,11 +97,11 @@ "Deleted {{deleteModelTag}}": "Видалено {{deleteModelTag}}", "Deleted {tagName}": "Видалено {tagName}", "Description": "Опис", - "Desktop Notifications": "Сповіщення на робочому столі", + "Desktop Notifications": "Сповіщення", "Disabled": "Вимкнено", - "Discover a modelfile": "Знайти modelfile", - "Discover a prompt": "Знайти запит", - "Discover, download, and explore custom prompts": "Знайдіть, завантажте та досліджуйте налаштовані запити", + "Discover a modelfile": "Знайти файл моделі", + "Discover a prompt": "Знайти промт", + "Discover, download, and explore custom prompts": "Знайдіть, завантажте та досліджуйте налаштовані промти", "Discover, download, and explore model presets": "Знайдіть, завантажте та досліджуйте налаштовані налаштування моделі", "Display the username instead of You in the Chat": "Показувати ім'я користувача замість 'Ви' в чаті", "Document": "Документ", @@ -119,29 +120,29 @@ "Enable Chat History": "Увімкнути історію чату", "Enable New Sign Ups": "Дозволити нові реєстрації", "Enabled": "Увімкнено", - "Enter API Key": "", - "Enter Chunk Overlap": "", - "Enter Chunk Size": "", - "Enter Image Size (e.g. 512x512)": "", - "Enter LiteLLM API Base URL (litellm_params.api_base)": "", - "Enter LiteLLM API Key (litellm_params.api_key)": "", - "Enter LiteLLM API RPM (litellm_params.rpm)": "", - "Enter LiteLLM Model (litellm_params.model)": "", - "Enter Max Tokens (litellm_params.max_tokens)": "", - "Enter model tag (e.g. {{modelTag}})": "", - "Enter Number of Steps (e.g. 50)": "", + "Enter API Key": "Введіть API-ключ", + "Enter Chunk Overlap": "Введіть перекриття фрагменту", + "Enter Chunk Size": "Введіть розмір фрагменту", + "Enter Image Size (e.g. 512x512)": "Введіть розмір зображення (напр. 512x512)", + "Enter LiteLLM API Base URL (litellm_params.api_base)": "Введіть URL-адресу API LiteLLM (litellm_params.api_base)", + "Enter LiteLLM API Key (litellm_params.api_key)": "Введіть ключ API LiteLLM (litellm_params.api_key)", + "Enter LiteLLM API RPM (litellm_params.rpm)": "Введіть RPM API LiteLLM (litellm_params.rpm)", + "Enter LiteLLM Model (litellm_params.model)": "Введіть модель LiteLLM (litellm_params.model)", + "Enter Max Tokens (litellm_params.max_tokens)": "Введіть максимальну кількість токенів (litellm_params.max_tokens)", + "Enter model tag (e.g. {{modelTag}})": "Введіть тег моделі (напр. {{modelTag}})", + "Enter Number of Steps (e.g. 50)": "Введіть кількість кроків (напр. 50)", "Enter stop sequence": "Введіть символ зупинки", - "Enter Top K": "", - "Enter URL (e.g. http://127.0.0.1:7860/)": "", + "Enter Top K": "Введіть Top K", + "Enter URL (e.g. http://127.0.0.1:7860/)": "Введіть URL-адресу (напр. http://127.0.0.1:7860/)", "Enter Your Email": "Введіть вашу електронну пошту", - "Enter Your Full Name": "Введіть ваше повне ім'я", + "Enter Your Full Name": "Введіть ваше ім'я", "Enter Your Password": "Введіть ваш пароль", "Experimental": "Експериментальне", "Export All Chats (All Users)": "Експортувати всі чати (всі користувачі)", "Export Chats": "Експортувати чати", "Export Documents Mapping": "Експортувати відображення документів", - "Export Modelfiles": "Експортувати modelfiles", - "Export Prompts": "Експортувати запити", + "Export Modelfiles": "Експортувати файл моделі", + "Export Prompts": "Експортувати промти", "Failed to read clipboard contents": "Не вдалося прочитати вміст буфера обміну", "File Mode": "Файловий режим", "File not found.": "Файл не знайдено.", @@ -153,16 +154,16 @@ "General Settings": "Загальні налаштування", "Hello, {{name}}": "Привіт, {{name}}", "Hide": "Приховати", - "Hide Additional Params": "Hide Additional Params", - "How can I help you today?": "Як я можу допомогти вам сьогодні?", + "Hide Additional Params": "Приховати додаткові параметри", + "How can I help you today?": "Чим я можу допомогти вам сьогодні?", "Image Generation (Experimental)": "Генерування зображень (експериментально)", - "Image Generation Engine": "", + "Image Generation Engine": "Механізм генерації зображень", "Image Settings": "Налаштування зображення", "Images": "Зображення", "Import Chats": "Імпортувати чати", "Import Documents Mapping": "Імпортувати відображення документів", - "Import Modelfiles": "Імпортувати modelfiles", - "Import Prompts": "Імпортувати запити", + "Import Modelfiles": "Імпортувати файл моделі", + "Import Prompts": "Імпортувати промти", "Include `--api` flag when running stable-diffusion-webui": "Включіть прапор `--api` при запуску stable-diffusion-webui", "Interface": "Інтерфейс", "join our Discord for help.": "приєднуйтеся до нашого Discord для допомоги.", @@ -178,13 +179,15 @@ "Made by OpenWebUI Community": "Зроблено спільнотою OpenWebUI", "Make sure to enclose them with": "Переконайтеся, що вони закриті", "Manage LiteLLM Models": "Керування моделями LiteLLM", + "Manage Models": "Керування моделями", "Manage Ollama Models": "Керування моделями Ollama", + "Model Whitelisting": "Модель білого списку", "Max Tokens": "Максимальна кількість токенів", "Maximum of 3 models can be downloaded simultaneously. Please try again later.": "Максимум 3 моделі можна завантажити одночасно. Будь ласка, спробуйте пізніше.", "Mirostat": "Mirostat", "Mirostat Eta": "Mirostat Eta", "Mirostat Tau": "Mirostat Tau", - "MMMM DD, YYYY": "MMMM ДД, РРРР", + "MMMM DD, YYYY": "MMMM DD, YYYY", "Model '{{modelName}}' has been successfully downloaded.": "Модель '{{modelName}}' успішно завантажено.", "Model '{{modelTag}}' is already in queue for downloading.": "Модель '{{modelTag}}' вже знаходиться в черзі на завантаження.", "Model {{modelId}} not found": "Модель {{modelId}} не знайдено", @@ -193,14 +196,14 @@ "Model not selected": "Модель не вибрана", "Model Tag Name": "Ім'я тегу моделі", "Modelfile": "Файли моделі", - "Modelfile Advanced Settings": "Розширені налаштування modelfile", + "Modelfile Advanced Settings": "Додаткові налаштування файлу моделі", "Modelfile Content": "Вміст файлу моделі", "Modelfiles": "Файли моделей", "Models": "Моделі", "My Documents": "Мої документи", "My Modelfiles": "Мої файли моделей", - "My Prompts": "Мої запити", - "Name": "Назва", + "My Prompts": "Мої промти", + "Name": "Ім'я", "Name Tag": "Назва тегу", "Name your modelfile": "Назвіть свій файл моделі", "New Chat": "Новий чат", @@ -209,8 +212,9 @@ "Not sure what to write? Switch to": "Не впевнений, що писати? Переключитися на", "Off": "Вимк", "Okay, Let's Go!": "Гаразд, давайте почнемо!", - "Ollama Base URL": "", + "Ollama Base URL": "Основна URL-адреса Ollama", "Ollama Version": "Версія Ollama", + "Open WebUI Version": "Версія Open WebUI", "On": "Увімк", "Only": "Тільки", "Only alphanumeric characters and hyphens are allowed in the command string.": "У рядку команди дозволено використовувати лише алфавітно-цифрові символи та дефіси.", @@ -219,24 +223,25 @@ "Oops! You're using an unsupported method (frontend only). Please serve the WebUI from the backend.": "Упс! Ви використовуєте непідтримуваний метод (тільки для фронтенду). Будь ласка, обслуговуйте WebUI з бекенду.", "Open": "Відкрити", "Open AI": "Open AI", - "Open AI (Dall-E)": "", + "Open AI (Dall-E)": "Open AI (Dall-E)", "Open new chat": "Відкрити новий чат", "OpenAI API": "API OpenAI", - "OpenAI API Key": "", - "OpenAI API Key is required.": "", + "OpenAI API Key": "Ключ API OpenAI", + "OpenAI API Key is required.": "Потрібен ключ OpenAI API.", "or": "або", "Parameters": "Параметри", "Password": "Пароль", - "pending": "На розгляді", + "pending": "на розгляді", "Permission denied when accessing microphone: {{error}}": "Доступ до мікрофона заборонено: {{error}}", + "PDF Extract Images (OCR)": "Розпізнавання зображень з PDF (OCR)", "Playground": "Майданчик", "Profile": "Профіль", - "Prompt Content": "Зміст запиту", - "Prompt suggestions": "Швидкі запити", - "Prompts": "Запити", + "Prompt Content": "Зміст промту", + "Prompt suggestions": "Швидкі промти", + "Prompts": "Промти", "Pull a model from Ollama.com": "Завантажити модель з Ollama.com", "Pull Progress": "Прогрес завантаження", - "Query Params": "", + "Query Params": "Параметри запиту", "RAG Template": "Шаблон RAG", "Raw Format": "Необроблений формат", "Record voice": "Записати голос", @@ -260,13 +265,13 @@ "Scan for documents from {{path}}": "Сканування документів з {{path}}", "Search": "Пошук", "Search Documents": "Пошук документів", - "Search Prompts": "Пошук запитів", + "Search Prompts": "Пошук промтів", "See readme.md for instructions": "Див. readme.md для інструкцій", "See what's new": "Подивіться, що нового", - "Seed": "Початкове значення (сід)", - "Select a mode": "", + "Seed": "Сід", + "Select a mode": "Оберіть режим", "Select a model": "Виберіть модель", - "Select an Ollama instance": "", + "Select an Ollama instance": "Виберіть екземпляр Ollama", "Send a Messsage": "Надіслати повідомлення", "Send message": "Надіслати повідомлення", "Server connection verified": "З'єднання з сервером підтверджено", @@ -280,7 +285,7 @@ "Share to OpenWebUI Community": "Поділитися зі спільнотою OpenWebUI", "short-summary": "короткий зміст", "Show": "Показати", - "Show Additional Params": "Show Additional Params", + "Show Additional Params": "Показати додаткові параметри", "Show shortcuts": "Показати клавіатурні скорочення", "sidebar": "бокова панель", "Sign in": "Увійти", @@ -296,7 +301,7 @@ "Successfully updated.": "Успішно оновлено.", "Sync All": "Синхронізувати все", "System": "Система", - "System Prompt": "Системний запит", + "System Prompt": "Системний промт", "Tags": "Теги", "Temperature": "Температура", "Template": "Шаблон", @@ -304,32 +309,34 @@ "Text-to-Speech Engine": "Система синтезу мови", "Tfs Z": "Tfs Z", "Theme": "Тема", + "The requested action has been restricted as a security measure.": "Ця дія була обмежена з метою забезпечення безпеки.", "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "Це забезпечує збереження ваших цінних розмов у безпечному бекенд-сховищі. Дякуємо!", "This setting does not sync across browsers or devices.": "Це налаштування не синхронізується між браузерами або пристроями.", - "Tip: Update multiple variable slots consecutively by pressing the tab key in the chat input after each replacement.": "Tip: Update multiple variable slots consecutively by pressing the tab key in the chat input after each replacement.", + "Tip: Update multiple variable slots consecutively by pressing the tab key in the chat input after each replacement.": "Порада: Оновіть кілька слотів змінних послідовно, натискаючи клавішу табуляції у вікні чату після кожної заміни.", "Title": "Заголовок", "Title Auto-Generation": "Автогенерація заголовків", - "Title Generation Prompt": "Запит на генерування заголовків", - "to": "до", + "Title Generation Prompt": "Промт для генерування заголовків", + "to": "в", "To access the available model names for downloading,": "Щоб отримати доступ до назв доступних для завантаження моделей,", - "To access the GGUF models available for downloading,": "To access the GGUF models available for downloading,", - "to chat input.": "для вводу в чат.", + "To access the GGUF models available for downloading,": "Щоб отримати доступ до моделей GGUF, які можна завантажити,,", + "to chat input.": "в чаті.", "Toggle settings": "Переключити налаштування", "Toggle sidebar": "Переключити бокову панель", "Top K": "Top K", "Top P": "Top P", "Trouble accessing Ollama?": "Проблеми з доступом до Ollama?", "TTS Settings": "Налаштування TTS", - "Type Hugging Face Resolve (Download) URL": "", + "Type Hugging Face Resolve (Download) URL": "Введіть URL ресурсу Hugging Face Resolve (завантаження)", + "Update password": "Оновити пароль", "Uh-oh! There was an issue connecting to {{provider}}.": "Ой! Виникла проблема при підключенні до {{provider}}.", "Unknown File Type '{{file_type}}', but accepting and treating as plain text": "Невідомий тип файлу '{{file_type}}', але приймається та обробляється як звичайний текст", "Upload a GGUF model": "Завантажити GGUF модель", "Upload files": "Завантажити файли", "Upload Progress": "Прогрес завантаження", "URL Mode": "Режим URL", - "Use '#' in the prompt input to load and select your documents.": "Для введення запитів до веб-сторінок (URL) або вибору документів, будь ласка, використовуйте символ '#'.", - "Use Gravatar": "", - "user": "Користувач", + "Use '#' in the prompt input to load and select your documents.": "Для введення промтів до веб-сторінок (URL) або вибору документів, будь ласка, використовуйте символ '#'.", + "Use Gravatar": "Змінити аватар", + "user": "користувач", "User Permissions": "Дозволи користувача", "Users": "Користувачі", "Utilize": "Використовувати", @@ -339,10 +346,11 @@ "Web": "Веб", "WebUI Add-ons": "Додатки WebUI", "WebUI Settings": "Налаштування WebUI", + "WebUI will make requests to": "WebUI буде робити запити до", "What’s New in": "Що нового в", "When history is turned off, new chats on this browser won't appear in your history on any of your devices.": "Коли історія вимкнена, нові чати в цьому браузері не будуть відображатися в історії на жодному з ваших пристроїв.", "Whisper (Local)": "Whisper (локально)", - "Write a prompt suggestion (e.g. Who are you?)": "Напишіть запит (напр. Хто ти?)", + "Write a prompt suggestion (e.g. Who are you?)": "Напишіть промт (напр. Хто ти?)", "Write a summary in 50 words that summarizes [topic or keyword].": "Напишіть стислий зміст у 50 слів, який узагальнює [тема або ключове слово].", "You": "Ви", "You're a helpful assistant.": "Ви корисний асистент.", diff --git a/src/lib/i18n/locales/zh-CN/translation.json b/src/lib/i18n/locales/zh-CN/translation.json new file mode 100644 index 00000000..6334e458 --- /dev/null +++ b/src/lib/i18n/locales/zh-CN/translation.json @@ -0,0 +1,337 @@ +{ + "'s', 'm', 'h', 'd', 'w' or '-1' for no expiration.": "'s', 'm', 'h', 'd', 'w' 或 '-1' 表示无过期时间。", + "(Beta)": "(测试版)", + "(e.g. `sh webui.sh --api`)": "(例如 `sh webui.sh --api`)", + "{{modelName}} is thinking...": "{{modelName}} 正在思考...", + "{{webUIName}} Backend Required": "需要 {{webUIName}} 后端", + "About": "关于", + "Account": "账户", + "Action": "操作", + "Add a model": "添加模型", + "Add a model tag name": "添加模型标签名称", + "Add a short description about what this modelfile does": "添加关于此模型文件功能的简短描述", + "Add a short title for this prompt": "为这个提示添加一个简短的标题", + "Add Docs": "添加文档", + "Add Files": "添加文件", + "Add message": "添加消息", + "add tags": "添加标签", + "Adjusting these settings will apply changes universally to all users.": "调整这些设置将对所有用户普遍应用更改。", + "admin": "管理员", + "Admin Panel": "管理员面板", + "Admin Settings": "管理员设置", + "Advanced Parameters": "高级参数", + "all": "所有", + "All Users": "所有用户", + "Allow": "允许", + "Allow Chat Deletion": "允许删除聊天", + "alphanumeric characters and hyphens": "字母数字字符和连字符", + "Already have an account?": "已经有账户了吗?", + "and": "和", + "API Base URL": "API 基础 URL", + "API Key": "API 密钥", + "API RPM": "API RPM", + "are allowed - Activate this command by typing": "被允许 - 通过输入激活此命令", + "Are you sure?": "你确定吗?", + "Audio": "音频", + "Auto-playback response": "自动播放回应", + "Auto-send input after 3 sec.": "3秒后自动发送输入", + "AUTOMATIC1111 Base URL": "AUTOMATIC1111 基础 URL", + "AUTOMATIC1111 Base URL is required.": "需要 AUTOMATIC1111 基础 URL。", + "available!": "可用!", + "Back": "返回", + "Builder Mode": "构建者模式", + "Cancel": "取消", + "Categories": "分类", + "Change Password": "更改密码", + "Chat": "聊天", + "Chat History": "聊天历史", + "Chat History is off for this browser.": "此浏览器已关闭聊天历史。", + "Chats": "聊天", + "Check Again": "再次检查", + "Check for updates": "检查更新", + "Checking for updates...": "正在检查更新...", + "Choose a model before saving...": "保存前选择一个模型...", + "Chunk Overlap": "块重叠", + "Chunk Params": "块参数", + "Chunk Size": "块大小", + "Click here for help.": "点击这里获取帮助。", + "Click here to check other modelfiles.": "点击这里检查其他模型文件。", + "Click here to select": "点击这里选择", + "Click here to select documents.": "点击这里选择文档。", + "click here.": "点击这里。", + "Click on the user role button to change a user's role.": "点击用户角色按钮以更改用户的角色。", + "Close": "关闭", + "Collection": "收藏", + "Command": "命令", + "Confirm Password": "确认密码", + "Connections": "连接", + "Content": "内容", + "Context Length": "上下文长度", + "Conversation Mode": "对话模式", + "Copy last code block": "复制最后一个代码块", + "Copy last response": "复制最后一次回复", + "Copying to clipboard was successful!": "复制到剪贴板成功!", + "Create a concise, 3-5 word phrase as a header for the following query, strictly adhering to the 3-5 word limit and avoiding the use of the word 'title':": "为以下查询创建一个简洁的、3-5个词的短语作为标题,严格遵守3-5个词的限制并避免使用“标题”一词:", + "Create a modelfile": "创建模型文件", + "Create Account": "创建账户", + "Created at": "创建于", + "Created by": "创建者", + "Current Model": "当前模型", + "Current Password": "当前密码", + "Custom": "自定义", + "Customize Ollama models for a specific purpose": "为特定目的定制Ollama模型", + "Dark": "暗色", + "Database": "数据库", + "DD/MM/YYYY HH:mm": "DD/MM/YYYY HH:mm", + "Default": "默认", + "Default (Automatic1111)": "默认(Automatic1111)", + "Default (Web API)": "默认(Web API)", + "Default model updated": "默认模型已更新", + "Default Prompt Suggestions": "默认提示词建议", + "Default User Role": "默认用户角色", + "delete": "删除", + "Delete a model": "删除一个模型", + "Delete chat": "删除聊天", + "Delete Chats": "删除聊天记录", + "Deleted {{deleteModelTag}}": "已删除{{deleteModelTag}}", + "Deleted {tagName}": "已删除{tagName}", + "Description": "描述", + "Desktop Notifications": "桌面通知", + "Disabled": "禁用", + "Discover a modelfile": "探索模型文件", + "Discover a prompt": "探索提示词", + "Discover, download, and explore custom prompts": "发现、下载并探索自定义提示词", + "Discover, download, and explore model presets": "发现、下载并探索模型预设", + "Display the username instead of You in the Chat": "在聊天中显示用户名而不是“您”", + "Document": "文档", + "Document Settings": "文档设置", + "Documents": "文档", + "does not make any external connections, and your data stays securely on your locally hosted server.": "不进行任何外部连接,您的数据安全地存储在您的本地服务器上。", + "Don't Allow": "不允许", + "Don't have an account?": "没有账户?", + "Download as a File": "下载为文件", + "Download Database": "下载数据库", + "Drop any files here to add to the conversation": "将任何文件拖到这里以添加到对话中", + "e.g. '30s','10m'. Valid time units are 's', 'm', 'h'.": "例如 '30s','10m'。有效的时间单位是's', 'm', 'h'。", + "Edit Doc": "编辑文档", + "Edit User": "编辑用户", + "Email": "电子邮件", + "Enable Chat History": "启用聊天历史", + "Enable New Sign Ups": "启用新注册", + "Enabled": "启用", + "Enter stop sequence": "输入停止序列", + "Enter Your Email": "输入您的电子邮件", + "Enter Your Full Name": "输入您的全名", + "Enter Your Password": "输入您的密码", + "Experimental": "实验性", + "Export All Chats (All Users)": "导出所有聊天(所有用户)", + "Export Chats": "导出聊天", + "Export Documents Mapping": "导出文档映射", + "Export Modelfiles": "导出模型文件", + "Export Prompts": "导出提示词", + "Failed to read clipboard contents": "无法读取剪贴板内容", + "File Mode": "文件模式", + "File not found.": "文件未找到。", + "Focus chat input": "聚焦聊天输入", + "Format your variables using square brackets like this:": "使用这样的方括号格式化你的变量:", + "From (Base Model)": "来自(基础模型)", + "Full Screen Mode": "全屏模式", + "General": "通用", + "General Settings": "通用设置", + "Hello, {{name}}": "你好,{{name}}", + "Hide": "隐藏", + "Hide Additional Params": "隐藏额外参数", + "How can I help you today?": "今天我如何能帮到你?", + "Image Generation (Experimental)": "图像生成(实验性)", + "Image Generation Engine": "图像生成引擎", + "Image Settings": "图像设置", + "Images": "图像", + "Import Chats": "导入聊天", + "Import Documents Mapping": "导入文档映射", + "Import Modelfiles": "导入模型文件", + "Import Prompts": "导入提示", + "Include `--api` flag when running stable-diffusion-webui": "运行stable-diffusion-webui时包含`--api`标志", + "Interface": "界面", + "join our Discord for help.": "加入我们的Discord寻求帮助。", + "JSON": "JSON", + "JWT Expiration": "JWT过期", + "JWT Token": "JWT令牌", + "Keep Alive": "保持活动", + "Keyboard shortcuts": "键盘快捷键", + "Language": "语言", + "Light": "浅色", + "Listening...": "监听中...", + "LLMs can make mistakes. Verify important information.": "大型语言模型可能会犯错。验证重要信息。", + "Made by OpenWebUI Community": "由OpenWebUI社区制作", + "Make sure to enclose them with": "确保将它们包含在内", + "Manage LiteLLM Models": "管理LiteLLM模型", + "Manage Ollama Models": "管理Ollama模型", + "Max Tokens": "最大令牌数", + "Maximum of 3 models can be downloaded simultaneously. Please try again later.": "最多可以同时下载3个模型。请稍后再试。", + "Mirostat": "Mirostat", + "Mirostat Eta": "Mirostat Eta", + "Mirostat Tau": "Mirostat Tau", + "MMMM DD, YYYY": "MMMM DD, YYYY", + "Model '{{modelName}}' has been successfully downloaded.": "模型'{{modelName}}'已成功下载。", + "Model '{{modelTag}}' is already in queue for downloading.": "模型'{{modelTag}}'已在下载队列中。", + "Model {{modelId}} not found": "未找到模型{{modelId}}", + "Model {{modelName}} already exists.": "模型{{modelName}}已存在。", + "Model Name": "模型名称", + "Model not selected": "未选择模型", + "Model Tag Name": "模型标签名称", + "Modelfile": "模型文件", + "Modelfile Advanced Settings": "模型文件高级设置", + "Modelfile Content": "模型文件内容", + "Modelfiles": "模型文件", + "Models": "模型", + "My Documents": "我的文档", + "My Modelfiles": "我的模型文件", + "My Prompts": "我的提示", + "Name": "名称", + "Name Tag": "名称标签", + "Name your modelfile": "命名你的模型文件", + "New Chat": "新聊天", + "New Password": "新密码", + "Not sure what to add?": "不确定要添加什么?", + "Not sure what to write? Switch to": "不确定写什么?切换到", + "Off": "关闭", + "Okay, Let's Go!": "好的,我们开始吧!", + "Ollama Base URL": "Ollama 基础 URL", + "Ollama Version": "Ollama 版本", + "On": "开", + "Only": "仅", + "Only alphanumeric characters and hyphens are allowed in the command string.": "命令字符串中只允许使用字母数字字符和连字符。", + "Oops! Hold tight! Your files are still in the processing oven. We're cooking them up to perfection. Please be patient and we'll let you know once they're ready.": "哎呀!请稍等!您的文件仍在处理中。我们正在将它们做得尽善尽美,请耐心等待,一旦准备好我们会通知您。", + "Oops! Looks like the URL is invalid. Please double-check and try again.": "哎呀!看起来 URL 无效。请仔细检查后再试一次。", + "Oops! You're using an unsupported method (frontend only). Please serve the WebUI from the backend.": "哎呀!您正在使用不支持的方法(仅限前端)。请从后端提供 WebUI。", + "Open": "打开", + "Open AI": "Open AI", + "Open AI (Dall-E)": "Open AI (Dall-E)", + "Open new chat": "打开新聊天", + "OpenAI API": "OpenAI API", + "OpenAI API Key": "OpenAI API 密钥", + "OpenAI API Key is required.": "需要 OpenAI API 密钥。", + "or": "或", + "Parameters": "参数", + "Password": "密码", + "pending": "待定", + "Permission denied when accessing microphone: {{error}}": "访问麦克风时权限被拒绝:{{error}}", + "Playground": "游乐场", + "Profile": "个人资料", + "Prompt Content": "提示词内容", + "Prompt suggestions": "提示词建议", + "Prompts": "提示词", + "Pull a model from Ollama.com": "从 Ollama.com 拉取一个模型", + "Pull Progress": "拉取进度", + "Query Params": "查询参数", + "RAG Template": "RAG 模板", + "Raw Format": "原始格式", + "Record voice": "录音", + "Redirecting you to OpenWebUI Community": "正在将您重定向到 OpenWebUI 社区", + "Release Notes": "发布说明", + "Repeat Last N": "重复最后 N 次", + "Repeat Penalty": "重复惩罚", + "Request Mode": "请求模式", + "Reset Vector Storage": "重置向量存储", + "Response AutoCopy to Clipboard": "响应自动复制到剪贴板", + "Role": "角色", + "Rosé Pine": "Rosé Pine", + "Rosé Pine Dawn": "Rosé Pine Dawn", + "Save": "保存", + "Save & Create": "保存并创建", + "Save & Submit": "保存并提交", + "Save & Update": "保存并更新", + "Saving chat logs directly to your browser's storage is no longer supported. Please take a moment to download and delete your chat logs by clicking the button below. Don't worry, you can easily re-import your chat logs to the backend through": "直接将聊天记录保存到浏览器存储中不再受支持。请点击下面的按钮下载并删除您的聊天记录。别担心,您可以通过轻松地将聊天记录重新导入到后端", + "Scan": "扫描", + "Scan complete!": "扫描完成!", + "Scan for documents from {{path}}": "从 {{path}} 扫描文档", + "Search": "搜索", + "Search Documents": "搜索文档", + "Search Prompts": "搜索提示词", + "See readme.md for instructions": "查看 readme.md 以获取说明", + "See what's new": "查看最新内容", + "Seed": "种子", + "Select a mode": "选择一个模式", + "Select a model": "选择一个模型", + "Select an Ollama instance": "选择一个Ollama实例", + "Send a Messsage": "发送消息", + "Send message": "发送消息", + "Server connection verified": "服务器连接已验证", + "Set as default": "设为默认", + "Set Default Model": "设置默认模型", + "Set Image Size": "设置图片大小", + "Set Steps": "设置步骤", + "Set Title Auto-Generation Model": "设置标题自动生成模型", + "Set Voice": "设置声音", + "Settings": "设置", + "Share to OpenWebUI Community": "分享到OpenWebUI社区", + "short-summary": "简短总结", + "Show": "显示", + "Show Additional Params": "显示额外参数", + "Show shortcuts": "显示快捷方式", + "sidebar": "侧边栏", + "Sign in": "登录", + "Sign Out": "登出", + "Sign up": "注册", + "Speech recognition error: {{error}}": "语音识别错误:{{error}}", + "Speech-to-Text Engine": "语音转文字引擎", + "SpeechRecognition API is not supported in this browser.": "此浏览器不支持SpeechRecognition API。", + "Stop Sequence": "停止序列", + "STT Settings": "语音转文字设置", + "Submit": "提交", + "Success": "成功", + "Successfully updated.": "成功更新。", + "Sync All": "同步所有", + "System": "系统", + "System Prompt": "系统提示", + "Tags": "标签", + "Temperature": "温度", + "Template": "模板", + "Text Completion": "文本完成", + "Text-to-Speech Engine": "文本转语音引擎", + "Tfs Z": "Tfs Z", + "Theme": "主题", + "This ensures that your valuable conversations are securely saved to your backend database. Thank you!": "这确保了您宝贵的对话被安全保存到后端数据库中。谢谢!", + "This setting does not sync across browsers or devices.": "此设置不会在浏览器或设备之间同步。", + "Tip: Update multiple variable slots consecutively by pressing the tab key in the chat input after each replacement.": "提示:在每次替换后,在聊天输入中按Tab键可以连续更新多个变量槽。", + "Title": "标题", + "Title Auto-Generation": "标题自动生成", + "Title Generation Prompt": "标题生成提示", + "to": "到", + "To access the available model names for downloading,": "要访问可下载的模型名称,", + "To access the GGUF models available for downloading,": "要访问可下载的GGUF模型,", + "to chat input.": "到聊天输入。", + "Toggle settings": "切换设置", + "Toggle sidebar": "切换侧边栏", + "Top K": "Top K", + "Top P": "Top P", + "Trouble accessing Ollama?": "访问Ollama时遇到问题?", + "TTS Settings": "文本转语音设置", + "Type Hugging Face Resolve (Download) URL": "输入Hugging Face解析(下载)URL", + "Uh-oh! There was an issue connecting to {{provider}}.": "哦哦!连接到{{provider}}时出现问题。", + "Unknown File Type '{{file_type}}', but accepting and treating as plain text": "未知文件类型'{{file_type}}',但接受并视为纯文本", + "Upload a GGUF model": "上传一个GGUF模型", + "Upload files": "上传文件", + "Upload Progress": "上传进度", + "URL Mode": "URL模式", + "Use '#' in the prompt input to load and select your documents.": "在提示输入中使用'#'来加载和选择你的文档。", + "Use Gravatar": "使用Gravatar", + "user": "用户", + "User Permissions": "用户权限", + "Users": "用户", + "Utilize": "利用", + "Valid time units:": "有效时间单位:", + "variable": "变量", + "variable to have them replaced with clipboard content.": "变量将被剪贴板内容替换。", + "Web": "网页", + "WebUI Add-ons": "WebUI 插件", + "WebUI Settings": "WebUI 设置", + "What’s New in": "最新变化", + "When history is turned off, new chats on this browser won't appear in your history on any of your devices.": "当历史记录被关闭时,这个浏览器上的新聊天不会出现在你任何设备的历史记录中。", + "Whisper (Local)": "私语(本地)", + "Write a prompt suggestion (e.g. Who are you?)": "写一个提示建议(例如:你是谁?)", + "Write a summary in 50 words that summarizes [topic or keyword].": "用50个字写一个总结[主题或关键词]。", + "You": "你", + "You're a helpful assistant.": "你是一个有帮助的助手。", + "You're now logged in.": "你现在已经登录了。" +} \ No newline at end of file diff --git a/src/lib/i18n/locales/zh/translation.json b/src/lib/i18n/locales/zh-TW/translation.json similarity index 100% rename from src/lib/i18n/locales/zh/translation.json rename to src/lib/i18n/locales/zh-TW/translation.json