@goodandready/dsh-russian-lang 0.3.1 → 0.3.4
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/lib/client.js +2713 -2423
- package/lib/index.js +23 -5
- package/lib/locales/core.json +1 -1
- package/lib/locales/plugins/03-dshmarket.json +1 -1
- package/lib/locales/plugins/10-kanban.json +1 -1
- package/lib/locales/plugins/15-commandcode.json +1 -1
- package/lib/locales/plugins/17-dsh-context.json +1 -1
- package/lib/locales/plugins/20-skill-explorer.json +1 -1
- package/lib/locales/plugins/26-config-manager.json +1 -1
- package/lib/locales/plugins/27-config-manager-sync.json +1 -1
- package/lib/locales/plugins/28-config-manager-market.json +1 -1
- package/lib/locales/plugins/29-config-manager-recovery.json +1 -1
- package/lib/locales/plugins/30-config-manager-history.json +1 -1
- package/lib/locales/plugins/32-vision-bridge.json +1 -1
- package/lib/locales/plugins/34-key-rotation.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/42-plugin-console.json +1 -1
- package/lib/locales/plugins/49-dsml-guard.json +1 -1
- package/lib/locales/plugins/77-github-ops.json +1 -1
- package/lib/locales/plugins/78-web-gateway.json +1 -1
- 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/pure.js +57 -3
- package/lib/translator.js +55 -0
- package/package.json +3 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"commandcode":{"accountSeparator":"────────────────────","accountTitle":"📊 {label}{badges}","activeBadge":" ✅ активен","barLine":" └ {bar} {pct}%","blockedInvalidKey":"⛔ API-ключ недействителен или истёк — сервер отклонил запросы (401); проверьте ключ аккаунта","blockedNetwork":"⚠️ Не удалось подключиться к Command Code — проверьте сеть или адрес API","blockedServiceUnavailable":"⚠️ Сервис Command Code временно недоступен (5xx); повторите позже","cooldownBadge":" ⏳ охлаждение, сброс {when}","costLine":" 💰 Расход {money} ({credits} кредитов)","creditsHeader":"── Кредиты ──────────────────────────","errorText":"Не удалось получить статистику Command Code: {message}","exceededWarning":" ⚠️ превышен!","fiveHourLine":" ⏱ 5-часовое {used} / {cap}{warn}","imageGate":"В сессии уже есть изображения, а модель {model} не поддерживает изображения; выберите модель с поддержкой зрения или удалите изображения из сессии.","invalidCredentialBadge":" ⛔ неверный ключ","monthlyLine":" 💳 В месяц {monthly} (куплено {purchased} / бесплатно {free})","noData":"(нет данных — проверьте API-ключ)","partialFailures":"⚠️ Сбои на некоторых эндпоинтах: {list}","planLine":" 📦 Тариф {name}{status}{period}","planPeriodSuffix":" · окончание периода: {date}","rateLimitBadge":" ⏳ лимит запросов (ожидание окна)","requestsLine":" 💬 Запросы {n} / сбоев {f} успешность {r}%","resetSuffix":"сброс {when}","title":"📊 Использование Command Code{account}","tokensLine":" 🔤 Токены {in} вход / {out} выход","unconfigured":" (API-ключ не настроен)","usageHeader":"── Запросы ──────────────────────────","weeklyLine":" 📅 Недельное {used} / {cap}{warn}","windowBarLine":" └ {bar} сброс {when}","windowsHeader":"── Использование окна ───────────────"},"panel.commandcode":{"active":"Активен","close":"Закрыть","closeHint":"Вернуться к диалогу","coolingDown":"Охлаждение","credits":"Кредиты","errorGeneric":"Не удалось получить данные об использовании аккаунта","errorInvalidKey":"API-ключ недействителен или истёк","errorInvalidKeyHint":"Сервер отклонил все запросы (401). Проверьте ключ для этого аккаунта или сгенерируйте новый в консоли commandcode.ai.","errorNetwork":"Не удалось связаться с сервисом Command Code","errorNetworkHint":"Запрос не достиг сервера. Проверьте сетевое подключение или настройку базового URL API.","errorServiceUnavailable":"Сервис Command Code временно недоступен","errorServiceUnavailableHint":"Сервер возвращает ошибки (5xx). Повторите попытку через минуту.","exceeded":"Превышен","exhausted":"Исчерпан","failed":"ошибок","fiveHour":"5-часовое окно","fiveHourShort":"5 ч","free":"Бесплатно","invalidKey":"Неверный ключ","limits":"Лимиты","loading":"Загрузка…","monthly":"Месячный лимит","monthlyLimit":"Месячный лимит","monthlyUsed":"Использовано за месяц","nav":"Command Code","noKey":"Ключ не настроен","noKeyHint":"Добавьте API-ключ Command Code в Настройках, чтобы отслеживать квоту и кредиты.","partial":"Частично","periodEnds":"Окончание периода","plan":"Тариф","purchased":"Приобретено","refresh":"Обновить","refreshing":"Обновление…","remaining":"Осталось","requests":"Запросы","resets":"Сброс через","spend":"Расходы","subtitle":"Тарифы, кредиты и плавающие окна квот","successRate":"Успешность","tokens":"Токены","tokensIn":"Входящие токены","tokensOut":"Исходящие токены","unavailable":"Недоступно","unconfigured":"Не настроено","updated":"Обновлено","usage":"Использование","weekly":"Недельное окно","weeklyShort":"7 дн","windowUnlimited":"Без ограничений"},"settings.commandcode":{"accountAdd":"Добавить аккаунт","accountDefault":"Основной аккаунт","accountKey":"API-ключ","accountKeyHint":"API-ключ этого аккаунта. Если оставить поле пустым, сохранённый ключ останется без изменений.","accountLabel":"Название аккаунта","accountRemove":"Удалить","accountSeparator":"────────────────────","accountTitle":"📊 {label}{badges}","accountsHint":"Когда активный аккаунт достигает лимита использования (429) или его ключ недействителен (401), запросы переключаются на следующий аккаунт; когда все аккаунты исчерпаны, ошибка указывает ближайшее время сброса окна.","accountsTitle":"Смена аккаунта","activeAccount":"Активный аккаунт","activeAccountAuto":"Авто (первый доступный аккаунт)","activeAccountHint":"Закрепите предпочтительный аккаунт; применяется к следующему запросу после сохранения. Если выбранный аккаунт исчерпан, запросы будут перенаправлены на другой доступный аккаунт.","activeBadge":" ✅ активен","advancedInvalid":"Число в расширенных настройках не готово к сохранению; раскройте, чтобы исправить.","advancedOverriddenMany":"{count} настроено","advancedOverriddenOne":"1 настроенный","advancedSettings":"Дополнительно","advancedSettingsHint":"Редко используемые параметры: базовый URL API, рабочая директория, тайм-ауты и фильтрация моделей.","apiBase":"Базовый URL API","apiBaseHint":"По умолчанию используется https://api.commandcode.ai; обычно оставляйте как есть.","apiKey":"API-ключ","apiKeyHint":"Создайте его в консоли commandcode.ai. Если оставить это поле пустым, сохранённый ключ останется без изменений.","apiKeyLocked":"Ключ предоставлен только для чтения","apiKeySet":"Настроено","apiKeyUnset":"Не настроено","barLine":" └ {bar} {pct}%","blockedInvalidKey":"⛔ API-ключ недействителен или истёк — сервер отклонил запросы (401); проверьте ключ аккаунта","blockedNetwork":"⚠️ Не удалось подключиться к Command Code — проверьте сеть или адрес API","blockedServiceUnavailable":"⚠️ Сервис Command Code временно недоступен (5xx); повторите позже","cancel":"Отмена","cardConfiguredHint":"API-ключ готов. Чтобы заменить его, добавить ротацию аккаунтов, проверить использование или изменить базовый API, откройте страницу \"Command Code\" в Настройках.","cardLoadingHint":"Загрузка конфигурации командного кода…","cardRegistrationHint":"Эта карта предоставлена плагином Command Code; для отображения всех элементов управления требуется более новая версия DeepSeek Harness.","cardRouteActive":"Активный","cardTitle":"Подключение командного кода","cooldownBadge":" ⏳ охлаждение, сброс {when}","costLine":" 💰 Расход {money} ({credits} кредитов)","creditsHeader":"── Кредиты ──────────────────────────","discard":"Отменить","errorText":"Не удалось получить статистику Command Code: {message}","exceededWarning":" ⚠️ превышен!","filterModelsByPlan":"Скрыть модели вне тарифного плана","filterModelsByPlanHint":"Если включено, в выборе моделей отображаются только те, что входят в вашу подписку; при наличии баланса кредитов по запросу показывается полный каталог.","fiveHourLine":" ⏱ 5-часовое {used} / {cap}{warn}","hide":"Скрыть","imageGate":"В сессии уже есть изображения, а модель {model} не поддерживает изображения; выберите модель с поддержкой зрения или удалите изображения из сессии.","intro":"Настройте подключение к Command Code Provider. API-ключ сохраняется только в локальной службе учетных данных и никогда не отображается; остальные поля записываются в пользовательские настройки и вступают в силу при следующем запросе.","invalidCredentialBadge":" ⛔ неверный ключ","invalidNumber":"Недопустимый номер","loginButton":"Войдите в Command Code","loginCancel":"Отменить вход","loginCancelled":"Вход отменён.","loginDenied":"Доступ запрещён. Попробуйте снова или вставьте ключ вручную.","loginFailedGeneric":"Не удалось войти; попробуйте снова или вставьте ключ вручную.","loginHintIdle":"Не хотите создавать ключ вручную? Войдите в систему, и ваш браузер откроет страницу авторизации commandcode.ai; одобренный ключ сохранится в локальном сервисе учетных данных и будет применяться к следующему запросу.","loginInvalidKey":"Доставленный ключ не прошел проверку (401). Попробуйте снова или вставьте его вручную.","loginNetwork":"Не удалось подключиться к сервису Command Code для проверки ключа; проверьте подключение к сети и повторите попытку.","loginOpenLink":"Откройте страницу авторизации ↗","loginStarting":"Запуск локального серверного обработчика callback…","loginStoreFailed":"Не удалось сохранить ключ в локальной службе учетных данных; вставьте его вручную.","loginSuccess":"Вошли как","loginTimeout":"Истекло время ожидания ответа авторизации; попробуйте снова.","loginTitle":"Войти, чтобы получить ключ","loginUnavailable":"Вход в систему недоступен в этой среде; вставьте {API key} вместо этого.","loginWaiting":"Ожидание авторизации в вашем браузере…","modelSearchEmpty":"Подходящих моделей не найдено","modelSearchPlaceholder":"Поиск модели по имени или ID…","modelStale":"Устаревшая модель (не найдена в текущем каталоге)","monthlyLine":" 💳 В месяц {monthly} (куплено {purchased} / бесплатно {free})","nav":"Код команды","noData":"(нет данных — проверьте API-ключ)","numberTooLarge":"Превышено допустимое максимальное значение (2147483647 мс)","numberTooSmall":"Должно быть не менее 1 (мс)","overridden":"Переопределено","partialFailures":"⚠️ Сбои на некоторых эндпоинтах: {list}","planLine":" 📦 Тариф {name}{status}{period}","planPeriodSuffix":" · окончание периода: {date}","rateLimitBadge":" ⏳ лимит запросов (ожидание окна)","readOnly":"Настройки доступны только для чтения.","requestTimeoutMs":"Таймаут запроса (мс)","requestTimeoutMsHint":"Время ожидания первого байта ответа; по умолчанию 60000.","requestsLine":" 💬 Запросы {n} / сбоев {f} успешность {r}%","reset":"Сбросить","resetSuffix":"сброс {when}","ruleAccount":"Целевой аккаунт","ruleAdd":"Добавить правило","ruleHint":"Отметьте модели для маршрутизации в выпадающем списке (множественный выбор), затем выберите целевой аккаунт.","ruleModel":"Модели","ruleModelCount":"Выбрано моделей: {count}","ruleModelPick":"Выберите модели…","ruleRemove":"Удалить","rulesCatalogFailed":"Не удалось загрузить каталог моделей — выбор моделей недоступен; сохранённые правила продолжают действовать.","rulesEmpty":"Правил пока нет.","rulesHint":"Выберите модели (множественный выбор) и направьте их на конкретный аккаунт. Когда модель из запроса совпадает с правилом и аккаунт доступен, запрос обслуживается им; при исчерпании или недоступности аккаунта происходит откат к стандартной ротации. Правила проверяются по порядку сверху вниз — срабатывает первое совпадение.","rulesOrder":"Порядок правил","rulesTitle":"Правила маршрутизации моделей","rulesTotal":"Всего правил: {count}","save":"Сохранить","saveFailed":"Не удалось сохранить, попробуйте снова.","saved":"Сохранено ✓","saving":"Сохранение","show":"Показать","showSidebarQuota":"Показывать карточку квоты в боковой панели","showSidebarQuotaHint":"Когда включено, карточка тарифа и квоты Command Code располагается внизу боковой панели (над Настройками) и открывает полный дашборд. По умолчанию выключено: ничего не отображается слева и фоновый опрос не выполняется. Применяется при сохранении.","streamIdleTimeoutMs":"Таймаут простоя потока (мс)","streamIdleTimeoutMsHint":"Как долго зависший поток считается мёртвым; по умолчанию 300000 (намеренно щедро — модели с долгим обдумыванием могут молчать минутами).","title":"Код команды","tokensLine":" 🔤 Токены {in} вход / {out} выход","transportMaxRetries":"Повторные попытки транспорта","transportMaxRetriesHint":"Сколько раз соединение пытается повториться автоматически; по умолчанию 5 (интервалы 0.5+1+2+4+8с, ~15с всего). После этого выдаётся ошибка вместо дальнейшего экспоненциального ожидания. Значение 0 отключает повторы. Для ограничений частоты и ответов 5xx действует отдельный более длительный интервал.","unconfigured":" (API-ключ не настроен)","unsaved":"Не сохранено","updateAvailable":"доступно обновление","updateHint":"Доступна новая версия; нажмите для просмотра заметок о выпуске. Уведомление исчезнет после обновления плагина.","usageActive":"Активно","usageCooldown":"Охлаждение","usageCost":"Потратить","usageError":"Не удалось получить данные об использовании","usageExceeded":"Превышено","usageFailed":"не удалось","usageFiveHour":"5-часовое окно","usageFree":"Бесплатно","usageHeader":"── Запросы ──────────────────────────","usageInvalidKey":"Неверный ключ","usageKeyClear":"Очистить сохранённый ключ","usageKeyClearStaged":"Будет очищено при сохранении","usageKeyInvalid":"Неверный или просроченный API-ключ","usageKeyInvalidHint":"Сервер отклоняет все запросы (401). Проверьте ключ, настроенный для этого аккаунта, или создайте новый в консоли commandcode.ai.","usageLoading":"Получение данных об использовании аккаунта…","usageMonthly":"Ежемесячно","usageNetworkError":"Не удалось подключиться к сервису Command Code","usageNetworkHint":"На сервер не поступило ни одного запроса. Проверьте подключение к сети или настройку базового API.","usageNoKey":"Настройте API-ключ, чтобы увидеть здесь данные об использовании и состоянии кредитов этого аккаунта.","usagePartial":"Некоторые данные конечной точки недоступны","usagePeriodEnd":"Период заканчивается","usagePurchased":"Куплено","usageRefresh":"Обновить","usageRefreshing":"Обновление…","usageRequests":"Запросы","usageReset":"Сбросить","usageServiceUnavailable":"Сервис Command Code временно недоступен","usageServiceUnavailableHint":"Сервер вернул ошибки (5xx); попробуйте обновить позже.","usageSuccessRate":"Уровень успеха","usageTitle":"Использование аккаунта","usageTokens":"Токены","usageTokensIn":"в","usageTokensOut":"выход","usageUnconfigured":"Для этого аккаунта ещё не настроен API-ключ.","usageUndoKeyClear":"Отменить очистку","usageUpdated":"Обновлено","usageWeekly":"Еженедельное окно","visibleModelsCleanStale":"Очистить устаревшие ({count})","visibleModelsCount":"Выбрано моделей: {count}","visibleModelsHideInactive":"Скрыть неактивные","visibleModelsHint":"Выберите модели, которые будут доступны для назначения правил маршрутизации","visibleModelsPick":"Выбрать модели","visibleModelsReset":"Сбросить выбор моделей","visibleModelsShowAll":"Показать все модели","visibleModelsStaleHint":"{count} выбранных моделей больше нет в каталоге (возможно, выведены из эксплуатации); на остальные модели это не влияет. Удалите их или сохраните.","visibleModelsTitle":"Видимые модели","webSearch":"Использовать Command Code для веб-поиска DSH","webSearchHint":"Если включено, инструмент web_search для модели работает через Command Code (тот же API-ключ и base URL, что и в чате). Если выключено, используется встроенный поиск DeepSeek.","weeklyLine":" 📅 Недельное {used} / {cap}{warn}","windowBarLine":" └ {bar} сброс {when}","windowsHeader":"── Использование окна ───────────────","workingDir":"Рабочая директория","workingDirHint":"Необязательно. Оставьте пустым, чтобы использовать текущий рабочий каталог процесса (указан в поле); укажите путь только для фиксации конкретного расположения."}}
|
|
1
|
+
{"commandcode":{"accountSeparator":"────────────────────","accountTitle":"📊 {label}{badges}","activeBadge":" ✅ активен","barLine":" └ {bar} {pct}%","blockedInvalidKey":"⛔ API-ключ недействителен или истёк — сервер отклонил запросы (401); проверьте ключ аккаунта","blockedNetwork":"⚠️ Не удалось подключиться к Command Code — проверьте сеть или адрес API","blockedServiceUnavailable":"⚠️ Сервис Command Code временно недоступен (5xx); повторите позже","cooldownBadge":" ⏳ охлаждение, сброс {when}","costLine":" 💰 Расход {money} ({credits} кредитов)","creditsHeader":"── Кредиты ──────────────────────────","errorText":"Не удалось получить статистику Command Code: {message}","exceededWarning":" ⚠️ превышен!","fiveHourLine":" ⏱ 5-часовое {used} / {cap}{warn}","imageGate":"В сессии уже есть изображения, а модель {model} не поддерживает изображения; выберите модель с поддержкой зрения или удалите изображения из сессии.","invalidCredentialBadge":" ⛔ неверный ключ","monthlyLine":" 💳 В месяц {monthly} (куплено {purchased} / бесплатно {free})","noData":"(нет данных — проверьте API-ключ)","partialFailures":"⚠️ Сбои на некоторых эндпоинтах: {list}","planLine":" 📦 Тариф {name}{status}{period}","planPeriodSuffix":" · окончание периода: {date}","rateLimitBadge":" ⏳ лимит запросов (ожидание окна)","requestsLine":" 💬 Запросы {n} / сбоев {f} успешность {r}%","resetSuffix":"сброс {when}","title":"📊 Использование Command Code{account}","tokensLine":" 🔤 Токены {in} вход / {out} выход","unconfigured":" (API-ключ не настроен)","usageHeader":"── Запросы ──────────────────────────","weeklyLine":" 📅 Недельное {used} / {cap}{warn}","windowBarLine":" └ {bar} сброс {when}","windowsHeader":"── Использование окна ───────────────"},"panel.commandcode":{"active":"Активен","close":"Закрыть","closeHint":"Вернуться к диалогу","coolingDown":"Охлаждение","credits":"Кредиты","errorGeneric":"Не удалось получить данные об использовании аккаунта","errorInvalidKey":"API-ключ недействителен или истёк","errorInvalidKeyHint":"Сервер отклонил все запросы (401). Проверьте ключ для этого аккаунта или сгенерируйте новый в консоли commandcode.ai.","errorInvalidResponse":"Не удалось прочитать ответ Command Code","errorInvalidResponseHint":"Ответы на запросы получены, но их тело не удалось разобрать. Проверьте HTTP-прокси хоста или декодирование ответа.","errorNetwork":"Не удалось связаться с сервисом Command Code","errorNetworkHint":"Запрос не достиг сервера. Проверьте сетевое подключение или настройку базового URL API.","errorServiceUnavailable":"Сервис Command Code временно недоступен","errorServiceUnavailableHint":"Сервер возвращает ошибки (5xx). Повторите попытку через минуту.","exceeded":"Превышен","exhausted":"Исчерпан","failed":"ошибок","fiveHour":"5-часовое окно","fiveHourShort":"5 ч","free":"Бесплатно","invalidKey":"Неверный ключ","limits":"Лимиты","loading":"Загрузка…","monthly":"Месячный лимит","monthlyLimit":"Месячный лимит","monthlyUsed":"Использовано за месяц","nav":"Command Code","noKey":"Ключ не настроен","noKeyHint":"Добавьте API-ключ Command Code в Настройках, чтобы отслеживать квоту и кредиты.","partial":"Частично","periodEnds":"Окончание периода","plan":"Тариф","purchased":"Приобретено","refresh":"Обновить","refreshing":"Обновление…","remaining":"Осталось","requests":"Запросы","resets":"Сброс через","spend":"Расходы","subtitle":"Тарифы, кредиты и плавающие окна квот","successRate":"Успешность","tokens":"Токены","tokensIn":"Входящие токены","tokensOut":"Исходящие токены","unavailable":"Недоступно","unconfigured":"Не настроено","updated":"Обновлено","usage":"Использование","weekly":"Недельное окно","weeklyShort":"7 дн","windowUnlimited":"Без ограничений"},"settings.commandcode":{"accountAdd":"Добавить аккаунт","accountDefault":"Основной аккаунт","accountKey":"API-ключ","accountKeyHint":"API-ключ этого аккаунта. Если оставить поле пустым, сохранённый ключ останется без изменений.","accountLabel":"Название аккаунта","accountLoginAfterSave":"Нажмите «Сохранить» внизу страницы, затем войдите в эту учётную запись в браузере для получения ключа.","accountRemove":"Удалить","accountSeparator":"────────────────────","accountTitle":"📊 {label}{badges}","accountsHint":"Когда активный аккаунт достигает лимита использования (429) или его ключ недействителен (401), запросы переключаются на следующий аккаунт; когда все аккаунты исчерпаны, ошибка указывает ближайшее время сброса окна.","accountsTitle":"Смена аккаунта","activeAccount":"Активный аккаунт","activeAccountAuto":"Авто (первый доступный аккаунт)","activeAccountHint":"Закрепите предпочтительный аккаунт; применяется к следующему запросу после сохранения. Если выбранный аккаунт исчерпан, запросы будут перенаправлены на другой доступный аккаунт.","activeBadge":" ✅ активен","advancedInvalid":"Число в расширенных настройках не готово к сохранению; раскройте, чтобы исправить.","advancedOverriddenMany":"{count} настроено","advancedOverriddenOne":"1 настроенный","advancedSettings":"Дополнительно","advancedSettingsHint":"Редко используемые параметры: базовый URL API, рабочая директория, тайм-ауты и фильтрация моделей.","apiBase":"Базовый URL API","apiBaseHint":"По умолчанию используется https://api.commandcode.ai; обычно оставляйте как есть.","apiKey":"API-ключ","apiKeyHint":"Создайте его в консоли commandcode.ai. Если оставить это поле пустым, сохранённый ключ останется без изменений.","apiKeyLocked":"Ключ предоставлен только для чтения","apiKeySet":"Настроено","apiKeyUnset":"Не настроено","barLine":" └ {bar} {pct}%","blockedInvalidKey":"⛔ API-ключ недействителен или истёк — сервер отклонил запросы (401); проверьте ключ аккаунта","blockedNetwork":"⚠️ Не удалось подключиться к Command Code — проверьте сеть или адрес API","blockedServiceUnavailable":"⚠️ Сервис Command Code временно недоступен (5xx); повторите позже","cancel":"Отмена","cardConfiguredHint":"API-ключ готов. Чтобы заменить его, добавить ротацию аккаунтов, проверить использование или изменить базовый API, откройте страницу \"Command Code\" в Настройках.","cardLoadingHint":"Загрузка конфигурации командного кода…","cardRegistrationHint":"Эта карта предоставлена плагином Command Code; для отображения всех элементов управления требуется более новая версия DeepSeek Harness.","cardRouteActive":"Активный","cardTitle":"Подключение командного кода","commandGuard":"ИИ-контроль команд","commandGuardHint":"Перед запросом подтверждения shell-команды служба typesafe/jev оценивает её безопасность: безопасные команды выполняются без подтверждения, остальные запрашивают подтверждение как обычно. По умолчанию выключено.","commandGuardThreshold":"Порог автоподтверждения (0.5–1)","commandGuardThresholdHint":"Автоподтверждение срабатывает, если typesafe/jev оценивает безопасность команды с вероятностью не ниже этой; по умолчанию 0.9.","commandGuardTimeoutMs":"Таймаут оценки (мс, 200–10000)","commandGuardTimeoutMsHint":"Если typesafe/jev не отвечает вовремя, отображается обычный запрос подтверждения; по умолчанию 1500.","cooldownBadge":" ⏳ охлаждение, сброс {when}","costLine":" 💰 Расход {money} ({credits} кредитов)","creditsHeader":"── Кредиты ──────────────────────────","discard":"Отменить","errorText":"Не удалось получить статистику Command Code: {message}","exceededWarning":" ⚠️ превышен!","filterModelsByPlan":"Скрыть модели вне тарифного плана","filterModelsByPlanHint":"Если включено, в выборе моделей отображаются только те, что входят в вашу подписку; при наличии баланса кредитов по запросу показывается полный каталог.","fiveHourLine":" ⏱ 5-часовое {used} / {cap}{warn}","hide":"Скрыть","imageGate":"В сессии уже есть изображения, а модель {model} не поддерживает изображения; выберите модель с поддержкой зрения или удалите изображения из сессии.","intro":"Настройте подключение к Command Code Provider. API-ключ сохраняется только в локальной службе учетных данных и никогда не отображается; остальные поля записываются в пользовательские настройки и вступают в силу при следующем запросе.","invalidCredentialBadge":" ⛔ неверный ключ","invalidNumber":"Недопустимый номер","loginButton":"Войдите в Command Code","loginCancel":"Отменить вход","loginCancelled":"Вход отменён.","loginDenied":"Доступ запрещён. Попробуйте снова или вставьте ключ вручную.","loginFailedGeneric":"Не удалось войти; попробуйте снова или вставьте ключ вручную.","loginHintIdle":"Не хотите создавать ключ вручную? Войдите в систему, и ваш браузер откроет страницу авторизации commandcode.ai; одобренный ключ сохранится в локальном сервисе учетных данных и будет применяться к следующему запросу.","loginInvalidKey":"Доставленный ключ не прошел проверку (401). Попробуйте снова или вставьте его вручную.","loginNetwork":"Не удалось подключиться к сервису Command Code для проверки ключа; проверьте подключение к сети и повторите попытку.","loginOpenLink":"Откройте страницу авторизации ↗","loginSaveBefore":"Сохраните изменения страницы перед входом в эту учётную запись.","loginStarting":"Запуск локального серверного обработчика callback…","loginStoreFailed":"Не удалось сохранить ключ в локальной службе учетных данных; вставьте его вручную.","loginSuccess":"Вошли как","loginTimeout":"Истекло время ожидания ответа авторизации; попробуйте снова.","loginTitle":"Войти, чтобы получить ключ","loginUnavailable":"Вход в систему недоступен в этой среде; вставьте {API key} вместо этого.","loginWaiting":"Ожидание авторизации в вашем браузере…","modelSearchEmpty":"Подходящих моделей не найдено","modelSearchPlaceholder":"Поиск модели по имени или ID…","modelStale":"Устаревшая модель (не найдена в текущем каталоге)","monthlyLine":" 💳 В месяц {monthly} (куплено {purchased} / бесплатно {free})","nav":"Код команды","noData":"(нет данных — проверьте API-ключ)","numberTooLarge":"Превышено допустимое максимальное значение (2147483647 мс)","numberTooSmall":"Должно быть не менее 1 (мс)","overridden":"Переопределено","partialFailures":"⚠️ Сбои на некоторых эндпоинтах: {list}","planLine":" 📦 Тариф {name}{status}{period}","planPeriodSuffix":" · окончание периода: {date}","rateLimitBadge":" ⏳ лимит запросов (ожидание окна)","readOnly":"Настройки доступны только для чтения.","requestTimeoutMs":"Таймаут запроса (мс)","requestTimeoutMsHint":"Время ожидания первого байта ответа; по умолчанию 60000.","requestsLine":" 💬 Запросы {n} / сбоев {f} успешность {r}%","reset":"Сбросить","resetSuffix":"сброс {when}","ruleAccount":"Целевой аккаунт","ruleAdd":"Добавить правило","ruleHint":"Отметьте модели для маршрутизации в выпадающем списке (множественный выбор), затем выберите целевой аккаунт.","ruleModel":"Модели","ruleModelCount":"Выбрано моделей: {count}","ruleModelPick":"Выберите модели…","ruleRemove":"Удалить","rulesCatalogFailed":"Не удалось загрузить каталог моделей — выбор моделей недоступен; сохранённые правила продолжают действовать.","rulesEmpty":"Правил пока нет.","rulesHint":"Выберите модели (множественный выбор) и направьте их на конкретный аккаунт. Когда модель из запроса совпадает с правилом и аккаунт доступен, запрос обслуживается им; при исчерпании или недоступности аккаунта происходит откат к стандартной ротации. Правила проверяются по порядку сверху вниз — срабатывает первое совпадение.","rulesOrder":"Порядок правил","rulesTitle":"Правила маршрутизации моделей","rulesTotal":"Всего правил: {count}","save":"Сохранить","saveFailed":"Не удалось сохранить, попробуйте снова.","saved":"Сохранено ✓","saving":"Сохранение","show":"Показать","showSidebarQuota":"Показывать карточку квоты в боковой панели","showSidebarQuotaHint":"Когда включено, карточка тарифа и квоты Command Code располагается внизу боковой панели (над Настройками) и открывает полный дашборд. По умолчанию выключено: ничего не отображается слева и фоновый опрос не выполняется. Применяется при сохранении.","streamIdleTimeoutMs":"Таймаут простоя потока (мс)","streamIdleTimeoutMsHint":"Как долго зависший поток считается мёртвым; по умолчанию 300000 (намеренно щедро — модели с долгим обдумыванием могут молчать минутами).","title":"Код команды","tokensLine":" 🔤 Токены {in} вход / {out} выход","transportMaxRetries":"Повторные попытки транспорта","transportMaxRetriesHint":"Сколько раз соединение пытается повториться автоматически; по умолчанию 5 (интервалы 0.5+1+2+4+8с, ~15с всего). После этого выдаётся ошибка вместо дальнейшего экспоненциального ожидания. Значение 0 отключает повторы. Для ограничений частоты и ответов 5xx действует отдельный более длительный интервал.","unconfigured":" (API-ключ не настроен)","unsaved":"Не сохранено","updateAvailable":"доступно обновление","updateHint":"Доступна новая версия; нажмите для просмотра заметок о выпуске. Уведомление исчезнет после обновления плагина.","usageActive":"Активно","usageCooldown":"Охлаждение","usageCost":"Потратить","usageError":"Не удалось получить данные об использовании","usageExceeded":"Превышено","usageFailed":"не удалось","usageFiveHour":"5-часовое окно","usageFree":"Бесплатно","usageHeader":"── Запросы ──────────────────────────","usageInvalidKey":"Неверный ключ","usageInvalidResponse":"Не удалось прочитать ответ Command Code","usageInvalidResponseHint":"Ответы на запросы получены, но их тело не удалось разобрать. Проверьте HTTP-прокси хоста или декодирование ответа.","usageKeyClear":"Очистить сохранённый ключ","usageKeyClearStaged":"Будет очищено при сохранении","usageKeyInvalid":"Неверный или просроченный API-ключ","usageKeyInvalidHint":"Сервер отклоняет все запросы (401). Проверьте ключ, настроенный для этого аккаунта, или создайте новый в консоли commandcode.ai.","usageLoading":"Получение данных об использовании аккаунта…","usageMonthly":"Ежемесячно","usageNetworkError":"Не удалось подключиться к сервису Command Code","usageNetworkHint":"На сервер не поступило ни одного запроса. Проверьте подключение к сети или настройку базового API.","usageNoKey":"Настройте API-ключ, чтобы увидеть здесь данные об использовании и состоянии кредитов этого аккаунта.","usagePartial":"Некоторые данные конечной точки недоступны","usagePeriodEnd":"Период заканчивается","usagePurchased":"Куплено","usageRefresh":"Обновить","usageRefreshing":"Обновление…","usageRequests":"Запросы","usageReset":"Сбросить","usageServiceUnavailable":"Сервис Command Code временно недоступен","usageServiceUnavailableHint":"Сервер вернул ошибки (5xx); попробуйте обновить позже.","usageSuccessRate":"Уровень успеха","usageTitle":"Использование аккаунта","usageTokens":"Токены","usageTokensIn":"в","usageTokensOut":"выход","usageUnconfigured":"Для этого аккаунта ещё не настроен API-ключ.","usageUndoKeyClear":"Отменить очистку","usageUpdated":"Обновлено","usageWeekly":"Еженедельное окно","visibleModelsCleanStale":"Очистить устаревшие ({count})","visibleModelsCount":"Выбрано моделей: {count}","visibleModelsHideInactive":"Скрыть неактивные","visibleModelsHint":"Выберите модели, которые будут доступны для назначения правил маршрутизации","visibleModelsPick":"Выбрать модели","visibleModelsReset":"Сбросить выбор моделей","visibleModelsShowAll":"Показать все модели","visibleModelsStaleHint":"{count} выбранных моделей больше нет в каталоге (возможно, выведены из эксплуатации); на остальные модели это не влияет. Удалите их или сохраните.","visibleModelsTitle":"Видимые модели","webSearch":"Использовать Command Code для веб-поиска DSH","webSearchHint":"Если включено, инструмент web_search для модели работает через Command Code (тот же API-ключ и base URL, что и в чате). Если выключено, используется встроенный поиск DeepSeek.","weeklyLine":" 📅 Недельное {used} / {cap}{warn}","windowBarLine":" └ {bar} сброс {when}","windowsHeader":"── Использование окна ───────────────","workingDir":"Рабочая директория","workingDirHint":"Необязательно. Оставьте пустым, чтобы использовать текущий рабочий каталог процесса (указан в поле); укажите путь только для фиксации конкретного расположения.","zdr":"Нулевое сохранение данных (ZDR)","zdrHint":"Отправлять запросы только через апстримы, которые не сохраняют системные промпты и ответы и никогда не обучаются на них (аналогично параметру CMD_ZDR=1 в CLI). Для некоторых моделей апстримы ZDR отсутствуют: запросы к таким моделям отклоняются, чтобы не нарушать защиту ZDR. Мощности ZDR тарифицируются по сквозным ставкам апстрима и обычно стоят дороже; индикация расходов продолжает показывать стандартные тарифы каталога. По умолчанию выключено."}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"dsh-context":{"agents.billed":"{n} выставлено к оплате","agents.chip.count":"{n} агентов","agents.chip.running":"{n} запущено","agents.chip.tokens":"{n} токенов в контексте","agents.continuable":"продолжаемый","agents.legend.free":"свободное окно","agents.more":"Ещё {n} не показано","agents.oneshot":"одноразовый","agents.open":"нажмите, чтобы открыть →","agents.requests":"{n} запросов","agents.running":"выполняется","agents.self":"текущий","agents.solo":"Пока нет суб-агентов — когда агент делегирует работу через инструмент суб-агентов, сеть будет отображаться здесь","agents.sub":"Живой контекст этого агента и его подчиненных агентов · нажмите на узел, чтобы открыть его сессию","agents.title":"Сеть агентов","attach.close":"Закрыть","attach.image":"Изображение","attach.images":"Изображения","attach.loadFailed":"Не удалось загрузить · нажмите, чтобы повторить","attach.loading":"…","attach.open":"Открыть изображение полностью","attach.other":"Другой контент","attach.preview":"Превью изображения","attach.raw":"Сырой","attach.sent":"Отправлено","attach.token":"Токен","attach.tokensTip":"Расчетная стоимость токенов через официальное преобразование размера изображения DeepSeek (ограничение в 384 токена на изображение)","block.answer":"Ответ","block.content":"Контент","block.line":"1 строка","block.lines":"{n} строк","block.result":"Результат","block.summary":"Сводка","block.thinking":"Обоснование","brief.input":"В","brief.inputTip":"Что было введено после предыдущего ответа и перед этим запросом — обычно результаты предыдущего вызова инструмента; начало нового оборота не содержит ничего нового","brief.locate":"Показать в контекстном браузере","brief.more":"+{n}","brief.noInputs":"(ничего нового)","brief.reply":"Ответ","brief.replyTip":"Что модель вернула на этом шаге (текстовый ответ или вызовы инструментов) — результаты вызовов отображаются в строке In следующего бара","brief.turn":"Пользователь","brief.turnTip":"Сообщение пользователя, которое открыло этот ход — каждый шаг хода ссылается на него","browser.approx":"Некоторые удаленные сообщения этого шага превышают срок хранения — приведенное ниже восстановление является приблизительным","browser.deltaHint":"по сравнению с предыдущим ходом","browser.dna":"Режим ДНК","browser.dnaTip":"Ленточная полоса элементов в порядке чтения контекста моделью: системный промпт, схемы инструментов, хронология сообщений (наведите для деталей, нажмите для перехода к строке)","browser.headerMetaOnly":"Эта среда не может загрузить заголовки по запросу; только оценка токенов","browser.items":"{n} элементов","browser.live":"В прямом эфире (Следующий запрос)","browser.liveNow":"В прямом эфире · Следующий запрос","browser.loadFailed":"Не удалось загрузить — нажмите, чтобы повторить","browser.loading":"Загрузка полного содержимого из более старой истории сеанса…","browser.missingLive":"… {n} предыдущих сообщений также являются частью контекста (за пределами предоставленного окна)","browser.noContent":"Полное содержимое находится за пределами загруженного окна сообщений (загрузите более старую историю в Чате для просмотра)","browser.noEpoch":"Содержание заголовка (Системное сообщение / Схемы инструментов) этого шага находится за пределами удержания","browser.noHeader":"Обслуживается устаревшей версией плагина: только оценка токенов, без содержимого","browser.noSystem":"В заголовке этого запроса не было системного промпта","browser.notInLog":"Этот элемент больше не находится в журнале сессии (возможно, он был удалён или очищен)","browser.preview":"Предварительный просмотр","browser.rowNoMatch":"Нет строк, соответствующих текущему фильтру","browser.search.assistant":"Фильтровать по ответам или звонкам…","browser.search.inject":"Фильтровать введённый контекст…","browser.search.skill":"Фильтр навыков…","browser.search.tool":"Фильтровать по инструменту или аргументам…","browser.search.user":"Фильтровать по тексту сообщения…","browser.title":"Контекстный браузер","call.exit":"выход {n}","call.fail":"Не удалось","call.ok":"ОК","cat.assistant":"Сообщения ассистента","cat.inject":"Введённый контекст","cat.skill":"Инъекции навыков","cat.system":"Системное сообщение","cat.tool":"Результаты инструмента","cat.tools":"Схемы инструментов","cat.user":"Сообщения пользователя","cmd.close":"Закрыть","cmd.desc":"Просмотр текущего контекста макияжа, просмотр состава по шагам","cmd.label":"Контекст","cmd.section":"Контекст","detail.actual":"Фактический запрос {n}","detail.cache":"Кэш {n}%","detail.estTotal":"Примерно ≈ {n}","detail.lastStep":"Последний шаг","detail.loadFailed":"Не удалось загрузить историю — нажмите для повтора","detail.loading":"Загрузка истории…","detail.output":"Вывод {n}","detail.step":"Поверните {t} · Шаг {s}","detail.turn":"Поверните {t} · {n} шагов","error":"Не удалось прочитать данные контекста:","error.retry":"Повторить","ev.compaction":"Контекст сжат (резюме заменено {n} сообщений)","ev.mode.plan.off":"Режим плана выключен","ev.mode.plan.on":"Режим планирования включён","ev.model":"Модель изменена: {a} → {b}","ev.prune":"Вывод инструмента обрезан","ev.skill":"Навык внедрён ({name})","events.at":"Поверните {t} · Шаг {s}","events.empty":"Событий контекста пока нет (компактизация, инъекции, переключения моделей отображаются здесь)","events.range":"Поверните {t} · Шаг {a}→{b}","events.rangeTo":"Поверните {a} · Шаг {as} → Поверните {b} · Шаг {bs}","events.title":"Контекстные события","files.chipTip":"{files} файлов · {ops} операций","files.deltaTip":"Совокупное изменение строк, оцененное по аргументам вызовов редактирования/записи: + добавлено / − удалено","files.empty":"Нет чтений, записей или поиска файлов в этом диапазоне","files.errs":"{n} не удалось","files.files":"{n} файлов","files.form.dir":"Каталог","files.form.image":"Изображение","files.form.text":"Файл","files.glyph.archive":"Архив","files.glyph.assets":"Активы","files.glyph.build":"Результат сборки","files.glyph.config":"Конфигурация","files.glyph.data":"Данные / манифест","files.glyph.database":"База данных","files.glyph.deps":"Зависимости","files.glyph.docker":"Docker","files.glyph.docs":"Документы","files.glyph.document":"Документ","files.glyph.font":"Шрифт","files.glyph.hidden":"Каталог метаданных","files.glyph.ignore":"Игнорировать правила","files.glyph.lang.c":"C","files.glyph.lang.cpp":"C++","files.glyph.lang.csharp":"C#","files.glyph.lang.dart":"Dart","files.glyph.lang.go":"Перейти","files.glyph.lang.html":"HTML","files.glyph.lang.java":"Java","files.glyph.lang.js":"JavaScript","files.glyph.lang.kotlin":"Kotlin","files.glyph.lang.lua":"Lua","files.glyph.lang.php":"PHP","files.glyph.lang.ruby":"Рубин","files.glyph.lang.rust":"Ржавчина","files.glyph.lang.scala":"Скала","files.glyph.lang.svelte":"Свелт","files.glyph.lang.swift":"Быстро","files.glyph.lang.ts":"TypeScript","files.glyph.lang.vue":"Вью","files.glyph.license":"Лицензия","files.glyph.lock":"Файл блокировки","files.glyph.log":"Войти","files.glyph.markdown":"Документ с разметкой","files.glyph.media":"Медиа","files.glyph.notebook":"Блокнот","files.glyph.python":"Питон","files.glyph.root":"Корневая папка рабочей области","files.glyph.scripts":"Скрипты","files.glyph.sheet":"Таблица","files.glyph.shell":"Оболочка","files.glyph.style":"Стили","files.glyph.tests":"Тесты","files.hits":"{n} попаданий","files.kind.all":"Все","files.kind.image":"Изображения","files.kind.read":"Читать","files.kind.search":"Искали","files.kind.write":"Написано","files.locate":"Показать эту операцию в Обозревателе контекста","files.noMatch":"Нет файлов, соответствующих текущим фильтрам","files.open":"Открыть на вашем устройстве","files.preview":"Предпросмотр в боковой панели","files.readEst":"Строк прочитано, оценка на основе аргумента limit","files.readTip":"Прочитайте строки {a}–{b}","files.scopeLatest":"До последнего · следует за выбором трендового графика","files.search":"Фильтровать по пути…","files.sort.count":"Самый активный","files.sort.latest":"Последние","files.sort.path":"По пути","files.sortTip":"Сортировать файлы по количеству операций (выбранного вида при активной метке вида), последней активности или пути","files.title":"Активность файла","footer":"Оценка: та же эвристика с фиксированной плотностью, что и встроенный tokenMeter в dsh (~4 символа ≈ 1 токен); «фактическое» — это использование, сообщаемое провайдером.","form.catalog":"Обновление каталога","form.context":"Контекстная инъекция","form.instructions":"Инструкции","form.notice":"Уведомление","form.recall":"Напомнить","form.relay":"Агентский ретранслятор","form.snapshot":"Снимок состояния","gate.body":"dsh-context поддерживает DeepSeek Harness версии {minimum} или новее.","gate.current":"Текущая","gate.minimum":"Минимально требуемая","gate.ok":"Понятно","gate.orNewer":"или новее","gate.title":"Требуется обновление DSH","gran.delta":"Дельта","gran.modeHint":"Итого: суммарное значение; Дельта: изменение по сравнению с предыдущим запросом","gran.step":"Шаг","gran.total":"Всего","gran.turn":"Повернуть","insightsEntry.hide":"Скрывать","insightsEntry.show":"Показывать","jump.statsLine":"Просмотр состава контекста на вкладке «Контекст»","jump.title":"Посмотреть этот шаг во вкладке Контекст","kind.compaction":"Компактный","kind.inject":"Внедрить","kind.mode":"Режим","kind.model":"Переключить","kind.prune":"Обрезать","loading":"Чтение журнала сессии…","node.calls":"Звонки","node.empty":"(пустой ответ)","node.failed":"Выполнение инструмента завершилось с ошибкой","node.nonText":"(сообщение без текста)","node.skillTag":"Навык · {name}","node.snapshot":"Снимок:","node.toolResult":"Результат инструмента","nodes.empty":"Нет видимых сообщений прямо сейчас","nodes.hint":"в настоящее время видимые модели, сначала новые","nodes.more":"… {n} предыдущих сообщений пропущено","nodes.title":"Сообщения","ov.card.lastUser":"Последнее сообщение","ov.card.turns":"{n} реплик · {s} шагов","ov.current":"текущая","ov.entry":"Аналитика контекста","ov.group.label":"Группа","ov.group.ungrouped":"Без группы","ov.heat.empty":"Активности пока нет — ежедневное использование появится после запросов к моделям","ov.heat.mon.01":"Янв","ov.heat.mon.02":"Фев","ov.heat.mon.03":"Мар","ov.heat.mon.04":"Апр","ov.heat.mon.05":"Май","ov.heat.mon.06":"Июн","ov.heat.mon.07":"Июл","ov.heat.mon.08":"Авг","ov.heat.mon.09":"Сен","ov.heat.mon.10":"Окт","ov.heat.mon.11":"Ноя","ov.heat.mon.12":"Дек","ov.heat.sessions":"Активных сессий: {n}","ov.heat.sub":"Фильтр по дате","ov.heat.title":"Активность","ov.heat.wd.1":"Пн","ov.heat.wd.3":"Ср","ov.heat.wd.5":"Пт","ov.kpi.ofTotal":"из {n} всего","ov.kpi.sessions":"Активные сессии","ov.kpi.sessionsSub":"в {n} сессиях","ov.kpi.tokens":"Использовано токенов","ov.kpi.toolSub":"запусков инструментов: {dur}","ov.kpi.wallSub":"{n} вызовов модели","ov.list.dayClear":"Сбросить фильтр по дню","ov.list.dayFilter":"активность за {day}","ov.list.empty":"Сессий пока нет — профиль контекста каждой сессии появится здесь после её запуска","ov.list.next":"Следующая страница","ov.list.noData":"Данных контекста пока нет — статистика появится после запросов к модели","ov.list.noMatch":"Нет сессий, соответствующих текущим фильтрам","ov.list.page":"Страница {n} из {total}","ov.list.pager":"Пагинация сессий","ov.list.prev":"Предыдущая страница","ov.list.search":"Поиск по названию или пути…","ov.list.sort.context":"По текущему контексту","ov.list.sort.recent":"По обновлению","ov.list.sort.tokens":"По токенам","ov.list.sortLabel":"Сортировка","ov.list.title":"Сессии","ov.range.30d":"Последние 30 дней","ov.range.7d":"Последние 7 дней","ov.range.all":"Все","ov.range.label":"Период","ov.running":"Выполняется","ov.time.d":"{n} дн назад","ov.time.h":"{n} ч назад","ov.time.m":"{n} мин назад","ov.time.now":"только что","ov.title":"Аналитика контекста","ov.unavailable":"Список сессий недоступен","overview.compactReserve":"Резерв автоуплотнения: автоуплотнение срабатывает при {pct}% окна — эта область обычно сохраняется как запас, фактически не используется.","overview.estimate":"токены (примерно)","overview.free":"Бесплатное окно","overview.ofUsed":"из использованного контекста","overview.title":"Текущий контекст","overview.used":"использовано контекста","placement.all":"Везде","placement.sidebar":"Боковая панель","placement.tab":"Вкладка","plugin.github":"GitHub","plugin.hint":"Лучший плагин контекста для DSH ⭐","plugin.name":"Плагин","plugin.settings":"Настройки","plugin.settingsOpen":"Открыть в Настройках","plugin.title":"Информация о плагине","rich.copied":"Скопировано","rich.copy":"Скопировать исходный текст","rich.md":"Markdown","rich.md.copied":"Скопировано","rich.md.copy":"Копировать","rich.md.footnotes":"Сноски","rich.raw":"Сырьё","rich.toMd":"Просмотреть как Markdown","rich.toRaw":"Просмотреть исходный текст","settings.collapse":"Свернуть","settings.desc":"Настройки отображения для панели Context","settings.expand":"Развернуть","settings.fileSort":"Сортировка файлов по умолчанию","settings.gran":"Гранулярность трендов по умолчанию","settings.insightsEntry":"Пункт Context Insights","settings.mode":"Отображение трендов по умолчанию","settings.placement":"Варианты размещения","settings.readOnly":"Настройки доступны только для чтения в этой среде","settings.title":"Контекст","settings.toolSort":"Схемы инструментов · Сортировка по умолчанию","sidebar.guideDescription":"Анализ состава контекста сессии, пошаговой истории и сообщений.","stats.cacheHit":"Кэш-попадания","stats.cacheHitTip":"Накопительная доля чтения из кэша от общего платного ввода за сессию.","stats.compactions":"Компактизации","stats.cost":"Расч. стоимость","stats.costHit":"попадание","stats.costMiss":"пропустить","stats.costOut":"Вывод","stats.costPriceHead":"Тарифы за 1 миллион токенов (пиковый | внепиковый по половине цены):","stats.costPriceHeadPair":"Ставки за 1 млн токенов (пик|скидка):","stats.costTip":"Примерная совокупная стоимость всей сессии по прайс-листу DeepSeek: входные данные разделены по попаданию/промаху кэша, выходные данные включают рассуждения; каждый запрос оценивается по пиковой ставке (01:00–04:00, 06:00–10:00 UTC) или по половинной ставке вне пикового времени в зависимости от времени запроса. Применяется к deepseek-v4-flash / deepseek-v4-pro на любом провайдере; цены зафиксированы, только для справки.","stats.costTipDeepseek":"DeepSeek тарифицирует пиковые окна (будни 09:00–12:00, 14:00–18:00 по Пекину) по полному прайсу; в остальные часы действует скидка 50%.","stats.costUnavailable":"Цены моделей недоступны (повторяем запрос) — стоимость пока не может быть рассчитана.","stats.costWrite":"запись","stats.hint":"За период сохранённой истории (аналогично графику истории)","stats.humanInputs":"Сообщения пользователя","stats.humanInputsTip":"Сообщения пользователя и ответы на вопросы в текущей сессии.","stats.images":"Изображения","stats.injects":"Инъекции","stats.prunes":"Чернослив","stats.steps":"Шаги","stats.subCost":"Затраты субагентов","stats.subCostTip":"Суммарная оценка совокупных затрат всех сессий субагентов (на той же основе); текущий агент не включён.","stats.title":"Статистика контекста","stats.toolCalls":"Вызовы инструментов","stats.turns":"Переключается","tab":"Контекст","timing.callTimes":"Вызовов: {n}","timing.empty":"Данных о таймингах пока нет — они появятся в процессе беседы","timing.gen":"Генерация LLM","timing.hint":"Распределение времени активности за всю сессию","timing.other":"Накладные расходы","timing.reasoning":"Размышление","timing.text":"Ответ","timing.title":"Статистика таймингов","timing.toolArgs":"Аргументы инструментов","timing.toolTimes":"Запусков: {n}","timing.tools":"Вызовы инструментов","timing.total":"Время активности","timing.ttft":"TTFT","tip.actual":"(фактическое {n})","tip.cat":"{cat} ≈ {n}","tip.delta":"Дельта {n}","tip.step":"Повернуть {t} · Шаг {s}","tip.total":"Всего ≈ {n}","tip.turn":"Поверните {t} · {n} шагов","tip.turn1":"Шаг {t} · 1 действие","tokens.cacheHit":"Попадание в кэш","tokens.cacheRead":"Вход из кэша","tokens.cacheWrite":"Запись в кэш","tokens.hint":"Суммарное использование по данным провайдера","tokens.output":"Выход","tokens.outputNote":"вкл. рассуждения","tokens.title":"Статистика токенов","tokens.total":"Всего","tokens.uncached":"Вход без кэша","tool.desc":"Описание","tool.hitsTip":"Сколько раз этот инструмент вызывался и возвращал ответ в контексте текущего шага","tool.jsonHide":"Свернуть","tool.jsonToggle":"Просмотреть сырой JSON","tool.noMatch":"Нет инструментов, соответствующих текущему фильтру","tool.params":"Параметры","tool.paramsEmpty":"(без параметров)","tool.plugin":"Регистрирующий плагин этого инструмента (для справки)","tool.search":"Фильтровать по названию, описанию или параметрам…","tool.sort.count":"По числу вызовов","tool.sort.name":"По имени","tool.sort.size":"По размеру","tool.sortTip":"Сортировать инструменты по размеру токена (по умолчанию) или по названию","tool.unknown":"Неизвестный плагин","tool.unknownTitle":"Инструмент был зарегистрирован до загрузки контекстного плагина, или его плагин был выгружен, поэтому его провайдер не может быть определен","tools.more":"из {n}","tools.top":"Лучшие схемы инструментов:","trend.adaptive":"Адаптивный","trend.adaptiveHint":"Масштабировать высоту столбцов под видимый диапазон с учётом прокрутки","trend.empty":"Отправьте сообщение, и состав контекста каждого запроса модели появится здесь","trend.focus":"Отображается только {cat}","trend.hint":"Наведите курсор для просмотра деталей, ✂ обозначает уплотнение/удаление, Шаг/Ход переключает детализацию","trend.title":"История контекста"}}
|
|
1
|
+
{"dsh-context":{"agents.billed":"{n} выставлено к оплате","agents.chip.count":"{n} агентов","agents.chip.running":"{n} запущено","agents.chip.tokens":"{n} токенов в контексте","agents.continuable":"продолжаемый","agents.legend.free":"свободное окно","agents.more":"Ещё {n} не показано","agents.oneshot":"одноразовый","agents.open":"нажмите, чтобы открыть →","agents.requests":"{n} запросов","agents.running":"выполняется","agents.self":"текущий","agents.solo":"Пока нет суб-агентов — когда агент делегирует работу через инструмент суб-агентов, сеть будет отображаться здесь","agents.sub":"Живой контекст этого агента и его подчиненных агентов · нажмите на узел, чтобы открыть его сессию","agents.title":"Сеть агентов","attach.close":"Закрыть","attach.image":"Изображение","attach.images":"Изображения","attach.loadFailed":"Не удалось загрузить · нажмите, чтобы повторить","attach.loading":"…","attach.open":"Открыть изображение полностью","attach.other":"Другой контент","attach.preview":"Превью изображения","attach.raw":"Сырой","attach.sent":"Отправлено","attach.token":"Токен","attach.tokensTip":"Расчетная стоимость токенов через официальное преобразование размера изображения DeepSeek (ограничение в 384 токена на изображение)","balance.tip.granted":"Предоставленный баланс","balance.tip.toppedUp":"Пополненный баланс","balance.title":"Баланс DeepSeek","block.answer":"Ответ","block.content":"Контент","block.line":"1 строка","block.lines":"{n} строк","block.result":"Результат","block.summary":"Сводка","block.thinking":"Обоснование","brief.input":"В","brief.inputTip":"Что было введено после предыдущего ответа и перед этим запросом — обычно результаты предыдущего вызова инструмента; начало нового оборота не содержит ничего нового","brief.locate":"Показать в контекстном браузере","brief.more":"+{n}","brief.noInputs":"(ничего нового)","brief.reply":"Ответ","brief.replyTip":"Что модель вернула на этом шаге (текстовый ответ или вызовы инструментов) — результаты вызовов отображаются в строке In следующего бара","brief.turn":"Пользователь","brief.turnTip":"Сообщение пользователя, которое открыло этот ход — каждый шаг хода ссылается на него","browser.approx":"Некоторые удаленные сообщения этого шага превышают срок хранения — приведенное ниже восстановление является приблизительным","browser.deltaHint":"по сравнению с предыдущим ходом","browser.dna":"Режим ДНК","browser.dnaTip":"Ленточная полоса элементов в порядке чтения контекста моделью: системный промпт, схемы инструментов, хронология сообщений (наведите для деталей, нажмите для перехода к строке)","browser.headerMetaOnly":"Эта среда не может загрузить заголовки по запросу; только оценка токенов","browser.items":"{n} элементов","browser.live":"В прямом эфире (Следующий запрос)","browser.liveNow":"В прямом эфире · Следующий запрос","browser.loadFailed":"Не удалось загрузить — нажмите, чтобы повторить","browser.loading":"Загрузка полного содержимого из более старой истории сеанса…","browser.missingLive":"… {n} предыдущих сообщений также являются частью контекста (за пределами предоставленного окна)","browser.noContent":"Полное содержимое находится за пределами загруженного окна сообщений (загрузите более старую историю в Чате для просмотра)","browser.noEpoch":"Содержание заголовка (Системное сообщение / Схемы инструментов) этого шага находится за пределами удержания","browser.noHeader":"Обслуживается устаревшей версией плагина: только оценка токенов, без содержимого","browser.noSystem":"В заголовке этого запроса не было системного промпта","browser.notInLog":"Этот элемент больше не находится в журнале сессии (возможно, он был удалён или очищен)","browser.preview":"Предварительный просмотр","browser.rowNoMatch":"Нет строк, соответствующих текущему фильтру","browser.search.assistant":"Фильтровать по ответам или звонкам…","browser.search.inject":"Фильтровать введённый контекст…","browser.search.skill":"Фильтр навыков…","browser.search.tool":"Фильтровать по инструменту или аргументам…","browser.search.user":"Фильтровать по тексту сообщения…","browser.title":"Контекстный браузер","call.exit":"выход {n}","call.fail":"Не удалось","call.ok":"ОК","cat.assistant":"Сообщения ассистента","cat.inject":"Введённый контекст","cat.skill":"Инъекции навыков","cat.system":"Системное сообщение","cat.tool":"Результаты инструмента","cat.tools":"Схемы инструментов","cat.user":"Сообщения пользователя","cmd.close":"Закрыть","cmd.desc":"Просмотр текущего контекста макияжа, просмотр состава по шагам","cmd.label":"Контекст","cmd.section":"Контекст","detail.actual":"Фактический запрос {n}","detail.cache":"Кэш {n}%","detail.estTotal":"Примерно ≈ {n}","detail.lastStep":"Последний шаг","detail.loadFailed":"Не удалось загрузить историю — нажмите для повтора","detail.loading":"Загрузка истории…","detail.output":"Вывод {n}","detail.step":"Ход {t} · Шаг {s} из {n}","detail.turn":"Поверните {t} · {n} шагов","error":"Не удалось прочитать данные контекста:","error.retry":"Повторить","ev.compaction":"Контекст сжат (резюме заменено {n} сообщений)","ev.mode.plan.off":"Режим плана выключен","ev.mode.plan.on":"Режим планирования включён","ev.model":"Модель изменена: {a} → {b}","ev.prune":"Вывод инструмента обрезан","ev.skill":"Навык внедрён ({name})","events.at":"Поверните {t} · Шаг {s}","events.empty":"Событий контекста пока нет (компактизация, инъекции, переключения моделей отображаются здесь)","events.range":"Поверните {t} · Шаг {a}→{b}","events.rangeTo":"Поверните {a} · Шаг {as} → Поверните {b} · Шаг {bs}","events.title":"Контекстные события","files.chipTip":"{files} файлов · {ops} операций","files.deltaTip":"Совокупное изменение строк, оцененное по аргументам вызовов редактирования/записи: + добавлено / − удалено","files.empty":"Нет чтений, записей или поиска файлов в этом диапазоне","files.errs":"{n} не удалось","files.files":"{n} файлов","files.form.dir":"Каталог","files.form.image":"Изображение","files.form.text":"Файл","files.glyph.archive":"Архив","files.glyph.assets":"Активы","files.glyph.build":"Результат сборки","files.glyph.config":"Конфигурация","files.glyph.data":"Данные / манифест","files.glyph.database":"База данных","files.glyph.deps":"Зависимости","files.glyph.docker":"Docker","files.glyph.docs":"Документы","files.glyph.document":"Документ","files.glyph.font":"Шрифт","files.glyph.hidden":"Каталог метаданных","files.glyph.ignore":"Игнорировать правила","files.glyph.lang.c":"C","files.glyph.lang.cpp":"C++","files.glyph.lang.csharp":"C#","files.glyph.lang.dart":"Dart","files.glyph.lang.go":"Перейти","files.glyph.lang.html":"HTML","files.glyph.lang.java":"Java","files.glyph.lang.js":"JavaScript","files.glyph.lang.kotlin":"Kotlin","files.glyph.lang.lua":"Lua","files.glyph.lang.php":"PHP","files.glyph.lang.ruby":"Рубин","files.glyph.lang.rust":"Ржавчина","files.glyph.lang.scala":"Скала","files.glyph.lang.svelte":"Свелт","files.glyph.lang.swift":"Быстро","files.glyph.lang.ts":"TypeScript","files.glyph.lang.vue":"Вью","files.glyph.license":"Лицензия","files.glyph.lock":"Файл блокировки","files.glyph.log":"Войти","files.glyph.markdown":"Документ с разметкой","files.glyph.media":"Медиа","files.glyph.notebook":"Блокнот","files.glyph.python":"Питон","files.glyph.root":"Корневая папка рабочей области","files.glyph.scripts":"Скрипты","files.glyph.sheet":"Таблица","files.glyph.shell":"Оболочка","files.glyph.style":"Стили","files.glyph.tests":"Тесты","files.hits":"{n} попаданий","files.kind.all":"Все","files.kind.image":"Изображения","files.kind.read":"Читать","files.kind.search":"Искали","files.kind.write":"Написано","files.locate":"Показать эту операцию в Обозревателе контекста","files.noMatch":"Нет файлов, соответствующих текущим фильтрам","files.open":"Открыть на вашем устройстве","files.preview":"Предпросмотр в боковой панели","files.readEst":"Строк прочитано, оценка на основе аргумента limit","files.readTip":"Прочитайте строки {a}–{b}","files.scopeLatest":"До последнего · следует за выбором трендового графика","files.search":"Фильтровать по пути…","files.sort.count":"Самый активный","files.sort.latest":"Последние","files.sort.path":"По пути","files.sortTip":"Сортировать файлы по количеству операций (выбранного вида при активной метке вида), последней активности или пути","files.title":"Активность файла","footer":"Оценка: та же эвристика с фиксированной плотностью, что и встроенный tokenMeter в dsh (~4 символа ≈ 1 токен); «фактическое» — это использование, сообщаемое провайдером.","form.catalog":"Обновление каталога","form.context":"Контекстная инъекция","form.instructions":"Инструкции","form.notice":"Уведомление","form.recall":"Напомнить","form.relay":"Агентский ретранслятор","form.snapshot":"Снимок состояния","gate.body":"dsh-context поддерживает DeepSeek Harness версии {minimum} или новее.","gate.current":"Текущая","gate.minimum":"Минимально требуемая","gate.ok":"Понятно","gate.orNewer":"или новее","gate.title":"Требуется обновление DSH","gran.delta":"Дельта","gran.modeHint":"Итого: суммарное значение; Дельта: изменение по сравнению с предыдущим запросом","gran.step":"Шаг","gran.total":"Всего","gran.turn":"Повернуть","insightsEntry.hide":"Скрывать","insightsEntry.show":"Показывать","jump.statsLine":"Просмотр состава контекста на вкладке «Контекст»","jump.title":"Посмотреть этот шаг во вкладке Контекст","kind.compaction":"Компактный","kind.inject":"Внедрить","kind.mode":"Режим","kind.model":"Переключить","kind.prune":"Обрезать","loading":"Чтение журнала сессии…","node.calls":"Звонки","node.empty":"(пустой ответ)","node.failed":"Выполнение инструмента завершилось с ошибкой","node.nonText":"(сообщение без текста)","node.skillTag":"Навык · {name}","node.snapshot":"Снимок:","node.toolResult":"Результат инструмента","nodes.empty":"Нет видимых сообщений прямо сейчас","nodes.hint":"в настоящее время видимые модели, сначала новые","nodes.more":"… {n} предыдущих сообщений пропущено","nodes.title":"Сообщения","ov.card.lastUser":"Последнее сообщение","ov.card.turns":"{n} реплик · {s} шагов","ov.current":"текущая","ov.entry":"Аналитика контекста","ov.group.label":"Группа","ov.group.ungrouped":"Без группы","ov.heat.empty":"Активности пока нет — ежедневное использование появится после запросов к моделям","ov.heat.mon.01":"Янв","ov.heat.mon.02":"Фев","ov.heat.mon.03":"Мар","ov.heat.mon.04":"Апр","ov.heat.mon.05":"Май","ov.heat.mon.06":"Июн","ov.heat.mon.07":"Июл","ov.heat.mon.08":"Авг","ov.heat.mon.09":"Сен","ov.heat.mon.10":"Окт","ov.heat.mon.11":"Ноя","ov.heat.mon.12":"Дек","ov.heat.sessions":"Активных сессий: {n}","ov.heat.sub":"Фильтр по дате","ov.heat.title":"Активность","ov.heat.wd.1":"Пн","ov.heat.wd.3":"Ср","ov.heat.wd.5":"Пт","ov.kpi.ofTotal":"из {n} всего","ov.kpi.sessions":"Активные сессии","ov.kpi.sessionsSub":"в {n} сессиях","ov.kpi.tokens":"Использовано токенов","ov.kpi.toolSub":"запусков инструментов: {dur}","ov.kpi.wallSub":"{n} вызовов модели","ov.list.dayClear":"Сбросить фильтр по дню","ov.list.dayFilter":"активность за {day}","ov.list.empty":"Сессий пока нет — профиль контекста каждой сессии появится здесь после её запуска","ov.list.next":"Следующая страница","ov.list.noData":"Данных контекста пока нет — статистика появится после запросов к модели","ov.list.noMatch":"Нет сессий, соответствующих текущим фильтрам","ov.list.page":"Страница {n} из {total}","ov.list.pager":"Пагинация сессий","ov.list.prev":"Предыдущая страница","ov.list.search":"Поиск по названию или пути…","ov.list.sort.context":"По текущему контексту","ov.list.sort.recent":"По обновлению","ov.list.sort.tokens":"По токенам","ov.list.sortLabel":"Сортировка","ov.list.title":"Сессии","ov.range.24h":"За последние 24 часа","ov.range.30d":"Последние 30 дней","ov.range.7d":"Последние 7 дней","ov.range.all":"Все","ov.range.label":"Период","ov.running":"Выполняется","ov.time.d":"{n} дн назад","ov.time.h":"{n} ч назад","ov.time.m":"{n} мин назад","ov.time.now":"только что","ov.title":"Аналитика контекста","ov.unavailable":"Список сессий недоступен","overview.compactReserve":"Резерв автоуплотнения: автоуплотнение срабатывает при {pct}% окна — эта область обычно сохраняется как запас, фактически не используется.","overview.estimate":"токены (примерно)","overview.free":"Бесплатное окно","overview.ofUsed":"из использованного контекста","overview.title":"Текущий контекст","overview.used":"использовано контекста","placement.all":"Везде","placement.sidebar":"Боковая панель","placement.tab":"Вкладка","plugin.github":"GitHub","plugin.hint":"Лучший плагин контекста для DSH ⭐","plugin.name":"Плагин","plugin.settings":"Настройки","plugin.settingsOpen":"Открыть в Настройках","plugin.title":"Информация о плагине","rich.copied":"Скопировано","rich.copy":"Скопировать исходный текст","rich.md":"Markdown","rich.md.copied":"Скопировано","rich.md.copy":"Копировать","rich.md.footnotes":"Сноски","rich.raw":"Сырьё","rich.toMd":"Просмотреть как Markdown","rich.toRaw":"Просмотреть исходный текст","settings.collapse":"Свернуть","settings.desc":"Настройки отображения для панели Context","settings.expand":"Развернуть","settings.fileSort":"Сортировка файлов по умолчанию","settings.gran":"Гранулярность трендов по умолчанию","settings.insightsEntry":"Пункт Context Insights","settings.mode":"Отображение трендов по умолчанию","settings.placement":"Варианты размещения","settings.readOnly":"Настройки доступны только для чтения в этой среде","settings.title":"Контекст","settings.toolSort":"Схемы инструментов · Сортировка по умолчанию","sidebar.guideDescription":"Анализ состава контекста сессии, пошаговой истории и сообщений.","stats.cacheHit":"Кэш-попадания","stats.cacheHitTip":"Накопительная доля чтения из кэша от общего платного ввода за сессию.","stats.compactions":"Компактизации","stats.cost":"Расч. стоимость","stats.costHit":"попадание","stats.costMiss":"пропустить","stats.costOut":"Вывод","stats.costPriceHead":"Тарифы за 1 миллион токенов (пиковый | внепиковый по половине цены):","stats.costPriceHeadPair":"Ставки за 1 млн токенов (пик|скидка):","stats.costTip":"Примерная совокупная стоимость всей сессии по прайс-листу DeepSeek: входные данные разделены по попаданию/промаху кэша, выходные данные включают рассуждения; каждый запрос оценивается по пиковой ставке (01:00–04:00, 06:00–10:00 UTC) или по половинной ставке вне пикового времени в зависимости от времени запроса. Применяется к deepseek-v4-flash / deepseek-v4-pro на любом провайдере; цены зафиксированы, только для справки.","stats.costTipDeepseek":"DeepSeek тарифицирует пиковые окна (будни 09:00–12:00, 14:00–18:00 по Пекину) по полному прайсу; в остальные часы действует скидка 50%.","stats.costUnavailable":"Цены моделей недоступны (повторяем запрос) — стоимость пока не может быть рассчитана.","stats.costWrite":"запись","stats.hint":"За период сохранённой истории (аналогично графику истории)","stats.humanInputs":"Сообщения пользователя","stats.humanInputsTip":"Сообщения пользователя и ответы на вопросы в текущей сессии.","stats.images":"Изображения","stats.injects":"Инъекции","stats.prunes":"Чернослив","stats.steps":"Шаги","stats.subCost":"Затраты субагентов","stats.subCostTip":"Суммарная оценка совокупных затрат всех сессий субагентов (на той же основе); текущий агент не включён.","stats.title":"Статистика контекста","stats.toolCalls":"Вызовы инструментов","stats.turns":"Переключается","tab":"Контекст","timing.blockTimes":"{n} блоков","timing.callTimes":"Вызовов: {n}","timing.empty":"Данных о таймингах пока нет — они появятся в процессе беседы","timing.gen":"Генерация LLM","timing.hint":"Распределение времени активности за всю сессию","timing.other":"Накладные расходы","timing.reasoning":"Размышление","timing.text":"Ответ","timing.title":"Статистика таймингов","timing.toolArgs":"Аргументы инструментов","timing.toolTimes":"Запусков: {n}","timing.tools":"Вызовы инструментов","timing.total":"Время активности","timing.tps":"{tps} ток/с","timing.tpsTip":"Скорость генерации (TPS): сумма декодированных токенов вывода к суммарному времени декодирования — так же, как в статистике сессий harness.","timing.ttft":"TTFT","tip.actual":"(фактическое {n})","tip.cat":"{cat} ≈ {n}","tip.delta":"Дельта {n}","tip.step":"Ход {t} · Шаг {s} из {n}","tip.total":"Всего ≈ {n}","tip.turn":"Поверните {t} · {n} шагов","tip.turn1":"Шаг {t} · 1 действие","tokens.cacheHit":"Попадание в кэш","tokens.cacheRead":"Вход из кэша","tokens.cacheWrite":"Запись в кэш","tokens.hint":"Суммарное использование по данным провайдера","tokens.output":"Выход","tokens.outputNote":"вкл. рассуждения","tokens.title":"Статистика токенов","tokens.total":"Всего","tokens.uncached":"Вход без кэша","tool.desc":"Описание","tool.hitsTip":"Сколько раз этот инструмент вызывался и возвращал ответ в контексте текущего шага","tool.jsonHide":"Свернуть","tool.jsonToggle":"Просмотреть сырой JSON","tool.noMatch":"Нет инструментов, соответствующих текущему фильтру","tool.params":"Параметры","tool.paramsEmpty":"(без параметров)","tool.plugin":"Регистрирующий плагин этого инструмента (для справки)","tool.search":"Фильтровать по названию, описанию или параметрам…","tool.sort.count":"По числу вызовов","tool.sort.name":"По имени","tool.sort.size":"По размеру","tool.sortTip":"Сортировать инструменты по размеру токена (по умолчанию) или по названию","tool.unknown":"Неизвестный плагин","tool.unknownTitle":"Инструмент был зарегистрирован до загрузки контекстного плагина, или его плагин был выгружен, поэтому его провайдер не может быть определен","tools.more":"из {n}","tools.top":"Лучшие схемы инструментов:","trend.adaptive":"Адаптивный","trend.adaptiveHint":"Масштабировать высоту столбцов под видимый диапазон с учётом прокрутки","trend.empty":"Отправьте сообщение, и состав контекста каждого запроса модели появится здесь","trend.focus":"Отображается только {cat}","trend.hint":"Наведите курсор для просмотра деталей, ✂ обозначает уплотнение/удаление, Шаг/Ход переключает детализацию","trend.title":"История контекста"}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"dsh-skill-explorer":{"close":"Закрыть","create.content":"Инструкции (тело SKILL.md, Markdown)","create.created":"Создано: {path}","create.description":"Описание (как модель понимает, когда активировать навык)","create.empty":"Имя, описание и содержимое навыка не могут быть пустыми","create.failed":"Ошибка создания: {error}","create.name":"Имя навыка (kebab-case, совпадает с именем каталога)","create.namePlaceholder":"например, my-workflow","create.note":"Навык активируется немедленно (автосканирование файловой системы). Его содержимое внедряется в контекст модели как инструкция — не указывайте конфиденциальные данные.","create.root":"Расположение","create.root.project":"Навыки проекта (каталог .dsh/skills текущего проекта)","create.root.user":"Глобальные навыки (~/.dsh/skills, доступны во всех проектах)","create.submit":"Создать навык","create.whenToUse":"Когда применять (необязательно)","cwd":"рабочая папка: {cwd}","entry.label":"Центр навыков","entry.tooltip":"Центр навыков: обзор и управление загруженными навыками","filter.categories":"Категории навыков","filter.clear":"Очистить фильтры","filter.empty":"Нет навыков, соответствующих «{query}»","filter.emptyWorkspace":"В текущей рабочей области нет локальных навыков","filter.searchLabel":"Поиск навыков","filter.searchPlaceholder":"Поиск по имени, тегу или описанию навыка…","filter.tags":"Фильтр по тегам","filter.workspaceAll":"Все рабочие области","filter.workspaceCurrent":"Текущая рабочая область ({name})","filter.workspaceLabel":"Рабочая область","group.bundled":"Встроенные в систему","group.custom":"Пользовательские каталоги","group.project-agents":"Навыки проекта (.agents/skills)","group.project-dsh":"Навыки проекта (.dsh/skills)","group.runtime":"Зарегистрированные в рантайме","group.user-agents":"Глобальные навыки (~/.agents/skills)","group.user-dsh":"Глобальные навыки (~/.dsh/skills)","groupHint.bundled":"Глобальные навыки, поставляемые с DSH и его плагинами","groupHint.custom":"Конфигурация customSkillDirs","groupHint.project-agents":"Расположены в каталоге проекта, ограничены его рабочей областью","groupHint.project-dsh":"Расположены в каталоге проекта, ограничены его рабочей областью","groupHint.runtime":"Навыки, зарегистрированные плагинами во время работы","groupHint.user-agents":"Глобальные навыки (~/.agents/skills), общие для всех проектов","groupHint.user-dsh":"Глобальные навыки (~/.dsh/skills), общие для всех проектов","list.count":"{count}","list.delete":"Удалить","list.deleteConfirm":"Удалить навык \"{name}\"? Он будет перемещён в .trash.","list.deleteFailed":"Не удалось удалить: {error}","list.disabled":"Отключено: недоступно для вызова моделью (нажмите для включения)","list.empty":"Навыки пока не загружены.","list.enabled":"Включено: доступно для вызова моделью (нажмите для отключения)","list.invokable":"Вызов: {marks}","list.invokableTooltip":"Модель может вызывать этот навык автоматически; ручные команды /skill остаются доступны","list.linked":"символическая ссылка","list.loadFailed":"Не удалось загрузить: {error}","list.loading":"Загрузка…","list.mark.model":"модель","list.mark.user":"пользователь","list.toggleFailed":"Сбой операции: {error}","list.when":"Условие: {when}","panel.title":"Центр навыков","provider.filesystem":"Файловая система","provider.tooltip":"Источник навыка: {provider}","refresh":"Обновить","tab.create":"Создать","tab.list":"Навыки","workspace.isolated":"Изолировано рабочей областью","workspace.isolatedHint":"Этот навык принадлежит рабочей области «{workspace}» и изолирован от контекста текущей сессии"}}
|
|
1
|
+
{"dsh-skill-explorer":{"close":"Закрыть","create.content":"Инструкции (тело SKILL.md, Markdown)","create.created":"Создано: {path}","create.description":"Описание (как модель понимает, когда активировать навык)","create.empty":"Имя, описание и содержимое навыка не могут быть пустыми","create.failed":"Ошибка создания: {error}","create.name":"Имя навыка (kebab-case, совпадает с именем каталога)","create.namePlaceholder":"например, my-workflow","create.note":"Навык активируется немедленно (автосканирование файловой системы). Его содержимое внедряется в контекст модели как инструкция — не указывайте конфиденциальные данные.","create.root":"Расположение","create.root.project":"Навыки проекта (каталог .dsh/skills текущего проекта)","create.root.user":"Глобальные навыки (~/.dsh/skills, доступны во всех проектах)","create.submit":"Создать навык","create.whenToUse":"Когда применять (необязательно)","cwd":"рабочая папка: {cwd}","edit.back":"Назад к списку","edit.failed":"Сбой сохранения: {error}","edit.loadFailed":"Не удалось загрузить: {error}","edit.loading":"Загрузка навыка…","edit.name":"Имя навыка (неизменяемое)","edit.note":"Изменяются только описание, правила вызова и тело навыка: имя, путь и статус включения остаются прежними. Изменения применяются сразу (файловая система навыков сканируется на лету).","edit.submit":"Сохранить изменения","entry.label":"Центр навыков","entry.tooltip":"Центр навыков: обзор и управление загруженными навыками","filter.categories":"Категории навыков","filter.clear":"Очистить фильтры","filter.empty":"Нет навыков, соответствующих «{query}»","filter.emptyWorkspace":"В текущей рабочей области нет локальных навыков","filter.searchLabel":"Поиск навыков","filter.searchPlaceholder":"Поиск по имени, тегу или описанию навыка…","filter.tags":"Фильтр по тегам","filter.workspaceAll":"Все рабочие области","filter.workspaceCurrent":"Текущая рабочая область ({name})","filter.workspaceLabel":"Рабочая область","group.bundled":"Встроенные в систему","group.custom":"Пользовательские каталоги","group.project-agents":"Навыки проекта (.agents/skills)","group.project-dsh":"Навыки проекта (.dsh/skills)","group.runtime":"Зарегистрированные в рантайме","group.user-agents":"Глобальные навыки (~/.agents/skills)","group.user-dsh":"Глобальные навыки (~/.dsh/skills)","groupHint.bundled":"Глобальные навыки, поставляемые с DSH и его плагинами","groupHint.custom":"Конфигурация customSkillDirs","groupHint.project-agents":"Расположены в каталоге проекта, ограничены его рабочей областью","groupHint.project-dsh":"Расположены в каталоге проекта, ограничены его рабочей областью","groupHint.runtime":"Навыки, зарегистрированные плагинами во время работы","groupHint.user-agents":"Глобальные навыки (~/.agents/skills), общие для всех проектов","groupHint.user-dsh":"Глобальные навыки (~/.dsh/skills), общие для всех проектов","list.count":"{count}","list.delete":"Удалить","list.deleteConfirm":"Удалить навык \"{name}\"? Он будет перемещён в .trash.","list.deleteFailed":"Не удалось удалить: {error}","list.disabled":"Отключено: недоступно для вызова моделью (нажмите для включения)","list.edit":"Редактировать","list.empty":"Навыки пока не загружены.","list.enabled":"Включено: доступно для вызова моделью (нажмите для отключения)","list.invokable":"Вызов: {marks}","list.invokableTooltip":"Модель может вызывать этот навык автоматически; ручные команды /skill остаются доступны","list.linked":"символическая ссылка","list.loadFailed":"Не удалось загрузить: {error}","list.loading":"Загрузка…","list.mark.model":"модель","list.mark.user":"пользователь","list.toggleFailed":"Сбой операции: {error}","list.when":"Условие: {when}","panel.title":"Центр навыков","provider.filesystem":"Файловая система","provider.tooltip":"Источник навыка: {provider}","refresh":"Обновить","tab.create":"Создать","tab.edit":"Редактирование навыка","tab.list":"Навыки","workspace.isolated":"Изолировано рабочей областью","workspace.isolatedHint":"Этот навык принадлежит рабочей области «{workspace}» и изолирован от контекста текущей сессии"}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"config-manager":{"about.authorLabel":"Author","about.cli.docs":"CLI documentation","about.cli.hint":"The GUI lives inside DSH — when DSH cannot start, the separately installed CLI (dsh-config-manager) is your first rescue tool: list snapshots / offline restore / one-click DSH reinstall, no DSH runtime needed. Install once and use it on any machine:","about.cli.title":"CLI Rescue Tool","about.diag.bundles":"бандлы: {bundles}","about.diag.hint":"Если данные не совпадают с вашей конфигурацией, проверьте аргумент DSH --profile и переменную DSH_HOME.","about.diag.label":"Источник списка плагинов","about.diag.manifestUnreadable":"В каталоге отсутствует читаемый package.json — список плагинов пуст. Проверьте соответствие профиля DSH и переменной DSH_HOME этому пути.","about.diag.pluginCount":"Обнаружено плагинов: {count}","about.diag.profile":"Профиль: {profile}","about.diag.profileDir":"Каталог: {path}","about.docs":"Documentation","about.dshVersion":"DSH {version}","about.issues":"Issues","about.links":"Links","about.loading":"Loading version info…","about.official":"Official","about.releaseNotes":"Release Notes","about.releaseNotes.allLoaded":"All releases loaded","about.releaseNotes.confirm":"Confirm","about.releaseNotes.empty":"No releases found.","about.releaseNotes.error":"Failed to load release notes. Please check your network connection or try again later.","about.releaseNotes.latest":"Latest","about.releaseNotes.loading":"Loading release notes…","about.releaseNotes.loadingMore":"Loading more releases…","about.releaseNotes.neverShow":"Don't show again","about.releaseNotes.noBody":"No description provided for this release.","about.releaseNotes.prerelease":"Pre-release","about.releaseNotes.retry":"Retry","about.releaseNotes.title":"Release Notes","about.releaseNotes.viewOnGithub":"View all releases on GitHub","about.releaseNotes.viewSingleOnGithub":"View on GitHub","about.repo":"GitHub Repository","about.retryStatus":"Retry","about.star":"⭐ Star on GitHub","about.subtitle":"Plugin info, author and feedback links","about.title":"About DSH Config Manager","about.version":"Version {version}","backupFiles.delete":"Delete","backupFiles.deleteConfirm":"Delete backup file \\«{name}\\»? This cannot be undone.","backupFiles.deleteConfirmTitle":"Delete backup file","backupFiles.deleted":"Удалён файл бэкапа «{name}»","backupFiles.download":"Download","backupFiles.empty":"No backup files yet. They appear here after a manual export or once scheduled backups are enabled.","backupFiles.error":"Failed to load backup files","backupFiles.hint":"All export artifacts (manual exports and scheduled backups) are managed here: download to your machine, import to restore, or delete. Scheduled backups auto-keep the latest 10.","backupFiles.import":"Import","backupFiles.inspect":"Inspect / Compare","backupFiles.inspectDiff":"Diff against this backup (read-only preview)","backupFiles.inspectEmpty":"This backup could not be analyzed (corrupt or unsupported format)","backupFiles.inspectGroup.changes":"Changes (will apply)","backupFiles.inspectGroup.conflicts":"Conflicts (need decision)","backupFiles.inspectGroup.others":"Others","backupFiles.inspectGroup.paths":"Path mappings (need handling)","backupFiles.inspectGroup.skipped":"Identical (nothing to do)","backupFiles.inspectItems":"Change details","backupFiles.inspectLoading":"Analyzing backup contents…","backupFiles.inspectSections":"Sections included","backupFiles.loading":"Loading backup files…","backupFiles.name":"Файл","backupFiles.noteUnreadable":"(примечание не читается)","backupFiles.searchEmpty":"No matching backup files","backupFiles.searchPlaceholder":"Search by file name or note…","backupFiles.size":"Размер","backupFiles.source":"Источник","backupFiles.source.auto":"Scheduled","backupFiles.source.manual":"Manual","backupFiles.time":"Изменён","backupFiles.title":"Backup Files","backupSchedule.consecutiveFailures":"Scheduled backups failed {count} time(s) in a row — check the configuration (disk space / permissions / section export errors)","backupSchedule.customHint":"Runs a full backup once a week at the selected weekday and time (missed triggers are not backfilled)","backupSchedule.enabled":"Enable scheduled backups","backupSchedule.enabledHint":"When on, DSH backs up automatically on the cadence below; one run fires on every startup (skipped if less than 1h since the last run).","backupSchedule.error":"Failed to load scheduled backup settings","backupSchedule.hint":"Automatically export a full backup ZIP in the background on a fixed cadence (secrets are never included, never encrypted — use manual export for encryption). Config lives in sync/backup-schedule.json and migrates with the self section.","backupSchedule.interval":"Backup interval","backupSchedule.interval.12h":"Every 12 hours","backupSchedule.interval.24h":"Every 24 hours","backupSchedule.interval.6h":"Every 6 hours","backupSchedule.interval.7d":"Every 7 days","backupSchedule.interval.custom":"Custom (weekly at a fixed time)","backupSchedule.lastRun":"Last run","backupSchedule.loading":"Loading scheduled backup settings…","backupSchedule.never":"Never run","backupSchedule.runNow":"Back up now","backupSchedule.running":"Backing up…","backupSchedule.save":"Save settings","backupSchedule.saved":"Settings saved","backupSchedule.status.failed":"Failed","backupSchedule.status.skipped":"Skipped","backupSchedule.status.success":"Success","backupSchedule.title":"Scheduled Full Backups","backupSchedule.weekday.friday":"Friday","backupSchedule.weekday.monday":"Monday","backupSchedule.weekday.saturday":"Saturday","backupSchedule.weekday.sunday":"Sunday","backupSchedule.weekday.thursday":"Thursday","backupSchedule.weekday.tuesday":"Tuesday","backupSchedule.weekday.wednesday":"Wednesday","common.back":"Назад","common.cancel":"Отмена","common.close":"Закрыть","common.confirm":"Confirm","common.done":"Готово","common.loading":"Загрузка…","common.next":"Далее","common.retry":"Повторить","common.unknownError":"Неизвестная ошибка","error.hint":"Error messages are auto-redacted and never leak secrets.","error.title":"Operation failed","export.download":"Download backup file","export.encrypt":"Encrypt backup","export.encryptHint":"Encrypt the entire backup file with a password (AES-256-GCM). The password is used once and never written into the backup or any config file; it is required to unlock the backup on import.","export.excluded":"Excluded","export.fileName":"Custom file name","export.fileNameHint":"Leave empty to auto-name (dsh-config-<date>.zip); no need to type .zip — it is appended automatically. Letters, digits, spaces, — _ . only.","export.fileNameInvalid":"Invalid file name: letters, digits, spaces, — _ . only, no path separators.","export.group.unknown":"Other","export.includeSecrets":"Export secrets","export.includeSecretsHint":"Write the real secrets (credential values) into the backup. Secrets must be stored encrypted: checking this also checks «Encrypt backup»; unchecking «Encrypt backup» unchecks this.","export.included":"Included","export.mode.custom":"Custom Export","export.mode.customHint":"Select sections per group.","export.mode.quick":"Quick Export","export.mode.quickHint":"One-click export of recommended sections (portable, no device-specific data) for routine backups.","export.naming":"File name & note (optional)","export.note":"Note","export.noteHint":"The note is shown in the local backup list (and travels with the config backup) so you can tell exports apart.","export.notePlaceholder":"e.g. Full backup before migration / 2026-08 archive","export.password":"Backup encryption password","export.passwordConfirm":"Confirm password","export.passwordMismatch":"Passwords do not match","export.passwordRequired":"An encryption password is required when encrypting the backup","export.preview":"Preview export contents","export.previewSkipped":"{count} section(s) failed to export and were skipped","export.previewSummary":"Will package {sections} section(s), approx. {size} (no secrets)","export.previewing":"Counting…","export.run":"Start Export","export.running":"Exporting…","export.saved":"Saved to downloads: {name}","export.security":"Security options","export.selectionWarnings":"Device-specific sections may not apply on another machine:","import.analyzing":"Analyzing backup…","import.compatibility.fail":"Backup analysis failed: {reason}","import.compatibility.ok":"The backup can be imported","import.compatibility.paths":"Проблем с путями: {count}","import.compatibility.plugins":"установлено {installed} · к установке {toInstall}","import.compatibility.score":"Compatibility score: {score}","import.compatibility.score.excellent":"Отличная","import.compatibility.score.good":"Хорошая","import.compatibility.score.partial":"Частичная","import.compatibility.score.unsupported":"Не поддерживается","import.compatibility.secrets":"Секретов для повторного ввода: {count}","import.compatibility.sections":"Разделов: {count}","import.compatibility.sectionsTitle":"Разделы в этой резервной копии","import.compatibility.title":"Compatibility","import.confirm.encrypted":"The backup password will decrypt and restore {count} credential(s).","import.confirm.execute":"Confirm Import","import.confirm.warning":"Import modifies the current DSH configuration; a safety snapshot is created first and everything rolls back on failure.","import.conflicts.hint":"These items already exist on this machine and differ from the backup. Decide per item.","import.conflicts.keepCurrent":"Keep current","import.conflicts.keepCurrentAll":"Keep all current","import.conflicts.review":"Decide later","import.conflicts.title":"Resolve Conflicts","import.conflicts.unresolved":"{count} item(s) unresolved","import.conflicts.useImported":"Use backup","import.conflicts.useImportedAll":"Use all backup","import.decrypt.badge":"encrypted backup","import.decrypt.previewHint":"Encrypted backup: credentials are restored automatically by the unlock password — no further password prompt.","import.decryptArchive.hint":"This backup is fully encrypted (the whole file is password-protected). Enter the password set at export time to decrypt and continue — encrypted credentials inside are restored with the same password, so this is the only password prompt. It is used once and never written to disk.","import.decryptArchive.passwordPlaceholder":"Enter backup encryption password","import.decryptArchive.title":"Unlock Encrypted Backup","import.decryptArchive.unlock":"Unlock & Continue","import.decryptArchive.unlocking":"Unlocking…","import.importing":"Importing… (installing many plugins may take a few minutes; keep this page open)","import.log.empty":"Waiting for command output…","import.log.newOutput":"↓ New output","import.log.title":"Import Log","import.paths.hint":"Absolute paths in the backup may not exist on this machine. Map each path to a new location (leave blank to skip).","import.paths.new":"New path","import.paths.old":"Original path","import.paths.title":"Path Mapping","import.paths.unresolved":"{count} path(s) unmapped","import.preview.conflicts":"{count} conflict(s)","import.preview.mcp":"{count} MCP server(s) added","import.preview.paths":"{count} path mapping(s) needed","import.preview.plugins":"{count} plugin(s) to install","import.preview.prompts":"{count} prompt(s)","import.preview.restart":"A DSH restart is required after import","import.preview.secrets":"{count} secret(s) to re-enter","import.preview.settings":"{count} settings update(s)","import.preview.title":"Import Preview","import.preview.unchanged":"{count} item(s) already identical (skipped)","import.preview.willChange":"{count} item(s) will change","import.retrySkipped":"Retry failed/skipped items ({count})","import.rollbackOnError":"Roll back everything on failure (recommended)","import.secrets.hint":"These credentials were not exported with the backup (security by design). Enter them manually to use them here; leave blank to skip.","import.secrets.optional":"(optional)","import.secrets.required":"(required)","import.secrets.title":"Re-enter Secrets","import.select.browse":"Choose ZIP file","import.select.cancel":"Cancel selection","import.select.file":"Selected: {name}","import.select.hint":"Pick a dsh-config-*.zip backup exported from DSH to begin. Analysis is read-only and changes nothing.","import.select.reselect":"Reselect","import.select.title":"Select Backup File","import.skipCurrent":"Skip current plugin","import.skipPending":"Skipping… the rest of the import continues","import.stage.analyze":"Анализ","import.stage.confirm":"Подтверждение","import.stage.decide":"Предпросмотр и решение","import.stage.done":"Готово","import.stage.execute":"Выполнение","import.stage.select":"Выбор","import.stepper.label":"Шаг {current} из {total}: {label}","nav.about":"О плагине","nav.activity":"Активность","nav.backups":"Бэкапы","nav.export":"Экспорт","nav.import":"Импорт","nav.market":"Витрина","nav.overview":"Обзор","nav.profiles":"Профили","nav.refresh":"Обновить","nav.sync":"Синхронизация","nextSteps.done":"All done — nothing else to handle","nextSteps.restart.hint":"These changes only take effect after restarting DSH:","nextSteps.restart.title":"Restart DSH to apply ({count})","nextSteps.secrets.hint":"These credentials were not exported with the backup; re-enter them on this machine:","nextSteps.secrets.title":"Re-enter credentials ({count})","nextSteps.title":"Next steps","nextSteps.unresolved.hint":"These items were not applied; you can retry them from the result page:","nextSteps.unresolved.title":"Failed / skipped ({count})","overview.activity.copy":"Копировать","overview.activity.empty":"Активности пока нет (здесь появятся бэкапы, импорты и синхронизации)","overview.activity.redacted":"(имя файла скрыто)","overview.activity.title":"Недавняя активность","overview.activity.viewAll":"Смотреть все","overview.empty.body":"После создания первого бэкапа или снимка здесь отобразятся статус здоровья и недавняя активность.","overview.empty.title":"Начните защиту своей конфигурации","overview.health.noBackup":"Резервных копий пока нет — сначала создайте бэкап или снимок","overview.health.ok":"Конфигурация в полном порядке","overview.health.recovery":"Неразрешённые элементы восстановления требуют внимания","overview.health.recoveryAction":"Перейти к восстановлению инцидентов","overview.health.scheduleFailed":"Последний бэкап по расписанию не удался — проверьте настройки","overview.kind.autosync":"Автосинхронизация","overview.kind.backup":"Резервное копирование","overview.kind.import":"Импорт","overview.kind.other":"Другая операция","overview.kind.profile-delete":"Удаление профиля","overview.kind.profile-import":"Импорт профиля","overview.kind.profile-rename":"Переименование профиля","overview.kind.profile-save":"Сохранение профиля","overview.kind.profile-switch":"Переключение профиля","overview.kind.recovery":"Восстановление","overview.kind.restore":"Восстановление","overview.kind.rollback":"Откат","overview.kind.snapshot-delete":"Удаление снимка","overview.kind.snapshot-prune":"Очистка снимков","overview.kind.sync-apply":"Применение синхронизации","overview.loading":"Загрузка обзора…","overview.location.dir":"Каталог бэкапов","overview.location.lastRun":"Последний запуск","overview.location.nextRun":"Следующий запуск","overview.location.retention":"Снимки","overview.location.retentionValue":"{used} / {limit}","overview.location.schedule":"Расписание","overview.location.scheduleOff":"Выкл.","overview.location.scheduleOn":"{interval} · посл. {time}","overview.location.title":"Хранилище бэкапов","overview.location.totalSize":"Общий объём","overview.meta.lastBackup":"Посл.: {time}","overview.meta.never":"Никогда не запускалось","overview.meta.noBackup":"Записей пока нет","overview.meta.scheduleFail":"Сбой последнего бэкапа","overview.meta.scheduleOff":"Отключено (включите для автозащиты)","overview.meta.scheduleOn":"Включено · посл. запуск {time}","overview.meta.syncOff":"Не настроено","overview.meta.syncOn":"Настроено · посл. синхронизация {time}","overview.metric.backups":"Файлы бэкапов","overview.metric.schedule":"Бэкап по расписанию","overview.metric.snapshots":"Снимки безопасности","overview.metric.sync":"Удалённая синхронизация","overview.nav.about":"О плагине","overview.nav.activity":"Активность","overview.quick.backup":"Создать бэкап","overview.quick.backupDone":"Резервное копирование завершено","overview.quick.backupFailed":"Сбой резервного копирования","overview.quick.backupHint":"Полный снимок (без секретов), доступный для отката в любой момент","overview.quick.backupTitle":"Полный снимок с возможностью отката в любой момент","overview.quick.export":"Экспорт бэкапа","overview.quick.exportHint":"Создать переносимый ZIP-архив резервной копии","overview.quick.exportTitle":"Сформировать переносимый ZIP-бэкап и скачать его","overview.quick.import":"Импорт / восстановление","overview.quick.importHint":"Восстановить конфигурацию из файла бэкапа на этом компьютере","overview.quick.importTitle":"Восстановить из файла бэкапа или перенести на этот компьютер","overview.quick.sync":"Удалённая синхронизация","overview.quick.syncHint":"Поддерживать одинаковые настройки на разных устройствах (Git / WebDAV)","overview.quick.syncTitle":"Синхронизировать конфигурации между устройствами (Git / WebDAV)","overview.quick.title":"Быстрые действия","overview.refresh":"Обновить","overview.result.failed":"Сбой","overview.result.skipped":"Пропущено","overview.result.success":"Успешно","overview.running":"Задач выполняется: {count}","overview.sections.entries":"Элементов: {count}","overview.sections.hint":"Оценено по текущей конфигурации (предпросмотр только для чтения, без записи)","overview.sections.title":"Состав разделов","overview.sections.total":"Всего","overview.state.off":"Выкл.","overview.state.on":"Вкл.","overview.subtitle":"Здоровье конфигурации и быстрые действия (данные только для чтения из каждого раздела)","overview.suggest.schedule":"Включите бэкап по расписанию для автоматической защиты настроек","overview.suggest.sync":"Настройте удалённую синхронизацию для лёгкого переноса между устройствами","overview.suggest.title":"Рекомендации","overview.time.day":"{n} дн назад","overview.time.hour":"{n} ч назад","overview.time.min":"{n} мин назад","overview.time.now":"только что","profiles.delete":"Delete","profiles.delete.done":"Удалён профиль «{name}»","profiles.deleteMessage":"Delete profile \\«{name}\\»? This group of configuration snapshots will be permanently removed.","profiles.deleteTitle":"Delete profile","profiles.empty":"No profiles yet. Save the current configuration to get started.","profiles.import.choose":"Choose JSON file","profiles.import.done":"Импортирован профиль «{name}»","profiles.import.hint":"Import an exported profile.json (from this or another machine; file sections are embedded).","profiles.import.title":"Import profile","profiles.loading":"Loading profiles…","profiles.name":"Name","profiles.nameInvalid":"Invalid profile name: letters, digits and common characters only; no path separators (/ \\\\) or \\«..\\»","profiles.previewConflicts":"{count} conflict(s)","profiles.previewHint":"Click to preview the switch (read-only)","profiles.previewItems":"Change details","profiles.previewNote":"Read-only preview above (zero writes). After confirmation a snapshot is created automatically and everything rolls back on failure.","profiles.previewRestart":"DSH restart required","profiles.previewSecrets":"{count} secret(s) to re-enter","profiles.previewSections":"Sections in this profile","profiles.previewSummary":"Switch impact","profiles.previewUnchanged":"{count} identical","profiles.previewWillChange":"{count} item(s) will change","profiles.previewing":"Analyzing switch plan…","profiles.rename":"Rename","profiles.renameMessage":"Rename profile \\«{name}\\» to:","profiles.renameTitle":"Rename profile","profiles.save.action":"Save profile","profiles.save.done":"Сохранён профиль «{name}»","profiles.save.hint":"Pick a name and save: contents reuse the export pipeline (no secrets), file sections (skills / presets) are embedded too.","profiles.save.placeholder":"e.g. Work / Personal / Minimal","profiles.save.saving":"Saving…","profiles.save.title":"Save current config as a profile","profiles.sections":"Sections","profiles.subtitle":"Save your current DSH configuration as multiple switchable profiles (Work / Personal / …); switching includes preview + auto snapshot + rollback on failure.","profiles.switch":"Switch","profiles.switchConfirm":"Confirm switch","profiles.switchDone":"Switch complete: {count} item(s) applied","profiles.switchFailed":"Switch failed (some items not applied)","profiles.switchPreviewTitle":"Switch preview: {name}","profiles.switchRolledBack":"Switch failed — fully rolled back","profiles.switching":"Switching… (auto snapshot + staged apply)","profiles.title":"Profiles","profiles.updatedAt":"Updated","report.action.done":"Done","report.action.fixIssues":"View failures","report.action.viewDetails":"View details","report.export.title":"Export Complete","report.import.title":"Import Result","report.needsRestart":"Plugin / MCP changes take effect after restarting DSH.","report.rollback.title":"Rollback Report","retention.appliesTo":"Применяется к: снимкам перед импортом + архивам запланированных резервных копий","retention.hint":"Определяет, сколько копий сохраняет автоочистка (общее правило для снимков и бэкапов). Закреплённые снимки и незавершённые точки восстановления никогда не удаляются.","retention.invalid":"Недопустимые параметры ротации — каждое поле должно быть целым числом в разрешённом диапазоне","retention.keepLast":"Хранить последних","retention.keepLastHint":"Хранить N самых свежих копий по времени; 0 отключает уровень «недавних»","retention.keepMonthly":"Хранить ежемесячных","retention.keepMonthlyHint":"Дополнительно сохранять самую свежую копию каждого месяца, не более N месяцев; 0 отключает","retention.keepYearly":"Хранить ежегодных","retention.keepYearlyHint":"Дополнительно сохранять самую свежую копию каждого года, не более N лет; 0 отключает","retention.months":"мес.","retention.summary":"Последних {keepLast} · ежемесячных {keepMonthly} · ежегодных {keepYearly}","retention.tiersOff":"Уровни не включены (эквивалентно «хранить только N самых свежих»)","retention.title":"Политика ротации копий","retention.unit":"копий","retention.years":"лет","section.description":"Экспорт / импорт / миграция конфигурации DSH (секреты исключены; опционально шифрование архива)","section.label":"Резервное копирование и миграция","shell.drawer.title":"Активность и информация","shell.status.idle":"Ожидание","shell.status.recovery":"Ожидает восстановления","shell.status.running":"Задач выполняется: {count}","shell.version":"Плагин {plugin} · DSH {dsh}","snapshots.actions":"Actions","snapshots.confirmRestore":"Confirm restore? Current files are first backed up to a safe location, then plugins added during the import are removed.","snapshots.confirmTitle":"Confirm restore","snapshots.createdAt":"Created","snapshots.delete":"Delete","snapshots.deleteConfirm":"Delete the snapshot created at {time}? This pre-import rollback point will be permanently removed and cannot be recovered.","snapshots.deleteConfirmTitle":"Delete Snapshot","snapshots.deleted":"Снимок удалён","snapshots.empty":"No snapshots yet. A safety snapshot is created automatically on import.","snapshots.empty.body":"Снимки создаются автоматически перед импортом и восстановлением для отката в один клик. Вы также можете сделать снимок прямо сейчас.","snapshots.empty.runBackup":"Создать снимок сейчас","snapshots.empty.title":"Снимков пока нет","snapshots.empty.viewFiles":"Просмотр файлов бэкапов","snapshots.entries":"Entries","snapshots.execute":"Restore now","snapshots.executing":"Restoring…","snapshots.failed":"Failed","snapshots.hint":"Export backups = portable ZIPs (download / one-click import / delete, incl. scheduled full backups). Snapshot restore = back to the pre-import state: whole-file restore of settings/patch, uninstall plugins added during import, compensate modified files; current files are backed up to a safe location first.","snapshots.kind.credentialHint":"Manual hint","snapshots.kind.fileRemove":"Remove file","snapshots.kind.fileRestore":"Restore file","snapshots.kind.hostFileRemove":"Remove whole file","snapshots.kind.hostFileRestore":"Restore whole file","snapshots.kind.pluginRemove":"Uninstall plugin","snapshots.kind.skip":"Skip","snapshots.kind.unknown":"Unknown","snapshots.loading":"Loading snapshots…","snapshots.manualHints":"Manual action needed","snapshots.noActions":"No restorable actions for this snapshot (or all skipped).","snapshots.pin":"Pin","snapshots.planTitle":"Restore Plan Preview","snapshots.plugins":"Plugins","snapshots.removedPlugins":"Removed plugins","snapshots.reportTitle":"Restore Report","snapshots.restored":"Restored","snapshots.retentionHint":"Up to {count} snapshots are kept automatically (oldest pruned); pinned snapshots are exempt from auto-pruning and can only be deleted manually.","snapshots.selectHint":"Select a snapshot to preview its restore plan (read-only preview, changes nothing):","snapshots.skipped":"Skipped","snapshots.sourceZip":"Source","snapshots.status":"Status","snapshots.status.done":"Done","snapshots.status.pending":"Pending","snapshots.status.rolled-back":"Rolled back","snapshots.status.unknown":"Unknown","snapshots.subTab.files":"Backup Files","snapshots.subTab.recovery":"Recovery","snapshots.subTab.restore":"Snapshot Restore","snapshots.subTab.schedule":"Расписание","snapshots.summary":"{hostFileRestores} whole-file restore · {hostFileRemoves} whole-file remove · {pluginRemoves} plugin uninstall · {fileRestores} file restore · {fileRemoves} file remove · {credentialHints} credential hints · {skips} skip","snapshots.title":"Backup & Snapshots","snapshots.unpin":"Unpin","snapshots.viewPlan":"View restore plan","starPrompt.body":"If you find this plugin useful, please give it a ⭐ on GitHub — your support keeps it maintained!","starPrompt.dismiss":"Don't ask again","starPrompt.star":"Star on GitHub","starPrompt.title":"Enjoying Config Manager?","status.ready":"Config Manager ready (plugin {version} · DSH {dsh} · {platform})","status.unavailable":"Config Manager service unavailable — verify the plugin is mounted.","sync.status.lastSync":"Последняя синхронизация","sync.status.sections":"Синхронизируемые разделы","toast.copied":"Скопировано в буфер обмена","toast.copyFailed":"Не удалось скопировать — выделите текст и скопируйте вручную","toast.refreshed":"Обновлено","view.about":"About","view.export":"Export","view.import":"Import","view.market":"Marketplace","view.more":"More","view.overview":"Обзор","view.profiles":"Управление профилями","view.snapshots":"Backup & Snapshots","view.sync":"Remote Sync","view.transfer":"Экспорт и импорт"}}
|
|
1
|
+
{"config-manager":{"about.authorLabel":"Author","about.cli.docs":"CLI documentation","about.cli.hint":"The GUI lives inside DSH — when DSH cannot start, the separately installed CLI (dsh-config-manager) is your first rescue tool: list snapshots / offline restore / one-click DSH reinstall, no DSH runtime needed. Install once and use it on any machine:","about.cli.title":"CLI Rescue Tool","about.diag.bundles":"бандлы: {bundles}","about.diag.hint":"Если данные не совпадают с вашей конфигурацией, проверьте аргумент DSH --profile и переменную DSH_HOME.","about.diag.label":"Источник списка плагинов","about.diag.manifestUnreadable":"В каталоге отсутствует читаемый package.json — список плагинов пуст. Проверьте соответствие профиля DSH и переменной DSH_HOME этому пути.","about.diag.pluginCount":"Обнаружено плагинов: {count}","about.diag.profile":"Профиль: {profile}","about.diag.profileDir":"Каталог: {path}","about.docs":"Documentation","about.dshVersion":"DSH {version}","about.issues":"Issues","about.links":"Links","about.loading":"Loading version info…","about.official":"Official","about.releaseNotes":"Release Notes","about.releaseNotes.allLoaded":"All releases loaded","about.releaseNotes.confirm":"Confirm","about.releaseNotes.empty":"No releases found.","about.releaseNotes.error":"Failed to load release notes. Please check your network connection or try again later.","about.releaseNotes.latest":"Latest","about.releaseNotes.loading":"Loading release notes…","about.releaseNotes.loadingMore":"Loading more releases…","about.releaseNotes.neverShow":"Don't show again","about.releaseNotes.noBody":"No description provided for this release.","about.releaseNotes.prerelease":"Pre-release","about.releaseNotes.retry":"Retry","about.releaseNotes.title":"Release Notes","about.releaseNotes.viewOnGithub":"View all releases on GitHub","about.releaseNotes.viewSingleOnGithub":"View on GitHub","about.repo":"GitHub Repository","about.retryStatus":"Retry","about.star":"⭐ Star on GitHub","about.subtitle":"Plugin info, author and feedback links","about.title":"About DSH Config Manager","about.version":"Version {version}","backupFiles.delete":"Delete","backupFiles.deleteConfirm":"Delete backup file \\«{name}\\»? This cannot be undone.","backupFiles.deleteConfirmTitle":"Delete backup file","backupFiles.deleted":"Удалён файл бэкапа «{name}»","backupFiles.download":"Download","backupFiles.empty":"No backup files yet. They appear here after a manual export or once scheduled backups are enabled.","backupFiles.error":"Failed to load backup files","backupFiles.hint":"All export artifacts (manual exports and scheduled backups) are managed here: download to your machine, import to restore, or delete. Scheduled backups auto-keep the latest 10.","backupFiles.import":"Import","backupFiles.inspect":"Inspect / Compare","backupFiles.inspectDiff":"Diff against this backup (read-only preview)","backupFiles.inspectEmpty":"This backup could not be analyzed (corrupt or unsupported format)","backupFiles.inspectGroup.changes":"Changes (will apply)","backupFiles.inspectGroup.conflicts":"Conflicts (need decision)","backupFiles.inspectGroup.others":"Others","backupFiles.inspectGroup.paths":"Path mappings (need handling)","backupFiles.inspectGroup.skipped":"Identical (nothing to do)","backupFiles.inspectItems":"Change details","backupFiles.inspectLoading":"Analyzing backup contents…","backupFiles.inspectSections":"Sections included","backupFiles.loading":"Loading backup files…","backupFiles.name":"Файл","backupFiles.noteUnreadable":"(примечание не читается)","backupFiles.searchEmpty":"No matching backup files","backupFiles.searchPlaceholder":"Search by file name or note…","backupFiles.size":"Размер","backupFiles.source":"Источник","backupFiles.source.auto":"Scheduled","backupFiles.source.manual":"Manual","backupFiles.time":"Изменён","backupFiles.title":"Backup Files","backupSchedule.consecutiveFailures":"Scheduled backups failed {count} time(s) in a row — check the configuration (disk space / permissions / section export errors)","backupSchedule.customHint":"Runs a full backup once a week at the selected weekday and time (missed triggers are not backfilled)","backupSchedule.enabled":"Enable scheduled backups","backupSchedule.enabledHint":"When on, DSH backs up automatically on the cadence below; one run fires on every startup (skipped if less than 1h since the last run).","backupSchedule.error":"Failed to load scheduled backup settings","backupSchedule.hint":"Automatically export a full backup ZIP in the background on a fixed cadence (secrets are never included, never encrypted — use manual export for encryption). Config lives in sync/backup-schedule.json and migrates with the self section.","backupSchedule.interval":"Backup interval","backupSchedule.interval.12h":"Every 12 hours","backupSchedule.interval.24h":"Every 24 hours","backupSchedule.interval.6h":"Every 6 hours","backupSchedule.interval.7d":"Every 7 days","backupSchedule.interval.custom":"Custom (weekly at a fixed time)","backupSchedule.lastRun":"Last run","backupSchedule.loading":"Loading scheduled backup settings…","backupSchedule.never":"Never run","backupSchedule.runNow":"Back up now","backupSchedule.running":"Backing up…","backupSchedule.save":"Save settings","backupSchedule.saved":"Settings saved","backupSchedule.status.failed":"Failed","backupSchedule.status.skipped":"Skipped","backupSchedule.status.success":"Success","backupSchedule.title":"Scheduled Full Backups","backupSchedule.weekday.friday":"Friday","backupSchedule.weekday.monday":"Monday","backupSchedule.weekday.saturday":"Saturday","backupSchedule.weekday.sunday":"Sunday","backupSchedule.weekday.thursday":"Thursday","backupSchedule.weekday.tuesday":"Tuesday","backupSchedule.weekday.wednesday":"Wednesday","common.back":"Назад","common.cancel":"Отмена","common.close":"Закрыть","common.confirm":"Confirm","common.done":"Готово","common.loading":"Загрузка…","common.next":"Далее","common.retry":"Повторить","common.unknownError":"Неизвестная ошибка","error.hint":"Error messages are auto-redacted and never leak secrets.","error.title":"Operation failed","export.compositionEmpty":"Ничего не выбрано для экспорта","export.compositionHint":"Предварительный расчёт на основе текущего выбора (только чтение, без записи)","export.compositionPartial":"{sections} разд. · прочитано элементов: {units} · ~{size} (включает пока не прочитанные разделы; реальный объём не меньше)","export.compositionTitle":"Состав этого экспорта","export.download":"Download backup file","export.encrypt":"Encrypt backup","export.encryptHint":"Encrypt the entire backup file with a password (AES-256-GCM). The password is used once and never written into the backup or any config file; it is required to unlock the backup on import.","export.excluded":"Excluded","export.fileName":"Custom file name","export.fileNameHint":"Leave empty to auto-name (dsh-config-<date>.zip); no need to type .zip — it is appended automatically. Letters, digits, spaces, — _ . only.","export.fileNameInvalid":"Invalid file name: letters, digits, spaces, — _ . only, no path separators.","export.group.unknown":"Other","export.hint":"По умолчанию экспортируются рекомендуемые разделы (переносимые данные без привязки к устройству). Нажмите «Выберите элементы для экспорта», чтобы настроить каждый раздел и элемент (навыки, плагины, рабочие пространства, сессии и т. д.).","export.includeSecrets":"Export secrets","export.includeSecretsHint":"Write the real secrets (credential values) into the backup. Secrets must be stored encrypted: checking this also checks «Encrypt backup»; unchecking «Encrypt backup» unchecks this.","export.included":"Included","export.mode.custom":"Custom Export","export.mode.customHint":"Select sections per group.","export.mode.quick":"Quick Export","export.mode.quickHint":"One-click export of recommended sections (portable, no device-specific data) for routine backups.","export.naming":"File name & note (optional)","export.note":"Note","export.noteHint":"The note is shown in the local backup list (and travels with the config backup) so you can tell exports apart.","export.notePlaceholder":"e.g. Full backup before migration / 2026-08 archive","export.nothingSelected":"Ничего не выбрано — сначала отметьте нужные разделы или элементы для экспорта.","export.password":"Backup encryption password","export.passwordConfirm":"Confirm password","export.passwordMismatch":"Passwords do not match","export.passwordRequired":"An encryption password is required when encrypting the backup","export.preview":"Preview export contents","export.previewSkipped":"{count} section(s) failed to export and were skipped","export.previewSummary":"Will package {sections} section(s), approx. {size} (no secrets)","export.previewing":"Counting…","export.run":"Start Export","export.running":"Exporting…","export.saved":"Saved to downloads: {name}","export.security":"Security options","export.selectionWarnings":"Device-specific sections may not apply on another machine:","import.analyzing":"Analyzing backup…","import.compatibility.fail":"Backup analysis failed: {reason}","import.compatibility.ok":"The backup can be imported","import.compatibility.paths":"Проблем с путями: {count}","import.compatibility.plugins":"установлено {installed} · к установке {toInstall}","import.compatibility.score":"Compatibility score: {score}","import.compatibility.score.excellent":"Отличная","import.compatibility.score.good":"Хорошая","import.compatibility.score.partial":"Частичная","import.compatibility.score.unsupported":"Не поддерживается","import.compatibility.secrets":"Секретов для повторного ввода: {count}","import.compatibility.sections":"Разделов: {count}","import.compatibility.sectionsTitle":"Разделы в этой резервной копии","import.compatibility.title":"Compatibility","import.confirm.encrypted":"The backup password will decrypt and restore {count} credential(s).","import.confirm.execute":"Confirm Import","import.confirm.warning":"Import modifies the current DSH configuration; a safety snapshot is created first and everything rolls back on failure.","import.confirm.warningNoRollback":"Импорт изменяет текущую конфигурацию DSH; сначала будет создан снимок безопасности. Параметр «Откат при ошибке» выключен: ошибка отдельного элемента не остановит остальные, а уже записанные изменения не будут отменены автоматически.","import.conflicts.detailCurrent":"Текущее","import.conflicts.detailImported":"Резервная копия","import.conflicts.empty":"Нет конфликтов","import.conflicts.hint":"These items already exist on this machine and differ from the backup. Decide per item.","import.conflicts.keepCurrent":"Keep current","import.conflicts.keepCurrentAll":"Keep all current","import.conflicts.review":"Decide later","import.conflicts.severityError":"Ошибка","import.conflicts.title":"Resolve Conflicts","import.conflicts.unresolved":"{count} item(s) unresolved","import.conflicts.useImported":"Use backup","import.conflicts.useImportedAll":"Use all backup","import.consult.hint":"Анализ только для чтения: сначала ознакомьтесь с заключением и аргументами, затем выберите состав импорта.","import.consult.next":"Далее: выбрать состав импорта","import.consult.unavailable":"Отчёт консультации сейчас недоступен (импорт всё равно может быть продолжен).","import.decrypt.badge":"encrypted backup","import.decrypt.previewHint":"Encrypted backup: credentials are restored automatically by the unlock password — no further password prompt.","import.decryptArchive.hint":"This backup is fully encrypted (the whole file is password-protected). Enter the password set at export time to decrypt and continue — encrypted credentials inside are restored with the same password, so this is the only password prompt. It is used once and never written to disk.","import.decryptArchive.passwordPlaceholder":"Enter backup encryption password","import.decryptArchive.title":"Unlock Encrypted Backup","import.decryptArchive.unlock":"Unlock & Continue","import.decryptArchive.unlocking":"Unlocking…","import.excludedByUser":"Элементов исключено пользователем: {count} (не импортируются и не включаются в снимок).","import.importing":"Importing… (installing many plugins may take a few minutes; keep this page open)","import.log.empty":"Waiting for command output…","import.log.newOutput":"↓ New output","import.log.title":"Import Log","import.nothingSelected":"Ничего не выбрано для импорта — отметьте разделы или элементы, которые хотите импортировать.","import.paths.empty":"Нет путей для сопоставления","import.paths.hint":"Absolute paths in the backup may not exist on this machine. Map each path to a new location (leave blank to skip).","import.paths.new":"New path","import.paths.old":"Original path","import.paths.title":"Path Mapping","import.paths.unresolved":"{count} path(s) unmapped","import.picker.hint":"Неотмеченные элементы не импортируются и не включаются в снимок; вы можете вернуться к этому шагу в любой момент.","import.picker.title":"Выберите элементы для импорта","import.preview.conflicts":"{count} conflict(s)","import.preview.mcp":"{count} MCP server(s) added","import.preview.paths":"{count} path mapping(s) needed","import.preview.plugins":"{count} plugin(s) to install","import.preview.prompts":"{count} prompt(s)","import.preview.restart":"A DSH restart is required after import","import.preview.secrets":"{count} secret(s) to re-enter","import.preview.settings":"{count} settings update(s)","import.preview.title":"Import Preview","import.preview.unchanged":"{count} item(s) already identical (skipped)","import.preview.willChange":"{count} item(s) will change","import.retrySkipped":"Retry failed/skipped items ({count})","import.rollbackOnError":"Roll back everything on failure (recommended)","import.secrets.hint":"These credentials were not exported with the backup (security by design). Enter them manually to use them here; leave blank to skip.","import.secrets.none":"Секреты не требуются","import.secrets.optional":"(optional)","import.secrets.required":"(required)","import.secrets.title":"Re-enter Secrets","import.select.browse":"Choose ZIP file","import.select.cancel":"Cancel selection","import.select.file":"Selected: {name}","import.select.hint":"Pick a dsh-config-*.zip backup exported from DSH to begin. Analysis is read-only and changes nothing.","import.select.reselect":"Reselect","import.select.title":"Select Backup File","import.skipCurrent":"Skip current plugin","import.skipPending":"Skipping… the rest of the import continues","import.stage.analyze":"Анализ","import.stage.confirm":"Подтверждение","import.stage.decide":"Предпросмотр и решение","import.stage.done":"Готово","import.stage.execute":"Выполнение","import.stage.select":"Выбор","import.stepper.label":"Шаг {current} из {total}: {label}","lifecycle.autoOff":"Автоснимки отключены","lifecycle.autoOn":"Автоснимки включены","lifecycle.crash.advice.check-bundles":"Перейдите в режим спасения или проверьте dsh.profile.bundles в package.json.","lifecycle.crash.advice.check-patch-tree":"Перейдите в режим спасения для отключения плагинов, затем найдите проблемный бисекцией.","lifecycle.crash.advice.repair-session":"Сначала восстановите повреждённые файлы сессий.","lifecycle.crash.advice.restore-last-good":"Рекомендуется откат к последнему заведомо работоспособному состоянию.","lifecycle.crash.lastGood":"Последнее рабочее: {time}","lifecycle.crash.reason.bundle-check":"Не удалось разрешить бандл плагина","lifecycle.crash.reason.patch-tree":"Сбой загрузки плагина (конфликт дерева монтирования)","lifecycle.crash.reason.session-corrupt":"Повреждён файл сессии","lifecycle.crash.reason.unknown":"Причина неизвестна","lifecycle.crash.restoreLastGood":"Откатить к последнему рабочему","lifecycle.crash.title":"Предыдущий запуск не был завершён","lifecycle.delete":"Удалить","lifecycle.deleteConfirm":"Удалить снимок {id}? Его больше нельзя будет использовать для отката.","lifecycle.empty":"Снимков конфигурации пока нет. При включённых автоснимках изменения сохраняются автоматически.","lifecycle.guided.action":"Открыть мастер восстановления","lifecycle.guided.desc":"Эта страница предназначена для быстрого отката в один клик (undo/redo). Если DSH не запускается из-за сбоя или прерванной транзакции, используйте мастер на странице «Резервные копии»: он покажет последствия и проверит результат.","lifecycle.guided.title":"Требуется пошаговое восстановление?","lifecycle.kind.auto":"авто","lifecycle.kind.baseline":"базовый","lifecycle.kind.manual":"ручной","lifecycle.kind.pre-restore":"до отката","lifecycle.kind.undo":"откат","lifecycle.lastAuto":"Последний автоснимок","lifecycle.never":"никогда","lifecycle.redo":"Повторить (Redo)","lifecycle.redoNone":"Нечего повторять","lifecycle.redoOk":"Восстановлено состояние {id}","lifecycle.redoTitle":"Повторить последнее отменённое изменение (если ничего не менялось)","lifecycle.rescue.active":"Режим спасения ВКЛЮЧЁН ({time}) — перезапустите DSH для применения.","lifecycle.rescue.confirm":"Режим спасения перезаписывает профильный cordis.patch.yml, очищает домашний cordis.patch.yml и сужает dsh.profile.bundles до ядра DSH и этого плагина (остальные пользовательские плагины не загружаются при старте; их пакеты НЕ удаляются). Выход полностью восстанавливает исходное состояние из резервной копии. После этого перезапустите DSH. Продолжить?","lifecycle.rescue.desc":"Если DSH не запускается из-за плагинов, этот режим сужает список монтирования до «ядро DSH + этот плагин»: перезаписывает оба слоя cordis.patch.yml и убирает сторонние плагины из dsh.profile.bundles. Пакеты не удаляются, а выход восстанавливает всё из резервной копии.","lifecycle.rescue.enter":"Войти в режим спасения","lifecycle.rescue.exit":"Выйти из режима спасения","lifecycle.rescue.exitConfirm":"Выход из режима спасения восстанавливает cordis.patch.yml и package.json из резервных копий, возвращая прежний набор плагинов. После этого необходимо перезапустить DSH. Продолжить?","lifecycle.rescue.inactive":"Режим спасения выключен","lifecycle.rescue.off":"Режим спасения отключён","lifecycle.rescue.on":"Режим спасения включён","lifecycle.rescue.restartHint":"Для применения изменений требуется перезапустить DSH.","lifecycle.rescue.stale":"Устаревший флаг спасения (смена машины или пересоздание home)","lifecycle.rescue.title":"Режим спасения","lifecycle.sections":"{count} раздел(ов)","lifecycle.snapshotCreated":"Создан снимок {id}","lifecycle.snapshotNow":"Создать снимок сейчас","lifecycle.snapshotReason":"Причина создания снимка (необязательно)","lifecycle.snapshots":"Снимки состояния конфигурации","lifecycle.undo":"Отменить (Undo)","lifecycle.undoConfirm":"Отмена вернёт конфигурацию к предыдущему отличающемуся состоянию. Текущее состояние будет сохранено перед откатом, чтобы вы могли повторить его (Redo). Продолжить?","lifecycle.undoNone":"Нечего отменять","lifecycle.undoOk":"Выполнен откат к {id}","lifecycle.undoTitle":"Отменить последнее изменение конфигурации (откат к ближайшему снимку с другим содержимым)","nav.about":"О плагине","nav.activity":"Активность","nav.backups":"Бэкапы","nav.export":"Экспорт","nav.import":"Импорт","nav.market":"Витрина","nav.overview":"Обзор","nav.profiles":"Профили","nav.recovery":"Восстановление","nav.refresh":"Обновить","nav.sync":"Синхронизация","nextSteps.done":"All done — nothing else to handle","nextSteps.restart.hint":"These changes only take effect after restarting DSH:","nextSteps.restart.title":"Restart DSH to apply ({count})","nextSteps.secrets.hint":"These credentials were not exported with the backup; re-enter them on this machine:","nextSteps.secrets.title":"Re-enter credentials ({count})","nextSteps.title":"Next steps","nextSteps.unresolved.hint":"These items were not applied; you can retry them from the result page:","nextSteps.unresolved.title":"Failed / skipped ({count})","overview.activity.copy":"Копировать","overview.activity.empty":"Активности пока нет (здесь появятся бэкапы, импорты и синхронизации)","overview.activity.redacted":"(имя файла скрыто)","overview.activity.title":"Недавняя активность","overview.activity.viewAll":"Смотреть все","overview.empty.body":"После создания первого бэкапа или снимка здесь отобразятся статус здоровья и недавняя активность.","overview.empty.title":"Начните защиту своей конфигурации","overview.health.noBackup":"Резервных копий пока нет — сначала создайте бэкап или снимок","overview.health.ok":"Конфигурация в полном порядке","overview.health.recovery":"Неразрешённые элементы восстановления требуют внимания","overview.health.recoveryAction":"Перейти к восстановлению инцидентов","overview.health.scheduleFailed":"Последний бэкап по расписанию не удался — проверьте настройки","overview.kind.autosync":"Автосинхронизация","overview.kind.backup":"Резервное копирование","overview.kind.backup-manual":"Ручной бэкап","overview.kind.import":"Импорт","overview.kind.other":"Другая операция","overview.kind.profile-create":"Создан профиль","overview.kind.profile-delete":"Удаление профиля","overview.kind.profile-import":"Импорт профиля","overview.kind.profile-rename":"Переименование профиля","overview.kind.profile-save":"Сохранение профиля","overview.kind.profile-select":"Задан профиль для следующего запуска","overview.kind.profile-switch":"Переключение профиля","overview.kind.recovery":"Восстановление","overview.kind.restore":"Восстановление","overview.kind.rollback":"Откат","overview.kind.snapshot-delete":"Удаление снимка","overview.kind.snapshot-prune":"Очистка снимков","overview.kind.sync-apply":"Применение синхронизации","overview.loading":"Загрузка обзора…","overview.location.dir":"Каталог бэкапов","overview.location.lastRun":"Последний запуск","overview.location.nextRun":"Следующий запуск","overview.location.retention":"Снимки","overview.location.retentionValue":"{used} / {limit}","overview.location.schedule":"Расписание","overview.location.scheduleOff":"Выкл.","overview.location.scheduleOn":"{interval} · посл. {time}","overview.location.title":"Хранилище бэкапов","overview.location.totalSize":"Общий объём","overview.meta.lastBackup":"Посл.: {time}","overview.meta.never":"Никогда не запускалось","overview.meta.noBackup":"Записей пока нет","overview.meta.scheduleFail":"Сбой последнего бэкапа","overview.meta.scheduleOff":"Отключено (включите для автозащиты)","overview.meta.scheduleOn":"Включено · посл. запуск {time}","overview.meta.syncOff":"Не настроено","overview.meta.syncOn":"Настроено · посл. синхронизация {time}","overview.metric.backups":"Файлы бэкапов","overview.metric.schedule":"Бэкап по расписанию","overview.metric.snapshots":"Снимки безопасности","overview.metric.sync":"Удалённая синхронизация","overview.nav.about":"О плагине","overview.nav.activity":"Активность","overview.quick.backup":"Создать бэкап","overview.quick.backupDone":"Резервное копирование завершено","overview.quick.backupFailed":"Не удалось создать резервную копию: {message}","overview.quick.backupHint":"Полный снимок (без секретов), доступный для отката в любой момент","overview.quick.backupSkippedConflict":"Пропущено: выполняется другая задача (защита от дубликатов)","overview.quick.backupSkippedDisabled":"Пропущено: резервное копирование по расписанию отключено (файл бэкапа не создавался)","overview.quick.backupSkippedLocked":"Пропущено: окружение заблокировано (выполняется другая задача или требуется снятие устаревшей блокировки)","overview.quick.backupSkippedOther":"Пропущено: служба бэкапа не может быть запущена сейчас (подробности в логах хоста)","overview.quick.backupSkippedRunning":"Пропущено: предыдущий бэкап всё ещё выполняется","overview.quick.backupTitle":"Полный снимок с возможностью отката в любой момент","overview.quick.export":"Экспорт бэкапа","overview.quick.exportHint":"Создать переносимый ZIP-архив резервной копии","overview.quick.exportTitle":"Сформировать переносимый ZIP-бэкап и скачать его","overview.quick.import":"Импорт / восстановление","overview.quick.importHint":"Восстановить конфигурацию из файла бэкапа на этом компьютере","overview.quick.importTitle":"Восстановить из файла бэкапа или перенести на этот компьютер","overview.quick.sync":"Удалённая синхронизация","overview.quick.syncHint":"Поддерживать одинаковые настройки на разных устройствах (Git / WebDAV)","overview.quick.syncTitle":"Синхронизировать конфигурации между устройствами (Git / WebDAV)","overview.quick.title":"Быстрые действия","overview.refresh":"Обновить","overview.result.failed":"Сбой","overview.result.skipped":"Пропущено","overview.result.success":"Успешно","overview.running":"Задач выполняется: {count}","overview.sections.entries":"Элементов: {count}","overview.sections.hint":"Оценено по текущей конфигурации (предпросмотр только для чтения, без записи)","overview.sections.title":"Состав разделов","overview.sections.total":"Всего","overview.state.off":"Выкл.","overview.state.on":"Вкл.","overview.subtitle":"Здоровье конфигурации и быстрые действия (данные только для чтения из каждого раздела)","overview.suggest.schedule":"Включите бэкап по расписанию для автоматической защиты настроек","overview.suggest.sync":"Настройте удалённую синхронизацию для лёгкого переноса между устройствами","overview.suggest.title":"Рекомендации","overview.time.day":"{n} дн назад","overview.time.hour":"{n} ч назад","overview.time.min":"{n} мин назад","overview.time.now":"только что","picker.clearSelection":"Очистить выбор","picker.collapse":"Свернуть","picker.collapsed":"Свернуть","picker.copyAll":"Копировать всё","picker.countAll":"{count} всего","picker.countSelected":"{count} выбрано","picker.deviceSpecific":"Специфично для устройства","picker.empty":"Элементы для экспорта не найдены","picker.emptyFilter":"Нет элементов, соответствующих фильтру","picker.error":"Не удалось прочитать состав экспорта: {message}","picker.expand":"Развернуть","picker.expanded":"Развернуть","picker.export":"Экспортировать","picker.exportCount":"Экспортировать ({count})","picker.exportNothing":"Ничего не выбрано для экспорта","picker.exporting":"Формирование архива экспорта…","picker.fileCount":"{count} файл(ов)","picker.filterPh":"Фильтр разделов и элементов…","picker.groupAll":"Все разделы","picker.groupConfig":"Конфигурация","picker.groupData":"Данные и сессии","picker.groupSystem":"Системные файлы","picker.highRisk":"Высокий риск","picker.highRiskHint":"Этот раздел взят из публичного репозитория без официальной проверки: его выбор установит плагины / запишет файлы / добавит глобальные инструкции на этой машине. Перед импортом создаётся снимок отката, поэтому подтверждение риска остаётся за вами.","picker.hint":"Выберите разделы и конкретные элементы для включения в архив экспорта.","picker.import":"Импортировать","picker.importCount":"Импортировать ({count})","picker.importNothing":"Ничего не выбрано для импорта","picker.importing":"Применение импортируемых элементов…","picker.itemCount":"{count} элементов","picker.itemSelected":"{count} выбрано","picker.loading":"Чтение элементов для экспорта…","picker.loadingItems":"Чтение элементов… (большие разделы, например сессии, могут занять некоторое время)","picker.loadingSection":"Загрузка…","picker.locked":"Пакетная связка","picker.lockedHint":"Должно экспортироваться вместе со своей группой (например, объявление патча pnpm и его файл патча); снятие выбора с любого элемента очищает всю группу.","picker.partial":"Частично","picker.search":"Поиск по разделам и элементам…","picker.sectionLoadFailed":"Не удалось загрузить · экспортируется целиком","picker.selectAll":"Выбрать все","picker.selectNone":"Снять выбор","picker.selectedOf":"Выбрано {selected} из {total}","picker.sensitive":"Секретные данные","picker.showAll":"Показать все ({count})","picker.summary":"Экспорт: {sections} разд. · {units} элем. · ~{size}","picker.summaryImport":"Будет импортировано: {sections} разд. · {units} элем.","picker.title":"Выберите элементы для экспорта","picker.unitsUnavailable":"Не удалось загрузить списки элементов для некоторых разделов; они будут экспортированы целиком.","profiles.bundles":"Слои плагинов (бандлы)","profiles.bundles.count":"{count} слоёв бандлов","profiles.bundles.none":"(нет)","profiles.copied":"Команда перезапуска скопирована","profiles.copy":"Скопировать команду","profiles.create.action":"Создать профиль","profiles.create.creating":"Создание профиля…","profiles.create.done":"Создан профиль «{name}»","profiles.create.hint":"Создаёт стандартный профиль в $DSH_HOME/profiles/<name> (package.json + cordis.patch.yml + pnpm-workspace.yaml); сторонние плагины устанавливаются в профиль отдельно.","profiles.create.nameLabel":"Имя профиля","profiles.create.placeholder":"например: writing / rescue","profiles.create.templateLabel":"Начальный шаблон","profiles.create.title":"Новый профиль","profiles.current":"Работает","profiles.delete":"Delete","profiles.delete.done":"Удалён профиль «{name}»","profiles.deleteCurrentConfirm":"Всё равно удалить работающий профиль","profiles.deleteCurrentWarning":"Это работающий сейчас профиль: текущий процесс продолжит работу, но следующий запуск завершится ошибкой.","profiles.deleteMessage":"Delete profile \\«{name}\\»? This group of configuration snapshots will be permanently removed.","profiles.deleteTitle":"Delete profile","profiles.deps":"Зависимости","profiles.detail":"Подробности","profiles.detail.info":"Информация о профиле","profiles.detail.manifest":"package.json","profiles.detail.patch":"cordis.patch.yml","profiles.detail.patchMissing":"(файл патча отсутствует)","profiles.detail.patchTooLarge":"(файл патча слишком велик, содержимое не загружено)","profiles.detailTitle":"Сведения о профиле: {name}","profiles.dir":"Каталог","profiles.empty":"No profiles yet. Save the current configuration to get started.","profiles.error.currentProfile":"Эта операция не может быть применена к работающему профилю","profiles.error.exists":"Профиль с таким именем уже существует","profiles.error.generic":"Сбой операции: {message}","profiles.error.invalidName":"Недопустимое имя профиля","profiles.error.notFound":"Профиль не найден (возможно, он был удалён)","profiles.error.reservedName":"Зарезервированные имена DSH нельзя создавать вручную","profiles.error.unknownTemplate":"Неизвестный начальный шаблон","profiles.import.choose":"Choose JSON file","profiles.import.done":"Импортирован профиль «{name}»","profiles.import.hint":"Import an exported profile.json (from this or another machine; file sections are embedded).","profiles.import.title":"Import profile","profiles.issue.manifestInvalid":"package.json повреждён","profiles.issue.patchTooLarge":"файл патча слишком велик (содержимое не отображается)","profiles.list.count":"всего {count}","profiles.list.hint":"Нажмите на строку профиля для подробных сведений (слои бандлов / зависимости / исходный патч)","profiles.list.summary":"web: {web} · headless: {headless} · другие: {generic} · с плагинами: {installed}","profiles.list.title":"Все профили","profiles.loading":"Loading profiles…","profiles.name":"Name","profiles.nameInvalid":"Invalid profile name: letters, digits and common characters only; no path separators (/ \\\\) or \\«..\\»","profiles.nameRequired":"Введите имя профиля","profiles.nameReserved":"«{name}» зарезервировано в DSH (web / headless / sdk / sdk-minimal / acp / desktop) и не может создаваться вручную","profiles.nameTooLong":"Имя профиля не может быть длиннее 64 символов","profiles.nextLaunch":"Следующий запуск","profiles.nodeModules.no":"node_modules отсутствует","profiles.nodeModules.yes":"node_modules присутствует","profiles.patchEntries":"{count} записей патча","profiles.patchReload.live":"патч перезагружается на лету","profiles.patchReload.startup":"патч применяется только при запуске","profiles.previewConflicts":"{count} conflict(s)","profiles.previewHint":"Click to preview the switch (read-only)","profiles.previewItems":"Change details","profiles.previewNote":"Read-only preview above (zero writes). After confirmation a snapshot is created automatically and everything rolls back on failure.","profiles.previewRestart":"DSH restart required","profiles.previewSecrets":"{count} secret(s) to re-enter","profiles.previewSections":"Sections in this profile","profiles.previewSummary":"Switch impact","profiles.previewUnchanged":"{count} identical","profiles.previewWillChange":"{count} item(s) will change","profiles.previewing":"Analyzing switch plan…","profiles.refresh":"Обновить","profiles.rename":"Rename","profiles.rename.done":"Переименовано в «{name}»","profiles.renameMessage":"Rename profile \\«{name}\\» to:","profiles.renameTitle":"Rename profile","profiles.row.summary":"{bundles} слоёв · {patch} записей патча · {deps} зависимостей","profiles.save.action":"Save profile","profiles.save.done":"Сохранён профиль «{name}»","profiles.save.hint":"Pick a name and save: contents reuse the export pipeline (no secrets), file sections (skills / presets) are embedded too.","profiles.save.placeholder":"e.g. Work / Personal / Minimal","profiles.save.saving":"Saving…","profiles.save.title":"Save current config as a profile","profiles.sections":"Sections","profiles.select":"Использовать при следующем запуске","profiles.selectClear":"Сбросить выбор для запуска","profiles.selectCleared":"Выбор профиля для следующего запуска сброшен","profiles.selectCurrent":"«{name}» уже является активным профилем — перезапуск не требуется.","profiles.selectDone":"«{name}» будет использован при следующем запуске","profiles.selectHint":"DSH не может переключать профили на лету: выбор только фиксирует, какой профиль запустить следующим; перезапуск выполняется вручную.","profiles.selectMissing":"Выбранный для запуска профиль «{name}» больше не существует; выберите другой.","profiles.selectPending":"При следующем запуске будет использован «{name}». Команда запуска:","profiles.shape.generic":"Пользовательский","profiles.shape.headless":"Headless","profiles.shape.web":"Web","profiles.subtitle":"Save your current DSH configuration as multiple switchable profiles (Work / Personal / …); switching includes preview + auto snapshot + rollback on failure.","profiles.switch":"Switch","profiles.switchConfirm":"Confirm switch","profiles.switchDone":"Switch complete: {count} item(s) applied","profiles.switchFailed":"Switch failed (some items not applied)","profiles.switchPreviewTitle":"Switch preview: {name}","profiles.switchRolledBack":"Switch failed — fully rolled back","profiles.switching":"Switching… (auto snapshot + staged apply)","profiles.title":"Profiles","profiles.updatedAt":"Обновлено {time}","report.action.done":"Done","report.action.fixIssues":"View failures","report.action.viewDetails":"View details","report.export.title":"Export Complete","report.import.title":"Import Result","report.needsRestart":"Plugin / MCP changes take effect after restarting DSH.","report.rollback.title":"Rollback Report","retention.appliesTo":"Применяется к: снимкам перед импортом + архивам запланированных резервных копий","retention.hint":"Определяет, сколько копий сохраняет автоочистка (общее правило для снимков и бэкапов). Закреплённые снимки и незавершённые точки восстановления никогда не удаляются.","retention.invalid":"Недопустимые параметры ротации — каждое поле должно быть целым числом в разрешённом диапазоне","retention.keepLast":"Хранить последних","retention.keepLastHint":"Хранить N самых свежих копий по времени; 0 отключает уровень «недавних»","retention.keepMonthly":"Хранить ежемесячных","retention.keepMonthlyHint":"Дополнительно сохранять самую свежую копию каждого месяца, не более N месяцев; 0 отключает","retention.keepYearly":"Хранить ежегодных","retention.keepYearlyHint":"Дополнительно сохранять самую свежую копию каждого года, не более N лет; 0 отключает","retention.months":"мес.","retention.summary":"Последних {keepLast} · ежемесячных {keepMonthly} · ежегодных {keepYearly}","retention.tiersOff":"Уровни не включены (эквивалентно «хранить только N самых свежих»)","retention.title":"Политика ротации копий","retention.unit":"копий","retention.years":"лет","section.agentInstructions":"Инструкции агента","section.agentPresets":"Пресеты агента","section.credentialsStatus":"Статус учётных данных","section.description":"Экспорт / импорт / миграция конфигурации DSH (секреты исключены; опционально шифрование архива)","section.label":"Резервное копирование и миграция","section.mcp":"MCP-серверы","section.pluginFiles":"Файлы плагинов","section.plugins":"Плагины","section.prompts":"Системные промпты","section.providers":"Провайдеры и модели","section.secrets":"Секреты","section.self":"Собственная конфигурация плагина","section.sessions":"Сессии","section.settings":"Настройки","section.skills":"Навыки","section.ui":"Настройки интерфейса","section.workspaces":"Рабочие пространства","shell.drawer.title":"Активность и информация","shell.status.idle":"Ожидание","shell.status.recovery":"Ожидает восстановления","shell.status.running":"Задач выполняется: {count}","shell.version":"Плагин {plugin} · DSH {dsh}","snapshots.actions":"Actions","snapshots.confirmRestore":"Confirm restore? Current files are first backed up to a safe location, then plugins added during the import are removed.","snapshots.confirmTitle":"Confirm restore","snapshots.createdAt":"Created","snapshots.delete":"Delete","snapshots.deleteConfirm":"Delete the snapshot created at {time}? This pre-import rollback point will be permanently removed and cannot be recovered.","snapshots.deleteConfirmTitle":"Delete Snapshot","snapshots.deleted":"Снимок удалён","snapshots.empty":"No snapshots yet. A safety snapshot is created automatically on import.","snapshots.empty.body":"Снимки создаются автоматически перед импортом и восстановлением для отката в один клик. Вы также можете сделать снимок прямо сейчас.","snapshots.empty.runBackup":"Создать снимок сейчас","snapshots.empty.title":"Снимков пока нет","snapshots.empty.viewFiles":"Просмотр файлов бэкапов","snapshots.entries":"Entries","snapshots.execute":"Restore now","snapshots.executing":"Restoring…","snapshots.failed":"Failed","snapshots.hint":"Export backups = portable ZIPs (download / one-click import / delete, incl. scheduled full backups). Snapshot restore = back to the pre-import state: whole-file restore of settings/patch, uninstall plugins added during import, compensate modified files; current files are backed up to a safe location first.","snapshots.kind.credentialHint":"Manual hint","snapshots.kind.fileRemove":"Remove file","snapshots.kind.fileRestore":"Restore file","snapshots.kind.hostFileRemove":"Remove whole file","snapshots.kind.hostFileRestore":"Restore whole file","snapshots.kind.pluginRemove":"Uninstall plugin","snapshots.kind.skip":"Skip","snapshots.kind.unknown":"Unknown","snapshots.loading":"Loading snapshots…","snapshots.manualHints":"Manual action needed","snapshots.noActions":"No restorable actions for this snapshot (or all skipped).","snapshots.pin":"Pin","snapshots.plan.added":"{count} добавлено","snapshots.plan.afterLabel":"Снимок (будет восстановлен)","snapshots.plan.beforeLabel":"Текущее (на этой машине)","snapshots.plan.changed":"{count} файлов для восстановления","snapshots.plan.deleted":"{count} к удалению","snapshots.plan.diffBinary":"Двоичный файл: построчное сравнение недоступно","snapshots.plan.diffDegraded":"Слишком много различий: показана замена всего блока","snapshots.plan.diffEscape":"Путь выходит за пределы песочницы: чтение отклонено","snapshots.plan.diffIdentical":"Обе стороны идентичны — построчных различий нет","snapshots.plan.diffMissingBlob":"В снимке отсутствует содержимое этого файла (возможно, снимок неполон)","snapshots.plan.diffNotApplicable":"Это действие не связано с изменением содержимого файла","snapshots.plan.diffTooLarge":"Файл слишком велик ({size}): построчное сравнение недоступно","snapshots.plan.diffTruncated":"Показаны первые {shown} строк из {total}","snapshots.plan.diffUnreadable":"Не удалось прочитать файл (отсутствует или не является обычным файлом)","snapshots.plan.group.changes":"К восстановлению (изменения файлов)","snapshots.plan.group.deletes":"К удалению","snapshots.plan.group.hints":"Ручные шаги","snapshots.plan.group.plugins":"Удаление плагинов","snapshots.plan.group.skips":"Без изменений","snapshots.plan.hints":"{count} ручных шагов","snapshots.plan.loadingDiff":"Загрузка различий…","snapshots.plan.noStats":"Нет статистики строк (хост её не предоставил)","snapshots.plan.plugins":"{count} удалений плагинов","snapshots.plan.skips":"{count} пропущено","snapshots.plan.statSkipped.binary":"Двоичный","snapshots.plan.statSkipped.budget":"Не подсчитано (лимит файлов)","snapshots.plan.statSkipped.tooLarge":"Слишком велик для подсчёта","snapshots.plan.statSkipped.unreadable":"Не подсчитано","snapshots.plan.statsTruncated":"Слишком много или слишком большие файлы: часть не подсчитана","snapshots.plan.status.added":"Добавлено","snapshots.plan.status.deleted":"Удалено","snapshots.plan.status.hint":"Вручную","snapshots.plan.status.modified":"Изменено","snapshots.plan.status.plugin":"Плагин","snapshots.plan.status.skip":"Пропуск","snapshots.planTitle":"Restore Plan Preview","snapshots.plugins":"Plugins","snapshots.removedPlugins":"Removed plugins","snapshots.reportDone":"Готово","snapshots.reportTitle":"Restore Report","snapshots.restored":"Restored","snapshots.retentionHint":"Up to {count} snapshots are kept automatically (oldest pruned); pinned snapshots are exempt from auto-pruning and can only be deleted manually.","snapshots.selectHint":"Select a snapshot to preview its restore plan (read-only preview, changes nothing):","snapshots.skipped":"Skipped","snapshots.sourceZip":"Source","snapshots.status":"Status","snapshots.status.done":"Done","snapshots.status.pending":"Pending","snapshots.status.rolled-back":"Rolled back","snapshots.status.unknown":"Unknown","snapshots.subTab.files":"Backup Files","snapshots.subTab.recovery":"Recovery","snapshots.subTab.restore":"Snapshot Restore","snapshots.subTab.schedule":"Расписание","snapshots.summary":"{hostFileRestores} whole-file restore · {hostFileRemoves} whole-file remove · {pluginRemoves} plugin uninstall · {fileRestores} file restore · {fileRemoves} file remove · {credentialHints} credential hints · {skips} skip","snapshots.title":"Backup & Snapshots","snapshots.unpin":"Unpin","snapshots.viewPlan":"View restore plan","starPrompt.body":"If you find this plugin useful, please give it a ⭐ on GitHub — your support keeps it maintained!","starPrompt.dismiss":"Don't ask again","starPrompt.star":"Star on GitHub","starPrompt.title":"Enjoying Config Manager?","status.ready":"Config Manager ready (plugin {version} · DSH {dsh} · {platform})","status.unavailable":"Config Manager service unavailable — verify the plugin is mounted.","sync.status.lastSync":"Последняя синхронизация","sync.status.sections":"Синхронизируемые разделы","toast.copied":"Скопировано в буфер обмена","toast.copyFailed":"Не удалось скопировать — выделите текст и скопируйте вручную","toast.refreshed":"Обновлено","view.about":"About","view.export":"Export","view.import":"Import","view.market":"Marketplace","view.more":"More","view.overview":"Обзор","view.profiles":"Управление профилями","view.snapshots":"Backup & Snapshots","view.sync":"Remote Sync","view.transfer":"Экспорт и импорт"}}
|