From 2e9ef7da522d1a27bd7119893cc38f659fb220eb Mon Sep 17 00:00:00 2001 From: Vladimir Gordeev Date: Tue, 7 Apr 2026 13:12:08 +0300 Subject: [PATCH 1/2] Russian i18n for UI and README --- README.md | 2 + README_JA.md | 2 +- README_RU.md | 232 +++ README_ZH.md | 2 +- README_ZH_hk.md | 2 +- apps/app/src/i18n/index.ts | 9 +- apps/app/src/i18n/locales/index.ts | 1 + apps/app/src/i18n/locales/ru.ts | 2724 ++++++++++++++++++++++++++++ 8 files changed, 2968 insertions(+), 6 deletions(-) create mode 100644 README_RU.md create mode 100644 apps/app/src/i18n/locales/ru.ts diff --git a/README.md b/README.md index f32d56101..3989b65da 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,5 @@ +🌐 Languages: English | [Русский](README_RU.md) | [简体中文](README_ZH.md) | [繁體中文](README_ZH_hk.md) | [日本語](README_JA.md) + > OpenWork is the open source alternative to Claude Cowork/Codex (desktop app). diff --git a/README_JA.md b/README_JA.md index 47350ce40..bafe11475 100644 --- a/README_JA.md +++ b/README_JA.md @@ -1,6 +1,6 @@ [![Discord](https://img.shields.io/badge/discord-加入-5865F2?logo=discord&logoColor=white)](https://discord.gg/VEhNQXxYMB) -[English](./README.md) | [简体中文](./README_ZH.md) | [繁體中文](./README_ZH_hk.md) | 日本語 +[English](./README.md) | [Русский](./README_RU.md) | [简体中文](./README_ZH.md) | [繁體中文](./README_ZH_hk.md) | 日本語 # OpenWork > OpenWorkは、Claude Cowork/Codex(デスクトップアプリ)のオープンソース代替です。 diff --git a/README_RU.md b/README_RU.md new file mode 100644 index 000000000..f027be454 --- /dev/null +++ b/README_RU.md @@ -0,0 +1,232 @@ +🌐 Языки: [English](README.md) | Русский | [简体中文](README_ZH.md) | [繁體中文](README_ZH_hk.md) | [日本語](README_JA.md) + +> OpenWork — это открытая альтернатива Claude Cowork/Codex (десктопное приложение). + + +## Основная философия + +- Локальный-first, cloud-ready: OpenWork запускается на вашей машине в один клик. Отправляйте сообщения мгновенно. +- Компонуемый: десктопное приложение, коннектор WhatsApp/Slack/Telegram или сервер. Используйте то, что подходит, без привязки. +- Извлекаемый: OpenWork работает на базе OpenCode, поэтому всё, что умеет OpenCode, работает и в OpenWork, даже без UI. +- Делиться значит заботиться: начните в одиночку на localhost, затем явно включите удалённый общий доступ, когда понадобится. + +

+ Демонстрация OpenWork +

+ +OpenWork разработан с идеей, что вы можете легко паковать ваши агентские рабочие процессы как воспроизводимый, продуктизированный процесс. + +## Альтернативные UI +- **OpenWork Orchestrator (CLI хост)**: запускайте OpenCode + сервер OpenWork без десктопного UI. + - установка: `npm install -g openwork-orchestrator` + - запуск: `openwork start --workspace /path/to/workspace --approval auto` + - документация: [apps/orchestrator/README.md](./apps/orchestrator/README.md) + +## Быстрый старт + +Скачайте десктопное приложение с [openworklabs.com/download](https://openworklabs.com/download), возьмите последний [релиз на GitHub](https://github.com/different-ai/openwork/releases) или установите из исходников ниже. + +- Загрузки для macOS и Linux доступны напрямую. +- Доступ для Windows в настоящее время осуществляется через платный тариф поддержки на [openworklabs.com/pricing#windows-support](https://openworklabs.com/pricing#windows-support). +- Воркеры размещённые на OpenWork Cloud запускаются из веб-приложения после оформления заказа, затем подключаются из десктопного приложения через `Добавить рабочее пространство` -> `Подключить удалённое`. + +## Зачем? + +Текущие CLI и GUI для OpenCode ориентированы на разработчиков. Это означает фокус на диффах файлов, именах инструментов и сложно расширяемых возможностях без reliance на CLI. + +OpenWork разработан, чтобы быть: + +- **Расширяемым**: навыки и плагины OpenCode — это устанавливаемые модули. +- **Аудируемым**: показывает, что произошло, когда и почему. +- **Пермиссионированным**: доступ к привилегированным процессам. +- **Локальный/Удалённый**: OpenWork работает локально, а также может подключаться к удалённым серверам. + +## Что включено + +- **Режим хоста**: запускает OpenCode локально на вашем компьютере +- **Режим клиента**: подключение к существующему серверу OpenCode по URL. +- **Сессии**: создание/выбор сессий и отправка запросов. +- **Живой стриминг**: SSE `/event` подписка для обновлений в реальном времени. +- **План выполнения**: отображение задач OpenCode в виде таймлайна. +- **Разрешения**: отображение запросов разрешений и ответы (разрешить один раз / всегда / отклонить). +- **Шаблоны**: сохранение и повторный запуск распространённых рабочих процессов (хранятся локально). +- **Экспорт отладки**: копирование или экспорт отчёта об отладке среды выполнения и потока логов разработчика из Настройки -> Отладка при необходимости сообщить о баге. +- **Менеджер навыков**: + - список установленных папок `.opencode/skills` + - импорт локальной папки навыка в `.opencode/skills/` + +## Менеджер навыков + +image + +## Работает на локальном компьютере или серверах + +Screenshot 2026-01-13 at 7 05 16 PM + +## Быстрый старт + +### Требования + +- Node.js + `pnpm` +- Rust toolchain (для Tauri): установка через `curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh` +- Tauri CLI: `cargo install tauri-cli` +- OpenCode CLI установлен и доступен в PATH: `opencode` + +### Локальная разработка (Десктоп) + +Перед запуском `pnpm dev` убедитесь, что установлены и активны: + +- Node + pnpm (репозиторий использует `pnpm@10.27.0`) +- **Bun 1.3.9+** (`bun --version`) +- Rust toolchain (для Tauri), с Cargo из текущего стабильного `rustup` (поддерживает `Cargo.lock` v4) +- Xcode Command Line Tools (macOS) +- На Linux пакеты разработки WebKitGTK 4.1, чтобы `pkg-config` мог разрешить `webkit2gtk-4.1` и `javascriptcoregtk-4.1` + +### Быстрая проверка за одну минуту + +Запустите из корня репозитория: + +```bash +git checkout dev +git pull --ff-only origin dev +pnpm install --frozen-lockfile + +which bun +bun --version +pnpm --filter @openwork/desktop exec tauri --version +``` + +### Установка + +```bash +pnpm install +``` + +OpenWork теперь находится в `apps/app` (UI) и `apps/desktop` (десктопная оболочка). + +### Запуск (Десктоп) + +```bash +pnpm dev +``` + +`pnpm dev` теперь автоматически включает `OPENWORK_DEV_MODE=1`, поэтому десктопная разработка использует изолированное состояние OpenCode вместо вашей персональной глобальной конфигурации/аутентификации/данных. + +### Запуск (только Web UI) + +```bash +pnpm dev:ui +``` + +Все точки входа `dev` репозитория теперь используют ту же изоляцию dev-режима, поэтому локальные тесты согласованно используют состояние OpenCode, управляемое OpenWork. + +### Для пользователей Arch: + +```bash +sudo pacman -S --needed webkit2gtk-4.1 +curl -fsSL https://opencode.ai/install | bash -s -- --version "$(node -e "const fs=require('fs'); const parsed=JSON.parse(fs.readFileSync('constants.json','utf8')); process.stdout.write(String(parsed.opencodeVersion||'').trim().replace(/^v/,''));")" --no-modify-path +``` + +## Архитектура (высокий уровень) + +- В **режиме хоста** OpenWork запускает локальный стек хоста и подключает к нему UI. + - Среда выполнения по умолчанию: `openwork` (устанавливается из `openwork-orchestrator`), который оркестрирует `opencode`, `openwork-server` и опционально `opencode-router`. + - Резервная среда выполнения: `direct`, где десктопное приложение напрямую запускает `opencode serve --hostname 127.0.0.1 --port `. + +Когда вы выбираете папку проекта, OpenWork запускает стек хоста локально, используя эту папку, и подключает десктопный UI. +Это позволяет запускать агентные рабочие процессы, отправлять запросы и видеть прогресс полностью на вашей машине без удалённого сервера. + +- UI использует `@opencode-ai/sdk/v2/client` для: + - подключения к серверу + - списка/создания сессий + - отправки запросов + - подписки на SSE события (Server-Sent Events используются для потоковой передачи обновлений в реальном времени с сервера на UI.) + - чтения задач и запросов разрешений + +## Выбор папки + +Выбор папки использует плагин диалога Tauri. +Разрешения возможностей определены в: + +- `apps/desktop/src-tauri/capabilities/default.json` + +## Плагины OpenCode + +Плагины — это **нативный** способ расширения OpenCode. OpenWork теперь управляет ими из вкладки «Навыки», +читая и записывая `opencode.json`. + +- **Область проекта**: `/opencode.json` +- **Глобальная область**: `~/.config/opencode/opencode.json` (или `$XDG_CONFIG_HOME/opencode/opencode.json`) + +Вы всё ещё можете редактировать `opencode.json` вручную; OpenWork использует тот же формат, что и OpenCode CLI: + +```json +{ + "$schema": "https://opencode.ai/config.json", + "plugin": ["opencode-wakatime"] +} +``` + +## Полезные команды + +```bash +pnpm dev +pnpm dev:ui +pnpm typecheck +pnpm build +pnpm build:ui +pnpm test:e2e +``` + +## Устранение неполадок + +Если вам нужно сообщить о баге десктопа или сессии, откройте Настройки -> Отладка и экспортируйте отчёт об отладке среды выполнения и логи разработчика перед созданием issue. + +### Linux / Wayland (Hyprland) + +Если OpenWork падает при запуске с ошибками WebKitGTK, такими как `Failed to create GBM buffer`, отключите dmabuf или композитинг перед запуском. Попробуйте один из следующих флагов окружения. + +```bash +WEBKIT_DISABLE_DMABUF_RENDERER=1 openwork +``` + +```bash +WEBKIT_DISABLE_COMPOSITING_MODE=1 openwork +``` + +## Примечания по безопасности + +- OpenWork скрывает рассуждения моделей и чувствительные метаданные инструментов по умолчанию. +- Режим хоста привязывается к `127.0.0.1` по умолчанию. + +## Участие в разработке + +- Изучите `AGENTS.md` плюс `VISION.md`, `PRINCIPLES.md`, `PRODUCT.md` и `ARCHITECTURE.md`, чтобы понять цели продукта перед внесением изменений. +- Убедитесь, что Node.js, `pnpm`, Rust toolchain и `opencode` установлены перед работой в репозитории. +- Запустите `pnpm install` один раз после checkout, затем проверьте изменение с помощью `pnpm typecheck` плюс `pnpm test:e2e` (или целевого подмножества скриптов) перед открытием PR. +- Используйте `.github/pull_request_template.md` при открытии PR и включите точные команды, результаты, шаги ручной проверки и доказательства. +- Если CI падает, классифицируйте сбои в теле PR как либо регрессии кода, либо внешние/окружение/аутентификация блокеры. +- Добавляйте новые PRD в `apps/app/pr/.md`, следуя соглашениям `.opencode/skills/prd-conventions/SKILL.md`, описанным в `AGENTS.md`. + +Документация сообщества: + +- `CODE_OF_CONDUCT.md` +- `SECURITY.md` +- `SUPPORT.md` +- `TRIAGE.md` + +Контрольный список первого вклада: + +- [ ] Запустите `pnpm install` и команды базовой проверки. +- [ ] Подтвердите, что ваше изменение имеет чёткую ссылку на issue и область. +- [ ] Добавьте/обновите тесты для поведенческих изменений. +- [ ] Включите запущенные команды и результаты в ваш PR. +- [ ] Добавьте скриншоты/видео для изменений пользовательских потоков. + +## Для команд и бизнеса + +Интересует использование OpenWork в вашей организации? Мы будем рады услышать от вас — свяжитесь с нами по адресу [ben@openworklabs.com](mailto:ben@openworklabs.com), чтобы обсудить ваш вариант использования. + +## Лицензия + +MIT — см. `LICENSE`. diff --git a/README_ZH.md b/README_ZH.md index c039b3844..55b4e4c8e 100644 --- a/README_ZH.md +++ b/README_ZH.md @@ -1,6 +1,6 @@ [![Discord](https://img.shields.io/badge/discord-加入-5865F2?logo=discord&logoColor=white)](https://discord.gg/VEhNQXxYMB) -[English](./README.md) | 简体中文 | [繁體中文](./README_ZH_hk.md) | [日本語](./README_JA.md) +[English](./README.md) | [Русский](./README_RU.md) | 简体中文 | [繁體中文](./README_ZH_hk.md) | [日本語](./README_JA.md) # OpenWork > 让您的公司提升 1000 倍的生产力。 diff --git a/README_ZH_hk.md b/README_ZH_hk.md index d98ff10a6..cd2b1fae7 100644 --- a/README_ZH_hk.md +++ b/README_ZH_hk.md @@ -1,6 +1,6 @@ [![Discord](https://img.shields.io/badge/discord-加入-5865F2?logo=discord&logoColor=white)](https://discord.gg/VEhNQXxYMB) -[English](./README.md) | [简体中文](./README_ZH.md) | 繁體中文 | [日本語](./README_JA.md) +[English](./README.md) | [Русский](./README_RU.md) | [简体中文](./README_ZH.md) | 繁體中文 | [日本語](./README_JA.md) # OpenWork > 讓您的公司提升 1000 倍的生產力。 diff --git a/apps/app/src/i18n/index.ts b/apps/app/src/i18n/index.ts index 38553c37c..d67e6edd3 100644 --- a/apps/app/src/i18n/index.ts +++ b/apps/app/src/i18n/index.ts @@ -5,18 +5,19 @@ import zh from "./locales/zh"; import vi from "./locales/vi"; import ptBR from "./locales/pt-BR"; import th from "./locales/th"; +import ru from "./locales/ru"; import { LANGUAGE_PREF_KEY } from "../app/constants"; /** * Supported languages */ -export type Language = "en" | "ja" | "zh" | "vi" | "pt-BR" | "th"; +export type Language = "en" | "ja" | "zh" | "vi" | "pt-BR" | "th" | "ru"; export type Locale = Language; /** * All supported languages - single source of truth */ -export const LANGUAGES: Language[] = ["en", "ja", "zh", "vi", "pt-BR", "th"]; +export const LANGUAGES: Language[] = ["en", "ja", "zh", "vi", "pt-BR", "th", "ru"]; /** * Language options for UI - single source of truth @@ -28,6 +29,7 @@ export const LANGUAGE_OPTIONS = [ { value: "vi" as Language, label: "Vietnamese", nativeName: "Tiếng Việt" }, { value: "pt-BR" as Language, label: "Portuguese (BR)", nativeName: "Português (BR)" }, { value: "th" as Language, label: "ไทย", nativeName: "ไทย" }, + { value: "ru" as Language, label: "Русский", nativeName: "Русский" }, ] as const; /** @@ -38,8 +40,9 @@ const TRANSLATIONS: Record> = { ja, zh, vi, - "pt-BR": ptBR, + "pt-BR": ptBR, th, + ru, }; /** diff --git a/apps/app/src/i18n/locales/index.ts b/apps/app/src/i18n/locales/index.ts index 394728a7b..ae5929d4b 100644 --- a/apps/app/src/i18n/locales/index.ts +++ b/apps/app/src/i18n/locales/index.ts @@ -6,3 +6,4 @@ export { default as ja } from "./ja"; export { default as zh } from "./zh"; export { default as vi } from "./vi"; export { default as ptBR } from "./pt-BR"; +export { default as ru } from "./ru"; diff --git a/apps/app/src/i18n/locales/ru.ts b/apps/app/src/i18n/locales/ru.ts new file mode 100644 index 000000000..08f20269a --- /dev/null +++ b/apps/app/src/i18n/locales/ru.ts @@ -0,0 +1,2724 @@ +/** + * Russian translations + * Professional terms (Skills, Plugins, Commands, Sessions, OpenCode, OpenPackage, OpenWork) are NOT translated + */ + +export default { + "dashboard.title": "Панель управления", + "dashboard.sessions": "Сессии", + "dashboard.commands": "Команды", + "dashboard.skills": "Навыки", + "dashboard.plugins": "Плагины", + "dashboard.mcps": "Приложения", + "dashboard.settings": "Настройки", + "dashboard.home": "Главная", + "dashboard.runs": "Запуски", + "dashboard.find_workspace": "Найти рабочее пространство...", + "dashboard.workspaces": "Рабочие пространства", + "dashboard.no_workspaces": "Нет подходящих рабочих пространств.", + "dashboard.new_workspace": "Новое рабочее пространство...", + "dashboard.new_remote_workspace": "Добавить удалённое рабочее пространство...", + "dashboard.forget_workspace": "Забыть рабочее пространство", + "dashboard.remote": "Удалённое", + "dashboard.connection": "Подключение", + "dashboard.local_engine": "Локальный движок", + "dashboard.client_mode": "Режим клиента", + "dashboard.connected": "Подключено", + "dashboard.not_connected": "Не подключено", + "dashboard.stop_disconnect": "Остановить и отключить", + "dashboard.disconnect": "Отключить", + "dashboard.new_task": "Новая задача", + "dashboard.new": "Создать", + "dashboard.busy": "Занят", + "dashboard.hero_title": "Что сделаем сегодня?", + "dashboard.hero_description": + "Опишите результат. OpenWork выполнит задачу и сохранит журнал.", + "dashboard.quick_start_commands": "Команды быстрого старта", + "dashboard.view_all": "Показать все", + "dashboard.no_commands": + "Команд пока нет. Здесь появятся стартовые команды.", + "dashboard.run_command": "Запустить сохранённую команду", + "dashboard.recent_sessions": "Недавние сессии", + "dashboard.this_workspace": "в этом пространстве", + "dashboard.no_sessions": "Сессий пока нет.", + "dashboard.idle": "Ожидание", + "dashboard.running": "Выполняется", + "dashboard.completed": "Завершено", + "dashboard.failed": "Ошибка", + "dashboard.repairing_cache": "Восстановление кэша", + "dashboard.repair_cache": "Восстановить кэш", + "dashboard.retry": "Повторить", + "dashboard.alpha": "Alpha", + "dashboard.create_workspace_title": "Создать рабочее пространство", + "dashboard.create_workspace_subtitle": + "Инициализировать новое рабочее пространство на основе папки.", + "dashboard.create_workspace_confirm": "Создать рабочее пространство", + "dashboard.create_sandbox_confirm": "Создать как песочницу", + "share_skill_destination.title": "Куда добавить этот навык?", + "share_skill_destination.subtitle": + "Выберите существующее рабочее пространство или создайте новое перед импортом этого общего навыка.", + "share_skill_destination.skill_label": "Общий навык", + "share_skill_destination.fallback_skill_name": "Общий навык", + "share_skill_destination.trigger_label": "Триггер", + "share_skill_destination.current_badge": "Текущий", + "share_skill_destination.existing_workers": "Существующие рабочие пространства", + "share_skill_destination.no_workers": + "Рабочих пространств пока нет. Создайте или подключите удалённое пространство для установки этого навыка.", + "share_skill_destination.new_destination": "Новое назначение", + "share_skill_destination.selection_ready": "Готово к добавлению", + "share_skill_destination.selected_badge": "Выбрано", + "share_skill_destination.selected_hint": + "Выбрано. Проверьте назначение ниже, затем подтвердите.", + "share_skill_destination.footer_idle": "Выберите рабочее пространство для продолжения.", + "share_skill_destination.footer_selected": "Выбранное рабочее пространство:", + "share_skill_destination.confirm_button": "Добавить навык в рабочее пространство", + "share_skill_destination.confirm_busy": "Добавление навыка...", + "share_skill_destination.local_badge": "Локальное", + "share_skill_destination.remote_badge": "Удалённое", + "share_skill_destination.sandbox_badge": "Песочница", + "share_skill_destination.create_worker": "Создать новое рабочее пространство", + "share_skill_destination.create_worker_desc": + "Откройте настройку рабочего пространства, затем добавьте этот навык после готовности нового пространства.", + "share_skill_destination.connect_remote": "Подключить удалённое рабочее пространство", + "share_skill_destination.connect_remote_desc": + "Подключите хост OpenWork, затем выберите его из списка для импорта этого навыка.", + "dashboard.sandbox_get_ready_title": "Песочница требует Docker", + "dashboard.sandbox_get_ready_action": "Подготовить систему", + "dashboard.sandbox_get_ready_desc": + "Запустите это рабочее пространство в изолированном контейнере Docker для более безопасных и воспроизводимых запусков.", + "dashboard.sandbox_checking_docker": "Проверка Docker...", + "dashboard.create_remote_workspace_title": "Добавить удалённое рабочее пространство", + "dashboard.create_remote_workspace_subtitle": + "Сохранить сервер OpenWork как рабочее пространство.", + "dashboard.create_remote_workspace_confirm": "Добавить рабочее пространство", + "dashboard.edit_remote_workspace_title": "Редактировать удалённое подключение", + "dashboard.edit_remote_workspace_subtitle": + "Обновить данные сервера OpenWork для этого рабочего пространства.", + "dashboard.edit_remote_workspace_confirm": "Сохранить подключение", + "dashboard.remote_workspace_title": "Удалённое рабочее пространство", + "dashboard.remote_workspace_hint": + "Отслеживайте сервер OpenWork и переподключайтесь в любое время.", + "dashboard.remote_base_url_label": "URL сервера OpenWork", + "dashboard.remote_base_url_placeholder": "http://127.0.0.1:", + "dashboard.remote_base_url_required": "Добавьте URL сервера для продолжения.", + "dashboard.openwork_host_label": "URL сервера OpenWork", + "dashboard.openwork_host_placeholder": "https://your-server.openwork.app", + "dashboard.openwork_host_hint": "Используйте URL, предоставленный вашим сервером OpenWork.", + "dashboard.openwork_host_token_label": "Токен соавтора или владельца", + "dashboard.openwork_host_token_placeholder": "Вставьте ваш токен", + "dashboard.openwork_host_token_hint": + "Необязательно. Вставьте токен соавтора для обычного доступа или токен владельца, когда этот клиент должен отвечать на запросы разрешений.", + "dashboard.remote_mode_openwork_alpha": "Сервер OpenWork", + "dashboard.remote_mode_direct": "Прямое (устаревшее)", + "dashboard.remote_connection_openwork": "OpenWork", + "dashboard.remote_connection_direct": "Прямое", + "dashboard.remote_directory_label": "Директория рабочего пространства (необязательно)", + "dashboard.remote_directory_placeholder": "/home/team/project", + "dashboard.remote_directory_hint": "Оставьте пустым для использования серверной директории по умолчанию.", + "dashboard.remote_display_name_label": "Отображаемое имя (необязательно)", + "dashboard.remote_display_name_placeholder": "Рабочее пространство команды дизайна", + "dashboard.select_folder": "Выбрать папку", + "dashboard.choose_folder": "Выберите папку", + "dashboard.choose_folder_next": "Поделитесь файлами с вашим рабочим пространством.", + "dashboard.change": "Изменить", + "dashboard.opening": "Открытие...", + "dashboard.choose_preset": "Выберите пресет", + "dashboard.choose_folder_continue": "Выберите папку для продолжения.", + "dashboard.starter_workspace": "Стартовое рабочее пространство", + "dashboard.starter_workspace_desc": + "Преднастроено для демонстрации работы с плагинами, командами и навыками.", + "dashboard.empty_workspace": "Пустое рабочее пространство", + "dashboard.empty_workspace_desc": + "Начните с пустой папки и добавьте всё необходимое.", + "dashboard.blueprints_workspace": "Шаблоны", + "dashboard.blueprints_workspace_desc": + "Начните с рабочего пространства, готового к автоматизации, с переиспользуемыми навыками, командами и общими потоками.", + + "workspace.rename_title": "Редактировать имя рабочего пространства", + "workspace.rename_description": "Обновите имя, отображаемое в боковой панели.", + "workspace.rename_label": "Имя рабочего пространства", + "workspace.rename_placeholder": "Рабочее пространство команды дизайна", + + "session.no_selected": "Сессия не выбрана", + "session.back_to_dashboard": "Назад к панели управления", + "session.new_task": "Новая задача", + "session.recents": "Недавние", + "session.recents_notice": + "Эти задачи выполняются локально и не синхронизируются между устройствами.", + "session.ready_to_work_title": "Готово к работе", + "session.ready_to_work_description": + "Опишите задачу. Я покажу прогресс и запрошу разрешения при необходимости.", + "session.document_label": "Документ", + "session.standard_label": "Стандартный", + "session.no_artifacts_fallback": "Артефактов пока нет.", + "session.active_plugins_label": "Активные плагины", + "session.active_plugins_count": "{count}", + "session.no_plugins_loaded": "Плагины не загружены.", + "session.selected_folders_label": "Выбранные папки", + "session.selected_folders_count": "{count}", + "session.working_files_label": "Рабочие файлы", + "session.none_yet_label": "Пока нет.", + "session.permission_required_title": "Требуется разрешение", + "session.permission_required_description": + "OpenCode запрашивает разрешение на продолжение.", + "session.permission_label_uppercase": "Разрешение", + "session.scope_label_uppercase": "Область", + "session.details_label": "Детали", + "session.steps_notice_text": "Шаги появятся по мере выполнения задачи.", + "session.ready_to_work": "Готово к работе", + "session.ready_description": + "Опишите задачу. Я покажу прогресс и запрошу разрешения при необходимости.", + "session.hide_steps": "Скрыть шаги", + "session.view_steps": "Показать шаги", + "session.open": "Открыть", + "session.reveal": "Показать", + "session.opened_toast": "Открыто в приложении по умолчанию.", + "session.revealed_toast": "Показано в файловом менеджере.", + "session.artifact_path_missing": "Путь к артефакту отсутствует.", + "session.desktop_only": "Открытие доступно только в десктопном приложении.", + "session.open_failed": "Не удалось открыть артефакт.", + "session.model": "Модель", + "session.ready": "Готово", + "session.connect_provider": "Подключите провайдер для настройки.", + "session.running": "Выполняется", + "session.progress": "Прогресс", + "session.steps_notice": "Шаги появятся по мере выполнения задачи.", + "session.artifacts": "Артефакты", + "session.no_artifacts": "Артефактов пока нет.", + "session.context": "Контекст", + "session.active_plugins": "Активные плагины", + "session.no_plugins": "Плагины не загружены.", + "session.selected_folders": "Выбранные папки", + "session.working_files": "Рабочие файлы", + "session.none_yet": "Пока нет.", + "session.document": "Документ", + "session.standard": "Стандартный", + "session.try_notion_prompt": "Попробуйте: настройте мою CRM в Notion", + "session.insert_prompt": "Вставить запрос", + "session.placeholder": "Спросите OpenWork...", + "session.run": "Запустить", + "session.permission_required": "Требуется разрешение", + "session.permission_description": + "OpenCode запрашивает разрешение на продолжение.", + "session.permission_label": "Разрешение", + "session.scope_label": "Область", + "session.details": "Детали", + "session.deny": "Отклонить", + "session.once": "Один раз", + "session.allow_for_session": "Разрешить для сессии", + + "session.tasks_local_hint": + "Эти задачи выполняются локально и не синхронизируются между устройствами.", + "session.recents_label": "Недавние", + "session.model_standard": "Стандартный", + "session.run_button_title": "Запустить", + "session.rename_title": "Переименовать сессию", + "session.rename_description": "Обновите имя для этой сессии.", + "session.rename_label": "Имя сессии", + "session.rename_placeholder": "Введите новое имя", + "session.provider_connected": "Провайдер подключён", + "session.oauth_failed": "OAuth не удался", + "session.api_key_saved": "API ключ сохранён", + "session.failed_to_save_api_key": "Не удалось сохранить API ключ", + "session.quick_actions_title": "Быстрые действия (Ctrl/Cmd+K)", + "session.quick_actions_label": "Быстрые действия", + "session.menu_label": "Меню", + "session.search_conversation_title": "Поиск в разговоре (Ctrl/Cmd+F)", + "session.search_conversation_label": "Поиск в разговоре", + "session.undo_title": "Отменить последнее сообщение", + "session.revert_label": "Вернуть", + "session.redo_title": "Повторить последнее отменённое сообщение", + "session.redo_aria_label": "Повторить последнее отменённое сообщение", + + "commands.new": "Создать", + "commands.empty_state": + "Сохраните запрос или команду, чтобы запустить их снова одним нажатием.", + "commands.workspace": "Это рабочее пространство", + "commands.global": "Все рабочие пространства", + "commands.other": "Другие команды", + "commands.run": "Запустить", + "commands.modal_title": "Сохранить переиспользуемый поток", + "commands.modal_description": "Сохраните запрос или команду для быстрого повторного использования.", + "commands.name_label": "Имя команды", + "commands.name_placeholder": "например, daily-standup", + "commands.name_hint": "Это станет /daily-standup в OpenCode.", + "commands.description_label": "Описание (необязательно)", + "commands.description_placeholder": "Что делает эта команда?", + "commands.template_label": "Инструкции", + "commands.template_placeholder": "Напишите инструкции для повторного использования…", + "commands.template_hint": "Используйте $ARGUMENTS для передачи деталей.", + "commands.details_required": "Детали", + "commands.default_description": "Запустить сохранённую команду", + "commands.command_label": "Команда", + "commands.details_label": "Детали", + "commands.details_placeholder": "Добавьте необязательные детали", + "commands.details_hint": "Эти детали передаются команде.", + "commands.run_modal_title": "Запустить команду", + "commands.run_modal_description": "Добавьте необязательные детали перед запуском.", + "commands.run_modal_run": "Запустить команду", + "commands.name_will_be": "Будет создано как", + "commands.override_title": "Заменить существующую команду?", + "commands.override_description": "Команда с таким именем уже существует.", + "commands.override_warning": + 'Это заменит существующую команду "{name}". Это действие нельзя отменить.', + "commands.override_confirm": "Заменить", + "commands.override_cancel": "Оставить существующую", + + "skills.title": "Навыки", + "skills.subtitle": "Управляйте навыками для этого рабочего пространства.", + "skills.refresh": "Обновить", + "skills.add_title": "Добавить навыки", + "skills.add_description": + "Установите стартовую команду, импортируйте навык или откройте папку.", + "skills.install_from_openpackage": "Установить из OpenPackage", + "skills.host_mode_only": "Только локальное рабочее пространство", + "skills.install": "Установить", + "skills.installed_label": "Установлено", + "skills.install_hint": + "Устанавливает пакеты OpenPackage в текущее рабочее пространство. Навыки должны появиться в `.opencode/skills`.", + "skills.import_local": "Импортировать локальный навык", + "skills.import_local_hint": + "Скопируйте существующую папку навыка в это рабочее пространство.", + "skills.import": "Импорт", + "skills.curated_packages": "Подобранные пакеты", + "skills.view": "Просмотр", + "skills.search_placeholder": + "Поиск пакетов или списков (например, claude, registry, community)", + "skills.no_matches": "Нет подобранных совпадений. Попробуйте другой поиск.", + "skills.install_package": "Установить", + "skills.registry_notice": + "Публикация в реестр OpenPackage сегодня требует аутентификации. Поиск по реестру + синхронизация подобранного списка запланированы.", + "skills.installed": "Установленные навыки", + "skills.no_skills": + "Навыки не обнаружены в `.opencode/skills`, `.claude/skills` или `~/.agents/skills`.", + "skills.desktop_required": "Управление навыками требует десктопного приложения.", + "skills.host_only_error": + "Управление навыками требует локального рабочего пространства или подключённого сервера OpenWork.", + "skills.install_skill_creator": "Установить создатель навыков", + "skills.install_skill_creator_hint": + "Этот навык позволяет создавать другие навыки прямо из чата.", + "skills.installing_skill_creator": "Установка создателя навыков...", + "skills.skill_creator_installed": "Создатель навыков установлен.", + "skills.skill_creator_already_installed": + "Создатель навыков уже установлен.", + "skills.install_failed": "Установка навыка не удалась.", + "skills.reveal_folder": "Открыть папку навыков", + "skills.reveal_folder_hint": "Откройте директорию навыков в Finder.", + "skills.reveal_button": "Показать в Finder", + "skills.reveal_failed": "Не удалось открыть папку навыков.", + "skills.uninstall": "Удалить", + "skills.uninstall_title": "Удалить навык?", + "skills.uninstall_warning": + "Это навсегда удалит навык `{name}` из вашего рабочего пространства.", + "skills.uninstall_failed": "Не удалось удалить навык.", + "skills.uninstalled": "Навык удалён.", + "skills.share_title": "Поделиться навыком", + "skills.share_chooser_subtitle": + "Сохраните в вашу организацию OpenWork Cloud или опубликуйте публичную ссылку для установки.", + "skills.share_subtitle_public": + "Любой, у кого есть ссылка, может установить этот навык.", + "skills.share_subtitle_team": "Хранится в вашей организации для команды.", + "skills.share_option_team_title": "Поделиться с командой", + "skills.share_option_team_desc": + "Добавьте этот навык в вашу активную организацию OpenWork Cloud.", + "skills.share_option_public_title": "Публичная ссылка", + "skills.share_option_public_desc": + "Создайте ссылку, которую любой сможет использовать для установки этого навыка.", + "skills.share_public_intro": + "Опубликуйте публичную ссылку. Любой, у кого есть URL, сможет установить этот навык.", + "skills.share_publisher_label": "Издатель", + "skills.share_public_create": "Создать ссылку", + "skills.share_public_regenerate": "Пересоздать ссылку", + "skills.share_public_creating": "Публикация…", + "skills.share_copy_link": "Копировать", + "skills.share_team_intro": + "Сохраните этот навык в вашу активную организацию, чтобы команда могла установить его из Cloud.", + "skills.share_team_org_fallback": "Активная организация Cloud", + "skills.share_team_hub_label": "Добавить в хаб навыков (необязательно)", + "skills.share_team_hub_none": "Только организация — не в хабе", + "skills.share_team_hubs_loading": "Загрузка хабов…", + "skills.share_team_sign_in": "Войдите, чтобы поделиться с командой", + "skills.share_team_sign_in_hint": + "OpenWork Cloud откроется в вашем браузере. Вернитесь сюда после входа.", + "skills.share_team_save": "Сохранить для команды", + "skills.share_team_saving": "Сохранение…", + "skills.share_team_success": + "Сохранено в {org}. Команда может установить его из навыков вашей организации.", + "skills.share_team_choose_org": + "Выберите организацию в Настройки → Cloud перед тем, как поделиться с командой.", + "skills.share_back": "Назад", + "skills.share_close": "Закрыть", + "skills.share_done": "Готово", + "skills.source_placeholder": "github:anthropics/claude-code", + "skills.notion_crm_title": "Навыки обогащения Notion CRM", + "skills.notion_crm_description": + "Добавьте рабочие процессы обогащения для контактов, воронок и последующих действий.", + "skills.notion_crm_card_description": + "Обогатите данные Notion CRM готовыми навыками.", + "skills.connect_host_to_load": "Подключите сервер OpenWork для загрузки навыков.", + "skills.pick_workspace_first": "Сначала выберите папку рабочего пространства.", + "skills.no_skills_found": "Навыки пока не найдены.", + "skills.installed_description": "Навыки, доступные в этом рабочем пространстве.", + "skills.failed_to_load": "Не удалось загрузить навыки", + "skills.plugin_management_host_only": + "Управление плагинами требует десктопного приложения.", + "skills.plugins_host_only": "Плагины доступны только в десктопном приложении.", + "skills.pick_project_for_plugins": + "Выберите папку проекта для управления плагинами проекта.", + "skills.pick_project_for_active": + "Выберите папку проекта для загрузки активных плагинов.", + "skills.no_opencode_found": + "opencode.json пока не найден. Добавьте плагин для его создания.", + "skills.no_opencode_workspace": "opencode.json в этом рабочем пространстве пока нет.", + "skills.failed_parse_opencode": "Не удалось распарсить opencode.json", + "skills.failed_load_opencode": "Не удалось загрузить opencode.json", + "skills.failed_load_active": "Не удалось загрузить активные плагины.", + "skills.enter_plugin_name": "Введите имя пакета плагина.", + "skills.plugin_already_listed": "Плагин уже указан в opencode.json.", + "skills.failed_update_opencode": "Не удалось обновить opencode.json", + "skills.opackage_install_host_only": + "Установка OpenPackage требует десктопного приложения.", + "skills.pick_project_first": "Сначала выберите папку проекта.", + "skills.enter_opackage_source": + "Введите источник OpenPackage (например, github:anthropics/claude-code).", + "skills.installing_opackage": "Установка OpenPackage...", + "skills.install_complete": "Установлено.", + "skills.curated_list_notice": + "Это подобранный список, ещё не OpenPackage. Скопируйте ссылку или следите за PRD для планов интеграции поиска по реестру.", + "skills.import_host_only": "Импорт навыков требует десктопного приложения.", + "skills.select_skill_folder": "Выберите папку навыка", + "skills.import_failed": "Импорт не удался ({status})", + "skills.imported": "Импортировано.", + "skills.unknown_error": "Неизвестная ошибка", + "skills.filter_all": "Все", + "skills.filter_installed": "Установлено", + "skills.filter_cloud": "Команда", + "skills.filter_hub": "Хаб", + "skills.catalog_search_placeholder": "Поиск установленных, командных и хаб-навыков", + "skills.cloud_section_title": "Из вашей организации", + "skills.cloud_section_subtitle": + "Навыки, которыми поделились с вами через OpenWork Cloud — включая командные хабы навыков, к которым у вас есть доступ.", + "skills.cloud_refresh": "Обновить командные навыки", + "skills.cloud_org_fallback": "OpenWork Cloud", + "skills.cloud_sign_in_hint": + "Войдите в OpenWork Cloud для просмотра командных и организационных навыков.", + "skills.cloud_sign_in": "Войти в Cloud", + "skills.cloud_choose_org_hint": + "Выберите организацию в Настройки → Cloud для загрузки командных навыков.", + "skills.cloud_choose_org_detail": + "Используйте панель Cloud для выбора активной организации, затем обновите этот список.", + "skills.cloud_org_empty": "Организационные навыки пока недоступны.", + "skills.cloud_org_load_failed": "Не удалось загрузить организационные навыки.", + "skills.cloud_no_search_matches": "Нет навыков, соответствующих поиску.", + "skills.cloud_install_need_server": + "Подключитесь к серверу OpenWork с правом записи навыков для установки командных навыков на этот воркер.", + "skills.cloud_installed": "Установлено {name} на этот воркер.", + "skills.cloud_installing": "Установка {title}…", + "skills.cloud_installing_short": "Установка", + "skills.cloud_add_skill": "Добавить навык", + "skills.cloud_badge": "Cloud", + "skills.cloud_hub_label": "Хаб: {name}", + "skills.cloud_shared_org": "Организация", + "skills.cloud_shared_public": "Публичное", + "skills.cloud_footer_label": "Команда", + + "plugins.title": "Плагины OpenCode", + "plugins.description": + "Управляйте `opencode.json` для вашего проекта или глобальными плагинами OpenCode.", + "plugins.config_label": "Конфигурация", + "plugins.config_not_loaded": "Ещё не загружено", + "plugins.suggested_label": "Рекомендуемые плагины", + "plugins.no_plugins_yet": "Плагины ещё не настроены.", + "plugins.enabled_label": "Включено", + "plugins.open_label": "Открыть", + "plugins.path_label": "Путь", + "plugins.scope_project": "Проект", + "plugins.scope_global": "Глобальный", + "plugins.refresh": "Обновить", + "plugins.config": "Конфигурация", + "plugins.not_loaded": "Ещё не загружено", + "plugins.suggested": "Рекомендуемые плагины", + "plugins.hide_setup": "Скрыть настройку", + "plugins.setup": "Настройка", + "plugins.added": "Добавлено", + "plugins.add": "Добавить", + "plugins.enabled": "Включено", + "plugins.no_plugins": "Плагины ещё не настроены.", + "plugins.add_label": "Добавить плагин", + "plugins.placeholder": "opencode-wakatime", + "plugins.add_hint": "Добавьте имена npm пакетов, например opencode-wakatime", + + "mcp.add_modal_title": "Добавить пользовательское приложение", + "mcp.add_modal_subtitle": + "Подключите пользовательский сервер MCP по URL или локальной команде.", + "mcp.custom_app_cta_hint": + "Подключите ваш собственный сервер MCP, внутренний инструмент или размещённое приложение.", + "mcp.server_type": "Тип", + "mcp.type_remote": "Удалённый (URL)", + "mcp.type_local_cmd": "Локальный (команда)", + "mcp.server_command": "Команда", + "mcp.server_command_placeholder": + "npx -y @modelcontextprotocol/server-sequential-thinking", + "mcp.server_command_hint": "Команда оболочки для запуска сервера.", + "mcp.sign_in_section_label": "Вход", + "mcp.oauth_optional_label": "Это приложение требует входа", + "mcp.oauth_optional_hint": + "Использует OAuth в браузере для подключения вашего аккаунта.", + "mcp.remote_workspace_url_hint": + "Удалённые воркеры быстрее всего подключаются через URL-based MCP серверы.", + "mcp.add_server_button": "Добавить приложение", + "mcp.name_required": "Введите имя сервера.", + "mcp.url_or_command_required": + "Введите URL для удалённого или команду для локальных серверов.", + "mcp.control_chrome_setup_title": "Настройка Control Chrome", + "mcp.control_chrome_setup_subtitle": + "Включите доступ Chrome, затем выберите, должен ли OpenWork использовать свой чистый профиль или подключиться к уже используемому Chrome.", + "mcp.control_chrome_browser_title": "1. Включите доступ Chrome", + "mcp.control_chrome_browser_hint": "В Chrome 144 или новее сделайте это сначала:", + "mcp.control_chrome_browser_step_one": + "Откройте chrome://inspect/#remote-debugging.", + "mcp.control_chrome_browser_step_two": "Включите удалённую отладку.", + "mcp.control_chrome_browser_step_three": + "Разрешите входящие подключения отладки, когда Chrome спросит.", + "mcp.control_chrome_docs": "Официальное руководство MCP", + "mcp.control_chrome_profile_title": "2. Выберите какой Chrome использовать", + "mcp.control_chrome_profile_hint": + "Control Chrome обычно открывает отдельный профиль Chrome. Включите это, если хотите, чтобы OpenWork использовал уже открытое окно Chrome.", + "mcp.control_chrome_toggle_label": "Использовать мой существующий профиль Chrome", + "mcp.control_chrome_toggle_hint": + "Когда включено, OpenWork добавляет --autoConnect, чтобы MCP подключался к уже запущенному экземпляру Chrome.", + "mcp.control_chrome_toggle_on": + "OpenWork будет использовать ваши текущие вкладки, куки и входы.", + "mcp.control_chrome_toggle_off": + "OpenWork запустит отдельный профиль Chrome только для автоматизации.", + "mcp.control_chrome_connect": "Добавить Control Chrome", + "mcp.control_chrome_save": "Сохранить настройки", + "mcp.control_chrome_edit": "Редактировать настройки", + + "mcp.logout_label": "OAuth", + "mcp.logout_action": "Выйти", + "mcp.logout_working": "Выход...", + "mcp.logout_hint": + "Удаляет сохранённые учётные данные OAuth. Вам нужно будет войти снова.", + "mcp.login_action": "Войти", + "mcp.login_hint": "Подключите ваш аккаунт для завершения настройки этого приложения.", + "mcp.login_unavailable": "Это приложение не поддерживает вход из OpenWork.", + "mcp.logout_modal_title": "Выйти из этого приложения?", + "mcp.logout_modal_message": + "Это удалит сохранённые учётные данные OAuth для {server}. Вам нужно будет войти снова для использования этого приложения.", + "mcp.logout_success": "Вышли из {server}.", + "mcp.logout_failed": "Выход не удался.", + + "mcp.auth.open_browser_signin": "Мы откроем ваш браузер для завершения входа.", + "mcp.auth.connect_server": "Подключить {server}", + "mcp.auth.already_connected": "Уже подключено", + "mcp.auth.already_connected_description": + "{server} уже аутентифицирован и готов к использованию.", + "mcp.auth.configured_previously": + "MCP мог быть настроен глобально или в предыдущей сессии. Вы можете закрыть это модальное окно и начать использовать инструменты MCP прямо сейчас.", + "mcp.auth.reload_engine_retry": "Применить изменения и повторить", + "mcp.auth.retry_now": "Повторить сейчас", + "mcp.auth.retry": "Повторить", + "mcp.auth.reload_failed": "Не удалось перезагрузить воркер перед входом.", + "mcp.auth.applying_changes_title": "Применение изменений перед входом", + "mcp.auth.applying_changes_body": + "Мы перезапускаем воркер, чтобы новый MCP был готов к аутентификации.", + "mcp.auth.waiting_for_conversation_title": + "Ожидание завершения разговора", + "mcp.auth.waiting_for_conversation_body": + "Мы перенаправим вас для аутентификации как можно скорее.", + "mcp.auth.waiting_for_session": "Ожидание завершения работы {session}", + "mcp.auth.force_stop": "Принудительно остановить", + "mcp.auth.force_stopping": "Остановка...", + "mcp.auth.reload_before_oauth": + "Перезагрузите движок для завершения настройки этого MCP перед запуском OAuth.", + "mcp.auth.reload_notice": + "Для вступления изменений в силу, OpenWork должен обновить сервис воркера. Это может прервать выполняющуюся сессию.", + "mcp.auth.reload_blocked": + "Перезагрузка приостановлена, пока выполняется сессия. Остановите запуск для завершения настройки.", + "mcp.auth.reload_remote_confirm": + "Для вступления изменений в силу, OpenWork должен обновить сервис воркера. Это может остановить вашу выполняющуюся сессию. Продолжить?", + "mcp.auth.reload_needed": + "Завершите настройку, перезагрузив движок, затем попробуйте подключиться снова.", + "mcp.auth.manual_finish_title": "Удалённый сервер?", + "mcp.auth.manual_finish_hint": + "Вставьте URL обратного вызова (localhost:19876) или просто код для завершения подключения.", + "mcp.auth.callback_label": "URL обратного вызова или код", + "mcp.auth.callback_placeholder": + "http://127.0.0.1:19876/mcp/oauth/callback?code=...", + "mcp.auth.complete_connection": "Завершить подключение", + "mcp.auth.callback_invalid": + "Вставьте URL обратного вызова или параметр кода для завершения OAuth.", + "mcp.auth.port_forward_hint": + "Совет: пробросьте порт обратного вызова при необходимости: ssh -L 19876:127.0.0.1:19876 user@host", + "mcp.auth.step1_title": "Открываем ваш браузер", + "mcp.auth.step1_description": + "Мы автоматически запустим поток входа {server}.", + "mcp.auth.step2_title": "Авторизуйте OpenWork", + "mcp.auth.step2_description": "Войдите и одобрите доступ при появлении запроса.", + "mcp.auth.step3_title": "Вернитесь сюда после завершения", + "mcp.auth.step3_description": + "Мы завершим подключение сразу после окончания авторизации.", + "mcp.auth.waiting_authorization": + "Ожидание завершения авторизации в вашем браузере...", + "mcp.auth.follow_browser_steps": + "Следуйте шагам авторизации в браузере.", + "mcp.auth.reopen_browser_link": "Нажмите здесь для повторного открытия браузера", + "mcp.auth.done": "Готово", + "mcp.auth.cancel": "Отмена", + "mcp.auth.im_done": "Готово", + "mcp.auth.client_registration_required": + "Регистрация клиента требуется перед продолжением OAuth.", + "mcp.auth.server_disabled": + "Этот сервер MCP отключён. Включите его и попробуйте снова.", + "mcp.auth.oauth_failed": "Аутентификация OAuth не удалась.", + "mcp.auth.invalid_refresh_token": + "Токен обновления OAuth недействителен или просрочен. Повторно авторизуйтесь для продолжения.", + "mcp.auth.reauth_action": "Повторная авторизация OAuth", + "mcp.auth.reauth_running": "Повторная авторизация...", + "mcp.auth.reauth_failed": "Повторная авторизация не удалась.", + "mcp.auth.reauth_cli_hint": "Запустите: opencode mcp auth {server}", + "mcp.auth.reauth_remote_hint": + "Повторно авторизуйтесь с машины, запускающей этот воркер.", + "mcp.auth.authorization_still_required": + "Авторизация всё ещё требуется. Попробуйте снова для перезапуска потока.", + "mcp.auth.oauth_not_supported_hint": + "Это может означать:\n• Сервер MCP не рекламирует возможности OAuth\n• Движок требует перезагрузки для обнаружения возможностей сервера\n• Попробуйте: opencode mcp auth {server} из CLI", + "mcp.auth.try_reload_engine": "{message}. Попробуйте сначала перезагрузить движок.", + "mcp.auth.failed_to_start_oauth": "Не удалось запустить поток OAuth", + "mcp.auth.oauth_completed_reload": + "OAuth завершён. Перезагрузите движок для активации MCP.", + + "mcp.apps_title": "Приложения", + "mcp.apps_subtitle": + "Подключите ваши любимые инструменты, чтобы OpenWork мог использовать их от вашего имени.", + "mcp.app_connected": "приложение подключено", + "mcp.apps_connected": "приложения подключены", + "mcp.title": "Приложения", + "mcp.description": "Подключите ваши инструменты в один клик.", + "mcp.alpha_banner_title": + "Приложения в раннем доступе, пока мы улучшаем опыт.", + "mcp.alpha_banner_help": + "Если хотите помочь, откройте PR и включите короткое видео, показывающее端到дный поток входа.", + "mcp.mcps_title": "Приложения", + "mcp.connect_mcp_hint": "Подключите приложения для расширения возможностей OpenWork.", + "mcp.finish_setup": "Почти готово", + "mcp.finish_setup_hint": "Нажмите Активировать для завершения подключения приложения.", + "mcp.activate_button": "Активировать", + "mcp.reload_banner_title": "Почти готово", + "mcp.reload_banner_description": + "Нажмите Активировать для завершения подключения приложения.", + "mcp.reload_banner_description_blocked": + "Задача выполняется. Остановите её, затем активируйте.", + "mcp.reload_banner_blocked_hint": "Остановите выполняющуюся задачу для активации.", + "mcp.available_apps": "Доступные приложения", + "mcp.one_click_connect": "Подключение в один клик", + "mcp.tap_to_connect": "Нажмите для подключения", + "mcp.connected_badge": "Подключено", + "mcp.your_apps": "Ваши приложения", + "mcp.last_synced": "Синхронизировано", + "mcp.no_apps_yet": "Приложения пока не подключены", + "mcp.no_apps_hint": "Подключите одно выше для начала.", + "mcp.quick_connect_title": "Доступные приложения", + "mcp.oauth_only_label": "В один клик", + "mcp.connected_status": "Подключено", + "mcp.no_env_vars": "Дополнительная настройка не требуется.", + "mcp.connected_title": "Ваши приложения", + "mcp.from_opencode_json": "Из конфигурации", + "mcp.no_servers_yet": "Приложения пока не подключены.", + "mcp.edit_config_title": "Редактировать файл конфигурации", + "mcp.edit_config_description": + "Приложения хранятся в файле конфигурации вашего рабочего пространства.", + "mcp.docs_link": "Узнать больше", + "mcp.scope_project": "Это рабочее пространство", + "mcp.scope_global": "Все рабочие пространства", + "mcp.config_label": "Конфигурация", + "mcp.config_file": "Файл конфигурации", + "mcp.config_not_loaded": "Ещё не загружено", + "mcp.open_file_label": "Открыть файл", + "mcp.reveal_in_finder": "Показать в Finder", + "mcp.opening_label": "Открытие...", + "mcp.file_not_found": "Файл конфигурации ещё не создан", + "mcp.config_load_failed": "Не удалось загрузить файл конфигурации", + "mcp.open_file": "Открыть файл", + "mcp.pick_workspace_error": "Сначала выберите папку рабочего пространства.", + "mcp.reveal_config_failed": "Не удалось открыть файл конфигурации", + "mcp.alpha_warning": + "Приложения в раннем доступе, пока мы улучшаем опыт.", + "mcp.github_issue": "Посмотреть issue #9510 на GitHub", + "mcp.contribution_guide": + "Если хотите помочь, откройте PR и включите короткое видео, показывающее端到дный поток входа.", + "mcp.advanced_settings": "Расширенные настройки", + "mcp.advanced_settings_hint": + "Редактируйте файлы конфигурации и управляйте подключениями вручную.", + "mcp.hide_advanced": "Скрыть расширенные настройки", + "mcp.show_advanced": "Показать расширенные настройки", + "mcp.mcps_label": "Приложения", + "mcp.mcps_description": "Подключите приложения для расширения возможностей OpenWork.", + "mcp.configured": "настроено", + "mcp.updated": "Синхронизировано", + "mcp.reload_required": "Требуется активация", + "mcp.reload_description": "Активируйте для начала использования нового подключения.", + "mcp.reload_engine": "Активировать", + "mcp.quick_connect": "Доступные приложения", + "mcp.oauth_only": "В один клик", + "mcp.connecting": "Подключение...", + "mcp.connect": "Подключить", + "mcp.connected": "Подключено", + "mcp.connected_label": "Подключено", + "mcp.no_env_required": "Дополнительная настройка не требуется.", + "mcp.config_source": "Из конфигурации", + "mcp.no_servers": "Приложения пока не подключены.", + "mcp.advanced": "Расширенные", + "mcp.advanced_description": "Для пользовательских подключений.", + "mcp.hide": "Скрыть", + "mcp.show": "Показать", + "mcp.server_name": "Имя приложения", + "mcp.server_name_placeholder": "github-copilot", + "mcp.server_url": "URL сервера", + "mcp.server_url_placeholder": "https://api.githubcopilot.com/mcp/", + "mcp.oauth": "Войти", + "mcp.api_key": "API ключ", + "mcp.enabled": "Включено", + "mcp.disabled": "Отключено", + "mcp.add_mcp": "Добавить приложение", + "mcp.verify_connection": "Тест подключения", + "mcp.cli_guidance": "Команда терминала (расширенный)", + "mcp.config_locations": + "Конфигурация может быть в opencode.json, opencode.jsonc или .opencode/opencode.json.", + "mcp.app_details": "Детали приложения", + "mcp.details_title": "Детали приложения", + "mcp.select_app_hint": "Выберите приложение для просмотра деталей.", + "mcp.select_server_hint": "Выберите приложение для просмотра деталей.", + "mcp.connection_type": "Подключение", + "mcp.type_cloud": "Cloud (войдите через ваш аккаунт)", + "mcp.type_local": "Локальное (работает на этом устройстве)", + "mcp.capabilities_label": "Возможности", + "mcp.cap_tools": "AI инструменты", + "mcp.cap_signin": "Вход в аккаунт", + "mcp.tools_enabled_label": "AI инструменты", + "mcp.oauth_ready_label": "Вход в аккаунт", + "mcp.usage_hint_text": + "Упомяните имя приложения в вашем запросе для использования его инструментов.", + "mcp.issue_label": "Проблема", + "mcp.technical_details": "Технические детали", + "mcp.next_steps_label": "Что делать", + "mcp.reload_step": "Активируйте после подключения нового приложения.", + "mcp.auth_step": "Войдите при появлении запроса.", + "mcp.connection_failed": "Проблема подключения — попробуйте снова", + "mcp.needs_auth": "Требуется вход", + "mcp.register_client": "Требуется настройка", + "mcp.status_disabled": "Приостановлено", + "mcp.disconnected": "Офлайн", + "mcp.failed": "Проблема", + "mcp.friendly_status_ready": "Готово", + "mcp.friendly_status_needs_signin": "Требуется вход", + "mcp.friendly_status_paused": "Приостановлено", + "mcp.friendly_status_offline": "Офлайн", + "mcp.friendly_status_issue": "Проблема", + "mcp.host_mode_only": "Приложения требуют десктопного приложения.", + "mcp.pick_workspace_first": "Сначала выберите папку рабочего пространства.", + "mcp.desktop_required": "Приложения требуют десктопного приложения.", + "mcp.connect_server_first": "Сначала подключитесь к серверу.", + "mcp.reload_required_after_add": "Активируйте для начала использования нового приложения.", + "mcp.connect_failed": "Не удалось подключиться. Попробуйте снова.", + "mcp.enter_name_and_url": "Введите имя приложения и URL.", + "mcp.enter_url_first": "Сначала введите URL.", + "mcp.use_debug_command": "Запустите opencode mcp debug для устранения неполадок.", + "mcp.add_failed": "Не удалось добавить приложение.", + "mcp.remove_app": "Удалить", + "mcp.remove_failed": "Не удалось удалить приложение.", + "mcp.remove_modal_title": "Удалить приложение", + "mcp.remove_modal_message": + "Вы уверены, что хотите удалить {server}? Вы всегда сможете добавить его позже.", + + "settings.title": "Настройки", + "settings.connection": "Подключение", + "settings.engine_source": "Источник движка", + "settings.from_path": "Из PATH", + "settings.from_sidecar": "Встроенный сайдкар", + "settings.engine_source_description": + "PATH использует установленный OpenCode (по умолчанию). Сайдкар использует встроенный бинарный файл при наличии.", + "settings.sidecar_unsupported": "Сайдкар доступен на Windows", + "settings.sidecar_unavailable_detail": "Сайдкар поставляется при наличии.", + "settings.model": "Модель", + "settings.model_description": "Параметры по умолчанию + управление мышлением для запусков.", + "settings.change": "Изменить", + "settings.engine_path": "PATH", + "settings.engine_sidecar": "Сайдкар", + "settings.thinking": "Мышление", + "settings.thinking_description": "Показывать части мышления (только режим разработчика).", + "settings.on": "Вкл", + "settings.off": "Выкл", + "settings.model_variant": "Вариант модели", + "settings.edit": "Редактировать", + "settings.default_model": "Модель по умолчанию", + "settings.session_model": "Модель", + "settings.model_description_default": + "Выберите из настроенных провайдеров. Этот выбор будет использоваться для новых сессий.", + "settings.model_description_session": + "Выберите из настроенных провайдеров. Этот выбор применяется к вашему следующему сообщению.", + "settings.search_models": "Поиск моделей…", + "settings.showing_models": "Показано {count} из {total}", + "settings.model_variant_prompt": + "Вариант модели (специфичный для провайдера, например high/max/minimal). Оставьте пустым для очистки.", + "settings.model_fallback": "Резервный", + "settings.model_default": "По умолчанию", + "settings.model_free": "Бесплатный", + "settings.model_reasoning": "Рассуждение", + "settings.done": "Готово", + "settings.updates": "Обновления", + "settings.updates_description": "Держите OpenWork в актуальном состоянии.", + "settings.automatic_checks": "Автоматические проверки", + "settings.automatic_checks_description": "Раз в день (тихо)", + "settings.update_checking": "Проверка...", + "settings.update_available": "Доступно обновление: v", + "settings.update_downloading": "Загрузка...", + "settings.update_ready": "Готово к установке: v", + "settings.update_error": "Проверка обновления не удалась", + "settings.update_uptodate": "Актуальная версия", + "settings.last_checked": "Последняя проверка", + "settings.published": "Опубликовано", + "settings.check_update": "Проверить", + "settings.install_restart": "Установить и перезапустить", + "settings.update_not_supported": + "Обновления не поддерживаются в этой среде.", + "settings.update_desktop_only": + "Обновления доступны только в десктопном приложении.", + "settings.startup": "Запуск", + "settings.mode_label": "режим", + "settings.switch_mode": "Переключить", + "settings.reset_startup": "Сбросить режим запуска по умолчанию", + "settings.reset_startup_description": + "Это очистит ваше сохранённое предпочтение и покажет выбор режима при следующем запуске.", + "settings.advanced": "Расширенные", + "settings.advanced_description": + "Сбросить локальное состояние OpenWork для повторного тестирования онбординга.", + "settings.reset_onboarding": "Сбросить онбординг", + "settings.reset_onboarding_description": + "Очищает предпочтения OpenWork и перезапускает приложение.", + "settings.reset_app_data": "Сбросить данные приложения", + "settings.reset_app_data_description": + "Более агрессивно. Очищает кэш OpenWork + данные приложения.", + "settings.reset": "Сбросить", + "settings.requires_typing": "Требует ввода", + "settings.will_restart": "и перезапустит приложение.", + "settings.reset_onboarding_title": "Сбросить онбординг", + "settings.reset_app_data_title": "Сбросить данные приложения", + "settings.reset_confirmation_hint": + 'Введите RESET для подтверждения. OpenWork перезапустится.', + "settings.reset_onboarding_warning": + "Очищает локальные предпочтения OpenWork и маркеры онбординга рабочего пространства.", + "settings.reset_app_data_warning": + "Очищает кэш OpenWork и данные приложения на этом устройстве.", + "settings.reset_stop_active_runs": "Остановите активные запуски перед сбросом.", + "settings.reset_confirmation_label": "Подтверждение", + "settings.reset_confirmation_placeholder": "Введите RESET", + "settings.reset_cancel": "Отмена", + "settings.reset_confirm_button": "Сбросить и перезапустить", + "settings.developer": "Разработчик", + "settings.opencode_cache": "Кэш OpenCode", + "settings.opencode_cache_description": + "Восстанавливает кэшированные данные, используемые для запуска движка. Безопасно.", + "settings.repair_cache": "Восстановить кэш", + "settings.repairing_cache": "Восстановление кэша", + "settings.cache_repair_requires_desktop": + "Восстановление кэша требует десктопного приложения", + "settings.pending_permissions": "Ожидающие разрешения", + "settings.recent_events": "Недавние события", + "settings.notion_connected": "Подключено", + "settings.reload_required": "Требуется перезагрузка", + "settings.connection_failed": "Подключение не удалось", + "settings.notion_not_connected": "Не подключено", + "settings.show_thinking": "Показать мышление", + "settings.update": "Обновить", + "settings.about": "О приложении", + "settings.version": "Версия", + "settings.check_for_updates": "Проверить обновления", + "settings.download_update": "Загрузить обновление", + "settings.install_update": "Установить обновление и перезапустить", + "settings.enable_developer_mode": "Включить режим разработчика", + "settings.disable_developer_mode": "Отключить режим разработчика", + "settings.stop_engine": "Остановить движок", + "settings.disconnect": "Отключить", + "settings.language": "Язык", + "settings.language.description": "Выберите предпочитаемый язык", + "settings.connection_title": "Подключение", + "settings.engine_source_label": "Источник движка", + "settings.engine_source_hint": + "PATH использует установленный OpenCode (по умолчанию). Сайдкар использует встроенный бинарный файл при наличии.", + "settings.sidecar_unavailable": "Сайдкар поставляется при наличии.", + "settings.model_title": "Модель", + "settings.model_hint": "Параметры по умолчанию + управление мышлением для запусков.", + "settings.thinking_label": "Мышление", + "settings.thinking_hint": "Показывать части мышления (только режим разработчика).", + "settings.model_variant_label": "Вариант модели", + "settings.appearance_title": "Внешний вид", + "settings.appearance_hint": "Соответствовать системе или принудительно светлый/тёмный режим.", + "settings.theme_system": "Системная", + "settings.theme_light": "Светлая", + "settings.theme_dark": "Тёмная", + "settings.theme_system_hint": + "Системный режим следует предпочтениям ОС автоматически.", + "settings.updates_title": "Обновления", + "settings.updates_hint": "Держите OpenWork в актуальном состоянии.", + "settings.automatic_checks_label": "Автоматические проверки", + "settings.automatic_checks_hint": "Раз в день (тихо)", + "settings.last_checked_time": "Последняя проверка {time}", + "settings.published_date": "Опубликовано {date}", + "settings.update_not_supported_hint": + "Обновления не поддерживаются в этой среде.", + "settings.update_desktop_only_hint": + "Обновления доступны только в десктопном приложении.", + "settings.startup_title": "Запуск", + "settings.mode_suffix": "режим", + "settings.reset_startup_label": "Сбросить режим запуска по умолчанию", + "settings.reset_startup_hint": + "Это очистит ваше сохранённое предпочтение и покажет выбор режима при следующем запуске.", + "settings.advanced_title": "Расширенные", + "settings.advanced_hint": "Сбросить локальное состояние OpenWork для повторного тестирования онбординга.", + "settings.reset_onboarding_label": "Сбросить онбординг", + "settings.reset_onboarding_hint": + "Очищает предпочтения OpenWork и перезапускает приложение.", + "settings.reset_app_data_label": "Сбросить данные приложения", + "settings.reset_app_data_hint": + "Более агрессивно. Очищает кэш OpenWork + данные приложения.", + "settings.reset_requires_hint": + "Требует ввода RESET и перезапустит приложение.", + "settings.developer_title": "Разработчик", + "settings.opencode_cache_label": "Кэш OpenCode", + "settings.opencode_cache_hint": + "Восстанавливает кэшированные данные, используемые для запуска движка. Безопасно.", + "settings.pending_permissions_label": "Ожидающие разрешения", + "settings.recent_events_label": "Недавние события", + "settings.stop_active_runs_hint": "Остановите активные запуски для обновления", + "settings.stop_active_runs_reset_hint": "Остановите активные запуски для сброса", + "settings.stop_runs_to_update": "Остановите активные запуски для обновления", + "settings.stop_runs_to_reset": "Остановите активные запуски для сброса", + "settings.updates_not_supported": + "Обновления не поддерживаются в этой среде.", + "settings.updates_desktop_only": + "Обновления доступны только в десктопном приложении.", + + "reload.toast_title": "Доступны обновления", + "reload.toast_description": "Перезагрузите рабочее пространство для применения изменений конфигурации.", + "reload.toast_warning": "Остановит все активные задачи.", + "reload.toast_warning_active": "Перезагрузка остановит {count} активн. задач.", + "reload.toast_reload": "Перезагрузить", + "reload.toast_reload_stopped": "Перезагрузить и остановить задачи", + "reload.toast_reloading": "Перезагрузка...", + "reload.toast_dismiss": "Позже", + "reload.toast_blocked_host": "Перезагрузка доступна только для локальных воркеров.", + "reload.toast_blocked_connect": "Подключитесь к этому рабочему пространству для перезагрузки.", + "reload.toast_blocked_runs": + "Ожидание завершения активных задач перед перезагрузкой.", + + "onboarding.starting_host": "Запуск сервера OpenWork...", + "onboarding.searching_host": "Подключение к серверу OpenWork...", + "onboarding.getting_ready": "Подготовка всего необходимого", + "onboarding.verifying": "Проверка безопасного рукопожатия", + "onboarding.create_first_workspace": "Создайте ваше первое рабочее пространство", + "onboarding.create_workspace": "Создать рабочее пространство", + "onboarding.workspace_description": + "Выберите папку и пресет для настройки вашего рабочего пространства.", + "onboarding.start": "Запустить OpenWork", + "onboarding.back": "Назад", + "onboarding.advanced_settings": "Расширенные настройки", + "onboarding.opencode_engine": "Движок OpenCode", + "onboarding.refresh": "Обновить", + "onboarding.checking_cli": "Проверка OpenCode CLI...", + "onboarding.cli_not_found": "OpenCode CLI не найден.", + "onboarding.cli_needs_update": "OpenCode CLI требует обновления для serve.", + "onboarding.opencode": "OpenCode", + "onboarding.cli_ready": "OpenCode CLI готов.", + "onboarding.cli_version": "OpenCode {version}", + "onboarding.windows_install_instruction": + "Установите OpenCode для Windows, затем перезапустите OpenWork. Убедитесь, что opencode.exe в PATH.", + "onboarding.install_instruction": + "Установите OpenCode для включения локального сервера (терминал не требуется).", + "onboarding.install": "Установить OpenCode", + "onboarding.recheck": "Перепроверить", + "onboarding.ready_message": "OpenCode готов для запуска локального сервера.", + "onboarding.resolved_path": "Разрешённый путь", + "onboarding.version": "Версия", + "onboarding.search_notes": "Заметки поиска", + "onboarding.serve_help": "вывод serve --help", + "onboarding.workspace_folder_label": + "Рабочее пространство — это папка с собственными навыками, плагинами и командами.", + "onboarding.theme_label": "Тема", + "onboarding.theme_current": "Текущая: {mode}", + "onboarding.theme_system": "Системная", + "onboarding.theme_light": "Светлая", + "onboarding.theme_dark": "Тёмная", + "onboarding.access_label": "Доступ", + "onboarding.folders_allowed": "Допущено папок: {count}", + "onboarding.manage_access_hint": + "Вы можете управлять доступом в расширенных настройках.", + "onboarding.open_settings_hint": + "Нужны параметры движка или доступа? Откройте Настройки.", + "onboarding.open_settings": "Открыть настройки", + "onboarding.add_folder_path": "Добавить путь к папке", + "onboarding.pick": "Выбрать", + "onboarding.add": "Добавить", + "onboarding.remove": "Удалить", + "onboarding.cli_label": "OpenCode CLI", + "onboarding.cli_checking": "Проверка установки...", + "onboarding.cli_not_found_hint": + "Не найден. Установите для запуска локального сервера.", + "onboarding.cli_version_installed": "Установлено", + "onboarding.cli_recheck": "Перепроверить", + "onboarding.cli_install_commands": + "Установите OpenCode одной из команд ниже, затем перезапустите OpenWork.", + "onboarding.show_search_notes": "Показать заметки поиска", + "onboarding.last_checked": "Последняя проверка {time}", + "onboarding.server_url_placeholder": "http://localhost:8088", + "onboarding.directory_placeholder": "my-project", + "onboarding.connect_host": "Подключиться к серверу", + "onboarding.connect_description": + "Подключитесь к существующему серверу OpenCode (LAN или туннель).", + "onboarding.server_url": "URL сервера", + "onboarding.directory": "Директория (необязательно)", + "onboarding.directory_hint": "Используйте, если ваш сервер запускает несколько воркеров.", + "onboarding.connect": "Подключить", + "onboarding.remote_workspace_title": "Подключение к серверу OpenWork", + "onboarding.remote_workspace_description": + "Подключитесь к серверу OpenWork для доступа к рабочему пространству из любого места.", + "onboarding.remote_workspace_action": "Подключить", + "onboarding.remote_workspace_card_title": "Подключить удалённое рабочее пространство", + "onboarding.remote_workspace_card_description": + "Подключитесь к серверу OpenWork для доступа к общему рабочему пространству.", + "onboarding.advanced_openwork_host": "Сервер OpenWork", + "onboarding.advanced_openwork_hint": + "Используйте URL сервера и токен доступа для общего доступа.", + "onboarding.advanced_opencode_direct": "Расширенный: OpenCode напрямую", + "onboarding.advanced_opencode_hint": + "Подключитесь напрямую к движку OpenCode, если сервер недоступен.", + "onboarding.welcome_title": "Как вы хотите запустить OpenWork сегодня?", + "onboarding.run_local": "Запустить локально", + "onboarding.run_local_description": + "OpenWork запускает OpenCode локально и сохраняет вашу работу в приватности.", + "onboarding.engine_running": "Движок уже запущен", + "onboarding.attach_description": + "Подключитесь к существующей сессии на этом устройстве.", + "onboarding.attach": "Подключить", + "onboarding.remember_choice": "Запомнить мой выбор в следующий раз", + "onboarding.client_mode": "Подключить как клиент (удалённая связка)", + "onboarding.default_workspace_path": "~/OpenWork/Worker", + "onboarding.authorize_folder": "Авторизовать папку", + "onboarding.choose_workspace_folder": "Выберите папку рабочего пространства", + + "common.alpha": "Alpha", + "common.change": "Изменить", + "common.refresh": "Обновить", + "common.new": "Создать", + "common.install": "Установить", + "common.delete": "Удалить", + "common.edit": "Редактировать", + "common.save": "Сохранить", + "common.cancel": "Отмена", + "common.close": "Закрыть", + "common.open": "Открыть", + "common.show": "Показать", + "common.hide": "Скрыть", + "common.path": "Путь", + "common.choose": "Выбрать", + "common.retry": "Повторить", + "common.untitled": "Без имени", + "common.default_parens": "(по умолчанию)", + "common.on": "Вкл", + "common.off": "Выкл", + + "status.connected": "Подключено", + "status.disconnected": "Отключено", + "status.idle": "Ожидание", + "status.busy": "Занят", + "status.running": "Выполняется", + "status.live": "Live", + "status.connecting": "Подключение", + "status.creating_workspace": "Создание рабочего пространства", + "status.deleting_command": "Удаление команды", + "status.saving_workspace_command": "Сохранение команды рабочего пространства", + "status.saving_command": "Сохранение команды", + "status.loading_session": "Загрузка сессии", + "status.creating_task": "Создание новой задачи", + "status.starting_engine": "Запуск движка", + "status.reloading_engine": "Перезагрузка движка", + "status.restarting_engine": "Перезапуск движка", + "status.installing_opencode": "Установка OpenCode", + "status.disconnecting": "Отключение", + + "workspace.switching_title": "Открытие {name}", + "workspace.switching_title_unknown": "Открытие рабочего пространства", + "workspace.switching_subtitle": "Мы восстановим вашу недавнюю работу.", + "workspace.switching_status_preparing": "Подготовка", + "workspace.switching_status_connecting": "Проверка подключения", + "workspace.switching_status_loading": "Загрузка недавних задач", + "workspace.switching_status_almost": "Почти готово", + + "app.connection_lost": "Соединение с сервером потеряно. Перезагрузите.", + "app.unknown_error": "Неизвестная ошибка", + "app.error.tauri_required": "Это действие требует среды выполнения Tauri.", + "app.error.choose_folder": "Выберите папку для продолжения.", + "app.error.pick_workspace_folder": "Сначала выберите папку рабочего пространства.", + "app.error.remote_base_url_required": "Добавьте URL сервера для продолжения.", + "app.error.host_requires_local": + "Выберите локальное рабочее пространство для запуска движка.", + "app.error.sidecar_unsupported_windows": + "Sidecar OpenCode поставляется с Windows. Возврат к PATH.", + "app.error.install_failed": "Установка OpenCode не удалась. См. логи выше.", + "app.error.command_name_template_required": + "Требуется имя команды и инструкции.", + "app.error.workspace_commands_desktop": "Команды требуют десктопного приложения.", + "app.error.command_scope_unknown": + "Эту команду нельзя управлять в данном режиме.", + + "app.shared_setup": "Общая настройка", + "app.skill_added": "Навык добавлен", + "app.worker_fallback": "Воркер", + "app.local_worker_detail": "Локальный воркер", + "app.remote_worker_detail": "Удалённый воркер", + "app.import_shared_bundle": "Импортировать общий пакет", + "app.import_bundle_desc": "Выберите способ импорта этого пакета.", + "app.local_disabled_reason": + "Создавайте локальные рабочие пространства в десктопном приложении. Удалённые и общие пространства работают здесь.", + "app.reload_stop_tasks": "Перезагрузить и остановить задачи", + "app.reload_now": "Перезагрузить сейчас", + "app.reload_later": "Позже", + "app.error_request_failed": "Запрос не удался", + "app.error_command_not_resolved": "Команда не была разрешена.", + "app.error_auth_failed": "Аутентификация не удалась", + "app.error_rate_limit": "Превышен лимит запросов", + "app.error_compact_no_session": + "Выберите сессию с сообщениями перед запуском /compact.", + "app.error_not_connected": "Нет подключения к серверу", + "app.error_compact_no_session_id": "Выберите сессию перед сжатием.", + "app.error_compact_empty": "Сжимать пока нечего.", + "app.error_session_name_required": "Требуется имя сессии", + "app.error_audit_load": "Не удалось загрузить журнал аудита.", + "app.error_restart_local_worker": + "Не удалось перезапустить локальный воркер с обновлённой настройкой общего доступа.", + "app.error_remote_access": "Не удалось обновить удалённый доступ.", + "app.error_deep_link_unrecognized": + "Эта ссылка не является распознаваемой глубокой ссылкой OpenWork или URL общего доступа.", + "app.deep_link_auth_queued": "В очередь добавлена глубокая ссылка Cloud auth для OpenWork.", + "app.deep_link_remote_queued": + "В очередь добавлена ссылка удалённого воркера. OpenWork должен перейти к потоку подключения.", + "app.error_desktop_signin": + "Вход через десктоп завершён, но OpenWork Cloud не вернул токен сессии.", + "app.error_cloud_signin": "Не удалось завершить вход в OpenWork Cloud.", + "app.error_pick_local_folder": + "Выберите папку локального воркера перед перезапуском локального сервера.", + "app.error_connect_first": + "Подключитесь к этому воркеру перед применением изменений среды выполнения.", + "app.error_runtime_changes": "Не удалось применить изменения среды выполнения.", + "app.reset_config_ok": + "Сброшены настройки приложения по умолчанию. Перезапустите OpenWork, если остались устаревшие настройки.", + "app.error_reset_config": "Не удалось сбросить настройки приложения по умолчанию.", + "app.model_behavior_title": "Поведение модели", + "app.model_behavior_desc": + "Сначала выберите модель, чтобы увидеть элементы управления поведением провайдера.", + "app.error_update_opencode_json": "Не удалось обновить opencode.json", + "app.error_auto_compact_scope": + "Автосжатие контекста можно изменить только для локального рабочего пространства или записываемого рабочего пространства сервера OpenWork.", + "app.skills_hint_disconnected": + "Сервер OpenWork недоступен. Добавьте URL/токен сервера в Расширенных для управления навыками.", + "app.skills_hint_limited": + "Сервер OpenWork требует токен хоста для установки/обновления навыков. Добавьте его в Расширенных и переподключитесь.", + "app.skills_hint_readonly": + "Сервер OpenWork доступен только для чтения для навыков. Добавьте токен хоста в Расширенных для включения установки.", + "app.plugins_hint_disconnected": + "Сервер OpenWork недоступен. Плагины доступны только для чтения.", + "app.plugins_hint_limited": "Сервер OpenWork требует токен для редактирования плагинов.", + "app.plugins_hint_readonly": "Сервер OpenWork доступен только для чтения для плагинов.", + "app.compact_command_desc": "Суммируйте эту сессию для уменьшения размера контекста.", + "app.error_connection_failed_url": + "Подключение не удалось. Проверьте URL и токен.", + "app.error_connection_failed": "Подключение не удалось", + + "status.openwork_ready": "OpenWork готов", + "status.limited_mode": "Ограниченный режим", + "status.disconnected_label": "Отключено", + "status.ready_for_tasks": "Готово к новым задачам", + "status.developer_mode": "Режим разработчика", + "status.providers_connected": "{count} провайдер{plural} подключен", + "status.mcp_connected": "{count} MCP подключен", + "status.limited_hint": "Переподключитесь для восстановления всех функций OpenWork", + "status.limited_mcp_hint": + "{count} MCP подключен · переподключитесь для всех функций", + "status.disconnected_hint": "Откройте настройки для переподключения", + "status.back": "Назад к предыдущему экрану", + "status.feedback": "Обратная связь", + "status.send_feedback": "Отправить отзыв", + "status.settings": "Настройки", + + "message.waiting_subagent": "Ожидание загрузки транскрипта субагента.", + "message.tool_request_label": "Запрос", + "message.tool_result_label": "Результат", + + "message_list.copy_message": "Копировать сообщение", + + "composer.no_matches": "Совпадений не найдено.", + "composer.loading_agents": "Загрузка агентов...", + "composer.run_task": "Запустить задачу", + "composer.stop": "Остановить", + "composer.agent_label": "Агент", + "composer.default_agent": "Агент по умолчанию", + "composer.loading_commands": "Загрузка команд...", + "composer.no_commands": "Команды не найдены.", + "composer.configure": "Настроить", + "composer.tools_label": "Команды, навыки и MCP", + "composer.mcps_label": "MCP", + "composer.skill_source": "Навык", + "composer.attach_files": "Прикрепить файлы", + "composer.image_kind": "Изображение", + "composer.file_kind": "Файл", + "composer.expand_pasted": "Нажмите для развёртывания вставленного текста", + "composer.failed_read_attachment": "Не удалось прочитать вложение", + "composer.attachments_unavailable": "Вложения недоступны.", + "composer.file_exceeds_limit": "{name} превышает лимит 8МБ.", + "composer.file_too_large_encoding": + "{name} слишком большой после кодирования. Попробуйте изображение поменьше.", + "composer.uploaded_single_file": + "Загружено {name} в общую папку и вставлена ссылка.", + "composer.uploaded_multiple_files": + "Загружено {count} файл. в общую папку и вставлены ссылки.", + "composer.upload_failed_local_links": + "Не удалось загрузить в общую папку. Вставлены локальные ссылки.", + "composer.unsupported_attachment_type": "Неподдерживаемый тип вложения.", + "composer.inserted_links_unsupported": + "Вставлены ссылки для неподдерживаемых файлов.", + "composer.remote_worker_paste_warning": + "Это удалённый воркер. Песочницы тоже удалённые. Для обмена файлами загрузите их в общую папку на боковой панели.", + "composer.upload_to_shared_folder": "Загрузить в общую папку", + "composer.placeholder": "Опишите вашу задачу...", + "composer.behavior_label": "Поведение", + + "context_panel.context": "Контекст", + "context_panel.working_files": "Рабочие файлы", + "context_panel.plugins": "Плагины", + "context_panel.no_plugins": "Плагины не загружены.", + "context_panel.mcp": "MCP", + "context_panel.no_mcp": "Серверы MCP не загружены.", + "context_panel.skills": "Навыки", + "context_panel.no_skills": "Навыки не загружены.", + "context_panel.authorized_folders": "Авторизованные папки", + "context_panel.none_yet": "Пока нет.", + "context_panel.mcp_disabled": "Отключено", + "context_panel.mcp_disconnected": "Отключено", + "context_panel.mcp_connected": "Подключено", + "context_panel.mcp_needs_auth": "Требуется аутентификация", + "context_panel.mcp_register_client": "Зарегистрировать клиент", + "context_panel.mcp_failed": "Ошибка", + "context_panel.open_file": "Открыть {path}", + + "inbox_panel.shared_folder": "Общая папка", + "inbox_panel.refresh_tooltip": "Обновить общую папку", + "inbox_panel.uploading": "Загрузка...", + "inbox_panel.upload_prompt": "Перетащите файлы или нажмите для загрузки", + "inbox_panel.helper_text": "Поделитесь файлами с этим воркером из приложения.", + "inbox_panel.connect_to_see": "Подключитесь для просмотра общих файлов.", + "inbox_panel.no_files": "Общих файлов пока нет.", + "inbox_panel.showing_first": "Показаны первые {count}.", + "inbox_panel.upload_needs_worker": + "Подключитесь к воркеру для загрузки файлов в общую папку.", + "inbox_panel.uploading_label": "Загрузка {label}...", + "inbox_panel.upload_success": "Загружено в общую папку.", + "inbox_panel.upload_failed": "Загрузка в общую папку не удалась", + "inbox_panel.copy_failed": + "Копирование не удалось. Ваш браузер может блокировать доступ к буферу обмена.", + "inbox_panel.connect_to_download": + "Подключитесь к воркеру для загрузки общих файлов.", + "inbox_panel.missing_file_id": "Отсутствует id общего файла.", + "inbox_panel.download": "Скачать", + "inbox_panel.load_failed": "Не удалось загрузить общую папку", + "inbox_panel.drop_to_upload": "Перетащите файлы сюда для загрузки", + "inbox_panel.connect_to_upload": "Подключитесь к воркеру для загрузки", + + "sidebar.no_workspaces": + "Рабочих пространств в этой сессии пока нет. Добавьте одно для начала.", + "sidebar.needs_attention": "Требует внимания", + "sidebar.active": "Активно", + "sidebar.switch": "Переключить", + "sidebar.expand": "Развернуть", + "sidebar.collapse": "Свернуть", + "sidebar.drag_reorder": "Перетащите для изменения порядка", + "sidebar.edit_connection": "Редактировать подключение", + "sidebar.test_connection": "Тест подключения", + "sidebar.stop_sandbox": "Остановить песочницу", + "sidebar.remove_workspace": "Удалить рабочее пространство", + "sidebar.show_fewer": "Показать меньше", + "sidebar.show_more": "Показать ещё {count}", + "sidebar.add_workspace": "Добавить новое рабочее пространство", + "sidebar.new_worker": "Новый воркер", + "sidebar.connect_remote": "Подключить удалённое", + "sidebar.import_config": "Импортировать конфигурацию", + "sidebar.progress": "Прогресс", + "sidebar.delete_session": "Удалить сессию", + "sidebar.no_sessions_yet": "Сессий пока нет", + + "workspace_list.connecting": "Подключение...", + "workspace_list.workspace_fallback": "Рабочее пространство", + "workspace_list.reveal_explorer": "Показать в Проводнике", + "workspace_list.reveal_finder": "Показать в Finder", + "workspace_list.show_more": "Показать ещё {count}", + "workspace_list.show_more_fallback": "Показать ещё", + "workspace_list.workspace_options": "Параметры рабочего пространства", + "workspace_list.session_actions": "Действия сессии", + "workspace_list.hide_child_sessions": "Скрыть дочерние сессии", + "workspace_list.show_child_sessions": "Показать дочерние сессии", + "workspace_list.edit_name": "Редактировать имя", + "workspace_list.share": "Поделиться...", + "workspace_list.recover": "Восстановить", + "workspace_list.test_connection": "Тест подключения", + "workspace_list.edit_connection": "Редактировать подключение", + "workspace_list.remove_workspace": "Удалить рабочее пространство", + "workspace_list.rename_session": "Переименовать сессию", + "workspace_list.delete_session": "Удалить сессию", + "workspace_list.add_workspace": "Добавить рабочее пространство", + "workspace_list.new_workspace": "Новое рабочее пространство", + "workspace_list.connect_remote": "Подключить удалённое рабочее пространство", + "workspace_list.import_config": "Импортировать конфигурацию", + "workspace_list.desktop_only_hint": + "Создавайте локальные рабочие пространства в десктопном приложении.", + + "workspace.sandbox_badge": "Песочница", + "workspace.remote_badge": "Удалённое", + "workspace.local_badge": "Локальное", + + "workspace_sidebar.configuration": "конфигурация", + "workspace_sidebar.close_sidebar": "Закрыть боковую панель", + "workspace_sidebar.collapse_sidebar": "Свернуть боковую панель", + "workspace_sidebar.expand_sidebar": "Развернуть боковую панель", + "workspace_sidebar.automations": "Автоматизации", + "workspace_sidebar.extensions": "Расширения", + "workspace_sidebar.messaging": "Обмен сообщениями", + + "common.unknown": "Неизвестно", + + "den.cloud_section_title": "OpenWork Cloud", + "den.cloud_section_desc": + "Войдите, выберите организацию и откройте Cloud воркеры или командные шаблоны.", + "den.cloud_sleep_hint": + "Войдите в OpenWork Cloud, чтобы задачи работали даже в спящем режиме компьютера.", + "den.cloud_control_plane_url_label": "URL управляющей плоскости Cloud", + "den.cloud_control_plane_url_hint": + "Только режим разработчика. Используйте для локальной или саморазмещённой управляющей плоскости Cloud. Изменение выйдет из системы, чтобы приложение могло обновиться относительно новой плоскости.", + "den.cloud_control_plane_reset": "Сбросить", + "den.cloud_control_plane_save": "Сохранить URL", + "den.cloud_control_plane_open": "Открыть в браузере", + "den.signin_title": "Вход в OpenWork Cloud", + "den.signin_button": "Войти", + "den.create_account": "Создать аккаунт", + "den.hide_signin_code": "Скрыть код входа", + "den.paste_signin_code": "Вставить код входа", + "den.signin_link_label": "Ссылка для входа или одноразовый код", + "den.signin_link_placeholder": "openwork://den-auth?... или вставленный код", + "den.signin_link_hint": + "Если ваш браузер не возвращается в OpenWork автоматически, вставьте ссылку для входа или одноразовый код из OpenWork Cloud здесь.", + "den.finishing": "Завершение...", + "den.finish_signin": "Завершить вход", + "den.signin_code_note": + "Принимает ссылку openwork://den-auth или одноразовый грант.", + "den.auto_reconnect_hint": + "Завершите аутентификацию в браузере, и OpenWork автоматически переподключится здесь.", + "den.cloud_account_title": "Аккаунт Cloud", + "den.cloud_account_hint": "Управляйте подключённым аккаунтом и организацией.", + "den.signing_out": "Выход...", + "den.sign_out": "Выйти", + "den.active_org_title": "Активная организация", + "den.active_org_hint": + "Cloud воркеры и командные шаблоны привязаны к выбранной организации.", + "den.no_org_selected": "Организация не выбрана", + "den.needs_attention": "Требует внимания", + "den.checking_session": "Проверка сессии", + "den.signed_out": "Вышли из системы", + "den.cloud_workers_title": "Cloud воркеры", + "den.cloud_workers_hint": + "Открывайте воркеры напрямую в OpenWork, используя тот же поток удалённого подключения, что и в других местах приложения.", + "den.refresh": "Обновить", + "den.no_cloud_workers": + "Cloud воркеры пока не видны для этой организации. Создайте один в Cloud, затем обновите эту вкладку.", + "den.worker_mine_badge": "Мой", + "den.worker_secondary_cloud": "Cloud воркер", + "den.worker_not_ready_title": "Этот воркер пока не готов к открытию.", + "den.open": "Открыть", + "den.opening": "Открытие...", + "den.team_templates_title": "Командные шаблоны", + "den.team_templates_hint": + "Откройте переиспользуемые шаблоны рабочих пространств, которыми поделились с этой организацией.", + "den.team_template_badge": "Командный шаблон", + "den.no_team_templates": + "Командных шаблонов пока нет. Используйте Поделиться → Шаблон → Поделиться с командой.", + "den.choose_org_for_templates": "Выберите организацию для просмотра командных шаблонов.", + "den.error_base_url": + "Введите корректный URL управляющей плоскости Cloud http:// или https://.", + "den.error_choose_org": "Выберите организацию перед открытием воркера.", + "den.error_worker_not_ready": + "Воркер пока не готов к открытию. Попробуйте снова после завершения подготовки.", + "den.error_load_orgs": "Не удалось загрузить организации.", + "den.error_load_workers": "Не удалось загрузить воркеры.", + "den.error_load_templates": "Не удалось загрузить командные шаблоны.", + "den.error_no_session": "Активная Cloud сессия не найдена.", + "den.error_paste_valid_code": + "Вставьте корректную ссылку для входа или одноразовый код входа OpenWork.", + "den.error_signin_failed": "Не удалось завершить вход в OpenWork Cloud.", + "den.error_no_token": + "Вход через десктоп завершён, но OpenWork Cloud не вернул токен сессии.", + "den.status_browser_signin": + "Завершите вход в браузере для подключения OpenWork.", + "den.status_browser_signup": + "Завершите создание аккаунта в браузере для подключения OpenWork.", + "den.status_cloud_signin_done": "OpenWork Cloud подключён.", + "den.status_base_url_updated": + "Обновлён URL управляющей плоскости Cloud. Войдите снова для продолжения.", + "den.status_signed_out": + "Вышли из системы и очистили сессию OpenWork Cloud на этом устройстве.", + "den.status_signed_in_as": "Вошли как {email}.", + "den.status_cloud_signed_in_as": "Подключён OpenWork Cloud как {email}.", + "den.status_loaded_orgs": "Загружено организаций: {count}.", + "den.status_loaded_workers": "Загружено воркеров для {name}: {count}.", + "den.status_no_workers": "Воркеры для {name} не найдены.", + "den.status_loaded_templates": "Загружено шаблонов для {name}: {count}.", + "den.status_no_templates": "Командные шаблоны для {name} не найдены.", + "den.status_opened_worker": "Открыто {name} в OpenWork.", + "den.status_opened_template": "Открыто {name} из {org}.", + "den.status_opened_template_fallback": "Открыто {name} из командных шаблонов.", + "den.signing_in": "Завершение входа в OpenWork Cloud...", + "den.org_switched": "Переключено на {name}.", + "den.org_owner_suffix": "(Владелец)", + "den.org_member_suffix": "(Участник)", + "den.worker_provider_label": "{provider} воркер", + "den.error_open_worker": "Не удалось открыть {name} в OpenWork.", + "den.error_open_worker_fallback": "Не удалось открыть {name}.", + "den.error_open_template": "Не удалось открыть {name}.", + + "dashboard.recently_updated": "Недавно обновлено", + "dashboard.unknown_creator": "Неизвестный создатель", + "dashboard.cloud_worker": "Cloud воркер", + "dashboard.access_token": "Токен доступа", + "dashboard.create_local_workspace_title": "Локальное рабочее пространство", + "dashboard.create_local_workspace_subtitle": + "Создайте рабочее пространство на этом устройстве и опционально начните с командного шаблона.", + "dashboard.create_remote_custom_title": "Подключить пользовательский удалённый", + "dashboard.create_remote_custom_subtitle": + "Подключитесь к саморазмещённому воркеру OpenWork.", + "dashboard.create_shared_title": "Общие рабочие пространства", + "dashboard.create_shared_subtitle_signed_in": + "Просматривайте Cloud воркеры, которыми поделились с вашей организацией, и подключайтесь в один шаг.", + "dashboard.create_shared_subtitle_signed_out": + "Войдите в OpenWork Cloud для доступа к воркерам, которыми поделились с вашей организацией.", + "dashboard.chooser_local_desc": + "Создайте рабочее пространство на этом устройстве и опционально начните с командного шаблона.", + "dashboard.chooser_remote_desc": + "Подключитесь к саморазмещённому воркеру OpenWork, используя URL и токен доступа.", + "dashboard.chooser_shared_desc": + "Просматривайте Cloud воркеры, которыми поделились с вашей организацией, и подключайтесь в один шаг.", + "dashboard.workspace_folder_title": "Папка рабочего пространства", + "dashboard.workspace_folder_hint": + "Выберите, где этому рабочему пространству находиться на вашем устройстве.", + "dashboard.no_folder_selected": "Папка ещё не выбрана.", + "dashboard.team_templates_title": "Командные шаблоны", + "dashboard.team_templates_hint": + "Выберите отправную точку или оставьте пустым для создания пустого рабочего пространства.", + "dashboard.team_templates_syncing": "Синхронизация", + "dashboard.team_templates_none": + "Общие шаблоны рабочих пространств для этой организации не найдены.", + "dashboard.template_selected_badge": "Выбрано", + "dashboard.remote_server_details_title": "Детали удалённого сервера", + "dashboard.remote_server_details_hint": + "Подключитесь к саморазмещённому воркеру OpenWork.", + "dashboard.worker_url_label": "URL воркера", + "dashboard.worker_url_hint": + "Вставьте URL воркера OpenWork, к которому хотите подключиться.", + "dashboard.access_token_optional_hint": + "Добавьте токен только если воркер его требует.", + "dashboard.display_name_label": "Отображаемое имя", + "dashboard.display_name_optional": "(необязательно)", + "dashboard.cloud_signin_title": "Вход в OpenWork Cloud", + "dashboard.cloud_signin_hint": + "Доступ к удалённым воркерам, которыми поделились с вашей организацией.", + "dashboard.cloud_signin_button": "Продолжить с Cloud", + "dashboard.cloud_signin_next": + "Далее вы выберете команду и подключитесь к существующему рабочему пространству.", + "dashboard.worker_status_ready": "Готово", + "dashboard.worker_status_starting": "Запуск", + "dashboard.worker_status_attention": "Внимание", + "dashboard.worker_status_stopped": "Остановлен", + "dashboard.worker_status_unknown": "Неизвестно", + "dashboard.error_choose_org": + "Выберите организацию перед открытием рабочего пространства.", + "dashboard.error_load_orgs": "Не удалось загрузить организации.", + "dashboard.error_load_shared_workspaces": "Не удалось загрузить общие рабочие пространства.", + "dashboard.error_workspace_not_ready": + "Рабочее пространство пока не готово к подключению. Попробуйте снова через мгновение.", + "dashboard.error_connect_worker": "Не удалось подключиться к {name}.", + "dashboard.error_create_template": "Не удалось создать {name}.", + "dashboard.desktop_badge": "Десктоп", + "dashboard.import_config": "Импортировать конфигурацию", + "dashboard.importing": "Импорт\u2026", + "dashboard.search_shared_workspaces": "Поиск общих рабочих пространств", + "dashboard.shared_workspaces_loading": "Загрузка общих рабочих пространств\u2026", + "dashboard.shared_workspaces_no_match": + "Общие рабочие пространства не соответствуют поиску.", + "dashboard.shared_workspaces_none": "Общих рабочих пространств пока нет.", + "dashboard.workspace_connecting": "Подключение", + "dashboard.workspace_connect": "Подключить", + "dashboard.workspace_connect_unavailable": + "Подключение общих рабочих пространств здесь недоступно.", + "dashboard.workspace_not_ready_title": + "Это рабочее пространство пока не готово к подключению.", + "dashboard.shared_workspaces_refreshing": "Обновление рабочих пространств\u2026", + "dashboard.open_cloud_dashboard": "Открыть панель Cloud", + "dashboard.sandbox_setup": "Настройка песочницы", + "dashboard.sandbox_hide_logs": "Скрыть логи", + "dashboard.sandbox_show_logs": "Показать логи", + "dashboard.sandbox_live_logs": "Логи в реальном времени", + "dashboard.docker_debug_details": "Детали отладки Docker", + "dashboard.creating": "Создание...", + "dashboard.connect_remote_button": "Подключить удалённое", + "dashboard.connecting": "Подключение...", + "dashboard.modal_back": "Назад", + "dashboard.modal_close": "Закрыть модальное окно добавления рабочего пространства", + + "den_settings.title": "Cloud", + "den_settings.sign_in": "Войти", + "den_settings.sign_out": "Выйти", + "den_settings.sign_in_hint": + "Войдите в OpenWork Cloud для доступа к общим рабочим пространствам и командным функциям.", + "den_settings.signed_in_as": "Вошли как", + "den_settings.manage_account": "Управление аккаунтом", + "den_settings.workers_title": "Общие рабочие пространства", + "den_settings.workers_hint": + "Cloud рабочие пространства, которыми поделились с вашей организацией.", + "den_settings.no_workers": "Общие рабочие пространства не найдены.", + "den_settings.open_workspace": "Открыть рабочее пространство", + "den_settings.refresh": "Обновить", + + "share.title": "Поделиться рабочим пространством", + "share.workspace_fallback": "Рабочее пространство", + "share.field_password": "Пароль", + "share.field_worker_url": "URL воркера", + "share.hide_password": "Скрыть пароль", + "share.reveal_password": "Показать пароль", + "share.copy_hint": "Копировать", + "share.copy_link_hint": "Копировать ссылку", + "share.close_hint": "Закрыть", + "share.back_hint": "Назад к параметрам общего доступа", + "share.publishing": "Публикация...", + "share.included_in_template": "Включено в этот шаблон", + "share.template_item_settings": "Настройки рабочего пространства", + "share.template_item_settings_desc": + "Профиль общего рабочего пространства и поведение по умолчанию.", + "share.template_item_skills": "Включённые навыки", + "share.template_item_skills_desc": "Пользовательские навыки, сохранённые в этом рабочем пространстве.", + "share.template_item_config": "Команды и конфигурация", + "share.template_item_config_desc": + "Переиспользуемые команды плюс конфигурация OpenWork/OpenCode.", + "share.view_template": "Поделиться шаблоном", + "share.view_template_public": "Публичный шаблон", + "share.view_template_team": "Поделиться с командой", + "share.view_access": "Удалённый доступ к рабочему пространству", + "share.option_template_title": "Поделиться шаблоном", + "share.option_template_desc": + "Упакуйте эту настройку, чтобы кто-то другой мог начать с того же окружения.", + "share.option_access_title": "Удалённый доступ к рабочему пространству", + "share.option_access_desc": + "Покажите детали подключения для доступа к этому работающему рабочему пространству с другой машины.", + "share.template_intro": + "Поделитесь переиспользуемой настройкой без предоставления прямого доступа к этому работающему рабочему пространству.", + "share.option_team_title": "Поделиться с командой", + "share.option_team_desc": + "Сохраните этот шаблон рабочего пространства в вашу активную организацию OpenWork Cloud.", + "share.option_public_title": "Публичный шаблон", + "share.option_public_desc": + "Создайте ссылку, которую любой сможет использовать для старта с этого шаблона.", + "share.public_intro": "Поделитесь этим рабочим пространством как публичной ссылкой на шаблон.", + "share.workspace_template_title": "Шаблон рабочего пространства", + "share.workspace_template_desc": + "Поделитесь базовой настройкой и значениями рабочего пространства по умолчанию.", + "share.create_template_link": "Создать ссылку на шаблон", + "share.regenerate_link": "Пересоздать ссылку", + "share.team_intro": + "Сохраните этот шаблон в вашу активную организацию OpenWork Cloud, чтобы коллеги могли открыть его позже из настроек Cloud.", + "share.active_cloud_org": "Активная организация Cloud", + "share.template_name_label": "Имя шаблона", + "share.sign_in_to_share": "Войдите, чтобы поделиться с командой", + "share.saving": "Сохранение...", + "share.save_to_team": "Сохранить для команды", + "share.cloud_signin_note": + "OpenWork Cloud откроется в вашем браузере и вернётся сюда после входа.", + "share.warning_basic": + "Делитесь только с доверенными людьми. Эти учётные данные предоставляют прямой доступ к этому рабочему пространству.", + "share.warning_full": + "Эти учётные данные предоставляют прямой доступ к этому рабочему пространству. Удалённый доступ к этому рабочему пространству может позволить любому, имеющему доступ к вашей сети, управлять вашим воркером.", + "share.remote_access_title": "Удалённый доступ", + "share.remote_access_desc": + "Отключено по умолчанию. Включайте только когда нужен доступ к этому воркеру с другой машины.", + "share.remote_access_enabled": "Удалённый доступ сейчас включён.", + "share.remote_access_disabled": "Удалённый доступ сейчас отключён.", + "share.remote_save_busy": "Сохранение...", + "share.remote_save": "Сохранить", + "share.credentials_disabled_hint": + "Включите удалённый доступ и нажмите Сохранить для перезапуска воркера и отображения деталей подключения для этого рабочего пространства.", + "share.connection_details_label": "Детали подключения", + "share.connect_messaging_title": "Подключить обмен сообщениями", + "share.connect_messaging_desc": + "Используйте это рабочее пространство из Slack, Telegram и других.", + "share.setup": "Настройка", + "share.optional_collaborator": "Необязательный доступ соавтора", + "share.collaborator_hint": "Обычный доступ без одобрения разрешений.", + "share.chooser_subtitle": "Выберите, как вы хотите поделиться этим рабочим пространством.", + "share.subtitle_template_public": + "Создайте публичную ссылку на шаблон рабочего пространства, которую любой сможет импортировать.", + "share.subtitle_template_team": + "Сохраните шаблон рабочего пространства в вашу активную организацию OpenWork Cloud.", + "share.subtitle_access": + "Отобразите детали подключения для доступа к этому рабочему пространству с другой машины.", + + "scheduled.title": "Автоматизации", + "extensions.title": "Расширения", + "settings.tab_automations": "Автоматизации", + "settings.tab_skills": "Навыки", + "settings.tab_extensions": "Расширения", + "settings.tab_messaging": "Обмен сообщениями", + "settings.tab_advanced": "Расширенные", + "settings.tab_appearance": "Внешний вид", + "settings.tab_updates": "Обновления", + "settings.tab_recovery": "Восстановление", + "settings.tab_cloud": "Cloud", + "settings.tab_debug": "Отладка", + "settings.tab_general": "Настройки", + "session.provider_auth_in_progress": "Аутентификация провайдера уже выполняется.", + "session.share_worker_url": "URL воркера", + "session.share_desktop_required": "Требуется десктопное приложение", + "session.share_starting_server": "Запуск сервера...", + "session.share_url_worker_hint": + "Используйте на телефонах или ноутбуках, подключающихся к этому воркеру.", + "session.share_url_resolving_hint": + "URL воркера разрешается; показан URL хоста как запасной вариант.", + "session.share_password": "Пароль", + "session.share_password_owner_hint": + "Используйте, когда удалённый клиент должен отвечать на запросы разрешений.", + "session.share_collaborator_token": "Токен соавтора", + + "workspace.needs_attention": "Требует внимания", + "workspace.active": "Активно", + "workspace.switch": "Переключить", + "workspace.no_tasks": "Задач пока нет.", + "workspace.new_task_inline": "+ Новая задача", + "workspace.loading_tasks": "Загрузка задач...", + "workspace.selected": "Выбрано", + + "common.copy": "Копировать", + "common.copied": "Скопировано", + "common.reset": "Сбросить", + "common.add": "Добавить", + "common.done": "Готово", + + "session.permission_message": + "OpenCode запрашивает разрешение на продолжение.", + "session.doom_loop_title": "Обнаружен цикл неудач", + "session.doom_loop_message": + "OpenCode обнаружил повторяющиеся вызовы инструментов с одинаковым вводом и спрашивает, следует ли продолжать после повторяющихся сбоев.", + "session.doom_loop_label": "Цикл неудач", + "session.doom_loop_tool_label": "Инструмент", + "session.doom_loop_repeated_call_label": "Повторяющийся вызов", + "session.doom_loop_repeated_tool_call": "Повторяющийся вызов инструмента", + "session.doom_loop_note": + "Отклоните для остановки цикла или разрешите, если хотите, чтобы агент продолжал попытки.", + "session.default_agent": "Агент по умолчанию", + "session.workspace_label": "Рабочее пространство", + "session.no_matches": "Нет совпадений", + "session.status_delegating": "Делегирование", + "session.status_planning": "Планирование", + "session.status_gathering_context": "Сбор контекста", + "session.status_searching_codebase": "Поиск в кодовой базе", + "session.status_searching_web": "Поиск в интернете", + "session.status_writing_file": "Запись файла", + "session.status_running_shell": "Выполнение оболочки", + "session.status_working": "Работа", + "session.status_thinking": "Размышление", + "session.phase_sending": "Отправка", + "session.phase_retrying": "Повтор", + "session.phase_responding": "Ответ", + "session.phase_run_failed": "Запуск не удался", + "session.compacting_auto": "OpenCode автоматически сжимает эту сессию", + "session.compacting_manual": "OpenCode сжимает эту сессию", + "session.compaction_started": + "OpenCode начал сжатие контекста сессии.", + "session.compaction_finished": + "OpenCode завершил сжатие контекста сессии.", + "session.no_session_selected": "Сессия не выбрана", + "session.stopping_run": "Остановка запуска...", + "session.stopped": "Остановлено.", + "session.failed_to_stop": "Остановка не удалась", + "session.nothing_to_retry": "Повторять пока нечего", + "session.trying_again": "Повторная попытка...", + "session.nothing_to_undo": "Отменять пока нечего.", + "session.reverted_last_message": "Последнее сообщение пользователя отменено.", + "session.failed_to_undo": "Отмена не удалась", + "session.nothing_to_redo": "Повторять нечего.", + "session.restored_message": "Отменённое сообщение восстановлено.", + "session.failed_to_redo": "Повтор не удался", + "session.nothing_to_compact": "Сжимать пока нечего.", + "session.compacting": "Сжатие контекста сессии...", + "session.compacted": "Сессия сжата.", + "session.failed_to_compact": "Сжатие сессии не удалось", + "session.deleted": "Сессия удалена", + "session.failed_to_delete": "Удаление сессии не удалось", + "session.failed_to_load_agents": "Загрузка агентов не удалась", + "session.failed_to_create_session": "Создание сессии не удалось", + "session.failed_to_load_providers": "Загрузка провайдеров не удалась", + "session.cmd_new_session_title": "Создать новую сессию", + "session.cmd_new_session_detail": + "Начать новую задачу в текущем рабочем пространстве", + "session.cmd_new_session_meta": "Создать", + "session.cmd_rename_title": "Переименовать текущую сессию", + "session.cmd_rename_detail_fallback": + "Дайте вашей выбранной сессии более понятное имя", + "session.cmd_rename_meta": "Переименовать", + "session.cmd_compact_title": "Сжать разговор", + "session.cmd_compact_detail": + "Отправить компактную инструкцию в OpenCode для этой сессии", + "session.cmd_compact_detail_empty": "Сообщений пользователя для сжатия пока нет", + "session.cmd_compact_meta": "Сжать", + "session.cmd_sessions_title": "Поиск сессий", + "session.cmd_sessions_meta": "Переход", + "session.cmd_model_title": "Изменить модель", + "session.cmd_model_meta": "Открыть", + "session.cmd_model_fallback": "Модель", + "session.cmd_provider_title": "Подключить провайдер", + "session.cmd_provider_detail": "Открыть поток подключения провайдера", + "session.cmd_provider_meta": "Открыть", + "session.cmd_current_workspace": "Текущее рабочее пространство", + "session.cmd_switch": "Переключить", + "session.palette_title_sessions": "Поиск сессий", + "session.palette_title_actions": "Быстрые действия", + "session.palette_placeholder_sessions": "Поиск по имени сессии или рабочему пространству", + "session.palette_placeholder_actions": "Поиск действий", + "session.search_placeholder": "Поиск в этом чате", + "session.search_prev": "Назад", + "session.search_next": "Вперёд", + "session.undo_label": "Вернуть", + "session.redo_label": "Повторить", + "session.loading_title": "Загрузка сессии", + "session.loading_detail": "Получение последних сообщений для этой задачи.", + "session.workspace_setup_label": "Настройка рабочего пространства", + "session.workspace_setup_title": "Настройте ваше первое рабочее пространство", + "session.workspace_setup_desc": + "Начните с guided рабочего пространства OpenWork или выберите существующую папку для работы.", + "session.create_workspace_title": "Создать рабочее пространство", + "session.create_workspace_desc": + "Откройте создатель рабочего пространства и выберите, как начать.", + "session.pick_folder_title": "Выберите папку для работы", + "session.pick_folder_desc": + "Выберите существующую папку проекта или заметок, и OpenWork использует её как рабочее пространство.", + "session.loading_earlier": "Загрузка более ранних сообщений...", + "session.load_earlier": "Загрузить более ранние сообщения", + "session.jump_to_start": "Перейти к началу сообщения", + "session.jump_to_latest": "Перейти к последнему", + "session.flyout_new_task": "Новая задача", + "session.flyout_file_modified": "Файл изменён", + "session.attachments_add_token": "Добавьте токен сервера для прикрепления файлов.", + "session.attachments_connect_server": + "Подключитесь к серверу OpenWork для прикрепления файлов.", + "session.unable_to_reveal": "Не удалось отобразить рабочее пространство", + "session.workspace_path_unavailable": "Путь к рабочему пространству недоступен.", + "session.reveal_desktop_only": "Отображение доступно в десктопном приложении.", + "session.file_open_remote_unavailable": + "Открытие файла недоступно для удалённых рабочих пространств.", + "session.file_open_desktop_only": + "Открытие файла доступно в десктопном приложении.", + "session.pick_workspace_to_open": "Выберите рабочее пространство для открытия файлов.", + "session.unable_to_open_file": "Не удалось открыть файл", + "session.share_collaborator_label": "Токен соавтора", + "session.share_desktop_app_required": "Требуется десктопное приложение", + "session.share_worker_url_phones_hint": + "Используйте на телефонах или ноутбуках, подключающихся к этому воркеру.", + "session.share_worker_url_resolving_hint": + "URL воркера разрешается; показан URL хоста как запасной вариант.", + "session.share_owner_permission_hint": + "Используйте, когда удалённый клиент должен отвечать на запросы разрешений.", + "session.share_collaborator_hint": + "Обычный удалённый доступ, когда не нужны действия только владельца.", + "session.share_collaborator_host_hint": + "Обычный удалённый доступ к этому хосту без действий только владельца.", + "session.share_set_token_hint": "Установите токен в настройках рабочего пространства", + "session.share_connected_with_hint": + "Это рабочее пространство сейчас подключено с этим паролем.", + "session.share_opencode_base_url": "Базовый URL OpenCode", + "session.share_note_direct_runtime": + "Среда выполнения движка установлена на Direct. Переключение локальных воркеров может перезапустить хост и отключить клиентов. Токен может измениться после перезапуска.", + "session.share_select_workspace": "Сначала выберите рабочее пространство.", + "session.share_openwork_workers_only": + "Ссылки общего сервиса доступны для воркеров OpenWork.", + "session.share_local_host_not_ready": "Локальный хост OpenWork пока не готов.", + "session.share_missing_host_url": "Отсутствует URL хоста OpenWork.", + "session.share_missing_token": "Отсутствует токен OpenWork.", + "session.share_active_cloud_org": "Активная организация Cloud", + "session.share_choose_org": + "Выберите организацию в Настройки -> Cloud перед тем, как поделиться с командой.", + "session.share_resolve_local_workspace_failed": + "Не удалось разрешить это рабочее пространство на локальном хосте OpenWork.", + "session.share_host_url_and_token_required": + "URL хоста OpenWork и токен обязательны.", + "session.share_resolve_remote_workspace_failed": + "Не удалось разрешить это рабочее пространство на хосте OpenWork.", + "session.share_workspace_template_desc": + "Полный шаблон рабочего пространства OpenWork с конфигурацией, командами, навыками и дополнительными файлами .opencode.", + "session.share_publish_workspace_failed": + "Публикация профиля рабочего пространства не удалась", + "session.share_sign_in_required": + "Войдите в OpenWork Cloud в Настройках, чтобы поделиться с командой.", + "session.share_team_fallback_name": "шаблоны вашей команды", + "session.share_saved_to_org": "Сохранено {name} в {org}.", + "session.share_save_team_template_failed": "Сохранение командного шаблона не удалось", + "session.share_skills_set_desc": + "Полный набор навыков из рабочего пространства OpenWork.", + "session.share_no_skills": "Навыки в этом рабочем пространстве не найдены.", + "session.share_publish_skills_failed": "Публикация набора навыков не удалась", + "session.export_desktop_only_local": + "Экспорт доступен для локальных воркеров в десктопном приложении.", + "session.export_local_only": "Экспорт поддерживается только для локальных воркеров.", + "session.export_desktop_only": "Экспорт доступен в десктопном приложении.", + "session.export_already_running": "Экспорт уже выполняется.", + "session.update_ready": "Обновление готово", + "session.install_update": "Установить обновление", + "session.downloading": "Загрузка", + "session.update_available": "Доступно обновление", + "session.connect_failed": "Подключение не удалось", + "session.upload_connect_server": + "Подключитесь к серверу OpenWork для загрузки файлов в общую папку.", + "session.uploaded_to_shared_folder": "Загружено в общую папку.", + "session.create_or_connect_workspace": "Создайте или подключите рабочее пространство", + "session.allow_once": "Один раз", + "session.connect_to_sync": "Подключитесь к серверу OpenWork для синхронизации удалённых файлов.", + "session.obsidian_worker_relative_only": + "Только файлы относительно воркера могут быть открыты в Obsidian.", + "session.resize_workspace_column": "Изменить размер колонки рабочего пространства", + "dashboard.close_settings": "Закрыть настройки", + "dashboard.nav_ids": "ID", + "session.downloading_percent": "Загрузка {percent}%", + "session.update_ready_stop_runs_title": + "Обновление готово {version}. Остановите активные запуски для перезапуска.", + "session.restart_update_title": "Перезапустите для применения обновления {version}", + "session.downloading_update_title": "Загрузка обновления {version}", + "session.update_available_title": "Доступно обновление {version}", + "session.file_open_failed": "Открытие файла не удалось", + "session.remote_sync_failed": "Синхронизация удалённого файла не удалась", + "session.shared_folder_upload_failed": "Загрузка в общую папку не удалась", + "session.status_compacting": "Сжатие контекста", + "session.status_active": "Сессия активна", + "session.status_ready_session": "Сессия готова", + "session.status_ready": "Готово", + "session.delete_session_title": "Удалить сессию?", + "session.delete_named_session_message": + 'Это навсегда удалит "{title}" и её сообщения.', + "session.delete_session_generic": + "Это навсегда удалит выбранную сессию и её сообщения.", + "session.deleting": "Удаление...", + "session.delete": "Удалить", + "session.loading_session": "Загрузка сессии", + "session.workspace_fallback": "Рабочее пространство", + "session.model_fallback": "Модель", + "session.close_quick_actions": "Закрыть быстрые действия", + "session.prev_match": "Предыдущее совпадение", + "session.next_match": "Следующее совпадение", + "session.close_search": "Закрыть поиск", + "session.unable_to_open_obsidian": "Не удалось открыть файл в Obsidian", + "session.search_position": "{current} из {total}", + "session.conflict_sync_toast": + "Конфликт синхронизации {path}. Локальные изменения сохранены в {conflictPath}.", + "session.todo_progress": "Выполнено {completed} из {total} задач", + "session.uploading_to_shared_folder": + "Загрузка {label} в общую папку...", + "session.uploaded_with_summary": "Загружено в общую папку: {summary}", + "session.cmd_sessions_detail": "{count} доступно across рабочих пространств", + "session.cmd_model_detail": "{model} · {variant}", + "session.show_earlier": "Показать {count} более ранних сообщ.{plural}", + "session.back": "Назад", + "session.no_matches_command": "Нет совпадений.", + "session.palette_hint_navigate": "Стрелки для навигации", + "session.palette_hint_run": "Enter для запуска · Esc для закрытия", + + "message_list.tool_run_command": "Запустить {command}", + "message_list.tool_run_command_fallback": "Запустить команду", + "message_list.tool_reviewed_file": "Просмотрено {file}", + "message_list.tool_reviewed_file_fallback": "Файл просмотрен", + "message_list.tool_updated_file": "Обновлено {file}", + "message_list.tool_updated_file_fallback": "Файл обновлён", + "message_list.tool_update_file": "Обновить {file}", + "message_list.tool_update_file_fallback": "Обновить файл", + "message_list.tool_searched_pattern": "Поиск {pattern}", + "message_list.tool_searched_code_fallback": "Поиск в коде", + "message_list.tool_reviewed_path": "Просмотрено {path}", + "message_list.tool_reviewed_files_fallback": "Файлы просмотрены", + "message_list.tool_delegate_agent": "Делегировать {agent}", + "message_list.tool_delegate_task_fallback": "Делегировать задачу", + "message_list.tool_update_todo": "Обновить список задач", + "message_list.tool_read_todo": "Прочитать список задач", + "message_list.tool_checked_url": "Проверено {url}", + "message_list.tool_checked_web_fallback": "Веб-страница проверена", + "message_list.tool_load_skill_named": "Загрузить навык {name}", + "message_list.tool_load_skill_fallback": "Загрузить навык", + "message_list.subagent_type_task": "{agentType} задача", + "message_list.subagent_session_fallback": "Сессия субагента", + "message_list.subagent_loading_transcript": "Загрузка транскрипта", + "message_list.subagent_running": "Выполняется", + "message_list.subagent_message_count": "{count} сообщ.{plural}", + "message_list.subagent_waiting_transcript": "Ожидание транскрипта", + "message_list.open_session": "Открыть сессию", + "message_list.step_updates_progress": "Обновляет прогресс", + + "inbox_panel.copied_path": "Скопировано: {path}", + "inbox_panel.download_failed": "Загрузка не удалась", + + "automations.desktop_required": "Запланированные задачи требуют десктопного приложения.", + "automations.failed_to_load": "Загрузка запланированных задач не удалась.", + "automations.prompt_empty": "Запрос автоматизации пуст.", + "automations.prompt_required": "Требуется запрос.", + "automations.schedule_required": "Требуется расписание.", + "automations.server_needs_token": + "Серверу OpenWork требуется токен для загрузки запланированных задач.", + "automations.server_not_ready": "Сервер OpenWork не готов.", + "automations.server_unavailable": + "Сервер OpenWork недоступен. Подключитесь для синхронизации запланированных задач.", + + "common.navigate": "перейти", + "common.next": "Далее", + "common.question": "Вопрос", + "common.remove": "Удалить", + "common.select": "выбрать", + "common.something_went_wrong": "Что-то пошло не так", + "common.submit": "Отправить", + + "config.auto_reload_desc": + "Автоматически перезагружать после изменения агентов/навыков/команд/конфигурации (только в режиме ожидания).", + "config.auto_reload_title": "Автоперезагрузка (локальная)", + "config.auto_reload_unavailable": + "Доступно для локальных рабочих пространств в десктопном приложении.", + "config.collaborator_token_disabled_hint": + "Сохранено заранее для удалённого общего доступа, но удалённый доступ сейчас отключён.", + "config.collaborator_token_label": "Токен соавтора", + "config.collaborator_token_remote_hint": + "Обычный удалённый доступ для телефонов или ноутбуков, подключающихся к этому серверу.", + "config.connection_failed": "Подключение не удалось.", + "config.connection_failed_check": + "Подключение не удалось. Проверьте URL и токен хоста.", + "config.connection_status_updated": "Статус подключения обновлён.", + "config.connection_successful": "Подключение успешно.", + "config.copied": "Скопировано", + "config.copy": "Копировать", + "config.desktop_only_hint": + "Некоторые функции конфигурации (общий доступ к локальному серверу + мост обмена сообщениями) требуют десктопного приложения.", + "config.diagnostics_desc": "Копировать очищенное состояние среды выполнения для отладки.", + "config.diagnostics_title": "Диагностический пакет", + "config.enable_auto_reload_first": "Сначала включите автоперезагрузку", + "config.engine_reload_desc": + "Перезапустить сервер OpenCode для этого рабочего пространства.", + "config.engine_reload_title": "Перезагрузка движка", + "config.host_admin_token_hint": + "Внутренний токен только для хоста для CLI одобрений и админ API. Не используйте его в потоке подключения удалённого приложения.", + "config.host_admin_token_label": "Токен администратора хоста", + "config.host_local_only": "Только локальный", + "config.host_offline": "Офлайн", + "config.host_remote_enabled": "Удалённый доступ включён", + "config.local_ip_hint": + "Используйте ваш локальный IP в той же Wi-Fi сети для быстрейшего подключения.", + "config.mdns_hint": + "Имена .local легче запомнить, но они могут не разрешаться во всех сетях.", + "config.messaging_identities_desc": + "Управляйте идентичностями Telegram/Slack и маршрутизацией на вкладке Идентичности.", + "config.messaging_identities_title": "Идентичности обмена сообщениями", + "config.not_set": "Не установлено", + "config.owner_token_disabled_hint": + "Актуально только после включения удалённого доступа для этого воркера.", + "config.owner_token_label": "Токен владельца", + "config.owner_token_remote_hint": + "Используйте, когда удалённый клиент должен отвечать на запросы разрешений или выполнять действия только владельца.", + "config.reload_active_tasks_warning": "Перезагрузка остановит активные задачи.", + "config.reload_availability_hint": + "Перезагрузка доступна только для локальных воркеров или подключённых серверов OpenWork.", + "config.reload_connect_hint": "Подключитесь к этому воркеру для перезагрузки.", + "config.reload_engine": "Перезагрузить движок", + "config.reload_now_desc": + "Применяет обновления конфигурации и переподключает вашу сессию.", + "config.reload_now_title": "Перезагрузить сейчас", + "config.reloading": "Перезагрузка...", + "config.remote_access_off_hint": + "Удалённый доступ отключён. Используйте Поделиться рабочим пространством для включения перед подключением с другой машины.", + "config.resolved_worker_url": "Разрешённый URL воркера:", + "config.resume_sessions_desc": + "Если перезагрузка была в очереди во время выполнения задач, отправить сообщение о возобновлении после.", + "config.resume_sessions_title": "Возобновить сессии после автоперезагрузки", + "config.server_needed_hint": + "Требуется подключение к серверу OpenWork для синхронизации навыков, плагинов и команд.", + "config.server_section_desc": + "Подключитесь к серверу OpenWork. Используйте URL плюс токен соавтора или владельца от администратора сервера.", + "config.server_section_title": "Сервер OpenWork", + "config.server_sharing_desc": + "Поделитесь этими деталями с доверенным устройством. Держите сервер в той же сети для быстрейшей настройки.", + "config.server_sharing_menu_hint": + "Для ссылок общего доступа для каждого рабочего пространства используйте Поделиться... в меню рабочего пространства.", + "config.server_sharing_title": "Общий доступ к серверу OpenWork", + "config.server_url_hint": + "Используйте URL, предоставленный вашим сервером OpenWork. Локальные десктопные воркеры повторно используют постоянный высокий порт в диапазоне 48000-51000.", + "config.server_url_input_label": "URL сервера OpenWork", + "config.server_url_label": "URL сервера OpenWork", + "config.starting_server": "Запуск сервера…", + "config.status_connected": "Подключено", + "config.status_limited": "Ограничено", + "config.status_not_connected": "Не подключено", + "config.test_connection": "Тест подключения", + "config.testing": "Тестирование...", + "config.testing_connection": "Тестирование подключения...", + "config.token_hint": + "Необязательно. Вставьте токен соавтора для обычного доступа или токен владельца, когда этот клиент должен отвечать на запросы разрешений.", + "config.token_label": "Токен соавтора или владельца", + "config.token_placeholder": "Вставьте ваш токен", + "config.unavailable": "Недоступно", + "config.worker_id": "ID воркера:", + "config.workspace_config_desc": + "Эти настройки влияют на выбранное рабочее пространство. Действия только для среды выполнения применяются к тому рабочему пространству, которое подключено сейчас.", + "config.workspace_config_title": "Конфигурация рабочего пространства", + "config.workspace_id_prefix": "Рабочее пространство:", + + "extensions.app_count_many": "приложений подключено", + "extensions.app_count_one": "приложение подключено", + "extensions.apps_mcp_header": "Приложения (MCP)", + "extensions.filter_all": "Все", + "extensions.filter_apps": "Приложения", + "extensions.filter_plugins": "Плагины", + "extensions.plugin_count_many": "плагинов", + "extensions.plugin_count_one": "плагин", + "extensions.plugins_opencode_header": "Плагины (OpenCode)", + "extensions.subtitle": "Приложения (MCP) и плагины OpenCode в одном месте.", + + "identities.agent_behavior_desc": + "Один файл на рабочее пространство. Добавьте необязательную первую строку @agent для маршрутизации через определённый агент OpenCode.", + "identities.agent_behavior_title": "Поведение агента обмена сообщениями", + "identities.agent_created": "Создан файл агента обмена сообщениями по умолчанию.", + "identities.agent_file_changed": + "Файл изменён удалённо. Перезагрузите и сохраните снова.", + "identities.agent_loading": "Загрузка файла агента…", + "identities.agent_none": "нет", + "identities.agent_not_found": "Файл агента пока не найден в этом рабочем пространстве.", + "identities.agent_placeholder": + "Добавьте инструкции поведения обмена сообщениями для opencodeRouter здесь...", + "identities.agent_saved": "Поведение обмена сообщениями сохранено.", + "identities.agent_scope_status": + "Активная область: рабочее пространство · статус: {status} · выбранный агент: {agent}", + "identities.agent_status_loaded": "загружен", + "identities.agent_status_missing": "отсутствует", + "identities.agent_worker_scope_unavailable": "Область воркера недоступна.", + "identities.all_channels": "Все каналы", + "identities.app_token_label": "Токен приложения", + "identities.auto_bind_label": "Авто-привязка пира к директории при прямой отправке", + "identities.available_channels": "Доступные каналы", + "identities.bot_token_label": "Токен бота", + "identities.bot_token_placeholder": + "Вставьте токен Telegram бота от @BotFather", + "identities.botfather_step1_open": "1. Откройте @BotFather в Telegram", + "identities.botfather_step1_run": "и запустите /newbot", + "identities.botfather_step3_choose": + "3. Выберите имя и username для вашего бота", + "identities.botfather_step3_or_private": "для открытого ящика или", + "identities.botfather_step3_private": "Приватный", + "identities.botfather_step3_public": "Публичный", + "identities.botfather_step3_to_require": "требовать", + "identities.channel_label": "Канал", + "identities.channels_connected": "подключено", + "identities.channels_label": "Каналы", + "identities.configured_suffix": "настроено", + "identities.connect_server_desc": + "Идентичности доступны, когда вы подключены к хосту OpenWork.", + "identities.connect_server_title": "Подключиться к серверу OpenWork", + "identities.connect_slack": "Подключить Slack", + "identities.connected_badge": "Подключено", + "identities.connecting": "Подключение...", + "identities.copy_bot_token_hint": "Скопируйте токен бота и вставьте его ниже.", + "identities.copy_code": "Копировать код", + "identities.create_default_file": "Создать файл по умолчанию", + "identities.create_private_bot": "Создать приватный бот", + "identities.create_public_bot": "Создать публичный бот", + "identities.days_ago": "{days}д назад", + "identities.default_routing": "Маршрутизация по умолчанию", + "identities.directory_label": "Директория (необязательно)", + "identities.disable_messaging": "Отключить обмен сообщениями", + "identities.disable_messaging_message": + "Это отключит обмен сообщениями для этого рабочего пространства. Настройка Telegram и Slack будет скрыта до повторного включения обмена сообщениями, и вам нужно будет перезапустить воркер для полной остановки сайдкара обмена сообщениями.", + "identities.disable_messaging_title": "Отключить обмен сообщениями для этого воркера?", + "identities.disabled_label": "Отключено", + "identities.disabling": "Отключение...", + "identities.disconnect": "Отключить", + "identities.dispatched_messages": "Отправлено {sent}/{attempted} сообщений.", + "identities.enable_messaging": "Включить обмен сообщениями", + "identities.enable_messaging_risk": + "Обмен сообщениями может暴露ить этот воркер для удалённых команд. Если бот публичный или скомпрометирован, он может получить доступ к файлам, учётным данным и API ключам, доступным этому воркеру.", + "identities.enable_messaging_title": "Включить обмен сообщениями для этого воркера?", + "identities.enabled_label": "Включено", + "identities.enabling": "Включение...", + "identities.health_offline": "Офлайн", + "identities.health_running": "Работает", + "identities.health_unavailable": "Недоступно", + "identities.health_unavailable_status": + "Проверка здоровья OpenCodeRouter недоступна ({status})", + "identities.health_unknown": "Неизвестно", + "identities.hours_ago": "{hours}ч назад", + "identities.identities_label": "Идентичности", + "identities.just_now": "Только что", + "identities.last_activity": "Последняя активность", + "identities.later": "Позже", + "identities.message_label": "Сообщение", + "identities.message_routing_desc": + "Управляйте, какие разговоры идут в какую папку рабочего пространства. Сообщения маршрутизируются в папку воркера по умолчанию, если вы не настроите правила здесь.", + "identities.message_routing_title": "Маршрутизация сообщений", + "identities.messages_today": "Сообщения сегодня", + "identities.messaging_disabled_hint": + "Включайте обмен сообщениями только если понимаете риск и планируете защитить доступ (например, приватное сопряжение Telegram).", + "identities.messaging_disabled_restart": + "Обмен сообщениями отключён. Перезапустите этот воркер для остановки сайдкара обмена сообщениями.", + "identities.messaging_disabled_risk": + "Боты обмена сообщениями могут выполнять действия против вашего локального воркера. Если они暴露щены публично, они могут позволить доступ к файлам, учётным данным и API ключам, доступным этому воркеру.", + "identities.messaging_disabled_title": "Обмен сообщениями отключён по умолчанию", + "identities.messaging_enabled_restart": + "Обмен сообщениями включён. Перезапустите этот воркер для применения перед настройкой каналов.", + "identities.messaging_sidecar_not_running": + "Обмен сообщениями включён в этом рабочем пространстве, но сайдкар обмена сообщениями ещё не запущен. Перезапустите этот воркер, затем вернитесь к настройкам обмена сообщениями для подключения Telegram или Slack.", + "identities.minutes_ago": "{minutes}м назад", + "identities.not_set": "Не установлено", + "identities.open_bot_link": "Открыть @{username} в Telegram", + "identities.pairing_code_copied": "Код сопряжения скопирован.", + "identities.pairing_code_copy_failed": + "Не удалось скопировать код сопряжения. Скопируйте его вручную.", + "identities.pairing_code_instruction_prefix": "Отправьте", + "identities.peer_id_label": "Peer ID (необязательно)", + "identities.peer_id_placeholder_slack": "например, slack:U12345678", + "identities.peer_id_placeholder_telegram": "например, telegram:123456789", + "identities.private_label": "Приватный", + "identities.private_pairing_code": "Приватный код сопряжения", + "identities.public_bot_confirm": "Да, я понимаю риск", + "identities.public_bot_warning_message": + "Ваш бот будет доступен публично, и любой, кто получит доступ к вашему боту, сможет получить полный доступ к вашему локальному воркеру, включая любые файлы или API ключи, которые вы ему дали. Если вы создадите приватный бот, вы можете ограничить, кто может получить к нему доступ, потребовав токен сопряжения. Вы уверены, что хотите сделать ваш бот публичным?", + "identities.public_bot_warning_title": "Сделать этот бот публичным?", + "identities.public_label": "Публичный", + "identities.quick_setup": "Быстрая настройка", + "identities.reconnect_failed": + "Переподключение не удалось. Проверьте URL/токен OpenWork и попробуйте снова.", + "identities.reconnected": "Переподключено.", + "identities.reconnected_refreshing": + "Переподключено. Обновление состояния воркера...", + "identities.reload": "Перезагрузить", + "identities.repair_reconnect": "Восстановить и переподключить", + "identities.restart_failed": + "Перезапуск не удался. Перезапустите воркер из Настроек и попробуйте снова.", + "identities.restart_to_disable_messaging": + "Обмен сообщениями был отключён для этого рабочего пространства. Перезапустите воркер сейчас для остановки сайдкара обмена сообщениями.", + "identities.restart_to_enable_messaging": + "Обмен сообщениями был включён для этого рабочего пространства. Перезапустите воркер сейчас для запуска сайдкара обмена сообщениями и разблокировки настройки Telegram и Slack.", + "identities.restart_worker": "Перезапустить воркер", + "identities.restart_worker_title": "Перезапустить воркер сейчас?", + "identities.restarting": "Перезапуск...", + "identities.routing_override_prefix": "Все сообщения маршрутизируются в", + "identities.routing_override_suffix": "(переопределение активно)", + "identities.running_label": "Выполняется", + "identities.save_behavior": "Сохранить поведение", + "identities.saving": "Сохранение...", + "identities.send_test_button": "Отправить тестовое сообщение", + "identities.send_test_desc": + "Проверьте исходящую маршрутизацию. Используйте Peer ID для прямой отправки или оставьте Peer ID пустым для распределения по привязкам в директории.", + "identities.send_test_title": "Отправить тестовое сообщение", + "identities.sending": "Отправка...", + "identities.slack_desc": + "Ваш воркер появляется как бот в каналах Slack. Члены команды могут писать ему напрямую или упоминать его в ветках.", + "identities.slack_intro": + "Подключите ваше рабочее пространство Slack, чтобы члены команды могли взаимодействовать с этим воркером в каналах и личных сообщениях.", + "identities.slack_unavailable": "Идентичности Slack недоступны.", + "identities.status_active": "Активно", + "identities.status_label": "Статус", + "identities.status_stopped": "Остановлено", + "identities.stopped_label": "Остановлено", + "identities.subtitle": + "Позвольте людям обращаться к вашему воркеру через приложения обмена сообщениями. Подключите канал, и ваш воркер будет автоматически читать и отвечать на сообщения.", + "identities.tab_general": "Общие", + "identities.telegram_bot_access_desc": + "Публичный бот: первый чат Telegram автоматически ссылается. Приватный бот: требует код сопряжения перед тем, как любые сообщения запускают инструменты.", + "identities.telegram_delete_failed": "Удаление не удалось.", + "identities.telegram_deleted": "Удалено.", + "identities.telegram_deleted_pending": "Удалено (ожидание применения).", + "identities.telegram_desc": + "Подключите Telegram бота в публичном режиме (открытый ящик) или приватном режиме (требуется код сопряжения).", + "identities.telegram_private_saved_pair": + "Приватный бот сохранён. Сопряжение через /pair {code}", + "identities.telegram_save_failed": "Сохранение не удалось.", + "identities.telegram_saved": "Сохранено.", + "identities.telegram_saved_pending": "Сохранено (ожидание применения).", + "identities.telegram_saved_username": "Сохранено (@{username})", + "identities.telegram_unavailable": "Идентичности Telegram недоступны.", + "identities.title": "Каналы обмена сообщениями", + "identities.unsaved_changes": "Несохранённые изменения", + "identities.worker_offline": "Воркер офлайн", + "identities.worker_online": "Воркер онлайн", + "identities.worker_restarted": "Воркер перезапущен.", + "identities.worker_restarted_refreshing": + "Воркер перезапущен. Обновление статуса обмена сообщениями...", + "identities.worker_scope_unavailable": "Область воркера недоступна.", + "identities.worker_scope_unavailable_detail": + "Область воркера недоступна. Переподключитесь, используя URL воркера, или переключитесь на известный воркер.", + "identities.worker_unavailable": "Воркер недоступен", + "identities.workspace_id_required": + "Требуется ID рабочего пространства для управления идентичностями. Переподключитесь с URL рабочего пространства или выберите рабочее пространство, отображённое на этом хосте.", + "identities.workspace_scope_prefix": "Область рабочего пространства:", + + "mcp.auth.authorization_link": "Ссылка авторизации", + "mcp.auth.copied": "Скопировано", + "mcp.auth.copy_link": "Копировать ссылку", + "mcp.auth.request_timed_out": "Время запроса истекло.", + + "plugins.desc": + "Управляйте `opencode.json` для вашего проекта или глобальными плагинами OpenCode.", + "plugins.empty": "Плагины ещё не настроены.", + "plugins.not_loaded_yet": "Ещё не загружено", + "plugins.remove": "Удалить", + "plugins.suggested_heading": "Рекомендуемые плагины", + + "providers.api_key_label": "API ключ", + "providers.api_key_required": "Требуется API ключ", + "providers.auth_failed": "Аутентификация не удалась", + "providers.connect_failed": "Подключение провайдера не удалось", + "providers.disabled_in_config_suffix": "и отключён в конфигурации OpenCode.", + "providers.disconnect_failed": "Отключение провайдера не удалось", + "providers.disconnected_prefix": "Отключено", + "providers.load_failed": "Загрузка провайдеров не удалась", + "providers.no_oauth_prefix": "Поток OAuth недоступен для", + "providers.no_providers_available": "Нет доступных провайдеров", + "providers.not_connected": "Не подключено к серверу", + "providers.not_oauth_flow_prefix": + "Выбранный метод аутентификации не является потоком OAuth для", + "providers.oauth_failed": "Завершение OAuth не удалось", + "providers.oauth_method_required": "Требуется метод OAuth", + "providers.provider_error": "Ошибка провайдера ({provider})", + "providers.provider_id_required": "Требуется ID провайдера", + "providers.rate_limit_exceeded": "Превышен лимит запросов", + "providers.removal_unsupported": + "Удаление аутентификации провайдера не поддерживается этим клиентом.", + "providers.request_failed": "Запрос не удался", + "providers.save_api_key_failed": "Сохранение API ключа не удалось", + "providers.still_connected_suffix": + ", но воркер всё ещё сообщает о нём как о подключённом. Очистите оставшиеся API ключи или учётные данные OAuth и перезапустите воркер для полного отключения.", + "providers.unknown_provider": "Неизвестный провайдер", + "providers.use_api_key_suffix": "Используйте API ключ вместо этого.", + + "question_modal.custom_answer_label": "Или введите пользовательский ответ", + "question_modal.custom_answer_placeholder": "Введите ваш ответ здесь...", + "question_modal.question_counter": "Вопрос {current} из {total}", + + "scheduled.at_time": "В {time}", + "scheduled.badge_end_of_day": "Конец дня", + "scheduled.badge_every_few_hours": "Каждые несколько часов", + "scheduled.badge_friday_wrapup": "Пятничное подведение итогов", + "scheduled.badge_weekday_evening": "Будний вечер", + "scheduled.badge_weekday_morning": "Буднее утро", + "scheduled.badge_weekend_review": "Выходной обзор", + "scheduled.create_button": "Создать", + "scheduled.create_desc": + "Автоматизации планируются путём запуска запроса в новой ветке. Мы предварительно заполним запрос для вас.", + "scheduled.create_title": "Создать автоматизацию", + "scheduled.created_prefix": "Создано", + "scheduled.custom_schedule": "Пользовательское расписание", + "scheduled.daily_mode": "Ежедневно", + "scheduled.day_fri": "Пт", + "scheduled.day_mon": "Пн", + "scheduled.day_sat": "Сб", + "scheduled.day_sun": "Вс", + "scheduled.day_thu": "Чт", + "scheduled.day_tue": "Вт", + "scheduled.day_wed": "Ср", + "scheduled.days_at": "{days} в {time}", + "scheduled.default_automation_name": "Ежедневное сканирование багов", + "scheduled.delete_confirm_desc": + "Это удалит расписание и определение задачи из {source}.", + "scheduled.delete_confirm_title": "Удалить автоматизацию?", + "scheduled.delete_error_fallback": "Удаление задачи не удалось.", + "scheduled.delete_label": "Удалить", + "scheduled.deleting": "Удаление", + "scheduled.desktop_required": "Запланированные задачи требуют десктопного приложения.", + "scheduled.empty_hint": + "Автоматизаций пока нет. Выберите шаблон или создайте свой запрос автоматизации.", + "scheduled.every_day_at": "Каждый день в {time}", + "scheduled.every_hour": "Каждый час", + "scheduled.every_n_hours": "Каждые {interval} часов", + "scheduled.every_prefix": "Каждый", + "scheduled.explore_more": "Исследовать ещё", + "scheduled.failed_status": "Ошибка", + "scheduled.filter_all": "Все", + "scheduled.filter_scheduled": "Запланировано", + "scheduled.filter_templates": "Шаблоны", + "scheduled.hours_suffix": "часов", + "scheduled.install_scheduler": "Установить планировщик", + "scheduled.install_scheduler_hint": + "Автоматизации работают через плагин opencode-scheduler. Добавьте его в это рабочее пространство для включения планирования.", + "scheduled.install_scheduler_title": + "Установите планировщик для разблокировки автоматизаций", + "scheduled.installing": "Установка...", + "scheduled.interval_mode": "Интервал", + "scheduled.last_run_prefix": "Последний запуск", + "scheduled.last_updated_prefix": "Последнее обновление", + "scheduled.name_label": "Имя", + "scheduled.never": "Никогда", + "scheduled.new_automation": "Новая автоматизация", + "scheduled.no_automations_match": "Автоматизации не соответствуют поиску.", + "scheduled.no_templates_match": "Шаблоны не соответствуют поиску.", + "scheduled.not_run_yet": "Ещё не запущено", + "scheduled.not_synced_yet": "Ещё не синхронизировано", + "scheduled.page_description": + "Планируйте повторяющиеся задачи для этого воркера, отслеживайте уже зарегистрированные и начните с переиспользуемого шаблона.", + "scheduled.prepare_error_fallback": "Подготовка автоматизации в чате не удалась.", + "scheduled.prepared_automation_in_chat": "Подготовлена автоматизация в чате.", + "scheduled.prepared_job_in_chat": "Подготовлено {name} в чате.", + "scheduled.quick_start_templates": "Шаблоны быстрого старта", + "scheduled.quick_start_templates_desc": + "Начните с проверенного повторяющегося рабочего процесса, затем адаптируйте запрос перед подготовкой в чате.", + "scheduled.refreshing": "Обновление", + "scheduled.reload_activate_hint": + "OpenCode загружает плагины при запуске. Перезагрузите OpenWork для активации opencode-scheduler.", + "scheduled.reload_activate_title": "Перезагрузите OpenWork для активации автоматизаций", + "scheduled.reload_openwork": "Перезагрузить OpenWork", + "scheduled.reloading": "Перезагрузка...", + "scheduled.removed_job": "Удалено {name}.", + "scheduled.run_label": "Запустить", + "scheduled.running_status": "Выполняется", + "scheduled.schedule_label": "Расписание", + "scheduled.scheduler_install_requested": "Запрошена установка планировщика.", + "scheduled.search_placeholder": "Поиск автоматизаций или шаблонов", + "scheduled.source_local": "Из локального планировщика", + "scheduled.source_remote": "Из сервера OpenWork", + "scheduled.subtitle_local": + "Автоматизации, выполняющиеся по расписанию на этом устройстве.", + "scheduled.subtitle_remote": + "Автоматизации, выполняющиеся по расписанию на подключённом сервере OpenWork.", + "scheduled.success_status": "Успех", + "scheduled.task_summary_no_prompt": "Запрос или команда не найдены.", + "scheduled.task_summary_prompt": "Запрос", + "scheduled.template_badge": "Шаблон", + "scheduled.template_count": "{count} шаблонов", + "scheduled.tpl_daily_planning_desc": + "Создайте сфокусированный план из ваших задач и календаря.", + "scheduled.tpl_daily_planning_name": "Ежедневный план", + "scheduled.tpl_habit_checkin_desc": + "Запускайте быструю проверку ответственности в течение дня.", + "scheduled.tpl_habit_checkin_name": "Проверка привычек", + "scheduled.tpl_inbox_zero_desc": + "Суммируйте непрочитанные сообщения и создавайте короткие ответы.", + "scheduled.tpl_inbox_zero_name": "Помощник чистого ящика", + "scheduled.tpl_learning_digest_desc": + "Превращайте сохранённые ссылки и заметки в еженедельный дайджест.", + "scheduled.tpl_learning_digest_name": "Дайджест обучения", + "scheduled.tpl_meeting_prep_desc": + "Создавайте подготовительные тезисы для завтрашних встреч.", + "scheduled.tpl_meeting_prep_name": "Заметки подготовки к встрече", + "scheduled.tpl_weekly_wins_desc": + "Создавайте пятничное резюме побед, блокеров и следующих шагов.", + "scheduled.tpl_weekly_wins_name": "Еженедельный обзор побед", + "scheduled.view_scheduler_docs": "Посмотреть документацию планировщика", + "scheduled.weekdays_at": "Будни в {time}", + "scheduled.weekends_at": "Выходные в {time}", + "scheduled.worker_root_hint": + "Корень воркера определяется из выбранного рабочего пространства.", + "scheduled.your_automations": "Ваши автоматизации", + + "settings.action_download": "Скачать", + "settings.action_install": "Установить", + "settings.actor_host": "хост", + "settings.actor_remote": "удалённый", + "settings.actor_unknown": "неизвестный", + "settings.api_keys_info": + "API ключи хранятся локально OpenCode. Провайдеры с поддержкой окружения должны быть изменены в окружении воркера и затем перезагружены.", + "settings.audit_error": "Ошибка", + "settings.audit_loading": "Загрузка", + "settings.audit_log_title": "Журнал аудита", + "settings.audit_ready": "Ошибка", + "settings.auto_compact": "Автосжатие контекста", + "settings.auto_compact_desc": + "Управляет OpenCode compaction.auto для этого рабочего пространства. Перезагрузите движок после изменения.", + "settings.auto_update_desc": "Загружать обновления автоматически (запрашивает", + "settings.auto_update_title": "Автообновление", + "settings.background_checks_desc": + "OpenWork всегда проверяет при запуске. Также проверяет раз", + "settings.background_checks_title": "Фоновые проверки", + "settings.base_url_unavailable": "Базовый URL недоступен", + "settings.binary_unavailable": "Бинарный файл недоступен", + "settings.cap_browser_tools": "Инструменты браузера: {value}", + "settings.cap_commands": "Команды: {value}", + "settings.cap_config": "Конфигурация: {value}", + "settings.cap_file_tools": "Файловые инструменты: {value}", + "settings.cap_inbox_off": "ящик отключён", + "settings.cap_inbox_on": "ящик включён", + "settings.cap_mcp": "MCP: {value}", + "settings.cap_outbox_off": "исходящие отключены", + "settings.cap_outbox_on": "исходящие включены", + "settings.cap_plugins": "Плагины: {value}", + "settings.cap_proxy": "Прокси (OpenCodeRouter): {value}", + "settings.cap_read": "чтение", + "settings.cap_sandbox": "Песочница: {value}", + "settings.cap_skills": "Навыки: {value}", + "settings.cap_write": "запись", + "settings.capabilities_title": "Возможности сервера OpenWork", + "settings.capabilities_unavailable": + "Возможности недоступны. Подключитесь с токеном клиента.", + "settings.checking_for_updates": "Проверка обновлений", + "settings.choose": "Выбрать", + "settings.clear": "Очистить", + "settings.clipboard_unavailable": + "Буфер обмена недоступен в этой среде.", + "settings.configure": "Настроить", + "settings.connect_opencode_hint": "Подключитесь к OpenCode для загрузки провайдеров.", + "settings.connect_provider": "Подключить провайдер", + "settings.copied_debug_report": "Скопирован JSON отчёта среды выполнения.", + "settings.copy_failed": "Копирование отчёта среды выполнения не удалось.", + "settings.copy_json": "Копировать JSON", + "settings.custom_binary_hint": + "Используйте это для указания OpenWork на локальную сборку OpenCode", + "settings.custom_binary_label": "Пользовательский бинарный файл OpenCode", + "settings.data_dir_unavailable": "Директория данных недоступна", + "settings.debug_commit": "Коммит: {sha}", + "settings.debug_desktop_app": "Десктопное приложение: {version}", + "settings.debug_opencode_router_version": "OpenCodeRouter: {version}", + "settings.debug_opencode_version": "OpenCode: {version}", + "settings.debug_openwork_server_version": "Сервер OpenWork: {version}", + "settings.debug_orchestrator_version": "Оркестратор: {version}", + "settings.debug_section_title": "Разработчик", + "settings.deeplink_failed": "Открытие глубокой ссылки не удалось.", + "settings.deeplink_hint": + "Принимает openwork://, openwork-dev:// или прямой поддерживаемый https://share.openworklabs.com/b/... URL.", + "settings.delete_containers": "Удаление контейнеров...", + "settings.delete_local_config": "Удаление локального состояния...", + "settings.desktop_only_hint": "Доступно в десктопном приложении.", + "settings.dev_mode_badge": "Режим разработчика", + "settings.developer_mode_desc": + "Включает инструменты отладки, диагностику и вкладку Разработчик.", + "settings.developer_mode_title": "Режим разработчика", + "settings.developer_panel_disabled": "Панель разработчика включена.", + "settings.developer_panel_enabled": "Панель разработчика включена.", + "settings.devtools_desc": "Здоровье сайдкара, возможности и журнал аудита.", + "settings.devtools_title": "Инструменты разработчика", + "settings.diag_approval": "Одобрение: {mode} ({ms}мс)", + "settings.diag_config_path": "Путь конфигурации: {path}", + "settings.diag_daemon_url": "Демон: {url}", + "settings.diag_default": "по умолчанию", + "settings.diag_health_port": "Порт здоровья: {port}", + "settings.diag_healthy_ms": "Здоров: {ms}мс", + "settings.diag_host_token_source": "Источник токена хоста: {source}", + "settings.diag_last_attempt": "Последняя попытка: {time}", + "settings.diag_load_sessions_ms": "Загрузка сессий: {ms}мс", + "settings.diag_opencode_binary": "Бинарный файл OpenCode: {binary}", + "settings.diag_opencode_url": "OpenCode: {url}", + "settings.diag_pending_permissions_ms": "Ожидающие разрешения: {ms}мс", + "settings.diag_pid": "PID: {pid}", + "settings.diag_providers_ms": "Провайдеры: {ms}мс", + "settings.diag_read_only": "Только чтение: {value}", + "settings.diag_reason": "Причина: {reason}", + "settings.diag_runtime_workspace": "Среда выполнения рабочего пространства: {id}", + "settings.diag_selected_workspace": "Выбранное рабочее пространство: {id}", + "settings.diag_sidecar": "Сайдкар: {info}", + "settings.diag_started": "Запущен: {time}", + "settings.diag_token_source": "Источник токена: {source}", + "settings.diag_total_ms": "Всего: {ms}мс", + "settings.diag_version": "Версия: {version}", + "settings.diag_workspaces": "Рабочие пространства: {count}", + "settings.diagnostics_unavailable": "Диагностика недоступна.", + "settings.disabled": "{caps().proxy?.opencodeRouter", + "settings.disconnect_confirm_suffix": + "Отключить {resolved}? Это удалит сохранённые API ключи или учётные данные OAuth для этого провайдера.", + "settings.disconnect_server": "Отключить сервер", + "settings.disconnected_prefix": "Отключено {resolved}.", + "settings.disconnecting": "Отключение...", + "settings.docker_containers_desc": + "Принудительно удалить Docker контейнеры, запущенные OpenWork", + "settings.docker_containers_title": "Docker контейнеры OpenWork", + "settings.docker_requires_desktop": "Очистка Docker требует десктопного приложения", + "settings.downloading_bytes": "Загрузка {downloaded}", + "settings.downloading_progress": + "Загрузка {downloaded} / {total} ({percent}%)", + "settings.enable_exa": "Включить веб-поиск Exa", + "settings.enable_exa_desc": + "Применяется, когда OpenWork Orchestrator запускает OpenCode. Выключено по", + "settings.enabled": "Конфигурация:", + "settings.engine_bundled": "Встроенный (рекомендуется)", + "settings.engine_bundled_hint": + "Встроенный движок — самый надёжный вариант. Используйте Системный", + "settings.engine_custom_binary": "Пользовательский бинарный файл", + "settings.engine_desc": "Выберите, как OpenCode запускается локально.", + "settings.engine_runtime_label": "Среда выполнения движка", + "settings.engine_source_debug": "Источник движка", + "settings.engine_system_path": "Системная установка (PATH)", + "settings.engine_title": "Движок", + "settings.exa_restart_hint": + "Перезапустите OpenCode или оркестратор после изменения этой настройки.", + "settings.export": "Экспорт", + "settings.export_failed": "Экспорт отчёта среды выполнения не удался.", + "settings.export_unavailable": "Экспорт недоступен в этой среде.", + "settings.exported_debug_report": "Экспортирован JSON отчёта среды выполнения.", + "settings.failed": "Подключение", + "settings.failed_open_providers": "Открытие провайдеров не удалось", + "settings.feedback_badge": "Мы читаем каждое сообщение", + "settings.feedback_desc": + "Расскажите, что нравится, а что нет. Обратная связь идёт напрямую к команде и помогает нам приоритизировать следующие выпуски.", + "settings.feedback_title": "Помогите улучшить OpenWork", + "settings.group_global": "Рабочее пространство", + "settings.group_workspace": "Глобальный", + "settings.hide_titlebar": "Скрыть заголовок окна", + "settings.hide_titlebar_desc": + "Скрыть заголовок окна. Полезно для тайлинговых оконных менеджеров", + "settings.join_discord": "Присоединиться к Discord", + "settings.last_error": "Последняя ошибка", + "settings.last_stderr": "Последний stderr", + "settings.last_stdout": "Последний stdout", + "settings.loading_providers": "Загрузка провайдеров...", + "settings.logs_on_host": "Логи доступны на хосте.", + "settings.managed_by_env": "Отключить", + "settings.messaging_bridge_service": "Сервис моста обмена сообщениями.", + "settings.messaging_section_desc": + "Управляйте идентичностями Telegram/Slack и привязками на вкладке Идентичности.", + "settings.messaging_section_title": "Обмен сообщениями", + "settings.model_behavior": "Поведение модели", + "settings.model_behavior_desc": + "Откройте селектор модели по умолчанию для выбора профилей рассуждения, когда они доступны.", + "settings.model_section_desc": + "Выберите модель чата по умолчанию и просмотрите, как она рассуждает.", + "settings.no_access": "нет доступа", + "settings.no_active_workspace": "Нет активного локального рабочего пространства.", + "settings.no_audit_entries": "Записей аудита пока нет.", + "settings.no_binary_selected": "Бинарный файл не выбран.", + "settings.no_custom_path_set": "Пользовательский путь не установлен", + "settings.no_project_directory": "Нет директории проекта", + "settings.no_stderr": "stderr пока не захвачен.", + "settings.no_stdout": "stdout пока не захвачен.", + "settings.no_worker_directory": "Нет директории проекта", + "settings.no_worker_path": "Нет доступного пути к воркеру", + "settings.nuke_confirm_dev": + "Это необратимо. Это УДАЛИТ все данные OpenWork для этой dev сборки и все изолированные данные конфигурации, аутентификации, кэша, данных и состояния OpenCode dev, затем закроет OpenWork. Продолжить?", + "settings.nuke_confirm_prod": + "Это необратимо. Это УДАЛИТ все данные OpenWork для этой dev сборки и все изолированные данные конфигурации, аутентификации, кэша, данных и состояния OpenCode dev, затем закроет OpenWork. Продолжить?", + "settings.nuke_failed": "Удаление состояния OpenWork и OpenCode не удалось.", + "settings.nuke_hint": + "Используйте это только когда хотите полностью сбросить десктопное приложение и его состояние среды выполнения OpenCode.", + "settings.nuke_success": + "Удалено состояние OpenWork и OpenCode. OpenWork закрывается...", + "settings.offline": "Недоступно", + "settings.open_deeplink_action": "Открытие...", + "settings.open_deeplink_button": "Скрыть", + "settings.open_deeplink_desc": "font-mono", + "settings.open_deeplink_title": "Открыть глубокую ссылку", + "settings.opencode_engine_desc": + "Локальная среда выполнения для агентов, инструментов и провайдеров моделей.", + "settings.opencode_engine_label": "Движок OpenCode", + "settings.opencode_engine_sidecar_desc": "Сайдкар локального выполнения.", + "settings.opencode_router_sidecar": "Сайдкар OpenCodeRouter", + "settings.opencode_runtime_desc": + "Параметры среды выполнения для локального движка и моста оркестратора.", + "settings.opencode_sdk_desc": "Диагностика подключения UI.", + "settings.opencode_sdk_title": "Движок OpenCode", + "settings.opencode_section_label": "OpenCode", + "settings.opencode_url_unavailable": "Базовый URL недоступен", + "settings.opening": "Открыть глубокую ссылку", + "settings.openwork_config_sidecar_desc": "Сайдкар конфигурации и одобрений.", + "settings.openwork_diagnostics_title": "Диагностика сервера OpenWork", + "settings.openwork_server_desc": + "Плоскость управления сессиями для синхронизации приложения, воркеров и удалённого", + "settings.openwork_server_label": "Сервер OpenWork", + "settings.orchestrator_daemon_layer_desc": "Слой оркестрации рабочего пространства.", + "settings.orchestrator_daemon_title": "Демон оркестратора", + "settings.production_mode_badge": "Режим разработчика", + "settings.provider_source_config": "Конфигурация", + "settings.provider_source_custom": "Пользовательский", + "settings.provider_source_env": "Окружение", + "settings.providers_desc": "Подключите сервисы для моделей и инструментов.", + "settings.providers_title": "Провайдеры", + "settings.quit_hint": + "OpenWork закрывается сразу после очистки, чтобы следующий запуск начинался с чистого локального состояния для этого режима.", + "settings.reconnect_failed": + "Переподключение не удалось. Проверьте URL/токен сервера и попробуйте снова.", + "settings.reconnect_server": "Переподключение...", + "settings.reconnect_server_failed": "Переподключение сервера OpenWork не удалось.", + "settings.reconnected": "Переподключено к серверу OpenWork.", + "settings.reconnecting": "Переподключение...", + "settings.removing_containers": "Удаление контейнеров...", + "settings.removing_local_state": "Удаление локального состояния...", + "settings.report_issue": "Сообщить о проблеме", + "settings.reset_button": "Сбросить", + "settings.reset_config_defaults": "Сброс...", + "settings.reset_config_failed": "Сброс конфигурации приложения не удался.", + "settings.reset_openwork_desc_dev": + "При активном режиме разработчика, очищает только изолированное состояние OpenCode dev внутри openwork-dev-data.", + "settings.reset_openwork_desc_prod": + "При активном режиме разработчика, очищает только изолированное состояние OpenCode dev внутри openwork-dev-data.", + "settings.reset_openwork_title": "Сбросить состояние OpenWork + OpenCode", + "settings.reset_recovery_desc": "Очистить данные или перезапустить поток настройки.", + "settings.reset_recovery_title": "Сброс и восстановление", + "settings.reset_requires_confirm": + "Требует ввода RESET и перезапустит приложение.", + "settings.reset_startup_pref": "Сбросить предпочтение запуска", + "settings.resetting": "Сброс...", + "settings.restart_blocked_message": + "OpenWork требует перезапуска для завершения этого обновления. Чтобы не прерывать вашу текущую работу, установка приостановлена до завершения активных запусков или их остановки.", + "settings.restart_failed": "Перезапуск не удался. Проверьте логи и попробуйте снова.", + "settings.restart_local_server": "Перезапуск...", + "settings.restart_opencode": "Перезапуск...", + "settings.restart_opencode_router": "Перезапуск...", + "settings.restart_openwork_server": "Перезапуск...", + "settings.restart_orchestrator": "Перезапуск...", + "settings.restart_server_failed": "Перезапуск локального сервера не удался.", + "settings.restarted": "Локальный сервер перезапущен.", + "settings.restarting": "Перезапуск...", + "settings.reveal_config": "Показать конфигурацию", + "settings.reveal_config_failed": "Открытие конфигурации рабочего пространства не удалось.", + "settings.reveal_config_requires_desktop": + "Открытие конфигурации требует десктопного приложения", + "settings.revealed_workspace_config": "Конфигурация рабочего пространства показана.", + "settings.run_sandbox_probe": "Запуск зонда...", + "settings.running_probe": "Запуск зонда...", + "settings.runtime_applies_hint": + "Применяется при следующем запуске или перезагрузке движка.", + "settings.runtime_debug_desc": + "Читаемый снимок диагностики с экспортом в один клик.", + "settings.runtime_debug_title": "Отчёт отладки среды выполнения", + "settings.runtime_desc": "Статус вашего локального движка и сервера OpenWork.", + "settings.runtime_direct": "Прямой (OpenCode)", + "settings.runtime_orchestrator": "OpenWork Orchestrator", + "settings.runtime_title": "Среда выполнения", + "settings.sandbox_error": "готово", + "settings.sandbox_export_hint": "Используйте Экспорт в отчёте отладки среды выполнения выше для", + "settings.sandbox_probe_desc": + "Запускает временную проверку запуска Docker песочницы и", + "settings.sandbox_probe_errors": "Зонд песочницы завершён с ошибками.", + "settings.sandbox_probe_failed": "Зонд песочницы не удался.", + "settings.sandbox_probe_success": + "Зонд песочницы успешен. Экспортируйте отчёт отладки для поддержки.", + "settings.sandbox_probe_title": "Зонд песочницы", + "settings.sandbox_ready": "ошибка", + "settings.sandbox_requires_desktop": "Зонд песочницы требует десктопного приложения", + "settings.sandbox_result": "Результат: {status}", + "settings.sandbox_run_id": "ID запуска: {id}", + "settings.sandbox_stop_runs_hint": "Остановите активные запуски перед зондированием", + "settings.select_binary": "Выбрать бинарный файл OpenCode", + "settings.select_workspace_first": + "Выберите локальное рабочее пространство перед открытием конфигурации.", + "settings.send_feedback": "Отправить отзыв", + "settings.service_restarts_desc": + "Перезапустите определённые сервисы хоста, не покидая эту", + "settings.service_restarts_title": "Перезапуски сервисов", + "settings.show_model_reasoning": "Показать рассуждение модели", + "settings.show_model_reasoning_desc": + "Развернуть следы рассуждения в UI, когда модель их предоставляет.", + "settings.sidecar_config_unavailable": "Конфигурация сайдкара недоступна", + "settings.startup_local": "Запустить локальный сервер", + "settings.startup_not_set": "Подключиться к серверу", + "settings.startup_remote_warning": + "Предпочтение запуска сейчас удалённое. Настройки движка", + "settings.startup_reset_hint": + "Это очистит ваше сохранённое предпочтение и покажет подключение", + "settings.startup_server": "Подключиться к серверу", + "settings.stop_local_server": "Остановить локальный сервер", + "settings.stop_runs_before_cleanup": "Остановите активные запуски перед очисткой", + "settings.stop_runs_before_reset_config": + "Остановите активные запуски перед сбросом конфигурации", + "settings.suffix_available": "{available} доступно", + "settings.suffix_connected": "подключено", + "settings.switch": "Переключить", + "settings.tab_description_advanced": + "Проверьте здоровье среды выполнения, состояние подключения и элементы управления для разработчиков.", + "settings.tab_description_appearance": + "Настройте, как выглядит OpenWork на десктопе, тему системы и хром приложения.", + "settings.tab_description_automations": + "Создавайте и управляйте запланированными автоматизациями из настроек рабочего пространства.", + "settings.tab_description_debug": + "Просмотрите диагностику среды выполнения, логи и утилиты низкоуровневой отладки.", + "settings.tab_description_den": + "Управляйте подключением OpenWork Cloud, размещёнными воркерами и доступом к рабочему пространству.", + "settings.tab_description_extensions": + "Управляйте приложениями MCP и плагинами OpenCode для этого рабочего пространства.", + "settings.tab_description_general": + "Подключайте провайдеров, выбирайте модель по умолчанию, авторизуйте папки и управляйте выбранным рабочим пространством OpenWork плюс его подключение среды выполнения.", + "settings.tab_description_messaging": + "Настройте идентичности роутера и поведение ящика из настроек рабочего пространства.", + "settings.tab_description_model": + "Настройте модель по умолчанию, поведение среды выполнения и параметры вывода ассистента.", + "settings.tab_description_recovery": + "Восстановите состояние миграции, сбросьте параметры рабочего пространства по умолчанию и восстановите локальные настройки.", + "settings.tab_description_skills": + "Просматривайте, редактируйте и устанавливайте навыки, не покидая настройки.", + "settings.tab_description_updates": + "Держите приложение в актуальном состоянии с тихими фоновыми проверками и управлением установкой.", + "settings.tab_model": "Модель", + "settings.toolbar_ready_to_install": "Готово к установке${version ? ", + "settings.update_available_version": "Доступно обновление: v{version}", + "settings.update_check_button": "Проверить", + "settings.update_check_failed": "Проверка обновления не удалась", + "settings.update_download_button": "Скачать", + "settings.update_install_button": "Установить и перезапустить", + "settings.update_last_checked": "Последняя проверка {time}", + "settings.update_published": "Опубликовано {date}", + "settings.update_ready_version": "Готово к установке: v{version}", + "settings.updates_desc": "Держите OpenWork в актуальном состоянии.", + "settings.versions_desc": "Сайдкар + информация о сборке десктопа.", + "settings.versions_title": "Версии", + "settings.window_appearance_desc": "Настройте внешний вид окна.", + "settings.worker_id_label": "Воркер {id}", + "settings.worker_unresolved": "Воркер {runtimeWorkspaceId}", + "settings.workspace_config_desc": ".opencode/openwork.json", + "settings.workspace_config_title": "Конфигурация рабочего пространства", + "settings.workspace_debug_events_label": "События отладки рабочего пространства", + "settings.workspace_fallback_name": "Рабочее пространство", + + "share_skill_destination.add_to_workspace": + "share_skill_destination.add_to_workspace", + "share_skill_destination.adding": "share_skill_destination.adding", + "share_skill_destination.connect_remote_hint": + "share_skill_destination.connect_remote_hint", + "share_skill_destination.create_worker_hint": + "share_skill_destination.create_worker_hint", + "share_skill_destination.more_options": + "share_skill_destination.more_options", + + "skills.add_custom_repo": "Добавить пользовательский GitHub репо", + "skills.add_git_repo": "Добавить git репо", + "skills.add_openwork_hub": "Добавить OpenWork Hub", + "skills.available_from_hub": "Доступно из Hub", + "skills.copy_link_failed": "Копирование ссылки не удалось", + "skills.create_in_chat": "Создать навык в чате", + "skills.from_repo": "Из {owner}/{repo}", + "skills.github_repo_hint": "font-mono", + "skills.hub_desc": + "Просматривайте общие навыки из Hub на GitHub и добавляйте их к этому воркеру.", + "skills.hub_label": "Hub", + "skills.import_local_skill": "Импортировать локальный навык", + "skills.install_name_title": "Установить {name}", + "skills.installed_desc": + "Установленные навыки живут на этом воркере и могут быть редактированы или общими.", + "skills.installed_status": "Установлено", + "skills.installing": "Добавить навык", + "skills.installing_prefix": "Установка {name}…", + "skills.link_copied": "Ссылка скопирована", + "skills.loading": "Загрузка…", + "skills.no_description": "Описания пока нет.", + "skills.no_hub_repo_label": "Hub репо не выбрано", + "skills.no_hub_repo_selected": "Hub навыки недоступны.", + "skills.no_hub_skills": + "Hub репо не выбрано. Добавьте GitHub репо для просмотра навыков.", + "skills.owner_label": "Владелец", + "skills.owner_repo_required": "Требуются владелец и репо.", + "skills.ref_label": "Ref (ветка/тег/коммит)", + "skills.refresh_hub": "Обновить hub", + "skills.refresh_hub_title": "Обновить каталог hub", + "skills.remove_saved_repo": "Удалить сохранённый репо", + "skills.repo_label": "Репо", + "skills.save_and_load": "Сохранить и загрузить", + "skills.save_failed": "Сохранение навыка не удалось.", + "skills.shown_count": "Показано {count}", + "skills.skill_load_failed": "Загрузка навыка не удалась.", + "skills.source_label": "Источник", + "skills.trigger_label": "Триггер: {trigger}", + "skills.worker_profile_desc": + "Навыки — это основные способности этого воркера. Откройте их из Hub, управляйте установленными и создавайте новые прямо в чате.", +} as const; From 64997d7b8778fd666b404c8ec2b82591361760a9 Mon Sep 17 00:00:00 2001 From: Vladimir Gordeev Date: Tue, 7 Apr 2026 16:04:55 +0300 Subject: [PATCH 2/2] review issues corrections --- README.md | 2 - README_JA.md | 2 - README_RU.md | 2 - README_ZH.md | 2 - README_ZH_hk.md | 2 - apps/app/src/i18n/locales/ru.ts | 5252 +++++++++++++++---------------- 6 files changed, 2626 insertions(+), 2636 deletions(-) diff --git a/README.md b/README.md index 3989b65da..f32d56101 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,3 @@ -🌐 Languages: English | [Русский](README_RU.md) | [简体中文](README_ZH.md) | [繁體中文](README_ZH_hk.md) | [日本語](README_JA.md) - > OpenWork is the open source alternative to Claude Cowork/Codex (desktop app). diff --git a/README_JA.md b/README_JA.md index bafe11475..3278a2432 100644 --- a/README_JA.md +++ b/README_JA.md @@ -1,7 +1,5 @@ [![Discord](https://img.shields.io/badge/discord-加入-5865F2?logo=discord&logoColor=white)](https://discord.gg/VEhNQXxYMB) -[English](./README.md) | [Русский](./README_RU.md) | [简体中文](./README_ZH.md) | [繁體中文](./README_ZH_hk.md) | 日本語 - # OpenWork > OpenWorkは、Claude Cowork/Codex(デスクトップアプリ)のオープンソース代替です。 diff --git a/README_RU.md b/README_RU.md index f027be454..a4b780b86 100644 --- a/README_RU.md +++ b/README_RU.md @@ -1,5 +1,3 @@ -🌐 Языки: [English](README.md) | Русский | [简体中文](README_ZH.md) | [繁體中文](README_ZH_hk.md) | [日本語](README_JA.md) - > OpenWork — это открытая альтернатива Claude Cowork/Codex (десктопное приложение). diff --git a/README_ZH.md b/README_ZH.md index 55b4e4c8e..bf9a89422 100644 --- a/README_ZH.md +++ b/README_ZH.md @@ -1,7 +1,5 @@ [![Discord](https://img.shields.io/badge/discord-加入-5865F2?logo=discord&logoColor=white)](https://discord.gg/VEhNQXxYMB) -[English](./README.md) | [Русский](./README_RU.md) | 简体中文 | [繁體中文](./README_ZH_hk.md) | [日本語](./README_JA.md) - # OpenWork > 让您的公司提升 1000 倍的生产力。 diff --git a/README_ZH_hk.md b/README_ZH_hk.md index cd2b1fae7..2d9839c4a 100644 --- a/README_ZH_hk.md +++ b/README_ZH_hk.md @@ -1,7 +1,5 @@ [![Discord](https://img.shields.io/badge/discord-加入-5865F2?logo=discord&logoColor=white)](https://discord.gg/VEhNQXxYMB) -[English](./README.md) | [Русский](./README_RU.md) | [简体中文](./README_ZH.md) | 繁體中文 | [日本語](./README_JA.md) - # OpenWork > 讓您的公司提升 1000 倍的生產力。 diff --git a/apps/app/src/i18n/locales/ru.ts b/apps/app/src/i18n/locales/ru.ts index 08f20269a..5cf3e9c4f 100644 --- a/apps/app/src/i18n/locales/ru.ts +++ b/apps/app/src/i18n/locales/ru.ts @@ -1,2724 +1,2724 @@ /** * Russian translations - * Professional terms (Skills, Plugins, Commands, Sessions, OpenCode, OpenPackage, OpenWork) are NOT translated */ export default { + // ==================== Dashboard ==================== "dashboard.title": "Панель управления", - "dashboard.sessions": "Сессии", - "dashboard.commands": "Команды", - "dashboard.skills": "Навыки", - "dashboard.plugins": "Плагины", - "dashboard.mcps": "Приложения", - "dashboard.settings": "Настройки", - "dashboard.home": "Главная", - "dashboard.runs": "Запуски", - "dashboard.find_workspace": "Найти рабочее пространство...", - "dashboard.workspaces": "Рабочие пространства", - "dashboard.no_workspaces": "Нет подходящих рабочих пространств.", - "dashboard.new_workspace": "Новое рабочее пространство...", - "dashboard.new_remote_workspace": "Добавить удалённое рабочее пространство...", - "dashboard.forget_workspace": "Забыть рабочее пространство", - "dashboard.remote": "Удалённое", - "dashboard.connection": "Подключение", - "dashboard.local_engine": "Локальный движок", - "dashboard.client_mode": "Режим клиента", - "dashboard.connected": "Подключено", - "dashboard.not_connected": "Не подключено", - "dashboard.stop_disconnect": "Остановить и отключить", - "dashboard.disconnect": "Отключить", - "dashboard.new_task": "Новая задача", - "dashboard.new": "Создать", - "dashboard.busy": "Занят", - "dashboard.hero_title": "Что сделаем сегодня?", - "dashboard.hero_description": - "Опишите результат. OpenWork выполнит задачу и сохранит журнал.", - "dashboard.quick_start_commands": "Команды быстрого старта", - "dashboard.view_all": "Показать все", - "dashboard.no_commands": - "Команд пока нет. Здесь появятся стартовые команды.", - "dashboard.run_command": "Запустить сохранённую команду", - "dashboard.recent_sessions": "Недавние сессии", - "dashboard.this_workspace": "в этом пространстве", - "dashboard.no_sessions": "Сессий пока нет.", - "dashboard.idle": "Ожидание", - "dashboard.running": "Выполняется", - "dashboard.completed": "Завершено", - "dashboard.failed": "Ошибка", - "dashboard.repairing_cache": "Восстановление кэша", - "dashboard.repair_cache": "Восстановить кэш", - "dashboard.retry": "Повторить", - "dashboard.alpha": "Alpha", - "dashboard.create_workspace_title": "Создать рабочее пространство", - "dashboard.create_workspace_subtitle": - "Инициализировать новое рабочее пространство на основе папки.", - "dashboard.create_workspace_confirm": "Создать рабочее пространство", - "dashboard.create_sandbox_confirm": "Создать как песочницу", - "share_skill_destination.title": "Куда добавить этот навык?", - "share_skill_destination.subtitle": - "Выберите существующее рабочее пространство или создайте новое перед импортом этого общего навыка.", - "share_skill_destination.skill_label": "Общий навык", - "share_skill_destination.fallback_skill_name": "Общий навык", - "share_skill_destination.trigger_label": "Триггер", - "share_skill_destination.current_badge": "Текущий", - "share_skill_destination.existing_workers": "Существующие рабочие пространства", - "share_skill_destination.no_workers": - "Рабочих пространств пока нет. Создайте или подключите удалённое пространство для установки этого навыка.", - "share_skill_destination.new_destination": "Новое назначение", - "share_skill_destination.selection_ready": "Готово к добавлению", - "share_skill_destination.selected_badge": "Выбрано", - "share_skill_destination.selected_hint": - "Выбрано. Проверьте назначение ниже, затем подтвердите.", - "share_skill_destination.footer_idle": "Выберите рабочее пространство для продолжения.", - "share_skill_destination.footer_selected": "Выбранное рабочее пространство:", - "share_skill_destination.confirm_button": "Добавить навык в рабочее пространство", - "share_skill_destination.confirm_busy": "Добавление навыка...", - "share_skill_destination.local_badge": "Локальное", - "share_skill_destination.remote_badge": "Удалённое", - "share_skill_destination.sandbox_badge": "Песочница", - "share_skill_destination.create_worker": "Создать новое рабочее пространство", - "share_skill_destination.create_worker_desc": - "Откройте настройку рабочего пространства, затем добавьте этот навык после готовности нового пространства.", - "share_skill_destination.connect_remote": "Подключить удалённое рабочее пространство", - "share_skill_destination.connect_remote_desc": - "Подключите хост OpenWork, затем выберите его из списка для импорта этого навыка.", - "dashboard.sandbox_get_ready_title": "Песочница требует Docker", - "dashboard.sandbox_get_ready_action": "Подготовить систему", - "dashboard.sandbox_get_ready_desc": - "Запустите это рабочее пространство в изолированном контейнере Docker для более безопасных и воспроизводимых запусков.", - "dashboard.sandbox_checking_docker": "Проверка Docker...", - "dashboard.create_remote_workspace_title": "Добавить удалённое рабочее пространство", - "dashboard.create_remote_workspace_subtitle": - "Сохранить сервер OpenWork как рабочее пространство.", - "dashboard.create_remote_workspace_confirm": "Добавить рабочее пространство", - "dashboard.edit_remote_workspace_title": "Редактировать удалённое подключение", - "dashboard.edit_remote_workspace_subtitle": - "Обновить данные сервера OpenWork для этого рабочего пространства.", - "dashboard.edit_remote_workspace_confirm": "Сохранить подключение", - "dashboard.remote_workspace_title": "Удалённое рабочее пространство", - "dashboard.remote_workspace_hint": - "Отслеживайте сервер OpenWork и переподключайтесь в любое время.", - "dashboard.remote_base_url_label": "URL сервера OpenWork", - "dashboard.remote_base_url_placeholder": "http://127.0.0.1:", - "dashboard.remote_base_url_required": "Добавьте URL сервера для продолжения.", - "dashboard.openwork_host_label": "URL сервера OpenWork", - "dashboard.openwork_host_placeholder": "https://your-server.openwork.app", - "dashboard.openwork_host_hint": "Используйте URL, предоставленный вашим сервером OpenWork.", - "dashboard.openwork_host_token_label": "Токен соавтора или владельца", - "dashboard.openwork_host_token_placeholder": "Вставьте ваш токен", - "dashboard.openwork_host_token_hint": - "Необязательно. Вставьте токен соавтора для обычного доступа или токен владельца, когда этот клиент должен отвечать на запросы разрешений.", - "dashboard.remote_mode_openwork_alpha": "Сервер OpenWork", - "dashboard.remote_mode_direct": "Прямое (устаревшее)", - "dashboard.remote_connection_openwork": "OpenWork", - "dashboard.remote_connection_direct": "Прямое", - "dashboard.remote_directory_label": "Директория рабочего пространства (необязательно)", - "dashboard.remote_directory_placeholder": "/home/team/project", - "dashboard.remote_directory_hint": "Оставьте пустым для использования серверной директории по умолчанию.", - "dashboard.remote_display_name_label": "Отображаемое имя (необязательно)", - "dashboard.remote_display_name_placeholder": "Рабочее пространство команды дизайна", - "dashboard.select_folder": "Выбрать папку", - "dashboard.choose_folder": "Выберите папку", - "dashboard.choose_folder_next": "Поделитесь файлами с вашим рабочим пространством.", - "dashboard.change": "Изменить", - "dashboard.opening": "Открытие...", - "dashboard.choose_preset": "Выберите пресет", - "dashboard.choose_folder_continue": "Выберите папку для продолжения.", - "dashboard.starter_workspace": "Стартовое рабочее пространство", - "dashboard.starter_workspace_desc": - "Преднастроено для демонстрации работы с плагинами, командами и навыками.", - "dashboard.empty_workspace": "Пустое рабочее пространство", - "dashboard.empty_workspace_desc": - "Начните с пустой папки и добавьте всё необходимое.", - "dashboard.blueprints_workspace": "Шаблоны", - "dashboard.blueprints_workspace_desc": - "Начните с рабочего пространства, готового к автоматизации, с переиспользуемыми навыками, командами и общими потоками.", + "dashboard.sessions": "Сессии", + "dashboard.commands": "Команды", + "dashboard.skills": "Навыки", + "dashboard.plugins": "Плагины", + "dashboard.mcps": "Приложения", + "dashboard.settings": "Настройки", + "dashboard.home": "Главная", + "dashboard.runs": "Запуски", + "dashboard.find_workspace": "Найти рабочее пространство...", + "dashboard.workspaces": "Рабочие пространства", + "dashboard.no_workspaces": "Нет подходящих рабочих пространств.", + "dashboard.new_workspace": "Новое рабочее пространство...", + "dashboard.new_remote_workspace": "Добавить удалённое рабочее пространство...", + "dashboard.forget_workspace": "Забыть рабочее пространство", + "dashboard.remote": "Удалённое", + "dashboard.connection": "Подключение", + "dashboard.local_engine": "Локальный движок", + "dashboard.client_mode": "Режим клиента", + "dashboard.connected": "Подключено", + "dashboard.not_connected": "Не подключено", + "dashboard.stop_disconnect": "Остановить и отключить", + "dashboard.disconnect": "Отключить", + "dashboard.new_task": "Новая задача", + "dashboard.new": "Создать", + "dashboard.busy": "Занят", + "dashboard.hero_title": "Что сделаем сегодня?", + "dashboard.hero_description": + "Опишите результат. OpenWork выполнит задачу и сохранит журнал.", + "dashboard.quick_start_commands": "Команды быстрого старта", + "dashboard.view_all": "Показать все", + "dashboard.no_commands": + "Команд пока нет. Здесь появятся стартовые команды.", + "dashboard.run_command": "Запустить сохранённую команду", + "dashboard.recent_sessions": "Недавние сессии", + "dashboard.this_workspace": "в этом пространстве", + "dashboard.no_sessions": "Сессий пока нет.", + "dashboard.idle": "Ожидание", + "dashboard.running": "Выполняется", + "dashboard.completed": "Завершено", + "dashboard.failed": "Ошибка", + "dashboard.repairing_cache": "Восстановление кэша", + "dashboard.repair_cache": "Восстановить кэш", + "dashboard.retry": "Повторить", + "dashboard.alpha": "Alpha", + "dashboard.create_workspace_title": "Создать рабочее пространство", + "dashboard.create_workspace_subtitle": + "Инициализировать новое рабочее пространство на основе папки.", + "dashboard.create_workspace_confirm": "Создать рабочее пространство", + "dashboard.create_sandbox_confirm": "Создать как песочницу", + "share_skill_destination.title": "Куда добавить этот навык?", + "share_skill_destination.subtitle": + "Выберите существующее рабочее пространство или создайте новое перед импортом этого общего навыка.", + "share_skill_destination.skill_label": "Общий навык", + "share_skill_destination.fallback_skill_name": "Общий навык", + "share_skill_destination.trigger_label": "Триггер", + "share_skill_destination.current_badge": "Текущий", + "share_skill_destination.existing_workers": "Существующие рабочие пространства", + "share_skill_destination.no_workers": + "Рабочих пространств пока нет. Создайте или подключите удалённое пространство для установки этого навыка.", + "share_skill_destination.new_destination": "Новое назначение", + "share_skill_destination.selection_ready": "Готово к добавлению", + "share_skill_destination.selected_badge": "Выбрано", + "share_skill_destination.selected_hint": + "Выбрано. Проверьте назначение ниже, затем подтвердите.", + "share_skill_destination.footer_idle": "Выберите рабочее пространство для продолжения.", + "share_skill_destination.footer_selected": "Выбранное рабочее пространство:", + "share_skill_destination.confirm_button": "Добавить навык в рабочее пространство", + "share_skill_destination.confirm_busy": "Добавление навыка...", + "share_skill_destination.local_badge": "Локальное", + "share_skill_destination.remote_badge": "Удалённое", + "share_skill_destination.sandbox_badge": "Песочница", + "share_skill_destination.create_worker": "Создать новое рабочее пространство", + "share_skill_destination.create_worker_desc": + "Откройте настройку рабочего пространства, затем добавьте этот навык после готовности нового пространства.", + "share_skill_destination.connect_remote": "Подключить удалённое рабочее пространство", + "share_skill_destination.connect_remote_desc": + "Подключите хост OpenWork, затем выберите его из списка для импорта этого навыка.", + "dashboard.sandbox_get_ready_title": "Песочница требует Docker", + "dashboard.sandbox_get_ready_action": "Подготовить систему", + "dashboard.sandbox_get_ready_desc": + "Запустите это рабочее пространство в изолированном контейнере Docker для более безопасных и воспроизводимых запусков.", + "dashboard.sandbox_checking_docker": "Проверка Docker...", + "dashboard.create_remote_workspace_title": "Добавить удалённое рабочее пространство", + "dashboard.create_remote_workspace_subtitle": + "Сохранить сервер OpenWork как рабочее пространство.", + "dashboard.create_remote_workspace_confirm": "Добавить рабочее пространство", + "dashboard.edit_remote_workspace_title": "Редактировать удалённое подключение", + "dashboard.edit_remote_workspace_subtitle": + "Обновить данные сервера OpenWork для этого рабочего пространства.", + "dashboard.edit_remote_workspace_confirm": "Сохранить подключение", + "dashboard.remote_workspace_title": "Удалённое рабочее пространство", + "dashboard.remote_workspace_hint": + "Отслеживайте сервер OpenWork и переподключайтесь в любое время.", + "dashboard.remote_base_url_label": "URL сервера OpenWork", + "dashboard.remote_base_url_placeholder": "http://127.0.0.1:", + "dashboard.remote_base_url_required": "Добавьте URL сервера для продолжения.", + "dashboard.openwork_host_label": "URL сервера OpenWork", + "dashboard.openwork_host_placeholder": "https://your-server.openwork.app", + "dashboard.openwork_host_hint": "Используйте URL, предоставленный вашим сервером OpenWork.", + "dashboard.openwork_host_token_label": "Токен соавтора или владельца", + "dashboard.openwork_host_token_placeholder": "Вставьте ваш токен", + "dashboard.openwork_host_token_hint": + "Необязательно. Вставьте токен соавтора для обычного доступа или токен владельца, когда этот клиент должен отвечать на запросы разрешений.", + "dashboard.remote_mode_openwork_alpha": "Сервер OpenWork", + "dashboard.remote_mode_direct": "Прямое (устаревшее)", + "dashboard.remote_connection_openwork": "OpenWork", + "dashboard.remote_connection_direct": "Прямое", + "dashboard.remote_directory_label": "Директория рабочего пространства (необязательно)", + "dashboard.remote_directory_placeholder": "/home/team/project", + "dashboard.remote_directory_hint": "Оставьте пустым для использования серверной директории по умолчанию.", + "dashboard.remote_display_name_label": "Отображаемое имя (необязательно)", + "dashboard.remote_display_name_placeholder": "Рабочее пространство команды дизайна", + "dashboard.select_folder": "Выбрать папку", + "dashboard.choose_folder": "Выберите папку", + "dashboard.choose_folder_next": "Поделитесь файлами с вашим рабочим пространством.", + "dashboard.change": "Изменить", + "dashboard.opening": "Открытие...", + "dashboard.choose_preset": "Выберите пресет", + "dashboard.choose_folder_continue": "Выберите папку для продолжения.", + "dashboard.starter_workspace": "Стартовое рабочее пространство", + "dashboard.starter_workspace_desc": + "Преднастроено для демонстрации работы с плагинами, командами и навыками.", + "dashboard.empty_workspace": "Пустое рабочее пространство", + "dashboard.empty_workspace_desc": + "Начните с пустой папки и добавьте всё необходимое.", + "dashboard.blueprints_workspace": "Шаблоны", + "dashboard.blueprints_workspace_desc": + "Начните с рабочего пространства, готового к автоматизации, с переиспользуемыми навыками, командами и общими потоками.", "workspace.rename_title": "Редактировать имя рабочего пространства", - "workspace.rename_description": "Обновите имя, отображаемое в боковой панели.", - "workspace.rename_label": "Имя рабочего пространства", - "workspace.rename_placeholder": "Рабочее пространство команды дизайна", + "workspace.rename_description": "Обновите имя, отображаемое в боковой панели.", + "workspace.rename_label": "Имя рабочего пространства", + "workspace.rename_placeholder": "Рабочее пространство команды дизайна", "session.no_selected": "Сессия не выбрана", - "session.back_to_dashboard": "Назад к панели управления", - "session.new_task": "Новая задача", - "session.recents": "Недавние", - "session.recents_notice": - "Эти задачи выполняются локально и не синхронизируются между устройствами.", - "session.ready_to_work_title": "Готово к работе", - "session.ready_to_work_description": - "Опишите задачу. Я покажу прогресс и запрошу разрешения при необходимости.", - "session.document_label": "Документ", - "session.standard_label": "Стандартный", - "session.no_artifacts_fallback": "Артефактов пока нет.", - "session.active_plugins_label": "Активные плагины", - "session.active_plugins_count": "{count}", - "session.no_plugins_loaded": "Плагины не загружены.", - "session.selected_folders_label": "Выбранные папки", - "session.selected_folders_count": "{count}", - "session.working_files_label": "Рабочие файлы", - "session.none_yet_label": "Пока нет.", - "session.permission_required_title": "Требуется разрешение", - "session.permission_required_description": - "OpenCode запрашивает разрешение на продолжение.", - "session.permission_label_uppercase": "Разрешение", - "session.scope_label_uppercase": "Область", - "session.details_label": "Детали", - "session.steps_notice_text": "Шаги появятся по мере выполнения задачи.", - "session.ready_to_work": "Готово к работе", - "session.ready_description": - "Опишите задачу. Я покажу прогресс и запрошу разрешения при необходимости.", - "session.hide_steps": "Скрыть шаги", - "session.view_steps": "Показать шаги", - "session.open": "Открыть", - "session.reveal": "Показать", - "session.opened_toast": "Открыто в приложении по умолчанию.", - "session.revealed_toast": "Показано в файловом менеджере.", - "session.artifact_path_missing": "Путь к артефакту отсутствует.", - "session.desktop_only": "Открытие доступно только в десктопном приложении.", - "session.open_failed": "Не удалось открыть артефакт.", - "session.model": "Модель", - "session.ready": "Готово", - "session.connect_provider": "Подключите провайдер для настройки.", - "session.running": "Выполняется", - "session.progress": "Прогресс", - "session.steps_notice": "Шаги появятся по мере выполнения задачи.", - "session.artifacts": "Артефакты", - "session.no_artifacts": "Артефактов пока нет.", - "session.context": "Контекст", - "session.active_plugins": "Активные плагины", - "session.no_plugins": "Плагины не загружены.", - "session.selected_folders": "Выбранные папки", - "session.working_files": "Рабочие файлы", - "session.none_yet": "Пока нет.", - "session.document": "Документ", - "session.standard": "Стандартный", - "session.try_notion_prompt": "Попробуйте: настройте мою CRM в Notion", - "session.insert_prompt": "Вставить запрос", - "session.placeholder": "Спросите OpenWork...", - "session.run": "Запустить", - "session.permission_required": "Требуется разрешение", - "session.permission_description": - "OpenCode запрашивает разрешение на продолжение.", - "session.permission_label": "Разрешение", - "session.scope_label": "Область", - "session.details": "Детали", - "session.deny": "Отклонить", - "session.once": "Один раз", - "session.allow_for_session": "Разрешить для сессии", + "session.back_to_dashboard": "Назад к панели управления", + "session.new_task": "Новая задача", + "session.recents": "Недавние", + "session.recents_notice": + "Эти задачи выполняются локально и не синхронизируются между устройствами.", + "session.ready_to_work_title": "Готово к работе", + "session.ready_to_work_description": + "Опишите задачу. Я покажу прогресс и запрошу разрешения при необходимости.", + "session.document_label": "Документ", + "session.standard_label": "Стандартный", + "session.no_artifacts_fallback": "Артефактов пока нет.", + "session.active_plugins_label": "Активные плагины", + "session.active_plugins_count": "{count}", + "session.no_plugins_loaded": "Плагины не загружены.", + "session.selected_folders_label": "Выбранные папки", + "session.selected_folders_count": "{count}", + "session.working_files_label": "Рабочие файлы", + "session.none_yet_label": "Пока нет.", + "session.permission_required_title": "Требуется разрешение", + "session.permission_required_description": + "OpenCode запрашивает разрешение на продолжение.", + "session.permission_label_uppercase": "Разрешение", + "session.scope_label_uppercase": "Область", + "session.details_label": "Детали", + "session.steps_notice_text": "Шаги появятся по мере выполнения задачи.", + "session.ready_to_work": "Готово к работе", + "session.ready_description": + "Опишите задачу. Я покажу прогресс и запрошу разрешения при необходимости.", + "session.hide_steps": "Скрыть шаги", + "session.view_steps": "Показать шаги", + "session.open": "Открыть", + "session.reveal": "Показать", + "session.opened_toast": "Открыто в приложении по умолчанию.", + "session.revealed_toast": "Показано в файловом менеджере.", + "session.artifact_path_missing": "Путь к артефакту отсутствует.", + "session.desktop_only": "Открытие доступно только в десктопном приложении.", + "session.open_failed": "Не удалось открыть артефакт.", + "session.model": "Модель", + "session.ready": "Готово", + "session.connect_provider": "Подключите провайдер для настройки.", + "session.running": "Выполняется", + "session.progress": "Прогресс", + "session.steps_notice": "Шаги появятся по мере выполнения задачи.", + "session.artifacts": "Артефакты", + "session.no_artifacts": "Артефактов пока нет.", + "session.context": "Контекст", + "session.active_plugins": "Активные плагины", + "session.no_plugins": "Плагины не загружены.", + "session.selected_folders": "Выбранные папки", + "session.working_files": "Рабочие файлы", + "session.none_yet": "Пока нет.", + "session.document": "Документ", + "session.standard": "Стандартный", + "session.try_notion_prompt": "Попробуйте: настройте мою CRM в Notion", + "session.insert_prompt": "Вставить запрос", + "session.placeholder": "Спросите OpenWork...", + "session.run": "Запустить", + "session.permission_required": "Требуется разрешение", + "session.permission_description": + "OpenCode запрашивает разрешение на продолжение.", + "session.permission_label": "Разрешение", + "session.scope_label": "Область", + "session.details": "Детали", + "session.deny": "Отклонить", + "session.once": "Один раз", + "session.allow_for_session": "Разрешить для сессии", - "session.tasks_local_hint": - "Эти задачи выполняются локально и не синхронизируются между устройствами.", - "session.recents_label": "Недавние", - "session.model_standard": "Стандартный", - "session.run_button_title": "Запустить", - "session.rename_title": "Переименовать сессию", - "session.rename_description": "Обновите имя для этой сессии.", - "session.rename_label": "Имя сессии", - "session.rename_placeholder": "Введите новое имя", - "session.provider_connected": "Провайдер подключён", - "session.oauth_failed": "OAuth не удался", - "session.api_key_saved": "API ключ сохранён", - "session.failed_to_save_api_key": "Не удалось сохранить API ключ", - "session.quick_actions_title": "Быстрые действия (Ctrl/Cmd+K)", - "session.quick_actions_label": "Быстрые действия", - "session.menu_label": "Меню", - "session.search_conversation_title": "Поиск в разговоре (Ctrl/Cmd+F)", - "session.search_conversation_label": "Поиск в разговоре", - "session.undo_title": "Отменить последнее сообщение", - "session.revert_label": "Вернуть", - "session.redo_title": "Повторить последнее отменённое сообщение", - "session.redo_aria_label": "Повторить последнее отменённое сообщение", + "session.tasks_local_hint": + "Эти задачи выполняются локально и не синхронизируются между устройствами.", + "session.recents_label": "Недавние", + "session.model_standard": "Стандартный", + "session.run_button_title": "Запустить", + "session.rename_title": "Переименовать сессию", + "session.rename_description": "Обновите имя для этой сессии.", + "session.rename_label": "Имя сессии", + "session.rename_placeholder": "Введите новое имя", + "session.provider_connected": "Провайдер подключён", + "session.oauth_failed": "OAuth не удался", + "session.api_key_saved": "API ключ сохранён", + "session.failed_to_save_api_key": "Не удалось сохранить API ключ", + "session.quick_actions_title": "Быстрые действия (Ctrl/Cmd+K)", + "session.quick_actions_label": "Быстрые действия", + "session.menu_label": "Меню", + "session.search_conversation_title": "Поиск в разговоре (Ctrl/Cmd+F)", + "session.search_conversation_label": "Поиск в разговоре", + "session.undo_title": "Отменить последнее сообщение", + "session.revert_label": "Вернуть", + "session.redo_title": "Повторить последнее отменённое сообщение", + "session.redo_aria_label": "Повторить последнее отменённое сообщение", "commands.new": "Создать", - "commands.empty_state": - "Сохраните запрос или команду, чтобы запустить их снова одним нажатием.", - "commands.workspace": "Это рабочее пространство", - "commands.global": "Все рабочие пространства", - "commands.other": "Другие команды", - "commands.run": "Запустить", - "commands.modal_title": "Сохранить переиспользуемый поток", - "commands.modal_description": "Сохраните запрос или команду для быстрого повторного использования.", - "commands.name_label": "Имя команды", - "commands.name_placeholder": "например, daily-standup", - "commands.name_hint": "Это станет /daily-standup в OpenCode.", - "commands.description_label": "Описание (необязательно)", - "commands.description_placeholder": "Что делает эта команда?", - "commands.template_label": "Инструкции", - "commands.template_placeholder": "Напишите инструкции для повторного использования…", - "commands.template_hint": "Используйте $ARGUMENTS для передачи деталей.", - "commands.details_required": "Детали", - "commands.default_description": "Запустить сохранённую команду", - "commands.command_label": "Команда", - "commands.details_label": "Детали", - "commands.details_placeholder": "Добавьте необязательные детали", - "commands.details_hint": "Эти детали передаются команде.", - "commands.run_modal_title": "Запустить команду", - "commands.run_modal_description": "Добавьте необязательные детали перед запуском.", - "commands.run_modal_run": "Запустить команду", - "commands.name_will_be": "Будет создано как", - "commands.override_title": "Заменить существующую команду?", - "commands.override_description": "Команда с таким именем уже существует.", - "commands.override_warning": - 'Это заменит существующую команду "{name}". Это действие нельзя отменить.', - "commands.override_confirm": "Заменить", - "commands.override_cancel": "Оставить существующую", + "commands.empty_state": + "Сохраните запрос или команду, чтобы запустить их снова одним нажатием.", + "commands.workspace": "Это рабочее пространство", + "commands.global": "Все рабочие пространства", + "commands.other": "Другие команды", + "commands.run": "Запустить", + "commands.modal_title": "Сохранить переиспользуемый поток", + "commands.modal_description": "Сохраните запрос или команду для быстрого повторного использования.", + "commands.name_label": "Имя команды", + "commands.name_placeholder": "например, daily-standup", + "commands.name_hint": "Это станет /daily-standup в OpenCode.", + "commands.description_label": "Описание (необязательно)", + "commands.description_placeholder": "Что делает эта команда?", + "commands.template_label": "Инструкции", + "commands.template_placeholder": "Напишите инструкции для повторного использования…", + "commands.template_hint": "Используйте $ARGUMENTS для передачи деталей.", + "commands.details_required": "Детали", + "commands.default_description": "Запустить сохранённую команду", + "commands.command_label": "Команда", + "commands.details_label": "Детали", + "commands.details_placeholder": "Добавьте необязательные детали", + "commands.details_hint": "Эти детали передаются команде.", + "commands.run_modal_title": "Запустить команду", + "commands.run_modal_description": "Добавьте необязательные детали перед запуском.", + "commands.run_modal_run": "Запустить команду", + "commands.name_will_be": "Будет создано как", + "commands.override_title": "Заменить существующую команду?", + "commands.override_description": "Команда с таким именем уже существует.", + "commands.override_warning": + 'Это заменит существующую команду "{name}". Это действие нельзя отменить.', + "commands.override_confirm": "Заменить", + "commands.override_cancel": "Оставить существующую", "skills.title": "Навыки", - "skills.subtitle": "Управляйте навыками для этого рабочего пространства.", - "skills.refresh": "Обновить", - "skills.add_title": "Добавить навыки", - "skills.add_description": - "Установите стартовую команду, импортируйте навык или откройте папку.", - "skills.install_from_openpackage": "Установить из OpenPackage", - "skills.host_mode_only": "Только локальное рабочее пространство", - "skills.install": "Установить", - "skills.installed_label": "Установлено", - "skills.install_hint": - "Устанавливает пакеты OpenPackage в текущее рабочее пространство. Навыки должны появиться в `.opencode/skills`.", - "skills.import_local": "Импортировать локальный навык", - "skills.import_local_hint": - "Скопируйте существующую папку навыка в это рабочее пространство.", - "skills.import": "Импорт", - "skills.curated_packages": "Подобранные пакеты", - "skills.view": "Просмотр", - "skills.search_placeholder": - "Поиск пакетов или списков (например, claude, registry, community)", - "skills.no_matches": "Нет подобранных совпадений. Попробуйте другой поиск.", - "skills.install_package": "Установить", - "skills.registry_notice": - "Публикация в реестр OpenPackage сегодня требует аутентификации. Поиск по реестру + синхронизация подобранного списка запланированы.", - "skills.installed": "Установленные навыки", - "skills.no_skills": - "Навыки не обнаружены в `.opencode/skills`, `.claude/skills` или `~/.agents/skills`.", - "skills.desktop_required": "Управление навыками требует десктопного приложения.", - "skills.host_only_error": - "Управление навыками требует локального рабочего пространства или подключённого сервера OpenWork.", - "skills.install_skill_creator": "Установить создатель навыков", - "skills.install_skill_creator_hint": - "Этот навык позволяет создавать другие навыки прямо из чата.", - "skills.installing_skill_creator": "Установка создателя навыков...", - "skills.skill_creator_installed": "Создатель навыков установлен.", - "skills.skill_creator_already_installed": - "Создатель навыков уже установлен.", - "skills.install_failed": "Установка навыка не удалась.", - "skills.reveal_folder": "Открыть папку навыков", - "skills.reveal_folder_hint": "Откройте директорию навыков в Finder.", - "skills.reveal_button": "Показать в Finder", - "skills.reveal_failed": "Не удалось открыть папку навыков.", - "skills.uninstall": "Удалить", - "skills.uninstall_title": "Удалить навык?", - "skills.uninstall_warning": - "Это навсегда удалит навык `{name}` из вашего рабочего пространства.", - "skills.uninstall_failed": "Не удалось удалить навык.", - "skills.uninstalled": "Навык удалён.", - "skills.share_title": "Поделиться навыком", - "skills.share_chooser_subtitle": - "Сохраните в вашу организацию OpenWork Cloud или опубликуйте публичную ссылку для установки.", - "skills.share_subtitle_public": - "Любой, у кого есть ссылка, может установить этот навык.", - "skills.share_subtitle_team": "Хранится в вашей организации для команды.", - "skills.share_option_team_title": "Поделиться с командой", - "skills.share_option_team_desc": - "Добавьте этот навык в вашу активную организацию OpenWork Cloud.", - "skills.share_option_public_title": "Публичная ссылка", - "skills.share_option_public_desc": - "Создайте ссылку, которую любой сможет использовать для установки этого навыка.", - "skills.share_public_intro": - "Опубликуйте публичную ссылку. Любой, у кого есть URL, сможет установить этот навык.", - "skills.share_publisher_label": "Издатель", - "skills.share_public_create": "Создать ссылку", - "skills.share_public_regenerate": "Пересоздать ссылку", - "skills.share_public_creating": "Публикация…", - "skills.share_copy_link": "Копировать", - "skills.share_team_intro": - "Сохраните этот навык в вашу активную организацию, чтобы команда могла установить его из Cloud.", - "skills.share_team_org_fallback": "Активная организация Cloud", - "skills.share_team_hub_label": "Добавить в хаб навыков (необязательно)", - "skills.share_team_hub_none": "Только организация — не в хабе", - "skills.share_team_hubs_loading": "Загрузка хабов…", - "skills.share_team_sign_in": "Войдите, чтобы поделиться с командой", - "skills.share_team_sign_in_hint": - "OpenWork Cloud откроется в вашем браузере. Вернитесь сюда после входа.", - "skills.share_team_save": "Сохранить для команды", - "skills.share_team_saving": "Сохранение…", - "skills.share_team_success": - "Сохранено в {org}. Команда может установить его из навыков вашей организации.", - "skills.share_team_choose_org": - "Выберите организацию в Настройки → Cloud перед тем, как поделиться с командой.", - "skills.share_back": "Назад", - "skills.share_close": "Закрыть", - "skills.share_done": "Готово", - "skills.source_placeholder": "github:anthropics/claude-code", - "skills.notion_crm_title": "Навыки обогащения Notion CRM", - "skills.notion_crm_description": - "Добавьте рабочие процессы обогащения для контактов, воронок и последующих действий.", - "skills.notion_crm_card_description": - "Обогатите данные Notion CRM готовыми навыками.", - "skills.connect_host_to_load": "Подключите сервер OpenWork для загрузки навыков.", - "skills.pick_workspace_first": "Сначала выберите папку рабочего пространства.", - "skills.no_skills_found": "Навыки пока не найдены.", - "skills.installed_description": "Навыки, доступные в этом рабочем пространстве.", - "skills.failed_to_load": "Не удалось загрузить навыки", - "skills.plugin_management_host_only": - "Управление плагинами требует десктопного приложения.", - "skills.plugins_host_only": "Плагины доступны только в десктопном приложении.", - "skills.pick_project_for_plugins": - "Выберите папку проекта для управления плагинами проекта.", - "skills.pick_project_for_active": - "Выберите папку проекта для загрузки активных плагинов.", - "skills.no_opencode_found": - "opencode.json пока не найден. Добавьте плагин для его создания.", - "skills.no_opencode_workspace": "opencode.json в этом рабочем пространстве пока нет.", - "skills.failed_parse_opencode": "Не удалось распарсить opencode.json", - "skills.failed_load_opencode": "Не удалось загрузить opencode.json", - "skills.failed_load_active": "Не удалось загрузить активные плагины.", - "skills.enter_plugin_name": "Введите имя пакета плагина.", - "skills.plugin_already_listed": "Плагин уже указан в opencode.json.", - "skills.failed_update_opencode": "Не удалось обновить opencode.json", - "skills.opackage_install_host_only": - "Установка OpenPackage требует десктопного приложения.", - "skills.pick_project_first": "Сначала выберите папку проекта.", - "skills.enter_opackage_source": - "Введите источник OpenPackage (например, github:anthropics/claude-code).", - "skills.installing_opackage": "Установка OpenPackage...", - "skills.install_complete": "Установлено.", - "skills.curated_list_notice": - "Это подобранный список, ещё не OpenPackage. Скопируйте ссылку или следите за PRD для планов интеграции поиска по реестру.", - "skills.import_host_only": "Импорт навыков требует десктопного приложения.", - "skills.select_skill_folder": "Выберите папку навыка", - "skills.import_failed": "Импорт не удался ({status})", - "skills.imported": "Импортировано.", - "skills.unknown_error": "Неизвестная ошибка", - "skills.filter_all": "Все", - "skills.filter_installed": "Установлено", - "skills.filter_cloud": "Команда", - "skills.filter_hub": "Хаб", - "skills.catalog_search_placeholder": "Поиск установленных, командных и хаб-навыков", - "skills.cloud_section_title": "Из вашей организации", - "skills.cloud_section_subtitle": - "Навыки, которыми поделились с вами через OpenWork Cloud — включая командные хабы навыков, к которым у вас есть доступ.", - "skills.cloud_refresh": "Обновить командные навыки", - "skills.cloud_org_fallback": "OpenWork Cloud", - "skills.cloud_sign_in_hint": - "Войдите в OpenWork Cloud для просмотра командных и организационных навыков.", - "skills.cloud_sign_in": "Войти в Cloud", - "skills.cloud_choose_org_hint": - "Выберите организацию в Настройки → Cloud для загрузки командных навыков.", - "skills.cloud_choose_org_detail": - "Используйте панель Cloud для выбора активной организации, затем обновите этот список.", - "skills.cloud_org_empty": "Организационные навыки пока недоступны.", - "skills.cloud_org_load_failed": "Не удалось загрузить организационные навыки.", - "skills.cloud_no_search_matches": "Нет навыков, соответствующих поиску.", - "skills.cloud_install_need_server": - "Подключитесь к серверу OpenWork с правом записи навыков для установки командных навыков на этот воркер.", - "skills.cloud_installed": "Установлено {name} на этот воркер.", - "skills.cloud_installing": "Установка {title}…", - "skills.cloud_installing_short": "Установка", - "skills.cloud_add_skill": "Добавить навык", - "skills.cloud_badge": "Cloud", - "skills.cloud_hub_label": "Хаб: {name}", - "skills.cloud_shared_org": "Организация", - "skills.cloud_shared_public": "Публичное", - "skills.cloud_footer_label": "Команда", + "skills.subtitle": "Управляйте навыками для этого рабочего пространства.", + "skills.refresh": "Обновить", + "skills.add_title": "Добавить навыки", + "skills.add_description": + "Установите стартовую команду, импортируйте навык или откройте папку.", + "skills.install_from_openpackage": "Установить из OpenPackage", + "skills.host_mode_only": "Только локальное рабочее пространство", + "skills.install": "Установить", + "skills.installed_label": "Установлено", + "skills.install_hint": + "Устанавливает пакеты OpenPackage в текущее рабочее пространство. Навыки должны появиться в `.opencode/skills`.", + "skills.import_local": "Импортировать локальный навык", + "skills.import_local_hint": + "Скопируйте существующую папку навыка в это рабочее пространство.", + "skills.import": "Импорт", + "skills.curated_packages": "Подобранные пакеты", + "skills.view": "Просмотр", + "skills.search_placeholder": + "Поиск пакетов или списков (например, claude, registry, community)", + "skills.no_matches": "Нет подобранных совпадений. Попробуйте другой поиск.", + "skills.install_package": "Установить", + "skills.registry_notice": + "Публикация в реестр OpenPackage сегодня требует аутентификации. Поиск по реестру + синхронизация подобранного списка запланированы.", + "skills.installed": "Установленные навыки", + "skills.no_skills": + "Навыки не обнаружены в `.opencode/skills`, `.claude/skills` или `~/.agents/skills`.", + "skills.desktop_required": "Управление навыками требует десктопного приложения.", + "skills.host_only_error": + "Управление навыками требует локального рабочего пространства или подключённого сервера OpenWork.", + "skills.install_skill_creator": "Установить создатель навыков", + "skills.install_skill_creator_hint": + "Этот навык позволяет создавать другие навыки прямо из чата.", + "skills.installing_skill_creator": "Установка создателя навыков...", + "skills.skill_creator_installed": "Создатель навыков установлен.", + "skills.skill_creator_already_installed": + "Создатель навыков уже установлен.", + "skills.install_failed": "Установка навыка не удалась.", + "skills.reveal_folder": "Открыть папку навыков", + "skills.reveal_folder_hint": "Откройте директорию навыков в Finder.", + "skills.reveal_button": "Показать в Finder", + "skills.reveal_failed": "Не удалось открыть папку навыков.", + "skills.uninstall": "Удалить", + "skills.uninstall_title": "Удалить навык?", + "skills.uninstall_warning": + "Это навсегда удалит навык `{name}` из вашего рабочего пространства.", + "skills.uninstall_failed": "Не удалось удалить навык.", + "skills.uninstalled": "Навык удалён.", + "skills.share_title": "Поделиться навыком", + "skills.share_chooser_subtitle": + "Сохраните в вашу организацию OpenWork Cloud или опубликуйте публичную ссылку для установки.", + "skills.share_subtitle_public": + "Любой, у кого есть ссылка, может установить этот навык.", + "skills.share_subtitle_team": "Хранится в вашей организации для команды.", + "skills.share_option_team_title": "Поделиться с командой", + "skills.share_option_team_desc": + "Добавьте этот навык в вашу активную организацию OpenWork Cloud.", + "skills.share_option_public_title": "Публичная ссылка", + "skills.share_option_public_desc": + "Создайте ссылку, которую любой сможет использовать для установки этого навыка.", + "skills.share_public_intro": + "Опубликуйте публичную ссылку. Любой, у кого есть URL, сможет установить этот навык.", + "skills.share_publisher_label": "Издатель", + "skills.share_public_create": "Создать ссылку", + "skills.share_public_regenerate": "Пересоздать ссылку", + "skills.share_public_creating": "Публикация…", + "skills.share_copy_link": "Копировать", + "skills.share_team_intro": + "Сохраните этот навык в вашу активную организацию, чтобы команда могла установить его из Cloud.", + "skills.share_team_org_fallback": "Активная организация Cloud", + "skills.share_team_hub_label": "Добавить в хаб навыков (необязательно)", + "skills.share_team_hub_none": "Только организация — не в хабе", + "skills.share_team_hubs_loading": "Загрузка хабов…", + "skills.share_team_sign_in": "Войдите, чтобы поделиться с командой", + "skills.share_team_sign_in_hint": + "OpenWork Cloud откроется в вашем браузере. Вернитесь сюда после входа.", + "skills.share_team_save": "Сохранить для команды", + "skills.share_team_saving": "Сохранение…", + "skills.share_team_success": + "Сохранено в {org}. Команда может установить его из навыков вашей организации.", + "skills.share_team_choose_org": + "Выберите организацию в Настройки → Cloud перед тем, как поделиться с командой.", + "skills.share_back": "Назад", + "skills.share_close": "Закрыть", + "skills.share_done": "Готово", + "skills.source_placeholder": "github:anthropics/claude-code", + "skills.notion_crm_title": "Навыки обогащения Notion CRM", + "skills.notion_crm_description": + "Добавьте рабочие процессы обогащения для контактов, воронок и последующих действий.", + "skills.notion_crm_card_description": + "Обогатите данные Notion CRM готовыми навыками.", + "skills.connect_host_to_load": "Подключите сервер OpenWork для загрузки навыков.", + "skills.pick_workspace_first": "Сначала выберите папку рабочего пространства.", + "skills.no_skills_found": "Навыки пока не найдены.", + "skills.installed_description": "Навыки, доступные в этом рабочем пространстве.", + "skills.failed_to_load": "Не удалось загрузить навыки", + "skills.plugin_management_host_only": + "Управление плагинами требует десктопного приложения.", + "skills.plugins_host_only": "Плагины доступны только в десктопном приложении.", + "skills.pick_project_for_plugins": + "Выберите папку проекта для управления плагинами проекта.", + "skills.pick_project_for_active": + "Выберите папку проекта для загрузки активных плагинов.", + "skills.no_opencode_found": + "opencode.json пока не найден. Добавьте плагин для его создания.", + "skills.no_opencode_workspace": "opencode.json в этом рабочем пространстве пока нет.", + "skills.failed_parse_opencode": "Не удалось распарсить opencode.json", + "skills.failed_load_opencode": "Не удалось загрузить opencode.json", + "skills.failed_load_active": "Не удалось загрузить активные плагины.", + "skills.enter_plugin_name": "Введите имя пакета плагина.", + "skills.plugin_already_listed": "Плагин уже указан в opencode.json.", + "skills.failed_update_opencode": "Не удалось обновить opencode.json", + "skills.opackage_install_host_only": + "Установка OpenPackage требует десктопного приложения.", + "skills.pick_project_first": "Сначала выберите папку проекта.", + "skills.enter_opackage_source": + "Введите источник OpenPackage (например, github:anthropics/claude-code).", + "skills.installing_opackage": "Установка OpenPackage...", + "skills.install_complete": "Установлено.", + "skills.curated_list_notice": + "Это подобранный список, ещё не OpenPackage. Скопируйте ссылку или следите за PRD для планов интеграции поиска по реестру.", + "skills.import_host_only": "Импорт навыков требует десктопного приложения.", + "skills.select_skill_folder": "Выберите папку навыка", + "skills.import_failed": "Импорт не удался ({status})", + "skills.imported": "Импортировано.", + "skills.unknown_error": "Неизвестная ошибка", + "skills.filter_all": "Все", + "skills.filter_installed": "Установлено", + "skills.filter_cloud": "Команда", + "skills.filter_hub": "Хаб", + "skills.catalog_search_placeholder": "Поиск установленных, командных и хаб-навыков", + "skills.cloud_section_title": "Из вашей организации", + "skills.cloud_section_subtitle": + "Навыки, которыми поделились с вами через OpenWork Cloud — включая командные хабы навыков, к которым у вас есть доступ.", + "skills.cloud_refresh": "Обновить командные навыки", + "skills.cloud_org_fallback": "OpenWork Cloud", + "skills.cloud_sign_in_hint": + "Войдите в OpenWork Cloud для просмотра командных и организационных навыков.", + "skills.cloud_sign_in": "Войти в Cloud", + "skills.cloud_choose_org_hint": + "Выберите организацию в Настройки → Cloud для загрузки командных навыков.", + "skills.cloud_choose_org_detail": + "Используйте панель Cloud для выбора активной организации, затем обновите этот список.", + "skills.cloud_org_empty": "Организационные навыки пока недоступны.", + "skills.cloud_org_load_failed": "Не удалось загрузить организационные навыки.", + "skills.cloud_no_search_matches": "Нет навыков, соответствующих поиску.", + "skills.cloud_install_need_server": + "Подключитесь к серверу OpenWork с правом записи навыков для установки командных навыков на этот воркер.", + "skills.cloud_installed": "Установлено {name} на этот воркер.", + "skills.cloud_installing": "Установка {title}…", + "skills.cloud_installing_short": "Установка", + "skills.cloud_add_skill": "Добавить навык", + "skills.cloud_badge": "Cloud", + "skills.cloud_hub_label": "Хаб: {name}", + "skills.cloud_shared_org": "Организация", + "skills.cloud_shared_public": "Публичное", + "skills.cloud_footer_label": "Команда", "plugins.title": "Плагины OpenCode", - "plugins.description": - "Управляйте `opencode.json` для вашего проекта или глобальными плагинами OpenCode.", - "plugins.config_label": "Конфигурация", - "plugins.config_not_loaded": "Ещё не загружено", - "plugins.suggested_label": "Рекомендуемые плагины", - "plugins.no_plugins_yet": "Плагины ещё не настроены.", - "plugins.enabled_label": "Включено", - "plugins.open_label": "Открыть", - "plugins.path_label": "Путь", - "plugins.scope_project": "Проект", - "plugins.scope_global": "Глобальный", - "plugins.refresh": "Обновить", - "plugins.config": "Конфигурация", - "plugins.not_loaded": "Ещё не загружено", - "plugins.suggested": "Рекомендуемые плагины", - "plugins.hide_setup": "Скрыть настройку", - "plugins.setup": "Настройка", - "plugins.added": "Добавлено", - "plugins.add": "Добавить", - "plugins.enabled": "Включено", - "plugins.no_plugins": "Плагины ещё не настроены.", - "plugins.add_label": "Добавить плагин", - "plugins.placeholder": "opencode-wakatime", - "plugins.add_hint": "Добавьте имена npm пакетов, например opencode-wakatime", + "plugins.description": + "Управляйте `opencode.json` для вашего проекта или глобальными плагинами OpenCode.", + "plugins.config_label": "Конфигурация", + "plugins.config_not_loaded": "Ещё не загружено", + "plugins.suggested_label": "Рекомендуемые плагины", + "plugins.no_plugins_yet": "Плагины ещё не настроены.", + "plugins.enabled_label": "Включено", + "plugins.open_label": "Открыть", + "plugins.path_label": "Путь", + "plugins.scope_project": "Проект", + "plugins.scope_global": "Глобальный", + "plugins.refresh": "Обновить", + "plugins.config": "Конфигурация", + "plugins.not_loaded": "Ещё не загружено", + "plugins.suggested": "Рекомендуемые плагины", + "plugins.hide_setup": "Скрыть настройку", + "plugins.setup": "Настройка", + "plugins.added": "Добавлено", + "plugins.add": "Добавить", + "plugins.enabled": "Включено", + "plugins.no_plugins": "Плагины ещё не настроены.", + "plugins.add_label": "Добавить плагин", + "plugins.placeholder": "opencode-wakatime", + "plugins.add_hint": "Добавьте имена npm пакетов, например opencode-wakatime", "mcp.add_modal_title": "Добавить пользовательское приложение", - "mcp.add_modal_subtitle": - "Подключите пользовательский сервер MCP по URL или локальной команде.", - "mcp.custom_app_cta_hint": - "Подключите ваш собственный сервер MCP, внутренний инструмент или размещённое приложение.", - "mcp.server_type": "Тип", - "mcp.type_remote": "Удалённый (URL)", - "mcp.type_local_cmd": "Локальный (команда)", - "mcp.server_command": "Команда", - "mcp.server_command_placeholder": - "npx -y @modelcontextprotocol/server-sequential-thinking", - "mcp.server_command_hint": "Команда оболочки для запуска сервера.", - "mcp.sign_in_section_label": "Вход", - "mcp.oauth_optional_label": "Это приложение требует входа", - "mcp.oauth_optional_hint": - "Использует OAuth в браузере для подключения вашего аккаунта.", - "mcp.remote_workspace_url_hint": - "Удалённые воркеры быстрее всего подключаются через URL-based MCP серверы.", - "mcp.add_server_button": "Добавить приложение", - "mcp.name_required": "Введите имя сервера.", - "mcp.url_or_command_required": - "Введите URL для удалённого или команду для локальных серверов.", - "mcp.control_chrome_setup_title": "Настройка Control Chrome", - "mcp.control_chrome_setup_subtitle": - "Включите доступ Chrome, затем выберите, должен ли OpenWork использовать свой чистый профиль или подключиться к уже используемому Chrome.", - "mcp.control_chrome_browser_title": "1. Включите доступ Chrome", - "mcp.control_chrome_browser_hint": "В Chrome 144 или новее сделайте это сначала:", - "mcp.control_chrome_browser_step_one": - "Откройте chrome://inspect/#remote-debugging.", - "mcp.control_chrome_browser_step_two": "Включите удалённую отладку.", - "mcp.control_chrome_browser_step_three": - "Разрешите входящие подключения отладки, когда Chrome спросит.", - "mcp.control_chrome_docs": "Официальное руководство MCP", - "mcp.control_chrome_profile_title": "2. Выберите какой Chrome использовать", - "mcp.control_chrome_profile_hint": - "Control Chrome обычно открывает отдельный профиль Chrome. Включите это, если хотите, чтобы OpenWork использовал уже открытое окно Chrome.", - "mcp.control_chrome_toggle_label": "Использовать мой существующий профиль Chrome", - "mcp.control_chrome_toggle_hint": - "Когда включено, OpenWork добавляет --autoConnect, чтобы MCP подключался к уже запущенному экземпляру Chrome.", - "mcp.control_chrome_toggle_on": - "OpenWork будет использовать ваши текущие вкладки, куки и входы.", - "mcp.control_chrome_toggle_off": - "OpenWork запустит отдельный профиль Chrome только для автоматизации.", - "mcp.control_chrome_connect": "Добавить Control Chrome", - "mcp.control_chrome_save": "Сохранить настройки", - "mcp.control_chrome_edit": "Редактировать настройки", + "mcp.add_modal_subtitle": + "Подключите пользовательский сервер MCP по URL или локальной команде.", + "mcp.custom_app_cta_hint": + "Подключите ваш собственный сервер MCP, внутренний инструмент или размещённое приложение.", + "mcp.server_type": "Тип", + "mcp.type_remote": "Удалённый (URL)", + "mcp.type_local_cmd": "Локальный (команда)", + "mcp.server_command": "Команда", + "mcp.server_command_placeholder": + "npx -y @modelcontextprotocol/server-sequential-thinking", + "mcp.server_command_hint": "Команда оболочки для запуска сервера.", + "mcp.sign_in_section_label": "Вход", + "mcp.oauth_optional_label": "Это приложение требует входа", + "mcp.oauth_optional_hint": + "Использует OAuth в браузере для подключения вашего аккаунта.", + "mcp.remote_workspace_url_hint": + "Удалённые воркеры быстрее всего подключаются через URL-based MCP серверы.", + "mcp.add_server_button": "Добавить приложение", + "mcp.name_required": "Введите имя сервера.", + "mcp.url_or_command_required": + "Введите URL для удалённого или команду для локальных серверов.", + "mcp.control_chrome_setup_title": "Настройка Control Chrome", + "mcp.control_chrome_setup_subtitle": + "Включите доступ Chrome, затем выберите, должен ли OpenWork использовать свой чистый профиль или подключиться к уже используемому Chrome.", + "mcp.control_chrome_browser_title": "1. Включите доступ Chrome", + "mcp.control_chrome_browser_hint": "В Chrome 144 или новее сделайте это сначала:", + "mcp.control_chrome_browser_step_one": + "Откройте chrome://inspect/#remote-debugging.", + "mcp.control_chrome_browser_step_two": "Включите удалённую отладку.", + "mcp.control_chrome_browser_step_three": + "Разрешите входящие подключения отладки, когда Chrome спросит.", + "mcp.control_chrome_docs": "Официальное руководство MCP", + "mcp.control_chrome_profile_title": "2. Выберите какой Chrome использовать", + "mcp.control_chrome_profile_hint": + "Control Chrome обычно открывает отдельный профиль Chrome. Включите это, если хотите, чтобы OpenWork использовал уже открытое окно Chrome.", + "mcp.control_chrome_toggle_label": "Использовать мой существующий профиль Chrome", + "mcp.control_chrome_toggle_hint": + "Когда включено, OpenWork добавляет --autoConnect, чтобы MCP подключался к уже запущенному экземпляру Chrome.", + "mcp.control_chrome_toggle_on": + "OpenWork будет использовать ваши текущие вкладки, куки и входы.", + "mcp.control_chrome_toggle_off": + "OpenWork запустит отдельный профиль Chrome только для автоматизации.", + "mcp.control_chrome_connect": "Добавить Control Chrome", + "mcp.control_chrome_save": "Сохранить настройки", + "mcp.control_chrome_edit": "Редактировать настройки", - "mcp.logout_label": "OAuth", - "mcp.logout_action": "Выйти", - "mcp.logout_working": "Выход...", - "mcp.logout_hint": - "Удаляет сохранённые учётные данные OAuth. Вам нужно будет войти снова.", - "mcp.login_action": "Войти", - "mcp.login_hint": "Подключите ваш аккаунт для завершения настройки этого приложения.", - "mcp.login_unavailable": "Это приложение не поддерживает вход из OpenWork.", - "mcp.logout_modal_title": "Выйти из этого приложения?", - "mcp.logout_modal_message": - "Это удалит сохранённые учётные данные OAuth для {server}. Вам нужно будет войти снова для использования этого приложения.", - "mcp.logout_success": "Вышли из {server}.", - "mcp.logout_failed": "Выход не удался.", + "mcp.logout_label": "OAuth", + "mcp.logout_action": "Выйти", + "mcp.logout_working": "Выход...", + "mcp.logout_hint": + "Удаляет сохранённые учётные данные OAuth. Вам нужно будет войти снова.", + "mcp.login_action": "Войти", + "mcp.login_hint": "Подключите ваш аккаунт для завершения настройки этого приложения.", + "mcp.login_unavailable": "Это приложение не поддерживает вход из OpenWork.", + "mcp.logout_modal_title": "Выйти из этого приложения?", + "mcp.logout_modal_message": + "Это удалит сохранённые учётные данные OAuth для {server}. Вам нужно будет войти снова для использования этого приложения.", + "mcp.logout_success": "Вышли из {server}.", + "mcp.logout_failed": "Выход не удался.", - "mcp.auth.open_browser_signin": "Мы откроем ваш браузер для завершения входа.", - "mcp.auth.connect_server": "Подключить {server}", - "mcp.auth.already_connected": "Уже подключено", - "mcp.auth.already_connected_description": - "{server} уже аутентифицирован и готов к использованию.", - "mcp.auth.configured_previously": - "MCP мог быть настроен глобально или в предыдущей сессии. Вы можете закрыть это модальное окно и начать использовать инструменты MCP прямо сейчас.", - "mcp.auth.reload_engine_retry": "Применить изменения и повторить", - "mcp.auth.retry_now": "Повторить сейчас", - "mcp.auth.retry": "Повторить", - "mcp.auth.reload_failed": "Не удалось перезагрузить воркер перед входом.", - "mcp.auth.applying_changes_title": "Применение изменений перед входом", - "mcp.auth.applying_changes_body": - "Мы перезапускаем воркер, чтобы новый MCP был готов к аутентификации.", - "mcp.auth.waiting_for_conversation_title": - "Ожидание завершения разговора", - "mcp.auth.waiting_for_conversation_body": - "Мы перенаправим вас для аутентификации как можно скорее.", - "mcp.auth.waiting_for_session": "Ожидание завершения работы {session}", - "mcp.auth.force_stop": "Принудительно остановить", - "mcp.auth.force_stopping": "Остановка...", - "mcp.auth.reload_before_oauth": - "Перезагрузите движок для завершения настройки этого MCP перед запуском OAuth.", - "mcp.auth.reload_notice": - "Для вступления изменений в силу, OpenWork должен обновить сервис воркера. Это может прервать выполняющуюся сессию.", - "mcp.auth.reload_blocked": - "Перезагрузка приостановлена, пока выполняется сессия. Остановите запуск для завершения настройки.", - "mcp.auth.reload_remote_confirm": - "Для вступления изменений в силу, OpenWork должен обновить сервис воркера. Это может остановить вашу выполняющуюся сессию. Продолжить?", - "mcp.auth.reload_needed": - "Завершите настройку, перезагрузив движок, затем попробуйте подключиться снова.", - "mcp.auth.manual_finish_title": "Удалённый сервер?", - "mcp.auth.manual_finish_hint": - "Вставьте URL обратного вызова (localhost:19876) или просто код для завершения подключения.", - "mcp.auth.callback_label": "URL обратного вызова или код", - "mcp.auth.callback_placeholder": - "http://127.0.0.1:19876/mcp/oauth/callback?code=...", - "mcp.auth.complete_connection": "Завершить подключение", - "mcp.auth.callback_invalid": - "Вставьте URL обратного вызова или параметр кода для завершения OAuth.", - "mcp.auth.port_forward_hint": - "Совет: пробросьте порт обратного вызова при необходимости: ssh -L 19876:127.0.0.1:19876 user@host", - "mcp.auth.step1_title": "Открываем ваш браузер", - "mcp.auth.step1_description": - "Мы автоматически запустим поток входа {server}.", - "mcp.auth.step2_title": "Авторизуйте OpenWork", - "mcp.auth.step2_description": "Войдите и одобрите доступ при появлении запроса.", - "mcp.auth.step3_title": "Вернитесь сюда после завершения", - "mcp.auth.step3_description": - "Мы завершим подключение сразу после окончания авторизации.", - "mcp.auth.waiting_authorization": - "Ожидание завершения авторизации в вашем браузере...", - "mcp.auth.follow_browser_steps": - "Следуйте шагам авторизации в браузере.", - "mcp.auth.reopen_browser_link": "Нажмите здесь для повторного открытия браузера", - "mcp.auth.done": "Готово", - "mcp.auth.cancel": "Отмена", - "mcp.auth.im_done": "Готово", - "mcp.auth.client_registration_required": - "Регистрация клиента требуется перед продолжением OAuth.", - "mcp.auth.server_disabled": - "Этот сервер MCP отключён. Включите его и попробуйте снова.", - "mcp.auth.oauth_failed": "Аутентификация OAuth не удалась.", - "mcp.auth.invalid_refresh_token": - "Токен обновления OAuth недействителен или просрочен. Повторно авторизуйтесь для продолжения.", - "mcp.auth.reauth_action": "Повторная авторизация OAuth", - "mcp.auth.reauth_running": "Повторная авторизация...", - "mcp.auth.reauth_failed": "Повторная авторизация не удалась.", - "mcp.auth.reauth_cli_hint": "Запустите: opencode mcp auth {server}", - "mcp.auth.reauth_remote_hint": - "Повторно авторизуйтесь с машины, запускающей этот воркер.", - "mcp.auth.authorization_still_required": - "Авторизация всё ещё требуется. Попробуйте снова для перезапуска потока.", - "mcp.auth.oauth_not_supported_hint": - "Это может означать:\n• Сервер MCP не рекламирует возможности OAuth\n• Движок требует перезагрузки для обнаружения возможностей сервера\n• Попробуйте: opencode mcp auth {server} из CLI", - "mcp.auth.try_reload_engine": "{message}. Попробуйте сначала перезагрузить движок.", - "mcp.auth.failed_to_start_oauth": "Не удалось запустить поток OAuth", - "mcp.auth.oauth_completed_reload": - "OAuth завершён. Перезагрузите движок для активации MCP.", + "mcp.auth.open_browser_signin": "Мы откроем ваш браузер для завершения входа.", + "mcp.auth.connect_server": "Подключить {server}", + "mcp.auth.already_connected": "Уже подключено", + "mcp.auth.already_connected_description": + "{server} уже аутентифицирован и готов к использованию.", + "mcp.auth.configured_previously": + "MCP мог быть настроен глобально или в предыдущей сессии. Вы можете закрыть это модальное окно и начать использовать инструменты MCP прямо сейчас.", + "mcp.auth.reload_engine_retry": "Применить изменения и повторить", + "mcp.auth.retry_now": "Повторить сейчас", + "mcp.auth.retry": "Повторить", + "mcp.auth.reload_failed": "Не удалось перезагрузить воркер перед входом.", + "mcp.auth.applying_changes_title": "Применение изменений перед входом", + "mcp.auth.applying_changes_body": + "Мы перезапускаем воркер, чтобы новый MCP был готов к аутентификации.", + "mcp.auth.waiting_for_conversation_title": + "Ожидание завершения разговора", + "mcp.auth.waiting_for_conversation_body": + "Мы перенаправим вас для аутентификации как можно скорее.", + "mcp.auth.waiting_for_session": "Ожидание завершения работы {session}", + "mcp.auth.force_stop": "Принудительно остановить", + "mcp.auth.force_stopping": "Остановка...", + "mcp.auth.reload_before_oauth": + "Перезагрузите движок для завершения настройки этого MCP перед запуском OAuth.", + "mcp.auth.reload_notice": + "Для вступления изменений в силу, OpenWork должен обновить сервис воркера. Это может прервать выполняющуюся сессию.", + "mcp.auth.reload_blocked": + "Перезагрузка приостановлена, пока выполняется сессия. Остановите запуск для завершения настройки.", + "mcp.auth.reload_remote_confirm": + "Для вступления изменений в силу, OpenWork должен обновить сервис воркера. Это может остановить вашу выполняющуюся сессию. Продолжить?", + "mcp.auth.reload_needed": + "Завершите настройку, перезагрузив движок, затем попробуйте подключиться снова.", + "mcp.auth.manual_finish_title": "Удалённый сервер?", + "mcp.auth.manual_finish_hint": + "Вставьте URL обратного вызова (localhost:19876) или просто код для завершения подключения.", + "mcp.auth.callback_label": "URL обратного вызова или код", + "mcp.auth.callback_placeholder": + "http://127.0.0.1:19876/mcp/oauth/callback?code=...", + "mcp.auth.complete_connection": "Завершить подключение", + "mcp.auth.callback_invalid": + "Вставьте URL обратного вызова или параметр кода для завершения OAuth.", + "mcp.auth.port_forward_hint": + "Совет: пробросьте порт обратного вызова при необходимости: ssh -L 19876:127.0.0.1:19876 user@host", + "mcp.auth.step1_title": "Открываем ваш браузер", + "mcp.auth.step1_description": + "Мы автоматически запустим поток входа {server}.", + "mcp.auth.step2_title": "Авторизуйте OpenWork", + "mcp.auth.step2_description": "Войдите и одобрите доступ при появлении запроса.", + "mcp.auth.step3_title": "Вернитесь сюда после завершения", + "mcp.auth.step3_description": + "Мы завершим подключение сразу после окончания авторизации.", + "mcp.auth.waiting_authorization": + "Ожидание завершения авторизации в вашем браузере...", + "mcp.auth.follow_browser_steps": + "Следуйте шагам авторизации в браузере.", + "mcp.auth.reopen_browser_link": "Нажмите здесь для повторного открытия браузера", + "mcp.auth.done": "Готово", + "mcp.auth.cancel": "Отмена", + "mcp.auth.im_done": "Готово", + "mcp.auth.client_registration_required": + "Регистрация клиента требуется перед продолжением OAuth.", + "mcp.auth.server_disabled": + "Этот сервер MCP отключён. Включите его и попробуйте снова.", + "mcp.auth.oauth_failed": "Аутентификация OAuth не удалась.", + "mcp.auth.invalid_refresh_token": + "Токен обновления OAuth недействителен или просрочен. Повторно авторизуйтесь для продолжения.", + "mcp.auth.reauth_action": "Повторная авторизация OAuth", + "mcp.auth.reauth_running": "Повторная авторизация...", + "mcp.auth.reauth_failed": "Повторная авторизация не удалась.", + "mcp.auth.reauth_cli_hint": "Запустите: opencode mcp auth {server}", + "mcp.auth.reauth_remote_hint": + "Повторно авторизуйтесь с машины, запускающей этот воркер.", + "mcp.auth.authorization_still_required": + "Авторизация всё ещё требуется. Попробуйте снова для перезапуска потока.", + "mcp.auth.oauth_not_supported_hint": + "Это может означать:\n• Сервер MCP не рекламирует возможности OAuth\n• Движок требует перезагрузки для обнаружения возможностей сервера\n• Попробуйте: opencode mcp auth {server} из CLI", + "mcp.auth.try_reload_engine": "{message}. Попробуйте сначала перезагрузить движок.", + "mcp.auth.failed_to_start_oauth": "Не удалось запустить поток OAuth", + "mcp.auth.oauth_completed_reload": + "OAuth завершён. Перезагрузите движок для активации MCP.", "mcp.apps_title": "Приложения", - "mcp.apps_subtitle": - "Подключите ваши любимые инструменты, чтобы OpenWork мог использовать их от вашего имени.", - "mcp.app_connected": "приложение подключено", - "mcp.apps_connected": "приложения подключены", - "mcp.title": "Приложения", - "mcp.description": "Подключите ваши инструменты в один клик.", - "mcp.alpha_banner_title": - "Приложения в раннем доступе, пока мы улучшаем опыт.", - "mcp.alpha_banner_help": - "Если хотите помочь, откройте PR и включите короткое видео, показывающее端到дный поток входа.", - "mcp.mcps_title": "Приложения", - "mcp.connect_mcp_hint": "Подключите приложения для расширения возможностей OpenWork.", - "mcp.finish_setup": "Почти готово", - "mcp.finish_setup_hint": "Нажмите Активировать для завершения подключения приложения.", - "mcp.activate_button": "Активировать", - "mcp.reload_banner_title": "Почти готово", - "mcp.reload_banner_description": - "Нажмите Активировать для завершения подключения приложения.", - "mcp.reload_banner_description_blocked": - "Задача выполняется. Остановите её, затем активируйте.", - "mcp.reload_banner_blocked_hint": "Остановите выполняющуюся задачу для активации.", - "mcp.available_apps": "Доступные приложения", - "mcp.one_click_connect": "Подключение в один клик", - "mcp.tap_to_connect": "Нажмите для подключения", - "mcp.connected_badge": "Подключено", - "mcp.your_apps": "Ваши приложения", - "mcp.last_synced": "Синхронизировано", - "mcp.no_apps_yet": "Приложения пока не подключены", - "mcp.no_apps_hint": "Подключите одно выше для начала.", - "mcp.quick_connect_title": "Доступные приложения", - "mcp.oauth_only_label": "В один клик", - "mcp.connected_status": "Подключено", - "mcp.no_env_vars": "Дополнительная настройка не требуется.", - "mcp.connected_title": "Ваши приложения", - "mcp.from_opencode_json": "Из конфигурации", - "mcp.no_servers_yet": "Приложения пока не подключены.", - "mcp.edit_config_title": "Редактировать файл конфигурации", - "mcp.edit_config_description": - "Приложения хранятся в файле конфигурации вашего рабочего пространства.", - "mcp.docs_link": "Узнать больше", - "mcp.scope_project": "Это рабочее пространство", - "mcp.scope_global": "Все рабочие пространства", - "mcp.config_label": "Конфигурация", - "mcp.config_file": "Файл конфигурации", - "mcp.config_not_loaded": "Ещё не загружено", - "mcp.open_file_label": "Открыть файл", - "mcp.reveal_in_finder": "Показать в Finder", - "mcp.opening_label": "Открытие...", - "mcp.file_not_found": "Файл конфигурации ещё не создан", - "mcp.config_load_failed": "Не удалось загрузить файл конфигурации", - "mcp.open_file": "Открыть файл", - "mcp.pick_workspace_error": "Сначала выберите папку рабочего пространства.", - "mcp.reveal_config_failed": "Не удалось открыть файл конфигурации", - "mcp.alpha_warning": - "Приложения в раннем доступе, пока мы улучшаем опыт.", - "mcp.github_issue": "Посмотреть issue #9510 на GitHub", - "mcp.contribution_guide": - "Если хотите помочь, откройте PR и включите короткое видео, показывающее端到дный поток входа.", - "mcp.advanced_settings": "Расширенные настройки", - "mcp.advanced_settings_hint": - "Редактируйте файлы конфигурации и управляйте подключениями вручную.", - "mcp.hide_advanced": "Скрыть расширенные настройки", - "mcp.show_advanced": "Показать расширенные настройки", - "mcp.mcps_label": "Приложения", - "mcp.mcps_description": "Подключите приложения для расширения возможностей OpenWork.", - "mcp.configured": "настроено", - "mcp.updated": "Синхронизировано", - "mcp.reload_required": "Требуется активация", - "mcp.reload_description": "Активируйте для начала использования нового подключения.", - "mcp.reload_engine": "Активировать", - "mcp.quick_connect": "Доступные приложения", - "mcp.oauth_only": "В один клик", - "mcp.connecting": "Подключение...", - "mcp.connect": "Подключить", - "mcp.connected": "Подключено", - "mcp.connected_label": "Подключено", - "mcp.no_env_required": "Дополнительная настройка не требуется.", - "mcp.config_source": "Из конфигурации", - "mcp.no_servers": "Приложения пока не подключены.", - "mcp.advanced": "Расширенные", - "mcp.advanced_description": "Для пользовательских подключений.", - "mcp.hide": "Скрыть", - "mcp.show": "Показать", - "mcp.server_name": "Имя приложения", - "mcp.server_name_placeholder": "github-copilot", - "mcp.server_url": "URL сервера", - "mcp.server_url_placeholder": "https://api.githubcopilot.com/mcp/", - "mcp.oauth": "Войти", - "mcp.api_key": "API ключ", - "mcp.enabled": "Включено", - "mcp.disabled": "Отключено", - "mcp.add_mcp": "Добавить приложение", - "mcp.verify_connection": "Тест подключения", - "mcp.cli_guidance": "Команда терминала (расширенный)", - "mcp.config_locations": - "Конфигурация может быть в opencode.json, opencode.jsonc или .opencode/opencode.json.", - "mcp.app_details": "Детали приложения", - "mcp.details_title": "Детали приложения", - "mcp.select_app_hint": "Выберите приложение для просмотра деталей.", - "mcp.select_server_hint": "Выберите приложение для просмотра деталей.", - "mcp.connection_type": "Подключение", - "mcp.type_cloud": "Cloud (войдите через ваш аккаунт)", - "mcp.type_local": "Локальное (работает на этом устройстве)", - "mcp.capabilities_label": "Возможности", - "mcp.cap_tools": "AI инструменты", - "mcp.cap_signin": "Вход в аккаунт", - "mcp.tools_enabled_label": "AI инструменты", - "mcp.oauth_ready_label": "Вход в аккаунт", - "mcp.usage_hint_text": - "Упомяните имя приложения в вашем запросе для использования его инструментов.", - "mcp.issue_label": "Проблема", - "mcp.technical_details": "Технические детали", - "mcp.next_steps_label": "Что делать", - "mcp.reload_step": "Активируйте после подключения нового приложения.", - "mcp.auth_step": "Войдите при появлении запроса.", - "mcp.connection_failed": "Проблема подключения — попробуйте снова", - "mcp.needs_auth": "Требуется вход", - "mcp.register_client": "Требуется настройка", - "mcp.status_disabled": "Приостановлено", - "mcp.disconnected": "Офлайн", - "mcp.failed": "Проблема", - "mcp.friendly_status_ready": "Готово", - "mcp.friendly_status_needs_signin": "Требуется вход", - "mcp.friendly_status_paused": "Приостановлено", - "mcp.friendly_status_offline": "Офлайн", - "mcp.friendly_status_issue": "Проблема", - "mcp.host_mode_only": "Приложения требуют десктопного приложения.", - "mcp.pick_workspace_first": "Сначала выберите папку рабочего пространства.", - "mcp.desktop_required": "Приложения требуют десктопного приложения.", - "mcp.connect_server_first": "Сначала подключитесь к серверу.", - "mcp.reload_required_after_add": "Активируйте для начала использования нового приложения.", - "mcp.connect_failed": "Не удалось подключиться. Попробуйте снова.", - "mcp.enter_name_and_url": "Введите имя приложения и URL.", - "mcp.enter_url_first": "Сначала введите URL.", - "mcp.use_debug_command": "Запустите opencode mcp debug для устранения неполадок.", - "mcp.add_failed": "Не удалось добавить приложение.", - "mcp.remove_app": "Удалить", - "mcp.remove_failed": "Не удалось удалить приложение.", - "mcp.remove_modal_title": "Удалить приложение", - "mcp.remove_modal_message": - "Вы уверены, что хотите удалить {server}? Вы всегда сможете добавить его позже.", + "mcp.apps_subtitle": + "Подключите ваши любимые инструменты, чтобы OpenWork мог использовать их от вашего имени.", + "mcp.app_connected": "приложение подключено", + "mcp.apps_connected": "приложения подключены", + "mcp.title": "Приложения", + "mcp.description": "Подключите ваши инструменты в один клик.", + "mcp.alpha_banner_title": + "Приложения в раннем доступе, пока мы улучшаем опыт.", + "mcp.alpha_banner_help": + "Если хотите помочь, откройте PR и включите короткое видео, показывающее端到дный поток входа.", + "mcp.mcps_title": "Приложения", + "mcp.connect_mcp_hint": "Подключите приложения для расширения возможностей OpenWork.", + "mcp.finish_setup": "Почти готово", + "mcp.finish_setup_hint": "Нажмите Активировать для завершения подключения приложения.", + "mcp.activate_button": "Активировать", + "mcp.reload_banner_title": "Почти готово", + "mcp.reload_banner_description": + "Нажмите Активировать для завершения подключения приложения.", + "mcp.reload_banner_description_blocked": + "Задача выполняется. Остановите её, затем активируйте.", + "mcp.reload_banner_blocked_hint": "Остановите выполняющуюся задачу для активации.", + "mcp.available_apps": "Доступные приложения", + "mcp.one_click_connect": "Подключение в один клик", + "mcp.tap_to_connect": "Нажмите для подключения", + "mcp.connected_badge": "Подключено", + "mcp.your_apps": "Ваши приложения", + "mcp.last_synced": "Синхронизировано", + "mcp.no_apps_yet": "Приложения пока не подключены", + "mcp.no_apps_hint": "Подключите одно выше для начала.", + "mcp.quick_connect_title": "Доступные приложения", + "mcp.oauth_only_label": "В один клик", + "mcp.connected_status": "Подключено", + "mcp.no_env_vars": "Дополнительная настройка не требуется.", + "mcp.connected_title": "Ваши приложения", + "mcp.from_opencode_json": "Из конфигурации", + "mcp.no_servers_yet": "Приложения пока не подключены.", + "mcp.edit_config_title": "Редактировать файл конфигурации", + "mcp.edit_config_description": + "Приложения хранятся в файле конфигурации вашего рабочего пространства.", + "mcp.docs_link": "Узнать больше", + "mcp.scope_project": "Это рабочее пространство", + "mcp.scope_global": "Все рабочие пространства", + "mcp.config_label": "Конфигурация", + "mcp.config_file": "Файл конфигурации", + "mcp.config_not_loaded": "Ещё не загружено", + "mcp.open_file_label": "Открыть файл", + "mcp.reveal_in_finder": "Показать в Finder", + "mcp.opening_label": "Открытие...", + "mcp.file_not_found": "Файл конфигурации ещё не создан", + "mcp.config_load_failed": "Не удалось загрузить файл конфигурации", + "mcp.open_file": "Открыть файл", + "mcp.pick_workspace_error": "Сначала выберите папку рабочего пространства.", + "mcp.reveal_config_failed": "Не удалось открыть файл конфигурации", + "mcp.alpha_warning": + "Приложения в раннем доступе, пока мы улучшаем опыт.", + "mcp.github_issue": "Посмотреть issue #9510 на GitHub", + "mcp.contribution_guide": + "Если хотите помочь, откройте PR и включите короткое видео, показывающее端到дный поток входа.", + "mcp.advanced_settings": "Расширенные настройки", + "mcp.advanced_settings_hint": + "Редактируйте файлы конфигурации и управляйте подключениями вручную.", + "mcp.hide_advanced": "Скрыть расширенные настройки", + "mcp.show_advanced": "Показать расширенные настройки", + "mcp.mcps_label": "Приложения", + "mcp.mcps_description": "Подключите приложения для расширения возможностей OpenWork.", + "mcp.configured": "настроено", + "mcp.updated": "Синхронизировано", + "mcp.reload_required": "Требуется активация", + "mcp.reload_description": "Активируйте для начала использования нового подключения.", + "mcp.reload_engine": "Активировать", + "mcp.quick_connect": "Доступные приложения", + "mcp.oauth_only": "В один клик", + "mcp.connecting": "Подключение...", + "mcp.connect": "Подключить", + "mcp.connected": "Подключено", + "mcp.connected_label": "Подключено", + "mcp.no_env_required": "Дополнительная настройка не требуется.", + "mcp.config_source": "Из конфигурации", + "mcp.no_servers": "Приложения пока не подключены.", + "mcp.advanced": "Расширенные", + "mcp.advanced_description": "Для пользовательских подключений.", + "mcp.hide": "Скрыть", + "mcp.show": "Показать", + "mcp.server_name": "Имя приложения", + "mcp.server_name_placeholder": "github-copilot", + "mcp.server_url": "URL сервера", + "mcp.server_url_placeholder": "https://api.githubcopilot.com/mcp/", + "mcp.oauth": "Войти", + "mcp.api_key": "API ключ", + "mcp.enabled": "Включено", + "mcp.disabled": "Отключено", + "mcp.add_mcp": "Добавить приложение", + "mcp.verify_connection": "Тест подключения", + "mcp.cli_guidance": "Команда терминала (расширенный)", + "mcp.config_locations": + "Конфигурация может быть в opencode.json, opencode.jsonc или .opencode/opencode.json.", + "mcp.app_details": "Детали приложения", + "mcp.details_title": "Детали приложения", + "mcp.select_app_hint": "Выберите приложение для просмотра деталей.", + "mcp.select_server_hint": "Выберите приложение для просмотра деталей.", + "mcp.connection_type": "Подключение", + "mcp.type_cloud": "Cloud (войдите через ваш аккаунт)", + "mcp.type_local": "Локальное (работает на этом устройстве)", + "mcp.capabilities_label": "Возможности", + "mcp.cap_tools": "AI инструменты", + "mcp.cap_signin": "Вход в аккаунт", + "mcp.tools_enabled_label": "AI инструменты", + "mcp.oauth_ready_label": "Вход в аккаунт", + "mcp.usage_hint_text": + "Упомяните имя приложения в вашем запросе для использования его инструментов.", + "mcp.issue_label": "Проблема", + "mcp.technical_details": "Технические детали", + "mcp.next_steps_label": "Что делать", + "mcp.reload_step": "Активируйте после подключения нового приложения.", + "mcp.auth_step": "Войдите при появлении запроса.", + "mcp.connection_failed": "Проблема подключения — попробуйте снова", + "mcp.needs_auth": "Требуется вход", + "mcp.register_client": "Требуется настройка", + "mcp.status_disabled": "Приостановлено", + "mcp.disconnected": "Офлайн", + "mcp.failed": "Проблема", + "mcp.friendly_status_ready": "Готово", + "mcp.friendly_status_needs_signin": "Требуется вход", + "mcp.friendly_status_paused": "Приостановлено", + "mcp.friendly_status_offline": "Офлайн", + "mcp.friendly_status_issue": "Проблема", + "mcp.host_mode_only": "Приложения требуют десктопного приложения.", + "mcp.pick_workspace_first": "Сначала выберите папку рабочего пространства.", + "mcp.desktop_required": "Приложения требуют десктопного приложения.", + "mcp.connect_server_first": "Сначала подключитесь к серверу.", + "mcp.reload_required_after_add": "Активируйте для начала использования нового приложения.", + "mcp.connect_failed": "Не удалось подключиться. Попробуйте снова.", + "mcp.enter_name_and_url": "Введите имя приложения и URL.", + "mcp.enter_url_first": "Сначала введите URL.", + "mcp.use_debug_command": "Запустите opencode mcp debug для устранения неполадок.", + "mcp.add_failed": "Не удалось добавить приложение.", + "mcp.remove_app": "Удалить", + "mcp.remove_failed": "Не удалось удалить приложение.", + "mcp.remove_modal_title": "Удалить приложение", + "mcp.remove_modal_message": + "Вы уверены, что хотите удалить {server}? Вы всегда сможете добавить его позже.", "settings.title": "Настройки", - "settings.connection": "Подключение", - "settings.engine_source": "Источник движка", - "settings.from_path": "Из PATH", - "settings.from_sidecar": "Встроенный сайдкар", - "settings.engine_source_description": - "PATH использует установленный OpenCode (по умолчанию). Сайдкар использует встроенный бинарный файл при наличии.", - "settings.sidecar_unsupported": "Сайдкар доступен на Windows", - "settings.sidecar_unavailable_detail": "Сайдкар поставляется при наличии.", - "settings.model": "Модель", - "settings.model_description": "Параметры по умолчанию + управление мышлением для запусков.", - "settings.change": "Изменить", - "settings.engine_path": "PATH", - "settings.engine_sidecar": "Сайдкар", - "settings.thinking": "Мышление", - "settings.thinking_description": "Показывать части мышления (только режим разработчика).", - "settings.on": "Вкл", - "settings.off": "Выкл", - "settings.model_variant": "Вариант модели", - "settings.edit": "Редактировать", - "settings.default_model": "Модель по умолчанию", - "settings.session_model": "Модель", - "settings.model_description_default": - "Выберите из настроенных провайдеров. Этот выбор будет использоваться для новых сессий.", - "settings.model_description_session": - "Выберите из настроенных провайдеров. Этот выбор применяется к вашему следующему сообщению.", - "settings.search_models": "Поиск моделей…", - "settings.showing_models": "Показано {count} из {total}", - "settings.model_variant_prompt": - "Вариант модели (специфичный для провайдера, например high/max/minimal). Оставьте пустым для очистки.", - "settings.model_fallback": "Резервный", - "settings.model_default": "По умолчанию", - "settings.model_free": "Бесплатный", - "settings.model_reasoning": "Рассуждение", - "settings.done": "Готово", - "settings.updates": "Обновления", - "settings.updates_description": "Держите OpenWork в актуальном состоянии.", - "settings.automatic_checks": "Автоматические проверки", - "settings.automatic_checks_description": "Раз в день (тихо)", - "settings.update_checking": "Проверка...", - "settings.update_available": "Доступно обновление: v", - "settings.update_downloading": "Загрузка...", - "settings.update_ready": "Готово к установке: v", - "settings.update_error": "Проверка обновления не удалась", - "settings.update_uptodate": "Актуальная версия", - "settings.last_checked": "Последняя проверка", - "settings.published": "Опубликовано", - "settings.check_update": "Проверить", - "settings.install_restart": "Установить и перезапустить", - "settings.update_not_supported": - "Обновления не поддерживаются в этой среде.", - "settings.update_desktop_only": - "Обновления доступны только в десктопном приложении.", - "settings.startup": "Запуск", - "settings.mode_label": "режим", - "settings.switch_mode": "Переключить", - "settings.reset_startup": "Сбросить режим запуска по умолчанию", - "settings.reset_startup_description": - "Это очистит ваше сохранённое предпочтение и покажет выбор режима при следующем запуске.", - "settings.advanced": "Расширенные", - "settings.advanced_description": - "Сбросить локальное состояние OpenWork для повторного тестирования онбординга.", - "settings.reset_onboarding": "Сбросить онбординг", - "settings.reset_onboarding_description": - "Очищает предпочтения OpenWork и перезапускает приложение.", - "settings.reset_app_data": "Сбросить данные приложения", - "settings.reset_app_data_description": - "Более агрессивно. Очищает кэш OpenWork + данные приложения.", - "settings.reset": "Сбросить", - "settings.requires_typing": "Требует ввода", - "settings.will_restart": "и перезапустит приложение.", - "settings.reset_onboarding_title": "Сбросить онбординг", - "settings.reset_app_data_title": "Сбросить данные приложения", - "settings.reset_confirmation_hint": - 'Введите RESET для подтверждения. OpenWork перезапустится.', - "settings.reset_onboarding_warning": - "Очищает локальные предпочтения OpenWork и маркеры онбординга рабочего пространства.", - "settings.reset_app_data_warning": - "Очищает кэш OpenWork и данные приложения на этом устройстве.", - "settings.reset_stop_active_runs": "Остановите активные запуски перед сбросом.", - "settings.reset_confirmation_label": "Подтверждение", - "settings.reset_confirmation_placeholder": "Введите RESET", - "settings.reset_cancel": "Отмена", - "settings.reset_confirm_button": "Сбросить и перезапустить", - "settings.developer": "Разработчик", - "settings.opencode_cache": "Кэш OpenCode", - "settings.opencode_cache_description": - "Восстанавливает кэшированные данные, используемые для запуска движка. Безопасно.", - "settings.repair_cache": "Восстановить кэш", - "settings.repairing_cache": "Восстановление кэша", - "settings.cache_repair_requires_desktop": - "Восстановление кэша требует десктопного приложения", - "settings.pending_permissions": "Ожидающие разрешения", - "settings.recent_events": "Недавние события", - "settings.notion_connected": "Подключено", - "settings.reload_required": "Требуется перезагрузка", - "settings.connection_failed": "Подключение не удалось", - "settings.notion_not_connected": "Не подключено", - "settings.show_thinking": "Показать мышление", - "settings.update": "Обновить", - "settings.about": "О приложении", - "settings.version": "Версия", - "settings.check_for_updates": "Проверить обновления", - "settings.download_update": "Загрузить обновление", - "settings.install_update": "Установить обновление и перезапустить", - "settings.enable_developer_mode": "Включить режим разработчика", - "settings.disable_developer_mode": "Отключить режим разработчика", - "settings.stop_engine": "Остановить движок", - "settings.disconnect": "Отключить", - "settings.language": "Язык", - "settings.language.description": "Выберите предпочитаемый язык", - "settings.connection_title": "Подключение", - "settings.engine_source_label": "Источник движка", - "settings.engine_source_hint": - "PATH использует установленный OpenCode (по умолчанию). Сайдкар использует встроенный бинарный файл при наличии.", - "settings.sidecar_unavailable": "Сайдкар поставляется при наличии.", - "settings.model_title": "Модель", - "settings.model_hint": "Параметры по умолчанию + управление мышлением для запусков.", - "settings.thinking_label": "Мышление", - "settings.thinking_hint": "Показывать части мышления (только режим разработчика).", - "settings.model_variant_label": "Вариант модели", - "settings.appearance_title": "Внешний вид", - "settings.appearance_hint": "Соответствовать системе или принудительно светлый/тёмный режим.", - "settings.theme_system": "Системная", - "settings.theme_light": "Светлая", - "settings.theme_dark": "Тёмная", - "settings.theme_system_hint": - "Системный режим следует предпочтениям ОС автоматически.", - "settings.updates_title": "Обновления", - "settings.updates_hint": "Держите OpenWork в актуальном состоянии.", - "settings.automatic_checks_label": "Автоматические проверки", - "settings.automatic_checks_hint": "Раз в день (тихо)", - "settings.last_checked_time": "Последняя проверка {time}", - "settings.published_date": "Опубликовано {date}", - "settings.update_not_supported_hint": - "Обновления не поддерживаются в этой среде.", - "settings.update_desktop_only_hint": - "Обновления доступны только в десктопном приложении.", - "settings.startup_title": "Запуск", - "settings.mode_suffix": "режим", - "settings.reset_startup_label": "Сбросить режим запуска по умолчанию", - "settings.reset_startup_hint": - "Это очистит ваше сохранённое предпочтение и покажет выбор режима при следующем запуске.", - "settings.advanced_title": "Расширенные", - "settings.advanced_hint": "Сбросить локальное состояние OpenWork для повторного тестирования онбординга.", - "settings.reset_onboarding_label": "Сбросить онбординг", - "settings.reset_onboarding_hint": - "Очищает предпочтения OpenWork и перезапускает приложение.", - "settings.reset_app_data_label": "Сбросить данные приложения", - "settings.reset_app_data_hint": - "Более агрессивно. Очищает кэш OpenWork + данные приложения.", - "settings.reset_requires_hint": - "Требует ввода RESET и перезапустит приложение.", - "settings.developer_title": "Разработчик", - "settings.opencode_cache_label": "Кэш OpenCode", - "settings.opencode_cache_hint": - "Восстанавливает кэшированные данные, используемые для запуска движка. Безопасно.", - "settings.pending_permissions_label": "Ожидающие разрешения", - "settings.recent_events_label": "Недавние события", - "settings.stop_active_runs_hint": "Остановите активные запуски для обновления", - "settings.stop_active_runs_reset_hint": "Остановите активные запуски для сброса", - "settings.stop_runs_to_update": "Остановите активные запуски для обновления", - "settings.stop_runs_to_reset": "Остановите активные запуски для сброса", - "settings.updates_not_supported": - "Обновления не поддерживаются в этой среде.", - "settings.updates_desktop_only": - "Обновления доступны только в десктопном приложении.", + "settings.connection": "Подключение", + "settings.engine_source": "Источник движка", + "settings.from_path": "Из PATH", + "settings.from_sidecar": "Встроенный сайдкар", + "settings.engine_source_description": + "PATH использует установленный OpenCode (по умолчанию). Сайдкар использует встроенный бинарный файл при наличии.", + "settings.sidecar_unsupported": "Сайдкар доступен на Windows", + "settings.sidecar_unavailable_detail": "Сайдкар поставляется при наличии.", + "settings.model": "Модель", + "settings.model_description": "Параметры по умолчанию + управление мышлением для запусков.", + "settings.change": "Изменить", + "settings.engine_path": "PATH", + "settings.engine_sidecar": "Сайдкар", + "settings.thinking": "Мышление", + "settings.thinking_description": "Показывать части мышления (только режим разработчика).", + "settings.on": "Вкл", + "settings.off": "Выкл", + "settings.model_variant": "Вариант модели", + "settings.edit": "Редактировать", + "settings.default_model": "Модель по умолчанию", + "settings.session_model": "Модель", + "settings.model_description_default": + "Выберите из настроенных провайдеров. Этот выбор будет использоваться для новых сессий.", + "settings.model_description_session": + "Выберите из настроенных провайдеров. Этот выбор применяется к вашему следующему сообщению.", + "settings.search_models": "Поиск моделей…", + "settings.showing_models": "Показано {count} из {total}", + "settings.model_variant_prompt": + "Вариант модели (специфичный для провайдера, например high/max/minimal). Оставьте пустым для очистки.", + "settings.model_fallback": "Резервный", + "settings.model_default": "По умолчанию", + "settings.model_free": "Бесплатный", + "settings.model_reasoning": "Рассуждение", + "settings.done": "Готово", + "settings.updates": "Обновления", + "settings.updates_description": "Держите OpenWork в актуальном состоянии.", + "settings.automatic_checks": "Автоматические проверки", + "settings.automatic_checks_description": "Раз в день (тихо)", + "settings.update_checking": "Проверка...", + "settings.update_available": "Доступно обновление: v", + "settings.update_downloading": "Загрузка...", + "settings.update_ready": "Готово к установке: v", + "settings.update_error": "Проверка обновления не удалась", + "settings.update_uptodate": "Актуальная версия", + "settings.last_checked": "Последняя проверка", + "settings.published": "Опубликовано", + "settings.check_update": "Проверить", + "settings.install_restart": "Установить и перезапустить", + "settings.update_not_supported": + "Обновления не поддерживаются в этой среде.", + "settings.update_desktop_only": + "Обновления доступны только в десктопном приложении.", + "settings.startup": "Запуск", + "settings.mode_label": "режим", + "settings.switch_mode": "Переключить", + "settings.reset_startup": "Сбросить режим запуска по умолчанию", + "settings.reset_startup_description": + "Это очистит ваше сохранённое предпочтение и покажет выбор режима при следующем запуске.", + "settings.advanced": "Расширенные", + "settings.advanced_description": + "Сбросить локальное состояние OpenWork для повторного тестирования онбординга.", + "settings.reset_onboarding": "Сбросить онбординг", + "settings.reset_onboarding_description": + "Очищает предпочтения OpenWork и перезапускает приложение.", + "settings.reset_app_data": "Сбросить данные приложения", + "settings.reset_app_data_description": + "Более агрессивно. Очищает кэш OpenWork + данные приложения.", + "settings.reset": "Сбросить", + "settings.requires_typing": "Требует ввода", + "settings.will_restart": "и перезапустит приложение.", + "settings.reset_onboarding_title": "Сбросить онбординг", + "settings.reset_app_data_title": "Сбросить данные приложения", + "settings.reset_confirmation_hint": + 'Введите RESET для подтверждения. OpenWork перезапустится.', + "settings.reset_onboarding_warning": + "Очищает локальные предпочтения OpenWork и маркеры онбординга рабочего пространства.", + "settings.reset_app_data_warning": + "Очищает кэш OpenWork и данные приложения на этом устройстве.", + "settings.reset_stop_active_runs": "Остановите активные запуски перед сбросом.", + "settings.reset_confirmation_label": "Подтверждение", + "settings.reset_confirmation_placeholder": "Введите RESET", + "settings.reset_cancel": "Отмена", + "settings.reset_confirm_button": "Сбросить и перезапустить", + "settings.developer": "Разработчик", + "settings.opencode_cache": "Кэш OpenCode", + "settings.opencode_cache_description": + "Восстанавливает кэшированные данные, используемые для запуска движка. Безопасно.", + "settings.repair_cache": "Восстановить кэш", + "settings.repairing_cache": "Восстановление кэша", + "settings.cache_repair_requires_desktop": + "Восстановление кэша требует десктопного приложения", + "settings.pending_permissions": "Ожидающие разрешения", + "settings.recent_events": "Недавние события", + "settings.notion_connected": "Подключено", + "settings.reload_required": "Требуется перезагрузка", + "settings.connection_failed": "Подключение не удалось", + "settings.notion_not_connected": "Не подключено", + "settings.show_thinking": "Показать мышление", + "settings.update": "Обновить", + "settings.about": "О приложении", + "settings.version": "Версия", + "settings.check_for_updates": "Проверить обновления", + "settings.download_update": "Загрузить обновление", + "settings.install_update": "Установить обновление и перезапустить", + "settings.enable_developer_mode": "Включить режим разработчика", + "settings.disable_developer_mode": "Отключить режим разработчика", + "settings.stop_engine": "Остановить движок", + "settings.disconnect": "Отключить", + "settings.language": "Язык", + "settings.language.description": "Выберите предпочитаемый язык", + "settings.connection_title": "Подключение", + "settings.engine_source_label": "Источник движка", + "settings.engine_source_hint": + "PATH использует установленный OpenCode (по умолчанию). Сайдкар использует встроенный бинарный файл при наличии.", + "settings.sidecar_unavailable": "Сайдкар поставляется при наличии.", + "settings.model_title": "Модель", + "settings.model_hint": "Параметры по умолчанию + управление мышлением для запусков.", + "settings.thinking_label": "Мышление", + "settings.thinking_hint": "Показывать части мышления (только режим разработчика).", + "settings.model_variant_label": "Вариант модели", + "settings.appearance_title": "Внешний вид", + "settings.appearance_hint": "Соответствовать системе или принудительно светлый/тёмный режим.", + "settings.theme_system": "Системная", + "settings.theme_light": "Светлая", + "settings.theme_dark": "Тёмная", + "settings.theme_system_hint": + "Системный режим следует предпочтениям ОС автоматически.", + "settings.updates_title": "Обновления", + "settings.updates_hint": "Держите OpenWork в актуальном состоянии.", + "settings.automatic_checks_label": "Автоматические проверки", + "settings.automatic_checks_hint": "Раз в день (тихо)", + "settings.last_checked_time": "Последняя проверка {time}", + "settings.published_date": "Опубликовано {date}", + "settings.update_not_supported_hint": + "Обновления не поддерживаются в этой среде.", + "settings.update_desktop_only_hint": + "Обновления доступны только в десктопном приложении.", + "settings.startup_title": "Запуск", + "settings.mode_suffix": "режим", + "settings.reset_startup_label": "Сбросить режим запуска по умолчанию", + "settings.reset_startup_hint": + "Это очистит ваше сохранённое предпочтение и покажет выбор режима при следующем запуске.", + "settings.advanced_title": "Расширенные", + "settings.advanced_hint": "Сбросить локальное состояние OpenWork для повторного тестирования онбординга.", + "settings.reset_onboarding_label": "Сбросить онбординг", + "settings.reset_onboarding_hint": + "Очищает предпочтения OpenWork и перезапускает приложение.", + "settings.reset_app_data_label": "Сбросить данные приложения", + "settings.reset_app_data_hint": + "Более агрессивно. Очищает кэш OpenWork + данные приложения.", + "settings.reset_requires_hint": + "Требует ввода RESET и перезапустит приложение.", + "settings.developer_title": "Разработчик", + "settings.opencode_cache_label": "Кэш OpenCode", + "settings.opencode_cache_hint": + "Восстанавливает кэшированные данные, используемые для запуска движка. Безопасно.", + "settings.pending_permissions_label": "Ожидающие разрешения", + "settings.recent_events_label": "Недавние события", + "settings.stop_active_runs_hint": "Остановите активные запуски для обновления", + "settings.stop_active_runs_reset_hint": "Остановите активные запуски для сброса", + "settings.stop_runs_to_update": "Остановите активные запуски для обновления", + "settings.stop_runs_to_reset": "Остановите активные запуски для сброса", + "settings.updates_not_supported": + "Обновления не поддерживаются в этой среде.", + "settings.updates_desktop_only": + "Обновления доступны только в десктопном приложении.", "reload.toast_title": "Доступны обновления", - "reload.toast_description": "Перезагрузите рабочее пространство для применения изменений конфигурации.", - "reload.toast_warning": "Остановит все активные задачи.", - "reload.toast_warning_active": "Перезагрузка остановит {count} активн. задач.", - "reload.toast_reload": "Перезагрузить", - "reload.toast_reload_stopped": "Перезагрузить и остановить задачи", - "reload.toast_reloading": "Перезагрузка...", - "reload.toast_dismiss": "Позже", - "reload.toast_blocked_host": "Перезагрузка доступна только для локальных воркеров.", - "reload.toast_blocked_connect": "Подключитесь к этому рабочему пространству для перезагрузки.", - "reload.toast_blocked_runs": - "Ожидание завершения активных задач перед перезагрузкой.", + "reload.toast_description": "Перезагрузите рабочее пространство для применения изменений конфигурации.", + "reload.toast_warning": "Остановит все активные задачи.", + "reload.toast_warning_active": "Перезагрузка остановит {count} активн. задач.", + "reload.toast_reload": "Перезагрузить", + "reload.toast_reload_stopped": "Перезагрузить и остановить задачи", + "reload.toast_reloading": "Перезагрузка...", + "reload.toast_dismiss": "Позже", + "reload.toast_blocked_host": "Перезагрузка доступна только для локальных воркеров.", + "reload.toast_blocked_connect": "Подключитесь к этому рабочему пространству для перезагрузки.", + "reload.toast_blocked_runs": + "Ожидание завершения активных задач перед перезагрузкой.", "onboarding.starting_host": "Запуск сервера OpenWork...", - "onboarding.searching_host": "Подключение к серверу OpenWork...", - "onboarding.getting_ready": "Подготовка всего необходимого", - "onboarding.verifying": "Проверка безопасного рукопожатия", - "onboarding.create_first_workspace": "Создайте ваше первое рабочее пространство", - "onboarding.create_workspace": "Создать рабочее пространство", - "onboarding.workspace_description": - "Выберите папку и пресет для настройки вашего рабочего пространства.", - "onboarding.start": "Запустить OpenWork", - "onboarding.back": "Назад", - "onboarding.advanced_settings": "Расширенные настройки", - "onboarding.opencode_engine": "Движок OpenCode", - "onboarding.refresh": "Обновить", - "onboarding.checking_cli": "Проверка OpenCode CLI...", - "onboarding.cli_not_found": "OpenCode CLI не найден.", - "onboarding.cli_needs_update": "OpenCode CLI требует обновления для serve.", - "onboarding.opencode": "OpenCode", - "onboarding.cli_ready": "OpenCode CLI готов.", - "onboarding.cli_version": "OpenCode {version}", - "onboarding.windows_install_instruction": - "Установите OpenCode для Windows, затем перезапустите OpenWork. Убедитесь, что opencode.exe в PATH.", - "onboarding.install_instruction": - "Установите OpenCode для включения локального сервера (терминал не требуется).", - "onboarding.install": "Установить OpenCode", - "onboarding.recheck": "Перепроверить", - "onboarding.ready_message": "OpenCode готов для запуска локального сервера.", - "onboarding.resolved_path": "Разрешённый путь", - "onboarding.version": "Версия", - "onboarding.search_notes": "Заметки поиска", - "onboarding.serve_help": "вывод serve --help", - "onboarding.workspace_folder_label": - "Рабочее пространство — это папка с собственными навыками, плагинами и командами.", - "onboarding.theme_label": "Тема", - "onboarding.theme_current": "Текущая: {mode}", - "onboarding.theme_system": "Системная", - "onboarding.theme_light": "Светлая", - "onboarding.theme_dark": "Тёмная", - "onboarding.access_label": "Доступ", - "onboarding.folders_allowed": "Допущено папок: {count}", - "onboarding.manage_access_hint": - "Вы можете управлять доступом в расширенных настройках.", - "onboarding.open_settings_hint": - "Нужны параметры движка или доступа? Откройте Настройки.", - "onboarding.open_settings": "Открыть настройки", - "onboarding.add_folder_path": "Добавить путь к папке", - "onboarding.pick": "Выбрать", - "onboarding.add": "Добавить", - "onboarding.remove": "Удалить", - "onboarding.cli_label": "OpenCode CLI", - "onboarding.cli_checking": "Проверка установки...", - "onboarding.cli_not_found_hint": - "Не найден. Установите для запуска локального сервера.", - "onboarding.cli_version_installed": "Установлено", - "onboarding.cli_recheck": "Перепроверить", - "onboarding.cli_install_commands": - "Установите OpenCode одной из команд ниже, затем перезапустите OpenWork.", - "onboarding.show_search_notes": "Показать заметки поиска", - "onboarding.last_checked": "Последняя проверка {time}", - "onboarding.server_url_placeholder": "http://localhost:8088", - "onboarding.directory_placeholder": "my-project", - "onboarding.connect_host": "Подключиться к серверу", - "onboarding.connect_description": - "Подключитесь к существующему серверу OpenCode (LAN или туннель).", - "onboarding.server_url": "URL сервера", - "onboarding.directory": "Директория (необязательно)", - "onboarding.directory_hint": "Используйте, если ваш сервер запускает несколько воркеров.", - "onboarding.connect": "Подключить", - "onboarding.remote_workspace_title": "Подключение к серверу OpenWork", - "onboarding.remote_workspace_description": - "Подключитесь к серверу OpenWork для доступа к рабочему пространству из любого места.", - "onboarding.remote_workspace_action": "Подключить", - "onboarding.remote_workspace_card_title": "Подключить удалённое рабочее пространство", - "onboarding.remote_workspace_card_description": - "Подключитесь к серверу OpenWork для доступа к общему рабочему пространству.", - "onboarding.advanced_openwork_host": "Сервер OpenWork", - "onboarding.advanced_openwork_hint": - "Используйте URL сервера и токен доступа для общего доступа.", - "onboarding.advanced_opencode_direct": "Расширенный: OpenCode напрямую", - "onboarding.advanced_opencode_hint": - "Подключитесь напрямую к движку OpenCode, если сервер недоступен.", - "onboarding.welcome_title": "Как вы хотите запустить OpenWork сегодня?", - "onboarding.run_local": "Запустить локально", - "onboarding.run_local_description": - "OpenWork запускает OpenCode локально и сохраняет вашу работу в приватности.", - "onboarding.engine_running": "Движок уже запущен", - "onboarding.attach_description": - "Подключитесь к существующей сессии на этом устройстве.", - "onboarding.attach": "Подключить", - "onboarding.remember_choice": "Запомнить мой выбор в следующий раз", - "onboarding.client_mode": "Подключить как клиент (удалённая связка)", - "onboarding.default_workspace_path": "~/OpenWork/Worker", - "onboarding.authorize_folder": "Авторизовать папку", - "onboarding.choose_workspace_folder": "Выберите папку рабочего пространства", + "onboarding.searching_host": "Подключение к серверу OpenWork...", + "onboarding.getting_ready": "Подготовка всего необходимого", + "onboarding.verifying": "Проверка безопасного рукопожатия", + "onboarding.create_first_workspace": "Создайте ваше первое рабочее пространство", + "onboarding.create_workspace": "Создать рабочее пространство", + "onboarding.workspace_description": + "Выберите папку и пресет для настройки вашего рабочего пространства.", + "onboarding.start": "Запустить OpenWork", + "onboarding.back": "Назад", + "onboarding.advanced_settings": "Расширенные настройки", + "onboarding.opencode_engine": "Движок OpenCode", + "onboarding.refresh": "Обновить", + "onboarding.checking_cli": "Проверка OpenCode CLI...", + "onboarding.cli_not_found": "OpenCode CLI не найден.", + "onboarding.cli_needs_update": "OpenCode CLI требует обновления для serve.", + "onboarding.opencode": "OpenCode", + "onboarding.cli_ready": "OpenCode CLI готов.", + "onboarding.cli_version": "OpenCode {version}", + "onboarding.windows_install_instruction": + "Установите OpenCode для Windows, затем перезапустите OpenWork. Убедитесь, что opencode.exe в PATH.", + "onboarding.install_instruction": + "Установите OpenCode для включения локального сервера (терминал не требуется).", + "onboarding.install": "Установить OpenCode", + "onboarding.recheck": "Перепроверить", + "onboarding.ready_message": "OpenCode готов для запуска локального сервера.", + "onboarding.resolved_path": "Разрешённый путь", + "onboarding.version": "Версия", + "onboarding.search_notes": "Заметки поиска", + "onboarding.serve_help": "вывод serve --help", + "onboarding.workspace_folder_label": + "Рабочее пространство — это папка с собственными навыками, плагинами и командами.", + "onboarding.theme_label": "Тема", + "onboarding.theme_current": "Текущая: {mode}", + "onboarding.theme_system": "Системная", + "onboarding.theme_light": "Светлая", + "onboarding.theme_dark": "Тёмная", + "onboarding.access_label": "Доступ", + "onboarding.folders_allowed": "Допущено папок: {count}", + "onboarding.manage_access_hint": + "Вы можете управлять доступом в расширенных настройках.", + "onboarding.open_settings_hint": + "Нужны параметры движка или доступа? Откройте Настройки.", + "onboarding.open_settings": "Открыть настройки", + "onboarding.add_folder_path": "Добавить путь к папке", + "onboarding.pick": "Выбрать", + "onboarding.add": "Добавить", + "onboarding.remove": "Удалить", + "onboarding.cli_label": "OpenCode CLI", + "onboarding.cli_checking": "Проверка установки...", + "onboarding.cli_not_found_hint": + "Не найден. Установите для запуска локального сервера.", + "onboarding.cli_version_installed": "Установлено", + "onboarding.cli_recheck": "Перепроверить", + "onboarding.cli_install_commands": + "Установите OpenCode одной из команд ниже, затем перезапустите OpenWork.", + "onboarding.show_search_notes": "Показать заметки поиска", + "onboarding.last_checked": "Последняя проверка {time}", + "onboarding.server_url_placeholder": "http://localhost:8088", + "onboarding.directory_placeholder": "my-project", + "onboarding.connect_host": "Подключиться к серверу", + "onboarding.connect_description": + "Подключитесь к существующему серверу OpenCode (LAN или туннель).", + "onboarding.server_url": "URL сервера", + "onboarding.directory": "Директория (необязательно)", + "onboarding.directory_hint": "Используйте, если ваш сервер запускает несколько воркеров.", + "onboarding.connect": "Подключить", + "onboarding.remote_workspace_title": "Подключение к серверу OpenWork", + "onboarding.remote_workspace_description": + "Подключитесь к серверу OpenWork для доступа к рабочему пространству из любого места.", + "onboarding.remote_workspace_action": "Подключить", + "onboarding.remote_workspace_card_title": "Подключить удалённое рабочее пространство", + "onboarding.remote_workspace_card_description": + "Подключитесь к серверу OpenWork для доступа к общему рабочему пространству.", + "onboarding.advanced_openwork_host": "Сервер OpenWork", + "onboarding.advanced_openwork_hint": + "Используйте URL сервера и токен доступа для общего доступа.", + "onboarding.advanced_opencode_direct": "Расширенный: OpenCode напрямую", + "onboarding.advanced_opencode_hint": + "Подключитесь напрямую к движку OpenCode, если сервер недоступен.", + "onboarding.welcome_title": "Как вы хотите запустить OpenWork сегодня?", + "onboarding.run_local": "Запустить локально", + "onboarding.run_local_description": + "OpenWork запускает OpenCode локально и сохраняет вашу работу в приватности.", + "onboarding.engine_running": "Движок уже запущен", + "onboarding.attach_description": + "Подключитесь к существующей сессии на этом устройстве.", + "onboarding.attach": "Подключить", + "onboarding.remember_choice": "Запомнить мой выбор в следующий раз", + "onboarding.client_mode": "Подключить как клиент (удалённая связка)", + "onboarding.default_workspace_path": "~/OpenWork/Worker", + "onboarding.authorize_folder": "Авторизовать папку", + "onboarding.choose_workspace_folder": "Выберите папку рабочего пространства", "common.alpha": "Alpha", - "common.change": "Изменить", - "common.refresh": "Обновить", - "common.new": "Создать", - "common.install": "Установить", - "common.delete": "Удалить", - "common.edit": "Редактировать", - "common.save": "Сохранить", - "common.cancel": "Отмена", - "common.close": "Закрыть", - "common.open": "Открыть", - "common.show": "Показать", - "common.hide": "Скрыть", - "common.path": "Путь", - "common.choose": "Выбрать", - "common.retry": "Повторить", - "common.untitled": "Без имени", - "common.default_parens": "(по умолчанию)", - "common.on": "Вкл", - "common.off": "Выкл", + "common.change": "Изменить", + "common.refresh": "Обновить", + "common.new": "Создать", + "common.install": "Установить", + "common.delete": "Удалить", + "common.edit": "Редактировать", + "common.save": "Сохранить", + "common.cancel": "Отмена", + "common.close": "Закрыть", + "common.open": "Открыть", + "common.show": "Показать", + "common.hide": "Скрыть", + "common.path": "Путь", + "common.choose": "Выбрать", + "common.retry": "Повторить", + "common.untitled": "Без имени", + "common.default_parens": "(по умолчанию)", + "common.on": "Вкл", + "common.off": "Выкл", "status.connected": "Подключено", - "status.disconnected": "Отключено", - "status.idle": "Ожидание", - "status.busy": "Занят", - "status.running": "Выполняется", - "status.live": "Live", - "status.connecting": "Подключение", - "status.creating_workspace": "Создание рабочего пространства", - "status.deleting_command": "Удаление команды", - "status.saving_workspace_command": "Сохранение команды рабочего пространства", - "status.saving_command": "Сохранение команды", - "status.loading_session": "Загрузка сессии", - "status.creating_task": "Создание новой задачи", - "status.starting_engine": "Запуск движка", - "status.reloading_engine": "Перезагрузка движка", - "status.restarting_engine": "Перезапуск движка", - "status.installing_opencode": "Установка OpenCode", - "status.disconnecting": "Отключение", + "status.disconnected": "Отключено", + "status.idle": "Ожидание", + "status.busy": "Занят", + "status.running": "Выполняется", + "status.live": "Live", + "status.connecting": "Подключение", + "status.creating_workspace": "Создание рабочего пространства", + "status.deleting_command": "Удаление команды", + "status.saving_workspace_command": "Сохранение команды рабочего пространства", + "status.saving_command": "Сохранение команды", + "status.loading_session": "Загрузка сессии", + "status.creating_task": "Создание новой задачи", + "status.starting_engine": "Запуск движка", + "status.reloading_engine": "Перезагрузка движка", + "status.restarting_engine": "Перезапуск движка", + "status.installing_opencode": "Установка OpenCode", + "status.disconnecting": "Отключение", "workspace.switching_title": "Открытие {name}", - "workspace.switching_title_unknown": "Открытие рабочего пространства", - "workspace.switching_subtitle": "Мы восстановим вашу недавнюю работу.", - "workspace.switching_status_preparing": "Подготовка", - "workspace.switching_status_connecting": "Проверка подключения", - "workspace.switching_status_loading": "Загрузка недавних задач", - "workspace.switching_status_almost": "Почти готово", + "workspace.switching_title_unknown": "Открытие рабочего пространства", + "workspace.switching_subtitle": "Мы восстановим вашу недавнюю работу.", + "workspace.switching_status_preparing": "Подготовка", + "workspace.switching_status_connecting": "Проверка подключения", + "workspace.switching_status_loading": "Загрузка недавних задач", + "workspace.switching_status_almost": "Почти готово", - "app.connection_lost": "Соединение с сервером потеряно. Перезагрузите.", - "app.unknown_error": "Неизвестная ошибка", - "app.error.tauri_required": "Это действие требует среды выполнения Tauri.", - "app.error.choose_folder": "Выберите папку для продолжения.", - "app.error.pick_workspace_folder": "Сначала выберите папку рабочего пространства.", - "app.error.remote_base_url_required": "Добавьте URL сервера для продолжения.", - "app.error.host_requires_local": - "Выберите локальное рабочее пространство для запуска движка.", - "app.error.sidecar_unsupported_windows": - "Sidecar OpenCode поставляется с Windows. Возврат к PATH.", - "app.error.install_failed": "Установка OpenCode не удалась. См. логи выше.", - "app.error.command_name_template_required": - "Требуется имя команды и инструкции.", - "app.error.workspace_commands_desktop": "Команды требуют десктопного приложения.", - "app.error.command_scope_unknown": - "Эту команду нельзя управлять в данном режиме.", + "app.connection_lost": "Соединение с сервером потеряно. Перезагрузите.", + "app.unknown_error": "Неизвестная ошибка", + "app.error.tauri_required": "Это действие требует среды выполнения Tauri.", + "app.error.choose_folder": "Выберите папку для продолжения.", + "app.error.pick_workspace_folder": "Сначала выберите папку рабочего пространства.", + "app.error.remote_base_url_required": "Добавьте URL сервера для продолжения.", + "app.error.host_requires_local": + "Выберите локальное рабочее пространство для запуска движка.", + "app.error.sidecar_unsupported_windows": + "Sidecar OpenCode поставляется с Windows. Возврат к PATH.", + "app.error.install_failed": "Установка OpenCode не удалась. См. логи выше.", + "app.error.command_name_template_required": + "Требуется имя команды и инструкции.", + "app.error.workspace_commands_desktop": "Команды требуют десктопного приложения.", + "app.error.command_scope_unknown": + "Эту команду нельзя управлять в данном режиме.", "app.shared_setup": "Общая настройка", - "app.skill_added": "Навык добавлен", - "app.worker_fallback": "Воркер", - "app.local_worker_detail": "Локальный воркер", - "app.remote_worker_detail": "Удалённый воркер", - "app.import_shared_bundle": "Импортировать общий пакет", - "app.import_bundle_desc": "Выберите способ импорта этого пакета.", - "app.local_disabled_reason": - "Создавайте локальные рабочие пространства в десктопном приложении. Удалённые и общие пространства работают здесь.", - "app.reload_stop_tasks": "Перезагрузить и остановить задачи", - "app.reload_now": "Перезагрузить сейчас", - "app.reload_later": "Позже", - "app.error_request_failed": "Запрос не удался", - "app.error_command_not_resolved": "Команда не была разрешена.", - "app.error_auth_failed": "Аутентификация не удалась", - "app.error_rate_limit": "Превышен лимит запросов", - "app.error_compact_no_session": - "Выберите сессию с сообщениями перед запуском /compact.", - "app.error_not_connected": "Нет подключения к серверу", - "app.error_compact_no_session_id": "Выберите сессию перед сжатием.", - "app.error_compact_empty": "Сжимать пока нечего.", - "app.error_session_name_required": "Требуется имя сессии", - "app.error_audit_load": "Не удалось загрузить журнал аудита.", - "app.error_restart_local_worker": - "Не удалось перезапустить локальный воркер с обновлённой настройкой общего доступа.", - "app.error_remote_access": "Не удалось обновить удалённый доступ.", - "app.error_deep_link_unrecognized": - "Эта ссылка не является распознаваемой глубокой ссылкой OpenWork или URL общего доступа.", - "app.deep_link_auth_queued": "В очередь добавлена глубокая ссылка Cloud auth для OpenWork.", - "app.deep_link_remote_queued": - "В очередь добавлена ссылка удалённого воркера. OpenWork должен перейти к потоку подключения.", - "app.error_desktop_signin": - "Вход через десктоп завершён, но OpenWork Cloud не вернул токен сессии.", - "app.error_cloud_signin": "Не удалось завершить вход в OpenWork Cloud.", - "app.error_pick_local_folder": - "Выберите папку локального воркера перед перезапуском локального сервера.", - "app.error_connect_first": - "Подключитесь к этому воркеру перед применением изменений среды выполнения.", - "app.error_runtime_changes": "Не удалось применить изменения среды выполнения.", - "app.reset_config_ok": - "Сброшены настройки приложения по умолчанию. Перезапустите OpenWork, если остались устаревшие настройки.", - "app.error_reset_config": "Не удалось сбросить настройки приложения по умолчанию.", - "app.model_behavior_title": "Поведение модели", - "app.model_behavior_desc": - "Сначала выберите модель, чтобы увидеть элементы управления поведением провайдера.", - "app.error_update_opencode_json": "Не удалось обновить opencode.json", - "app.error_auto_compact_scope": - "Автосжатие контекста можно изменить только для локального рабочего пространства или записываемого рабочего пространства сервера OpenWork.", - "app.skills_hint_disconnected": - "Сервер OpenWork недоступен. Добавьте URL/токен сервера в Расширенных для управления навыками.", - "app.skills_hint_limited": - "Сервер OpenWork требует токен хоста для установки/обновления навыков. Добавьте его в Расширенных и переподключитесь.", - "app.skills_hint_readonly": - "Сервер OpenWork доступен только для чтения для навыков. Добавьте токен хоста в Расширенных для включения установки.", - "app.plugins_hint_disconnected": - "Сервер OpenWork недоступен. Плагины доступны только для чтения.", - "app.plugins_hint_limited": "Сервер OpenWork требует токен для редактирования плагинов.", - "app.plugins_hint_readonly": "Сервер OpenWork доступен только для чтения для плагинов.", - "app.compact_command_desc": "Суммируйте эту сессию для уменьшения размера контекста.", - "app.error_connection_failed_url": - "Подключение не удалось. Проверьте URL и токен.", - "app.error_connection_failed": "Подключение не удалось", + "app.skill_added": "Навык добавлен", + "app.worker_fallback": "Воркер", + "app.local_worker_detail": "Локальный воркер", + "app.remote_worker_detail": "Удалённый воркер", + "app.import_shared_bundle": "Импортировать общий пакет", + "app.import_bundle_desc": "Выберите способ импорта этого пакета.", + "app.local_disabled_reason": + "Создавайте локальные рабочие пространства в десктопном приложении. Удалённые и общие пространства работают здесь.", + "app.reload_stop_tasks": "Перезагрузить и остановить задачи", + "app.reload_now": "Перезагрузить сейчас", + "app.reload_later": "Позже", + "app.error_request_failed": "Запрос не удался", + "app.error_command_not_resolved": "Команда не была разрешена.", + "app.error_auth_failed": "Аутентификация не удалась", + "app.error_rate_limit": "Превышен лимит запросов", + "app.error_compact_no_session": + "Выберите сессию с сообщениями перед запуском /compact.", + "app.error_not_connected": "Нет подключения к серверу", + "app.error_compact_no_session_id": "Выберите сессию перед сжатием.", + "app.error_compact_empty": "Сжимать пока нечего.", + "app.error_session_name_required": "Требуется имя сессии", + "app.error_audit_load": "Не удалось загрузить журнал аудита.", + "app.error_restart_local_worker": + "Не удалось перезапустить локальный воркер с обновлённой настройкой общего доступа.", + "app.error_remote_access": "Не удалось обновить удалённый доступ.", + "app.error_deep_link_unrecognized": + "Эта ссылка не является распознаваемой глубокой ссылкой OpenWork или URL общего доступа.", + "app.deep_link_auth_queued": "В очередь добавлена глубокая ссылка Cloud auth для OpenWork.", + "app.deep_link_remote_queued": + "В очередь добавлена ссылка удалённого воркера. OpenWork должен перейти к потоку подключения.", + "app.error_desktop_signin": + "Вход через десктоп завершён, но OpenWork Cloud не вернул токен сессии.", + "app.error_cloud_signin": "Не удалось завершить вход в OpenWork Cloud.", + "app.error_pick_local_folder": + "Выберите папку локального воркера перед перезапуском локального сервера.", + "app.error_connect_first": + "Подключитесь к этому воркеру перед применением изменений среды выполнения.", + "app.error_runtime_changes": "Не удалось применить изменения среды выполнения.", + "app.reset_config_ok": + "Сброшены настройки приложения по умолчанию. Перезапустите OpenWork, если остались устаревшие настройки.", + "app.error_reset_config": "Не удалось сбросить настройки приложения по умолчанию.", + "app.model_behavior_title": "Поведение модели", + "app.model_behavior_desc": + "Сначала выберите модель, чтобы увидеть элементы управления поведением провайдера.", + "app.error_update_opencode_json": "Не удалось обновить opencode.json", + "app.error_auto_compact_scope": + "Автосжатие контекста можно изменить только для локального рабочего пространства или записываемого рабочего пространства сервера OpenWork.", + "app.skills_hint_disconnected": + "Сервер OpenWork недоступен. Добавьте URL/токен сервера в Расширенных для управления навыками.", + "app.skills_hint_limited": + "Сервер OpenWork требует токен хоста для установки/обновления навыков. Добавьте его в Расширенных и переподключитесь.", + "app.skills_hint_readonly": + "Сервер OpenWork доступен только для чтения для навыков. Добавьте токен хоста в Расширенных для включения установки.", + "app.plugins_hint_disconnected": + "Сервер OpenWork недоступен. Плагины доступны только для чтения.", + "app.plugins_hint_limited": "Сервер OpenWork требует токен для редактирования плагинов.", + "app.plugins_hint_readonly": "Сервер OpenWork доступен только для чтения для плагинов.", + "app.compact_command_desc": "Суммируйте эту сессию для уменьшения размера контекста.", + "app.error_connection_failed_url": + "Подключение не удалось. Проверьте URL и токен.", + "app.error_connection_failed": "Подключение не удалось", "status.openwork_ready": "OpenWork готов", - "status.limited_mode": "Ограниченный режим", - "status.disconnected_label": "Отключено", - "status.ready_for_tasks": "Готово к новым задачам", - "status.developer_mode": "Режим разработчика", - "status.providers_connected": "{count} провайдер{plural} подключен", - "status.mcp_connected": "{count} MCP подключен", - "status.limited_hint": "Переподключитесь для восстановления всех функций OpenWork", - "status.limited_mcp_hint": - "{count} MCP подключен · переподключитесь для всех функций", - "status.disconnected_hint": "Откройте настройки для переподключения", - "status.back": "Назад к предыдущему экрану", - "status.feedback": "Обратная связь", - "status.send_feedback": "Отправить отзыв", - "status.settings": "Настройки", + "status.limited_mode": "Ограниченный режим", + "status.disconnected_label": "Отключено", + "status.ready_for_tasks": "Готово к новым задачам", + "status.developer_mode": "Режим разработчика", + "status.providers_connected": "{count} провайдер{plural} подключен", + "status.mcp_connected": "{count} MCP подключен", + "status.limited_hint": "Переподключитесь для восстановления всех функций OpenWork", + "status.limited_mcp_hint": + "{count} MCP подключен · переподключитесь для всех функций", + "status.disconnected_hint": "Откройте настройки для переподключения", + "status.back": "Назад к предыдущему экрану", + "status.feedback": "Обратная связь", + "status.send_feedback": "Отправить отзыв", + "status.settings": "Настройки", "message.waiting_subagent": "Ожидание загрузки транскрипта субагента.", - "message.tool_request_label": "Запрос", - "message.tool_result_label": "Результат", + "message.tool_request_label": "Запрос", + "message.tool_result_label": "Результат", "message_list.copy_message": "Копировать сообщение", "composer.no_matches": "Совпадений не найдено.", - "composer.loading_agents": "Загрузка агентов...", - "composer.run_task": "Запустить задачу", - "composer.stop": "Остановить", - "composer.agent_label": "Агент", - "composer.default_agent": "Агент по умолчанию", - "composer.loading_commands": "Загрузка команд...", - "composer.no_commands": "Команды не найдены.", - "composer.configure": "Настроить", - "composer.tools_label": "Команды, навыки и MCP", - "composer.mcps_label": "MCP", - "composer.skill_source": "Навык", - "composer.attach_files": "Прикрепить файлы", - "composer.image_kind": "Изображение", - "composer.file_kind": "Файл", - "composer.expand_pasted": "Нажмите для развёртывания вставленного текста", - "composer.failed_read_attachment": "Не удалось прочитать вложение", - "composer.attachments_unavailable": "Вложения недоступны.", - "composer.file_exceeds_limit": "{name} превышает лимит 8МБ.", - "composer.file_too_large_encoding": - "{name} слишком большой после кодирования. Попробуйте изображение поменьше.", - "composer.uploaded_single_file": - "Загружено {name} в общую папку и вставлена ссылка.", - "composer.uploaded_multiple_files": - "Загружено {count} файл. в общую папку и вставлены ссылки.", - "composer.upload_failed_local_links": - "Не удалось загрузить в общую папку. Вставлены локальные ссылки.", - "composer.unsupported_attachment_type": "Неподдерживаемый тип вложения.", - "composer.inserted_links_unsupported": - "Вставлены ссылки для неподдерживаемых файлов.", - "composer.remote_worker_paste_warning": - "Это удалённый воркер. Песочницы тоже удалённые. Для обмена файлами загрузите их в общую папку на боковой панели.", - "composer.upload_to_shared_folder": "Загрузить в общую папку", - "composer.placeholder": "Опишите вашу задачу...", - "composer.behavior_label": "Поведение", + "composer.loading_agents": "Загрузка агентов...", + "composer.run_task": "Запустить задачу", + "composer.stop": "Остановить", + "composer.agent_label": "Агент", + "composer.default_agent": "Агент по умолчанию", + "composer.loading_commands": "Загрузка команд...", + "composer.no_commands": "Команды не найдены.", + "composer.configure": "Настроить", + "composer.tools_label": "Команды, навыки и MCP", + "composer.mcps_label": "MCP", + "composer.skill_source": "Навык", + "composer.attach_files": "Прикрепить файлы", + "composer.image_kind": "Изображение", + "composer.file_kind": "Файл", + "composer.expand_pasted": "Нажмите для развёртывания вставленного текста", + "composer.failed_read_attachment": "Не удалось прочитать вложение", + "composer.attachments_unavailable": "Вложения недоступны.", + "composer.file_exceeds_limit": "{name} превышает лимит 8МБ.", + "composer.file_too_large_encoding": + "{name} слишком большой после кодирования. Попробуйте изображение поменьше.", + "composer.uploaded_single_file": + "Загружено {name} в общую папку и вставлена ссылка.", + "composer.uploaded_multiple_files": + "Загружено {count} файл. в общую папку и вставлены ссылки.", + "composer.upload_failed_local_links": + "Не удалось загрузить в общую папку. Вставлены локальные ссылки.", + "composer.unsupported_attachment_type": "Неподдерживаемый тип вложения.", + "composer.inserted_links_unsupported": + "Вставлены ссылки для неподдерживаемых файлов.", + "composer.remote_worker_paste_warning": + "Это удалённый воркер. Песочницы тоже удалённые. Для обмена файлами загрузите их в общую папку на боковой панели.", + "composer.upload_to_shared_folder": "Загрузить в общую папку", + "composer.placeholder": "Опишите вашу задачу...", + "composer.behavior_label": "Поведение", "context_panel.context": "Контекст", - "context_panel.working_files": "Рабочие файлы", - "context_panel.plugins": "Плагины", - "context_panel.no_plugins": "Плагины не загружены.", - "context_panel.mcp": "MCP", - "context_panel.no_mcp": "Серверы MCP не загружены.", - "context_panel.skills": "Навыки", - "context_panel.no_skills": "Навыки не загружены.", - "context_panel.authorized_folders": "Авторизованные папки", - "context_panel.none_yet": "Пока нет.", - "context_panel.mcp_disabled": "Отключено", - "context_panel.mcp_disconnected": "Отключено", - "context_panel.mcp_connected": "Подключено", - "context_panel.mcp_needs_auth": "Требуется аутентификация", - "context_panel.mcp_register_client": "Зарегистрировать клиент", - "context_panel.mcp_failed": "Ошибка", - "context_panel.open_file": "Открыть {path}", + "context_panel.working_files": "Рабочие файлы", + "context_panel.plugins": "Плагины", + "context_panel.no_plugins": "Плагины не загружены.", + "context_panel.mcp": "MCP", + "context_panel.no_mcp": "Серверы MCP не загружены.", + "context_panel.skills": "Навыки", + "context_panel.no_skills": "Навыки не загружены.", + "context_panel.authorized_folders": "Авторизованные папки", + "context_panel.none_yet": "Пока нет.", + "context_panel.mcp_disabled": "Отключено", + "context_panel.mcp_disconnected": "Отключено", + "context_panel.mcp_connected": "Подключено", + "context_panel.mcp_needs_auth": "Требуется аутентификация", + "context_panel.mcp_register_client": "Зарегистрировать клиент", + "context_panel.mcp_failed": "Ошибка", + "context_panel.open_file": "Открыть {path}", "inbox_panel.shared_folder": "Общая папка", - "inbox_panel.refresh_tooltip": "Обновить общую папку", - "inbox_panel.uploading": "Загрузка...", - "inbox_panel.upload_prompt": "Перетащите файлы или нажмите для загрузки", - "inbox_panel.helper_text": "Поделитесь файлами с этим воркером из приложения.", - "inbox_panel.connect_to_see": "Подключитесь для просмотра общих файлов.", - "inbox_panel.no_files": "Общих файлов пока нет.", - "inbox_panel.showing_first": "Показаны первые {count}.", - "inbox_panel.upload_needs_worker": - "Подключитесь к воркеру для загрузки файлов в общую папку.", - "inbox_panel.uploading_label": "Загрузка {label}...", - "inbox_panel.upload_success": "Загружено в общую папку.", - "inbox_panel.upload_failed": "Загрузка в общую папку не удалась", - "inbox_panel.copy_failed": - "Копирование не удалось. Ваш браузер может блокировать доступ к буферу обмена.", - "inbox_panel.connect_to_download": - "Подключитесь к воркеру для загрузки общих файлов.", - "inbox_panel.missing_file_id": "Отсутствует id общего файла.", - "inbox_panel.download": "Скачать", - "inbox_panel.load_failed": "Не удалось загрузить общую папку", - "inbox_panel.drop_to_upload": "Перетащите файлы сюда для загрузки", - "inbox_panel.connect_to_upload": "Подключитесь к воркеру для загрузки", + "inbox_panel.refresh_tooltip": "Обновить общую папку", + "inbox_panel.uploading": "Загрузка...", + "inbox_panel.upload_prompt": "Перетащите файлы или нажмите для загрузки", + "inbox_panel.helper_text": "Поделитесь файлами с этим воркером из приложения.", + "inbox_panel.connect_to_see": "Подключитесь для просмотра общих файлов.", + "inbox_panel.no_files": "Общих файлов пока нет.", + "inbox_panel.showing_first": "Показаны первые {count}.", + "inbox_panel.upload_needs_worker": + "Подключитесь к воркеру для загрузки файлов в общую папку.", + "inbox_panel.uploading_label": "Загрузка {label}...", + "inbox_panel.upload_success": "Загружено в общую папку.", + "inbox_panel.upload_failed": "Загрузка в общую папку не удалась", + "inbox_panel.copy_failed": + "Копирование не удалось. Ваш браузер может блокировать доступ к буферу обмена.", + "inbox_panel.connect_to_download": + "Подключитесь к воркеру для загрузки общих файлов.", + "inbox_panel.missing_file_id": "Отсутствует id общего файла.", + "inbox_panel.download": "Скачать", + "inbox_panel.load_failed": "Не удалось загрузить общую папку", + "inbox_panel.drop_to_upload": "Перетащите файлы сюда для загрузки", + "inbox_panel.connect_to_upload": "Подключитесь к воркеру для загрузки", "sidebar.no_workspaces": - "Рабочих пространств в этой сессии пока нет. Добавьте одно для начала.", - "sidebar.needs_attention": "Требует внимания", - "sidebar.active": "Активно", - "sidebar.switch": "Переключить", - "sidebar.expand": "Развернуть", - "sidebar.collapse": "Свернуть", - "sidebar.drag_reorder": "Перетащите для изменения порядка", - "sidebar.edit_connection": "Редактировать подключение", - "sidebar.test_connection": "Тест подключения", - "sidebar.stop_sandbox": "Остановить песочницу", - "sidebar.remove_workspace": "Удалить рабочее пространство", - "sidebar.show_fewer": "Показать меньше", - "sidebar.show_more": "Показать ещё {count}", - "sidebar.add_workspace": "Добавить новое рабочее пространство", - "sidebar.new_worker": "Новый воркер", - "sidebar.connect_remote": "Подключить удалённое", - "sidebar.import_config": "Импортировать конфигурацию", - "sidebar.progress": "Прогресс", - "sidebar.delete_session": "Удалить сессию", - "sidebar.no_sessions_yet": "Сессий пока нет", + "Рабочих пространств в этой сессии пока нет. Добавьте одно для начала.", + "sidebar.needs_attention": "Требует внимания", + "sidebar.active": "Активно", + "sidebar.switch": "Переключить", + "sidebar.expand": "Развернуть", + "sidebar.collapse": "Свернуть", + "sidebar.drag_reorder": "Перетащите для изменения порядка", + "sidebar.edit_connection": "Редактировать подключение", + "sidebar.test_connection": "Тест подключения", + "sidebar.stop_sandbox": "Остановить песочницу", + "sidebar.remove_workspace": "Удалить рабочее пространство", + "sidebar.show_fewer": "Показать меньше", + "sidebar.show_more": "Показать ещё {count}", + "sidebar.add_workspace": "Добавить новое рабочее пространство", + "sidebar.new_worker": "Новый воркер", + "sidebar.connect_remote": "Подключить удалённое", + "sidebar.import_config": "Импортировать конфигурацию", + "sidebar.progress": "Прогресс", + "sidebar.delete_session": "Удалить сессию", + "sidebar.no_sessions_yet": "Сессий пока нет", "workspace_list.connecting": "Подключение...", - "workspace_list.workspace_fallback": "Рабочее пространство", - "workspace_list.reveal_explorer": "Показать в Проводнике", - "workspace_list.reveal_finder": "Показать в Finder", - "workspace_list.show_more": "Показать ещё {count}", - "workspace_list.show_more_fallback": "Показать ещё", - "workspace_list.workspace_options": "Параметры рабочего пространства", - "workspace_list.session_actions": "Действия сессии", - "workspace_list.hide_child_sessions": "Скрыть дочерние сессии", - "workspace_list.show_child_sessions": "Показать дочерние сессии", - "workspace_list.edit_name": "Редактировать имя", - "workspace_list.share": "Поделиться...", - "workspace_list.recover": "Восстановить", - "workspace_list.test_connection": "Тест подключения", - "workspace_list.edit_connection": "Редактировать подключение", - "workspace_list.remove_workspace": "Удалить рабочее пространство", - "workspace_list.rename_session": "Переименовать сессию", - "workspace_list.delete_session": "Удалить сессию", - "workspace_list.add_workspace": "Добавить рабочее пространство", - "workspace_list.new_workspace": "Новое рабочее пространство", - "workspace_list.connect_remote": "Подключить удалённое рабочее пространство", - "workspace_list.import_config": "Импортировать конфигурацию", - "workspace_list.desktop_only_hint": - "Создавайте локальные рабочие пространства в десктопном приложении.", + "workspace_list.workspace_fallback": "Рабочее пространство", + "workspace_list.reveal_explorer": "Показать в Проводнике", + "workspace_list.reveal_finder": "Показать в Finder", + "workspace_list.show_more": "Показать ещё {count}", + "workspace_list.show_more_fallback": "Показать ещё", + "workspace_list.workspace_options": "Параметры рабочего пространства", + "workspace_list.session_actions": "Действия сессии", + "workspace_list.hide_child_sessions": "Скрыть дочерние сессии", + "workspace_list.show_child_sessions": "Показать дочерние сессии", + "workspace_list.edit_name": "Редактировать имя", + "workspace_list.share": "Поделиться...", + "workspace_list.recover": "Восстановить", + "workspace_list.test_connection": "Тест подключения", + "workspace_list.edit_connection": "Редактировать подключение", + "workspace_list.remove_workspace": "Удалить рабочее пространство", + "workspace_list.rename_session": "Переименовать сессию", + "workspace_list.delete_session": "Удалить сессию", + "workspace_list.add_workspace": "Добавить рабочее пространство", + "workspace_list.new_workspace": "Новое рабочее пространство", + "workspace_list.connect_remote": "Подключить удалённое рабочее пространство", + "workspace_list.import_config": "Импортировать конфигурацию", + "workspace_list.desktop_only_hint": + "Создавайте локальные рабочие пространства в десктопном приложении.", "workspace.sandbox_badge": "Песочница", - "workspace.remote_badge": "Удалённое", - "workspace.local_badge": "Локальное", + "workspace.remote_badge": "Удалённое", + "workspace.local_badge": "Локальное", "workspace_sidebar.configuration": "конфигурация", - "workspace_sidebar.close_sidebar": "Закрыть боковую панель", - "workspace_sidebar.collapse_sidebar": "Свернуть боковую панель", - "workspace_sidebar.expand_sidebar": "Развернуть боковую панель", - "workspace_sidebar.automations": "Автоматизации", - "workspace_sidebar.extensions": "Расширения", - "workspace_sidebar.messaging": "Обмен сообщениями", + "workspace_sidebar.close_sidebar": "Закрыть боковую панель", + "workspace_sidebar.collapse_sidebar": "Свернуть боковую панель", + "workspace_sidebar.expand_sidebar": "Развернуть боковую панель", + "workspace_sidebar.automations": "Автоматизации", + "workspace_sidebar.extensions": "Расширения", + "workspace_sidebar.messaging": "Обмен сообщениями", "common.unknown": "Неизвестно", "den.cloud_section_title": "OpenWork Cloud", - "den.cloud_section_desc": - "Войдите, выберите организацию и откройте Cloud воркеры или командные шаблоны.", - "den.cloud_sleep_hint": - "Войдите в OpenWork Cloud, чтобы задачи работали даже в спящем режиме компьютера.", - "den.cloud_control_plane_url_label": "URL управляющей плоскости Cloud", - "den.cloud_control_plane_url_hint": - "Только режим разработчика. Используйте для локальной или саморазмещённой управляющей плоскости Cloud. Изменение выйдет из системы, чтобы приложение могло обновиться относительно новой плоскости.", - "den.cloud_control_plane_reset": "Сбросить", - "den.cloud_control_plane_save": "Сохранить URL", - "den.cloud_control_plane_open": "Открыть в браузере", - "den.signin_title": "Вход в OpenWork Cloud", - "den.signin_button": "Войти", - "den.create_account": "Создать аккаунт", - "den.hide_signin_code": "Скрыть код входа", - "den.paste_signin_code": "Вставить код входа", - "den.signin_link_label": "Ссылка для входа или одноразовый код", - "den.signin_link_placeholder": "openwork://den-auth?... или вставленный код", - "den.signin_link_hint": - "Если ваш браузер не возвращается в OpenWork автоматически, вставьте ссылку для входа или одноразовый код из OpenWork Cloud здесь.", - "den.finishing": "Завершение...", - "den.finish_signin": "Завершить вход", - "den.signin_code_note": - "Принимает ссылку openwork://den-auth или одноразовый грант.", - "den.auto_reconnect_hint": - "Завершите аутентификацию в браузере, и OpenWork автоматически переподключится здесь.", - "den.cloud_account_title": "Аккаунт Cloud", - "den.cloud_account_hint": "Управляйте подключённым аккаунтом и организацией.", - "den.signing_out": "Выход...", - "den.sign_out": "Выйти", - "den.active_org_title": "Активная организация", - "den.active_org_hint": - "Cloud воркеры и командные шаблоны привязаны к выбранной организации.", - "den.no_org_selected": "Организация не выбрана", - "den.needs_attention": "Требует внимания", - "den.checking_session": "Проверка сессии", - "den.signed_out": "Вышли из системы", - "den.cloud_workers_title": "Cloud воркеры", - "den.cloud_workers_hint": - "Открывайте воркеры напрямую в OpenWork, используя тот же поток удалённого подключения, что и в других местах приложения.", - "den.refresh": "Обновить", - "den.no_cloud_workers": - "Cloud воркеры пока не видны для этой организации. Создайте один в Cloud, затем обновите эту вкладку.", - "den.worker_mine_badge": "Мой", - "den.worker_secondary_cloud": "Cloud воркер", - "den.worker_not_ready_title": "Этот воркер пока не готов к открытию.", - "den.open": "Открыть", - "den.opening": "Открытие...", - "den.team_templates_title": "Командные шаблоны", - "den.team_templates_hint": - "Откройте переиспользуемые шаблоны рабочих пространств, которыми поделились с этой организацией.", - "den.team_template_badge": "Командный шаблон", - "den.no_team_templates": - "Командных шаблонов пока нет. Используйте Поделиться → Шаблон → Поделиться с командой.", - "den.choose_org_for_templates": "Выберите организацию для просмотра командных шаблонов.", - "den.error_base_url": - "Введите корректный URL управляющей плоскости Cloud http:// или https://.", - "den.error_choose_org": "Выберите организацию перед открытием воркера.", - "den.error_worker_not_ready": - "Воркер пока не готов к открытию. Попробуйте снова после завершения подготовки.", - "den.error_load_orgs": "Не удалось загрузить организации.", - "den.error_load_workers": "Не удалось загрузить воркеры.", - "den.error_load_templates": "Не удалось загрузить командные шаблоны.", - "den.error_no_session": "Активная Cloud сессия не найдена.", - "den.error_paste_valid_code": - "Вставьте корректную ссылку для входа или одноразовый код входа OpenWork.", - "den.error_signin_failed": "Не удалось завершить вход в OpenWork Cloud.", - "den.error_no_token": - "Вход через десктоп завершён, но OpenWork Cloud не вернул токен сессии.", - "den.status_browser_signin": - "Завершите вход в браузере для подключения OpenWork.", - "den.status_browser_signup": - "Завершите создание аккаунта в браузере для подключения OpenWork.", - "den.status_cloud_signin_done": "OpenWork Cloud подключён.", - "den.status_base_url_updated": - "Обновлён URL управляющей плоскости Cloud. Войдите снова для продолжения.", - "den.status_signed_out": - "Вышли из системы и очистили сессию OpenWork Cloud на этом устройстве.", - "den.status_signed_in_as": "Вошли как {email}.", - "den.status_cloud_signed_in_as": "Подключён OpenWork Cloud как {email}.", - "den.status_loaded_orgs": "Загружено организаций: {count}.", - "den.status_loaded_workers": "Загружено воркеров для {name}: {count}.", - "den.status_no_workers": "Воркеры для {name} не найдены.", - "den.status_loaded_templates": "Загружено шаблонов для {name}: {count}.", - "den.status_no_templates": "Командные шаблоны для {name} не найдены.", - "den.status_opened_worker": "Открыто {name} в OpenWork.", - "den.status_opened_template": "Открыто {name} из {org}.", - "den.status_opened_template_fallback": "Открыто {name} из командных шаблонов.", - "den.signing_in": "Завершение входа в OpenWork Cloud...", - "den.org_switched": "Переключено на {name}.", - "den.org_owner_suffix": "(Владелец)", - "den.org_member_suffix": "(Участник)", - "den.worker_provider_label": "{provider} воркер", - "den.error_open_worker": "Не удалось открыть {name} в OpenWork.", - "den.error_open_worker_fallback": "Не удалось открыть {name}.", - "den.error_open_template": "Не удалось открыть {name}.", + "den.cloud_section_desc": + "Войдите, выберите организацию и откройте Cloud воркеры или командные шаблоны.", + "den.cloud_sleep_hint": + "Войдите в OpenWork Cloud, чтобы задачи работали даже в спящем режиме компьютера.", + "den.cloud_control_plane_url_label": "URL управляющей плоскости Cloud", + "den.cloud_control_plane_url_hint": + "Только режим разработчика. Используйте для локальной или саморазмещённой управляющей плоскости Cloud. Изменение выйдет из системы, чтобы приложение могло обновиться относительно новой плоскости.", + "den.cloud_control_plane_reset": "Сбросить", + "den.cloud_control_plane_save": "Сохранить URL", + "den.cloud_control_plane_open": "Открыть в браузере", + "den.signin_title": "Вход в OpenWork Cloud", + "den.signin_button": "Войти", + "den.create_account": "Создать аккаунт", + "den.hide_signin_code": "Скрыть код входа", + "den.paste_signin_code": "Вставить код входа", + "den.signin_link_label": "Ссылка для входа или одноразовый код", + "den.signin_link_placeholder": "openwork://den-auth?... или вставленный код", + "den.signin_link_hint": + "Если ваш браузер не возвращается в OpenWork автоматически, вставьте ссылку для входа или одноразовый код из OpenWork Cloud здесь.", + "den.finishing": "Завершение...", + "den.finish_signin": "Завершить вход", + "den.signin_code_note": + "Принимает ссылку openwork://den-auth или одноразовый грант.", + "den.auto_reconnect_hint": + "Завершите аутентификацию в браузере, и OpenWork автоматически переподключится здесь.", + "den.cloud_account_title": "Аккаунт Cloud", + "den.cloud_account_hint": "Управляйте подключённым аккаунтом и организацией.", + "den.signing_out": "Выход...", + "den.sign_out": "Выйти", + "den.active_org_title": "Активная организация", + "den.active_org_hint": + "Cloud воркеры и командные шаблоны привязаны к выбранной организации.", + "den.no_org_selected": "Организация не выбрана", + "den.needs_attention": "Требует внимания", + "den.checking_session": "Проверка сессии", + "den.signed_out": "Вышли из системы", + "den.cloud_workers_title": "Cloud воркеры", + "den.cloud_workers_hint": + "Открывайте воркеры напрямую в OpenWork, используя тот же поток удалённого подключения, что и в других местах приложения.", + "den.refresh": "Обновить", + "den.no_cloud_workers": + "Cloud воркеры пока не видны для этой организации. Создайте один в Cloud, затем обновите эту вкладку.", + "den.worker_mine_badge": "Мой", + "den.worker_secondary_cloud": "Cloud воркер", + "den.worker_not_ready_title": "Этот воркер пока не готов к открытию.", + "den.open": "Открыть", + "den.opening": "Открытие...", + "den.team_templates_title": "Командные шаблоны", + "den.team_templates_hint": + "Откройте переиспользуемые шаблоны рабочих пространств, которыми поделились с этой организацией.", + "den.team_template_badge": "Командный шаблон", + "den.no_team_templates": + "Командных шаблонов пока нет. Используйте Поделиться → Шаблон → Поделиться с командой.", + "den.choose_org_for_templates": "Выберите организацию для просмотра командных шаблонов.", + "den.error_base_url": + "Введите корректный URL управляющей плоскости Cloud http:// или https://.", + "den.error_choose_org": "Выберите организацию перед открытием воркера.", + "den.error_worker_not_ready": + "Воркер пока не готов к открытию. Попробуйте снова после завершения подготовки.", + "den.error_load_orgs": "Не удалось загрузить организации.", + "den.error_load_workers": "Не удалось загрузить воркеры.", + "den.error_load_templates": "Не удалось загрузить командные шаблоны.", + "den.error_no_session": "Активная Cloud сессия не найдена.", + "den.error_paste_valid_code": + "Вставьте корректную ссылку для входа или одноразовый код входа OpenWork.", + "den.error_signin_failed": "Не удалось завершить вход в OpenWork Cloud.", + "den.error_no_token": + "Вход через десктоп завершён, но OpenWork Cloud не вернул токен сессии.", + "den.status_browser_signin": + "Завершите вход в браузере для подключения OpenWork.", + "den.status_browser_signup": + "Завершите создание аккаунта в браузере для подключения OpenWork.", + "den.status_cloud_signin_done": "OpenWork Cloud подключён.", + "den.status_base_url_updated": + "Обновлён URL управляющей плоскости Cloud. Войдите снова для продолжения.", + "den.status_signed_out": + "Вышли из системы и очистили сессию OpenWork Cloud на этом устройстве.", + "den.status_signed_in_as": "Вошли как {email}.", + "den.status_cloud_signed_in_as": "Подключён OpenWork Cloud как {email}.", + "den.status_loaded_orgs": "Загружено организаций: {count}.", + "den.status_loaded_workers": "Загружено воркеров для {name}: {count}.", + "den.status_no_workers": "Воркеры для {name} не найдены.", + "den.status_loaded_templates": "Загружено шаблонов для {name}: {count}.", + "den.status_no_templates": "Командные шаблоны для {name} не найдены.", + "den.status_opened_worker": "Открыто {name} в OpenWork.", + "den.status_opened_template": "Открыто {name} из {org}.", + "den.status_opened_template_fallback": "Открыто {name} из командных шаблонов.", + "den.signing_in": "Завершение входа в OpenWork Cloud...", + "den.org_switched": "Переключено на {name}.", + "den.org_owner_suffix": "(Владелец)", + "den.org_member_suffix": "(Участник)", + "den.worker_provider_label": "{provider} воркер", + "den.error_open_worker": "Не удалось открыть {name} в OpenWork.", + "den.error_open_worker_fallback": "Не удалось открыть {name}.", + "den.error_open_template": "Не удалось открыть {name}.", "dashboard.recently_updated": "Недавно обновлено", - "dashboard.unknown_creator": "Неизвестный создатель", - "dashboard.cloud_worker": "Cloud воркер", - "dashboard.access_token": "Токен доступа", - "dashboard.create_local_workspace_title": "Локальное рабочее пространство", - "dashboard.create_local_workspace_subtitle": - "Создайте рабочее пространство на этом устройстве и опционально начните с командного шаблона.", - "dashboard.create_remote_custom_title": "Подключить пользовательский удалённый", - "dashboard.create_remote_custom_subtitle": - "Подключитесь к саморазмещённому воркеру OpenWork.", - "dashboard.create_shared_title": "Общие рабочие пространства", - "dashboard.create_shared_subtitle_signed_in": - "Просматривайте Cloud воркеры, которыми поделились с вашей организацией, и подключайтесь в один шаг.", - "dashboard.create_shared_subtitle_signed_out": - "Войдите в OpenWork Cloud для доступа к воркерам, которыми поделились с вашей организацией.", - "dashboard.chooser_local_desc": - "Создайте рабочее пространство на этом устройстве и опционально начните с командного шаблона.", - "dashboard.chooser_remote_desc": - "Подключитесь к саморазмещённому воркеру OpenWork, используя URL и токен доступа.", - "dashboard.chooser_shared_desc": - "Просматривайте Cloud воркеры, которыми поделились с вашей организацией, и подключайтесь в один шаг.", - "dashboard.workspace_folder_title": "Папка рабочего пространства", - "dashboard.workspace_folder_hint": - "Выберите, где этому рабочему пространству находиться на вашем устройстве.", - "dashboard.no_folder_selected": "Папка ещё не выбрана.", - "dashboard.team_templates_title": "Командные шаблоны", - "dashboard.team_templates_hint": - "Выберите отправную точку или оставьте пустым для создания пустого рабочего пространства.", - "dashboard.team_templates_syncing": "Синхронизация", - "dashboard.team_templates_none": - "Общие шаблоны рабочих пространств для этой организации не найдены.", - "dashboard.template_selected_badge": "Выбрано", - "dashboard.remote_server_details_title": "Детали удалённого сервера", - "dashboard.remote_server_details_hint": - "Подключитесь к саморазмещённому воркеру OpenWork.", - "dashboard.worker_url_label": "URL воркера", - "dashboard.worker_url_hint": - "Вставьте URL воркера OpenWork, к которому хотите подключиться.", - "dashboard.access_token_optional_hint": - "Добавьте токен только если воркер его требует.", - "dashboard.display_name_label": "Отображаемое имя", - "dashboard.display_name_optional": "(необязательно)", - "dashboard.cloud_signin_title": "Вход в OpenWork Cloud", - "dashboard.cloud_signin_hint": - "Доступ к удалённым воркерам, которыми поделились с вашей организацией.", - "dashboard.cloud_signin_button": "Продолжить с Cloud", - "dashboard.cloud_signin_next": - "Далее вы выберете команду и подключитесь к существующему рабочему пространству.", - "dashboard.worker_status_ready": "Готово", - "dashboard.worker_status_starting": "Запуск", - "dashboard.worker_status_attention": "Внимание", - "dashboard.worker_status_stopped": "Остановлен", - "dashboard.worker_status_unknown": "Неизвестно", - "dashboard.error_choose_org": - "Выберите организацию перед открытием рабочего пространства.", - "dashboard.error_load_orgs": "Не удалось загрузить организации.", - "dashboard.error_load_shared_workspaces": "Не удалось загрузить общие рабочие пространства.", - "dashboard.error_workspace_not_ready": - "Рабочее пространство пока не готово к подключению. Попробуйте снова через мгновение.", - "dashboard.error_connect_worker": "Не удалось подключиться к {name}.", - "dashboard.error_create_template": "Не удалось создать {name}.", - "dashboard.desktop_badge": "Десктоп", - "dashboard.import_config": "Импортировать конфигурацию", - "dashboard.importing": "Импорт\u2026", - "dashboard.search_shared_workspaces": "Поиск общих рабочих пространств", - "dashboard.shared_workspaces_loading": "Загрузка общих рабочих пространств\u2026", - "dashboard.shared_workspaces_no_match": - "Общие рабочие пространства не соответствуют поиску.", - "dashboard.shared_workspaces_none": "Общих рабочих пространств пока нет.", - "dashboard.workspace_connecting": "Подключение", - "dashboard.workspace_connect": "Подключить", - "dashboard.workspace_connect_unavailable": - "Подключение общих рабочих пространств здесь недоступно.", - "dashboard.workspace_not_ready_title": - "Это рабочее пространство пока не готово к подключению.", - "dashboard.shared_workspaces_refreshing": "Обновление рабочих пространств\u2026", - "dashboard.open_cloud_dashboard": "Открыть панель Cloud", - "dashboard.sandbox_setup": "Настройка песочницы", - "dashboard.sandbox_hide_logs": "Скрыть логи", - "dashboard.sandbox_show_logs": "Показать логи", - "dashboard.sandbox_live_logs": "Логи в реальном времени", - "dashboard.docker_debug_details": "Детали отладки Docker", - "dashboard.creating": "Создание...", - "dashboard.connect_remote_button": "Подключить удалённое", - "dashboard.connecting": "Подключение...", - "dashboard.modal_back": "Назад", - "dashboard.modal_close": "Закрыть модальное окно добавления рабочего пространства", + "dashboard.unknown_creator": "Неизвестный создатель", + "dashboard.cloud_worker": "Cloud воркер", + "dashboard.access_token": "Токен доступа", + "dashboard.create_local_workspace_title": "Локальное рабочее пространство", + "dashboard.create_local_workspace_subtitle": + "Создайте рабочее пространство на этом устройстве и опционально начните с командного шаблона.", + "dashboard.create_remote_custom_title": "Подключить пользовательский удалённый", + "dashboard.create_remote_custom_subtitle": + "Подключитесь к саморазмещённому воркеру OpenWork.", + "dashboard.create_shared_title": "Общие рабочие пространства", + "dashboard.create_shared_subtitle_signed_in": + "Просматривайте Cloud воркеры, которыми поделились с вашей организацией, и подключайтесь в один шаг.", + "dashboard.create_shared_subtitle_signed_out": + "Войдите в OpenWork Cloud для доступа к воркерам, которыми поделились с вашей организацией.", + "dashboard.chooser_local_desc": + "Создайте рабочее пространство на этом устройстве и опционально начните с командного шаблона.", + "dashboard.chooser_remote_desc": + "Подключитесь к саморазмещённому воркеру OpenWork, используя URL и токен доступа.", + "dashboard.chooser_shared_desc": + "Просматривайте Cloud воркеры, которыми поделились с вашей организацией, и подключайтесь в один шаг.", + "dashboard.workspace_folder_title": "Папка рабочего пространства", + "dashboard.workspace_folder_hint": + "Выберите, где этому рабочему пространству находиться на вашем устройстве.", + "dashboard.no_folder_selected": "Папка ещё не выбрана.", + "dashboard.team_templates_title": "Командные шаблоны", + "dashboard.team_templates_hint": + "Выберите отправную точку или оставьте пустым для создания пустого рабочего пространства.", + "dashboard.team_templates_syncing": "Синхронизация", + "dashboard.team_templates_none": + "Общие шаблоны рабочих пространств для этой организации не найдены.", + "dashboard.template_selected_badge": "Выбрано", + "dashboard.remote_server_details_title": "Детали удалённого сервера", + "dashboard.remote_server_details_hint": + "Подключитесь к саморазмещённому воркеру OpenWork.", + "dashboard.worker_url_label": "URL воркера", + "dashboard.worker_url_hint": + "Вставьте URL воркера OpenWork, к которому хотите подключиться.", + "dashboard.access_token_optional_hint": + "Добавьте токен только если воркер его требует.", + "dashboard.display_name_label": "Отображаемое имя", + "dashboard.display_name_optional": "(необязательно)", + "dashboard.cloud_signin_title": "Вход в OpenWork Cloud", + "dashboard.cloud_signin_hint": + "Доступ к удалённым воркерам, которыми поделились с вашей организацией.", + "dashboard.cloud_signin_button": "Продолжить с Cloud", + "dashboard.cloud_signin_next": + "Далее вы выберете команду и подключитесь к существующему рабочему пространству.", + "dashboard.worker_status_ready": "Готово", + "dashboard.worker_status_starting": "Запуск", + "dashboard.worker_status_attention": "Внимание", + "dashboard.worker_status_stopped": "Остановлен", + "dashboard.worker_status_unknown": "Неизвестно", + "dashboard.error_choose_org": + "Выберите организацию перед открытием рабочего пространства.", + "dashboard.error_load_orgs": "Не удалось загрузить организации.", + "dashboard.error_load_shared_workspaces": "Не удалось загрузить общие рабочие пространства.", + "dashboard.error_workspace_not_ready": + "Рабочее пространство пока не готово к подключению. Попробуйте снова через мгновение.", + "dashboard.error_connect_worker": "Не удалось подключиться к {name}.", + "dashboard.error_create_template": "Не удалось создать {name}.", + "dashboard.desktop_badge": "Десктоп", + "dashboard.import_config": "Импортировать конфигурацию", + "dashboard.importing": "Импорт\u2026", + "dashboard.search_shared_workspaces": "Поиск общих рабочих пространств", + "dashboard.shared_workspaces_loading": "Загрузка общих рабочих пространств\u2026", + "dashboard.shared_workspaces_no_match": + "Общие рабочие пространства не соответствуют поиску.", + "dashboard.shared_workspaces_none": "Общих рабочих пространств пока нет.", + "dashboard.workspace_connecting": "Подключение", + "dashboard.workspace_connect": "Подключить", + "dashboard.workspace_connect_unavailable": + "Подключение общих рабочих пространств здесь недоступно.", + "dashboard.workspace_not_ready_title": + "Это рабочее пространство пока не готово к подключению.", + "dashboard.shared_workspaces_refreshing": "Обновление рабочих пространств\u2026", + "dashboard.open_cloud_dashboard": "Открыть панель Cloud", + "dashboard.sandbox_setup": "Настройка песочницы", + "dashboard.sandbox_hide_logs": "Скрыть логи", + "dashboard.sandbox_show_logs": "Показать логи", + "dashboard.sandbox_live_logs": "Логи в реальном времени", + "dashboard.docker_debug_details": "Детали отладки Docker", + "dashboard.creating": "Создание...", + "dashboard.connect_remote_button": "Подключить удалённое", + "dashboard.connecting": "Подключение...", + "dashboard.modal_back": "Назад", + "dashboard.modal_close": "Закрыть модальное окно добавления рабочего пространства", "den_settings.title": "Cloud", - "den_settings.sign_in": "Войти", - "den_settings.sign_out": "Выйти", - "den_settings.sign_in_hint": - "Войдите в OpenWork Cloud для доступа к общим рабочим пространствам и командным функциям.", - "den_settings.signed_in_as": "Вошли как", - "den_settings.manage_account": "Управление аккаунтом", - "den_settings.workers_title": "Общие рабочие пространства", - "den_settings.workers_hint": - "Cloud рабочие пространства, которыми поделились с вашей организацией.", - "den_settings.no_workers": "Общие рабочие пространства не найдены.", - "den_settings.open_workspace": "Открыть рабочее пространство", - "den_settings.refresh": "Обновить", + "den_settings.sign_in": "Войти", + "den_settings.sign_out": "Выйти", + "den_settings.sign_in_hint": + "Войдите в OpenWork Cloud для доступа к общим рабочим пространствам и командным функциям.", + "den_settings.signed_in_as": "Вошли как", + "den_settings.manage_account": "Управление аккаунтом", + "den_settings.workers_title": "Общие рабочие пространства", + "den_settings.workers_hint": + "Cloud рабочие пространства, которыми поделились с вашей организацией.", + "den_settings.no_workers": "Общие рабочие пространства не найдены.", + "den_settings.open_workspace": "Открыть рабочее пространство", + "den_settings.refresh": "Обновить", "share.title": "Поделиться рабочим пространством", - "share.workspace_fallback": "Рабочее пространство", - "share.field_password": "Пароль", - "share.field_worker_url": "URL воркера", - "share.hide_password": "Скрыть пароль", - "share.reveal_password": "Показать пароль", - "share.copy_hint": "Копировать", - "share.copy_link_hint": "Копировать ссылку", - "share.close_hint": "Закрыть", - "share.back_hint": "Назад к параметрам общего доступа", - "share.publishing": "Публикация...", - "share.included_in_template": "Включено в этот шаблон", - "share.template_item_settings": "Настройки рабочего пространства", - "share.template_item_settings_desc": - "Профиль общего рабочего пространства и поведение по умолчанию.", - "share.template_item_skills": "Включённые навыки", - "share.template_item_skills_desc": "Пользовательские навыки, сохранённые в этом рабочем пространстве.", - "share.template_item_config": "Команды и конфигурация", - "share.template_item_config_desc": - "Переиспользуемые команды плюс конфигурация OpenWork/OpenCode.", - "share.view_template": "Поделиться шаблоном", - "share.view_template_public": "Публичный шаблон", - "share.view_template_team": "Поделиться с командой", - "share.view_access": "Удалённый доступ к рабочему пространству", - "share.option_template_title": "Поделиться шаблоном", - "share.option_template_desc": - "Упакуйте эту настройку, чтобы кто-то другой мог начать с того же окружения.", - "share.option_access_title": "Удалённый доступ к рабочему пространству", - "share.option_access_desc": - "Покажите детали подключения для доступа к этому работающему рабочему пространству с другой машины.", - "share.template_intro": - "Поделитесь переиспользуемой настройкой без предоставления прямого доступа к этому работающему рабочему пространству.", - "share.option_team_title": "Поделиться с командой", - "share.option_team_desc": - "Сохраните этот шаблон рабочего пространства в вашу активную организацию OpenWork Cloud.", - "share.option_public_title": "Публичный шаблон", - "share.option_public_desc": - "Создайте ссылку, которую любой сможет использовать для старта с этого шаблона.", - "share.public_intro": "Поделитесь этим рабочим пространством как публичной ссылкой на шаблон.", - "share.workspace_template_title": "Шаблон рабочего пространства", - "share.workspace_template_desc": - "Поделитесь базовой настройкой и значениями рабочего пространства по умолчанию.", - "share.create_template_link": "Создать ссылку на шаблон", - "share.regenerate_link": "Пересоздать ссылку", - "share.team_intro": - "Сохраните этот шаблон в вашу активную организацию OpenWork Cloud, чтобы коллеги могли открыть его позже из настроек Cloud.", - "share.active_cloud_org": "Активная организация Cloud", - "share.template_name_label": "Имя шаблона", - "share.sign_in_to_share": "Войдите, чтобы поделиться с командой", - "share.saving": "Сохранение...", - "share.save_to_team": "Сохранить для команды", - "share.cloud_signin_note": - "OpenWork Cloud откроется в вашем браузере и вернётся сюда после входа.", - "share.warning_basic": - "Делитесь только с доверенными людьми. Эти учётные данные предоставляют прямой доступ к этому рабочему пространству.", - "share.warning_full": - "Эти учётные данные предоставляют прямой доступ к этому рабочему пространству. Удалённый доступ к этому рабочему пространству может позволить любому, имеющему доступ к вашей сети, управлять вашим воркером.", - "share.remote_access_title": "Удалённый доступ", - "share.remote_access_desc": - "Отключено по умолчанию. Включайте только когда нужен доступ к этому воркеру с другой машины.", - "share.remote_access_enabled": "Удалённый доступ сейчас включён.", - "share.remote_access_disabled": "Удалённый доступ сейчас отключён.", - "share.remote_save_busy": "Сохранение...", - "share.remote_save": "Сохранить", - "share.credentials_disabled_hint": - "Включите удалённый доступ и нажмите Сохранить для перезапуска воркера и отображения деталей подключения для этого рабочего пространства.", - "share.connection_details_label": "Детали подключения", - "share.connect_messaging_title": "Подключить обмен сообщениями", - "share.connect_messaging_desc": - "Используйте это рабочее пространство из Slack, Telegram и других.", - "share.setup": "Настройка", - "share.optional_collaborator": "Необязательный доступ соавтора", - "share.collaborator_hint": "Обычный доступ без одобрения разрешений.", - "share.chooser_subtitle": "Выберите, как вы хотите поделиться этим рабочим пространством.", - "share.subtitle_template_public": - "Создайте публичную ссылку на шаблон рабочего пространства, которую любой сможет импортировать.", - "share.subtitle_template_team": - "Сохраните шаблон рабочего пространства в вашу активную организацию OpenWork Cloud.", - "share.subtitle_access": - "Отобразите детали подключения для доступа к этому рабочему пространству с другой машины.", + "share.workspace_fallback": "Рабочее пространство", + "share.field_password": "Пароль", + "share.field_worker_url": "URL воркера", + "share.hide_password": "Скрыть пароль", + "share.reveal_password": "Показать пароль", + "share.copy_hint": "Копировать", + "share.copy_link_hint": "Копировать ссылку", + "share.close_hint": "Закрыть", + "share.back_hint": "Назад к параметрам общего доступа", + "share.publishing": "Публикация...", + "share.included_in_template": "Включено в этот шаблон", + "share.template_item_settings": "Настройки рабочего пространства", + "share.template_item_settings_desc": + "Профиль общего рабочего пространства и поведение по умолчанию.", + "share.template_item_skills": "Включённые навыки", + "share.template_item_skills_desc": "Пользовательские навыки, сохранённые в этом рабочем пространстве.", + "share.template_item_config": "Команды и конфигурация", + "share.template_item_config_desc": + "Переиспользуемые команды плюс конфигурация OpenWork/OpenCode.", + "share.view_template": "Поделиться шаблоном", + "share.view_template_public": "Публичный шаблон", + "share.view_template_team": "Поделиться с командой", + "share.view_access": "Удалённый доступ к рабочему пространству", + "share.option_template_title": "Поделиться шаблоном", + "share.option_template_desc": + "Упакуйте эту настройку, чтобы кто-то другой мог начать с того же окружения.", + "share.option_access_title": "Удалённый доступ к рабочему пространству", + "share.option_access_desc": + "Покажите детали подключения для доступа к этому работающему рабочему пространству с другой машины.", + "share.template_intro": + "Поделитесь переиспользуемой настройкой без предоставления прямого доступа к этому работающему рабочему пространству.", + "share.option_team_title": "Поделиться с командой", + "share.option_team_desc": + "Сохраните этот шаблон рабочего пространства в вашу активную организацию OpenWork Cloud.", + "share.option_public_title": "Публичный шаблон", + "share.option_public_desc": + "Создайте ссылку, которую любой сможет использовать для старта с этого шаблона.", + "share.public_intro": "Поделитесь этим рабочим пространством как публичной ссылкой на шаблон.", + "share.workspace_template_title": "Шаблон рабочего пространства", + "share.workspace_template_desc": + "Поделитесь базовой настройкой и значениями рабочего пространства по умолчанию.", + "share.create_template_link": "Создать ссылку на шаблон", + "share.regenerate_link": "Пересоздать ссылку", + "share.team_intro": + "Сохраните этот шаблон в вашу активную организацию OpenWork Cloud, чтобы коллеги могли открыть его позже из настроек Cloud.", + "share.active_cloud_org": "Активная организация Cloud", + "share.template_name_label": "Имя шаблона", + "share.sign_in_to_share": "Войдите, чтобы поделиться с командой", + "share.saving": "Сохранение...", + "share.save_to_team": "Сохранить для команды", + "share.cloud_signin_note": + "OpenWork Cloud откроется в вашем браузере и вернётся сюда после входа.", + "share.warning_basic": + "Делитесь только с доверенными людьми. Эти учётные данные предоставляют прямой доступ к этому рабочему пространству.", + "share.warning_full": + "Эти учётные данные предоставляют прямой доступ к этому рабочему пространству. Удалённый доступ к этому рабочему пространству может позволить любому, имеющему доступ к вашей сети, управлять вашим воркером.", + "share.remote_access_title": "Удалённый доступ", + "share.remote_access_desc": + "Отключено по умолчанию. Включайте только когда нужен доступ к этому воркеру с другой машины.", + "share.remote_access_enabled": "Удалённый доступ сейчас включён.", + "share.remote_access_disabled": "Удалённый доступ сейчас отключён.", + "share.remote_save_busy": "Сохранение...", + "share.remote_save": "Сохранить", + "share.credentials_disabled_hint": + "Включите удалённый доступ и нажмите Сохранить для перезапуска воркера и отображения деталей подключения для этого рабочего пространства.", + "share.connection_details_label": "Детали подключения", + "share.connect_messaging_title": "Подключить обмен сообщениями", + "share.connect_messaging_desc": + "Используйте это рабочее пространство из Slack, Telegram и других.", + "share.setup": "Настройка", + "share.optional_collaborator": "Необязательный доступ соавтора", + "share.collaborator_hint": "Обычный доступ без одобрения разрешений.", + "share.chooser_subtitle": "Выберите, как вы хотите поделиться этим рабочим пространством.", + "share.subtitle_template_public": + "Создайте публичную ссылку на шаблон рабочего пространства, которую любой сможет импортировать.", + "share.subtitle_template_team": + "Сохраните шаблон рабочего пространства в вашу активную организацию OpenWork Cloud.", + "share.subtitle_access": + "Отобразите детали подключения для доступа к этому рабочему пространству с другой машины.", "scheduled.title": "Автоматизации", - "extensions.title": "Расширения", - "settings.tab_automations": "Автоматизации", - "settings.tab_skills": "Навыки", - "settings.tab_extensions": "Расширения", - "settings.tab_messaging": "Обмен сообщениями", - "settings.tab_advanced": "Расширенные", - "settings.tab_appearance": "Внешний вид", - "settings.tab_updates": "Обновления", - "settings.tab_recovery": "Восстановление", - "settings.tab_cloud": "Cloud", - "settings.tab_debug": "Отладка", - "settings.tab_general": "Настройки", - "session.provider_auth_in_progress": "Аутентификация провайдера уже выполняется.", - "session.share_worker_url": "URL воркера", - "session.share_desktop_required": "Требуется десктопное приложение", - "session.share_starting_server": "Запуск сервера...", - "session.share_url_worker_hint": - "Используйте на телефонах или ноутбуках, подключающихся к этому воркеру.", - "session.share_url_resolving_hint": - "URL воркера разрешается; показан URL хоста как запасной вариант.", - "session.share_password": "Пароль", - "session.share_password_owner_hint": - "Используйте, когда удалённый клиент должен отвечать на запросы разрешений.", - "session.share_collaborator_token": "Токен соавтора", + "extensions.title": "Расширения", + "settings.tab_automations": "Автоматизации", + "settings.tab_skills": "Навыки", + "settings.tab_extensions": "Расширения", + "settings.tab_messaging": "Обмен сообщениями", + "settings.tab_advanced": "Расширенные", + "settings.tab_appearance": "Внешний вид", + "settings.tab_updates": "Обновления", + "settings.tab_recovery": "Восстановление", + "settings.tab_cloud": "Cloud", + "settings.tab_debug": "Отладка", + "settings.tab_general": "Настройки", + "session.provider_auth_in_progress": "Аутентификация провайдера уже выполняется.", + "session.share_worker_url": "URL воркера", + "session.share_desktop_required": "Требуется десктопное приложение", + "session.share_starting_server": "Запуск сервера...", + "session.share_url_worker_hint": + "Используйте на телефонах или ноутбуках, подключающихся к этому воркеру.", + "session.share_url_resolving_hint": + "URL воркера разрешается; показан URL хоста как запасной вариант.", + "session.share_password": "Пароль", + "session.share_password_owner_hint": + "Используйте, когда удалённый клиент должен отвечать на запросы разрешений.", + "session.share_collaborator_token": "Токен соавтора", "workspace.needs_attention": "Требует внимания", - "workspace.active": "Активно", - "workspace.switch": "Переключить", - "workspace.no_tasks": "Задач пока нет.", - "workspace.new_task_inline": "+ Новая задача", - "workspace.loading_tasks": "Загрузка задач...", - "workspace.selected": "Выбрано", + "workspace.active": "Активно", + "workspace.switch": "Переключить", + "workspace.no_tasks": "Задач пока нет.", + "workspace.new_task_inline": "+ Новая задача", + "workspace.loading_tasks": "Загрузка задач...", + "workspace.selected": "Выбрано", "common.copy": "Копировать", - "common.copied": "Скопировано", - "common.reset": "Сбросить", - "common.add": "Добавить", - "common.done": "Готово", + "common.copied": "Скопировано", + "common.reset": "Сбросить", + "common.add": "Добавить", + "common.done": "Готово", "session.permission_message": - "OpenCode запрашивает разрешение на продолжение.", - "session.doom_loop_title": "Обнаружен цикл неудач", - "session.doom_loop_message": - "OpenCode обнаружил повторяющиеся вызовы инструментов с одинаковым вводом и спрашивает, следует ли продолжать после повторяющихся сбоев.", - "session.doom_loop_label": "Цикл неудач", - "session.doom_loop_tool_label": "Инструмент", - "session.doom_loop_repeated_call_label": "Повторяющийся вызов", - "session.doom_loop_repeated_tool_call": "Повторяющийся вызов инструмента", - "session.doom_loop_note": - "Отклоните для остановки цикла или разрешите, если хотите, чтобы агент продолжал попытки.", - "session.default_agent": "Агент по умолчанию", - "session.workspace_label": "Рабочее пространство", - "session.no_matches": "Нет совпадений", - "session.status_delegating": "Делегирование", - "session.status_planning": "Планирование", - "session.status_gathering_context": "Сбор контекста", - "session.status_searching_codebase": "Поиск в кодовой базе", - "session.status_searching_web": "Поиск в интернете", - "session.status_writing_file": "Запись файла", - "session.status_running_shell": "Выполнение оболочки", - "session.status_working": "Работа", - "session.status_thinking": "Размышление", - "session.phase_sending": "Отправка", - "session.phase_retrying": "Повтор", - "session.phase_responding": "Ответ", - "session.phase_run_failed": "Запуск не удался", - "session.compacting_auto": "OpenCode автоматически сжимает эту сессию", - "session.compacting_manual": "OpenCode сжимает эту сессию", - "session.compaction_started": - "OpenCode начал сжатие контекста сессии.", - "session.compaction_finished": - "OpenCode завершил сжатие контекста сессии.", - "session.no_session_selected": "Сессия не выбрана", - "session.stopping_run": "Остановка запуска...", - "session.stopped": "Остановлено.", - "session.failed_to_stop": "Остановка не удалась", - "session.nothing_to_retry": "Повторять пока нечего", - "session.trying_again": "Повторная попытка...", - "session.nothing_to_undo": "Отменять пока нечего.", - "session.reverted_last_message": "Последнее сообщение пользователя отменено.", - "session.failed_to_undo": "Отмена не удалась", - "session.nothing_to_redo": "Повторять нечего.", - "session.restored_message": "Отменённое сообщение восстановлено.", - "session.failed_to_redo": "Повтор не удался", - "session.nothing_to_compact": "Сжимать пока нечего.", - "session.compacting": "Сжатие контекста сессии...", - "session.compacted": "Сессия сжата.", - "session.failed_to_compact": "Сжатие сессии не удалось", - "session.deleted": "Сессия удалена", - "session.failed_to_delete": "Удаление сессии не удалось", - "session.failed_to_load_agents": "Загрузка агентов не удалась", - "session.failed_to_create_session": "Создание сессии не удалось", - "session.failed_to_load_providers": "Загрузка провайдеров не удалась", - "session.cmd_new_session_title": "Создать новую сессию", - "session.cmd_new_session_detail": - "Начать новую задачу в текущем рабочем пространстве", - "session.cmd_new_session_meta": "Создать", - "session.cmd_rename_title": "Переименовать текущую сессию", - "session.cmd_rename_detail_fallback": - "Дайте вашей выбранной сессии более понятное имя", - "session.cmd_rename_meta": "Переименовать", - "session.cmd_compact_title": "Сжать разговор", - "session.cmd_compact_detail": - "Отправить компактную инструкцию в OpenCode для этой сессии", - "session.cmd_compact_detail_empty": "Сообщений пользователя для сжатия пока нет", - "session.cmd_compact_meta": "Сжать", - "session.cmd_sessions_title": "Поиск сессий", - "session.cmd_sessions_meta": "Переход", - "session.cmd_model_title": "Изменить модель", - "session.cmd_model_meta": "Открыть", - "session.cmd_model_fallback": "Модель", - "session.cmd_provider_title": "Подключить провайдер", - "session.cmd_provider_detail": "Открыть поток подключения провайдера", - "session.cmd_provider_meta": "Открыть", - "session.cmd_current_workspace": "Текущее рабочее пространство", - "session.cmd_switch": "Переключить", - "session.palette_title_sessions": "Поиск сессий", - "session.palette_title_actions": "Быстрые действия", - "session.palette_placeholder_sessions": "Поиск по имени сессии или рабочему пространству", - "session.palette_placeholder_actions": "Поиск действий", - "session.search_placeholder": "Поиск в этом чате", - "session.search_prev": "Назад", - "session.search_next": "Вперёд", - "session.undo_label": "Вернуть", - "session.redo_label": "Повторить", - "session.loading_title": "Загрузка сессии", - "session.loading_detail": "Получение последних сообщений для этой задачи.", - "session.workspace_setup_label": "Настройка рабочего пространства", - "session.workspace_setup_title": "Настройте ваше первое рабочее пространство", - "session.workspace_setup_desc": - "Начните с guided рабочего пространства OpenWork или выберите существующую папку для работы.", - "session.create_workspace_title": "Создать рабочее пространство", - "session.create_workspace_desc": - "Откройте создатель рабочего пространства и выберите, как начать.", - "session.pick_folder_title": "Выберите папку для работы", - "session.pick_folder_desc": - "Выберите существующую папку проекта или заметок, и OpenWork использует её как рабочее пространство.", - "session.loading_earlier": "Загрузка более ранних сообщений...", - "session.load_earlier": "Загрузить более ранние сообщения", - "session.jump_to_start": "Перейти к началу сообщения", - "session.jump_to_latest": "Перейти к последнему", - "session.flyout_new_task": "Новая задача", - "session.flyout_file_modified": "Файл изменён", - "session.attachments_add_token": "Добавьте токен сервера для прикрепления файлов.", - "session.attachments_connect_server": - "Подключитесь к серверу OpenWork для прикрепления файлов.", - "session.unable_to_reveal": "Не удалось отобразить рабочее пространство", - "session.workspace_path_unavailable": "Путь к рабочему пространству недоступен.", - "session.reveal_desktop_only": "Отображение доступно в десктопном приложении.", - "session.file_open_remote_unavailable": - "Открытие файла недоступно для удалённых рабочих пространств.", - "session.file_open_desktop_only": - "Открытие файла доступно в десктопном приложении.", - "session.pick_workspace_to_open": "Выберите рабочее пространство для открытия файлов.", - "session.unable_to_open_file": "Не удалось открыть файл", - "session.share_collaborator_label": "Токен соавтора", - "session.share_desktop_app_required": "Требуется десктопное приложение", - "session.share_worker_url_phones_hint": - "Используйте на телефонах или ноутбуках, подключающихся к этому воркеру.", - "session.share_worker_url_resolving_hint": - "URL воркера разрешается; показан URL хоста как запасной вариант.", - "session.share_owner_permission_hint": - "Используйте, когда удалённый клиент должен отвечать на запросы разрешений.", - "session.share_collaborator_hint": - "Обычный удалённый доступ, когда не нужны действия только владельца.", - "session.share_collaborator_host_hint": - "Обычный удалённый доступ к этому хосту без действий только владельца.", - "session.share_set_token_hint": "Установите токен в настройках рабочего пространства", - "session.share_connected_with_hint": - "Это рабочее пространство сейчас подключено с этим паролем.", - "session.share_opencode_base_url": "Базовый URL OpenCode", - "session.share_note_direct_runtime": - "Среда выполнения движка установлена на Direct. Переключение локальных воркеров может перезапустить хост и отключить клиентов. Токен может измениться после перезапуска.", - "session.share_select_workspace": "Сначала выберите рабочее пространство.", - "session.share_openwork_workers_only": - "Ссылки общего сервиса доступны для воркеров OpenWork.", - "session.share_local_host_not_ready": "Локальный хост OpenWork пока не готов.", - "session.share_missing_host_url": "Отсутствует URL хоста OpenWork.", - "session.share_missing_token": "Отсутствует токен OpenWork.", - "session.share_active_cloud_org": "Активная организация Cloud", - "session.share_choose_org": - "Выберите организацию в Настройки -> Cloud перед тем, как поделиться с командой.", - "session.share_resolve_local_workspace_failed": - "Не удалось разрешить это рабочее пространство на локальном хосте OpenWork.", - "session.share_host_url_and_token_required": - "URL хоста OpenWork и токен обязательны.", - "session.share_resolve_remote_workspace_failed": - "Не удалось разрешить это рабочее пространство на хосте OpenWork.", - "session.share_workspace_template_desc": - "Полный шаблон рабочего пространства OpenWork с конфигурацией, командами, навыками и дополнительными файлами .opencode.", - "session.share_publish_workspace_failed": - "Публикация профиля рабочего пространства не удалась", - "session.share_sign_in_required": - "Войдите в OpenWork Cloud в Настройках, чтобы поделиться с командой.", - "session.share_team_fallback_name": "шаблоны вашей команды", - "session.share_saved_to_org": "Сохранено {name} в {org}.", - "session.share_save_team_template_failed": "Сохранение командного шаблона не удалось", - "session.share_skills_set_desc": - "Полный набор навыков из рабочего пространства OpenWork.", - "session.share_no_skills": "Навыки в этом рабочем пространстве не найдены.", - "session.share_publish_skills_failed": "Публикация набора навыков не удалась", - "session.export_desktop_only_local": - "Экспорт доступен для локальных воркеров в десктопном приложении.", - "session.export_local_only": "Экспорт поддерживается только для локальных воркеров.", - "session.export_desktop_only": "Экспорт доступен в десктопном приложении.", - "session.export_already_running": "Экспорт уже выполняется.", - "session.update_ready": "Обновление готово", - "session.install_update": "Установить обновление", - "session.downloading": "Загрузка", - "session.update_available": "Доступно обновление", - "session.connect_failed": "Подключение не удалось", - "session.upload_connect_server": - "Подключитесь к серверу OpenWork для загрузки файлов в общую папку.", - "session.uploaded_to_shared_folder": "Загружено в общую папку.", - "session.create_or_connect_workspace": "Создайте или подключите рабочее пространство", - "session.allow_once": "Один раз", - "session.connect_to_sync": "Подключитесь к серверу OpenWork для синхронизации удалённых файлов.", - "session.obsidian_worker_relative_only": - "Только файлы относительно воркера могут быть открыты в Obsidian.", - "session.resize_workspace_column": "Изменить размер колонки рабочего пространства", - "dashboard.close_settings": "Закрыть настройки", - "dashboard.nav_ids": "ID", - "session.downloading_percent": "Загрузка {percent}%", - "session.update_ready_stop_runs_title": - "Обновление готово {version}. Остановите активные запуски для перезапуска.", - "session.restart_update_title": "Перезапустите для применения обновления {version}", - "session.downloading_update_title": "Загрузка обновления {version}", - "session.update_available_title": "Доступно обновление {version}", - "session.file_open_failed": "Открытие файла не удалось", - "session.remote_sync_failed": "Синхронизация удалённого файла не удалась", - "session.shared_folder_upload_failed": "Загрузка в общую папку не удалась", - "session.status_compacting": "Сжатие контекста", - "session.status_active": "Сессия активна", - "session.status_ready_session": "Сессия готова", - "session.status_ready": "Готово", - "session.delete_session_title": "Удалить сессию?", - "session.delete_named_session_message": - 'Это навсегда удалит "{title}" и её сообщения.', - "session.delete_session_generic": - "Это навсегда удалит выбранную сессию и её сообщения.", - "session.deleting": "Удаление...", - "session.delete": "Удалить", - "session.loading_session": "Загрузка сессии", - "session.workspace_fallback": "Рабочее пространство", - "session.model_fallback": "Модель", - "session.close_quick_actions": "Закрыть быстрые действия", - "session.prev_match": "Предыдущее совпадение", - "session.next_match": "Следующее совпадение", - "session.close_search": "Закрыть поиск", - "session.unable_to_open_obsidian": "Не удалось открыть файл в Obsidian", - "session.search_position": "{current} из {total}", - "session.conflict_sync_toast": - "Конфликт синхронизации {path}. Локальные изменения сохранены в {conflictPath}.", - "session.todo_progress": "Выполнено {completed} из {total} задач", - "session.uploading_to_shared_folder": - "Загрузка {label} в общую папку...", - "session.uploaded_with_summary": "Загружено в общую папку: {summary}", - "session.cmd_sessions_detail": "{count} доступно across рабочих пространств", - "session.cmd_model_detail": "{model} · {variant}", - "session.show_earlier": "Показать {count} более ранних сообщ.{plural}", - "session.back": "Назад", - "session.no_matches_command": "Нет совпадений.", - "session.palette_hint_navigate": "Стрелки для навигации", - "session.palette_hint_run": "Enter для запуска · Esc для закрытия", + "OpenCode запрашивает разрешение на продолжение.", + "session.doom_loop_title": "Обнаружен цикл неудач", + "session.doom_loop_message": + "OpenCode обнаружил повторяющиеся вызовы инструментов с одинаковым вводом и спрашивает, следует ли продолжать после повторяющихся сбоев.", + "session.doom_loop_label": "Цикл неудач", + "session.doom_loop_tool_label": "Инструмент", + "session.doom_loop_repeated_call_label": "Повторяющийся вызов", + "session.doom_loop_repeated_tool_call": "Повторяющийся вызов инструмента", + "session.doom_loop_note": + "Отклоните для остановки цикла или разрешите, если хотите, чтобы агент продолжал попытки.", + "session.default_agent": "Агент по умолчанию", + "session.workspace_label": "Рабочее пространство", + "session.no_matches": "Нет совпадений", + "session.status_delegating": "Делегирование", + "session.status_planning": "Планирование", + "session.status_gathering_context": "Сбор контекста", + "session.status_searching_codebase": "Поиск в кодовой базе", + "session.status_searching_web": "Поиск в интернете", + "session.status_writing_file": "Запись файла", + "session.status_running_shell": "Выполнение оболочки", + "session.status_working": "Работа", + "session.status_thinking": "Размышление", + "session.phase_sending": "Отправка", + "session.phase_retrying": "Повтор", + "session.phase_responding": "Ответ", + "session.phase_run_failed": "Запуск не удался", + "session.compacting_auto": "OpenCode автоматически сжимает эту сессию", + "session.compacting_manual": "OpenCode сжимает эту сессию", + "session.compaction_started": + "OpenCode начал сжатие контекста сессии.", + "session.compaction_finished": + "OpenCode завершил сжатие контекста сессии.", + "session.no_session_selected": "Сессия не выбрана", + "session.stopping_run": "Остановка запуска...", + "session.stopped": "Остановлено.", + "session.failed_to_stop": "Остановка не удалась", + "session.nothing_to_retry": "Повторять пока нечего", + "session.trying_again": "Повторная попытка...", + "session.nothing_to_undo": "Отменять пока нечего.", + "session.reverted_last_message": "Последнее сообщение пользователя отменено.", + "session.failed_to_undo": "Отмена не удалась", + "session.nothing_to_redo": "Повторять нечего.", + "session.restored_message": "Отменённое сообщение восстановлено.", + "session.failed_to_redo": "Повтор не удался", + "session.nothing_to_compact": "Сжимать пока нечего.", + "session.compacting": "Сжатие контекста сессии...", + "session.compacted": "Сессия сжата.", + "session.failed_to_compact": "Сжатие сессии не удалось", + "session.deleted": "Сессия удалена", + "session.failed_to_delete": "Удаление сессии не удалось", + "session.failed_to_load_agents": "Загрузка агентов не удалась", + "session.failed_to_create_session": "Создание сессии не удалось", + "session.failed_to_load_providers": "Загрузка провайдеров не удалась", + "session.cmd_new_session_title": "Создать новую сессию", + "session.cmd_new_session_detail": + "Начать новую задачу в текущем рабочем пространстве", + "session.cmd_new_session_meta": "Создать", + "session.cmd_rename_title": "Переименовать текущую сессию", + "session.cmd_rename_detail_fallback": + "Дайте вашей выбранной сессии более понятное имя", + "session.cmd_rename_meta": "Переименовать", + "session.cmd_compact_title": "Сжать разговор", + "session.cmd_compact_detail": + "Отправить компактную инструкцию в OpenCode для этой сессии", + "session.cmd_compact_detail_empty": "Сообщений пользователя для сжатия пока нет", + "session.cmd_compact_meta": "Сжать", + "session.cmd_sessions_title": "Поиск сессий", + "session.cmd_sessions_meta": "Переход", + "session.cmd_model_title": "Изменить модель", + "session.cmd_model_meta": "Открыть", + "session.cmd_model_fallback": "Модель", + "session.cmd_provider_title": "Подключить провайдер", + "session.cmd_provider_detail": "Открыть поток подключения провайдера", + "session.cmd_provider_meta": "Открыть", + "session.cmd_current_workspace": "Текущее рабочее пространство", + "session.cmd_switch": "Переключить", + "session.palette_title_sessions": "Поиск сессий", + "session.palette_title_actions": "Быстрые действия", + "session.palette_placeholder_sessions": "Поиск по имени сессии или рабочему пространству", + "session.palette_placeholder_actions": "Поиск действий", + "session.search_placeholder": "Поиск в этом чате", + "session.search_prev": "Назад", + "session.search_next": "Вперёд", + "session.undo_label": "Вернуть", + "session.redo_label": "Повторить", + "session.loading_title": "Загрузка сессии", + "session.loading_detail": "Получение последних сообщений для этой задачи.", + "session.workspace_setup_label": "Настройка рабочего пространства", + "session.workspace_setup_title": "Настройте ваше первое рабочее пространство", + "session.workspace_setup_desc": + "Начните с guided рабочего пространства OpenWork или выберите существующую папку для работы.", + "session.create_workspace_title": "Создать рабочее пространство", + "session.create_workspace_desc": + "Откройте создатель рабочего пространства и выберите, как начать.", + "session.pick_folder_title": "Выберите папку для работы", + "session.pick_folder_desc": + "Выберите существующую папку проекта или заметок, и OpenWork использует её как рабочее пространство.", + "session.loading_earlier": "Загрузка более ранних сообщений...", + "session.load_earlier": "Загрузить более ранние сообщения", + "session.jump_to_start": "Перейти к началу сообщения", + "session.jump_to_latest": "Перейти к последнему", + "session.flyout_new_task": "Новая задача", + "session.flyout_file_modified": "Файл изменён", + "session.attachments_add_token": "Добавьте токен сервера для прикрепления файлов.", + "session.attachments_connect_server": + "Подключитесь к серверу OpenWork для прикрепления файлов.", + "session.unable_to_reveal": "Не удалось отобразить рабочее пространство", + "session.workspace_path_unavailable": "Путь к рабочему пространству недоступен.", + "session.reveal_desktop_only": "Отображение доступно в десктопном приложении.", + "session.file_open_remote_unavailable": + "Открытие файла недоступно для удалённых рабочих пространств.", + "session.file_open_desktop_only": + "Открытие файла доступно в десктопном приложении.", + "session.pick_workspace_to_open": "Выберите рабочее пространство для открытия файлов.", + "session.unable_to_open_file": "Не удалось открыть файл", + "session.share_collaborator_label": "Токен соавтора", + "session.share_desktop_app_required": "Требуется десктопное приложение", + "session.share_worker_url_phones_hint": + "Используйте на телефонах или ноутбуках, подключающихся к этому воркеру.", + "session.share_worker_url_resolving_hint": + "URL воркера разрешается; показан URL хоста как запасной вариант.", + "session.share_owner_permission_hint": + "Используйте, когда удалённый клиент должен отвечать на запросы разрешений.", + "session.share_collaborator_hint": + "Обычный удалённый доступ, когда не нужны действия только владельца.", + "session.share_collaborator_host_hint": + "Обычный удалённый доступ к этому хосту без действий только владельца.", + "session.share_set_token_hint": "Установите токен в настройках рабочего пространства", + "session.share_connected_with_hint": + "Это рабочее пространство сейчас подключено с этим паролем.", + "session.share_opencode_base_url": "Базовый URL OpenCode", + "session.share_note_direct_runtime": + "Среда выполнения движка установлена на Direct. Переключение локальных воркеров может перезапустить хост и отключить клиентов. Токен может измениться после перезапуска.", + "session.share_select_workspace": "Сначала выберите рабочее пространство.", + "session.share_openwork_workers_only": + "Ссылки общего сервиса доступны для воркеров OpenWork.", + "session.share_local_host_not_ready": "Локальный хост OpenWork пока не готов.", + "session.share_missing_host_url": "Отсутствует URL хоста OpenWork.", + "session.share_missing_token": "Отсутствует токен OpenWork.", + "session.share_active_cloud_org": "Активная организация Cloud", + "session.share_choose_org": + "Выберите организацию в Настройки -> Cloud перед тем, как поделиться с командой.", + "session.share_resolve_local_workspace_failed": + "Не удалось разрешить это рабочее пространство на локальном хосте OpenWork.", + "session.share_host_url_and_token_required": + "URL хоста OpenWork и токен обязательны.", + "session.share_resolve_remote_workspace_failed": + "Не удалось разрешить это рабочее пространство на хосте OpenWork.", + "session.share_workspace_template_desc": + "Полный шаблон рабочего пространства OpenWork с конфигурацией, командами, навыками и дополнительными файлами .opencode.", + "session.share_publish_workspace_failed": + "Публикация профиля рабочего пространства не удалась", + "session.share_sign_in_required": + "Войдите в OpenWork Cloud в Настройках, чтобы поделиться с командой.", + "session.share_team_fallback_name": "шаблоны вашей команды", + "session.share_saved_to_org": "Сохранено {name} в {org}.", + "session.share_save_team_template_failed": "Сохранение командного шаблона не удалось", + "session.share_skills_set_desc": + "Полный набор навыков из рабочего пространства OpenWork.", + "session.share_no_skills": "Навыки в этом рабочем пространстве не найдены.", + "session.share_publish_skills_failed": "Публикация набора навыков не удалась", + "session.export_desktop_only_local": + "Экспорт доступен для локальных воркеров в десктопном приложении.", + "session.export_local_only": "Экспорт поддерживается только для локальных воркеров.", + "session.export_desktop_only": "Экспорт доступен в десктопном приложении.", + "session.export_already_running": "Экспорт уже выполняется.", + "session.update_ready": "Обновление готово", + "session.install_update": "Установить обновление", + "session.downloading": "Загрузка", + "session.update_available": "Доступно обновление", + "session.connect_failed": "Подключение не удалось", + "session.upload_connect_server": + "Подключитесь к серверу OpenWork для загрузки файлов в общую папку.", + "session.uploaded_to_shared_folder": "Загружено в общую папку.", + "session.create_or_connect_workspace": "Создайте или подключите рабочее пространство", + "session.allow_once": "Один раз", + "session.connect_to_sync": "Подключитесь к серверу OpenWork для синхронизации удалённых файлов.", + "session.obsidian_worker_relative_only": + "Только файлы относительно воркера могут быть открыты в Obsidian.", + "session.resize_workspace_column": "Изменить размер колонки рабочего пространства", + "dashboard.close_settings": "Закрыть настройки", + "dashboard.nav_ids": "ID", + "session.downloading_percent": "Загрузка {percent}%", + "session.update_ready_stop_runs_title": + "Обновление готово {version}. Остановите активные запуски для перезапуска.", + "session.restart_update_title": "Перезапустите для применения обновления {version}", + "session.downloading_update_title": "Загрузка обновления {version}", + "session.update_available_title": "Доступно обновление {version}", + "session.file_open_failed": "Открытие файла не удалось", + "session.remote_sync_failed": "Синхронизация удалённого файла не удалась", + "session.shared_folder_upload_failed": "Загрузка в общую папку не удалась", + "session.status_compacting": "Сжатие контекста", + "session.status_active": "Сессия активна", + "session.status_ready_session": "Сессия готова", + "session.status_ready": "Готово", + "session.delete_session_title": "Удалить сессию?", + "session.delete_named_session_message": + 'Это навсегда удалит "{title}" и её сообщения.', + "session.delete_session_generic": + "Это навсегда удалит выбранную сессию и её сообщения.", + "session.deleting": "Удаление...", + "session.delete": "Удалить", + "session.loading_session": "Загрузка сессии", + "session.workspace_fallback": "Рабочее пространство", + "session.model_fallback": "Модель", + "session.close_quick_actions": "Закрыть быстрые действия", + "session.prev_match": "Предыдущее совпадение", + "session.next_match": "Следующее совпадение", + "session.close_search": "Закрыть поиск", + "session.unable_to_open_obsidian": "Не удалось открыть файл в Obsidian", + "session.search_position": "{current} из {total}", + "session.conflict_sync_toast": + "Конфликт синхронизации {path}. Локальные изменения сохранены в {conflictPath}.", + "session.todo_progress": "Выполнено {completed} из {total} задач", + "session.uploading_to_shared_folder": + "Загрузка {label} в общую папку...", + "session.uploaded_with_summary": "Загружено в общую папку: {summary}", + "session.cmd_sessions_detail": "{count} доступно across рабочих пространств", + "session.cmd_model_detail": "{model} · {variant}", + "session.show_earlier": "Показать {count} более ранних сообщ.{plural}", + "session.back": "Назад", + "session.no_matches_command": "Нет совпадений.", + "session.palette_hint_navigate": "Стрелки для навигации", + "session.palette_hint_run": "Enter для запуска · Esc для закрытия", "message_list.tool_run_command": "Запустить {command}", - "message_list.tool_run_command_fallback": "Запустить команду", - "message_list.tool_reviewed_file": "Просмотрено {file}", - "message_list.tool_reviewed_file_fallback": "Файл просмотрен", - "message_list.tool_updated_file": "Обновлено {file}", - "message_list.tool_updated_file_fallback": "Файл обновлён", - "message_list.tool_update_file": "Обновить {file}", - "message_list.tool_update_file_fallback": "Обновить файл", - "message_list.tool_searched_pattern": "Поиск {pattern}", - "message_list.tool_searched_code_fallback": "Поиск в коде", - "message_list.tool_reviewed_path": "Просмотрено {path}", - "message_list.tool_reviewed_files_fallback": "Файлы просмотрены", - "message_list.tool_delegate_agent": "Делегировать {agent}", - "message_list.tool_delegate_task_fallback": "Делегировать задачу", - "message_list.tool_update_todo": "Обновить список задач", - "message_list.tool_read_todo": "Прочитать список задач", - "message_list.tool_checked_url": "Проверено {url}", - "message_list.tool_checked_web_fallback": "Веб-страница проверена", - "message_list.tool_load_skill_named": "Загрузить навык {name}", - "message_list.tool_load_skill_fallback": "Загрузить навык", - "message_list.subagent_type_task": "{agentType} задача", - "message_list.subagent_session_fallback": "Сессия субагента", - "message_list.subagent_loading_transcript": "Загрузка транскрипта", - "message_list.subagent_running": "Выполняется", - "message_list.subagent_message_count": "{count} сообщ.{plural}", - "message_list.subagent_waiting_transcript": "Ожидание транскрипта", - "message_list.open_session": "Открыть сессию", - "message_list.step_updates_progress": "Обновляет прогресс", + "message_list.tool_run_command_fallback": "Запустить команду", + "message_list.tool_reviewed_file": "Просмотрено {file}", + "message_list.tool_reviewed_file_fallback": "Файл просмотрен", + "message_list.tool_updated_file": "Обновлено {file}", + "message_list.tool_updated_file_fallback": "Файл обновлён", + "message_list.tool_update_file": "Обновить {file}", + "message_list.tool_update_file_fallback": "Обновить файл", + "message_list.tool_searched_pattern": "Поиск {pattern}", + "message_list.tool_searched_code_fallback": "Поиск в коде", + "message_list.tool_reviewed_path": "Просмотрено {path}", + "message_list.tool_reviewed_files_fallback": "Файлы просмотрены", + "message_list.tool_delegate_agent": "Делегировать {agent}", + "message_list.tool_delegate_task_fallback": "Делегировать задачу", + "message_list.tool_update_todo": "Обновить список задач", + "message_list.tool_read_todo": "Прочитать список задач", + "message_list.tool_checked_url": "Проверено {url}", + "message_list.tool_checked_web_fallback": "Веб-страница проверена", + "message_list.tool_load_skill_named": "Загрузить навык {name}", + "message_list.tool_load_skill_fallback": "Загрузить навык", + "message_list.subagent_type_task": "{agentType} задача", + "message_list.subagent_session_fallback": "Сессия субагента", + "message_list.subagent_loading_transcript": "Загрузка транскрипта", + "message_list.subagent_running": "Выполняется", + "message_list.subagent_message_count": "{count} сообщ.{plural}", + "message_list.subagent_waiting_transcript": "Ожидание транскрипта", + "message_list.open_session": "Открыть сессию", + "message_list.step_updates_progress": "Обновляет прогресс", "inbox_panel.copied_path": "Скопировано: {path}", - "inbox_panel.download_failed": "Загрузка не удалась", + "inbox_panel.download_failed": "Загрузка не удалась", "automations.desktop_required": "Запланированные задачи требуют десктопного приложения.", - "automations.failed_to_load": "Загрузка запланированных задач не удалась.", - "automations.prompt_empty": "Запрос автоматизации пуст.", - "automations.prompt_required": "Требуется запрос.", - "automations.schedule_required": "Требуется расписание.", - "automations.server_needs_token": - "Серверу OpenWork требуется токен для загрузки запланированных задач.", - "automations.server_not_ready": "Сервер OpenWork не готов.", - "automations.server_unavailable": - "Сервер OpenWork недоступен. Подключитесь для синхронизации запланированных задач.", + "automations.failed_to_load": "Загрузка запланированных задач не удалась.", + "automations.prompt_empty": "Запрос автоматизации пуст.", + "automations.prompt_required": "Требуется запрос.", + "automations.schedule_required": "Требуется расписание.", + "automations.server_needs_token": + "Серверу OpenWork требуется токен для загрузки запланированных задач.", + "automations.server_not_ready": "Сервер OpenWork не готов.", + "automations.server_unavailable": + "Сервер OpenWork недоступен. Подключитесь для синхронизации запланированных задач.", - "common.navigate": "перейти", - "common.next": "Далее", - "common.question": "Вопрос", - "common.remove": "Удалить", - "common.select": "выбрать", - "common.something_went_wrong": "Что-то пошло не так", - "common.submit": "Отправить", + "common.navigate": "перейти", + "common.next": "Далее", + "common.question": "Вопрос", + "common.remove": "Удалить", + "common.select": "выбрать", + "common.something_went_wrong": "Что-то пошло не так", + "common.submit": "Отправить", - "config.auto_reload_desc": - "Автоматически перезагружать после изменения агентов/навыков/команд/конфигурации (только в режиме ожидания).", - "config.auto_reload_title": "Автоперезагрузка (локальная)", - "config.auto_reload_unavailable": - "Доступно для локальных рабочих пространств в десктопном приложении.", - "config.collaborator_token_disabled_hint": - "Сохранено заранее для удалённого общего доступа, но удалённый доступ сейчас отключён.", - "config.collaborator_token_label": "Токен соавтора", - "config.collaborator_token_remote_hint": - "Обычный удалённый доступ для телефонов или ноутбуков, подключающихся к этому серверу.", - "config.connection_failed": "Подключение не удалось.", - "config.connection_failed_check": - "Подключение не удалось. Проверьте URL и токен хоста.", - "config.connection_status_updated": "Статус подключения обновлён.", - "config.connection_successful": "Подключение успешно.", - "config.copied": "Скопировано", - "config.copy": "Копировать", - "config.desktop_only_hint": - "Некоторые функции конфигурации (общий доступ к локальному серверу + мост обмена сообщениями) требуют десктопного приложения.", - "config.diagnostics_desc": "Копировать очищенное состояние среды выполнения для отладки.", - "config.diagnostics_title": "Диагностический пакет", - "config.enable_auto_reload_first": "Сначала включите автоперезагрузку", - "config.engine_reload_desc": - "Перезапустить сервер OpenCode для этого рабочего пространства.", - "config.engine_reload_title": "Перезагрузка движка", - "config.host_admin_token_hint": - "Внутренний токен только для хоста для CLI одобрений и админ API. Не используйте его в потоке подключения удалённого приложения.", - "config.host_admin_token_label": "Токен администратора хоста", - "config.host_local_only": "Только локальный", - "config.host_offline": "Офлайн", - "config.host_remote_enabled": "Удалённый доступ включён", - "config.local_ip_hint": - "Используйте ваш локальный IP в той же Wi-Fi сети для быстрейшего подключения.", - "config.mdns_hint": - "Имена .local легче запомнить, но они могут не разрешаться во всех сетях.", - "config.messaging_identities_desc": - "Управляйте идентичностями Telegram/Slack и маршрутизацией на вкладке Идентичности.", - "config.messaging_identities_title": "Идентичности обмена сообщениями", - "config.not_set": "Не установлено", - "config.owner_token_disabled_hint": - "Актуально только после включения удалённого доступа для этого воркера.", - "config.owner_token_label": "Токен владельца", - "config.owner_token_remote_hint": - "Используйте, когда удалённый клиент должен отвечать на запросы разрешений или выполнять действия только владельца.", - "config.reload_active_tasks_warning": "Перезагрузка остановит активные задачи.", - "config.reload_availability_hint": - "Перезагрузка доступна только для локальных воркеров или подключённых серверов OpenWork.", - "config.reload_connect_hint": "Подключитесь к этому воркеру для перезагрузки.", - "config.reload_engine": "Перезагрузить движок", - "config.reload_now_desc": - "Применяет обновления конфигурации и переподключает вашу сессию.", - "config.reload_now_title": "Перезагрузить сейчас", - "config.reloading": "Перезагрузка...", - "config.remote_access_off_hint": - "Удалённый доступ отключён. Используйте Поделиться рабочим пространством для включения перед подключением с другой машины.", - "config.resolved_worker_url": "Разрешённый URL воркера:", - "config.resume_sessions_desc": - "Если перезагрузка была в очереди во время выполнения задач, отправить сообщение о возобновлении после.", - "config.resume_sessions_title": "Возобновить сессии после автоперезагрузки", - "config.server_needed_hint": - "Требуется подключение к серверу OpenWork для синхронизации навыков, плагинов и команд.", - "config.server_section_desc": - "Подключитесь к серверу OpenWork. Используйте URL плюс токен соавтора или владельца от администратора сервера.", - "config.server_section_title": "Сервер OpenWork", - "config.server_sharing_desc": - "Поделитесь этими деталями с доверенным устройством. Держите сервер в той же сети для быстрейшей настройки.", - "config.server_sharing_menu_hint": - "Для ссылок общего доступа для каждого рабочего пространства используйте Поделиться... в меню рабочего пространства.", - "config.server_sharing_title": "Общий доступ к серверу OpenWork", - "config.server_url_hint": - "Используйте URL, предоставленный вашим сервером OpenWork. Локальные десктопные воркеры повторно используют постоянный высокий порт в диапазоне 48000-51000.", - "config.server_url_input_label": "URL сервера OpenWork", - "config.server_url_label": "URL сервера OpenWork", - "config.starting_server": "Запуск сервера…", - "config.status_connected": "Подключено", - "config.status_limited": "Ограничено", - "config.status_not_connected": "Не подключено", - "config.test_connection": "Тест подключения", - "config.testing": "Тестирование...", - "config.testing_connection": "Тестирование подключения...", - "config.token_hint": - "Необязательно. Вставьте токен соавтора для обычного доступа или токен владельца, когда этот клиент должен отвечать на запросы разрешений.", - "config.token_label": "Токен соавтора или владельца", - "config.token_placeholder": "Вставьте ваш токен", - "config.unavailable": "Недоступно", - "config.worker_id": "ID воркера:", - "config.workspace_config_desc": - "Эти настройки влияют на выбранное рабочее пространство. Действия только для среды выполнения применяются к тому рабочему пространству, которое подключено сейчас.", - "config.workspace_config_title": "Конфигурация рабочего пространства", - "config.workspace_id_prefix": "Рабочее пространство:", + "config.auto_reload_desc": + "Автоматически перезагружать после изменения агентов/навыков/команд/конфигурации (только в режиме ожидания).", + "config.auto_reload_title": "Автоперезагрузка (локальная)", + "config.auto_reload_unavailable": + "Доступно для локальных рабочих пространств в десктопном приложении.", + "config.collaborator_token_disabled_hint": + "Сохранено заранее для удалённого общего доступа, но удалённый доступ сейчас отключён.", + "config.collaborator_token_label": "Токен соавтора", + "config.collaborator_token_remote_hint": + "Обычный удалённый доступ для телефонов или ноутбуков, подключающихся к этому серверу.", + "config.connection_failed": "Подключение не удалось.", + "config.connection_failed_check": + "Подключение не удалось. Проверьте URL и токен хоста.", + "config.connection_status_updated": "Статус подключения обновлён.", + "config.connection_successful": "Подключение успешно.", + "config.copied": "Скопировано", + "config.copy": "Копировать", + "config.desktop_only_hint": + "Некоторые функции конфигурации (общий доступ к локальному серверу + мост обмена сообщениями) требуют десктопного приложения.", + "config.diagnostics_desc": "Копировать очищенное состояние среды выполнения для отладки.", + "config.diagnostics_title": "Диагностический пакет", + "config.enable_auto_reload_first": "Сначала включите автоперезагрузку", + "config.engine_reload_desc": + "Перезапустить сервер OpenCode для этого рабочего пространства.", + "config.engine_reload_title": "Перезагрузка движка", + "config.host_admin_token_hint": + "Внутренний токен только для хоста для CLI одобрений и админ API. Не используйте его в потоке подключения удалённого приложения.", + "config.host_admin_token_label": "Токен администратора хоста", + "config.host_local_only": "Только локальный", + "config.host_offline": "Офлайн", + "config.host_remote_enabled": "Удалённый доступ включён", + "config.local_ip_hint": + "Используйте ваш локальный IP в той же Wi-Fi сети для быстрейшего подключения.", + "config.mdns_hint": + "Имена .local легче запомнить, но они могут не разрешаться во всех сетях.", + "config.messaging_identities_desc": + "Управляйте идентичностями Telegram/Slack и маршрутизацией на вкладке Идентичности.", + "config.messaging_identities_title": "Идентичности обмена сообщениями", + "config.not_set": "Не установлено", + "config.owner_token_disabled_hint": + "Актуально только после включения удалённого доступа для этого воркера.", + "config.owner_token_label": "Токен владельца", + "config.owner_token_remote_hint": + "Используйте, когда удалённый клиент должен отвечать на запросы разрешений или выполнять действия только владельца.", + "config.reload_active_tasks_warning": "Перезагрузка остановит активные задачи.", + "config.reload_availability_hint": + "Перезагрузка доступна только для локальных воркеров или подключённых серверов OpenWork.", + "config.reload_connect_hint": "Подключитесь к этому воркеру для перезагрузки.", + "config.reload_engine": "Перезагрузить движок", + "config.reload_now_desc": + "Применяет обновления конфигурации и переподключает вашу сессию.", + "config.reload_now_title": "Перезагрузить сейчас", + "config.reloading": "Перезагрузка...", + "config.remote_access_off_hint": + "Удалённый доступ отключён. Используйте Поделиться рабочим пространством для включения перед подключением с другой машины.", + "config.resolved_worker_url": "Разрешённый URL воркера:", + "config.resume_sessions_desc": + "Если перезагрузка была в очереди во время выполнения задач, отправить сообщение о возобновлении после.", + "config.resume_sessions_title": "Возобновить сессии после автоперезагрузки", + "config.server_needed_hint": + "Требуется подключение к серверу OpenWork для синхронизации навыков, плагинов и команд.", + "config.server_section_desc": + "Подключитесь к серверу OpenWork. Используйте URL плюс токен соавтора или владельца от администратора сервера.", + "config.server_section_title": "Сервер OpenWork", + "config.server_sharing_desc": + "Поделитесь этими деталями с доверенным устройством. Держите сервер в той же сети для быстрейшей настройки.", + "config.server_sharing_menu_hint": + "Для ссылок общего доступа для каждого рабочего пространства используйте Поделиться... в меню рабочего пространства.", + "config.server_sharing_title": "Общий доступ к серверу OpenWork", + "config.server_url_hint": + "Используйте URL, предоставленный вашим сервером OpenWork. Локальные десктопные воркеры повторно используют постоянный высокий порт в диапазоне 48000-51000.", + "config.server_url_input_label": "URL сервера OpenWork", + "config.server_url_label": "URL сервера OpenWork", + "config.starting_server": "Запуск сервера…", + "config.status_connected": "Подключено", + "config.status_limited": "Ограничено", + "config.status_not_connected": "Не подключено", + "config.test_connection": "Тест подключения", + "config.testing": "Тестирование...", + "config.testing_connection": "Тестирование подключения...", + "config.token_hint": + "Необязательно. Вставьте токен соавтора для обычного доступа или токен владельца, когда этот клиент должен отвечать на запросы разрешений.", + "config.token_label": "Токен соавтора или владельца", + "config.token_placeholder": "Вставьте ваш токен", + "config.unavailable": "Недоступно", + "config.worker_id": "ID воркера:", + "config.workspace_config_desc": + "Эти настройки влияют на выбранное рабочее пространство. Действия только для среды выполнения применяются к тому рабочему пространству, которое подключено сейчас.", + "config.workspace_config_title": "Конфигурация рабочего пространства", + "config.workspace_id_prefix": "Рабочее пространство:", - "extensions.app_count_many": "приложений подключено", - "extensions.app_count_one": "приложение подключено", - "extensions.apps_mcp_header": "Приложения (MCP)", - "extensions.filter_all": "Все", - "extensions.filter_apps": "Приложения", - "extensions.filter_plugins": "Плагины", - "extensions.plugin_count_many": "плагинов", - "extensions.plugin_count_one": "плагин", - "extensions.plugins_opencode_header": "Плагины (OpenCode)", - "extensions.subtitle": "Приложения (MCP) и плагины OpenCode в одном месте.", + "extensions.app_count_many": "приложений подключено", + "extensions.app_count_one": "приложение подключено", + "extensions.apps_mcp_header": "Приложения (MCP)", + "extensions.filter_all": "Все", + "extensions.filter_apps": "Приложения", + "extensions.filter_plugins": "Плагины", + "extensions.plugin_count_many": "плагинов", + "extensions.plugin_count_one": "плагин", + "extensions.plugins_opencode_header": "Плагины (OpenCode)", + "extensions.subtitle": "Приложения (MCP) и плагины OpenCode в одном месте.", "identities.agent_behavior_desc": - "Один файл на рабочее пространство. Добавьте необязательную первую строку @agent для маршрутизации через определённый агент OpenCode.", - "identities.agent_behavior_title": "Поведение агента обмена сообщениями", - "identities.agent_created": "Создан файл агента обмена сообщениями по умолчанию.", - "identities.agent_file_changed": - "Файл изменён удалённо. Перезагрузите и сохраните снова.", - "identities.agent_loading": "Загрузка файла агента…", - "identities.agent_none": "нет", - "identities.agent_not_found": "Файл агента пока не найден в этом рабочем пространстве.", - "identities.agent_placeholder": - "Добавьте инструкции поведения обмена сообщениями для opencodeRouter здесь...", - "identities.agent_saved": "Поведение обмена сообщениями сохранено.", - "identities.agent_scope_status": - "Активная область: рабочее пространство · статус: {status} · выбранный агент: {agent}", - "identities.agent_status_loaded": "загружен", - "identities.agent_status_missing": "отсутствует", - "identities.agent_worker_scope_unavailable": "Область воркера недоступна.", - "identities.all_channels": "Все каналы", - "identities.app_token_label": "Токен приложения", - "identities.auto_bind_label": "Авто-привязка пира к директории при прямой отправке", - "identities.available_channels": "Доступные каналы", - "identities.bot_token_label": "Токен бота", - "identities.bot_token_placeholder": - "Вставьте токен Telegram бота от @BotFather", - "identities.botfather_step1_open": "1. Откройте @BotFather в Telegram", - "identities.botfather_step1_run": "и запустите /newbot", - "identities.botfather_step3_choose": - "3. Выберите имя и username для вашего бота", - "identities.botfather_step3_or_private": "для открытого ящика или", - "identities.botfather_step3_private": "Приватный", - "identities.botfather_step3_public": "Публичный", - "identities.botfather_step3_to_require": "требовать", - "identities.channel_label": "Канал", - "identities.channels_connected": "подключено", - "identities.channels_label": "Каналы", - "identities.configured_suffix": "настроено", - "identities.connect_server_desc": - "Идентичности доступны, когда вы подключены к хосту OpenWork.", - "identities.connect_server_title": "Подключиться к серверу OpenWork", - "identities.connect_slack": "Подключить Slack", - "identities.connected_badge": "Подключено", - "identities.connecting": "Подключение...", - "identities.copy_bot_token_hint": "Скопируйте токен бота и вставьте его ниже.", - "identities.copy_code": "Копировать код", - "identities.create_default_file": "Создать файл по умолчанию", - "identities.create_private_bot": "Создать приватный бот", - "identities.create_public_bot": "Создать публичный бот", - "identities.days_ago": "{days}д назад", - "identities.default_routing": "Маршрутизация по умолчанию", - "identities.directory_label": "Директория (необязательно)", - "identities.disable_messaging": "Отключить обмен сообщениями", - "identities.disable_messaging_message": - "Это отключит обмен сообщениями для этого рабочего пространства. Настройка Telegram и Slack будет скрыта до повторного включения обмена сообщениями, и вам нужно будет перезапустить воркер для полной остановки сайдкара обмена сообщениями.", - "identities.disable_messaging_title": "Отключить обмен сообщениями для этого воркера?", - "identities.disabled_label": "Отключено", - "identities.disabling": "Отключение...", - "identities.disconnect": "Отключить", - "identities.dispatched_messages": "Отправлено {sent}/{attempted} сообщений.", - "identities.enable_messaging": "Включить обмен сообщениями", - "identities.enable_messaging_risk": - "Обмен сообщениями может暴露ить этот воркер для удалённых команд. Если бот публичный или скомпрометирован, он может получить доступ к файлам, учётным данным и API ключам, доступным этому воркеру.", - "identities.enable_messaging_title": "Включить обмен сообщениями для этого воркера?", - "identities.enabled_label": "Включено", - "identities.enabling": "Включение...", - "identities.health_offline": "Офлайн", - "identities.health_running": "Работает", - "identities.health_unavailable": "Недоступно", - "identities.health_unavailable_status": - "Проверка здоровья OpenCodeRouter недоступна ({status})", - "identities.health_unknown": "Неизвестно", - "identities.hours_ago": "{hours}ч назад", - "identities.identities_label": "Идентичности", - "identities.just_now": "Только что", - "identities.last_activity": "Последняя активность", - "identities.later": "Позже", - "identities.message_label": "Сообщение", - "identities.message_routing_desc": - "Управляйте, какие разговоры идут в какую папку рабочего пространства. Сообщения маршрутизируются в папку воркера по умолчанию, если вы не настроите правила здесь.", - "identities.message_routing_title": "Маршрутизация сообщений", - "identities.messages_today": "Сообщения сегодня", - "identities.messaging_disabled_hint": - "Включайте обмен сообщениями только если понимаете риск и планируете защитить доступ (например, приватное сопряжение Telegram).", - "identities.messaging_disabled_restart": - "Обмен сообщениями отключён. Перезапустите этот воркер для остановки сайдкара обмена сообщениями.", - "identities.messaging_disabled_risk": - "Боты обмена сообщениями могут выполнять действия против вашего локального воркера. Если они暴露щены публично, они могут позволить доступ к файлам, учётным данным и API ключам, доступным этому воркеру.", - "identities.messaging_disabled_title": "Обмен сообщениями отключён по умолчанию", - "identities.messaging_enabled_restart": - "Обмен сообщениями включён. Перезапустите этот воркер для применения перед настройкой каналов.", - "identities.messaging_sidecar_not_running": - "Обмен сообщениями включён в этом рабочем пространстве, но сайдкар обмена сообщениями ещё не запущен. Перезапустите этот воркер, затем вернитесь к настройкам обмена сообщениями для подключения Telegram или Slack.", - "identities.minutes_ago": "{minutes}м назад", - "identities.not_set": "Не установлено", - "identities.open_bot_link": "Открыть @{username} в Telegram", - "identities.pairing_code_copied": "Код сопряжения скопирован.", - "identities.pairing_code_copy_failed": - "Не удалось скопировать код сопряжения. Скопируйте его вручную.", - "identities.pairing_code_instruction_prefix": "Отправьте", - "identities.peer_id_label": "Peer ID (необязательно)", - "identities.peer_id_placeholder_slack": "например, slack:U12345678", - "identities.peer_id_placeholder_telegram": "например, telegram:123456789", - "identities.private_label": "Приватный", - "identities.private_pairing_code": "Приватный код сопряжения", - "identities.public_bot_confirm": "Да, я понимаю риск", - "identities.public_bot_warning_message": - "Ваш бот будет доступен публично, и любой, кто получит доступ к вашему боту, сможет получить полный доступ к вашему локальному воркеру, включая любые файлы или API ключи, которые вы ему дали. Если вы создадите приватный бот, вы можете ограничить, кто может получить к нему доступ, потребовав токен сопряжения. Вы уверены, что хотите сделать ваш бот публичным?", - "identities.public_bot_warning_title": "Сделать этот бот публичным?", - "identities.public_label": "Публичный", - "identities.quick_setup": "Быстрая настройка", - "identities.reconnect_failed": - "Переподключение не удалось. Проверьте URL/токен OpenWork и попробуйте снова.", - "identities.reconnected": "Переподключено.", - "identities.reconnected_refreshing": - "Переподключено. Обновление состояния воркера...", - "identities.reload": "Перезагрузить", - "identities.repair_reconnect": "Восстановить и переподключить", - "identities.restart_failed": - "Перезапуск не удался. Перезапустите воркер из Настроек и попробуйте снова.", - "identities.restart_to_disable_messaging": - "Обмен сообщениями был отключён для этого рабочего пространства. Перезапустите воркер сейчас для остановки сайдкара обмена сообщениями.", - "identities.restart_to_enable_messaging": - "Обмен сообщениями был включён для этого рабочего пространства. Перезапустите воркер сейчас для запуска сайдкара обмена сообщениями и разблокировки настройки Telegram и Slack.", - "identities.restart_worker": "Перезапустить воркер", - "identities.restart_worker_title": "Перезапустить воркер сейчас?", - "identities.restarting": "Перезапуск...", - "identities.routing_override_prefix": "Все сообщения маршрутизируются в", - "identities.routing_override_suffix": "(переопределение активно)", - "identities.running_label": "Выполняется", - "identities.save_behavior": "Сохранить поведение", - "identities.saving": "Сохранение...", - "identities.send_test_button": "Отправить тестовое сообщение", - "identities.send_test_desc": - "Проверьте исходящую маршрутизацию. Используйте Peer ID для прямой отправки или оставьте Peer ID пустым для распределения по привязкам в директории.", - "identities.send_test_title": "Отправить тестовое сообщение", - "identities.sending": "Отправка...", - "identities.slack_desc": - "Ваш воркер появляется как бот в каналах Slack. Члены команды могут писать ему напрямую или упоминать его в ветках.", - "identities.slack_intro": - "Подключите ваше рабочее пространство Slack, чтобы члены команды могли взаимодействовать с этим воркером в каналах и личных сообщениях.", - "identities.slack_unavailable": "Идентичности Slack недоступны.", - "identities.status_active": "Активно", - "identities.status_label": "Статус", - "identities.status_stopped": "Остановлено", - "identities.stopped_label": "Остановлено", - "identities.subtitle": - "Позвольте людям обращаться к вашему воркеру через приложения обмена сообщениями. Подключите канал, и ваш воркер будет автоматически читать и отвечать на сообщения.", - "identities.tab_general": "Общие", - "identities.telegram_bot_access_desc": - "Публичный бот: первый чат Telegram автоматически ссылается. Приватный бот: требует код сопряжения перед тем, как любые сообщения запускают инструменты.", - "identities.telegram_delete_failed": "Удаление не удалось.", - "identities.telegram_deleted": "Удалено.", - "identities.telegram_deleted_pending": "Удалено (ожидание применения).", - "identities.telegram_desc": - "Подключите Telegram бота в публичном режиме (открытый ящик) или приватном режиме (требуется код сопряжения).", - "identities.telegram_private_saved_pair": - "Приватный бот сохранён. Сопряжение через /pair {code}", - "identities.telegram_save_failed": "Сохранение не удалось.", - "identities.telegram_saved": "Сохранено.", - "identities.telegram_saved_pending": "Сохранено (ожидание применения).", - "identities.telegram_saved_username": "Сохранено (@{username})", - "identities.telegram_unavailable": "Идентичности Telegram недоступны.", - "identities.title": "Каналы обмена сообщениями", - "identities.unsaved_changes": "Несохранённые изменения", - "identities.worker_offline": "Воркер офлайн", - "identities.worker_online": "Воркер онлайн", - "identities.worker_restarted": "Воркер перезапущен.", - "identities.worker_restarted_refreshing": - "Воркер перезапущен. Обновление статуса обмена сообщениями...", - "identities.worker_scope_unavailable": "Область воркера недоступна.", - "identities.worker_scope_unavailable_detail": - "Область воркера недоступна. Переподключитесь, используя URL воркера, или переключитесь на известный воркер.", - "identities.worker_unavailable": "Воркер недоступен", - "identities.workspace_id_required": - "Требуется ID рабочего пространства для управления идентичностями. Переподключитесь с URL рабочего пространства или выберите рабочее пространство, отображённое на этом хосте.", - "identities.workspace_scope_prefix": "Область рабочего пространства:", + "Один файл на рабочее пространство. Добавьте необязательную первую строку @agent для маршрутизации через определённый агент OpenCode.", + "identities.agent_behavior_title": "Поведение агента обмена сообщениями", + "identities.agent_created": "Создан файл агента обмена сообщениями по умолчанию.", + "identities.agent_file_changed": + "Файл изменён удалённо. Перезагрузите и сохраните снова.", + "identities.agent_loading": "Загрузка файла агента…", + "identities.agent_none": "нет", + "identities.agent_not_found": "Файл агента пока не найден в этом рабочем пространстве.", + "identities.agent_placeholder": + "Добавьте инструкции поведения обмена сообщениями для opencodeRouter здесь...", + "identities.agent_saved": "Поведение обмена сообщениями сохранено.", + "identities.agent_scope_status": + "Активная область: рабочее пространство · статус: {status} · выбранный агент: {agent}", + "identities.agent_status_loaded": "загружен", + "identities.agent_status_missing": "отсутствует", + "identities.agent_worker_scope_unavailable": "Область воркера недоступна.", + "identities.all_channels": "Все каналы", + "identities.app_token_label": "Токен приложения", + "identities.auto_bind_label": "Авто-привязка пира к директории при прямой отправке", + "identities.available_channels": "Доступные каналы", + "identities.bot_token_label": "Токен бота", + "identities.bot_token_placeholder": + "Вставьте токен Telegram бота от @BotFather", + "identities.botfather_step1_open": "1. Откройте @BotFather в Telegram", + "identities.botfather_step1_run": "и запустите /newbot", + "identities.botfather_step3_choose": + "3. Выберите имя и username для вашего бота", + "identities.botfather_step3_or_private": "для открытого ящика или", + "identities.botfather_step3_private": "Приватный", + "identities.botfather_step3_public": "Публичный", + "identities.botfather_step3_to_require": "требовать", + "identities.channel_label": "Канал", + "identities.channels_connected": "подключено", + "identities.channels_label": "Каналы", + "identities.configured_suffix": "настроено", + "identities.connect_server_desc": + "Идентичности доступны, когда вы подключены к хосту OpenWork.", + "identities.connect_server_title": "Подключиться к серверу OpenWork", + "identities.connect_slack": "Подключить Slack", + "identities.connected_badge": "Подключено", + "identities.connecting": "Подключение...", + "identities.copy_bot_token_hint": "Скопируйте токен бота и вставьте его ниже.", + "identities.copy_code": "Копировать код", + "identities.create_default_file": "Создать файл по умолчанию", + "identities.create_private_bot": "Создать приватный бот", + "identities.create_public_bot": "Создать публичный бот", + "identities.days_ago": "{days}д назад", + "identities.default_routing": "Маршрутизация по умолчанию", + "identities.directory_label": "Директория (необязательно)", + "identities.disable_messaging": "Отключить обмен сообщениями", + "identities.disable_messaging_message": + "Это отключит обмен сообщениями для этого рабочего пространства. Настройка Telegram и Slack будет скрыта до повторного включения обмена сообщениями, и вам нужно будет перезапустить воркер для полной остановки сайдкара обмена сообщениями.", + "identities.disable_messaging_title": "Отключить обмен сообщениями для этого воркера?", + "identities.disabled_label": "Отключено", + "identities.disabling": "Отключение...", + "identities.disconnect": "Отключить", + "identities.dispatched_messages": "Отправлено {sent}/{attempted} сообщений.", + "identities.enable_messaging": "Включить обмен сообщениями", + "identities.enable_messaging_risk": + "Обмен сообщениями может暴露ить этот воркер для удалённых команд. Если бот публичный или скомпрометирован, он может получить доступ к файлам, учётным данным и API ключам, доступным этому воркеру.", + "identities.enable_messaging_title": "Включить обмен сообщениями для этого воркера?", + "identities.enabled_label": "Включено", + "identities.enabling": "Включение...", + "identities.health_offline": "Офлайн", + "identities.health_running": "Работает", + "identities.health_unavailable": "Недоступно", + "identities.health_unavailable_status": + "Проверка здоровья OpenCodeRouter недоступна ({status})", + "identities.health_unknown": "Неизвестно", + "identities.hours_ago": "{hours}ч назад", + "identities.identities_label": "Идентичности", + "identities.just_now": "Только что", + "identities.last_activity": "Последняя активность", + "identities.later": "Позже", + "identities.message_label": "Сообщение", + "identities.message_routing_desc": + "Управляйте, какие разговоры идут в какую папку рабочего пространства. Сообщения маршрутизируются в папку воркера по умолчанию, если вы не настроите правила здесь.", + "identities.message_routing_title": "Маршрутизация сообщений", + "identities.messages_today": "Сообщения сегодня", + "identities.messaging_disabled_hint": + "Включайте обмен сообщениями только если понимаете риск и планируете защитить доступ (например, приватное сопряжение Telegram).", + "identities.messaging_disabled_restart": + "Обмен сообщениями отключён. Перезапустите этот воркер для остановки сайдкара обмена сообщениями.", + "identities.messaging_disabled_risk": + "Боты обмена сообщениями могут выполнять действия против вашего локального воркера. Если они暴露щены публично, они могут позволить доступ к файлам, учётным данным и API ключам, доступным этому воркеру.", + "identities.messaging_disabled_title": "Обмен сообщениями отключён по умолчанию", + "identities.messaging_enabled_restart": + "Обмен сообщениями включён. Перезапустите этот воркер для применения перед настройкой каналов.", + "identities.messaging_sidecar_not_running": + "Обмен сообщениями включён в этом рабочем пространстве, но сайдкар обмена сообщениями ещё не запущен. Перезапустите этот воркер, затем вернитесь к настройкам обмена сообщениями для подключения Telegram или Slack.", + "identities.minutes_ago": "{minutes}м назад", + "identities.not_set": "Не установлено", + "identities.open_bot_link": "Открыть @{username} в Telegram", + "identities.pairing_code_copied": "Код сопряжения скопирован.", + "identities.pairing_code_copy_failed": + "Не удалось скопировать код сопряжения. Скопируйте его вручную.", + "identities.pairing_code_instruction_prefix": "Отправьте", + "identities.peer_id_label": "Peer ID (необязательно)", + "identities.peer_id_placeholder_slack": "например, slack:U12345678", + "identities.peer_id_placeholder_telegram": "например, telegram:123456789", + "identities.private_label": "Приватный", + "identities.private_pairing_code": "Приватный код сопряжения", + "identities.public_bot_confirm": "Да, я понимаю риск", + "identities.public_bot_warning_message": + "Ваш бот будет доступен публично, и любой, кто получит доступ к вашему боту, сможет получить полный доступ к вашему локальному воркеру, включая любые файлы или API ключи, которые вы ему дали. Если вы создадите приватный бот, вы можете ограничить, кто может получить к нему доступ, потребовав токен сопряжения. Вы уверены, что хотите сделать ваш бот публичным?", + "identities.public_bot_warning_title": "Сделать этот бот публичным?", + "identities.public_label": "Публичный", + "identities.quick_setup": "Быстрая настройка", + "identities.reconnect_failed": + "Переподключение не удалось. Проверьте URL/токен OpenWork и попробуйте снова.", + "identities.reconnected": "Переподключено.", + "identities.reconnected_refreshing": + "Переподключено. Обновление состояния воркера...", + "identities.reload": "Перезагрузить", + "identities.repair_reconnect": "Восстановить и переподключить", + "identities.restart_failed": + "Перезапуск не удался. Перезапустите воркер из Настроек и попробуйте снова.", + "identities.restart_to_disable_messaging": + "Обмен сообщениями был отключён для этого рабочего пространства. Перезапустите воркер сейчас для остановки сайдкара обмена сообщениями.", + "identities.restart_to_enable_messaging": + "Обмен сообщениями был включён для этого рабочего пространства. Перезапустите воркер сейчас для запуска сайдкара обмена сообщениями и разблокировки настройки Telegram и Slack.", + "identities.restart_worker": "Перезапустить воркер", + "identities.restart_worker_title": "Перезапустить воркер сейчас?", + "identities.restarting": "Перезапуск...", + "identities.routing_override_prefix": "Все сообщения маршрутизируются в", + "identities.routing_override_suffix": "(переопределение активно)", + "identities.running_label": "Выполняется", + "identities.save_behavior": "Сохранить поведение", + "identities.saving": "Сохранение...", + "identities.send_test_button": "Отправить тестовое сообщение", + "identities.send_test_desc": + "Проверьте исходящую маршрутизацию. Используйте Peer ID для прямой отправки или оставьте Peer ID пустым для распределения по привязкам в директории.", + "identities.send_test_title": "Отправить тестовое сообщение", + "identities.sending": "Отправка...", + "identities.slack_desc": + "Ваш воркер появляется как бот в каналах Slack. Члены команды могут писать ему напрямую или упоминать его в ветках.", + "identities.slack_intro": + "Подключите ваше рабочее пространство Slack, чтобы члены команды могли взаимодействовать с этим воркером в каналах и личных сообщениях.", + "identities.slack_unavailable": "Идентичности Slack недоступны.", + "identities.status_active": "Активно", + "identities.status_label": "Статус", + "identities.status_stopped": "Остановлено", + "identities.stopped_label": "Остановлено", + "identities.subtitle": + "Позвольте людям обращаться к вашему воркеру через приложения обмена сообщениями. Подключите канал, и ваш воркер будет автоматически читать и отвечать на сообщения.", + "identities.tab_general": "Общие", + "identities.telegram_bot_access_desc": + "Публичный бот: первый чат Telegram автоматически ссылается. Приватный бот: требует код сопряжения перед тем, как любые сообщения запускают инструменты.", + "identities.telegram_delete_failed": "Удаление не удалось.", + "identities.telegram_deleted": "Удалено.", + "identities.telegram_deleted_pending": "Удалено (ожидание применения).", + "identities.telegram_desc": + "Подключите Telegram бота в публичном режиме (открытый ящик) или приватном режиме (требуется код сопряжения).", + "identities.telegram_private_saved_pair": + "Приватный бот сохранён. Сопряжение через /pair {code}", + "identities.telegram_save_failed": "Сохранение не удалось.", + "identities.telegram_saved": "Сохранено.", + "identities.telegram_saved_pending": "Сохранено (ожидание применения).", + "identities.telegram_saved_username": "Сохранено (@{username})", + "identities.telegram_unavailable": "Идентичности Telegram недоступны.", + "identities.title": "Каналы обмена сообщениями", + "identities.unsaved_changes": "Несохранённые изменения", + "identities.worker_offline": "Воркер офлайн", + "identities.worker_online": "Воркер онлайн", + "identities.worker_restarted": "Воркер перезапущен.", + "identities.worker_restarted_refreshing": + "Воркер перезапущен. Обновление статуса обмена сообщениями...", + "identities.worker_scope_unavailable": "Область воркера недоступна.", + "identities.worker_scope_unavailable_detail": + "Область воркера недоступна. Переподключитесь, используя URL воркера, или переключитесь на известный воркер.", + "identities.worker_unavailable": "Воркер недоступен", + "identities.workspace_id_required": + "Требуется ID рабочего пространства для управления идентичностями. Переподключитесь с URL рабочего пространства или выберите рабочее пространство, отображённое на этом хосте.", + "identities.workspace_scope_prefix": "Область рабочего пространства:", "mcp.auth.authorization_link": "Ссылка авторизации", - "mcp.auth.copied": "Скопировано", - "mcp.auth.copy_link": "Копировать ссылку", - "mcp.auth.request_timed_out": "Время запроса истекло.", + "mcp.auth.copied": "Скопировано", + "mcp.auth.copy_link": "Копировать ссылку", + "mcp.auth.request_timed_out": "Время запроса истекло.", - "plugins.desc": - "Управляйте `opencode.json` для вашего проекта или глобальными плагинами OpenCode.", - "plugins.empty": "Плагины ещё не настроены.", - "plugins.not_loaded_yet": "Ещё не загружено", - "plugins.remove": "Удалить", - "plugins.suggested_heading": "Рекомендуемые плагины", + "plugins.desc": + "Управляйте `opencode.json` для вашего проекта или глобальными плагинами OpenCode.", + "plugins.empty": "Плагины ещё не настроены.", + "plugins.not_loaded_yet": "Ещё не загружено", + "plugins.remove": "Удалить", + "plugins.suggested_heading": "Рекомендуемые плагины", - "providers.api_key_label": "API ключ", - "providers.api_key_required": "Требуется API ключ", - "providers.auth_failed": "Аутентификация не удалась", - "providers.connect_failed": "Подключение провайдера не удалось", - "providers.disabled_in_config_suffix": "и отключён в конфигурации OpenCode.", - "providers.disconnect_failed": "Отключение провайдера не удалось", - "providers.disconnected_prefix": "Отключено", - "providers.load_failed": "Загрузка провайдеров не удалась", - "providers.no_oauth_prefix": "Поток OAuth недоступен для", - "providers.no_providers_available": "Нет доступных провайдеров", - "providers.not_connected": "Не подключено к серверу", - "providers.not_oauth_flow_prefix": - "Выбранный метод аутентификации не является потоком OAuth для", - "providers.oauth_failed": "Завершение OAuth не удалось", - "providers.oauth_method_required": "Требуется метод OAuth", - "providers.provider_error": "Ошибка провайдера ({provider})", - "providers.provider_id_required": "Требуется ID провайдера", - "providers.rate_limit_exceeded": "Превышен лимит запросов", - "providers.removal_unsupported": - "Удаление аутентификации провайдера не поддерживается этим клиентом.", - "providers.request_failed": "Запрос не удался", - "providers.save_api_key_failed": "Сохранение API ключа не удалось", - "providers.still_connected_suffix": - ", но воркер всё ещё сообщает о нём как о подключённом. Очистите оставшиеся API ключи или учётные данные OAuth и перезапустите воркер для полного отключения.", - "providers.unknown_provider": "Неизвестный провайдер", - "providers.use_api_key_suffix": "Используйте API ключ вместо этого.", + "providers.api_key_label": "API ключ", + "providers.api_key_required": "Требуется API ключ", + "providers.auth_failed": "Аутентификация не удалась", + "providers.connect_failed": "Подключение провайдера не удалось", + "providers.disabled_in_config_suffix": "и отключён в конфигурации OpenCode.", + "providers.disconnect_failed": "Отключение провайдера не удалось", + "providers.disconnected_prefix": "Отключено", + "providers.load_failed": "Загрузка провайдеров не удалась", + "providers.no_oauth_prefix": "Поток OAuth недоступен для", + "providers.no_providers_available": "Нет доступных провайдеров", + "providers.not_connected": "Не подключено к серверу", + "providers.not_oauth_flow_prefix": + "Выбранный метод аутентификации не является потоком OAuth для", + "providers.oauth_failed": "Завершение OAuth не удалось", + "providers.oauth_method_required": "Требуется метод OAuth", + "providers.provider_error": "Ошибка провайдера ({provider})", + "providers.provider_id_required": "Требуется ID провайдера", + "providers.rate_limit_exceeded": "Превышен лимит запросов", + "providers.removal_unsupported": + "Удаление аутентификации провайдера не поддерживается этим клиентом.", + "providers.request_failed": "Запрос не удался", + "providers.save_api_key_failed": "Сохранение API ключа не удалось", + "providers.still_connected_suffix": + ", но воркер всё ещё сообщает о нём как о подключённом. Очистите оставшиеся API ключи или учётные данные OAuth и перезапустите воркер для полного отключения.", + "providers.unknown_provider": "Неизвестный провайдер", + "providers.use_api_key_suffix": "Используйте API ключ вместо этого.", - "question_modal.custom_answer_label": "Или введите пользовательский ответ", - "question_modal.custom_answer_placeholder": "Введите ваш ответ здесь...", - "question_modal.question_counter": "Вопрос {current} из {total}", + "question_modal.custom_answer_label": "Или введите пользовательский ответ", + "question_modal.custom_answer_placeholder": "Введите ваш ответ здесь...", + "question_modal.question_counter": "Вопрос {current} из {total}", - "scheduled.at_time": "В {time}", - "scheduled.badge_end_of_day": "Конец дня", - "scheduled.badge_every_few_hours": "Каждые несколько часов", - "scheduled.badge_friday_wrapup": "Пятничное подведение итогов", - "scheduled.badge_weekday_evening": "Будний вечер", - "scheduled.badge_weekday_morning": "Буднее утро", - "scheduled.badge_weekend_review": "Выходной обзор", - "scheduled.create_button": "Создать", - "scheduled.create_desc": - "Автоматизации планируются путём запуска запроса в новой ветке. Мы предварительно заполним запрос для вас.", - "scheduled.create_title": "Создать автоматизацию", - "scheduled.created_prefix": "Создано", - "scheduled.custom_schedule": "Пользовательское расписание", - "scheduled.daily_mode": "Ежедневно", - "scheduled.day_fri": "Пт", - "scheduled.day_mon": "Пн", - "scheduled.day_sat": "Сб", - "scheduled.day_sun": "Вс", - "scheduled.day_thu": "Чт", - "scheduled.day_tue": "Вт", - "scheduled.day_wed": "Ср", - "scheduled.days_at": "{days} в {time}", - "scheduled.default_automation_name": "Ежедневное сканирование багов", - "scheduled.delete_confirm_desc": - "Это удалит расписание и определение задачи из {source}.", - "scheduled.delete_confirm_title": "Удалить автоматизацию?", - "scheduled.delete_error_fallback": "Удаление задачи не удалось.", - "scheduled.delete_label": "Удалить", - "scheduled.deleting": "Удаление", - "scheduled.desktop_required": "Запланированные задачи требуют десктопного приложения.", - "scheduled.empty_hint": - "Автоматизаций пока нет. Выберите шаблон или создайте свой запрос автоматизации.", - "scheduled.every_day_at": "Каждый день в {time}", - "scheduled.every_hour": "Каждый час", - "scheduled.every_n_hours": "Каждые {interval} часов", - "scheduled.every_prefix": "Каждый", - "scheduled.explore_more": "Исследовать ещё", - "scheduled.failed_status": "Ошибка", - "scheduled.filter_all": "Все", - "scheduled.filter_scheduled": "Запланировано", - "scheduled.filter_templates": "Шаблоны", - "scheduled.hours_suffix": "часов", - "scheduled.install_scheduler": "Установить планировщик", - "scheduled.install_scheduler_hint": - "Автоматизации работают через плагин opencode-scheduler. Добавьте его в это рабочее пространство для включения планирования.", - "scheduled.install_scheduler_title": - "Установите планировщик для разблокировки автоматизаций", - "scheduled.installing": "Установка...", - "scheduled.interval_mode": "Интервал", - "scheduled.last_run_prefix": "Последний запуск", - "scheduled.last_updated_prefix": "Последнее обновление", - "scheduled.name_label": "Имя", - "scheduled.never": "Никогда", - "scheduled.new_automation": "Новая автоматизация", - "scheduled.no_automations_match": "Автоматизации не соответствуют поиску.", - "scheduled.no_templates_match": "Шаблоны не соответствуют поиску.", - "scheduled.not_run_yet": "Ещё не запущено", - "scheduled.not_synced_yet": "Ещё не синхронизировано", - "scheduled.page_description": - "Планируйте повторяющиеся задачи для этого воркера, отслеживайте уже зарегистрированные и начните с переиспользуемого шаблона.", - "scheduled.prepare_error_fallback": "Подготовка автоматизации в чате не удалась.", - "scheduled.prepared_automation_in_chat": "Подготовлена автоматизация в чате.", - "scheduled.prepared_job_in_chat": "Подготовлено {name} в чате.", - "scheduled.quick_start_templates": "Шаблоны быстрого старта", - "scheduled.quick_start_templates_desc": - "Начните с проверенного повторяющегося рабочего процесса, затем адаптируйте запрос перед подготовкой в чате.", - "scheduled.refreshing": "Обновление", - "scheduled.reload_activate_hint": - "OpenCode загружает плагины при запуске. Перезагрузите OpenWork для активации opencode-scheduler.", - "scheduled.reload_activate_title": "Перезагрузите OpenWork для активации автоматизаций", - "scheduled.reload_openwork": "Перезагрузить OpenWork", - "scheduled.reloading": "Перезагрузка...", - "scheduled.removed_job": "Удалено {name}.", - "scheduled.run_label": "Запустить", - "scheduled.running_status": "Выполняется", - "scheduled.schedule_label": "Расписание", - "scheduled.scheduler_install_requested": "Запрошена установка планировщика.", - "scheduled.search_placeholder": "Поиск автоматизаций или шаблонов", - "scheduled.source_local": "Из локального планировщика", - "scheduled.source_remote": "Из сервера OpenWork", - "scheduled.subtitle_local": - "Автоматизации, выполняющиеся по расписанию на этом устройстве.", - "scheduled.subtitle_remote": - "Автоматизации, выполняющиеся по расписанию на подключённом сервере OpenWork.", - "scheduled.success_status": "Успех", - "scheduled.task_summary_no_prompt": "Запрос или команда не найдены.", - "scheduled.task_summary_prompt": "Запрос", - "scheduled.template_badge": "Шаблон", - "scheduled.template_count": "{count} шаблонов", - "scheduled.tpl_daily_planning_desc": - "Создайте сфокусированный план из ваших задач и календаря.", - "scheduled.tpl_daily_planning_name": "Ежедневный план", - "scheduled.tpl_habit_checkin_desc": - "Запускайте быструю проверку ответственности в течение дня.", - "scheduled.tpl_habit_checkin_name": "Проверка привычек", - "scheduled.tpl_inbox_zero_desc": - "Суммируйте непрочитанные сообщения и создавайте короткие ответы.", - "scheduled.tpl_inbox_zero_name": "Помощник чистого ящика", - "scheduled.tpl_learning_digest_desc": - "Превращайте сохранённые ссылки и заметки в еженедельный дайджест.", - "scheduled.tpl_learning_digest_name": "Дайджест обучения", - "scheduled.tpl_meeting_prep_desc": - "Создавайте подготовительные тезисы для завтрашних встреч.", - "scheduled.tpl_meeting_prep_name": "Заметки подготовки к встрече", - "scheduled.tpl_weekly_wins_desc": - "Создавайте пятничное резюме побед, блокеров и следующих шагов.", - "scheduled.tpl_weekly_wins_name": "Еженедельный обзор побед", - "scheduled.view_scheduler_docs": "Посмотреть документацию планировщика", - "scheduled.weekdays_at": "Будни в {time}", - "scheduled.weekends_at": "Выходные в {time}", - "scheduled.worker_root_hint": - "Корень воркера определяется из выбранного рабочего пространства.", - "scheduled.your_automations": "Ваши автоматизации", + "scheduled.at_time": "В {time}", + "scheduled.badge_end_of_day": "Конец дня", + "scheduled.badge_every_few_hours": "Каждые несколько часов", + "scheduled.badge_friday_wrapup": "Пятничное подведение итогов", + "scheduled.badge_weekday_evening": "Будний вечер", + "scheduled.badge_weekday_morning": "Буднее утро", + "scheduled.badge_weekend_review": "Выходной обзор", + "scheduled.create_button": "Создать", + "scheduled.create_desc": + "Автоматизации планируются путём запуска запроса в новой ветке. Мы предварительно заполним запрос для вас.", + "scheduled.create_title": "Создать автоматизацию", + "scheduled.created_prefix": "Создано", + "scheduled.custom_schedule": "Пользовательское расписание", + "scheduled.daily_mode": "Ежедневно", + "scheduled.day_fri": "Пт", + "scheduled.day_mon": "Пн", + "scheduled.day_sat": "Сб", + "scheduled.day_sun": "Вс", + "scheduled.day_thu": "Чт", + "scheduled.day_tue": "Вт", + "scheduled.day_wed": "Ср", + "scheduled.days_at": "{days} в {time}", + "scheduled.default_automation_name": "Ежедневное сканирование багов", + "scheduled.delete_confirm_desc": + "Это удалит расписание и определение задачи из {source}.", + "scheduled.delete_confirm_title": "Удалить автоматизацию?", + "scheduled.delete_error_fallback": "Удаление задачи не удалось.", + "scheduled.delete_label": "Удалить", + "scheduled.deleting": "Удаление", + "scheduled.desktop_required": "Запланированные задачи требуют десктопного приложения.", + "scheduled.empty_hint": + "Автоматизаций пока нет. Выберите шаблон или создайте свой запрос автоматизации.", + "scheduled.every_day_at": "Каждый день в {time}", + "scheduled.every_hour": "Каждый час", + "scheduled.every_n_hours": "Каждые {interval} часов", + "scheduled.every_prefix": "Каждый", + "scheduled.explore_more": "Исследовать ещё", + "scheduled.failed_status": "Ошибка", + "scheduled.filter_all": "Все", + "scheduled.filter_scheduled": "Запланировано", + "scheduled.filter_templates": "Шаблоны", + "scheduled.hours_suffix": "часов", + "scheduled.install_scheduler": "Установить планировщик", + "scheduled.install_scheduler_hint": + "Автоматизации работают через плагин opencode-scheduler. Добавьте его в это рабочее пространство для включения планирования.", + "scheduled.install_scheduler_title": + "Установите планировщик для разблокировки автоматизаций", + "scheduled.installing": "Установка...", + "scheduled.interval_mode": "Интервал", + "scheduled.last_run_prefix": "Последний запуск", + "scheduled.last_updated_prefix": "Последнее обновление", + "scheduled.name_label": "Имя", + "scheduled.never": "Никогда", + "scheduled.new_automation": "Новая автоматизация", + "scheduled.no_automations_match": "Автоматизации не соответствуют поиску.", + "scheduled.no_templates_match": "Шаблоны не соответствуют поиску.", + "scheduled.not_run_yet": "Ещё не запущено", + "scheduled.not_synced_yet": "Ещё не синхронизировано", + "scheduled.page_description": + "Планируйте повторяющиеся задачи для этого воркера, отслеживайте уже зарегистрированные и начните с переиспользуемого шаблона.", + "scheduled.prepare_error_fallback": "Подготовка автоматизации в чате не удалась.", + "scheduled.prepared_automation_in_chat": "Подготовлена автоматизация в чате.", + "scheduled.prepared_job_in_chat": "Подготовлено {name} в чате.", + "scheduled.quick_start_templates": "Шаблоны быстрого старта", + "scheduled.quick_start_templates_desc": + "Начните с проверенного повторяющегося рабочего процесса, затем адаптируйте запрос перед подготовкой в чате.", + "scheduled.refreshing": "Обновление", + "scheduled.reload_activate_hint": + "OpenCode загружает плагины при запуске. Перезагрузите OpenWork для активации opencode-scheduler.", + "scheduled.reload_activate_title": "Перезагрузите OpenWork для активации автоматизаций", + "scheduled.reload_openwork": "Перезагрузить OpenWork", + "scheduled.reloading": "Перезагрузка...", + "scheduled.removed_job": "Удалено {name}.", + "scheduled.run_label": "Запустить", + "scheduled.running_status": "Выполняется", + "scheduled.schedule_label": "Расписание", + "scheduled.scheduler_install_requested": "Запрошена установка планировщика.", + "scheduled.search_placeholder": "Поиск автоматизаций или шаблонов", + "scheduled.source_local": "Из локального планировщика", + "scheduled.source_remote": "Из сервера OpenWork", + "scheduled.subtitle_local": + "Автоматизации, выполняющиеся по расписанию на этом устройстве.", + "scheduled.subtitle_remote": + "Автоматизации, выполняющиеся по расписанию на подключённом сервере OpenWork.", + "scheduled.success_status": "Успех", + "scheduled.task_summary_no_prompt": "Запрос или команда не найдены.", + "scheduled.task_summary_prompt": "Запрос", + "scheduled.template_badge": "Шаблон", + "scheduled.template_count": "{count} шаблонов", + "scheduled.tpl_daily_planning_desc": + "Создайте сфокусированный план из ваших задач и календаря.", + "scheduled.tpl_daily_planning_name": "Ежедневный план", + "scheduled.tpl_habit_checkin_desc": + "Запускайте быструю проверку ответственности в течение дня.", + "scheduled.tpl_habit_checkin_name": "Проверка привычек", + "scheduled.tpl_inbox_zero_desc": + "Суммируйте непрочитанные сообщения и создавайте короткие ответы.", + "scheduled.tpl_inbox_zero_name": "Помощник чистого ящика", + "scheduled.tpl_learning_digest_desc": + "Превращайте сохранённые ссылки и заметки в еженедельный дайджест.", + "scheduled.tpl_learning_digest_name": "Дайджест обучения", + "scheduled.tpl_meeting_prep_desc": + "Создавайте подготовительные тезисы для завтрашних встреч.", + "scheduled.tpl_meeting_prep_name": "Заметки подготовки к встрече", + "scheduled.tpl_weekly_wins_desc": + "Создавайте пятничное резюме побед, блокеров и следующих шагов.", + "scheduled.tpl_weekly_wins_name": "Еженедельный обзор побед", + "scheduled.view_scheduler_docs": "Посмотреть документацию планировщика", + "scheduled.weekdays_at": "Будни в {time}", + "scheduled.weekends_at": "Выходные в {time}", + "scheduled.worker_root_hint": + "Корень воркера определяется из выбранного рабочего пространства.", + "scheduled.your_automations": "Ваши автоматизации", "settings.action_download": "Скачать", - "settings.action_install": "Установить", - "settings.actor_host": "хост", - "settings.actor_remote": "удалённый", - "settings.actor_unknown": "неизвестный", - "settings.api_keys_info": - "API ключи хранятся локально OpenCode. Провайдеры с поддержкой окружения должны быть изменены в окружении воркера и затем перезагружены.", - "settings.audit_error": "Ошибка", - "settings.audit_loading": "Загрузка", - "settings.audit_log_title": "Журнал аудита", - "settings.audit_ready": "Ошибка", - "settings.auto_compact": "Автосжатие контекста", - "settings.auto_compact_desc": - "Управляет OpenCode compaction.auto для этого рабочего пространства. Перезагрузите движок после изменения.", - "settings.auto_update_desc": "Загружать обновления автоматически (запрашивает", - "settings.auto_update_title": "Автообновление", - "settings.background_checks_desc": - "OpenWork всегда проверяет при запуске. Также проверяет раз", - "settings.background_checks_title": "Фоновые проверки", - "settings.base_url_unavailable": "Базовый URL недоступен", - "settings.binary_unavailable": "Бинарный файл недоступен", - "settings.cap_browser_tools": "Инструменты браузера: {value}", - "settings.cap_commands": "Команды: {value}", - "settings.cap_config": "Конфигурация: {value}", - "settings.cap_file_tools": "Файловые инструменты: {value}", - "settings.cap_inbox_off": "ящик отключён", - "settings.cap_inbox_on": "ящик включён", - "settings.cap_mcp": "MCP: {value}", - "settings.cap_outbox_off": "исходящие отключены", - "settings.cap_outbox_on": "исходящие включены", - "settings.cap_plugins": "Плагины: {value}", - "settings.cap_proxy": "Прокси (OpenCodeRouter): {value}", - "settings.cap_read": "чтение", - "settings.cap_sandbox": "Песочница: {value}", - "settings.cap_skills": "Навыки: {value}", - "settings.cap_write": "запись", - "settings.capabilities_title": "Возможности сервера OpenWork", - "settings.capabilities_unavailable": - "Возможности недоступны. Подключитесь с токеном клиента.", - "settings.checking_for_updates": "Проверка обновлений", - "settings.choose": "Выбрать", - "settings.clear": "Очистить", - "settings.clipboard_unavailable": - "Буфер обмена недоступен в этой среде.", - "settings.configure": "Настроить", - "settings.connect_opencode_hint": "Подключитесь к OpenCode для загрузки провайдеров.", - "settings.connect_provider": "Подключить провайдер", - "settings.copied_debug_report": "Скопирован JSON отчёта среды выполнения.", - "settings.copy_failed": "Копирование отчёта среды выполнения не удалось.", - "settings.copy_json": "Копировать JSON", - "settings.custom_binary_hint": - "Используйте это для указания OpenWork на локальную сборку OpenCode", - "settings.custom_binary_label": "Пользовательский бинарный файл OpenCode", - "settings.data_dir_unavailable": "Директория данных недоступна", - "settings.debug_commit": "Коммит: {sha}", - "settings.debug_desktop_app": "Десктопное приложение: {version}", - "settings.debug_opencode_router_version": "OpenCodeRouter: {version}", - "settings.debug_opencode_version": "OpenCode: {version}", - "settings.debug_openwork_server_version": "Сервер OpenWork: {version}", - "settings.debug_orchestrator_version": "Оркестратор: {version}", - "settings.debug_section_title": "Разработчик", - "settings.deeplink_failed": "Открытие глубокой ссылки не удалось.", - "settings.deeplink_hint": - "Принимает openwork://, openwork-dev:// или прямой поддерживаемый https://share.openworklabs.com/b/... URL.", - "settings.delete_containers": "Удаление контейнеров...", - "settings.delete_local_config": "Удаление локального состояния...", - "settings.desktop_only_hint": "Доступно в десктопном приложении.", - "settings.dev_mode_badge": "Режим разработчика", - "settings.developer_mode_desc": - "Включает инструменты отладки, диагностику и вкладку Разработчик.", - "settings.developer_mode_title": "Режим разработчика", - "settings.developer_panel_disabled": "Панель разработчика включена.", - "settings.developer_panel_enabled": "Панель разработчика включена.", - "settings.devtools_desc": "Здоровье сайдкара, возможности и журнал аудита.", - "settings.devtools_title": "Инструменты разработчика", - "settings.diag_approval": "Одобрение: {mode} ({ms}мс)", - "settings.diag_config_path": "Путь конфигурации: {path}", - "settings.diag_daemon_url": "Демон: {url}", - "settings.diag_default": "по умолчанию", - "settings.diag_health_port": "Порт здоровья: {port}", - "settings.diag_healthy_ms": "Здоров: {ms}мс", - "settings.diag_host_token_source": "Источник токена хоста: {source}", - "settings.diag_last_attempt": "Последняя попытка: {time}", - "settings.diag_load_sessions_ms": "Загрузка сессий: {ms}мс", - "settings.diag_opencode_binary": "Бинарный файл OpenCode: {binary}", - "settings.diag_opencode_url": "OpenCode: {url}", - "settings.diag_pending_permissions_ms": "Ожидающие разрешения: {ms}мс", - "settings.diag_pid": "PID: {pid}", - "settings.diag_providers_ms": "Провайдеры: {ms}мс", - "settings.diag_read_only": "Только чтение: {value}", - "settings.diag_reason": "Причина: {reason}", - "settings.diag_runtime_workspace": "Среда выполнения рабочего пространства: {id}", - "settings.diag_selected_workspace": "Выбранное рабочее пространство: {id}", - "settings.diag_sidecar": "Сайдкар: {info}", - "settings.diag_started": "Запущен: {time}", - "settings.diag_token_source": "Источник токена: {source}", - "settings.diag_total_ms": "Всего: {ms}мс", - "settings.diag_version": "Версия: {version}", - "settings.diag_workspaces": "Рабочие пространства: {count}", - "settings.diagnostics_unavailable": "Диагностика недоступна.", - "settings.disabled": "{caps().proxy?.opencodeRouter", - "settings.disconnect_confirm_suffix": - "Отключить {resolved}? Это удалит сохранённые API ключи или учётные данные OAuth для этого провайдера.", - "settings.disconnect_server": "Отключить сервер", - "settings.disconnected_prefix": "Отключено {resolved}.", - "settings.disconnecting": "Отключение...", - "settings.docker_containers_desc": - "Принудительно удалить Docker контейнеры, запущенные OpenWork", - "settings.docker_containers_title": "Docker контейнеры OpenWork", - "settings.docker_requires_desktop": "Очистка Docker требует десктопного приложения", - "settings.downloading_bytes": "Загрузка {downloaded}", - "settings.downloading_progress": - "Загрузка {downloaded} / {total} ({percent}%)", - "settings.enable_exa": "Включить веб-поиск Exa", - "settings.enable_exa_desc": - "Применяется, когда OpenWork Orchestrator запускает OpenCode. Выключено по", - "settings.enabled": "Конфигурация:", - "settings.engine_bundled": "Встроенный (рекомендуется)", - "settings.engine_bundled_hint": - "Встроенный движок — самый надёжный вариант. Используйте Системный", - "settings.engine_custom_binary": "Пользовательский бинарный файл", - "settings.engine_desc": "Выберите, как OpenCode запускается локально.", - "settings.engine_runtime_label": "Среда выполнения движка", - "settings.engine_source_debug": "Источник движка", - "settings.engine_system_path": "Системная установка (PATH)", - "settings.engine_title": "Движок", - "settings.exa_restart_hint": - "Перезапустите OpenCode или оркестратор после изменения этой настройки.", - "settings.export": "Экспорт", - "settings.export_failed": "Экспорт отчёта среды выполнения не удался.", - "settings.export_unavailable": "Экспорт недоступен в этой среде.", - "settings.exported_debug_report": "Экспортирован JSON отчёта среды выполнения.", - "settings.failed": "Подключение", - "settings.failed_open_providers": "Открытие провайдеров не удалось", - "settings.feedback_badge": "Мы читаем каждое сообщение", - "settings.feedback_desc": - "Расскажите, что нравится, а что нет. Обратная связь идёт напрямую к команде и помогает нам приоритизировать следующие выпуски.", - "settings.feedback_title": "Помогите улучшить OpenWork", - "settings.group_global": "Рабочее пространство", - "settings.group_workspace": "Глобальный", - "settings.hide_titlebar": "Скрыть заголовок окна", - "settings.hide_titlebar_desc": - "Скрыть заголовок окна. Полезно для тайлинговых оконных менеджеров", - "settings.join_discord": "Присоединиться к Discord", - "settings.last_error": "Последняя ошибка", - "settings.last_stderr": "Последний stderr", - "settings.last_stdout": "Последний stdout", - "settings.loading_providers": "Загрузка провайдеров...", - "settings.logs_on_host": "Логи доступны на хосте.", - "settings.managed_by_env": "Отключить", - "settings.messaging_bridge_service": "Сервис моста обмена сообщениями.", - "settings.messaging_section_desc": - "Управляйте идентичностями Telegram/Slack и привязками на вкладке Идентичности.", - "settings.messaging_section_title": "Обмен сообщениями", - "settings.model_behavior": "Поведение модели", - "settings.model_behavior_desc": - "Откройте селектор модели по умолчанию для выбора профилей рассуждения, когда они доступны.", - "settings.model_section_desc": - "Выберите модель чата по умолчанию и просмотрите, как она рассуждает.", - "settings.no_access": "нет доступа", - "settings.no_active_workspace": "Нет активного локального рабочего пространства.", - "settings.no_audit_entries": "Записей аудита пока нет.", - "settings.no_binary_selected": "Бинарный файл не выбран.", - "settings.no_custom_path_set": "Пользовательский путь не установлен", - "settings.no_project_directory": "Нет директории проекта", - "settings.no_stderr": "stderr пока не захвачен.", - "settings.no_stdout": "stdout пока не захвачен.", - "settings.no_worker_directory": "Нет директории проекта", - "settings.no_worker_path": "Нет доступного пути к воркеру", - "settings.nuke_confirm_dev": - "Это необратимо. Это УДАЛИТ все данные OpenWork для этой dev сборки и все изолированные данные конфигурации, аутентификации, кэша, данных и состояния OpenCode dev, затем закроет OpenWork. Продолжить?", - "settings.nuke_confirm_prod": - "Это необратимо. Это УДАЛИТ все данные OpenWork для этой dev сборки и все изолированные данные конфигурации, аутентификации, кэша, данных и состояния OpenCode dev, затем закроет OpenWork. Продолжить?", - "settings.nuke_failed": "Удаление состояния OpenWork и OpenCode не удалось.", - "settings.nuke_hint": - "Используйте это только когда хотите полностью сбросить десктопное приложение и его состояние среды выполнения OpenCode.", - "settings.nuke_success": - "Удалено состояние OpenWork и OpenCode. OpenWork закрывается...", - "settings.offline": "Недоступно", - "settings.open_deeplink_action": "Открытие...", - "settings.open_deeplink_button": "Скрыть", - "settings.open_deeplink_desc": "font-mono", - "settings.open_deeplink_title": "Открыть глубокую ссылку", - "settings.opencode_engine_desc": - "Локальная среда выполнения для агентов, инструментов и провайдеров моделей.", - "settings.opencode_engine_label": "Движок OpenCode", - "settings.opencode_engine_sidecar_desc": "Сайдкар локального выполнения.", - "settings.opencode_router_sidecar": "Сайдкар OpenCodeRouter", - "settings.opencode_runtime_desc": - "Параметры среды выполнения для локального движка и моста оркестратора.", - "settings.opencode_sdk_desc": "Диагностика подключения UI.", - "settings.opencode_sdk_title": "Движок OpenCode", - "settings.opencode_section_label": "OpenCode", - "settings.opencode_url_unavailable": "Базовый URL недоступен", - "settings.opening": "Открыть глубокую ссылку", - "settings.openwork_config_sidecar_desc": "Сайдкар конфигурации и одобрений.", - "settings.openwork_diagnostics_title": "Диагностика сервера OpenWork", - "settings.openwork_server_desc": - "Плоскость управления сессиями для синхронизации приложения, воркеров и удалённого", - "settings.openwork_server_label": "Сервер OpenWork", - "settings.orchestrator_daemon_layer_desc": "Слой оркестрации рабочего пространства.", - "settings.orchestrator_daemon_title": "Демон оркестратора", - "settings.production_mode_badge": "Режим разработчика", - "settings.provider_source_config": "Конфигурация", - "settings.provider_source_custom": "Пользовательский", - "settings.provider_source_env": "Окружение", - "settings.providers_desc": "Подключите сервисы для моделей и инструментов.", - "settings.providers_title": "Провайдеры", - "settings.quit_hint": - "OpenWork закрывается сразу после очистки, чтобы следующий запуск начинался с чистого локального состояния для этого режима.", - "settings.reconnect_failed": - "Переподключение не удалось. Проверьте URL/токен сервера и попробуйте снова.", - "settings.reconnect_server": "Переподключение...", - "settings.reconnect_server_failed": "Переподключение сервера OpenWork не удалось.", - "settings.reconnected": "Переподключено к серверу OpenWork.", - "settings.reconnecting": "Переподключение...", - "settings.removing_containers": "Удаление контейнеров...", - "settings.removing_local_state": "Удаление локального состояния...", - "settings.report_issue": "Сообщить о проблеме", - "settings.reset_button": "Сбросить", - "settings.reset_config_defaults": "Сброс...", - "settings.reset_config_failed": "Сброс конфигурации приложения не удался.", - "settings.reset_openwork_desc_dev": - "При активном режиме разработчика, очищает только изолированное состояние OpenCode dev внутри openwork-dev-data.", - "settings.reset_openwork_desc_prod": - "При активном режиме разработчика, очищает только изолированное состояние OpenCode dev внутри openwork-dev-data.", - "settings.reset_openwork_title": "Сбросить состояние OpenWork + OpenCode", - "settings.reset_recovery_desc": "Очистить данные или перезапустить поток настройки.", - "settings.reset_recovery_title": "Сброс и восстановление", - "settings.reset_requires_confirm": - "Требует ввода RESET и перезапустит приложение.", - "settings.reset_startup_pref": "Сбросить предпочтение запуска", - "settings.resetting": "Сброс...", - "settings.restart_blocked_message": - "OpenWork требует перезапуска для завершения этого обновления. Чтобы не прерывать вашу текущую работу, установка приостановлена до завершения активных запусков или их остановки.", - "settings.restart_failed": "Перезапуск не удался. Проверьте логи и попробуйте снова.", - "settings.restart_local_server": "Перезапуск...", - "settings.restart_opencode": "Перезапуск...", - "settings.restart_opencode_router": "Перезапуск...", - "settings.restart_openwork_server": "Перезапуск...", - "settings.restart_orchestrator": "Перезапуск...", - "settings.restart_server_failed": "Перезапуск локального сервера не удался.", - "settings.restarted": "Локальный сервер перезапущен.", - "settings.restarting": "Перезапуск...", - "settings.reveal_config": "Показать конфигурацию", - "settings.reveal_config_failed": "Открытие конфигурации рабочего пространства не удалось.", - "settings.reveal_config_requires_desktop": - "Открытие конфигурации требует десктопного приложения", - "settings.revealed_workspace_config": "Конфигурация рабочего пространства показана.", - "settings.run_sandbox_probe": "Запуск зонда...", - "settings.running_probe": "Запуск зонда...", - "settings.runtime_applies_hint": - "Применяется при следующем запуске или перезагрузке движка.", - "settings.runtime_debug_desc": - "Читаемый снимок диагностики с экспортом в один клик.", - "settings.runtime_debug_title": "Отчёт отладки среды выполнения", - "settings.runtime_desc": "Статус вашего локального движка и сервера OpenWork.", - "settings.runtime_direct": "Прямой (OpenCode)", - "settings.runtime_orchestrator": "OpenWork Orchestrator", - "settings.runtime_title": "Среда выполнения", - "settings.sandbox_error": "готово", - "settings.sandbox_export_hint": "Используйте Экспорт в отчёте отладки среды выполнения выше для", - "settings.sandbox_probe_desc": - "Запускает временную проверку запуска Docker песочницы и", - "settings.sandbox_probe_errors": "Зонд песочницы завершён с ошибками.", - "settings.sandbox_probe_failed": "Зонд песочницы не удался.", - "settings.sandbox_probe_success": - "Зонд песочницы успешен. Экспортируйте отчёт отладки для поддержки.", - "settings.sandbox_probe_title": "Зонд песочницы", - "settings.sandbox_ready": "ошибка", - "settings.sandbox_requires_desktop": "Зонд песочницы требует десктопного приложения", - "settings.sandbox_result": "Результат: {status}", - "settings.sandbox_run_id": "ID запуска: {id}", - "settings.sandbox_stop_runs_hint": "Остановите активные запуски перед зондированием", - "settings.select_binary": "Выбрать бинарный файл OpenCode", - "settings.select_workspace_first": - "Выберите локальное рабочее пространство перед открытием конфигурации.", - "settings.send_feedback": "Отправить отзыв", - "settings.service_restarts_desc": - "Перезапустите определённые сервисы хоста, не покидая эту", - "settings.service_restarts_title": "Перезапуски сервисов", - "settings.show_model_reasoning": "Показать рассуждение модели", - "settings.show_model_reasoning_desc": - "Развернуть следы рассуждения в UI, когда модель их предоставляет.", - "settings.sidecar_config_unavailable": "Конфигурация сайдкара недоступна", - "settings.startup_local": "Запустить локальный сервер", - "settings.startup_not_set": "Подключиться к серверу", - "settings.startup_remote_warning": - "Предпочтение запуска сейчас удалённое. Настройки движка", - "settings.startup_reset_hint": - "Это очистит ваше сохранённое предпочтение и покажет подключение", - "settings.startup_server": "Подключиться к серверу", - "settings.stop_local_server": "Остановить локальный сервер", - "settings.stop_runs_before_cleanup": "Остановите активные запуски перед очисткой", - "settings.stop_runs_before_reset_config": - "Остановите активные запуски перед сбросом конфигурации", - "settings.suffix_available": "{available} доступно", - "settings.suffix_connected": "подключено", - "settings.switch": "Переключить", - "settings.tab_description_advanced": - "Проверьте здоровье среды выполнения, состояние подключения и элементы управления для разработчиков.", - "settings.tab_description_appearance": - "Настройте, как выглядит OpenWork на десктопе, тему системы и хром приложения.", - "settings.tab_description_automations": - "Создавайте и управляйте запланированными автоматизациями из настроек рабочего пространства.", - "settings.tab_description_debug": - "Просмотрите диагностику среды выполнения, логи и утилиты низкоуровневой отладки.", - "settings.tab_description_den": - "Управляйте подключением OpenWork Cloud, размещёнными воркерами и доступом к рабочему пространству.", - "settings.tab_description_extensions": - "Управляйте приложениями MCP и плагинами OpenCode для этого рабочего пространства.", - "settings.tab_description_general": - "Подключайте провайдеров, выбирайте модель по умолчанию, авторизуйте папки и управляйте выбранным рабочим пространством OpenWork плюс его подключение среды выполнения.", - "settings.tab_description_messaging": - "Настройте идентичности роутера и поведение ящика из настроек рабочего пространства.", - "settings.tab_description_model": - "Настройте модель по умолчанию, поведение среды выполнения и параметры вывода ассистента.", - "settings.tab_description_recovery": - "Восстановите состояние миграции, сбросьте параметры рабочего пространства по умолчанию и восстановите локальные настройки.", - "settings.tab_description_skills": - "Просматривайте, редактируйте и устанавливайте навыки, не покидая настройки.", - "settings.tab_description_updates": - "Держите приложение в актуальном состоянии с тихими фоновыми проверками и управлением установкой.", - "settings.tab_model": "Модель", - "settings.toolbar_ready_to_install": "Готово к установке${version ? ", - "settings.update_available_version": "Доступно обновление: v{version}", - "settings.update_check_button": "Проверить", - "settings.update_check_failed": "Проверка обновления не удалась", - "settings.update_download_button": "Скачать", - "settings.update_install_button": "Установить и перезапустить", - "settings.update_last_checked": "Последняя проверка {time}", - "settings.update_published": "Опубликовано {date}", - "settings.update_ready_version": "Готово к установке: v{version}", - "settings.updates_desc": "Держите OpenWork в актуальном состоянии.", - "settings.versions_desc": "Сайдкар + информация о сборке десктопа.", - "settings.versions_title": "Версии", - "settings.window_appearance_desc": "Настройте внешний вид окна.", - "settings.worker_id_label": "Воркер {id}", - "settings.worker_unresolved": "Воркер {runtimeWorkspaceId}", - "settings.workspace_config_desc": ".opencode/openwork.json", - "settings.workspace_config_title": "Конфигурация рабочего пространства", - "settings.workspace_debug_events_label": "События отладки рабочего пространства", - "settings.workspace_fallback_name": "Рабочее пространство", + "settings.action_install": "Установить", + "settings.actor_host": "хост", + "settings.actor_remote": "удалённый", + "settings.actor_unknown": "неизвестный", + "settings.api_keys_info": + "API ключи хранятся локально OpenCode. Провайдеры с поддержкой окружения должны быть изменены в окружении воркера и затем перезагружены.", + "settings.audit_error": "Ошибка", + "settings.audit_loading": "Загрузка", + "settings.audit_log_title": "Журнал аудита", + "settings.audit_ready": "Ошибка", + "settings.auto_compact": "Автосжатие контекста", + "settings.auto_compact_desc": + "Управляет OpenCode compaction.auto для этого рабочего пространства. Перезагрузите движок после изменения.", + "settings.auto_update_desc": "Загружать обновления автоматически (запрашивает", + "settings.auto_update_title": "Автообновление", + "settings.background_checks_desc": + "OpenWork всегда проверяет при запуске. Также проверяет раз", + "settings.background_checks_title": "Фоновые проверки", + "settings.base_url_unavailable": "Базовый URL недоступен", + "settings.binary_unavailable": "Бинарный файл недоступен", + "settings.cap_browser_tools": "Инструменты браузера: {value}", + "settings.cap_commands": "Команды: {value}", + "settings.cap_config": "Конфигурация: {value}", + "settings.cap_file_tools": "Файловые инструменты: {value}", + "settings.cap_inbox_off": "ящик отключён", + "settings.cap_inbox_on": "ящик включён", + "settings.cap_mcp": "MCP: {value}", + "settings.cap_outbox_off": "исходящие отключены", + "settings.cap_outbox_on": "исходящие включены", + "settings.cap_plugins": "Плагины: {value}", + "settings.cap_proxy": "Прокси (OpenCodeRouter): {value}", + "settings.cap_read": "чтение", + "settings.cap_sandbox": "Песочница: {value}", + "settings.cap_skills": "Навыки: {value}", + "settings.cap_write": "запись", + "settings.capabilities_title": "Возможности сервера OpenWork", + "settings.capabilities_unavailable": + "Возможности недоступны. Подключитесь с токеном клиента.", + "settings.checking_for_updates": "Проверка обновлений", + "settings.choose": "Выбрать", + "settings.clear": "Очистить", + "settings.clipboard_unavailable": + "Буфер обмена недоступен в этой среде.", + "settings.configure": "Настроить", + "settings.connect_opencode_hint": "Подключитесь к OpenCode для загрузки провайдеров.", + "settings.connect_provider": "Подключить провайдер", + "settings.copied_debug_report": "Скопирован JSON отчёта среды выполнения.", + "settings.copy_failed": "Копирование отчёта среды выполнения не удалось.", + "settings.copy_json": "Копировать JSON", + "settings.custom_binary_hint": + "Используйте это для указания OpenWork на локальную сборку OpenCode", + "settings.custom_binary_label": "Пользовательский бинарный файл OpenCode", + "settings.data_dir_unavailable": "Директория данных недоступна", + "settings.debug_commit": "Коммит: {sha}", + "settings.debug_desktop_app": "Десктопное приложение: {version}", + "settings.debug_opencode_router_version": "OpenCodeRouter: {version}", + "settings.debug_opencode_version": "OpenCode: {version}", + "settings.debug_openwork_server_version": "Сервер OpenWork: {version}", + "settings.debug_orchestrator_version": "Оркестратор: {version}", + "settings.debug_section_title": "Разработчик", + "settings.deeplink_failed": "Открытие глубокой ссылки не удалось.", + "settings.deeplink_hint": + "Принимает openwork://, openwork-dev:// или прямой поддерживаемый https://share.openworklabs.com/b/... URL.", + "settings.delete_containers": "Удаление контейнеров...", + "settings.delete_local_config": "Удаление локального состояния...", + "settings.desktop_only_hint": "Доступно в десктопном приложении.", + "settings.dev_mode_badge": "Режим разработчика", + "settings.developer_mode_desc": + "Включает инструменты отладки, диагностику и вкладку Разработчик.", + "settings.developer_mode_title": "Режим разработчика", + "settings.developer_panel_disabled": "Панель разработчика включена.", + "settings.developer_panel_enabled": "Панель разработчика включена.", + "settings.devtools_desc": "Здоровье сайдкара, возможности и журнал аудита.", + "settings.devtools_title": "Инструменты разработчика", + "settings.diag_approval": "Одобрение: {mode} ({ms}мс)", + "settings.diag_config_path": "Путь конфигурации: {path}", + "settings.diag_daemon_url": "Демон: {url}", + "settings.diag_default": "по умолчанию", + "settings.diag_health_port": "Порт здоровья: {port}", + "settings.diag_healthy_ms": "Здоров: {ms}мс", + "settings.diag_host_token_source": "Источник токена хоста: {source}", + "settings.diag_last_attempt": "Последняя попытка: {time}", + "settings.diag_load_sessions_ms": "Загрузка сессий: {ms}мс", + "settings.diag_opencode_binary": "Бинарный файл OpenCode: {binary}", + "settings.diag_opencode_url": "OpenCode: {url}", + "settings.diag_pending_permissions_ms": "Ожидающие разрешения: {ms}мс", + "settings.diag_pid": "PID: {pid}", + "settings.diag_providers_ms": "Провайдеры: {ms}мс", + "settings.diag_read_only": "Только чтение: {value}", + "settings.diag_reason": "Причина: {reason}", + "settings.diag_runtime_workspace": "Среда выполнения рабочего пространства: {id}", + "settings.diag_selected_workspace": "Выбранное рабочее пространство: {id}", + "settings.diag_sidecar": "Сайдкар: {info}", + "settings.diag_started": "Запущен: {time}", + "settings.diag_token_source": "Источник токена: {source}", + "settings.diag_total_ms": "Всего: {ms}мс", + "settings.diag_version": "Версия: {version}", + "settings.diag_workspaces": "Рабочие пространства: {count}", + "settings.diagnostics_unavailable": "Диагностика недоступна.", + "settings.disabled": "{caps().proxy?.opencodeRouter", + "settings.disconnect_confirm_suffix": + "Отключить {resolved}? Это удалит сохранённые API ключи или учётные данные OAuth для этого провайдера.", + "settings.disconnect_server": "Отключить сервер", + "settings.disconnected_prefix": "Отключено {resolved}.", + "settings.disconnecting": "Отключение...", + "settings.docker_containers_desc": + "Принудительно удалить Docker контейнеры, запущенные OpenWork", + "settings.docker_containers_title": "Docker контейнеры OpenWork", + "settings.docker_requires_desktop": "Очистка Docker требует десктопного приложения", + "settings.downloading_bytes": "Загрузка {downloaded}", + "settings.downloading_progress": + "Загрузка {downloaded} / {total} ({percent}%)", + "settings.enable_exa": "Включить веб-поиск Exa", + "settings.enable_exa_desc": + "Применяется, когда OpenWork Orchestrator запускает OpenCode. Выключено по", + "settings.enabled": "Конфигурация:", + "settings.engine_bundled": "Встроенный (рекомендуется)", + "settings.engine_bundled_hint": + "Встроенный движок — самый надёжный вариант. Используйте Системный", + "settings.engine_custom_binary": "Пользовательский бинарный файл", + "settings.engine_desc": "Выберите, как OpenCode запускается локально.", + "settings.engine_runtime_label": "Среда выполнения движка", + "settings.engine_source_debug": "Источник движка", + "settings.engine_system_path": "Системная установка (PATH)", + "settings.engine_title": "Движок", + "settings.exa_restart_hint": + "Перезапустите OpenCode или оркестратор после изменения этой настройки.", + "settings.export": "Экспорт", + "settings.export_failed": "Экспорт отчёта среды выполнения не удался.", + "settings.export_unavailable": "Экспорт недоступен в этой среде.", + "settings.exported_debug_report": "Экспортирован JSON отчёта среды выполнения.", + "settings.failed": "Подключение", + "settings.failed_open_providers": "Открытие провайдеров не удалось", + "settings.feedback_badge": "Мы читаем каждое сообщение", + "settings.feedback_desc": + "Расскажите, что нравится, а что нет. Обратная связь идёт напрямую к команде и помогает нам приоритизировать следующие выпуски.", + "settings.feedback_title": "Помогите улучшить OpenWork", + "settings.group_global": "Рабочее пространство", + "settings.group_workspace": "Глобальный", + "settings.hide_titlebar": "Скрыть заголовок окна", + "settings.hide_titlebar_desc": + "Скрыть заголовок окна. Полезно для тайлинговых оконных менеджеров", + "settings.join_discord": "Присоединиться к Discord", + "settings.last_error": "Последняя ошибка", + "settings.last_stderr": "Последний stderr", + "settings.last_stdout": "Последний stdout", + "settings.loading_providers": "Загрузка провайдеров...", + "settings.logs_on_host": "Логи доступны на хосте.", + "settings.managed_by_env": "Отключить", + "settings.messaging_bridge_service": "Сервис моста обмена сообщениями.", + "settings.messaging_section_desc": + "Управляйте идентичностями Telegram/Slack и привязками на вкладке Идентичности.", + "settings.messaging_section_title": "Обмен сообщениями", + "settings.model_behavior": "Поведение модели", + "settings.model_behavior_desc": + "Откройте селектор модели по умолчанию для выбора профилей рассуждения, когда они доступны.", + "settings.model_section_desc": + "Выберите модель чата по умолчанию и просмотрите, как она рассуждает.", + "settings.no_access": "нет доступа", + "settings.no_active_workspace": "Нет активного локального рабочего пространства.", + "settings.no_audit_entries": "Записей аудита пока нет.", + "settings.no_binary_selected": "Бинарный файл не выбран.", + "settings.no_custom_path_set": "Пользовательский путь не установлен", + "settings.no_project_directory": "Нет директории проекта", + "settings.no_stderr": "stderr пока не захвачен.", + "settings.no_stdout": "stdout пока не захвачен.", + "settings.no_worker_directory": "Нет директории проекта", + "settings.no_worker_path": "Нет доступного пути к воркеру", + "settings.nuke_confirm_dev": + "Это необратимо. Это УДАЛИТ все данные OpenWork для этой dev сборки и все изолированные данные конфигурации, аутентификации, кэша, данных и состояния OpenCode dev, затем закроет OpenWork. Продолжить?", + "settings.nuke_confirm_prod": + "Это необратимо. Это УДАЛИТ все данные OpenWork для этой dev сборки и все изолированные данные конфигурации, аутентификации, кэша, данных и состояния OpenCode dev, затем закроет OpenWork. Продолжить?", + "settings.nuke_failed": "Удаление состояния OpenWork и OpenCode не удалось.", + "settings.nuke_hint": + "Используйте это только когда хотите полностью сбросить десктопное приложение и его состояние среды выполнения OpenCode.", + "settings.nuke_success": + "Удалено состояние OpenWork и OpenCode. OpenWork закрывается...", + "settings.offline": "Недоступно", + "settings.open_deeplink_action": "Открытие...", + "settings.open_deeplink_button": "Скрыть", + "settings.open_deeplink_desc": "font-mono", + "settings.open_deeplink_title": "Открыть глубокую ссылку", + "settings.opencode_engine_desc": + "Локальная среда выполнения для агентов, инструментов и провайдеров моделей.", + "settings.opencode_engine_label": "Движок OpenCode", + "settings.opencode_engine_sidecar_desc": "Сайдкар локального выполнения.", + "settings.opencode_router_sidecar": "Сайдкар OpenCodeRouter", + "settings.opencode_runtime_desc": + "Параметры среды выполнения для локального движка и моста оркестратора.", + "settings.opencode_sdk_desc": "Диагностика подключения UI.", + "settings.opencode_sdk_title": "Движок OpenCode", + "settings.opencode_section_label": "OpenCode", + "settings.opencode_url_unavailable": "Базовый URL недоступен", + "settings.opening": "Открыть глубокую ссылку", + "settings.openwork_config_sidecar_desc": "Сайдкар конфигурации и одобрений.", + "settings.openwork_diagnostics_title": "Диагностика сервера OpenWork", + "settings.openwork_server_desc": + "Плоскость управления сессиями для синхронизации приложения, воркеров и удалённого", + "settings.openwork_server_label": "Сервер OpenWork", + "settings.orchestrator_daemon_layer_desc": "Слой оркестрации рабочего пространства.", + "settings.orchestrator_daemon_title": "Демон оркестратора", + "settings.production_mode_badge": "Режим разработчика", + "settings.provider_source_config": "Конфигурация", + "settings.provider_source_custom": "Пользовательский", + "settings.provider_source_env": "Окружение", + "settings.providers_desc": "Подключите сервисы для моделей и инструментов.", + "settings.providers_title": "Провайдеры", + "settings.quit_hint": + "OpenWork закрывается сразу после очистки, чтобы следующий запуск начинался с чистого локального состояния для этого режима.", + "settings.reconnect_failed": + "Переподключение не удалось. Проверьте URL/токен сервера и попробуйте снова.", + "settings.reconnect_server": "Переподключение...", + "settings.reconnect_server_failed": "Переподключение сервера OpenWork не удалось.", + "settings.reconnected": "Переподключено к серверу OpenWork.", + "settings.reconnecting": "Переподключение...", + "settings.removing_containers": "Удаление контейнеров...", + "settings.removing_local_state": "Удаление локального состояния...", + "settings.report_issue": "Сообщить о проблеме", + "settings.reset_button": "Сбросить", + "settings.reset_config_defaults": "Сброс...", + "settings.reset_config_failed": "Сброс конфигурации приложения не удался.", + "settings.reset_openwork_desc_dev": + "При активном режиме разработчика, очищает только изолированное состояние OpenCode dev внутри openwork-dev-data.", + "settings.reset_openwork_desc_prod": + "При активном режиме разработчика, очищает только изолированное состояние OpenCode dev внутри openwork-dev-data.", + "settings.reset_openwork_title": "Сбросить состояние OpenWork + OpenCode", + "settings.reset_recovery_desc": "Очистить данные или перезапустить поток настройки.", + "settings.reset_recovery_title": "Сброс и восстановление", + "settings.reset_requires_confirm": + "Требует ввода RESET и перезапустит приложение.", + "settings.reset_startup_pref": "Сбросить предпочтение запуска", + "settings.resetting": "Сброс...", + "settings.restart_blocked_message": + "OpenWork требует перезапуска для завершения этого обновления. Чтобы не прерывать вашу текущую работу, установка приостановлена до завершения активных запусков или их остановки.", + "settings.restart_failed": "Перезапуск не удался. Проверьте логи и попробуйте снова.", + "settings.restart_local_server": "Перезапуск...", + "settings.restart_opencode": "Перезапуск...", + "settings.restart_opencode_router": "Перезапуск...", + "settings.restart_openwork_server": "Перезапуск...", + "settings.restart_orchestrator": "Перезапуск...", + "settings.restart_server_failed": "Перезапуск локального сервера не удался.", + "settings.restarted": "Локальный сервер перезапущен.", + "settings.restarting": "Перезапуск...", + "settings.reveal_config": "Показать конфигурацию", + "settings.reveal_config_failed": "Открытие конфигурации рабочего пространства не удалось.", + "settings.reveal_config_requires_desktop": + "Открытие конфигурации требует десктопного приложения", + "settings.revealed_workspace_config": "Конфигурация рабочего пространства показана.", + "settings.run_sandbox_probe": "Запуск зонда...", + "settings.running_probe": "Запуск зонда...", + "settings.runtime_applies_hint": + "Применяется при следующем запуске или перезагрузке движка.", + "settings.runtime_debug_desc": + "Читаемый снимок диагностики с экспортом в один клик.", + "settings.runtime_debug_title": "Отчёт отладки среды выполнения", + "settings.runtime_desc": "Статус вашего локального движка и сервера OpenWork.", + "settings.runtime_direct": "Прямой (OpenCode)", + "settings.runtime_orchestrator": "OpenWork Orchestrator", + "settings.runtime_title": "Среда выполнения", + "settings.sandbox_error": "готово", + "settings.sandbox_export_hint": "Используйте Экспорт в отчёте отладки среды выполнения выше для", + "settings.sandbox_probe_desc": + "Запускает временную проверку запуска Docker песочницы и", + "settings.sandbox_probe_errors": "Зонд песочницы завершён с ошибками.", + "settings.sandbox_probe_failed": "Зонд песочницы не удался.", + "settings.sandbox_probe_success": + "Зонд песочницы успешен. Экспортируйте отчёт отладки для поддержки.", + "settings.sandbox_probe_title": "Зонд песочницы", + "settings.sandbox_ready": "ошибка", + "settings.sandbox_requires_desktop": "Зонд песочницы требует десктопного приложения", + "settings.sandbox_result": "Результат: {status}", + "settings.sandbox_run_id": "ID запуска: {id}", + "settings.sandbox_stop_runs_hint": "Остановите активные запуски перед зондированием", + "settings.select_binary": "Выбрать бинарный файл OpenCode", + "settings.select_workspace_first": + "Выберите локальное рабочее пространство перед открытием конфигурации.", + "settings.send_feedback": "Отправить отзыв", + "settings.service_restarts_desc": + "Перезапустите определённые сервисы хоста, не покидая эту", + "settings.service_restarts_title": "Перезапуски сервисов", + "settings.show_model_reasoning": "Показать рассуждение модели", + "settings.show_model_reasoning_desc": + "Развернуть следы рассуждения в UI, когда модель их предоставляет.", + "settings.sidecar_config_unavailable": "Конфигурация сайдкара недоступна", + "settings.startup_local": "Запустить локальный сервер", + "settings.startup_not_set": "Подключиться к серверу", + "settings.startup_remote_warning": + "Предпочтение запуска сейчас удалённое. Настройки движка", + "settings.startup_reset_hint": + "Это очистит ваше сохранённое предпочтение и покажет подключение", + "settings.startup_server": "Подключиться к серверу", + "settings.stop_local_server": "Остановить локальный сервер", + "settings.stop_runs_before_cleanup": "Остановите активные запуски перед очисткой", + "settings.stop_runs_before_reset_config": + "Остановите активные запуски перед сбросом конфигурации", + "settings.suffix_available": "{available} доступно", + "settings.suffix_connected": "подключено", + "settings.switch": "Переключить", + "settings.tab_description_advanced": + "Проверьте здоровье среды выполнения, состояние подключения и элементы управления для разработчиков.", + "settings.tab_description_appearance": + "Настройте, как выглядит OpenWork на десктопе, тему системы и хром приложения.", + "settings.tab_description_automations": + "Создавайте и управляйте запланированными автоматизациями из настроек рабочего пространства.", + "settings.tab_description_debug": + "Просмотрите диагностику среды выполнения, логи и утилиты низкоуровневой отладки.", + "settings.tab_description_den": + "Управляйте подключением OpenWork Cloud, размещёнными воркерами и доступом к рабочему пространству.", + "settings.tab_description_extensions": + "Управляйте приложениями MCP и плагинами OpenCode для этого рабочего пространства.", + "settings.tab_description_general": + "Подключайте провайдеров, выбирайте модель по умолчанию, авторизуйте папки и управляйте выбранным рабочим пространством OpenWork плюс его подключение среды выполнения.", + "settings.tab_description_messaging": + "Настройте идентичности роутера и поведение ящика из настроек рабочего пространства.", + "settings.tab_description_model": + "Настройте модель по умолчанию, поведение среды выполнения и параметры вывода ассистента.", + "settings.tab_description_recovery": + "Восстановите состояние миграции, сбросьте параметры рабочего пространства по умолчанию и восстановите локальные настройки.", + "settings.tab_description_skills": + "Просматривайте, редактируйте и устанавливайте навыки, не покидая настройки.", + "settings.tab_description_updates": + "Держите приложение в актуальном состоянии с тихими фоновыми проверками и управлением установкой.", + "settings.tab_model": "Модель", + "settings.toolbar_ready_to_install": "Готово к установке${version ? ", + "settings.update_available_version": "Доступно обновление: v{version}", + "settings.update_check_button": "Проверить", + "settings.update_check_failed": "Проверка обновления не удалась", + "settings.update_download_button": "Скачать", + "settings.update_install_button": "Установить и перезапустить", + "settings.update_last_checked": "Последняя проверка {time}", + "settings.update_published": "Опубликовано {date}", + "settings.update_ready_version": "Готово к установке: v{version}", + "settings.updates_desc": "Держите OpenWork в актуальном состоянии.", + "settings.versions_desc": "Сайдкар + информация о сборке десктопа.", + "settings.versions_title": "Версии", + "settings.window_appearance_desc": "Настройте внешний вид окна.", + "settings.worker_id_label": "Воркер {id}", + "settings.worker_unresolved": "Воркер {runtimeWorkspaceId}", + "settings.workspace_config_desc": ".opencode/openwork.json", + "settings.workspace_config_title": "Конфигурация рабочего пространства", + "settings.workspace_debug_events_label": "События отладки рабочего пространства", + "settings.workspace_fallback_name": "Рабочее пространство", - "share_skill_destination.add_to_workspace": - "share_skill_destination.add_to_workspace", - "share_skill_destination.adding": "share_skill_destination.adding", - "share_skill_destination.connect_remote_hint": - "share_skill_destination.connect_remote_hint", - "share_skill_destination.create_worker_hint": - "share_skill_destination.create_worker_hint", - "share_skill_destination.more_options": - "share_skill_destination.more_options", + "share_skill_destination.add_to_workspace": + "share_skill_destination.add_to_workspace", + "share_skill_destination.adding": "share_skill_destination.adding", + "share_skill_destination.connect_remote_hint": + "share_skill_destination.connect_remote_hint", + "share_skill_destination.create_worker_hint": + "share_skill_destination.create_worker_hint", + "share_skill_destination.more_options": + "share_skill_destination.more_options", - "skills.add_custom_repo": "Добавить пользовательский GitHub репо", - "skills.add_git_repo": "Добавить git репо", - "skills.add_openwork_hub": "Добавить OpenWork Hub", - "skills.available_from_hub": "Доступно из Hub", - "skills.copy_link_failed": "Копирование ссылки не удалось", - "skills.create_in_chat": "Создать навык в чате", - "skills.from_repo": "Из {owner}/{repo}", - "skills.github_repo_hint": "font-mono", - "skills.hub_desc": - "Просматривайте общие навыки из Hub на GitHub и добавляйте их к этому воркеру.", - "skills.hub_label": "Hub", - "skills.import_local_skill": "Импортировать локальный навык", - "skills.install_name_title": "Установить {name}", - "skills.installed_desc": - "Установленные навыки живут на этом воркере и могут быть редактированы или общими.", - "skills.installed_status": "Установлено", - "skills.installing": "Добавить навык", - "skills.installing_prefix": "Установка {name}…", - "skills.link_copied": "Ссылка скопирована", - "skills.loading": "Загрузка…", - "skills.no_description": "Описания пока нет.", - "skills.no_hub_repo_label": "Hub репо не выбрано", - "skills.no_hub_repo_selected": "Hub навыки недоступны.", - "skills.no_hub_skills": - "Hub репо не выбрано. Добавьте GitHub репо для просмотра навыков.", - "skills.owner_label": "Владелец", - "skills.owner_repo_required": "Требуются владелец и репо.", - "skills.ref_label": "Ref (ветка/тег/коммит)", - "skills.refresh_hub": "Обновить hub", - "skills.refresh_hub_title": "Обновить каталог hub", - "skills.remove_saved_repo": "Удалить сохранённый репо", - "skills.repo_label": "Репо", - "skills.save_and_load": "Сохранить и загрузить", - "skills.save_failed": "Сохранение навыка не удалось.", - "skills.shown_count": "Показано {count}", - "skills.skill_load_failed": "Загрузка навыка не удалась.", - "skills.source_label": "Источник", - "skills.trigger_label": "Триггер: {trigger}", - "skills.worker_profile_desc": - "Навыки — это основные способности этого воркера. Откройте их из Hub, управляйте установленными и создавайте новые прямо в чате.", + "skills.add_custom_repo": "Добавить пользовательский GitHub репо", + "skills.add_git_repo": "Добавить git репо", + "skills.add_openwork_hub": "Добавить OpenWork Hub", + "skills.available_from_hub": "Доступно из Hub", + "skills.copy_link_failed": "Копирование ссылки не удалось", + "skills.create_in_chat": "Создать навык в чате", + "skills.from_repo": "Из {owner}/{repo}", + "skills.github_repo_hint": "font-mono", + "skills.hub_desc": + "Просматривайте общие навыки из Hub на GitHub и добавляйте их к этому воркеру.", + "skills.hub_label": "Hub", + "skills.import_local_skill": "Импортировать локальный навык", + "skills.install_name_title": "Установить {name}", + "skills.installed_desc": + "Установленные навыки живут на этом воркере и могут быть редактированы или общими.", + "skills.installed_status": "Установлено", + "skills.installing": "Добавить навык", + "skills.installing_prefix": "Установка {name}…", + "skills.link_copied": "Ссылка скопирована", + "skills.loading": "Загрузка…", + "skills.no_description": "Описания пока нет.", + "skills.no_hub_repo_label": "Hub репо не выбрано", + "skills.no_hub_repo_selected": "Hub навыки недоступны.", + "skills.no_hub_skills": + "Hub репо не выбрано. Добавьте GitHub репо для просмотра навыков.", + "skills.owner_label": "Владелец", + "skills.owner_repo_required": "Требуются владелец и репо.", + "skills.ref_label": "Ref (ветка/тег/коммит)", + "skills.refresh_hub": "Обновить hub", + "skills.refresh_hub_title": "Обновить каталог hub", + "skills.remove_saved_repo": "Удалить сохранённый репо", + "skills.repo_label": "Репо", + "skills.save_and_load": "Сохранить и загрузить", + "skills.save_failed": "Сохранение навыка не удалось.", + "skills.shown_count": "Показано {count}", + "skills.skill_load_failed": "Загрузка навыка не удалась.", + "skills.source_label": "Источник", + "skills.trigger_label": "Триггер: {trigger}", + "skills.worker_profile_desc": + "Навыки — это основные способности этого воркера. Откройте их из Hub, управляйте установленными и создавайте новые прямо в чате.", } as const;