@goodandready/dsh-russian-lang 0.3.0 → 0.3.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +20 -5
- package/README.ru.md +20 -5
- package/bin/dsh-i18n.mjs +247 -0
- package/lib/client.js +2932 -2360
- package/lib/index.js +89 -15
- package/lib/locales/core.json +1 -1
- package/lib/locales/plugins/03-dshmarket.json +1 -1
- package/lib/locales/plugins/17-dsh-context.json +1 -1
- package/lib/locales/plugins/26-config-manager.json +1 -1
- package/lib/locales/plugins/29-config-manager-recovery.json +1 -1
- package/lib/locales/plugins/32-vision-bridge.json +1 -1
- package/lib/locales/plugins/33-messenger-gateway.json +1 -1
- package/lib/locales/plugins/34-key-rotation.json +1 -1
- package/lib/locales/plugins/35-gitea.json +1 -1
- package/lib/locales/plugins/36-cost-meter.json +1 -1
- package/lib/locales/plugins/37-time-machine.json +1 -1
- package/lib/locales/plugins/40-clinebot.json +1 -1
- package/lib/locales/plugins/41-lanmode.json +1 -1
- package/lib/locales/plugins/42-plugin-console.json +1 -1
- package/lib/locales/plugins/48-task-tracker.json +1 -1
- package/lib/locales/plugins/49-dsml-guard.json +1 -1
- package/lib/locales/plugins/54-workshop-market.json +1 -1
- package/lib/locales/plugins/56-cron.json +1 -1
- package/lib/locales/plugins/58-grok-xsearch.json +1 -1
- package/lib/locales/plugins/59-goal.json +1 -1
- package/lib/locales/plugins/60-model-sync.json +1 -1
- package/lib/locales/plugins/61-issue-reporter.json +1 -1
- package/lib/locales/plugins/62-model-search.json +1 -1
- package/lib/locales/plugins/63-agent-orchestrator.json +1 -1
- package/lib/locales/plugins/65-subscriptions.json +1 -1
- package/lib/locales/plugins/67-voice.json +1 -1
- package/lib/locales/plugins/68-image-gen.json +1 -1
- package/lib/locales/plugins/70-hypotheses.json +1 -1
- package/lib/locales/plugins/72-server-monitor.json +1 -1
- package/lib/locales/plugins/73-agentrouter.json +1 -1
- package/lib/locales/plugins/77-github-ops.json +1 -0
- package/lib/locales/plugins/78-web-gateway.json +1 -0
- package/lib/locales/plugins/79-approval-gate.json +1 -0
- package/lib/locales/plugins/80-ip-pool.json +1 -0
- package/lib/locales/plugins/81-ego-browser.json +1 -0
- package/lib/locales/plugins/82-effort-slider.json +1 -0
- package/lib/locales/zh-ru.json +1 -1
- package/lib/locales.js +50 -12
- package/lib/pure.js +306 -14
- package/lib/translator.js +55 -0
- package/package.json +7 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"dsh-gitea":{"activePr":"Активный Pull Request: #{number}","badgeOffline":"Не в сети","badgeOnline":"В сети","baseUrl":"URL сервера Gitea","baseUrlHint":"например https://gitea.example.com","bgSchedulerEnabled":"Включить фоновый планировщик триажа","bgSchedulerEnabledHint":"Периодически проверять открытые задачи и пул-реквесты в фоне","bgSchedulerIntervalMin":"Интервал планировщика (минуты)","bgSchedulerIntervalMinHint":"Частота выполнения фонового триажа","bgSchedulerOwner":"Владелец для фонового триажа","bgSchedulerOwnerHint":"Пользователь или организация для фонового сканирования","bgSchedulerRepo":"Репозиторий для фонового триажа","bgSchedulerRepoHint":"Имя репозитория для фонового сканирования","bgSchedulerWebhook":"Вебхук для отчётов триажа","bgSchedulerWebhookHint":"URL для отправки дайджестов проверки задач","branch":"Ветка","btn.save_settings":"Сохранить параметры Gitea","btn.trigger_triage":"Запустить триаж сейчас","ciFail":"CI завершился с ошибкой","ciPass":"CI пройден успешно","ciPending":"CI выполняется","collapse":"Свернуть","daysAgo":"дн. назад","defaultOwner":"Владелец / Организация по умолчанию","defaultOwnerHint":"Организация или пользователь в Gitea для создания репозиториев","defaultRepo":"Репозиторий по умолчанию","defaultRepoHint":"Основной репозиторий проекта","description":"Инструменты и учётные данные Gitea или Forgejo.","discard":"Сбросить","dodReminder":"Напоминания Definition of Done (DoD)","dodReminderHint":"Напоминать о критериях приёмки перед открытием или слиянием PR","drawerClose":"Закрыть панель","drawerRefresh":"Обновить состояние Git","drawerTitle":"Инспектор Git и Worktree","eventsTitle":"События","expand":"Развернуть","forceHttpsUrls":"Принудительный HTTPS для URL репозиториев","forceHttpsUrlsHint":"Преобразовывать http:// ссылки в безопасный https://","gitAhead":"Впереди","gitBehind":"Позади","gitChanges":"Изменения","gitClean":"Чисто","gitCommits":"ПОСЛЕДНИЕ КОММИТЫ","gitDirty":"Есть незакоммиченные изменения","gitEmpty":"В репозитории нет коммитов","gitHint":"Сведения о состоянии локального git-репозитория и удалённой ветки","gitNoChanges":"Нет изменений","gitNoCommits":"Нет коммитов для отправки","gitNoRemote":"Удалённый репозиторий не настроен","gitPulled":"Ветка обновлена из удалённого репозитория","gitPushed":"Коммиты успешно отправлены в Gitea","gitRemote":"Удалённый репозиторий (Remote)","gitStatus":"Статус Git","gitSync":"Синхронизация","gitSynced":"Ветка синхронизирована с Gitea","gitUpToDate":"Синхронизировано с удалённым репозиторием","gitWrapper":"Пользовательский Git-враппер","gitWrapperHint":"Имя бинарника/скрипта-обёртки для Git (например, git-antigravity)","giteaBranch":"Ветка","giteaCommit":"Коммит","giteaOwner":"Владелец / Организация","giteaRepo":"Репозиторий","giteaToken":"Персональный токен","giteaUrl":"URL сервера","giteaUser":"Пользователь","graph.ci_failing":"CI: Ошибки сборки","graph.ci_passing":"CI: Тесты пройдены","graph.ci_pending":"CI: Выполняется…","graph.desc":"Визуальный граф веток, слияний и результатов автоматических тестов","graph.refresh":"Обновить граф","graph.title":"История коммитов и статус CI","graphClose":"Закрыть граф","graphEmpty":"В репозитории не найдено коммитов","graphLoadMore":"Загрузить ещё коммиты","graphLoading":"Загрузка графа коммитов…","graphTitle":"Граф коммитов Git","hoursAgo":"ч назад","inspector.branch":"Текущая ветка: {name}","inspector.clean_state":"Рабочее дерево чисто (Clean)","inspector.desc":"Просмотр активных веток, коммитов, worktree и незафиксированных изменений","inspector.empty":"Рабочие деревья и изменения не найдены","inspector.last_commit":"Последний коммит: {hash} — {msg}","inspector.loading":"Считывание состояния репозитория…","inspector.refresh":"Обновить дерево Git","inspector.staged":"Файлы в индексе (Staged) ({count})","inspector.title":"Инспектор Git и репозиториев","inspector.unstaged":"Незафиксированные файлы ({count})","inspector.worktrees":"Активные Worktree ({count}):","intro":"Создайте учётные данные DSH, вставьте туда токен API, затем укажите только имя учётных данных ниже (например, GITEA_TOKEN).","issues":"Задачи (Issues)","justNow":"только что","loading":"Загрузка данных Gitea…","minutesAgo":"мин назад","msg.saved":"Настройки Gitea успешно сохранены","msg.triage_started":"Фоновый триаж запущен","noChangesDesc":"В рабочем каталоге нет изменённых или неотслеживаемых файлов.","noEvents":"События не зафиксированы","noInstances":"Дополнительные инстансы Gitea не настроены","noIssues":"Нет открытых задач","noPulls":"Нет открытых pull request","noRepos":"Репозитории не найдены","notifyWebhook":"URL вебхука для уведомлений","notifyWebhookHint":"Внешний вебхук для отправки статусов триажа и событий","openGraph":"Граф коммитов","openInGitea":"Открыть в Gitea","password":"Пароль / Токен доступа","passwordHint":"Персональный токен доступа Gitea с правами api, repo, issue","pullRequests":"Запросы на слияние (Pull Requests)","recentEvents":"Недавние события репозитория","refresh":"Обновить","repoCloned":"Репозиторий успешно клонирован","repoCloning":"Клонирование репозитория…","repos":"Репозитории","save":"Сохранить","saveFailed":"Сохранить failed","saved":"Настройки сохранены","saving":"Сохранение…","scheduler.auto_triage":"Автоматический триаж новых Issue","scheduler.desc":"Автоматическая проверка новых задач (issues), напоминания DoD и ревью","scheduler.dod_hint":"Проверять чек-листы готовности перед закрытием PR и задач","scheduler.dod_reminder":"Напоминания Definition of Done (DoD)","scheduler.enabled":"Включить фоновый планировщик","scheduler.interval":"Интервал проверки (минуты)","scheduler.last_run":"Последний запуск: {time}","scheduler.next_run":"Следующий запуск: через {mins} мин","scheduler.title":"Фоновый триаж и задачи по расписанию","sectionDefaults":"Значения по умолчанию и Git Worktrees","sectionInstance":"Подключение и основные настройки","sectionInstances":"Дополнительные инстансы","sectionScheduler":"Фоновый планировщик триажа","sectionWebhooks":"Вебхуки и уведомления","settingsUnavailable":"Настройки unavailable (namespace not registered).","status":"Статус подключения","statusClean":"Рабочее дерево чисто (Clean)","statusConnected":"Подключено к Gitea","statusDirty":"Есть незафиксированные изменения","statusDisconnected":"Не подключено","statusError":"Ошибка подключения","tabEvents":"События и PR","tabGraph":"Граф и CI","tabInspector":"Git Inspector","tabScheduler":"Планировщик задач","tabStatus":"Статус","tabWebhooks":"Входящие вебхуки","timeoutMs":"Таймаут API запросов (мс)","timeoutMsHint":"Максимальное время ожидания ответа Gitea API","title":"Интеграция с Gitea","toggleAdvanced":"Расширенные настройки","token":"Токен API","tokenEnv":"Имя учётных данных","tokenEnvHint":"Имя учётных данных DSH, а не сам токен. По умолчанию GITEA_TOKEN.","tokenHint":"Токен авторизации Gitea API","tokenOff":"Токен не настроен","tokenOn":"Токен настроен","unsaved":"Не сохранено","updaterAvailable":"Доступно обновление: v{version}","updaterBtnCheck":"Проверить обновления","updaterBtnUpdate":"Обновить до v{version}","updaterCheckFailed":"Ошибка проверки реестра","updaterChecking":"Проверка реестра...","updaterCurrent":"Текущая версия: v{version}","updaterDesc":"Проверка npm-реестра на новые версии и обновление в один клик.","updaterSuccess":"Успешно обновлено до v{version}. Перезапустите DSH для применения.","updaterTitle":"Обновление плагина","updaterUpToDate":"Актуальная версия","updaterUpdating":"Обновление плагина...","upstream":"Ветка upstream:","username":"Имя пользователя","usernameHint":"Логин вашей учётной записи в Gitea","viewCommit":"Посмотреть коммит","viewInGitea":"Открыть в Gitea ↗","viewIssue":"Посмотреть задачу","viewPull":"Посмотреть PR","viewRepo":"Посмотреть репозиторий","webhookSecretEnv":"Переменная окружения для HMAC-секрета","webhookSecretEnvHint":"Имя переменной с секретным ключом для валидации входящих вебхуков","webhooks.desc":"Приём событий push, pull_request, issue с проверкой HMAC-SHA256 подписи","webhooks.endpoint":"URL вебхука: {url}","webhooks.no_events":"События вебхуков ещё не поступали","webhooks.recent":"Недавние события ({count})","webhooks.secret":"Секретный ключ (HMAC Secret)","webhooks.secret_hint":"Секрет для верификации подписи X-Gitea-Signature","webhooks.title":"Входящие вебхуки Gitea","worktreeBranch":"Ветка worktree"}}
|
|
1
|
+
{"dsh-gitea":{"activePr":"Активный Pull Request: #{number}","badgeOffline":"Не в сети","badgeOnline":"В сети","baseUrl":"URL сервера Gitea","baseUrlHint":"например https://gitea.example.com","bgSchedulerEnabled":"Включить фоновый планировщик триажа","bgSchedulerEnabledHint":"Периодически проверять открытые задачи и пул-реквесты в фоне","bgSchedulerIntervalMin":"Интервал планировщика (минуты)","bgSchedulerIntervalMinHint":"Частота выполнения фонового триажа","bgSchedulerOwner":"Владелец для фонового триажа","bgSchedulerOwnerHint":"Пользователь или организация для фонового сканирования","bgSchedulerRepo":"Репозиторий для фонового триажа","bgSchedulerRepoHint":"Имя репозитория для фонового сканирования","bgSchedulerWebhook":"Вебхук для отчётов триажа","bgSchedulerWebhookHint":"URL для отправки дайджестов проверки задач","branch":"Ветка","btn.save_settings":"Сохранить параметры Gitea","btn.trigger_triage":"Запустить триаж сейчас","ciFail":"CI завершился с ошибкой","ciPass":"CI пройден успешно","ciPending":"CI выполняется","collapse":"Свернуть","daysAgo":"дн. назад","defaultOwner":"Владелец / Организация по умолчанию","defaultOwnerHint":"Организация или пользователь в Gitea для создания репозиториев","defaultRepo":"Репозиторий по умолчанию","defaultRepoHint":"Основной репозиторий проекта","description":"Инструменты и учётные данные Gitea или Forgejo.","discard":"Сбросить","dodReminder":"Напоминания Definition of Done (DoD)","dodReminderHint":"Напоминать о критериях приёмки перед открытием или слиянием PR","drawerClose":"Закрыть панель","drawerRefresh":"Обновить состояние Git","drawerTitle":"Инспектор Git и Worktree","eventsEmptyHint":"Вебхуки не настроены или событий пока нет. Настройте вебхук на адрес {url}.","eventsTitle":"События","expand":"Развернуть","forceHttpsUrls":"Принудительный HTTPS для URL репозиториев","forceHttpsUrlsHint":"Преобразовывать http:// ссылки в безопасный https://","gitAhead":"Впереди","gitBehind":"Позади","gitChanges":"Изменения","gitClean":"Чисто","gitCommits":"ПОСЛЕДНИЕ КОММИТЫ","gitDirty":"Есть незакоммиченные изменения","gitEmpty":"В репозитории нет коммитов","gitHint":"Сведения о состоянии локального git-репозитория и удалённой ветки","gitNoChanges":"Нет изменений","gitNoCommits":"Нет коммитов для отправки","gitNoRemote":"Удалённый репозиторий не настроен","gitPulled":"Ветка обновлена из удалённого репозитория","gitPushed":"Коммиты успешно отправлены в Gitea","gitRemote":"Удалённый репозиторий (Remote)","gitStatus":"Статус Git","gitSync":"Синхронизация","gitSynced":"Ветка синхронизирована с Gitea","gitUpToDate":"Синхронизировано с удалённым репозиторием","gitWrapper":"Пользовательский Git-враппер","gitWrapperHint":"Имя бинарника/скрипта-обёртки для Git (например, git-antigravity)","giteaBranch":"Ветка","giteaCommit":"Коммит","giteaOwner":"Владелец / Организация","giteaRepo":"Репозиторий","giteaToken":"Персональный токен","giteaUrl":"URL сервера","giteaUser":"Пользователь","graph.ci_failing":"CI: Ошибки сборки","graph.ci_passing":"CI: Тесты пройдены","graph.ci_pending":"CI: Выполняется…","graph.desc":"Визуальный граф веток, слияний и результатов автоматических тестов","graph.refresh":"Обновить граф","graph.title":"История коммитов и статус CI","graphClose":"Закрыть граф","graphEmpty":"В репозитории не найдено коммитов","graphLoadMore":"Загрузить ещё коммиты","graphLoading":"Загрузка графа коммитов…","graphTitle":"Граф коммитов Git","hoursAgo":"ч назад","inspector.branch":"Текущая ветка: {name}","inspector.clean_state":"Рабочее дерево чисто (Clean)","inspector.desc":"Просмотр активных веток, коммитов, worktree и незафиксированных изменений","inspector.empty":"Рабочие деревья и изменения не найдены","inspector.last_commit":"Последний коммит: {hash} — {msg}","inspector.loading":"Считывание состояния репозитория…","inspector.refresh":"Обновить дерево Git","inspector.staged":"Файлы в индексе (Staged) ({count})","inspector.title":"Инспектор Git и репозиториев","inspector.unstaged":"Незафиксированные файлы ({count})","inspector.worktrees":"Активные Worktree ({count}):","intro":"Создайте учётные данные DSH, вставьте туда токен API, затем укажите только имя учётных данных ниже (например, GITEA_TOKEN).","issues":"Задачи (Issues)","justNow":"только что","loading":"Загрузка данных Gitea…","minutesAgo":"мин назад","msg.saved":"Настройки Gitea успешно сохранены","msg.triage_started":"Фоновый триаж запущен","noChangesDesc":"В рабочем каталоге нет изменённых или неотслеживаемых файлов.","noEvents":"События не зафиксированы","noInstances":"Дополнительные инстансы Gitea не настроены","noIssues":"Нет открытых задач","noPulls":"Нет открытых pull request","noRepos":"Репозитории не найдены","notifyWebhook":"URL вебхука для уведомлений","notifyWebhookHint":"Внешний вебхук для отправки статусов триажа и событий","openGraph":"Граф коммитов","openInGitea":"Открыть в Gitea","password":"Пароль / Токен доступа","passwordHint":"Персональный токен доступа Gitea с правами api, repo, issue","pullRequests":"Запросы на слияние (Pull Requests)","recentEvents":"Недавние события репозитория","refresh":"Обновить","repoCloned":"Репозиторий успешно клонирован","repoCloning":"Клонирование репозитория…","repos":"Репозитории","save":"Сохранить","saveFailed":"Сохранить failed","saved":"Настройки сохранены","saving":"Сохранение…","scheduler.auto_triage":"Автоматический триаж новых Issue","scheduler.desc":"Автоматическая проверка новых задач (issues), напоминания DoD и ревью","scheduler.dod_hint":"Проверять чек-листы готовности перед закрытием PR и задач","scheduler.dod_reminder":"Напоминания Definition of Done (DoD)","scheduler.enabled":"Включить фоновый планировщик","scheduler.interval":"Интервал проверки (минуты)","scheduler.last_run":"Последний запуск: {time}","scheduler.next_run":"Следующий запуск: через {mins} мин","scheduler.title":"Фоновый триаж и задачи по расписанию","sectionDefaults":"Значения по умолчанию и Git Worktrees","sectionInstance":"Подключение и основные настройки","sectionInstances":"Дополнительные инстансы","sectionScheduler":"Фоновый планировщик триажа","sectionWebhooks":"Вебхуки и уведомления","settingsUnavailable":"Настройки unavailable (namespace not registered).","status":"Статус подключения","statusClean":"Рабочее дерево чисто (Clean)","statusConnected":"Подключено к Gitea","statusDirty":"Есть незафиксированные изменения","statusDisconnected":"Не подключено","statusError":"Ошибка подключения","tabEvents":"События и PR","tabGraph":"Граф и CI","tabInspector":"Git Inspector","tabScheduler":"Планировщик задач","tabStatus":"Статус","tabWebhooks":"Входящие вебхуки","timeoutMs":"Таймаут API запросов (мс)","timeoutMsHint":"Максимальное время ожидания ответа Gitea API","title":"Интеграция с Gitea","toggleAdvanced":"Расширенные настройки","token":"Токен API","tokenEnv":"Имя учётных данных","tokenEnvHint":"Имя учётных данных DSH, а не сам токен. По умолчанию GITEA_TOKEN.","tokenHint":"Токен авторизации Gitea API","tokenOff":"Токен не настроен","tokenOn":"Токен настроен","unsaved":"Не сохранено","updaterAvailable":"Доступно обновление: v{version}","updaterBtnCheck":"Проверить обновления","updaterBtnUpdate":"Обновить до v{version}","updaterCheckFailed":"Ошибка проверки реестра","updaterChecking":"Проверка реестра...","updaterCurrent":"Текущая версия: v{version}","updaterDesc":"Проверка npm-реестра на новые версии и обновление в один клик.","updaterSuccess":"Успешно обновлено до v{version}. Перезапустите DSH для применения.","updaterTitle":"Обновление плагина","updaterUpToDate":"Актуальная версия","updaterUpdating":"Обновление плагина...","upstream":"Ветка upstream:","username":"Имя пользователя","usernameHint":"Логин вашей учётной записи в Gitea","viewCommit":"Посмотреть коммит","viewInGitea":"Открыть в Gitea ↗","viewIssue":"Посмотреть задачу","viewPull":"Посмотреть PR","viewRepo":"Посмотреть репозиторий","webhookSecretEnv":"Переменная окружения для HMAC-секрета","webhookSecretEnvHint":"Имя переменной с секретным ключом для валидации входящих вебхуков","webhooks.desc":"Приём событий push, pull_request, issue с проверкой HMAC-SHA256 подписи","webhooks.endpoint":"URL вебхука: {url}","webhooks.no_events":"События вебхуков ещё не поступали","webhooks.recent":"Недавние события ({count})","webhooks.secret":"Секретный ключ (HMAC Secret)","webhooks.secret_hint":"Секрет для верификации подписи X-Gitea-Signature","webhooks.title":"Входящие вебхуки Gitea","worktreeBranch":"Ветка worktree"}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"@goodandready/dsh-cost-meter":{"update.available":"Доступно обновление","update.btn":"Обновить сейчас","update.checking":"Проверка...","update.done":"Обновлено успешно! Перезапустите DSH.","update.failed":"Ошибка обновления:","update.up_to_date":"Актуальная версия","update.updating":"Обновление..."},"dsh-cost-meter":{"action.copied":"Скопировано!","action.copy_report":"Скопировать сводку","action.sync_err":"Синхронизация не удалась","action.sync_now":"Синхронизировать сейчас","action.sync_ok":"Каталог обновлён","action.sync_rate_limited":"Подождите {seconds} с","action.syncing":"Синхронизация…","badge.catalog_empty":"Каталог: загрузка…","badge.catalog_err":"Каталог: ошибка","badge.catalog_off":"Каталог: отключён","badge.catalog_ok":"Каталог: моделей — {count}","badge.catalog_stale":"Кэш: офлайн","badge.deepseek":"Тариф DeepSeek: активен","budget.exceeded":"⚠️ Лимит бюджета превышен: {limit}","cacheSaved":"Сэкономлено на кэше контекста:","catalogUnavailable":"Каталог OpenRouter недоступен: ","chipRate":"тариф","chipUnknown":"тариф ?","copySummary":"Скопировать сводку","diag.last_sync":"Последняя синхронизация","diag.models_count":"Моделей в каталоге","diag.route":"Активный маршрут","diag.tariff_source":"Источник тарифов","field.budgetThreshold":"Порог бюджета сессии (USD)","field.currency":"Символ валюты","field.displayTimeZone":"Часовой пояс отображения","field.refreshHours":"Интервал обновления каталога (в часах)","field.usdRate":"Курс к USD","field.useOpenRouter":"Использовать каталог OpenRouter","flat":"фикс.","header.sub":"Мониторинг расхода токенов, автоматический расчёт тарифов и скидочные интервалы","header.title":"Счётчик расходов","hint.budgetThreshold":"Предупреждать цветом плашки при превышении расходов в сессии (0 — выключено).","hint.currency":"Символ валюты в виджете (например $, ₽, €).","hint.displayTimeZone":"Часовой пояс IANA для расписания пиковых/ночных тарифов.","hint.refreshHours":"Интервал фонового запроса каталога в часах (от 1 до 168).","hint.usdRate":"Курс обмена: количество единиц валюты за 1 USD (например 80 для ₽).","hint.useOpenRouter":"Динамически получать тарифы и окна скидок через публичный API OpenRouter.","inputCacheHit":"Ввод (попадание в кэш)","inputCacheMiss":"Ввод (промах кэша)","modal.close":"Закрыть","modal.title":"Тарифы и стоимость моделей","modelNotFound":"Модель не найдена в каталоге OpenRouter. Задайте цены вручную в настройках или сопоставьте модель через modelMap.","models.show_less":"Свернуть","models.show_more":"Показать все модели ({count})","modelsBreakdown":"Детализация по моделям","noPriceSpecified":"тариф не указан","noUsageYet":"Провайдер ещё не передал данные об использовании для этой сессии.","offPeak":"ночь","offpeak":"ночной тариф","output":"Вывод","peak":"пик","rate.cache_hit":"Вход (попадание в кэш)","rate.cache_write":"Вход (запись в кэш)","rate.custom":"Пользовательский","rate.default":"По умолчанию","rate.discountedActive":"Действует сниженный тариф","rate.input":"
|
|
1
|
+
{"@goodandready/dsh-cost-meter":{"update.available":"Доступно обновление","update.btn":"Обновить сейчас","update.checking":"Проверка...","update.done":"Обновлено успешно! Перезапустите DSH.","update.failed":"Ошибка обновления:","update.up_to_date":"Актуальная версия","update.updating":"Обновление..."},"dsh-cost-meter":{"action.copied":"Скопировано!","action.copy_report":"Скопировать сводку","action.sync_err":"Синхронизация не удалась","action.sync_now":"Синхронизировать сейчас","action.sync_ok":"Каталог обновлён","action.sync_rate_limited":"Подождите {seconds} с","action.syncing":"Синхронизация…","badge.catalog_empty":"Каталог: загрузка…","badge.catalog_err":"Каталог: ошибка","badge.catalog_off":"Каталог: отключён","badge.catalog_ok":"Каталог: моделей — {count}","badge.catalog_stale":"Кэш: офлайн","badge.deepseek":"Тариф DeepSeek: активен","budget.exceeded":"⚠️ Лимит бюджета превышен: {limit}","cacheSaved":"Сэкономлено на кэше контекста:","catalogUnavailable":"Каталог OpenRouter недоступен: ","chipRate":"тариф","chipUnknown":"тариф ?","copySummary":"Скопировать сводку","diag.last_sync":"Последняя синхронизация","diag.models_count":"Моделей в каталоге","diag.route":"Активный маршрут","diag.tariff_source":"Источник тарифов","field.budgetThreshold":"Порог бюджета сессии (USD)","field.currency":"Символ валюты","field.displayTimeZone":"Часовой пояс отображения","field.refreshHours":"Интервал обновления каталога (в часах)","field.usdRate":"Курс к USD","field.useOpenRouter":"Использовать каталог OpenRouter","flat":"фикс.","header.sub":"Мониторинг расхода токенов, автоматический расчёт тарифов и скидочные интервалы","header.title":"Счётчик расходов","hint.budgetThreshold":"Предупреждать цветом плашки при превышении расходов в сессии (0 — выключено).","hint.currency":"Символ валюты в виджете (например $, ₽, €).","hint.displayTimeZone":"Часовой пояс IANA для расписания пиковых/ночных тарифов.","hint.refreshHours":"Интервал фонового запроса каталога в часах (от 1 до 168).","hint.usdRate":"Курс обмена: количество единиц валюты за 1 USD (например 80 для ₽).","hint.useOpenRouter":"Динамически получать тарифы и окна скидок через публичный API OpenRouter.","inputCacheHit":"Ввод (попадание в кэш)","inputCacheMiss":"Ввод (промах кэша)","modal.close":"Закрыть","modal.title":"Тарифы и стоимость моделей","modelNotFound":"Модель не найдена в каталоге OpenRouter. Задайте цены вручную в настройках или сопоставьте модель через modelMap.","models.show_less":"Свернуть","models.show_more":"Показать все модели ({count})","modelsBreakdown":"Детализация по моделям","noPriceSpecified":"тариф не указан","noUsageYet":"Провайдер ещё не передал данные об использовании для этой сессии.","offPeak":"ночь","offpeak":"ночной тариф","output":"Вывод","peak":"пик","rate.cache_hit":"Вход (попадание в кэш)","rate.cache_write":"Вход (запись в кэш)","rate.custom":"Пользовательский","rate.default":"По умолчанию","rate.discountedActive":"Действует сниженный тариф","rate.input":"Вход (промах кэша)","rate.offPeak":"непиковый","rate.output":"Выход","rate.peak":"пиковый","rate.per_1m":"1 млн токенов, $","rate.unit":"/ 1M ток.","routeUnknown":"маршрут неизвестен","savings.cache_saved":"⚡ Сэкономлено на кэше контекста: ≈ {amount} ({percent}%)","savings.hint":"💡 Скидка 50% начнётся через {time} ({clock} {zone})","section.diagnostics":"Диагностика и статус","section.diagnostics_desc":"Текущее состояние фоновой синхронизации и кэша тарифов","section.general":"Основные параметры","section.general_desc":"Отображение валюты, коэффициент конвертации и настройка часового пояса","section.openrouter":"Каталог тарифов OpenRouter","section.openrouter_desc":"Публичный каталог для динамического расчёта стоимости моделей и скидочных интервалов","sessionTokens":"ТОКЕНЫ СЕССИИ","sessionTotal":"Всего за сессию:","settings.loading":"Загрузка настроек…","settings.retry":"Повторить попытку","settings.save":"Сохранить","settings.saveFailed":"Не удалось сохранить настройки: ","settings.saved":"Сохранено","settings.saving":"Сохранение…","settings.unavailable":"Настройки недоступны (namespace ещё не зарегистрирован).","spendByModel":"РАСХОД ПО МОДЕЛЯМ","subtitle":"Стоимость сессии в шапке, тарифы токенов и детализация по моделям","table.model":"Модель","table.provider":"Провайдер","table.rate":"Тарифная ставка","table.total":"Итого","title":"Счётчик стоимости токенов","tokens":"Токены","tokens.models_spent":"Расходы по моделям","tokens.no_usage_yet":"Провайдер пока не передал статистику использования для этой сессии.","tokens.not_priced":"Тариф не задан","tokens.session":"Токены сессии","tokens.session_total":"Всего за сессию:","tokens.tokens_col":"Токены","totalCost":"Общая стоимость","tz.invalid":"Недопустимый идентификатор часового пояса IANA","update.available":"Доступно обновление: v{latestVersion} (текущая: v{currentVersion})","update.btn":"Обновить сейчас","update.checking":"Проверка обновлений…","update.done":"Успешно обновлено до v{version}! Перезапустите DSH.","update.failed":"Ошибка обновления: {error}","update.up_to_date":"Установлена актуальная версия","update.updating":"Обновление…"}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"@goodandready/dsh-time-machine":{"allFiles":"Все файлы","autoHeal":"Восстановление промпта при сбое","autoSnapshot":"Автоснимок перед правкой файлов","close":"Закрыть","confirmDelete":"Удалить эту контрольную точку?","confirmRestoreFile":"Восстановить этот файл к состоянию контрольной точки?","confirmRollback":"Откатиться к этой контрольной точке? Это сбросит изменения в рабочей области.","create":"Создать точку сохранения","delete":"Удалить","diff":"Различия","empty":"Контрольных точек пока нет.","fileRestored":"Файл успешно восстановлен.","filesChanged":"Изменённые файлы","guideDesc":"Контрольные точки, визуальные диффы и мгновенный откат рабочей области.","guideTitle":"Машина времени","labelPh":"Название контрольной точки","list":"Хронология","loading":"Загрузка точек сохранения…","maxSnapshots":"Максимум снимков","noDiff":"Нет изменений относительно контрольной точки.","restore":"Восстановить","restoreFile":"Восстановить файл","rollback":"Откат","rollbackSuccess":"Рабочая область успешно восстановлена.","save":"Создать точку","saved":"Точка сохранена","selectFile":"Выберите файл для просмотра различий","sidebarNotice":"Снимки состояния рабочей области сохраняются автоматически перед каждым крупным действием агента.","snapshots":"Снимки состояния","sub":"Теневые снимки, diff и мгновенный откат для безопасности агента.","tabTitle":"Машина времени","title":"Машина времени (Time Machine)","unavailable":"Настройки недоступны","updaterCheck":"Проверить обновления","updaterChecking":"Проверка...","updaterCurrent":"
|
|
1
|
+
{"@goodandready/dsh-time-machine":{"allFiles":"Все файлы","autoHeal":"Восстановление промпта при сбое","autoSnapshot":"Автоснимок перед правкой файлов","close":"Закрыть","confirmDelete":"Удалить эту контрольную точку?","confirmRestoreFile":"Восстановить этот файл к состоянию контрольной точки?","confirmRollback":"Откатиться к этой контрольной точке? Это сбросит изменения в рабочей области.","create":"Создать точку сохранения","delete":"Удалить","diff":"Различия","empty":"Контрольных точек пока нет.","fileRestored":"Файл успешно восстановлен.","filesChanged":"Изменённые файлы","guideDesc":"Контрольные точки, визуальные диффы и мгновенный откат рабочей области.","guideTitle":"Машина времени","labelPh":"Название контрольной точки","list":"Хронология","loading":"Загрузка точек сохранения…","maxSnapshots":"Максимум снимков","noDiff":"Нет изменений относительно контрольной точки.","restore":"Восстановить","restoreFile":"Восстановить файл","rollback":"Откат","rollbackSuccess":"Рабочая область успешно восстановлена.","save":"Создать точку","saved":"Точка сохранена","selectFile":"Выберите файл для просмотра различий","sidebarNotice":"Снимки состояния рабочей области сохраняются автоматически перед каждым крупным действием агента.","snapshots":"Снимки состояния","sub":"Теневые снимки, diff и мгновенный откат для безопасности агента.","tabTitle":"Машина времени","title":"Машина времени (Time Machine)","unavailable":"Настройки недоступны","updaterCheck":"Проверить обновления","updaterChecking":"Проверка...","updaterCurrent":"Текущая версия","updaterFailed":"Сбой проверки обновлений: ","updaterLatest":"Последняя версия","updaterSuccess":"Плагин успешно обновлен! Пожалуйста, перезапустите сервис DSH.","updaterTitle":"Обновление плагина","updaterUpToDate":"Актуальная версия","updaterUpdate":"Обновить сейчас","updaterUpdateNow":"Обновить до v{version}","updaterUpdating":"Обновление...","view":"Просмотр"},"dsh-time-machine":{"allFiles":"Все файлы","autoHeal":"Восстановление промпта при сбое","autoSnapshot":"Автоснимок перед правкой файлов","close":"Закрыть","confirmDelete":"Удалить эту контрольную точку?","confirmRestoreFile":"Восстановить этот файл к состоянию контрольной точки?","confirmRollback":"Откатиться к этой контрольной точке? Это сбросит изменения в рабочей области.","create":"Создать точку сохранения","delete":"Удалить","diff":"Различия","empty":"Контрольных точек пока нет.","fileRestored":"Файл успешно восстановлен.","filesChanged":"Изменённые файлы","guideDesc":"Контрольные точки, визуальные диффы и мгновенный откат рабочей области.","guideTitle":"Машина времени","labelPh":"Название контрольной точки","list":"Хронология","loading":"Загрузка точек сохранения…","maxSnapshots":"Максимум снимков","noDiff":"Нет изменений относительно контрольной точки.","restore":"Восстановить","restoreFile":"Восстановить файл","rollback":"Откат","rollbackSuccess":"Рабочая область успешно восстановлена.","save":"Создать точку","saved":"Точка сохранена","selectFile":"Выберите файл для просмотра различий","sidebarNotice":"Снимки состояния рабочей области сохраняются автоматически перед каждым крупным действием агента.","snapshots":"Снимки состояния","sub":"Теневые снимки, diff и мгновенный откат для безопасности агента.","tabTitle":"Машина времени","title":"Машина времени (Time Machine)","unavailable":"Настройки недоступны","updaterCheck":"Проверить обновления","updaterChecking":"Проверка...","updaterCurrent":"Текущая: v{version}","updaterFailed":"Ошибка обновления: {error}","updaterLatest":"Доступна: v{version}","updaterSuccess":"Обновлено до v{version}! Перезапустите DSH.","updaterTitle":"Обновление плагина","updaterUpToDate":"Актуальная версия","updaterUpdate":"Обновить сейчас","updaterUpdateNow":"Обновить до v{version}","updaterUpdating":"Обновление...","view":"Просмотр"}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"dsh-clinebot":{"accounts.active_badge":"Активен","accounts.add_btn":"Добавить аккаунт","accounts.apiBase":"Базовый URL API","accounts.apiKey":"API-ключ","accounts.cancel":"Отмена","accounts.cooldown":"Охлаждение: {s}с","accounts.delete":"Удалить","accounts.delete_confirm":"Удалить аккаунт «{name}»?","accounts.desc":"Управление учётными записями и API-ключами провайдеров для ClineBot.","accounts.edit":"Редактировать","accounts.empty":"Нет настроенных аккаунтов. Добавьте первый аккаунт выше.","accounts.env_placeholder":"Имя переменной окружения (напр. CLINE_API_KEY)","accounts.label_placeholder":"Название аккаунта (напр. Рабочий)","accounts.model":"Модель по умолчанию","accounts.pin_btn":"Сделать основным","accounts.pinned_badge":"Основной","accounts.provider":"Провайдер","accounts.quota":"Остаток квоты","accounts.rateLimit":"Лимит запросов","accounts.save":"Сохранить аккаунт","accounts.status":"Статус","accounts.title":"Аккаунты ClineBot","badge.key_missing":"Ключ отсутствует","badge.key_ok":"Ключ ✓ ({source})","badge.not_registered":"Не зарегистрирован","badge.offline":"Узел недоступен","badge.online":"Узел онлайн ({latency} мс)","badge.registered":"Зарегистрирован в DSH ({count} моделей)","diag.desc":"ClineBot автоматически регистрируется в моделях DSH при настройке ключа. Вы можете выполнить проверку связи или принудительную синхронизацию.","diag.resync_btn":"Принудительно синхронизировать с DSH","diag.resynced_msg":"Провайдер синхронизирован с моделями DSH ({count} моделей)","diag.resyncing":"Синхронизация…","diag.smoke_btn":"Выполнить экспресс-тест (Ping)","diag.smoke_ok":"Экспресс-тест пройден успешно! Задержка: {latency} мс","diag.smoke_testing":"Тестирование…","diag.title":"⚡ Диагностика и авторегистрация","diag.unregister_btn":"Снять регистрацию в DSH","diag.unregistered_msg":"Провайдер удалён из моделей DSH","diag.unregistering":"Удаление…","header.sub":"Подключение моделей подписки ClinePass ($9.99/мес). Совместимость с OpenAI API, автоматическое отслеживание скользящих лимитов и мгновенная авторегистрация в DSH.","header.title":"Провайдер ClineBot (ClinePass)","key.desc":"Ключ сохраняется непосредственно в хранилище учётных данных DSH (~/.dsh/.credentials.yaml) и никогда не отображается в открытом виде в конфигурациях.","key.empty_err":"Пожалуйста, введите API-ключ перед сохранением","key.env_label":"Имя переменной окружения: ","key.get_key":"Получить ключ в консоли app.cline.bot ↗","key.hide":"Скрыть","key.login_fast":"🚀 Быстрый вход через веб","key.login_fast: ":"🚀 Быстрый вход через веб","key.login_waiting":"Ожидание авторизации в браузере…","key.placeholder_empty":"Вставьте ключ ClinePass (cline_...)","key.placeholder_has":"••••••••••••••••••••••••","key.save":"Сохранить ключ","key.saved_msg":"Ключ сохранён в учётных данных DSH. Валидация: {status}","key.saving":"Сохранение…","key.show":"Показать","key.title":"🔑 Авторизация и API-ключ","models.all":"Все","models.auto_new":"Новинки","models.coding":"Только кодинг","models.desc":"Каталог синхронизируется напрямую с подпиской ClinePass. Модели новых тарифов подключаются автоматически. Снимите выбор, чтобы скрыть модель из выбора в чате DSH.","models.recommended":"Рекомендуемые","models.star":"Избранное","models.sync":"🔄 Проверить модели тарифа","models.synced_msg":"Модели подписки синхронизированы: {total} ({discovered} обнаружено из ClinePass)","models.syncing":"Проверка…","models.th_active":"Вкл","models.th_caps":"Возможности","models.th_ctx":"Контекст","models.th_id":"ID модели","models.th_name":"Имя модели","models.title":"🎯 Выбор моделей в DSH (активно {enabled} из {total})","models.vision":"Только с зрением","profiles.add":"Создать профиль","profiles.contextLimit":"Лимит контекста","profiles.default":"По умолчанию","profiles.delete":"Удалить профиль","profiles.desc":"Готовые наборы настроек, системных инструкций и разрешений.","profiles.maxTokens":"Максимум токенов","profiles.name":"Имя профиля","profiles.prompt":"Системный промпт","profiles.save":"Сохранить профиль","profiles.select":"Выбрать профиль","profiles.temperature":"Температура","profiles.title":"Профили настроек","quota.account":"Аккаунт: {email} · Тариф: {plan}","quota.desc":"Официальные скользящие лимиты запросов от ClinePass","quota.refresh":"Обновить квоты","quota.refreshed_msg":"Квоты подписки обновлены","quota.refreshing":"Обновление…","quota.remaining":"Осталось: {pct}%","quota.reset_at":"Сброс: {time}","quota.title":"📊 Квоты и лимиты запросов ClinePass","quota.used":"Использовано {pct}%","quota.window_5h":"⏱ 5-часовой скользящий лимит","quota.window_weekly":"📅 Еженедельный лимит","settings.advanced":"Дополнительно","settings.autoApprove":"Автоодобрение безопасных действий","settings.autoApproveDesc":"Автоматически выполнять команды чтения и безопасные операции без запроса подтверждения","settings.diffViewer":"Встроенный просмотрщик diff","settings.diffViewerDesc":"Отображать подробные различия кода перед применением правок","settings.general":"Основные","settings.loading":"Загрузка настроек ClineBot…","settings.models":"Модели","settings.retry":"Повторить","settings.saveFailed":"Не удалось сохранить настройки","settings.saved":"Настройки сохранены","settings.saving":"Сохранение…","settings.security":"Безопасность","settings.soundNotifications":"Звуковые уведомления","settings.soundNotificationsDesc":"Воспроизводить сигнал при завершении длительной задачи или ожидании ввода","settings.subtitle":"Интеграция автономного кодинг-ассистента ClineBot в DeepSeek Harness.","settings.telemetry":"Анонимная телеметрия","settings.telemetryDesc":"Отправлять отчёты о сбоях для улучшения стабильности","settings.title":"Настройки ClineBot","settings.unavailable":"Настройки ClineBot временно недоступны","stats.desc":"Локальный мониторинг запросов, сетевой задержки и расхода токенов через ClinePass.","stats.last_req":"Время последнего запроса","stats.latency":"Задержка последнего запроса","stats.requests":"Успешных / Всего запросов","stats.title":"📈 Телеметрия текущей сессии DSH","stats.tokens":"Оценочные токены сессии","status.connecting":"Подключение к ClineBot…","status.disconnected":"Связь с ClineBot отключена","status.error":"Ошибка инициализации ClineBot","status.idle":"Ожидание задачи","status.ready":"ClineBot готов к работе","status.running":"Выполняется задача ClineBot","subtitle":"Автономный агент ClineBot для глубокого рефакторинга и парного программирования","title":"ClineBot","tools.bash":"Выполнение команд терминала","tools.browser":"Управление браузером","tools.desc":"Разрешённые системные инструменты для выполнения задач агентом.","tools.disableAll":"Отключить все","tools.editor":"Умная правка кода","tools.enableAll":"Включить все","tools.fs":"Чтение и запись файлов","tools.mcp":"Внешние MCP-серверы","tools.title":"Инструменты ClineBot","update.btn":"Обновить сейчас","update.checking":"Проверка обновлений…","update.up_to_date":"Актуальная версия","update.updating":"Обновление…"}}
|
|
1
|
+
{"dsh-clinebot":{"accounts.active_badge":"Активен","accounts.add_btn":"Добавить аккаунт","accounts.apiBase":"Базовый URL API","accounts.apiKey":"API-ключ","accounts.cancel":"Отмена","accounts.cooldown":"Охлаждение: {s}с","accounts.delete":"Удалить","accounts.delete_confirm":"Удалить аккаунт «{name}»?","accounts.desc":"Управление учётными записями и API-ключами провайдеров для ClineBot.","accounts.edit":"Редактировать","accounts.empty":"Нет настроенных аккаунтов. Добавьте первый аккаунт выше.","accounts.env_placeholder":"Имя переменной окружения (напр. CLINE_API_KEY)","accounts.label_placeholder":"Название аккаунта (напр. Рабочий)","accounts.model":"Модель по умолчанию","accounts.pin_btn":"Сделать основным","accounts.pinned_badge":"Основной","accounts.provider":"Провайдер","accounts.quota":"Остаток квоты","accounts.rateLimit":"Лимит запросов","accounts.save":"Сохранить аккаунт","accounts.status":"Статус","accounts.title":"Аккаунты ClineBot","badge.key_missing":"Ключ отсутствует","badge.key_ok":"Ключ ✓ ({source})","badge.not_registered":"Не зарегистрирован","badge.offline":"Узел недоступен","badge.online":"Узел онлайн ({latency} мс)","badge.registered":"Зарегистрирован в DSH ({count} моделей)","diag.desc":"ClineBot автоматически регистрируется в моделях DSH при настройке ключа. Вы можете выполнить проверку связи или принудительную синхронизацию.","diag.resync_btn":"Принудительно синхронизировать с DSH","diag.resynced_msg":"Провайдер синхронизирован с моделями DSH ({count} моделей)","diag.resyncing":"Синхронизация…","diag.smoke_btn":"Выполнить экспресс-тест (Ping)","diag.smoke_ok":"Экспресс-тест пройден успешно! Задержка: {latency} мс","diag.smoke_testing":"Тестирование…","diag.title":"⚡ Диагностика и авторегистрация","diag.unregister_btn":"Снять регистрацию в DSH","diag.unregistered_msg":"Провайдер удалён из моделей DSH","diag.unregistering":"Удаление…","header.sub":"Подключение моделей подписки ClinePass ($9.99/мес). Совместимость с OpenAI API, автоматическое отслеживание скользящих лимитов и мгновенная авторегистрация в DSH.","header.title":"Провайдер ClineBot (ClinePass)","key.desc":"Ключ сохраняется непосредственно в хранилище учётных данных DSH (~/.dsh/.credentials.yaml) и никогда не отображается в открытом виде в конфигурациях.","key.empty_err":"Пожалуйста, введите API-ключ перед сохранением","key.env_label":"Имя переменной окружения: ","key.get_key":"Получить ключ в консоли app.cline.bot ↗","key.hide":"Скрыть","key.login_fast":"🚀 Быстрый вход через веб","key.login_fast: ":"🚀 Быстрый вход через веб","key.login_waiting":"Ожидание авторизации в браузере…","key.placeholder_empty":"Вставьте ключ ClinePass (cline_...)","key.placeholder_has":"••••••••••••••••••••••••","key.save":"Сохранить ключ","key.saved_msg":"Ключ сохранён в учётных данных DSH. Валидация: {status}","key.saving":"Сохранение…","key.show":"Показать","key.title":"🔑 Авторизация и API-ключ","models.all":"Все","models.auto_new":"Новинки","models.coding":"Только кодинг","models.desc":"Каталог синхронизируется напрямую с подпиской ClinePass. Модели новых тарифов подключаются автоматически. Снимите выбор, чтобы скрыть модель из выбора в чате DSH.","models.recommended":"Рекомендуемые","models.star":"Избранное","models.sync":"🔄 Проверить модели тарифа","models.synced_msg":"Модели подписки синхронизированы: {total} ({discovered} обнаружено из ClinePass)","models.syncing":"Проверка…","models.th_active":"Вкл","models.th_caps":"Возможности","models.th_ctx":"Контекст","models.th_id":"ID модели","models.th_name":"Имя модели","models.title":"🎯 Выбор моделей в DSH (активно {enabled} из {total})","models.vision":"Только с зрением","profiles.add":"Создать профиль","profiles.contextLimit":"Лимит контекста","profiles.default":"По умолчанию","profiles.delete":"Удалить профиль","profiles.desc":"Готовые наборы настроек, системных инструкций и разрешений.","profiles.maxTokens":"Максимум токенов","profiles.name":"Имя профиля","profiles.prompt":"Системный промпт","profiles.save":"Сохранить профиль","profiles.select":"Выбрать профиль","profiles.temperature":"Температура","profiles.title":"Профили настроек","quota.account":"Аккаунт: {email} · Тариф: {plan}","quota.desc":"Официальные скользящие лимиты запросов от ClinePass","quota.refresh":"Обновить квоты","quota.refreshed_msg":"Квоты подписки обновлены","quota.refreshing":"Обновление…","quota.remaining":"Осталось: {pct}%","quota.reset_at":"Сброс: {time}","quota.title":"📊 Квоты и лимиты запросов ClinePass","quota.used":"Использовано {pct}%","quota.window_5h":"⏱ 5-часовой скользящий лимит","quota.window_weekly":"📅 Еженедельный лимит","settings.advanced":"Дополнительно","settings.autoApprove":"Автоодобрение безопасных действий","settings.autoApproveDesc":"Автоматически выполнять команды чтения и безопасные операции без запроса подтверждения","settings.diffViewer":"Встроенный просмотрщик diff","settings.diffViewerDesc":"Отображать подробные различия кода перед применением правок","settings.general":"Основные","settings.loading":"Загрузка настроек ClineBot…","settings.models":"Модели","settings.retry":"Повторить","settings.saveFailed":"Не удалось сохранить настройки","settings.saved":"Настройки сохранены","settings.saving":"Сохранение…","settings.security":"Безопасность","settings.soundNotifications":"Звуковые уведомления","settings.soundNotificationsDesc":"Воспроизводить сигнал при завершении длительной задачи или ожидании ввода","settings.subtitle":"Интеграция автономного кодинг-ассистента ClineBot в DeepSeek Harness.","settings.telemetry":"Анонимная телеметрия","settings.telemetryDesc":"Отправлять отчёты о сбоях для улучшения стабильности","settings.title":"Настройки ClineBot","settings.unavailable":"Настройки ClineBot временно недоступны","stats.desc":"Локальный мониторинг запросов, сетевой задержки и расхода токенов через ClinePass.","stats.last_req":"Время последнего запроса","stats.latency":"Задержка последнего запроса","stats.requests":"Успешных / Всего запросов","stats.title":"📈 Телеметрия текущей сессии DSH","stats.tokens":"Оценочные токены сессии","status.connecting":"Подключение к ClineBot…","status.disconnected":"Связь с ClineBot отключена","status.error":"Ошибка инициализации ClineBot","status.idle":"Ожидание задачи","status.ready":"ClineBot готов к работе","status.running":"Выполняется задача ClineBot","subtitle":"Автономный агент ClineBot для глубокого рефакторинга и парного программирования","title":"ClineBot","tools.bash":"Выполнение команд терминала","tools.browser":"Управление браузером","tools.desc":"Разрешённые системные инструменты для выполнения задач агентом.","tools.disableAll":"Отключить все","tools.editor":"Умная правка кода","tools.enableAll":"Включить все","tools.fs":"Чтение и запись файлов","tools.mcp":"Внешние MCP-серверы","tools.title":"Инструменты ClineBot","update.available":"Доступно обновление: v{latestVersion} (текущая: v{currentVersion})","update.btn":"Обновить сейчас","update.checking":"Проверка обновлений…","update.done":"Успешно обновлено до v{version}! Перезапустите DSH для применения.","update.failed":"Ошибка обновления: {error}","update.up_to_date":"Актуальная версия","update.updating":"Обновление…"}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"dsh-lanmode":{"activeMdns":"активен","adminAllowLabel":"Подсети с правами администратора (adminAllow)","adminAllowPh":"192.168.1.100, 10.0.0.0/24 (настройки и плагины)","allowLabel":"Разрешённые подсети IP (allow)","allowPh":"192.168.1.0/24, 127.0.0.1 (пусто = разрешить всем)","approvalNotification":"Требуется подтверждение действия","authPasswordLabel":"Пароль администратора (authPassword)","authPasswordPh":"Пароль для входа","authPasswordRefLabel":"Ссылка на секрет пароля (authPasswordRef)","authPasswordRefPh":"DSH_AUTH_PASSWORD или имя секрета в Credentials","authSessionDaysLabel":"Срок действия сессии в днях (authSessionDays)","authUserLabel":"Имя пользователя администратора (authUser)","badge.active":"LAN активен ({ip})","badge.local_only":"Только localhost","bindHostLabel":"Сетевой интерфейс для прослушивания (bindHost)","bindHostPh":"0.0.0.0 (все адаптеры), 192.168.1.x или 127.0.0.1","btn.refresh_ips":"Обновить список IP","btn.regenerate_pin":"Сгенерировать новый PIN","btn.save":"Сохранить настройки LAN","cardError":"⚠️ Ошибка карточки LanMode:","clipboardLabel":"Фолбэк navigator.clipboard.writeText для обычного HTTP","copied":"Скопировано ✔","copyUrl":"Скопировать URL","desktopMode":"Принудительный десктопный режим","desktopModeSub":"Отключает мобильную адаптацию и показывает полный десктопный UI","deviceCurrent":"Текущее устройство","deviceNoDevices":"Подключённых мобильных устройств не обнаружено","deviceRevoke":"Отозвать доступ","deviceRevokeAllConfirm":"Отозвать доступ всем мобильным устройствам, кроме текущего?","deviceRevokeAllOthers":"Отозвать доступ всем остальным","deviceRevokeConfirm":"Вы уверены, что хотите отозвать доступ для этого устройства?","devicesActions":"Действия","devicesIp":"IP-адрес","devicesLastSeen":"Последняя активность","devicesSub":"Список мобильных устройств и браузеров, авторизованных в LAN-режиме","devicesTitle":"Подключённые устройства","devicesUa":"Устройство / Браузер","diagnosticsLabel":"Включить эндпоинты диагностики (/dsh-lanmode/health, /probe)","directPortLabel":"Порт прямого подключения","downloadCa":"Корневой сертификат (.crt)","downloadProfile":"Профиль iOS (.mobileconfig)","err.bind_failed":"Не удалось занять порт {port}: {error}","err.invalid_pin":"Неверный PIN-код","field.bind_address":"Сетевой интерфейс (IP)","field.bind_address_hint":"IP-адрес в локальной сети (обычно 192.168.x.x или 10.x.x.x)","field.https_proxy":"Использовать HTTPS / reverse proxy","field.https_proxy_hint":"Включите, если используете Nginx/Caddy с SSL-сертификатом","field.pin_auth":"Защита PIN-кодом","field.pin_auth_hint":"Требовать 4-значный PIN-код при первом входе с мобильного устройства","field.pin_code":"Установленный PIN-код","field.port":"Порт","field.port_hint":"Порт веб-сервера (по умолчанию 3000)","field.token_ttl":"Срок действия сессии (часы)","field.token_ttl_hint":"Время хранения авторизации на мобильном устройстве","guestAllowLabel":"Подсети с гостевым доступом (guestAllow)","guestAllowPh":"192.168.2.0/24 (только чат, настройки заблокированы)","header.sub":"Удобный доступ к DeepSeek Harness из локальной сети Wi-Fi/LAN с мобильных устройств","header.title":"Локальный доступ (LAN Mode)","healthLink":"Открыть страницу диагностики (/dsh-lanmode/health) ↗","interfacesLabel":"Сетевой адаптер:","lanPinRefLabel":"Ссылка на секрет LAN PIN","lanPinRefPh":"LAN_PIN или имя секрета в Credentials","logout":"Выйти из системы","logoutConfirm":"Вы уверены, что хотите выйти из DSH?","mdnsAnnounceLabel":"Анонсировать домен через mDNS (Zeroconf / Bonjour)","mdnsNameLabel":"Имя домена mDNS (mdnsName)","mdnsNamePh":"dsh.local (обязательно оканчивается на .local)","mobileEnterLabel":"Клавиша Enter отправляет сообщение на сенсорной клавиатуре","modal.close":"Закрыть","modal.qr_sub":"Убедитесь, что смартфон подключен к той же Wi-Fi сети","modal.qr_title":"Сканируйте для подключения","modal.url_label":"Адрес для браузера:","modeAuto":"auto (автоопределение интерфейса)","modeDirect":"direct (прямое подключение)","modeLabel":"Режим локального доступа (mode)","modeLan":"lan (только локальная сеть)","modeLoopback":"loopback (только локальный компьютер)","modeProxy":"proxy (через реверс-прокси Nginx/Caddy)","ms":"мс","msg.pin_changed":"Новый PIN-код установлен: {pin}","msg.saved":"Параметры LAN-доступа сохранены","notifDenied":"Заблокированы пользователем","notifEnable":"Включить уведомления","notifGranted":"Разрешены ✔","notifStatus":"Статус уведомлений в браузере:","openQr":"Открыть QR-код","passwordAuthLabel":"Требовать обязательную авторизацию по логину и паролю","phoneConnected":"📱 Готов к работе со смартфона","portLabel":"Порт веб-сервера (port)","portPh":"По умолчанию 3000 (оставьте пустым для авто)","privilegedExtraLabel":"Дополнительные доверенные IP","privilegedExtraPh":"192.168.1.50, 10.0.0.5","pwaLabel":"Внедрять манифест PWA и мобильные мета-теги viewport","quickConnect":"Быстрое подключение со смартфона или планшета","quickQrTitle":"📱 Вход с мобильного устройства","randomUuidLabel":"Полифил crypto.randomUUID для обычного HTTP","retry":"Повторить","rttLabel":"Пинг","saveError":"Ошибка сохранения настроек: ","saveSettings":"Сохранить настройки LAN","saveSuccess":"Настройки успешно сохранены ✔","saving":"Сохранение…","secAccess":"Политика авторизации и LAN PIN","secAccessDesc":"Требование ввода PIN-кода для новых устройств в локальной сети","secAuth":"Аутентификация и защита входа","secAuthDesc":"Защита DSH логином и паролем для многопользовательских сетей","secMobile":"Мобильный интерфейс, mDNS и PWA","secMobileDesc":"Локальное обнаружение, мобильные жесты и веб-приложение (PWA)","secNetwork":"Сетевые интерфейсы и привязка портов","secNetworkDesc":"Настройка локальных сетевых адаптеров, портов и режимов привязки","secPolyfills":"Полифилы браузерных Web API (HTTP Shims)","secPolyfillsDesc":"Восстанавливает работу ограниченных API браузера на незащищённом HTTP","secRouting":"Маршрутизация и проксирование","secRoutingDesc":"Параметры прямого доступа и проксирования запросов локальной сети","secSecurity":"Безопасность и фильтрация IP","secSecurityDesc":"Разграничение прав по подсетям и контроль привилегированных действий","secTls":"Безопасное соединение (TLS / SSL)","secTlsDesc":"Шифрование трафика для работы аудио/видео и PWA на мобильных устройствах","secTunnel":"Удалённый доступ (Cloudflare Tunnel)","secTunnelDesc":"Безопасный доступ из интернета без белого IP и проброса портов","section.network":"Сетевые интерфейсы и адреса","section.network_desc":"Выберите сетевой адаптер для трансляции интерфейса в локальную сеть","section.qr":"Подключение по QR-коду","section.qr_desc":"Отсканируйте код камерой смартфона для мгновенного перехода в чат DSH","section.security":"Безопасность и пароли доступа","section.security_desc":"Защита входа в LAN-режиме с помощью PIN-кода или токена сессии","shareUrl":"Поделиться ↗","stat.connected_devices":"Подключено устройств","stat.last_device":"Последнее устройство","stat.traffic":"LAN трафик","status.listening":"Слушает на http://{ip}:{port}","status.stopped":"Остановлен","streamTimeoutLabel":"Таймаут стриминга ответов (сек)","streamTimeoutPh":"По умолчанию 120","sub":"mDNS (dsh.local), полифилы Web API, TLS для микрофона и PWA","subtitle":"Доступ по локальной сети и управление подключением","telemetryConns":"Активных WebSocket-соединений","telemetryRecv":"Принято данных","telemetryRtt":"Сетевая задержка (RTT)","telemetrySent":"Передано данных","telemetryTitle":"Телеметрия локальной сети","title":"Локальный и мобильный доступ (dsh-lanmode)","tlsCertLabel":"Путь к файлу сертификата (.crt)","tlsFiles":"files (пользовательские файлы сертификата и ключа)","tlsHostsLabel":"Домены и IP в сертификате","tlsHostsPh":"dsh.local, 192.168.1.111","tlsKeyLabel":"Путь к файлу закрытого ключа (.key)","tlsModeLabel":"Режим TLS","tlsOff":"off (обычный незашифрованный HTTP)","tlsSelfSigned":"self-signed (автоматический самоподписанный сертификат)","toolPrefix":"Инструмент: ","tunnelModeLabel":"Режим туннеля (tunnel)","tunnelNamed":"named (постоянный туннель по токену)","tunnelOff":"off (выключен)","tunnelPinLabel":"Требовать LAN PIN при входе через WAN-туннель Cloudflare","tunnelQuick":"quick (быстрый временный trycloudflare.com)","tunnelTokenRefLabel":"Ссылка на токен туннеля (tunnelTokenRef)","tunnelTokenRefPh":"CF_TUNNEL_TOKEN или имя секрета в Credentials","turnEndNotification":"Ассистент завершил ответ","unblockSettingsLabel":"Разблокировать ограничение настроек для loopback","unlockPrivilegedLabel":"Разрешить привилегированные вызовы (настройки, ключи) из LAN"}}
|
|
1
|
+
{"dsh-lanmode":{"activeMdns":"активен","adminAllowLabel":"Подсети с правами администратора (adminAllow)","adminAllowPh":"192.168.1.100, 10.0.0.0/24 (настройки и плагины)","allowLabel":"Разрешённые подсети IP (allow)","allowPh":"192.168.1.0/24, 127.0.0.1 (пусто = разрешить всем)","approvalNotification":"Требуется подтверждение действия","authPasswordLabel":"Пароль администратора (authPassword)","authPasswordPh":"Пароль для входа","authPasswordRefLabel":"Ссылка на секрет пароля (authPasswordRef)","authPasswordRefPh":"DSH_AUTH_PASSWORD или имя секрета в Credentials","authSessionDaysLabel":"Срок действия сессии в днях (authSessionDays)","authUserLabel":"Имя пользователя администратора (authUser)","badge.active":"LAN активен ({ip})","badge.local_only":"Только localhost","bindHostLabel":"Сетевой интерфейс для прослушивания (bindHost)","bindHostPh":"0.0.0.0 (все адаптеры), 192.168.1.x или 127.0.0.1","btn.refresh_ips":"Обновить список IP","btn.regenerate_pin":"Сгенерировать новый PIN","btn.save":"Сохранить настройки LAN","cardError":"⚠️ Ошибка карточки LanMode:","clipboardLabel":"Фолбэк navigator.clipboard.writeText для обычного HTTP","copied":"Скопировано ✔","copyUrl":"Скопировать URL","desktopMode":"Принудительный десктопный режим","desktopModeSub":"Отключает мобильную адаптацию и показывает полный десктопный UI","deviceCurrent":"Текущее устройство","deviceNicknamePrompt":"Введите псевдоним устройства:","deviceNoDevices":"Подключённых мобильных устройств не обнаружено","devicePlatformAndroid":"Android","devicePlatformIos":"iOS","devicePlatformLinux":"Linux","devicePlatformMacos":"macOS","devicePlatformWindows":"Windows","deviceRevoke":"Отозвать доступ","deviceRevokeAllConfirm":"Отозвать доступ всем мобильным устройствам, кроме текущего?","deviceRevokeAllOthers":"Отозвать доступ всем остальным","deviceRevokeConfirm":"Вы уверены, что хотите отозвать доступ для этого устройства?","deviceSetNickname":"Задать псевдоним","devicesActions":"Действия","devicesIp":"IP-адрес","devicesLastSeen":"Последняя активность","devicesSub":"Список мобильных устройств и браузеров, авторизованных в LAN-режиме","devicesTitle":"Подключённые устройства","devicesUa":"Устройство / Браузер","diagnosticsLabel":"Включить эндпоинты диагностики (/dsh-lanmode/health, /probe)","directPortLabel":"Порт прямого подключения","downloadCa":"Корневой сертификат (.crt)","downloadProfile":"Профиль iOS (.mobileconfig)","err.bind_failed":"Не удалось занять порт {port}: {error}","err.invalid_pin":"Неверный PIN-код","field.bind_address":"Сетевой интерфейс (IP)","field.bind_address_hint":"IP-адрес в локальной сети (обычно 192.168.x.x или 10.x.x.x)","field.https_proxy":"Использовать HTTPS / reverse proxy","field.https_proxy_hint":"Включите, если используете Nginx/Caddy с SSL-сертификатом","field.pin_auth":"Защита PIN-кодом","field.pin_auth_hint":"Требовать 4-значный PIN-код при первом входе с мобильного устройства","field.pin_code":"Установленный PIN-код","field.port":"Порт","field.port_hint":"Порт веб-сервера (по умолчанию 3000)","field.token_ttl":"Срок действия сессии (часы)","field.token_ttl_hint":"Время хранения авторизации на мобильном устройстве","guestAllowLabel":"Подсети с гостевым доступом (guestAllow)","guestAllowPh":"192.168.2.0/24 (только чат, настройки заблокированы)","header.sub":"Удобный доступ к DeepSeek Harness из локальной сети Wi-Fi/LAN с мобильных устройств","header.title":"Локальный доступ (LAN Mode)","healthLink":"Открыть страницу диагностики (/dsh-lanmode/health) ↗","interfacesLabel":"Сетевой адаптер:","lanPinRefLabel":"Ссылка на секрет LAN PIN","lanPinRefPh":"LAN_PIN или имя секрета в Credentials","logout":"Выйти из системы","logoutConfirm":"Вы уверены, что хотите выйти из DSH?","mdnsAnnounceLabel":"Анонсировать домен через mDNS (Zeroconf / Bonjour)","mdnsNameLabel":"Имя домена mDNS (mdnsName)","mdnsNamePh":"dsh.local (обязательно оканчивается на .local)","mobileEnterLabel":"Клавиша Enter отправляет сообщение на сенсорной клавиатуре","modal.close":"Закрыть","modal.qr_sub":"Убедитесь, что смартфон подключен к той же Wi-Fi сети","modal.qr_title":"Сканируйте для подключения","modal.url_label":"Адрес для браузера:","modeAuto":"auto (автоопределение интерфейса)","modeDirect":"direct (прямое подключение)","modeLabel":"Режим локального доступа (mode)","modeLan":"lan (только локальная сеть)","modeLoopback":"loopback (только локальный компьютер)","modeProxy":"proxy (через реверс-прокси Nginx/Caddy)","ms":"мс","msg.pin_changed":"Новый PIN-код установлен: {pin}","msg.saved":"Параметры LAN-доступа сохранены","notifDenied":"Заблокированы пользователем","notifEnable":"Включить уведомления","notifGranted":"Разрешены ✔","notifStatus":"Статус уведомлений в браузере:","openQr":"Открыть QR-код","passwordAuthLabel":"Требовать обязательную авторизацию по логину и паролю","phoneConnected":"📱 Готов к работе со смартфона","portLabel":"Порт веб-сервера (port)","portPh":"По умолчанию 3000 (оставьте пустым для авто)","privilegedExtraLabel":"Дополнительные доверенные IP","privilegedExtraPh":"192.168.1.50, 10.0.0.5","pwaLabel":"Внедрять манифест PWA и мобильные мета-теги viewport","quickConnect":"Быстрое подключение со смартфона или планшета","quickQrTitle":"📱 Вход с мобильного устройства","randomUuidLabel":"Полифил crypto.randomUUID для обычного HTTP","retry":"Повторить","rttLabel":"Пинг","saveError":"Ошибка сохранения настроек: ","saveSettings":"Сохранить настройки LAN","saveSuccess":"Настройки успешно сохранены ✔","saving":"Сохранение…","secAccess":"Политика авторизации и LAN PIN","secAccessDesc":"Требование ввода PIN-кода для новых устройств в локальной сети","secAuth":"Аутентификация и защита входа","secAuthDesc":"Защита DSH логином и паролем для многопользовательских сетей","secMobile":"Мобильный интерфейс, mDNS и PWA","secMobileDesc":"Локальное обнаружение, мобильные жесты и веб-приложение (PWA)","secNetwork":"Сетевые интерфейсы и привязка портов","secNetworkDesc":"Настройка локальных сетевых адаптеров, портов и режимов привязки","secPolyfills":"Полифилы браузерных Web API (HTTP Shims)","secPolyfillsDesc":"Восстанавливает работу ограниченных API браузера на незащищённом HTTP","secRouting":"Маршрутизация и проксирование","secRoutingDesc":"Параметры прямого доступа и проксирования запросов локальной сети","secSecurity":"Безопасность и фильтрация IP","secSecurityDesc":"Разграничение прав по подсетям и контроль привилегированных действий","secTls":"Безопасное соединение (TLS / SSL)","secTlsDesc":"Шифрование трафика для работы аудио/видео и PWA на мобильных устройствах","secTunnel":"Удалённый доступ (Cloudflare Tunnel)","secTunnelDesc":"Безопасный доступ из интернета без белого IP и проброса портов","section.network":"Сетевые интерфейсы и адреса","section.network_desc":"Выберите сетевой адаптер для трансляции интерфейса в локальную сеть","section.qr":"Подключение по QR-коду","section.qr_desc":"Отсканируйте код камерой смартфона для мгновенного перехода в чат DSH","section.security":"Безопасность и пароли доступа","section.security_desc":"Защита входа в LAN-режиме с помощью PIN-кода или токена сессии","settingsUnavailable":"Сервис настроек недоступен или не готов","shareUrl":"Поделиться ↗","stat.connected_devices":"Подключено устройств","stat.last_device":"Последнее устройство","stat.traffic":"LAN трафик","status.listening":"Слушает на http://{ip}:{port}","status.stopped":"Остановлен","streamTimeoutLabel":"Таймаут стриминга ответов (сек)","streamTimeoutPh":"По умолчанию 120","sub":"mDNS (dsh.local), полифилы Web API, TLS для микрофона и PWA","subtitle":"Доступ по локальной сети и управление подключением","telemetryConns":"Активных WebSocket-соединений","telemetryRecv":"Принято данных","telemetryRtt":"Сетевая задержка (RTT)","telemetrySent":"Передано данных","telemetryTitle":"Телеметрия локальной сети","title":"Локальный и мобильный доступ (dsh-lanmode)","tlsCertLabel":"Путь к файлу сертификата (.crt)","tlsFiles":"files (пользовательские файлы сертификата и ключа)","tlsHostsLabel":"Домены и IP в сертификате","tlsHostsPh":"dsh.local, 192.168.1.111","tlsKeyLabel":"Путь к файлу закрытого ключа (.key)","tlsModeLabel":"Режим TLS","tlsOff":"off (обычный незашифрованный HTTP)","tlsSelfSigned":"self-signed (автоматический самоподписанный сертификат)","toolPrefix":"Инструмент: ","tunnelModeLabel":"Режим туннеля (tunnel)","tunnelNamed":"named (постоянный туннель по токену)","tunnelOff":"off (выключен)","tunnelPinLabel":"Требовать LAN PIN при входе через WAN-туннель Cloudflare","tunnelQuick":"quick (быстрый временный trycloudflare.com)","tunnelTokenRefLabel":"Ссылка на токен туннеля (tunnelTokenRef)","tunnelTokenRefPh":"CF_TUNNEL_TOKEN или имя секрета в Credentials","turnEndNotification":"Ассистент завершил ответ","unblockSettingsLabel":"Разблокировать ограничение настроек для loopback","unlockPrivilegedLabel":"Разрешить привилегированные вызовы (настройки, ключи) из LAN","updaterCheckBtn":"Проверить обновления","updaterChecking":"Проверка…","updaterCurrentVersion":"Текущая версия:","updaterDesc":"Проверка и обновление @goodandready/dsh-lanmode до актуального релиза","updaterError":"Сбой проверки/установки обновления: ","updaterLatestVersion":"Последняя версия:","updaterRestartNote":"Перезапустите dsh-web (или процесс хоста DSH) для активации.","updaterSuccess":"Успешно обновлено! Перезапустите DSH для применения.","updaterTitle":"Обновления плагина","updaterUpToDate":"Актуальная версия ✔","updaterUpdateAvailable":"Доступно обновление!","updaterUpdateBtn":"Обновить сейчас","updaterUpdating":"Обновление…"}}
|