@goodandready/dsh-russian-lang 0.2.25 → 0.3.0
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 +9 -9
- package/README.ru.md +9 -9
- package/lib/client.js +130 -22
- package/lib/locales/plugins/01-token-dashboard.json +1 -1
- package/lib/locales/plugins/10-kanban.json +1 -1
- package/lib/locales/plugins/13-agent-teams.json +1 -1
- package/lib/locales/plugins/16-usage-stats.json +1 -1
- package/lib/locales/plugins/23-moa.json +1 -1
- package/lib/locales/plugins/24-personal-directive.json +1 -1
- package/lib/locales/plugins/33-messenger-gateway.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/38-context-lens.json +1 -1
- package/lib/locales/plugins/39-shadow-auditor.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/46-memory-brain.json +1 -1
- package/lib/locales/plugins/49-dsml-guard.json +1 -1
- package/lib/locales/plugins/49-usage-guard.json +1 -1
- package/lib/locales/plugins/50-automode.json +1 -1
- package/lib/locales/plugins/54-workshop-market.json +1 -1
- package/lib/locales/plugins/57-live-canvas.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/62-model-search.json +1 -1
- package/lib/locales/plugins/63-agent-orchestrator.json +1 -1
- package/lib/locales/plugins/64-key-limits.json +1 -1
- package/lib/locales/plugins/66-tts.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/69-plugin-notify.json +1 -1
- package/lib/locales/plugins/71-memory-meter.json +1 -1
- package/lib/locales/plugins/75-test-pilot.json +1 -0
- package/lib/locales/plugins/76-visualize.json +1 -0
- package/package.json +3 -3
- package/lib/locales/plugins/44-goal.json +0 -1
|
@@ -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}","catalogUnavailable":"Каталог OpenRouter недоступен: ","chipRate":"тариф","chipUnknown":"тариф ?","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.","modal.close":"Закрыть","modal.title":"Тарифы и стоимость моделей","modelNotFound":"Модель не найдена в каталоге OpenRouter. Задайте цены вручную в настройках или сопоставьте модель через modelMap.","models.show_less":"Свернуть","models.show_more":"Показать все модели ({count})","modelsBreakdown":"Детализация по моделям","noPriceSpecified":"тариф не указан","noUsageYet":"Провайдер ещё не передал данные об использовании для этой сессии.","offPeak":"ночь","offpeak":"ночной тариф","peak":"пик","rate.cache_hit":"Вход (попадание в кэш)","rate.cache_write":"Вход (запись в кэш)","rate.custom":"Пользовательский","rate.default":"По умолчанию","rate.input":"Вход: {price} / 1M токенов","rate.output":"Выход: {price} / 1M токенов","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":"
|
|
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":"Вход: {price} / 1M токенов","rate.offPeak":"непиковый","rate.output":"Выход: {price} / 1M токенов","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":"Текущая: v{version}","updaterFailed":"Ошибка обновления: {error}","updaterLatest":"Доступна: v{version}","updaterSuccess":"Обновлено до v{version}! Перезапустите DSH.","updaterTitle":"Обновление плагина","updaterUpToDate":"Актуальная версия","updaterUpdate":"Обновить сейчас","updaterUpdateNow":"Обновить до v{version}","updaterUpdating":"Обновление...","view":"Просмотр"}}
|
|
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":"Текущая: v{version}","updaterFailed":"Ошибка обновления: {error}","updaterLatest":"Доступна: v{version}","updaterSuccess":"Обновлено до v{version}! Перезапустите 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
|
-
{"@goodandready/dsh-context-lens":{"active":"Активно","autoCollapse":"Автосворачивание логов","budget":"Бюджет","budgetAlertPercent":"Порог предупреждения о бюджете (%)","clearFocus":"Очистить фокус","compress":"Сжать","depth":"Макс. глубина AST","focusPaths":"Активный фокус","history":"Недавние операции","lowBudget":"Бюджет почти исчерпан","lowBudgetBadge":"Низкий бюджет","mode":"Режим сжатия","noData":"Нет данных","noFocus":"Пути фокуса не заданы","ops":"Операции","placeholder":"Вставьте лог Jest/Pytest сюда…","preview":"Предпросмотр лога","previewApprox":"Предпросмотр на сервере","ready":"Готово","readyState":"Готов к сжатию","refresh":"Обновить","saved":"Сохранено","saving":"Сохранение…","stats":"Статистика","sub":"Сжатие AST, фильтрация логов, бюджет токенов","threshold":"Порог автосжатия (символов)","title":"Context Lens & Token Guard","tokens":"Токены","total":"Всего","tracking":"Отслеживание экономии токенов","trimmed":"Обрезано","viewLog":"Просмотреть лог"}}
|
|
1
|
+
{"@goodandready/dsh-context-lens":{"active":"Активно","autoCollapse":"Автосворачивание логов","budget":"Бюджет","budgetAlertPercent":"Порог предупреждения о бюджете (%)","clearFocus":"Очистить фокус","compress":"Сжать","depth":"Макс. глубина AST","focusPaths":"Активный фокус","history":"Недавние операции","lowBudget":"Бюджет почти исчерпан","lowBudgetBadge":"Низкий бюджет","mode":"Режим сжатия","noData":"Нет данных","noFocus":"Пути фокуса не заданы","ops":"Операции","placeholder":"Вставьте лог Jest/Pytest сюда…","preview":"Предпросмотр лога","previewApprox":"Предпросмотр на сервере","ready":"Готово","readyState":"Готов к сжатию","refresh":"Обновить","saved":"Сохранено","saving":"Сохранение…","stats":"Статистика","sub":"Сжатие AST, фильтрация логов, бюджет токенов","threshold":"Порог автосжатия (символов)","title":"Context Lens & Token Guard","tokens":"Токены","total":"Всего","tracking":"Отслеживание экономии токенов","trimmed":"Обрезано","update.available":"Доступно обновление: v{latestVersion} (текущая: v{currentVersion})","update.btn":"Обновить сейчас","update.checking":"Проверка обновлений…","update.done":"Успешно обновлено до v{version}! Пожалуйста, перезапустите DSH.","update.failed":"Ошибка обновления: {error}","update.up_to_date":"Установлена актуальная версия","update.updating":"Обновление…","viewLog":"Просмотреть лог"},"dsh-context-lens":{"active":"Активно","activeFocus":"Активный фокус","budget":"Бюджет","noFocus":"Пути фокусировки не заданы","ops":"операций","pctSaved":"% экономии","savedTokens":"Сэкономлено токенов","title":"Линза контекста","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-shadow-auditor":{"action.export_bill":"Экспорт отчёта (MD)","action.export_json":"Экспорт в JSON","auditBadge":"Аудит команд","auditBadgeDesc":"Отображать бейдж безопасности в заголовке сессии","blockCommands":"Блокировать опасные команды","blockCommandsDesc":"Проверяет --force, rm -rf, systemctl, удаление БД, curl|bash","customBlockedCommands":"Шаблоны блокируемых команд","customBlockedCommandsDesc":"Регулярные выражения или подстроки команд для запрета (по одному шаблону в строке).","diffGate.block":"Блокировка (Строгая)","diffGate.disabled":"Отключено","diffGate.warning":"Предупреждение (Аудит)","diffGateMode":"Политика контроля изменений (Diff Gate)","diffGateModeDesc":"Политика барьера одобрения diff: предупреждение или блокировка при высоком и критическом уровне риска","diffInspector.remediation":"Рекомендуемое безопасное действие: ","diffInspector.title":"Активное срабатывание Diff Gate: ","enableAuditLog":"Включить журнал аудита","enableAuditLogDesc":"Записывать все выполненные агентом shell-команды в локальный файл журнала","enablePromptInjection":"Сканер внедрения промптов","enablePromptInjectionDesc":"Сканирование diff-изменений на попытки переопределения системного промпта и джейлбрейка","enableSast":"Небезопасные паттерны кода (SAST)","enableSastDesc":"Проверка diff-изменений на SQL-инъекции, командные инъекции, path traversal и вызовы eval()","feed.blocked":"ЗАБЛОКИРОВАНО","feed.empty":"Журнал аудита для этого фильтра пуст.","feed.refresh":"Обновить","filter.all":"Все","filter.diff_gate":"Diff Gate","filter.guard":"Shell Guard","filter.high_risk":"Высокий риск","header.sub":"Аудит безопасности в реальном времени, защита от утечки секретов, перехват деструктивных команд и гейтинг diff-изменений.","lastAudit":"Последний аудит","loading":"Загрузка…","maxFileSizeMb":"Макс. размер файла лога (МБ)","maxFileSizeMbDesc":"Размер, при котором выполняется ротация файла аудита","retentionDays":"Срок хранения логов (дней)","retentionDaysDesc":"Удалять записи аудита старше указанного количества дней","save":"Сохранить","saved":"Сохранено","saving":"Сохранение…","sec.audit_log_desc":"Постоянный журнал телеметрии JSONL с автоматической gzip-ротацией и политикой хранения.","sec.audit_log_title":"Журнал аудита и хранение","sec.diff_gate_desc":"Многофакторный предварительный анализ изменений исходного кода, уязвимостей SAST и попыток внедрения промптов.","sec.diff_gate_title":"Контроль изменений кода и SAST","sec.feed_desc":"Живой журнал вызовов инструментов, перехватов защитника и оценки рисков с фильтрацией угроз.","sec.feed_title":"Недавние перехваты и журнал аудита","sec.file_integrity_desc":"Защита от несанкционированного чтения или изменения критических учётных данных, конфигураций и якорей.","sec.file_integrity_title":"Контроль целостности файлов и чувствительных путей","sec.guards_desc":"Упреждающая проверка границ для перехвата опасных системных операций до выполнения команды.","sec.guards_title":"Безопасность выполнения и гарды","sensitivePathPatterns":"Шаблоны чувствительных путей","sensitivePathPatternsDesc":"Отслеживаемые маски файлов или регулярные выражения (по одному в строке, напр. .env*, *credentials*, id_rsa, settings.yaml).","shellGuard.audit_only":"Только аудит (Audit Only: логирование)","shellGuard.enforce":"Блокировка (Enforce: запрет выполнения)","shellGuardMode":"Политика Shell Guard","shellGuardModeDesc":"Режим Enforce блокирует опасные команды; Audit Only только логирует предупреждения без блокировки.","shield.green":"Безопасно","shield.red":"Тревога","shield.yellow":"Внимание","strictSecrets":"Строгое сканирование секретов","strictSecretsDesc":"Блокировать при наличии API-ключей или приватных токенов в diff","subtitle":"Безопасность секретов и команд","title":"Аудитор безопасности (Shadow Auditor)","unavailable":"Настройки аудитора временно недоступны","unlocked":"Разблокировано"}}
|
|
1
|
+
{"@goodandready/dsh-shadow-auditor":{"action.export_bill":"Экспорт отчёта (MD)","action.export_json":"Экспорт в JSON","auditBadge":"Аудит команд","auditBadgeDesc":"Отображать бейдж безопасности в заголовке сессии","blockCommands":"Блокировать опасные команды","blockCommandsDesc":"Проверяет --force, rm -rf, systemctl, удаление БД, curl|bash","customBlockedCommands":"Шаблоны блокируемых команд","customBlockedCommandsDesc":"Регулярные выражения или подстроки команд для запрета (по одному шаблону в строке).","diffGate.block":"Блокировка (Строгая)","diffGate.disabled":"Отключено","diffGate.warning":"Предупреждение (Аудит)","diffGateMode":"Политика контроля изменений (Diff Gate)","diffGateModeDesc":"Политика барьера одобрения diff: предупреждение или блокировка при высоком и критическом уровне риска","diffInspector.remediation":"Рекомендуемое безопасное действие: ","diffInspector.title":"Активное срабатывание Diff Gate: ","enableAuditLog":"Включить журнал аудита","enableAuditLogDesc":"Записывать все выполненные агентом shell-команды в локальный файл журнала","enablePromptInjection":"Сканер внедрения промптов","enablePromptInjectionDesc":"Сканирование diff-изменений на попытки переопределения системного промпта и джейлбрейка","enableSast":"Небезопасные паттерны кода (SAST)","enableSastDesc":"Проверка diff-изменений на SQL-инъекции, командные инъекции, path traversal и вызовы eval()","feed.blocked":"ЗАБЛОКИРОВАНО","feed.empty":"Журнал аудита для этого фильтра пуст.","feed.refresh":"Обновить","filter.all":"Все","filter.diff_gate":"Diff Gate","filter.guard":"Shell Guard","filter.high_risk":"Высокий риск","header.sub":"Аудит безопасности в реальном времени, защита от утечки секретов, перехват деструктивных команд и гейтинг diff-изменений.","lastAudit":"Последний аудит","loading":"Загрузка…","maxFileSizeMb":"Макс. размер файла лога (МБ)","maxFileSizeMbDesc":"Размер, при котором выполняется ротация файла аудита","retentionDays":"Срок хранения логов (дней)","retentionDaysDesc":"Удалять записи аудита старше указанного количества дней","save":"Сохранить","saved":"Сохранено","saving":"Сохранение…","score.consecutiveHigh":"Повторный вызов с высоким риском (+{bonus})","score.credentialRead":"Обращение к файлу ключей/паролей","score.dependencyInstall":"Установка зависимостей пакетов","score.destructive":"Деструктивное удаление файлов/директорий","score.expensive":"Выполнение удалённого пакета на лету (npx/dlx)","score.heavyBuild":"Тяжёлая задача сборки/компиляции","score.networkEgress":"Команда сетевого взаимодействия","score.outsideWorkspace":"Установка небезопасных прав доступа (chmod 777)","score.repeatedTag":"Тег {tag} часто повторяется за 10 минут (+{bonus})","score.routine":"Штатная операция","score.sudo":"Повышение привилегий через sudo","sec.audit_log_desc":"Постоянный журнал телеметрии JSONL с автоматической gzip-ротацией и политикой хранения.","sec.audit_log_title":"Журнал аудита и хранение","sec.diff_gate_desc":"Многофакторный предварительный анализ изменений исходного кода, уязвимостей SAST и попыток внедрения промптов.","sec.diff_gate_title":"Контроль изменений кода и SAST","sec.feed_desc":"Живой журнал вызовов инструментов, перехватов защитника и оценки рисков с фильтрацией угроз.","sec.feed_title":"Недавние перехваты и журнал аудита","sec.file_integrity_desc":"Защита от несанкционированного чтения или изменения критических учётных данных, конфигураций и якорей.","sec.file_integrity_title":"Контроль целостности файлов и чувствительных путей","sec.guards_desc":"Упреждающая проверка границ для перехвата опасных системных операций до выполнения команды.","sec.guards_title":"Безопасность выполнения и гарды","sensitivePathPatterns":"Шаблоны чувствительных путей","sensitivePathPatternsDesc":"Отслеживаемые маски файлов или регулярные выражения (по одному в строке, напр. .env*, *credentials*, id_rsa, settings.yaml).","shellGuard.audit_only":"Только аудит (Audit Only: логирование)","shellGuard.enforce":"Блокировка (Enforce: запрет выполнения)","shellGuardMode":"Политика Shell Guard","shellGuardModeDesc":"Режим Enforce блокирует опасные команды; Audit Only только логирует предупреждения без блокировки.","shield.green":"Безопасно","shield.red":"Тревога","shield.yellow":"Внимание","strictSecrets":"Строгое сканирование секретов","strictSecretsDesc":"Блокировать при наличии API-ключей или приватных токенов в diff","subtitle":"Безопасность секретов и команд","title":"Аудитор безопасности (Shadow Auditor)","unavailable":"Настройки аудитора временно недоступны","unlocked":"Разблокировано","update.available":"Доступно обновление: v{latestVersion} (текущая: v{currentVersion})","update.btn":"Обновить сейчас","update.checking":"Проверка обновлений…","update.done":"Успешно обновлено до v{version}! Пожалуйста, перезапустите DSH.","update.failed":"Ошибка обновления: {error}","update.up_to_date":"Установлена актуальная версия","update.updating":"Обновление…"},"dsh-shadow-auditor":{"score.consecutiveHigh":"Повторный вызов с высоким риском (+{bonus})","score.credentialRead":"Обращение к файлу ключей/паролей","score.dependencyInstall":"Установка зависимостей пакетов","score.destructive":"Деструктивное удаление файлов/директорий","score.expensive":"Выполнение удалённого пакета на лету (npx/dlx)","score.heavyBuild":"Тяжёлая задача сборки/компиляции","score.networkEgress":"Команда сетевого взаимодействия","score.outsideWorkspace":"Установка небезопасных прав доступа (chmod 777)","score.repeatedTag":"Тег {tag} часто повторяется за 10 минут (+{bonus})","score.routine":"Штатная операция","score.sudo":"Повышение привилегий через sudo","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-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"}}
|
|
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 +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","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":"Текущее устройство","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"}}
|