fix(app): translations

This commit is contained in:
Adam
2026-02-11 09:17:27 -06:00
parent eef3ae3e1f
commit f252e3234c
15 changed files with 1196 additions and 816 deletions

View File

@@ -72,6 +72,7 @@ export const dict = {
"command.permissions.autoaccept.enable": "Авто-принятие изменений",
"command.permissions.autoaccept.disable": "Прекратить авто-принятие изменений",
"command.workspace.toggle": "Переключить рабочие пространства",
"command.workspace.toggle.description": "Включить или отключить несколько рабочих пространств в боковой панели",
"command.session.undo": "Отменить",
"command.session.undo.description": "Отменить последнее сообщение",
"command.session.redo": "Повторить",
@@ -95,9 +96,13 @@ export const dict = {
"dialog.provider.group.popular": "Популярные",
"dialog.provider.group.other": "Другие",
"dialog.provider.tag.recommended": "Рекомендуемые",
"dialog.provider.anthropic.note": "Подключитесь с помощью Claude Pro/Max или API ключа",
"dialog.provider.openai.note": одключитесь с помощью ChatGPT Pro/Plus или API ключа",
"dialog.provider.copilot.note": "Подключитесь с помощью Copilot или API ключа",
"dialog.provider.opencode.note": "Отобранные модели, включая Claude, GPT, Gemini и другие",
"dialog.provider.anthropic.note": рямой доступ к моделям Claude, включая Pro и Max",
"dialog.provider.copilot.note": "Модели Claude для помощи в кодировании",
"dialog.provider.openai.note": "Модели GPT для быстрых и мощных задач общего ИИ",
"dialog.provider.google.note": "Модели Gemini для быстрых и структурированных ответов",
"dialog.provider.openrouter.note": "Доступ ко всем поддерживаемым моделям через одного провайдера",
"dialog.provider.vercel.note": "Единый доступ к ИИ-моделям с умной маршрутизацией",
"dialog.model.select.title": "Выбрать модель",
"dialog.model.search.placeholder": "Поиск моделей",
@@ -145,6 +150,44 @@ export const dict = {
"provider.connect.toast.connected.title": "{{provider}} подключён",
"provider.connect.toast.connected.description": "Модели {{provider}} теперь доступны.",
"provider.custom.title": "Пользовательский провайдер",
"provider.custom.description.prefix": "Настройте OpenAI-совместимого провайдера. См. ",
"provider.custom.description.link": "документацию по настройке провайдера",
"provider.custom.description.suffix": ".",
"provider.custom.field.providerID.label": "ID провайдера",
"provider.custom.field.providerID.placeholder": "myprovider",
"provider.custom.field.providerID.description": "Строчные буквы, цифры, дефисы или подчёркивания",
"provider.custom.field.name.label": "Отображаемое имя",
"provider.custom.field.name.placeholder": "Мой AI провайдер",
"provider.custom.field.baseURL.label": "Базовый URL",
"provider.custom.field.baseURL.placeholder": "https://api.myprovider.com/v1",
"provider.custom.field.apiKey.label": "API ключ",
"provider.custom.field.apiKey.placeholder": "API ключ",
"provider.custom.field.apiKey.description":
"Необязательно. Оставьте пустым, если управляете авторизацией через заголовки.",
"provider.custom.models.label": "Модели",
"provider.custom.models.id.label": "ID",
"provider.custom.models.id.placeholder": "model-id",
"provider.custom.models.name.label": "Имя",
"provider.custom.models.name.placeholder": "Отображаемое имя",
"provider.custom.models.remove": "Удалить модель",
"provider.custom.models.add": "Добавить модель",
"provider.custom.headers.label": "Заголовки (необязательно)",
"provider.custom.headers.key.label": "Заголовок",
"provider.custom.headers.key.placeholder": "Header-Name",
"provider.custom.headers.value.label": "Значение",
"provider.custom.headers.value.placeholder": "значение",
"provider.custom.headers.remove": "Удалить заголовок",
"provider.custom.headers.add": "Добавить заголовок",
"provider.custom.error.providerID.required": "Требуется ID провайдера",
"provider.custom.error.providerID.format": "Используйте строчные буквы, цифры, дефисы или подчёркивания",
"provider.custom.error.providerID.exists": "Такой ID провайдера уже существует",
"provider.custom.error.name.required": "Требуется отображаемое имя",
"provider.custom.error.baseURL.required": "Требуется базовый URL",
"provider.custom.error.baseURL.format": "Должен начинаться с http:// или https://",
"provider.custom.error.required": "Обязательно",
"provider.custom.error.duplicate": "Дубликат",
"provider.disconnect.toast.disconnected.title": "{{provider}} отключён",
"provider.disconnect.toast.disconnected.description": "Модели {{provider}} больше недоступны.",
"model.tag.free": "Бесплатно",
@@ -166,6 +209,7 @@ export const dict = {
"common.search.placeholder": "Поиск",
"common.goBack": "Назад",
"common.goForward": "Вперёд",
"common.loading": "Загрузка",
"common.loading.ellipsis": "...",
"common.cancel": "Отмена",
@@ -327,6 +371,23 @@ export const dict = {
"context.usage.clickToView": "Нажмите для просмотра контекста",
"context.usage.view": "Показать использование контекста",
"language.en": "English",
"language.zh": "简体中文",
"language.zht": "繁體中文",
"language.ko": "한국어",
"language.de": "Deutsch",
"language.es": "Español",
"language.fr": "Français",
"language.da": "Dansk",
"language.ja": "日本語",
"language.pl": "Polski",
"language.ru": "Русский",
"language.ar": "العربية",
"language.no": "Norsk",
"language.br": "Português (Brasil)",
"language.bs": "Bosanski",
"language.th": "ไทย",
"toast.language.title": "Язык",
"toast.language.description": "Переключено на {{language}}",
@@ -384,6 +445,7 @@ export const dict = {
"Корневой элемент не найден. Вы забыли добавить его в index.html? Или, может быть, атрибут id был написан неправильно?",
"error.globalSync.connectFailed": "Не удалось подключиться к серверу. Запущен ли сервер по адресу `{{url}}`?",
"directory.error.invalidUrl": "Недопустимая директория в URL.",
"error.chain.unknown": "Неизвестная ошибка",
"error.chain.causedBy": "Причина:",
@@ -450,6 +512,11 @@ export const dict = {
"session.header.search.placeholder": "Поиск {{project}}",
"session.header.searchFiles": "Поиск файлов",
"session.header.openIn": "Открыть в",
"session.header.open.action": "Открыть {{app}}",
"session.header.open.ariaLabel": "Открыть в {{app}}",
"session.header.open.menu": "Варианты открытия",
"session.header.open.copyPath": "Копировать путь",
"status.popover.trigger": "Статус",
"status.popover.ariaLabel": "Настройки серверов",
@@ -518,13 +585,14 @@ export const dict = {
"settings.tab.general": "Основные",
"settings.tab.shortcuts": "Горячие клавиши",
"settings.desktop.section.wsl": "WSL",
"settings.desktop.wsl.title": "WSL integration",
"settings.desktop.wsl.description": "Run the OpenCode server inside WSL on Windows.",
"settings.desktop.wsl.title": "Интеграция с WSL",
"settings.desktop.wsl.description": "Запускать сервер OpenCode внутри WSL на Windows.",
"settings.general.section.appearance": "Внешний вид",
"settings.general.section.notifications": "Системные уведомления",
"settings.general.section.updates": "Обновления",
"settings.general.section.sounds": "Звуковые эффекты",
"settings.general.section.display": "Дисплей",
"settings.general.row.language.title": "Язык",
"settings.general.row.language.description": "Изменить язык отображения OpenCode",
@@ -535,6 +603,11 @@ export const dict = {
"settings.general.row.font.title": "Шрифт",
"settings.general.row.font.description": "Настройте моноширинный шрифт для блоков кода",
"settings.general.row.wayland.title": "Использовать нативный Wayland",
"settings.general.row.wayland.description": "Отключить X11 fallback на Wayland. Требуется перезапуск.",
"settings.general.row.wayland.tooltip":
"На Linux с мониторами разной частоты обновления нативный Wayland может быть стабильнее.",
"settings.general.row.releaseNotes.title": "Примечания к выпуску",
"settings.general.row.releaseNotes.description": 'Показывать всплывающие окна "Что нового" после обновлений',