@goodandready/dsh-russian-lang 0.3.0 → 0.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/README.md +20 -5
  2. package/README.ru.md +20 -5
  3. package/bin/dsh-i18n.mjs +247 -0
  4. package/lib/client.js +2932 -2360
  5. package/lib/index.js +89 -15
  6. package/lib/locales/core.json +1 -1
  7. package/lib/locales/plugins/03-dshmarket.json +1 -1
  8. package/lib/locales/plugins/17-dsh-context.json +1 -1
  9. package/lib/locales/plugins/26-config-manager.json +1 -1
  10. package/lib/locales/plugins/29-config-manager-recovery.json +1 -1
  11. package/lib/locales/plugins/32-vision-bridge.json +1 -1
  12. package/lib/locales/plugins/33-messenger-gateway.json +1 -1
  13. package/lib/locales/plugins/34-key-rotation.json +1 -1
  14. package/lib/locales/plugins/35-gitea.json +1 -1
  15. package/lib/locales/plugins/36-cost-meter.json +1 -1
  16. package/lib/locales/plugins/37-time-machine.json +1 -1
  17. package/lib/locales/plugins/40-clinebot.json +1 -1
  18. package/lib/locales/plugins/41-lanmode.json +1 -1
  19. package/lib/locales/plugins/42-plugin-console.json +1 -1
  20. package/lib/locales/plugins/48-task-tracker.json +1 -1
  21. package/lib/locales/plugins/49-dsml-guard.json +1 -1
  22. package/lib/locales/plugins/54-workshop-market.json +1 -1
  23. package/lib/locales/plugins/56-cron.json +1 -1
  24. package/lib/locales/plugins/58-grok-xsearch.json +1 -1
  25. package/lib/locales/plugins/59-goal.json +1 -1
  26. package/lib/locales/plugins/60-model-sync.json +1 -1
  27. package/lib/locales/plugins/61-issue-reporter.json +1 -1
  28. package/lib/locales/plugins/62-model-search.json +1 -1
  29. package/lib/locales/plugins/63-agent-orchestrator.json +1 -1
  30. package/lib/locales/plugins/65-subscriptions.json +1 -1
  31. package/lib/locales/plugins/67-voice.json +1 -1
  32. package/lib/locales/plugins/68-image-gen.json +1 -1
  33. package/lib/locales/plugins/70-hypotheses.json +1 -1
  34. package/lib/locales/plugins/72-server-monitor.json +1 -1
  35. package/lib/locales/plugins/73-agentrouter.json +1 -1
  36. package/lib/locales/plugins/77-github-ops.json +1 -0
  37. package/lib/locales/plugins/78-web-gateway.json +1 -0
  38. package/lib/locales/plugins/79-approval-gate.json +1 -0
  39. package/lib/locales/plugins/80-ip-pool.json +1 -0
  40. package/lib/locales/plugins/81-ego-browser.json +1 -0
  41. package/lib/locales/plugins/82-effort-slider.json +1 -0
  42. package/lib/locales/zh-ru.json +1 -1
  43. package/lib/locales.js +50 -12
  44. package/lib/pure.js +306 -14
  45. package/lib/translator.js +55 -0
  46. package/package.json +7 -2
@@ -1 +1 @@
1
- {"dsh-voice":{"addCustom":"Добавить собственного провайдера","addProvider":"Добавить провайдера","autoSendVisualRing":"Анимация таймера отправки (Silence Ring)","avgLatency":"Средняя задержка","badgeHostOffline":"Хост недоступен","badgeHostOnline":"Хост в сети ({ms} мс)","badgeProviders":"Провайдеров готово: {count}","badgeSenseVoiceActive":"SenseVoice активен","badgeSenseVoiceInactive":"SenseVoice не в сети","badgeWhisperActive":"Whisper активен","badgeWhisperInactive":"Whisper не в сети","bargeIn":"Перебивание (Barge-in)","bargeInDesc":"Реальный перехват (Barge-In: голос прерывает речь ассистента)","beep":"Звуковой сигнал старта/остановки","browserFailed":"Браузер не распознал: ","browserHint":"браузер выполняет распознавание, ключ не требуется","cancel":"Отмена","cardHint":"Диктовка и голосовые сообщения: провайдеры, цепочки, локальный Whisper","chainHint":"Сверху вниз — порядок попыток обращения к провайдерам","clearKey":"Стереть ключ","collapse":"Свернуть","composerUnavailable":"Поле ввода недоступно","contextGlossary":"Инъекция глоссария контекста","contextGlossaryHint":"Автоматически извлекает идентификаторы кода и термины из поля ввода для повышения точности распознавания речи (STT)","customHint":"Любое OpenAI-совместимое API. Имя появится в списке цепочек выше.","customKeyName":"имя ключа","customModel":"модель","customModelHint":"модель для запроса (пусто — использовать встроенную)","customName":"имя в цепочке","customTitle":"Собственные провайдеры","deepgramEndpoint":"Deepgram: базовый URL","deepgramEndpointHint":"Base URL for Deepgram or self-hosted deployment (default https://api.deepgram.com)","deepinfraHint":"openai/whisper-large-v3-turbo · ключ DEEPINFRA_API_KEY","deleteAudio":"Удалить аудиозапись","dictationBtn":"Голосовой ввод","dictationChain":"Цепочка диктовки","dictationChunkSec":"Размер фрагмента диктовки (с)","dictationChunkSecHint":"Длительность непрерывной записи перед промежуточной отправкой на распознавание.","dictationEnabled":"Включить диктовку","dictationHint":"Речь разбивается по паузам, и текст вставляется в поле ввода.","dictationHotkey":"Горячая клавиша диктовки","dictationHotkeyHint":"Сочетание клавиш для быстрого запуска и остановки записи.","dictationLanguage":"Язык диктовки","dictationLanguageHint":"Язык по умолчанию (ru, en, auto).","dictationPill":"Диктовка — текст добавляется в поле ввода","dictationProvider":"Основной провайдер диктовки","dictationProviderHint":"Провайдер STT для голосового набора текста.","dictationSilenceSec":"Пауза тишины для отправки (с)","dictationSilenceSecHint":"Длительность тишины, после которой фрагмент считается завершённым.","down":"Вниз","downloadAudio":"Скачать аудио","emptyHistory":"История голосовых сообщений пуста.","error":"Error","expand":"Развернуть","fast":"Fast","fireworksHint":"whisper-v3-turbo · ключ FIREWORKS_API_KEY","gatedTurnTaking":"Режим шлюза (микрофон отключается во время речи ассистента)","general":"Общие","groqEndpoint":"Groq: базовый URL","groqModel":"Модель Groq","hardwareDesc":"Microphone device, local whisper.cpp and SenseVoice runtime settings.","hardwareTitle":"Hardware & Local Engines","hide":"Скрыть","holdHint":"Удерживайте — отпустите для отправки","hotkey":"Клавиша голосового сообщения","hotkeyHint1":"Удерживайте для записи, отпустите для отправки агенту, Esc отменяет. ","hotkeyHint2":"Подойдет любая клавиша: буква, F-клавиша или модификатор.","huggingfaceEndpoint":"HuggingFace: базовый URL","huggingfaceModel":"Модель HuggingFace","idle":"No calls","inputGain":"Усиление микрофона (dB)","inputGainHint":"Программное усиление входящего аудиосигнала.","installSensevoice":"Установить SenseVoice-Small (в 1 клик)","installingSensevoice":"Установка SenseVoice…","jargonAdd":"Добавить замену","jargonTitle":"Словарь разработчика и IT-терминов","keepPending":"Не отправлять","keySpace":"Пробел","keyUnset":"не задана","language":"Язык","lastLatency":"Последняя задержка: {ms} мс","lastRecording":"Last voice note","listen":"Слушать","listenBack":"Listen back","listening":"Слушаю в браузере…","liveInterimPreview":"Живой предпросмотр речи (промежуточный текст)","livePreview":"Предпросмотр на лету","livePreviewHint":"Отображать промежуточный текст в поле ввода во время речи.","loadingSettings":"Загрузка настроек…","localEndpoint":"Локальный STT: базовый URL","localHint":"устанавливается при запуске сервера","localModel":"Локальная модель","localOnly":"Local whisper only","localOnlyHint":"Restrict both chains to the local whisper.cpp server: fully offline.","maxDurationSec":"Макс. длительность записи (с)","maxDurationSecHint":"Автоматическая остановка записи при превышении лимита времени.","messageBtn":"Голосовое сообщение — нажмите или удерживайте","messageHint":"Единая запись, отправляемая агенту после распознавания.","messagePill":"Запись голосового сообщения","messageTitle":"Голосовое сообщение","mic":"Microphone","micAccessDenied":"Доступ к микрофону заблокирован в браузере.","micActive":"Микрофон активен","micDefault":"System default","micLevel":"Mic level","micMuted":"Микрофон отключён","micUnavailable":"Микрофон недоступен: требуется HTTPS или localhost","mistralHint":"voxtral-mini-latest · ключ MISTRAL_API_KEY","noRecorder":"Этот браузер не поддерживает MediaRecorder","noiseGate":"Noise Gate (dB)","noiseGateHint":"Mute background fan hum and keyboard clicks below threshold. Off = disabled","noiseGateOff":"Off","noiseSuppression":"Шумоподавление","noiseSuppressionHint":"Аппаратное или программное подавление фонового шума.","normal":"Normal","normalizeTranscript":"Нормализовать расшифровку файлов","normalizeTranscriptHint":"transcribe_audio: spoken numbers to digits, tidy punctuation","notReady1":"Харнесс еще не передал настройки плагина. Если он только что перезапустился, ","notReady2":"раздел появится сам через несколько секунд.","nothingHeard":"Ничего не распознано","nothingToUndo":"Нечего отменять","openaiEndpoint":"OpenAI: базовый URL","openaiHint":"whisper-1 · ключ OPENAI_API_KEY","openaiModel":"Модель OpenAI Whisper","openrouterHint":"google/gemini-2.5-flash · ключ OPENROUTER_API_KEY","openrouterWarning":"В OpenRouter нет эндпоинта /audio/transcriptions — используйте шаблон openai-chat-audio","pause":"Пауза","pauseHint":"Меньше — чаще фрагменты и быстрее появление, но выше риск обрыва слова","pauseMs":"Пауза завершения фразы, мс","play":"Воспроизвести","playbackSpeed":"Скорость воспроизведения","polish":"Polish transcript with model","polishBaseUrl":"Offline polish endpoint","polishBaseUrlHint":"OpenAI-compatible /chat/completions base URL, e.g. a local Ollama. Empty = harness model","polishHint":"Fix punctuation and fillers via the harness model before inserting","polishKeyEnv":"Offline polish key credential","polishModel":"Offline polish model","polishSend":"Polish whole draft before sending","polishSendHint":"Run the composed draft through the model right before sending","pressKey":"Нажмите клавишу…","providerChain":"Резервная цепочка провайдеров","providerChainHint":"Список провайдеров через запятую на случай сбоя основного сервиса.","providerDashboard":"Provider Latency & Health","recognitionError":"сбой распознавания","record":"Запись","recordSlot":"Запись голоса","recording":"Идёт запись…","refreshStats":"Refresh Stats","remove":"Удалить","resume":"Продолжить","retry":"Retry","sampleRate":"Частота дискретизации (Гц)","save":"Сохранить","saveAudio":"Сохранять аудиозаписи сессии","saveAudioHint":"Сохранять записанные аудиофайлы в директории данных плагина.","saveFailed":"Некоторые поля не сохранились —","saved":"Настройки сохранены","saving":"Сохранение…","secAudio":"Параметры звука","secDictation":"Режим диктовки","secProviders":"Настройки провайдеров","secVoiceMessage":"Голосовые сообщения","secondsShort":" с","sendDelay":"Dictation send delay (ms)","sendDelayHint":"Wait before appending a dictated phrase, with a cancel window. 0 = off","sendingIn":"Отправка агенту через","sensevoiceAutostart":"Autostart the SenseVoice server","sensevoiceBin":"SenseVoice: binary","sensevoiceBinHint":"used when autostart is on","sensevoiceDesc":"Сверхбыстрое офлайн-распознавание речи на CPU (задержка 50–100 мс, русский/английский).","sensevoiceDownloading":"Загрузка модели…","sensevoiceEndpoint":"SenseVoice: endpoint","sensevoiceEndpointHint":"POST endpoint of sherpa-onnx or compatible server","sensevoiceHint":"SenseVoice-ONNX / Sherpa-ONNX · ultra-fast local STT (~50ms)","sensevoiceModel":"SenseVoice: model path","sensevoiceModelHint":"Absolute path or identifier of the SenseVoice / sherpa-onnx model","sensevoiceNotInstalled":"Не установлено","sensevoiceReady":"Готово","sensevoiceTitle":"Локальный ASR SenseVoice (установка в 1 клик)","sessionCommands":"Voice session commands","sessionCommandsHint":"\"send\", \"cancel\", \"stop\", \"continue\" act on the session instead of becoming text","silence":"Пауза…","siliconflowHint":"FunAudioLLM/SenseVoiceSmall · ключ SILICONFLOW_API_KEY","slow":"Slow","smartActionsTitle":"Голосовые команды и автоматизация (Hands-free)","speaking":"Вы говорите…","statusDesc":"Current runtime connectivity to voice backends and recognition services.","statusIdle":"Ожидание ввода","statusListening":"Прослушивание…","statusProcessing":"Распознавание речи…","statusTitle":"Connection & Engine Status","stop":"Стоп","stopRecording":"Остановить запись","stopTest":"Stop Test","stream":"Continuous dictation","streamChunkMs":"Stream chunk (ms)","streamHint":"Cut phrases by a timer while you speak instead of waiting for a long pause","structuredPromptVoice":"Голосовые ответы на интерактивные запросы выбора","successRate":"Success","techJargonCorrection":"Автокоррекция технического жаргона (GitHub, Docker, pnpm, Kubernetes и др.)","testMic":"Проверить микрофон","testSuccess":"Аудио успешно записано и воспроизведено!","title":"Голос","transcribeFailed":"Ошибка распознавания: {error}","transcribing":"Идёт транскрипция…","transcript":"Текст расшифровки","turnTakingDesc":"Координация говорения и прослушивания, чтобы звук ассистента не попадал в микрофон.","turnTakingTitle":"Очередность реплик и координация аудио","uiError":"Voice UI Error:","undo":"Отменить последнюю вставку","undoHint":"Время, в течение которого автоотправку еще можно отменить","undoMs":"Окно отмены, мс","undone":"Вставка отменена","up":"Вверх","upToDate":"Актуальная версия","updateAvailable":"Доступно обновление","updateFailed":"Ошибка обновления. Проверьте логи.","updateNow":"Обновить сейчас","updateSuccess":"Успешно обновлено! Перезапустите DSH для применения.","updating":"Обновление…","vadAdapt":"Adaptive silence","vadAdaptHint":"Auto-tune the silence threshold to the pace of your speech. 0 = fixed","vadSensitivity":"Чувствительность детектора голоса (VAD)","vadSensitivityHint":"Порог обнаружения речевой активности.","versionHint":"Проверка новых версий и обновление напрямую из npm.","versionTitle":"Версия плагина и обновления","visBars":"Classic Bars","visDynamicOrb":"Dynamic Orb","visLiquidWave":"Liquid Wave","visOff":"Off","visualizerStyle":"Audio visualizer style","visualizerStyleHint":"Waveform animation inside the recording pill","vocabulary":"Custom vocabulary (one word per line)","voiceActionsLabel":"Команды голосовых действий (","voiceCommandsLabel":"Voice edit commands (\"new line\", \"paragraph\")","voiceMessageChain":"Цепочка голосовых сообщений","voiceMessageEnabled":"Разрешить отправку голосовых сообщений","voiceMessageProvider":"Провайдер голосовых сообщений","wakeWord":"Wake word","wakeWordHint":"Browser recognition starts recording when speech begins with this phrase. Empty = off","waveform":"Аудиоволна","whisperAutostart":"Автозапуск локального whisper","whisperBin":"Локальный whisper: бинарный файл","whisperBinHint":"используется при включенном автозапуске","whisperEndpoint":"Локальный whisper: эндпоинт","whisperEndpointHint":"POST /inference сервера whisper.cpp","whisperModel":"Локальный whisper: модель","whisperModelHint":"Absolute path to the ggml model file"}}
1
+ {"dsh-voice":{"addCustom":"Добавить собственного провайдера","addProvider":"Добавить провайдера","autoSendVisualRing":"Анимация таймера отправки (Silence Ring)","avgLatency":"Средняя задержка","badgeHostOffline":"Хост недоступен","badgeHostOnline":"Хост в сети ({ms} мс)","badgeProviders":"Провайдеров готово: {count}","badgeSenseVoiceActive":"SenseVoice активен","badgeSenseVoiceInactive":"SenseVoice не в сети","badgeWhisperActive":"Whisper активен","badgeWhisperInactive":"Whisper не в сети","bargeIn":"Перебивание (Barge-in)","bargeInDesc":"Реальный перехват (Barge-In: голос прерывает речь ассистента)","beep":"Звуковой сигнал старта/остановки","browserFailed":"Браузер не распознал: ","browserHint":"распознавание выполняет браузер, ключ не требуется","cancel":"Отмена","cardHint":"Диктовка и голосовые сообщения: провайдеры, цепочки, локальный Whisper","chainHint":"Сверху вниз — порядок попыток обращения к провайдерам","clearKey":"Стереть ключ","collapse":"Свернуть","composerUnavailable":"Поле ввода недоступно","contextGlossary":"Инъекция глоссария контекста","contextGlossaryHint":"Автоматически извлекает идентификаторы кода и термины из поля ввода для повышения точности распознавания речи (STT)","customHint":"Любое OpenAI-совместимое API. Имя появится в списке цепочек выше.","customKeyName":"имя ключа","customModel":"модель","customModelHint":"модель для запроса (пусто — использовать встроенную)","customName":"имя в цепочке","customTitle":"Собственные провайдеры","deepgramEndpoint":"Deepgram: базовый URL","deepgramEndpointHint":"Base URL for Deepgram or self-hosted deployment (default https://api.deepgram.com)","deepinfraHint":"openai/whisper-large-v3-turbo · ключ DEEPINFRA_API_KEY","deleteAudio":"Удалить аудиозапись","dictationBtn":"Голосовой ввод","dictationChain":"Цепочка диктовки","dictationChunkSec":"Размер фрагмента диктовки (с)","dictationChunkSecHint":"Длительность непрерывной записи перед промежуточной отправкой на распознавание.","dictationEnabled":"Включить диктовку","dictationHint":"Речь разбивается по паузам, и текст вставляется в поле ввода.","dictationHotkey":"Горячая клавиша диктовки","dictationHotkeyHint":"Сочетание клавиш для быстрого запуска и остановки записи.","dictationLanguage":"Язык диктовки","dictationLanguageHint":"Язык по умолчанию (ru, en, auto).","dictationPill":"Диктовка — текст добавляется в поле ввода","dictationProvider":"Основной провайдер диктовки","dictationProviderHint":"Провайдер STT для голосового набора текста.","dictationSilenceSec":"Пауза тишины для отправки (с)","dictationSilenceSecHint":"Длительность тишины, после которой фрагмент считается завершённым.","down":"Вниз","downloadAudio":"Скачать аудио","emptyHistory":"История голосовых сообщений пуста.","error":"Error","expand":"Развернуть","fast":"Fast","fireworksHint":"whisper-v3-turbo · ключ FIREWORKS_API_KEY","gatedTurnTaking":"Режим шлюза (микрофон отключается во время речи ассистента)","general":"Общие","groqEndpoint":"Groq: базовый URL","groqModel":"Модель Groq","hardwareDesc":"Microphone device, local whisper.cpp and SenseVoice runtime settings.","hardwareTitle":"Hardware & Local Engines","hide":"Скрыть","holdHint":"Удерживайте — отпустите для отправки","hotkey":"Клавиша голосового сообщения","hotkeyHint1":"Удерживайте для записи, отпустите для отправки агенту, Esc отменяет. ","hotkeyHint2":"Подойдет любая клавиша: буква, F-клавиша или модификатор.","huggingfaceEndpoint":"HuggingFace: базовый URL","huggingfaceModel":"Модель HuggingFace","idle":"No calls","inputGain":"Усиление микрофона (dB)","inputGainHint":"Программное усиление входящего аудиосигнала.","installSensevoice":"Установить SenseVoice-Small (в 1 клик)","installingSensevoice":"Установка SenseVoice…","jargonAdd":"Добавить замену","jargonFrom":"Разговорный сленг","jargonTitle":"Словарь разработчика и IT-терминов","jargonTo":"Корректное написание","keepPending":"Не отправлять","keySpace":"Пробел","keyUnset":"не задана","language":"Язык","lastLatency":"Последняя задержка: {ms} мс","lastRecording":"Last voice note","listen":"Слушать","listenBack":"Listen back","listening":"Слушаю в браузере…","liveInterimPreview":"Живой предпросмотр речи (промежуточный текст)","livePreview":"Предпросмотр на лету","livePreviewHint":"Отображать промежуточный текст в поле ввода во время речи.","loadingSettings":"Загрузка настроек…","localEndpoint":"Локальный STT: базовый URL","localHint":"задаётся при запуске сервера","localModel":"Локальная модель","localOnly":"Local whisper only","localOnlyHint":"Restrict both chains to the local whisper.cpp server: fully offline.","maxDurationSec":"Макс. длительность записи (с)","maxDurationSecHint":"Автоматическая остановка записи при превышении лимита времени.","messageBtn":"Голосовое сообщение — нажмите или удерживайте","messageHint":"Единая запись, отправляемая агенту после распознавания.","messagePill":"Запись голосового сообщения","messageTitle":"Голосовое сообщение","mic":"Microphone","micAccessDenied":"Доступ к микрофону заблокирован в браузере.","micActive":"Микрофон активен","micDefault":"System default","micLevel":"Mic level","micMuted":"Микрофон отключён","micUnavailable":"Микрофон недоступен: требуется HTTPS или localhost","mistralHint":"voxtral-mini-latest · ключ MISTRAL_API_KEY","noRecorder":"MediaRecorder не поддерживается этим браузером","noiseGate":"Noise Gate (dB)","noiseGateHint":"Mute background fan hum and keyboard clicks below threshold. Off = disabled","noiseGateOff":"Off","noiseSuppression":"Шумоподавление","noiseSuppressionHint":"Аппаратное или программное подавление фонового шума.","normal":"Normal","normalizeTranscript":"Нормализовать расшифровку файлов","normalizeTranscriptHint":"transcribe_audio: spoken numbers to digits, tidy punctuation","notReady1":"Харнесс еще не передал настройки плагина. Если он только что перезапустился, ","notReady2":"раздел появится сам через несколько секунд.","nothingHeard":"Ничего не распознано","nothingToUndo":"Нечего отменять","openaiEndpoint":"OpenAI: базовый URL","openaiHint":"whisper-1 · ключ OPENAI_API_KEY","openaiModel":"Модель OpenAI Whisper","openrouterHint":"google/gemini-2.5-flash · ключ OPENROUTER_API_KEY","openrouterWarning":"В OpenRouter нет эндпоинта /audio/transcriptions — используйте шаблон openai-chat-audio","pause":"Пауза","pauseHint":"Меньше — чаще фрагменты и быстрее появление, но выше риск обрыва слова","pauseMs":"Пауза завершения фразы, мс","play":"Воспроизвести","playbackSpeed":"Скорость воспроизведения","polish":"Polish transcript with model","polishBaseUrl":"Offline polish endpoint","polishBaseUrlHint":"OpenAI-compatible /chat/completions base URL, e.g. a local Ollama. Empty = harness model","polishHint":"Fix punctuation and fillers via the harness model before inserting","polishKeyEnv":"Offline polish key credential","polishModel":"Offline polish model","polishSend":"Polish whole draft before sending","polishSendHint":"Run the composed draft through the model right before sending","pressKey":"Нажмите клавишу…","providerChain":"Резервная цепочка провайдеров","providerChainHint":"Список провайдеров через запятую на случай сбоя основного сервиса.","providerDashboard":"Provider Latency & Health","recognitionError":"сбой распознавания","record":"Запись","recordSlot":"Запись голоса","recording":"Идёт запись…","refreshStats":"Refresh Stats","remove":"Удалить","resume":"Продолжить","retry":"Retry","sampleRate":"Частота дискретизации (Гц)","save":"Сохранить","saveAudio":"Сохранять аудиозаписи сессии","saveAudioHint":"Сохранять записанные аудиофайлы в директории данных плагина.","saveFailed":"Некоторые поля не сохранились —","saved":"Настройки сохранены","saving":"Сохранение…","secAudio":"Параметры звука","secDictation":"Режим диктовки","secProviders":"Настройки провайдеров","secVoiceMessage":"Голосовые сообщения","secondsShort":" с","sendDelay":"Dictation send delay (ms)","sendDelayHint":"Wait before appending a dictated phrase, with a cancel window. 0 = off","sendingIn":"Отправка агенту через","sensevoiceAutostart":"Autostart the SenseVoice server","sensevoiceBin":"SenseVoice: binary","sensevoiceBinHint":"used when autostart is on","sensevoiceDesc":"Сверхбыстрое офлайн-распознавание речи на CPU (задержка 50–100 мс, русский/английский).","sensevoiceDownloading":"Загрузка модели…","sensevoiceEndpoint":"SenseVoice: endpoint","sensevoiceEndpointHint":"POST endpoint of sherpa-onnx or compatible server","sensevoiceHint":"SenseVoice-ONNX / Sherpa-ONNX · ultra-fast local STT (~50ms)","sensevoiceModel":"SenseVoice: model path","sensevoiceModelHint":"Absolute path or identifier of the SenseVoice / sherpa-onnx model","sensevoiceNotInstalled":"Не установлено","sensevoiceReady":"Готово","sensevoiceTitle":"Локальный ASR SenseVoice (установка в 1 клик)","sessionCommands":"Voice session commands","sessionCommandsHint":"\"send\", \"cancel\", \"stop\", \"continue\" act on the session instead of becoming text","silence":"Пауза…","siliconflowHint":"FunAudioLLM/SenseVoiceSmall · ключ SILICONFLOW_API_KEY","slow":"Slow","smartActionsTitle":"Голосовые команды и автоматизация (Hands-free)","speaking":"Вы говорите…","statusDesc":"Current runtime connectivity to voice backends and recognition services.","statusIdle":"Ожидание ввода","statusListening":"Прослушивание…","statusProcessing":"Распознавание речи…","statusTitle":"Connection & Engine Status","stop":"Стоп","stopRecording":"Остановить запись","stopTest":"Stop Test","stream":"Continuous dictation","streamChunkMs":"Stream chunk (ms)","streamHint":"Cut phrases by a timer while you speak instead of waiting for a long pause","structuredPromptVoice":"Голосовые ответы на интерактивные запросы выбора","successRate":"Success","techJargonCorrection":"Автокоррекция технического жаргона (GitHub, Docker, pnpm, Kubernetes и др.)","testMic":"Проверить микрофон","testSuccess":"Аудио успешно записано и воспроизведено!","title":"Голос","transcribeFailed":"Ошибка распознавания: {error}","transcribing":"Идёт транскрипция…","transcript":"Текст расшифровки","turnTakingDesc":"Координация говорения и прослушивания, чтобы звук ассистента не попадал в микрофон.","turnTakingTitle":"Очередность реплик и координация аудио","uiError":"Voice UI Error:","undo":"Отменить последнюю вставку","undoHint":"Время, в течение которого автоотправку еще можно отменить","undoMs":"Окно отмены, мс","undone":"Вставка отменена","up":"Вверх","upToDate":"Актуальная версия","updateAvailable":"Доступно обновление","updateFailed":"Ошибка обновления. Проверьте логи.","updateNow":"Обновить сейчас","updatePrompt":"Доступна новая версия в npm. Нажмите «Обновить» для установки.","updateSuccess":"Успешно обновлено! Перезапустите DSH для применения.","updating":"Обновление…","vadAdapt":"Adaptive silence","vadAdaptHint":"Auto-tune the silence threshold to the pace of your speech. 0 = fixed","vadSensitivity":"Чувствительность детектора голоса (VAD)","vadSensitivityHint":"Порог обнаружения речевой активности.","versionHint":"Проверка новых версий и обновление напрямую из npm.","versionTitle":"Версия плагина и обновления","visBars":"Classic Bars","visDynamicOrb":"Dynamic Orb","visLiquidWave":"Liquid Wave","visOff":"Off","visualizerStyle":"Audio visualizer style","visualizerStyleHint":"Waveform animation inside the recording pill","vocabulary":"Custom vocabulary (one word per line)","voiceActionsLabel":"Команды голосовых действий (","voiceCommandsLabel":"Voice edit commands (\"new line\", \"paragraph\")","voiceMessageChain":"Цепочка голосовых сообщений","voiceMessageEnabled":"Разрешить отправку голосовых сообщений","voiceMessageProvider":"Провайдер голосовых сообщений","wakeWord":"Wake word","wakeWordHint":"Browser recognition starts recording when speech begins with this phrase. Empty = off","waveform":"Аудиоволна","whisperAutostart":"Автозапуск локального whisper","whisperBin":"Локальный whisper: бинарный файл","whisperBinHint":"используется при включенном автозапуске","whisperEndpoint":"Локальный whisper: эндпоинт","whisperEndpointHint":"POST /inference сервера whisper.cpp","whisperModel":"Локальный whisper: модель","whisperModelHint":"Absolute path to the ggml model file"}}
@@ -1 +1 @@
1
- {"dsh-image-gen":{"card.actionRemoveBg":"Удалить фон","card.actionReroll":"Перегенерировать","card.actionUpscale":"Увеличить разрешение","card.copyPrompt":"Скопировать промпт","card.failed":"Ошибка генерации","card.generating":"Генерация изображения…","card.image":"Результат Image Studio","card.origPrompt":"Исходный промпт","card.remix":"Ремикс","card.removeBg":"Удалить фон","card.reroll":"Перегенерировать","card.responsiveTabs":"Адаптивные экраны","card.seedPrefix":"Seed","card.sizePrefix":"Size","card.toolCall":"Вызов генерации изображения","card.unknownError":"An unknown error occurred during generation.","card.upscale":"Увеличить","card.vary":"Вариация","diagnostics.desc":"Быстрая проверка статуса подключения и задержки выбранного API сервиса генерации.","diagnostics.ready":"В норме","diagnostics.test":"Проверить подключение","diagnostics.testing":"Проверка...","diagnostics.title":"Диагностика подключения провайдера","f.apiKeyEnv":"Справка по API-ключу","f.apiKeyEnvHint":"Ссылка на учетные данные / переменная окружения, содержащая ключ API FAL. Префикс авторизации \"Key \" добавляется автоматически.","f.autoEnhancePrompt":"Auto Enhance Prompt","f.autoEnhancePromptHint":"Enrich prompts with photography, lighting, and composition quality tokens.","f.baseURL":"Базовый URL очереди","f.baseURLHint":"Базовый URL очереди FAL (queue.fal.run).","f.cacheByPrompt":"Cache by Prompt Only","f.cacheByPromptHint":"Reuse existing result if the prompt has already been generated.","f.cacheBySeed":"Cache by Seed + Prompt","f.cacheBySeedHint":"Reuse existing result if the exact same seed and prompt are requested.","f.cacheTtlDays":"Cache Retention (Legacy)","f.cacheTtlDaysHint":"Legacy name for retention period in days.","f.customBaseURL":"Пользовательский API: базовый URL","f.customBaseURLHint":"Корень API без завершающего слеша. Запрос отправляется на {base}/images/generations.","f.customKeyEnv":"Пользовательский API: ссылка на ключ","f.customKeyEnvHint":"Ссылка на учётные данные / переменная окружения с API-ключом. Пустое значение означает отсутствие заголовка авторизации для шлюзов, которым он не требуется.","f.customModel":"Пользовательский API: модель","f.customModelHint":"Идентификатор модели, отправленный в этот API, например, gpt-image-1.","f.customSize":"Пользовательский API: фиксированный размер","f.customSizeHint":"Оставьте пустым, и именованный размер будет переведён автоматически (square_hd → 1024x1024). Указывайте размер только для API, требующих конкретных размеров.","f.dailyBudgetUsd":"Дневной бюджет ($ USD)","f.dailyBudgetUsdHint":"Дневной бюджет ($ USD)","f.defaultFormat":"Формат по умолчанию","f.defaultFormatHint":"Используется, если вызов инструмента не содержит output_format.","f.defaultSize":"Размер изображения по умолчанию","f.defaultSizeHint":"Используется, когда вызов инструмента пропускает параметр image_size.","f.defaultStylePreset":"Default Style Preset","f.defaultStylePresetHint":"Default style preset applied to generations (e.g. cinematic, anime, photorealistic).","f.deliverAs":"Как изображение попадает в чат","f.deliverAsHint":"ссылка — результат представляет собой текст со ссылкой, и карта отображает изображение из неё; работает с любой моделью чата. изображение — результат содержит само изображение, которое текстовые модели чата не могут прочитать, поэтому для этого требуется dsh-vision-bridge или модель с поддержкой зрения.","f.diskCache":"Дисковый кэш по хэшу","f.diskCacheHint":"Дисковый кэш по хэшу","f.enableLlmEnhancer":"Включить","f.enableLlmEnhancerHint":"Включить","f.enabled":"Включить","f.enabledHint":"Включить","f.enhanceBelowChars":"Улучшение промптов","f.enhanceBelowCharsHint":"Улучшение промптов","f.enhanceModel":"Улучшение промптов","f.enhanceModelHint":"Улучшение промптов","f.enhancePrompt":"Улучшение промптов","f.enhancePromptHint":"Улучшение промптов","f.geminiKeyEnv":"Gemini Key Reference","f.geminiKeyEnvHint":"Credential reference holding Google Gemini API key.","f.geminiModel":"Gemini Model ID","f.geminiModelHint":"Google Gemini image generation model identifier.","f.historyLimit":"History Limit","f.historyLimitHint":"Maximum number of recent generation records kept in memory.","f.inherit":"По умолчанию / Наследовать","f.localA1111Url":"Local A1111 URL (Legacy)","f.localA1111UrlHint":"Direct Automatic1111 endpoint URL.","f.localBaseURL":"Local Server URL","f.localBaseURLHint":"Server address (e.g. http://127.0.0.1:8188 for ComfyUI, http://127.0.0.1:7860 for A1111).","f.localCfg":"CFG Scale","f.localCfgHint":"Classifier-free guidance scale.","f.localComfyUrl":"Local ComfyUI URL (Legacy)","f.localComfyUrlHint":"Direct ComfyUI endpoint URL.","f.localKind":"Local Engine Architecture","f.localKindHint":"Select between ComfyUI API or Automatic1111 WebUI backend.","f.localModel":"Local Model / Checkpoint","f.localModelHint":"Checkpoint name or ComfyUI workflow name.","f.localSteps":"Sampling Steps","f.localStepsHint":"Number of denoising sampling steps.","f.loopGuardLimit":"Лимит защитного цикла (Loop Guard)","f.loopGuardLimitHint":"Лимит защитного цикла (Loop Guard)","f.model":"Модель (FAL)","f.modelHint":"Идентификатор модели FAL, вызывается как {baseURL}/{model}. Используется, когда провайдер — fal.","f.needCodex":"Built-in Codex subscription","f.needCustom":"Requires OpenAI-compatible endpoint","f.needFal":"Requires FAL API key","f.needGemini":"Requires Google Gemini API key","f.needGrok":"Built-in Grok subscription","f.needLocal":"Local ComfyUI or A1111","f.needReplicate":"Requires Replicate API token","f.needSeedream":"Requires SeaDream API key","f.outputDir":"Выходной каталог","f.outputDirHint":"Относительно рабочего каталога сессии; абсолютный путь используется как есть.","f.pollIntervalMs":"Интервал опроса (мс)","f.pollIntervalMsHint":"Интервал опроса статуса во время выполнения задачи.","f.provider":"Провайдер","f.providerHint":"fal — очередь FAL, настроенная ниже. custom — любой API, совместимый с OpenAI, настраивается далее.","f.pruneDays":"Срок хранения файлов (дней)","f.pruneDaysHint":"Срок хранения файлов (дней)","f.qualityGate":"Качество изображения","f.qualityGateHint":"Качество изображения","f.replicateKeyEnv":"Replicate Key Reference","f.replicateKeyEnvHint":"Credential reference holding the Replicate API token.","f.replicateModel":"Replicate Model ID","f.replicateModelHint":"Target model identifier on Replicate.","f.seedreamBaseURL":"SeaDream Base URL","f.seedreamBaseURLHint":"SeaDream API endpoint URL (ByteDance/Volcengine Ark).","f.seedreamKeyEnv":"SeaDream Key Reference","f.seedreamKeyEnvHint":"Credential reference holding the SeaDream API key.","f.seedreamModel":"SeaDream Model ID","f.seedreamModelHint":"ByteDance SeaDream model identifier.","f.stylePreset":"Суффикс художественного стиля","f.stylePresetHint":"Суффикс художественного стиля","f.subscriptionQuality":"Subscription Quality","f.subscriptionQualityHint":"Target quality profile when using Codex or Grok subscriptions.","f.timeoutMs":"Таймаут (мс)","f.timeoutMsHint":"Общее время ожидания генерации: отправка + опрос + загрузка.","gallery.copy_link":"Копировать Markdown-ссылку","gallery.copy_prompt":"Копировать промпт","gallery.empty":"Галерея пуста. Сгенерируйте первое изображение в чате!","gallery.inspector":"Детали записи генерации","gallery.loading":"Загрузка галереи…","gallery.title":"Галерея Image Studio","p.apiKeyEnv":"Пример: FAL_API_KEY","p.baseURL":"Пример: https://queue.fal.run","p.cacheTtlDays":"0","p.customBaseURL":"Пример: https://api.openai.com/v1","p.customKeyEnv":"Пример: OPENAI_API_KEY","p.customModel":"Пример: gpt-image-1","p.customSize":"Пример: 1024x1024","p.dailyBudgetUsd":"0.00","p.defaultStylePreset":"none","p.enhanceBelowChars":"200","p.enhanceModel":"Leave empty for default chat model","p.geminiKeyEnv":"GEMINI_API_KEY","p.geminiModel":"gemini-2.0-flash-exp-image-generation","p.historyLimit":"50","p.localA1111Url":"http://127.0.0.1:7860","p.localBaseURL":"http://127.0.0.1:8188","p.localCfg":"7","p.localComfyUrl":"http://127.0.0.1:8188","p.localModel":"v1-5-pruned-emaonly.safetensors","p.localSteps":"20","p.loopGuardLimit":"3","p.model":"Пример: fal-ai/flux-2/klein/9b","p.outputDir":"Пример: сгенерированные/изображения","p.pollIntervalMs":"Пример: 2000","p.pruneDays":"0","p.replicateKeyEnv":"REPLICATE_API_TOKEN","p.replicateModel":"black-forest-labs/flux-schnell","p.seedreamBaseURL":"https://api.bytedanceapi.com/v1","p.seedreamKeyEnv":"SEEDREAM_API_KEY","p.seedreamModel":"seedream-4.0","p.timeoutMs":"Пример: 180000","remix.copied":"✓ Copied!","remix.copy_instruction":"Copy Instruction","remix.creative_btn":"Creative (0.65)","remix.creativity_label":"Creativity / Denoising Strength","remix.drawer_title":"Variations & Style Remix Workbench","remix.prompt_placeholder":"Describe stylistic adjustments, new background, or variations...","remix.subtle_btn":"Subtle (0.25)","settings.collapse":"Свернуть","settings.credentialHint":"API-ключи находятся в разделе Учетные данные в указанном наборе ссылок (Настройки → Учетные данные).","settings.description":"Генерация изображений с помощью ИИ, дорисовка, вариации, апскейл и векторизация.","settings.discard":"Сбросить изменения","settings.expand":"Развернуть","settings.invalidNumber":"Пожалуйста, введите корректное число","settings.navLabel":"Генерация изображений","settings.overridden":"переопределено","settings.readOnly":"Это развертывание доступно только для чтения: настройки нельзя изменить через графический интерфейс.","settings.reset":"Сбросить по умолчанию","settings.save":"Сохранить","settings.saveFailed":"Не удалось сохранить настройки. Пожалуйста, проверьте учетные данные и попробуйте снова.","settings.saving":"Сохранение…","settings.title":"Студия изображений","settings.unavailable":"Настройки плагина инициализируются. Они появятся автоматически через несколько секунд.","settings.unsaved":"Несохраненные изменения","stat.active_provider":"Активный провайдер","stat.budget_cache":"Бюджет и кэш","stat.format_size":"Стандартные параметры","stat.safety_status":"Безопасность и Loop Guard","tab.cache":"Кэш и хранилище","tab.enhancer":"Промпт и стили","tab.gallery":"Галерея","tab.general":"Общие","tab.provider":"Провайдер","tab.safety":"Безопасность и бюджет","updater.check":"Check updates","updater.checking":"Checking…","updater.current":"Current version","updater.failed":"Update check failed: ","updater.latest":"Latest version","updater.success":"Plugin updated successfully! Please restart DSH service.","updater.title":"Plugin Updates","updater.upToDate":"Up to date","updater.updateNow":"Update to v{version}","updater.updating":"Updating…"}}
1
+ {"dsh-image-gen":{"card.actionRemoveBg":"Удалить фон","card.actionReroll":"Перегенерировать","card.actionUpscale":"Увеличить разрешение","card.copyPrompt":"Скопировать промпт","card.failed":"Ошибка генерации","card.generating":"Генерация изображения…","card.image":"Результат Image Studio","card.origPrompt":"Исходный промпт","card.remix":"Ремикс","card.removeBg":"Удалить фон","card.reroll":"Перегенерировать","card.responsiveTabs":"Адаптивные экраны","card.seedPrefix":"Seed","card.sizePrefix":"Size","card.toolCall":"Вызов генерации изображения","card.unknownError":"An unknown error occurred during generation.","card.upscale":"Увеличить","card.vary":"Вариация","diagnostics.desc":"Быстрая проверка статуса подключения и задержки выбранного API сервиса генерации.","diagnostics.ready":"В норме","diagnostics.test":"Проверить подключение","diagnostics.testing":"Проверка...","diagnostics.title":"Диагностика подключения провайдера","f.apiKeyEnv":"Ссылка на ключ FAL","f.apiKeyEnvHint":"Имя записи в хранилище учётных данных, содержащей API-ключ FAL.","f.autoEnhancePrompt":"Auto Enhance Prompt","f.autoEnhancePromptHint":"Enrich prompts with photography, lighting, and composition quality tokens.","f.baseURL":"Базовый URL FAL","f.baseURLHint":"Эндпоинт сервиса очередей FAL.","f.cacheByPrompt":"Cache by Prompt Only","f.cacheByPromptHint":"Reuse existing result if the prompt has already been generated.","f.cacheBySeed":"Cache by Seed + Prompt","f.cacheBySeedHint":"Reuse existing result if the exact same seed and prompt are requested.","f.cacheTtlDays":"Cache Retention (Legacy)","f.cacheTtlDaysHint":"Legacy name for retention period in days.","f.customBaseURL":"Пользовательский базовый URL API","f.customBaseURLHint":"Корень OpenAI-совместимого эндпоинта изображений (например https://api.openai.com/v1).","f.customKeyEnv":"Ссылка на пользовательский ключ","f.customKeyEnvHint":"Имя записи в хранилище учётных данных, содержащей API-ключ для пользовательского эндпоинта.","f.customModel":"Пользовательский ID модели","f.customModelHint":"Имя модели, отправляемое на пользовательский эндпоинт изображений.","f.customSize":"Пользовательский размер изображения","f.customSizeHint":"Фиксированный размер, отправляемый на пользовательский эндпоинт (например 1024x1024).","f.dailyBudgetUsd":"Дневной бюджет ($ USD)","f.dailyBudgetUsdHint":"Дневной бюджет ($ USD)","f.defaultFormat":"Формат вывода","f.defaultFormatHint":"Целевой формат файла (PNG, JPEG или WEBP).","f.defaultSize":"Соотношение сторон по умолчанию","f.defaultSizeHint":"Соотношение сторон и разрешение, применяемые если image_size не указан.","f.defaultStylePreset":"Default Style Preset","f.defaultStylePresetHint":"Default style preset applied to generations (e.g. cinematic, anime, photorealistic).","f.deliverAs":"Режим доставки","f.deliverAsHint":"Как изображения передаются в диалог: \"link\" (безопасно для текстовых LLM) или \"image\" (мультимодальное зрение).","f.diskCache":"Дисковый кэш по хэшу","f.diskCacheHint":"Дисковый кэш по хэшу","f.enableLlmEnhancer":"Включить","f.enableLlmEnhancerHint":"Включить","f.enabled":"Включить","f.enabledHint":"Включить","f.enhanceBelowChars":"Улучшение промптов","f.enhanceBelowCharsHint":"Улучшение промптов","f.enhanceModel":"Улучшение промптов","f.enhanceModelHint":"Улучшение промптов","f.enhancePrompt":"Улучшение промптов","f.enhancePromptHint":"Улучшение промптов","f.geminiKeyEnv":"Gemini Key Reference","f.geminiKeyEnvHint":"Credential reference holding Google Gemini API key.","f.geminiModel":"Gemini Model ID","f.geminiModelHint":"Google Gemini image generation model identifier.","f.historyLimit":"History Limit","f.historyLimitHint":"Maximum number of recent generation records kept in memory.","f.inherit":"По умолчанию / Наследовать","f.localA1111Url":"Local A1111 URL (Legacy)","f.localA1111UrlHint":"Direct Automatic1111 endpoint URL.","f.localBaseURL":"Local Server URL","f.localBaseURLHint":"Server address (e.g. http://127.0.0.1:8188 for ComfyUI, http://127.0.0.1:7860 for A1111).","f.localCfg":"CFG Scale","f.localCfgHint":"Classifier-free guidance scale.","f.localComfyUrl":"Local ComfyUI URL (Legacy)","f.localComfyUrlHint":"Direct ComfyUI endpoint URL.","f.localKind":"Local Engine Architecture","f.localKindHint":"Select between ComfyUI API or Automatic1111 WebUI backend.","f.localModel":"Local Model / Checkpoint","f.localModelHint":"Checkpoint name or ComfyUI workflow name.","f.localSteps":"Sampling Steps","f.localStepsHint":"Number of denoising sampling steps.","f.loopGuardLimit":"Лимит защитного цикла (Loop Guard)","f.loopGuardLimitHint":"Лимит защитного цикла (Loop Guard)","f.model":"ID модели FAL","f.modelHint":"Целевая модель на эндпоинте FAL (например fal-ai/flux-2/klein/9b).","f.needCodex":"Built-in Codex subscription","f.needCustom":"Requires OpenAI-compatible endpoint","f.needFal":"Requires FAL API key","f.needGemini":"Requires Google Gemini API key","f.needGrok":"Built-in Grok subscription","f.needLocal":"Local ComfyUI or A1111","f.needReplicate":"Requires Replicate API token","f.needSeedream":"Requires SeaDream API key","f.outputDir":"Каталог сохранения","f.outputDirHint":"Путь к каталогу на диске, куда сохраняются сгенерированные изображения.","f.pollIntervalMs":"Интервал опроса (мс)","f.pollIntervalMsHint":"Частота проверки статуса задачи в асинхронной очереди.","f.provider":"Провайдер изображений","f.providerHint":"Бэкенд-сервис для генерации изображений.","f.pruneDays":"Срок хранения файлов (дней)","f.pruneDaysHint":"Срок хранения файлов (дней)","f.qualityGate":"Качество изображения","f.qualityGateHint":"Качество изображения","f.replicateKeyEnv":"Replicate Key Reference","f.replicateKeyEnvHint":"Credential reference holding the Replicate API token.","f.replicateModel":"Replicate Model ID","f.replicateModelHint":"Target model identifier on Replicate.","f.seedreamBaseURL":"SeaDream Base URL","f.seedreamBaseURLHint":"SeaDream API endpoint URL (ByteDance/Volcengine Ark).","f.seedreamKeyEnv":"SeaDream Key Reference","f.seedreamKeyEnvHint":"Credential reference holding the SeaDream API key.","f.seedreamModel":"SeaDream Model ID","f.seedreamModelHint":"ByteDance SeaDream model identifier.","f.stylePreset":"Суффикс художественного стиля","f.stylePresetHint":"Суффикс художественного стиля","f.subscriptionQuality":"Subscription Quality","f.subscriptionQualityHint":"Target quality profile when using Codex or Grok subscriptions.","f.timeoutMs":"Таймаут (мс)","f.timeoutMsHint":"Максимальный общий таймаут до прерывания запроса генерации.","gallery.copy_link":"Копировать Markdown-ссылку","gallery.copy_prompt":"Копировать промпт","gallery.empty":"Галерея пуста. Сгенерируйте первое изображение в чате!","gallery.inspector":"Детали записи генерации","gallery.loading":"Загрузка галереи…","gallery.title":"Галерея Image Studio","p.apiKeyEnv":"FAL_API_KEY","p.baseURL":"https://queue.fal.run","p.cacheTtlDays":"0","p.customBaseURL":"https://api.openai.com/v1","p.customKeyEnv":"OPENAI_API_KEY","p.customModel":"dall-e-3","p.customSize":"1024x1024","p.dailyBudgetUsd":"0.00","p.defaultStylePreset":"none","p.enhanceBelowChars":"200","p.enhanceModel":"Leave empty for default chat model","p.geminiKeyEnv":"GEMINI_API_KEY","p.geminiModel":"gemini-2.0-flash-exp-image-generation","p.historyLimit":"50","p.localA1111Url":"http://127.0.0.1:7860","p.localBaseURL":"http://127.0.0.1:8188","p.localCfg":"7","p.localComfyUrl":"http://127.0.0.1:8188","p.localModel":"v1-5-pruned-emaonly.safetensors","p.localSteps":"20","p.loopGuardLimit":"3","p.model":"fal-ai/flux-2/klein/9b","p.outputDir":"generated/images","p.pollIntervalMs":"2000","p.pruneDays":"0","p.replicateKeyEnv":"REPLICATE_API_TOKEN","p.replicateModel":"black-forest-labs/flux-schnell","p.seedreamBaseURL":"https://api.bytedanceapi.com/v1","p.seedreamKeyEnv":"SEEDREAM_API_KEY","p.seedreamModel":"seedream-4.0","p.timeoutMs":"180000","remix.copied":"✓ Copied!","remix.copy_instruction":"Copy Instruction","remix.creative_btn":"Creative (0.65)","remix.creativity_label":"Creativity / Denoising Strength","remix.drawer_title":"Variations & Style Remix Workbench","remix.prompt_placeholder":"Describe stylistic adjustments, new background, or variations...","remix.subtle_btn":"Subtle (0.25)","settings.collapse":"Свернуть","settings.credentialHint":"Ключи API хранятся в учётных данных DSH (~/.dsh/.credentials.yaml) и не попадают в файлы конфигурации.","settings.description":"Генерация изображений с помощью ИИ, дорисовка, вариации, апскейл и векторизация.","settings.discard":"Сбросить изменения","settings.expand":"Развернуть","settings.invalidNumber":"Пожалуйста, введите корректное число","settings.navLabel":"Студия изображений","settings.overridden":"переопределено","settings.readOnly":"Настройки доступны только для чтения в этом контексте.","settings.reset":"Сбросить по умолчанию","settings.save":"Сохранить настройки","settings.saveFailed":"Не удалось сохранить настройки. Пожалуйста, проверьте учетные данные и попробуйте снова.","settings.saving":"Сохранение…","settings.title":"Студия изображений","settings.unavailable":"Настройки плагина инициализируются. Они появятся автоматически через несколько секунд.","settings.unsaved":"Несохраненные изменения","stat.active_provider":"Активный провайдер","stat.budget_cache":"Бюджет и кэш","stat.format_size":"Стандартные параметры","stat.safety_status":"Безопасность и Loop Guard","tab.cache":"Кэш и хранилище","tab.enhancer":"Промпт и стили","tab.gallery":"Галерея","tab.general":"Общие","tab.provider":"Провайдер","tab.safety":"Безопасность и бюджет","updater.check":"Check updates","updater.checking":"Checking…","updater.current":"Current version","updater.failed":"Update check failed: ","updater.latest":"Latest version","updater.success":"Plugin updated successfully! Please restart DSH service.","updater.title":"Plugin Updates","updater.upToDate":"Up to date","updater.updateNow":"Update to v{version}","updater.updating":"Updating…"}}
@@ -1 +1 @@
1
- {"dsh-hypotheses":{"notificationHome":"Home мессенджера","notificationHomeHint":"Использует существующий Telegram home мессенджера; credentials остаются в gateway.","notificationHomePlaceholder":"Например: default","notifications":"Уведомления о завершении расследования","notificationsHint":"Отправлять один отчёт после явного завершения гипотезы.","save":"Сохранить","saved":"Сохранено","saving":"Сохранение…","settingsLoading":"Загрузка настроек уведомлений…","settingsUnavailable":"Настройки уведомлений недоступны."}}
1
+ {"@goodandready/dsh-hypotheses":{"active":"Активные","archived":"В архиве","clusters":"Кластеры","confidence":"Уверенность","confidenceHistory":"История уверенности","empty":"Гипотезы пока не зафиксированы.","evidence":"Факты","loading":"Загрузка аналитики…","noEvidence":"Факты не зафиксированы.","noHistory":"История пересчёта отсутствует.","notificationHome":"Home мессенджера","notificationHomeHint":"Использует существующий Telegram home мессенджера; credentials остаются в gateway.","notificationHomePlaceholder":"Например: default","notifications":"Уведомления о завершении расследования","notificationsHint":"Отправлять один отчёт после явного завершения гипотезы.","recentEvidence":"Последние факты","refresh":"Обновить","resolved":"Подтверждённые","save":"Сохранить","saved":"Сохранено","saving":"Сохранение…","settingsLoading":"Загрузка настроек уведомлений…","settingsUnavailable":"Настройки уведомлений недоступны.","stale":"Устаревшие","subtitle":"Анализ и проверка гипотез расследования (только чтение)","title":"Гипотезы","truncated":"Часть записей скрыта из-за ограничений отображения.","unavailable":"Аналитика в данный момент недоступна."},"dsh-hypotheses":{"active":"Активные","archived":"В архиве","clusters":"Кластеры","confidence":"Уверенность","confidenceHistory":"История уверенности","empty":"Гипотезы пока не зафиксированы.","evidence":"Факты","loading":"Загрузка аналитики…","noEvidence":"Факты не зафиксированы.","noHistory":"История пересчёта отсутствует.","notificationHome":"Home мессенджера","notificationHomeHint":"Использует существующий Telegram home мессенджера; credentials остаются в gateway.","notificationHomePlaceholder":"Например: default","notifications":"Уведомления о завершении расследования","notificationsHint":"Отправлять один отчёт после явного завершения гипотезы.","recentEvidence":"Последние факты","refresh":"Обновить","resolved":"Подтверждённые","save":"Сохранить","saved":"Сохранено","saving":"Сохранение…","settingsLoading":"Загрузка настроек уведомлений…","settingsUnavailable":"Настройки уведомлений недоступны.","stale":"Устаревшие","subtitle":"Анализ и проверка гипотез расследования (только чтение)","title":"Гипотезы","truncated":"Часть записей скрыта из-за ограничений отображения.","unavailable":"Аналитика в данный момент недоступна."}}
@@ -1 +1 @@
1
- {"dsh-server-monitor":{"addServer":"Добавить сервер","address":"Адрес","architecture":"Архитектура","auth":"Способ аутентификации","available":"Доступно","cancel":"Отмена","command":"Команда","confirmDelete":"Удалить этот профиль сервера?","containers":"Контейнеры","cpu":"Процессор","deleteServer":"Удалить профиль","disks":"Диски","editServer":"Редактировать сервер","error":"Ошибка","filesystem":"Файловая система","host":"Хост","hostname":"Имя узла","image":"Образ","interface":"Сетевой интерфейс","keepSecret":"Оставьте поле пустым, чтобы сохранить текущее значение.","kernel":"Ядро","key":"Закрытый ключ","keyHint":"Ключ хранится только в хранилище этого плагина.","keyPath":"Путь к ключу","load":"Средняя нагрузка","loading":"Загрузка…","memory":"Память","mount":"Точка монтирования","name":"Название","network":"Сеть","noServers":"Серверы не настроены.","noSnapshot":"Снимок состояния недоступен.","os":"Операционная система","passphrase":"Парольная фраза ключа","password":"Пароль","port":"Порт","ports":"Прослушиваемые порты","processes":"Наиболее ресурсоёмкие процессы","protocol":"Протокол","resources":"Ресурсы","rx":"Получено (RX)","saved":"Сохранено","saving":"Сохранение…","select":"Выберите сервер","servers":"Серверы","state":"Состояние","subtitle":"Состояние Linux-серверов — только для просмотра","swap":"Область подкачки","system":"Система","testing":"Проверка подключения…","title":"Монитор серверов","tx":"Передано (TX)","unavailable":"Недоступно","uptime":"Время работы","used":"Использовано","username":"Имя пользователя"}}
1
+ {"dsh-server-monitor":{"active":"Активен","add":"Добавить сервер","addServer":"Добавить сервер","address":"Адрес","architecture":"Архитектура","auth":"Способ аутентификации","available":"Доступно","cancel":"Отмена","checkUpdateFailed":"Сбой проверки","command":"Команда","confirmDelete":"Удалить этот профиль сервера?","connected":"В сети","containers":"Контейнеры","copied":"Скопировано!","copyInstallCmd":"Скопировать команду настройки сервера","cpu":"Процессор","delete":"Удалить","deleteServer":"Удалить профиль","disks":"Диски","editServer":"Редактировать сервер","error":"Ошибка","filesystem":"Файловая система","generateKey":"Сгенерировать SSH-ключ","generating":"Генерация…","guideDescription":"Мониторинг статуса Linux-серверов (только чтение)","host":"Хост","hostname":"Имя узла","image":"Образ","interface":"Сетевой интерфейс","keepSecret":"Оставьте поле пустым, чтобы сохранить текущее значение.","kernel":"Ядро","key":"Закрытый ключ","keyHint":"Ключ хранится только в хранилище этого плагина.","keyPath":"Путь к ключу","keygenSection":"Настройка SSH-ключа","load":"Средняя нагрузка","loading":"Загрузка…","memory":"Память","mount":"Точка монтирования","name":"Название","network":"Сеть","noServers":"Серверы не настроены.","noSnapshot":"Снимок состояния недоступен.","offline":"Не в сети","os":"Операционная система","partial":"Частично","passphrase":"Парольная фраза ключа","password":"Пароль","port":"Порт","ports":"Прослушиваемые порты","processes":"Наиболее ресурсоёмкие процессы","protocol":"Протокол","refresh":"Обновить","resources":"Ресурсы","rx":"Получено (RX)","save":"Сохранить сервер","saved":"Сохранено","saving":"Сохранение…","select":"Выберите сервер","servers":"Серверы","shareWorkspaceHint":"Сохранено в ~/.dsh/keys/id_ed25519_dsh (совместимо с Remote Workspace)","state":"Состояние","subtitle":"Состояние Linux-серверов — только для просмотра","swap":"Область подкачки","system":"Система","test":"Проверить подключение","testAfterInstall":"Команда выполнена — проверить подключение","testing":"Проверка подключения…","title":"Монитор серверов","tx":"Передано (TX)","unavailable":"Недоступно","upToDate":"Актуальная версия","updateAvailable":"Доступно обновление: v{v}","updateChecking":"Проверка обновлений…","updateFailed":"Сбой обновления: {msg}","updateNow":"Обновить сейчас","updateSuccess":"Обновлено до v{v}. Перезапустите сервис DSH для применения изменений.","updating":"Обновление…","uptime":"Время работы","used":"Использовано","username":"Имя пользователя","version":"Версия"}}
@@ -1 +1 @@
1
- {"agentrouter":{"apiKeyEnv":"Имя переменной окружения / ключа API","apiKeyHint":"Укажите ключ ar-… в учётных данных DSH или в переменной окружения процесса. Не вставляйте секрет в эту форму.","baseUrl":"Базовый URL","defaultModel":"Модель по умолчанию","enabled":"Включено","keyMissing":"ключ отсутствует","loading":"Загрузка настроек…","refresh":"Обновить","registerProvider":"Зарегистрировать в моделях","save":"Сохранить","saved":"Сохранено","smokeChat":"Тестовый чат","subtitle":"Маршрутизация агентов и интеграция моделей через локальный или удалённый прокси","title":"AgentRouter","unavailable":"Настройки недоступны (статус снимка: {status}). Пространство имён хоста отсутствует."},"dsh-agentrouter":{"apiKeyEnv":"Имя переменной окружения / ключа API","apiKeyHint":"Укажите ключ ar-… в учётных данных DSH или в переменной окружения процесса. Не вставляйте секрет в эту форму.","baseUrl":"Базовый URL","defaultModel":"Модель по умолчанию","enabled":"Включено","keyMissing":"ключ отсутствует","loading":"Загрузка настроек…","refresh":"Обновить","registerProvider":"Зарегистрировать в моделях","save":"Сохранить","saved":"Сохранено","smokeChat":"Тестовый чат","subtitle":"Маршрутизация агентов и интеграция моделей через локальный или удалённый прокси","title":"AgentRouter","unavailable":"Настройки недоступны (статус снимка: {status}). Пространство имён хоста отсутствует."}}
1
+ {"@goodandready-private/dsh-agentrouter":{"apiKeyEnv":"Имя переменной окружения / ключа API","apiKeyHint":"Укажите ключ ar-… в учётных данных DSH или в переменной окружения процесса. Не вставляйте секрет в эту форму.","baseUrl":"Базовый URL","defaultModel":"Модель по умолчанию","enabled":"Включено","keyMissing":"ключ отсутствует","loading":"Загрузка настроек…","refresh":"Обновить","registerProvider":"Зарегистрировать в моделях","save":"Сохранить","saved":"Сохранено","smokeChat":"Тестовый чат","subtitle":"Маршрутизация агентов и интеграция моделей через локальный или удалённый прокси","title":"AgentRouter","unavailable":"Настройки недоступны (статус снимка: {status}). Пространство имён хоста отсутствует."},"agentrouter":{"apiKeyEnv":"Имя переменной окружения / ключа API","apiKeyHint":"Укажите ключ ar-… в учётных данных DSH или в переменной окружения процесса. Не вставляйте секрет в эту форму.","baseUrl":"Базовый URL","defaultModel":"Модель по умолчанию","enabled":"Включено","keyMissing":"ключ отсутствует","loading":"Загрузка настроек…","refresh":"Обновить","registerProvider":"Зарегистрировать в моделях","save":"Сохранить","saved":"Сохранено","smokeChat":"Тестовый чат","subtitle":"Маршрутизация агентов и интеграция моделей через локальный или удалённый прокси","title":"AgentRouter","unavailable":"Настройки недоступны (статус снимка: {status}). Пространство имён хоста отсутствует."},"dsh-agentrouter":{"apiKeyEnv":"Имя переменной окружения / ключа API","apiKeyHint":"Укажите ключ ar-… в учётных данных DSH или в переменной окружения процесса. Не вставляйте секрет в эту форму.","baseUrl":"Базовый URL","defaultModel":"Модель по умолчанию","enabled":"Включено","keyMissing":"ключ отсутствует","loading":"Загрузка настроек…","refresh":"Обновить","registerProvider":"Зарегистрировать в моделях","save":"Сохранить","saved":"Сохранено","smokeChat":"Тестовый чат","subtitle":"Маршрутизация агентов и интеграция моделей через локальный или удалённый прокси","title":"AgentRouter","unavailable":"Настройки недоступны (статус снимка: {status}). Пространство имён хоста отсутствует."}}
@@ -0,0 +1 @@
1
+ {"dsh-github-ops":{"approvalMode":"Подтверждение записи","approvalModeHint":"\"auto\" разрешает согласованные неразрушающие операции записи без запроса; удаление релиза, тега, секрета, переменной, набора правил, защиты ветки или отмена запуска всегда запрашивают подтверждение. \"ask\" запрашивает каждое действие записи; \"off\" передаёт контроль хосту.","baseUrl":"Базовый URL API","baseUrlHint":"Измените для GitHub Enterprise; по умолчанию используется публичный API.","cardHint":"Токен берётся из учётных данных DSH; в настройках хранится только его имя.","defaultRepository":"Репозиторий по умолчанию","defaultRepositoryHint":"owner/repo, используемый если вызов инструмента опускает репозиторий. Оставьте пустым, чтобы всегда указывать явно.","invalidNumber":"Введите положительное число.","maxRetries":"Повторы при ошибке чтения","maxRetriesHint":"Повтор чтения (GET/HEAD) при сетевом сбое, таймауте или 5xx. Запись никогда не повторяется автоматически.","noChanges":"Нет изменений для сохранения.","panelBack":"Вверх","panelChoose":"Выберите репозиторий для просмотра.","panelEmpty":"Здесь пока ничего нет.","panelInbox":"Входящие","panelIssues":"Задачи (Issues)","panelLoading":"Загрузка…","panelNoAccess":"Нет доступа к GitHub: настройте учётные данные, выполните вход или используйте инструмент gh CLI.","panelOpen":"Открыть в браузере","panelPulls":"Пул-реквесты","panelRepo":"Репозиторий","panelRuns":"Действия (Actions)","panelSearch":"Поиск публичных репозиториев…","panelTitle":"GitHub","prBarBranch":"в","prBarCommits":"коммит(ов) впереди","prBarCopied":"Инструкция скопирована: вставьте её в поле ввода и отправьте.","prBarCopyFailed":"Не удалось скопировать; инструкция указана в заголовке.","prBarCreate":"Создать PR","prBarMerge":"Слить PR","prBarReview":"Ревью","reviewRules":"Переопределение правил ревью (JSON)","reviewRulesHint":"Необязательно. sensitivePaths, sensitiveSeverity, attentionPaths, migrationPaths, testsRequired, sourcePatterns, testPatterns, largeDiffLines. Пример: {\"largeDiffLines\": 400, \"sensitivePaths\": [\".env\", \"private/**\"]}","save":"Сохранить","saved":"Сохранено","savedPartial":"Сохранено, за исключением: ","saving":"Сохранение…","scmAbort":"Прервать","scmActionFailed":"Git отклонил команду","scmAmend":"изменить коммит (amend)","scmBehindHint":"Отстаёт от апстрима: синхронизация подтянет изменения через rebase, затем отправит push","scmBranches":"Ветки","scmChanges":"Изменения","scmCommit":"Коммит","scmCommitPush":"Коммит и отправка (Push)","scmConfirm":"Подтвердить?","scmConflicts":"Конфликты","scmContinue":"Продолжить","scmCreate":"Создать","scmDelete":"Удалить","scmDiffEmpty":"Нет различий для этого файла (возможно, он бинарный или неотслеживаемый).","scmDiscard":"Отменить изменения","scmError":"Не удалось прочитать рабочую копию","scmInProgress":"В процессе","scmLoading":"Чтение рабочей копии…","scmMessage":"Сообщение коммита","scmNewBranch":"Новая ветка","scmNoChanges":"Нет индексированных или изменённых файлов","scmNoUpstream":"нет апстрима","scmNotRepo":"Эта рабочая область не является Git-репозиторием, здесь нечего отображать.","scmNothing":"Нечего коммитить: рабочая копия чиста.","scmPushBranch":"Отправить ветку (Push)","scmRefresh":"Обновить","scmRepoPath":"Путь к репозиторию (необязательно)","scmRepoPathHint":"Абсолютный путь; пустой означает рабочую область сессии","scmStage":"Индексировать","scmStaged":"В индексе","scmStashApply":"Применить","scmStashDrop":"Удалить","scmStashPop":"Применить и удалить (Pop)","scmStashSave":"Сохранить в stash","scmStashes":"Спрятанные изменения (Stashes)","scmSwitch":"Переключить","scmSync":"Синхронизировать","scmTags":"Теги","scmTitle":"Управление версиями","scmUnstage":"Убрать из индекса","scmUntracked":"Неотслеживаемые","scmWorking":"Обработка…","statusAccount":"Аккаунт","statusCache":"Кэш чтения","statusError":"Сбой проверки доступа","statusLoading":"Чтение настроек…","statusNotConfigured":"Доступ ещё не настроен","statusRate":"Лимит запросов","statusReadOnly":"Настройки доступны только для чтения в этой сессии.","statusRefresh":"Проверить снова","statusScopes":"Области доступа (Scopes)","statusSource":"Источник","statusTitle":"Доступ","statusUnavailable":"Сервис настроек недоступен в этой сборке: значения здесь редактировать нельзя.","sub":"Релизы, теги, защищённый шлюз API, публикация зеркал и настройки репозитория.","timeoutMs":"Таймаут запроса, мс","timeoutMsHint":"Предельное время выполнения одного запроса к GitHub до его прерывания.","title":"Операции с GitHub","tokenEnv":"Имя учётных данных","tokenEnvHint":"Имя записи в хранилище учётных данных DSH, содержащей токен GitHub. Сам токен здесь никогда не сохраняется.","tokenSource":"Источник доступа","tokenSourceHint":"\"auto\" проверяет учётные данные DSH, затем переменную окружения, затем сессию gh CLI. Зафиксируйте значение, чтобы использовать только один источник."}}
@@ -0,0 +1 @@
1
+ {"@goodandready/dsh-web-gateway":{"allowInternalUrls":"Разрешить внутренние URL для извлечения","allowInternalUrlsDesc":"Опасно: разрешает извлечение адресов, разрешающихся в loopback или приватные сети. Оставляйте выключенным без явной необходимости.","cacheTtlMs":"Время жизни кэша (мс)","cacheTtlMsDesc":"Срок хранения результатов в оперативной памяти. 0 отключает кэширование.","crawl4aiTokenEnv":"Имя учётных данных Crawl4AI","crawl4aiUrl":"Базовый URL Crawl4AI","crawl4aiUrlDesc":"Необязательный Crawl4AI для извлечения страниц. Пустое значение отключает его.","defaultLimit":"Лимит результатов по умолчанию","defaultLimitDesc":"Количество результатов по умолчанию для вызова web_gateway_search.","exaApiKeyEnv":"Имя учётных данных Exa","firecrawlApiKeyEnv":"Имя учётных данных Firecrawl","header_desc":"Резервный веб-поиск (Tavily → Firecrawl → Exa → SearXNG) и извлечение страниц при исчерпании лимитов встроенных web_search / web_fetch.","keysDesc":"Храните секретные значения в Настройки → Учётные данные под этими именами. Не вставляйте сами API-ключи сюда.","maxLimit":"Жёсткий лимит результатов","maxLimitDesc":"Максимальное количество результатов за один поисковый запрос.","save":"Сохранить","saved":"Настройки сохранены","saving":"Сохранение…","searxngUrl":"Базовый URL SearXNG","searxngUrlDesc":"Необязательный локальный SearXNG (например http://127.0.0.1:8080). Пустое значение отключает этот резерв.","settings.loading":"Загрузка настроек Web Gateway…","settings.retry":"Повторить","settings.unavailable":"Область настроек недоступна (пространство имён хоста не готово).","subtitle":"Отказоустойчивая цепочка поиска и извлечения веб-страниц","tavilyApiKeyEnv":"Имя учётных данных Tavily","timeoutMs":"Таймаут провайдера (мс)","timeoutMsDesc":"HTTP-таймаут на одного провайдера в миллисекундах.","title":"Веб-шлюз (Web Gateway)","updater_check":"Проверить обновления","updater_checking":"Проверка…","updater_current":"Текущая","updater_failed":"Сбой проверки обновлений","updater_latest":"Последняя","updater_success":"Обновлено. Перезапустите DSH для загрузки новой версии.","updater_title":"Версия плагина","updater_unavailable":"Автоматическое обновление недоступно для этого профиля.","updater_up_to_date":"Актуальная версия","updater_update_now":"Обновить до {version}","updater_updating":"Обновление…"},"dsh-web-gateway":{"allowInternalUrls":"Разрешить внутренние URL для извлечения","allowInternalUrlsDesc":"Опасно: разрешает извлечение адресов, разрешающихся в loopback или приватные сети. Оставляйте выключенным без явной необходимости.","cacheTtlMs":"Время жизни кэша (мс)","cacheTtlMsDesc":"Срок хранения результатов в оперативной памяти. 0 отключает кэширование.","crawl4aiTokenEnv":"Имя учётных данных Crawl4AI","crawl4aiUrl":"Базовый URL Crawl4AI","crawl4aiUrlDesc":"Необязательный Crawl4AI для извлечения страниц. Пустое значение отключает его.","dailyCapCrawl4ai":"Дневной лимит: Crawl4AI","dailyCapExa":"Дневной лимит: Exa","dailyCapFirecrawl":"Дневной лимит: Firecrawl","dailyCapSearxng":"Дневной лимит: SearXNG","dailyCapTavily":"Дневной лимит: Tavily","dailyCapsDesc":"0 = без ограничений. Счётчики сбрасываются каждый календарный день по UTC.","defaultLimit":"Лимит результатов по умолчанию","defaultLimitDesc":"Количество результатов по умолчанию для вызова web_gateway_search.","diskCacheEnabled":"Дисковый кэш","diskCacheEnabledDesc":"Сохранять результаты в профиле DSH, чтобы кэш переживал перезапуски.","diskCacheMaxEntries":"Макс. записей дискового кэша","diskCacheMaxEntriesDesc":"Мягкий лимит на количество записей кэша на диске.","exaApiKeyEnv":"Имя учётных данных Exa","excludeDomains":"Исключить домены","excludeDomainsDesc":"Чёрный список доменов для результатов поиска через запятую.","extractProviderOrder":"Порядок провайдеров извлечения","extractProviderOrderDesc":"Порядок через запятую. Допустимо: firecrawl, tavily, crawl4ai.","firecrawlApiKeyEnv":"Имя учётных данных Firecrawl","freshness":"Свежесть","freshnessDesc":"any | day | week | month — применяется, если поддерживается провайдером.","header_desc":"Резервный веб-поиск (Tavily → Firecrawl → Exa → SearXNG) и извлечение страниц при исчерпании лимитов встроенных web_search / web_fetch.","health_caps":"Дневное использование","health_credentials":"Учётные данные","health_endpoints":"Локальные эндпоинты","health_error":"ошибка","health_failed":"Сбой проверки работоспособности","health_loading":"Проверка…","health_missing":"отсутствует","health_ok":"ок","health_present":"присутствует","health_refresh":"Обновить","health_skipped":"пропущено","health_title":"Состояние провайдеров","includeDomains":"Включить домены","includeDomainsDesc":"Белый список доменов для результатов поиска через запятую (пусто = все).","jinaEnabled":"Включить резервный Jina Reader","jinaEnabledDesc":"Бесключевое извлечение через r.jina.ai (соблюдайте их лимиты и правила).","keysDesc":"Храните секретные значения в Настройки → Учётные данные под этими именами. Не вставляйте сами API-ключи сюда.","maxLimit":"Жёсткий лимит результатов","maxLimitDesc":"Максимальное количество результатов за один поисковый запрос.","readabilityEnabled":"Включить резервный HTML Readability","readabilityEnabledDesc":"Резервное бесключевое извлечение путём очистки HTML-тегов.","researchDefaultLimit":"Источников для исследования по умолчанию","researchMaxChars":"Макс. символов сводки исследования","researchMaxLimit":"Макс. источников для исследования","save":"Сохранить","saved":"Настройки сохранены","saving":"Сохранение…","searchProviderOrder":"Порядок провайдеров поиска","searchProviderOrderDesc":"Порядок через запятую. Допустимо: tavily, firecrawl, exa, searxng.","searxngUrl":"Базовый URL SearXNG","searxngUrlDesc":"Необязательный локальный SearXNG (например http://127.0.0.1:8080). Пустое значение отключает этот резерв.","settings.loading":"Загрузка настроек Web Gateway…","settings.retry":"Повторить","settings.unavailable":"Область настроек недоступна (пространство имён хоста не готово).","subtitle":"Отказоустойчивая цепочка поиска и извлечения веб-страниц","tavilyApiKeyEnv":"Имя учётных данных Tavily","timeoutMs":"Таймаут провайдера (мс)","timeoutMsDesc":"HTTP-таймаут на одного провайдера в миллисекундах.","title":"Веб-шлюз (Web Gateway)","updater_check":"Проверить обновления","updater_checking":"Проверка…","updater_current":"Текущая","updater_failed":"Сбой проверки обновлений","updater_latest":"Последняя","updater_success":"Обновлено. Перезапустите DSH для загрузки новой версии.","updater_title":"Версия плагина","updater_unavailable":"Автоматическое обновление недоступно для этого профиля.","updater_up_to_date":"Актуальная версия","updater_update_now":"Обновить до {version}","updater_updating":"Обновление…"}}
@@ -0,0 +1 @@
1
+ {"@goodandready/dsh-approval-gate":{"approvalRequired":"Требуется подтверждение","askCredentialInArgv":"Раскрытые данные авторизации передаются как аргументы процесса; используйте безопасный хелпер или проверьте перед разрешением","askDynamicArguments":"Раскрытые аргументы чувствительной команды не могут быть проверены; проверьте перед разрешением","askDynamicCommand":"Раскрытое имя команды не может быть проверено; проверьте перед разрешением","askDynamicRedirect":"Раскрытая цель перенаправления не может быть проверена; проверьте перед разрешением","askInterpreterPayload":"Побочные эффекты интерпретатора не проанализированы полностью; проверьте перед разрешением","askScriptFile":"Содержимое файла скрипта недоступно для проверки; проверьте перед разрешением","askShellStdin":"Ввод shell не полностью доступен для проверки; проверьте перед разрешением","askUnknown":"Команда не может быть полностью проверена; проверьте перед разрешением","askUnknownFormat":"Формат вызова инструмента не может быть проверен; проверьте перед разрешением","askUnknownWriteTarget":"Целевой файл для записи не определён; проверьте перед разрешением","askUnparseable":"Синтаксис shell не может быть полностью проверен; проверьте перед разрешением","blockedPrefix":"Заблокировано правилом dsh-approval-gate","commandLabel":"Команда","detailDanglingEscape":"незавершённое экранирование","detailInvalidHeredoc":"недопустимый разделитель here-document","detailProcessSubstitution":"подстановка процесса требует подтверждения","detailUnclosedBacktick":"незакрытая подстановка в обратных кавычках","detailUnclosedCommandSubstitution":"незакрытая подстановка команды","detailUnclosedDoubleQuote":"незакрытая двойная кавычка","detailUnclosedParameterExpansion":"незакрытое раскрытие параметров","detailUnclosedProcessSubstitution":"незакрытая подстановка процесса","detailUnclosedSingleQuote":"незакрытая одинарная кавычка","detailUnsupported":"неподдерживаемый синтаксис shell","detailUnsupportedGrouping":"синтаксис группировки shell не поддерживается анализатором","detailUnterminatedHeredoc":"терминатор here-document не найден","detectedLabel":"Обнаружено","parseReasonLabel":"Причина разбора","ruleCurlPipe":"Передача загруженного содержимого в конвейер shell","ruleDestructiveSql":"Разрушающий SQL-запрос","ruleDeviceWrite":"Запись в устройство или защищённый файл","ruleEval":"Динамическое выполнение shell (eval)","ruleFindDelete":"find -delete","ruleGitClean":"Разрушающий git clean","ruleGitResetHard":"Разрушающий git reset --hard","ruleInterpreterPayload":"Небезопасный код интерпретатора","ruleMkfsDevice":"Форматирование файловой системы","ruleNestedShell":"Превышен лимит глубины вложенного shell","ruleProcessSignal":"Завершение процесса","ruleRecursiveRm":"Рекурсивное удаление файлов","ruleSecretWrite":"Запись в защищённый файл с секретами","ruleServiceControl":"Изменение состояния службы","ruleUnknown":"Сработало блокирующее правило безопасности"},"dsh-approval-gate":{"approvalRequired":"Требуется подтверждение","askCredentialInArgv":"Раскрытые данные авторизации передаются как аргументы процесса; используйте безопасный хелпер или проверьте перед разрешением","askDynamicArguments":"Раскрытые аргументы чувствительной команды не могут быть проверены; проверьте перед разрешением","askDynamicCommand":"Раскрытое имя команды не может быть проверено; проверьте перед разрешением","askDynamicRedirect":"Раскрытая цель перенаправления не может быть проверена; проверьте перед разрешением","askInterpreterPayload":"Побочные эффекты интерпретатора не проанализированы полностью; проверьте перед разрешением","askScriptFile":"Содержимое файла скрипта недоступно для проверки; проверьте перед разрешением","askShellStdin":"Ввод shell не полностью доступен для проверки; проверьте перед разрешением","askUnknown":"Команда не может быть полностью проверена; проверьте перед разрешением","askUnknownFormat":"Формат вызова инструмента не может быть проверен; проверьте перед разрешением","askUnknownWriteTarget":"Целевой файл для записи не определён; проверьте перед разрешением","askUnparseable":"Синтаксис shell не может быть полностью проверен; проверьте перед разрешением","blockedPrefix":"Заблокировано правилом dsh-approval-gate","commandLabel":"Команда","detailDanglingEscape":"незавершённое экранирование","detailInvalidHeredoc":"недопустимый разделитель here-document","detailProcessSubstitution":"подстановка процесса требует подтверждения","detailUnclosedBacktick":"незакрытая подстановка в обратных кавычках","detailUnclosedCommandSubstitution":"незакрытая подстановка команды","detailUnclosedDoubleQuote":"незакрытая двойная кавычка","detailUnclosedParameterExpansion":"незакрытое раскрытие параметров","detailUnclosedProcessSubstitution":"незакрытая подстановка процесса","detailUnclosedSingleQuote":"незакрытая одинарная кавычка","detailUnsupported":"неподдерживаемый синтаксис shell","detailUnsupportedGrouping":"синтаксис группировки shell не поддерживается анализатором","detailUnterminatedHeredoc":"терминатор here-document не найден","detectedLabel":"Обнаружено","parseReasonLabel":"Причина разбора","ruleCurlPipe":"Передача загруженного содержимого в конвейер shell","ruleDestructiveSql":"Разрушающий SQL-запрос","ruleDeviceWrite":"Запись в устройство или защищённый файл","ruleEval":"Динамическое выполнение shell (eval)","ruleFindDelete":"find -delete","ruleGitClean":"Разрушающий git clean","ruleGitResetHard":"Разрушающий git reset --hard","ruleInterpreterPayload":"Небезопасный код интерпретатора","ruleMkfsDevice":"Форматирование файловой системы","ruleNestedShell":"Превышен лимит глубины вложенного shell","ruleProcessSignal":"Завершение процесса","ruleRecursiveRm":"Рекурсивное удаление файлов","ruleSecretWrite":"Запись в защищённый файл с секретами","ruleServiceControl":"Изменение состояния службы","ruleUnknown":"Сработало блокирующее правило безопасности"}}
@@ -0,0 +1 @@
1
+ {"settings.ip-pool":{"banBanned":"заблокирован","banSuspect":"подозрительный","bansEmpty":"Нет заблокированных пар (выход × модель).","collapse":"Свернуть","copyCompliance":"Анонимная квота ограничена на стороне апстрима; несколько точек выхода не обходят квоту, а балансируют запросы по ней. Закреплённые узлы и узлы по подписке в приоритете; публичные бесплатные прокси несут риски безопасности и соответствия политикам.","deferredNotice":"Маршрутизация отложена: {reason}","description":"Планирует доступность бесплатных моделей через точки выхода IP: ротация, пауза при 429, зонды на пару выход × модель.","enabled":"Включить пул IP (enabled)","enabledHint":"Отключено = все запросы идут напрямую, точно так же, как если бы пул не был установлен.","exitAddress":"Адрес","exitIp":"Выходной IP","exitLatency":"Задержка","exitLocation":"Локация","exitPassive":"Текущий трафик","exitPin":"Закрепить","exitPinnedMark":"основной","exitProbe":"Зондировать","exitQuality":"Качество","exitSource":"Источник","exitState":"Состояние","expand":"Развернуть","freeBlockedCountries":"Гео-черный список (blockedCountries)","freeBlockedCountriesHint":"Коды стран ISO через запятую; совпадающие выходы отклоняются. По умолчанию CN.","freeEnabled":"Получение бесплатных источников","freeEnabledHint":"Загружать списки публичных бесплатных прокси и допускать работающие; выключено — использовать только источники ниже.","freeTargetSize":"Целевой размер (targetSize)","freeTargetSizeHint":"Количество используемых свободных выходов для пополнения пула (1-100, по умолчанию 20).","invalidCountry":"Коды стран состоят из двух букв (например, CN), через запятую.","invalidModel":"ID модели не должен быть пустым.","invalidProxy":"Ожидается http://хост:порт или socks5://хост:порт.","invalidRange":"Значение вне допустимого диапазона.","invalidUrl":"Введите корректный HTTP(S) URL.","manualAdd":"Добавить прокси","manualHint":"По одному на строку: http://хост:порт или socks5://хост:порт. Для собственных узлов.","manualPlaceholder":"http://127.0.0.1:7897","nav":"Пул IP","pinnedAddress":"Адрес основного выхода","pinnedAddressHint":"например, смешанный порт Clash http://127.0.0.1:7897 или выделенная линия. Закрепляется при сохранении.","pinnedBadge":"закреплён","pinnedStrict":"Строгое закрепление (pinnedStrict)","pinnedStrictHint":"Сбои передаются без изменений: без ротации, без прямого резервирования. Для сценариев «должен использоваться только этот выход».","pinnedStrictOff":"Основной + резервный: переключение при 429/разрыве, возврат при восстановлении","pinnedStrictOn":"Абсолютно: никогда не ротировать, никогда не ходить напрямую","pinnedUnset":"Открепить","poolAvailable":"Доступно {available}/{capacity}","poolSources":"Источники: бесплатные {free} · вручную {manual} · подписка {subscription}","poolState":"Состояние пула","poolStateCritical":"критическое","poolStateEmergency":"исчерпан","poolStateHealthy":"в норме","poolStateWarning":"низкий уровень","probeAll":"Зондировать все","probeConcurrency":"Лимит параллелизма (maxConcurrentProbes)","probeConcurrencyHint":"Предел параллельных зондов между выходами (1-8, по умолчанию 3); один выход всегда опрашивается последовательно.","probeModelPick":"Выберите модель…","probeModelUnverified":"не проверено","probeModels":"Модели для зондирования (probeModels)","probeModelsDefault":"Используется модель по умолчанию: big-pickle (первая из проверенного списка S3).","probeModelsHint":"Выберите модели для зондов из списка; если не выбрано = по умолчанию big-pickle. Несколько моделей опрашиваются последовательно для каждого выхода.","probeRunning":"Зондирование {done}/{total}…","refillCountAdmit":"проверено {done} · допущено {admitted}","refillCountCoarse":"отфильтровано {done}/{total} · {passed} живых","refillCountFetched":"{n} строк","refillCountSources":"ответило {done}/{total} источников","refillNow":"Пополнить сейчас","refillRunning":"Пополнение…","refillStageAdmit":"③ проверка допуска","refillStageCoarse":"② предварительный отбор","refillStageFetch":"① получение списков источников","refillStageIdle":"готово","refillSummary":"последний раунд: допущено {admitted} (из {fetched} кандидатов)","refreshError":"Не удалось получить статус","reset":"Сбросить к значениям по умолчанию","save":"Сохранить","saveError":"Сбой сохранения","saved":"Сохранено, применено на лету","saving":"Сохранение…","sectionBans":"Блокировки моделей","sectionExits":"Выходы","sectionFree":"Бесплатные источники (free)","sectionManual":"Прокси вручную (manual)","sectionPinned":"Закреплённый основной выход (pinned)","sectionProbe":"Зондирование (probe)","sectionSubscription":"Подписки (subscription)","singboxPath":"Путь к sing-box (singbox.path)","singboxPathHint":"Ядро преобразования для зашифрованных узлов: имя в PATH или абсолютный путь. Без него они останутся «ожидающими преобразования».","stateCooling":"пауза","stateDead":"недоступен","stateOk":"ок","stateUnknown":"не проверен","statusLoading":"Загрузка…","statusUnavailable":"Служба настроек недоступна; конфигурацию пула IP невозможно прочитать или записать.","subscriptionAdd":"Добавить подписку","subscriptionHint":"URL подписок Clash·V2ray (Airport или собственный сервер), по одному на строку; открытые узлы подключаются напрямую, зашифрованные конвертируются через sing-box.","subscriptionPlaceholder":"https://…","subscriptionRefreshMs":"Интервал обновления (мс)","subscriptionRefreshMsHint":"По умолчанию 1 800 000 (30 мин). Подписки опрашиваются плавно, без одновременных всплесков.","subscriptionRefreshNow":"Обновить сейчас","title":"Пул IP (opencode2dsh)"}}
@@ -0,0 +1 @@
1
+ {"ego-browser":{"actionFailed":"Не удалось выполнить действие: {error}","autoUnit":"авто","backstopIntervalMs":"Интервал контрольных кадров (мс)","backstopIntervalMsHint":"Периодичность отправки контрольного кадра при отсутствии событий в браузере (0 для отключения).","captureBackend":"Механизм захвата","captureBackendAuto":"Авто (FFmpeg, если доступен, иначе CDP)","captureBackendCdp":"Только CDP","captureBackendDesc":"FFmpeg использует меньше полосы пропускания и обеспечивает более плавный видеопоток; CDP работает без внешних зависимостей.","captureBackendFfmpeg":"FFmpeg (аппаратное/программное кодирование)","cdpBackstopDesc":"Гарантирует обновление экрана при статической картинке.","cdpBackstopIntervalMs":"Интервал восстановления CDP","cdpFps":"Частота кадров CDP (1-30)","cdpFpsDesc":"Частота передачи кадров при использовании захвата через CDP.","cdpMaxWidth":"Макс. ширина CDP (пиксели)","cdpMaxWidthDesc":"Ограничивает горизонтальное разрешение потока CDP для экономии трафика.","cdpQuality":"Качество изображений CDP (10-95)","cdpQualityDesc":"Качество сжатия JPEG для кадров CDP.","chromeArgs":"Дополнительные аргументы запуска Chrome","chromeArgsHint":"Добавляются в argv запуска Chrome. Вступают в силу при следующем холодном старте браузера (браузер singleton — выполните `ego-browser --stop` или перезапустите DSH для перезапуска). Заблокированы: --user-data-dir/--remote-debugging-port/--remote-allow-origins/--headless/--no-startup-window/--proxy-server (для прокси используйте EGO_LINUX_PROXY).","chromeBinary":"Исполняемый файл Chrome / Chromium","chromeBinaryDesc":"Абсолютный путь к браузеру или имя команды в PATH. Оставьте пустым для автоопределения.","chromePath":"Путь к бинарному файлу браузера","chromePathHint":"Путь к исполняемому файлу Chrome/Chromium/Edge. Пусто = автоопределение.","collapse":"Скрыть настройки","configLoadFailed":"Не удалось загрузить текущую конфигурацию.","copied":"Скопировано","copy":"Копировать","defaultBadge":"по умолчанию","discard":"Отменить","domainListPlaceholder":"example.com\n.google.com","domainsLabel":"Домены (по одному на строку)","egoCliArgs":"Дополнительные аргументы CLI ego-browser","egoCliArgsHint":"Добавляются к аргументам `ego-browser nodejs`. Вступают в силу при следующем вызове ego_*. Заблокированы: --status/--stop/--open/--spaces/--help (они завершают работу до выполнения heredoc). Используйте --headless через переменную окружения headless.","expand":"Показать настройки","ffmpegBitrateKbps":"Битрейт (кбит/с)","ffmpegBitrateKbpsDesc":"Целевой битрейт для видеопотока FFmpeg.","ffmpegChecking":"Проверка локального FFmpeg…","ffmpegDownloading":"Загрузка FFmpeg…","ffmpegEncoder":"Видеокодек FFmpeg","ffmpegEncoderAuto":"Авто (аппаратное ускорение при наличии)","ffmpegEncoderDesc":"Кодек H.264 для кодирования потока.","ffmpegEncoderH264Nvenc":"NVIDIA NVENC (h264_nvenc)","ffmpegEncoderH264Qsv":"Intel Quick Sync (h264_qsv)","ffmpegEncoderH264Vaapi":"VAAPI (h264_vaapi)","ffmpegEncoderLibx264":"Программный x264 (libx264)","ffmpegExtracting":"Распаковка FFmpeg…","ffmpegFailed":"Сбой установки FFmpeg","ffmpegFps":"Частота кадров FFmpeg (1-60)","ffmpegFpsDesc":"Частота кадров видеопотока FFmpeg.","ffmpegInstall":"Скачать FFmpeg","ffmpegMaxWidth":"Макс. ширина FFmpeg (пиксели)","ffmpegMaxWidthDesc":"Максимальная ширина видеокадра FFmpeg.","ffmpegMissing":"Совместимый FFmpeg не найден","ffmpegPath":"Путь к FFmpeg","ffmpegPathDesc":"Абсолютный путь к бинарному файлу ffmpeg или имя команды в PATH.","ffmpegProbing":"Проверка возможностей захвата…","ffmpegReady":"Готов","ffmpegRecheck":"Перепроверить","ffmpegReinstall":"Переустановить","ffmpegRequired":"FFmpeg (требуется установка)","ffmpegSource":"Источник","ffmpegTitle":"Установка FFmpeg","ffmpegUnsupported":"Захват через FFmpeg не поддерживается на этой платформе","ffmpegVerifying":"Проверка загрузки…","ffmpegVersion":"Версия","fpsUnit":"кадр/с","githubMirror":"Зеркало GitHub","githubMirrorHint":"Заменяет https://github.com для загрузок с GitHub, например https://gh-proxy.com/github.com.","groupGeneral":"Браузер и запуск","groupImport":"Импорт учётных данных","groupStream":"Параметры видеопотока","idleTimeoutMin":"Автоостановка при простое (минуты)","idleTimeoutMinHint":"Остановить фоновый браузер после N минут без вызовов ego_* (0 = отключено). Холодный старт при следующем вызове (~2-4 с). Просмотр панели не считается активностью.","intro":"Интеграция браузера агента. Настройте путь к исполняемому файлу Chrome/Chromium и параметры трансляции ниже.","isolateSpaces":"Изоляция пространств","isolateSpacesHint":"Отключено: постоянный профиль на диске, авторизации сохраняются между перезапусками. Включено: песочница только в памяти для каждой задачи.","isolateSpacesOff":"Отключено (постоянный профиль, сохранять авторизации)","isolateSpacesOn":"Включено (изолированная песочница в памяти)","kbpsUnit":"кбит/с","loginImportAction":"Импортировать сессии","loginImportBrave":"Brave Browser","loginImportBusy":"Выполняется…","loginImportChrome":"Google Chrome","loginImportCloseSource":"Сначала закройте исходный браузер, если он запущен (окна восстановятся при следующем открытии)","loginImportClosed":" (исходный браузер был закрыт и может быть открыт снова)","loginImportDesc":"Перенос cookies для указанных доменов.","loginImportDomains":"Домены (через запятую; пусто = ВСЕ)","loginImportDomainsHint":"например, bilibili.com, zhihu.com — включая поддомены. Предпочтительнее явный список вместо импорта всех cookies.","loginImportEdge":"Microsoft Edge","loginImportEmpty":"Укажите хотя бы один домен для импорта.","loginImportIntro":"Копирование cookies авторизации из повседневного Chrome/Edge/Brave в браузер агента (сквозная передача через CDP — без автономной расшифровки). Сначала выполните пробу, затем импортируйте с явным списком доменов.","loginImportProbe":"Проверить","loginImportProbeResult":"Доступно для импорта: {matched} cookies на {domains} доменах (всего прочитано {total}) — ничего не записано.","loginImportResult":"Импортировано {written} cookies на {domains} доменах из {source}. Они сохраняются между перезапусками.","loginImportRun":"Импортировать","loginImportSource":"Источник","loginImportTitle":"Импорт авторизаций из системного браузера","minUnit":"мин","msUnit":"мс","namespaceUnavailable":"Канал настройки ego-browser недоступен. Повторите попытку позже.","pxUnit":"пикс","readOnly":"В данном развёртывании настройки доступны только для чтения.","retry":"Повторить","save":"Сохранить","saving":"Сохранение…","streamProfile":"Профиль качества","title":"ego-browser","unsaved":"Не сохранено"}}
@@ -0,0 +1 @@
1
+ {"dsh-effort-slider":{"close":"Закрыть","effort_level":"Уровень рассуждений","loading_models":"Загрузка каталога моделей…","not_supported":"Текущая модель не поддерживает регулировку глубины рассуждений"}}
@@ -1 +1 @@
1
- {"+ 新增 hook":"+ Добавить hook","Anthropic 官方技能合集(Claude Skills)":"Официальная коллекция навыков Anthropic (Claude Skills)","DSH 加载状态":"Состояние в DSH","DSH 技能":"Навыки DSH","DSH 本地技能可创建、导入和移到回收站。":"Локальные навыки DSH можно создавать, импортировать и отправлять в корзину.","Matt Pocock 技能集":"Коллекция навыков Matt Pocock","SKILL.md 需包含 YAML 格式的技能名称和描述":"SKILL.md должен содержать YAML-название и описание","Superpowers 社区技能合集":"Коллекция навыков сообщества Superpowers","ZIP 压缩包无法解压":"ZIP-архив не удаётся распаковать","ZIP 压缩包过大,限制为 {limit} 字节":"ZIP-архив слишком велик; лимит {limit} байт","frontmatter 缺少 description":"В frontmatter нет description","frontmatter 缺少 name":"В frontmatter нет name","hook #{i}:请填写 run 命令或选择通知渠道":"hook #{i}:укажите команду run или выберите канал уведомлений","owner/repo 或 https://github.com/…":"owner/repo или https://github.com/…","skill 来源目录层级超过 {depth} 层: {path}":"Глубина каталога источника превышает {depth} уровней: {path}","{count} 个已停用":"Отключено: {count}","{count} 个已在 DSH 加载":"Загружено в DSH: {count}","{count} 个待处理技能":"Навыков в очереди: {count}","{count} 个技能":"Навыков: {count}","{count} 个文件 · {size}":"Файлов: {count} · {size}","{count} 个诊断项":"Проблем: {count}","{repo}({count} 个技能)":"{repo} (навыков: {count})","{result};警告:{warnings}":"{result}; предупреждения: {warnings}","{value} 分钟前":"{value} мин назад","{value} 周前":"{value} нед назад","{value} 天前":"{value} дн назад","{value} 小时前":"{value} ч назад","“{name}”将从回收站永久删除,无法恢复。":"«{name}» будет безвозвратно удалён из корзины; восстановить невозможно.","“{name}”将从当前技能来源移入回收站,之后可以恢复到原位置。":"«{name}» будет перемещён из текущего источника в корзину; позже его можно восстановить на прежнее место.","一句话说明什么时候使用":"Одно предложение — когда использовать","一句话说明用途(含触发词),Agent 靠它自动激活技能":"Одна строка — что делает (с триггерными словами); по этому описанию агенты активируют навык","上传内容为空":"Загрузка пуста","上传内容包含重复路径:{path}":"Загрузка содержит дублирующийся путь: {path}","上传内容包含非法路径:{path}":"Загрузка содержит недопустимый путь: {path}","上传内容编码无效":"Недопустимая кодировка загружаемого содержимого","上传内容过大,限制为 {limit} 字节":"Загрузка слишком велика; лимит {limit} байт","上传文件过多,最多 {limit} 个":"Слишком много файлов; максимум {limit}","上游已删 {count}":"Удалено в источнике: {count}","上游已删除 {count} 个":"Удалено в источнике: {count}","不支持包含符号链接的 skill 来源: {path}":"Источники навыков с символическими ссылками не поддерживаются: {path}","不支持的请求方法":"Метод не поддерживается","不是目录:{path}":"Это не папка: {path}","个 hook 触发":"срабатываний хука","个人":"Личные","个人技能(未绑定上游,不检查更新)":"Личный навык (не привязан к источнику; проверки обновлений нет)","为空时恢复默认Deep diving...提示词状态":"Если пусто, возвращается исходный промпт Deep diving...","以下技能也在其他组中开启,关闭它们会影响那些组:":"Эти навыки включены и в других группах; их закрытие затронет и те группы:","以下技能已从上游仓库移除,本地目录将移入回收站(可恢复):":"Эти навыки удалены из источника; их локальные каталоги уйдут в корзину (восстановимо):","优先级 {rank}":"Приоритет {rank}","例如 code-review-helper":"например code-review-helper","保存":"Сохранить","保存中…":"Сохранение…","保存名称":"Сохранить название","保存成员":"Сохранить состав","保留开启":"Оставить включёнными","修复并启用":"Исправить и включить","停用":"Отключить","全选":"Выбрать все","全部关闭":"Закрыть все","全部更新":"Обновить всё","全部来源":"Все источники","公共 Agent":"Общий Agent","共 {count} 个技能":"Всего навыков: {count}","关":"Выкл","关闭":"Закрыть","关闭后技能中枢的路由、入口与公告全部下线。":"Отключает маршруты, элементы и объявление центра навыков.","关闭此组?":"Закрыть эту группу?","其他来源":"Другие источники","内置":"Встроенные","写下技能要遵循的指令、步骤和边界…":"Опишите инструкции, шаги и границы навыка…","分组":"По группам","刚刚":"только что","刚刚检查过":"Недавно проверено","创建":"создание","创建中…":"Создание…","创建位置":"Место создания","创建失败:":"Ошибка создания: ","创建技能":"Создать навык","删除":"удаление","删除于 {time}":"Удалено {time}","删除场景":"Удалить сценарий","删除整组":"Удалить группу","删除整组?":"Удалить группу?","删除该分组下的全部 {count} 个技能":"Удалить все навыки ({count}) этой группы","刷新":"Обновить","勾选技能加入此场景(含已禁用)。":"Отметьте навыки, чтобы добавить их в сценарий (включая отключённые).","单文件":"Один файл","压缩包或文件夹需包含 SKILL.md":"Архив или папка должны содержать SKILL.md","原项目当前不在活动工作区中,无法恢复:{path}":"Исходный проект не является активной рабочей областью, восстановление невозможно: {path}","发现 {count} 个可导入技能":"Найдено импортируемых навыков: {count}","发现新版本 v{version}(当前 v{current})":"Доступно обновление: v{version} (текущая v{current})","发现诊断":"Диагностика обнаружения","取消":"Отмена","只统计最近 N 天的使用次数,默认 14 天;0 = 全部历史。改动立即生效。":"Учитывать использование только за последние N дней (по умолчанию 14); 0 = вся история. Изменения применяются сразу.","只读":"только чтение","可更新 {count}":"Обновляемо: {count}","可管理":"Управляемый","合并":"Объединить","同名技能已存在: {name}":"Навык с таким именем уже существует: {name}","同步":"Синхронизировать","同步中…":"Синхронизация…","同步技能?":"Синхронизировать навыки?","同步本地技能":"Обновить локальные навыки","名称":"Название","后台扫描会话日志的间隔,最小 1 分钟;扫描耗时会自动拉长间隔。":"Как часто фоновое сканирование журналов сессий выполняется (минимум 1); тяжёлые сканирования автоматически растягивают интервал.","向 Agent 公告":"Объявлять агенту","启停技能":"Вкл/выкл навык","启停来源":"Вкл/выкл источник","启用":"Включить","启用或停用":"включение или отключение","启用插件":"Включить плагин","回收站":"Корзина","回收站为空。":"Корзина пуста.","回收站条目不存在: {id}":"Элемент корзины не найден: {id}","回收站条目路径非法: {id}":"Недопустимый путь элемента корзины: {id}","回收站里的技能会被永久删除,无法恢复。此操作不可撤销。":"Навыки в корзине будут удалены безвозвратно и не могут быть восстановлены.","在分组标题后汇总调用次数与最近调用时间。":"После заголовков групп показывать число вызовов и время последнего вызова.","在技能名旁显示琥珀色调用次数。":"Показывать янтарный счётчик вызовов рядом с именем навыка.","在技能名行右侧显示相对时间(如「3 天前」)。":"Показывать относительное время в строке имени (например «3 дн назад»).","在系统提示中加入本插件说明,用户提到技能管理时 Agent 知道如何协作。":"Добавляет раздел в системный промпт, чтобы агенты знали, как сотрудничать, когда пользователь упоминает управление навыками.","场景":"Сценарии","场景名":"Название сценария","填写项目路径后,面板同时显示该项目 .dsh/skills 与 .agents/skills 下的技能(只读);留空回车恢复用户级视图。":"Укажите путь проекта, чтобы показать навыки его .dsh/skills и .agents/skills (только чтение); очистите и нажмите Enter, чтобы вернуться к пользовательскому виду.","失败 {count} 个":"Не удалось: {count}","安装":"Установить","对话中的 create_skill 仍创建用户级 DSH Skill;项目 Skill 可在这里选择活动项目后创建。":"Команда create_skill в чате по-прежнему создаёт пользовательский навык DSH; проектный навык можно создать здесь, выбрав активный проект.","导入":"Импорт","导入中…":"Импорт…","导入失败":"Импорт не удался","导入完成:{names}":"Импорт завершён: {names}","导入成功 {count} 个":"Импортировано: {count}","导入所选 ({count})":"Импортировать выбранные ({count})","导入技能":"Импорт навыка","导入时复制完整内容,不修改原始来源":"Импорт копирует содержимое целиком и не меняет источник","导入来源不能与 DSH 技能目录相同、包含或位于其中":"Источник импорта не может совпадать с каталогом навыков DSH, содержать или находиться внутри него","将把以下来源的可更新技能更新到上游最新版本(覆盖本地修改):":"Обновляемые навыки этих источников будут перезаписаны их новейшими версиями из источника:","将把分组“{name}”下的全部 {count} 个技能移入回收站(可恢复),只读技能会跳过:":"Все навыки ({count}) группы «{name}» будут перемещены в корзину (восстановимо); навыки «только чтение» будут пропущены:","将用上游最新版本覆盖本地对以下技能的所有修改:":"Локальные изменения этих навыков будут перезаписаны новейшими версиями из источника:","尚未核对上游":"источник ещё не проверен","展开工作过程":"Развернуть процесс","展开设置":"Развернуть настройки","工作区路径(回车应用)":"Путь рабочей области (Enter — применить)","已停用":"Отключён","已创建技能:{name}":"Навык создан: {name}","已创建:":"Создано: ","已加载":"Загружен","已发现":"Обнаружен","已取消 · 已导入 {imported}/{total} 已保留,临时文件已清理":"Отменено · {imported}/{total} сохранено, временные файлы удалены","已同步版本":"Синхронизированная ревизия","已启用":"Включено","已处理":"Обработано","已存在":"Существующие","已导入:{imported};已跳过同名技能:{skipped}":"Импортировано: {imported}; пропущены одноимённые: {skipped}","已恢复技能:{name}":"Навык восстановлен: {name}","已是最新":"Актуально","已是最新版本 v{version}":"Актуальная версия: v{version}","已更新 {count} 个来源":"Обновлено источников: {count}","已永久删除:{name}":"Удалён безвозвратно: {name}","已禁用":"Отключено","已禁用 {count}":"Отключено: {count}","已移到回收站:{name}":"Отправлен в корзину: {name}","已装 {count}":"Установлено: {count}","已覆盖":"Переопределено","已选择":"Выбрано","市场":"Маркет","市场源已对齐到 {ref},要同步更新以下本地技能吗?":"Источник выровнен с {ref}. Обновить эти локальные навыки?","平铺":"Списком","开":"Вкл","当前 hooks":"Текущие хуки","思考":"Рассуждения","恢复":"Восстановить","恢复默认":"По умолчанию","所属场景":"Группы","所选文件夹中没有找到 SKILL.md。":"В выбранной папке не найдено SKILL.md.","扫描":"Сканировать","扫描中…":"Сканирование…","批量更新全部技能?":"Обновить все навыки?","批量来源中存在多个同名技能: {name}":"В пакетном источнике есть навыки с одинаковыми именами: {name}","技能":"Навыки","技能 skills":"Навыки (skills)","技能不存在: {name}":"Навык не найден: {name}","技能中枢":"Центр навыков","技能中枢:浏览、分组与同步管理本地技能":"Центр навыков: просмотр, группировка и синхронизация локальных навыков","技能内容过长":"Содержимое навыка слишком велико","技能名称不是合法 kebab-case:{name}":"Имя навыка не соответствует kebab-case: {name}","技能名称与描述":"Название и описание навыка","技能名(kebab-case,如 code-review)":"Имя навыка (kebab-case, например code-review)","技能正文不能为空":"Текст навыка обязателен","技能简介不能为空":"Описание навыка обязательно","技能管理器状态文件不可读,已拒绝覆盖:{path}":"Файл состояния менеджера не читается, перезапись отклонена: {path}","技能管理器状态文件不可读;外部技能已安全停用,修复文件前不会覆盖状态:{path}":"Файл состояния менеджера не читается; внешние навыки отключены, перезапись заблокирована до исправления: {path}","技能缺少完整 frontmatter,无法{action}: {name}":"У навыка неполный frontmatter, нельзя выполнить «{action}»: {name}","技能行/聊天 / 菜单中「仅用户可调」绿色圆点的颜色(#rrggbb)。":"Цвет зелёной точки «только пользователь» в панели навыков и чате/меню (#rrggbb).","技能行/聊天 / 菜单中「模型可调」蓝色圆点的颜色(#rrggbb)。":"Цвет синей точки «модель может вызвать» в панели навыков и чате/меню (#rrggbb).","技能详情":"Подробности навыка","拖拽技能到此处":"Перетащите навык сюда","按名称":"По названию","按添加时间":"По дате добавления","按调用次数":"По числу вызовов","描述(一句话路由说明)":"Описание (одно предложение для маршрутизации)","提供者":"Провайдер","搜索":"Поиск","搜索技能…":"Поиск навыков…","搜索技能名称或描述":"Поиск по названию или описанию навыка","操作失败:{error}":"Действие не удалось: {error}","支持 .zip、技能文件夹或单个 SKILL.md":"Поддерживаются .zip, папка навыка или один SKILL.md","收起工作过程":"Свернуть процесс","收起设置":"Свернуть настройки","放弃修改":"Отменить","文件要求":"Требования к файлам","新建场景":"Новый сценарий","新建技能":"Новый навык","新版本 v{version}":"Новая версия v{version}","无法从宿主读取活动工作区,项目技能未显示:{path}":"Не удалось получить активную рабочую область у хоста, проектные навыки скрыты: {path}","无法恢复,同名技能已存在: {name}":"Нельзя восстановить: навык с таким именем уже существует: {name}","无法生成合法 kebab-case 名称(原始名: {name})":"Не удалось сгенерировать корректное имя kebab-case (исходное: {name})","无法访问 /dsh-hooks/* 路由:请确认 dsh-hooks 核心插件已安装且 dsh web 已重启。":"Не удаётся получить доступ к маршрутам /dsh-hooks/*: убедитесь, что плагин dsh-hooks установлен и DSH перезапущен.","无法识别的 skill 来源: {path}":"Нераспознанный источник навыков: {path}","无法读取目录:{path}":"Не удалось прочитать папку: {path}","旧版本备份未清理: {path}({error})":"Резервная копия старой версии не удалена: {path} ({error})","显示分组汇总":"Показывать сводку по группам","显示最近调用时间":"Показывать время последнего вызова","显示调用次数":"Показывать число вызовов","暂无 hook,点「编辑」添加":"Нет хуков, нажмите «Редактировать» для добавления","暂无可用的发布版本":"Нет доступных релизов","暂无来源组。从市场导入技能后自动按来源聚合。":"Групп по источникам пока нет. Импортируйте навыки из маркета — они сгруппируются по источникам.","更新":"Обновить","更新 {count} 个":"Обновить {count}","更新时间":"Обновлён","有更新":"Есть обновления","有更新 {count} 个":"Обновлений: {count}","服务端返回非 JSON 响应(HTTP {status})":"Сервер вернул ответ не в формате JSON (HTTP {status})","未保存":"Не сохранено","未发现诊断问题。":"Проблем не обнаружено.","未导入任何技能。":"Не импортировано ни одного навыка.","未导入任何技能;已跳过同名技能:{names}":"Ничего не импортировано; пропущены существующие: {names}","未提供简介":"Описание не указано","未知技能来源:{root}":"Неизвестный источник навыков: {root}","未知操作":"Неизвестное действие","本地还没有技能。点击「新建技能」创建第一个。":"Навыков пока нет. Создайте первый.","本部署没有挂载该设置命名空间。":"Это развёртывание не предоставляет пространство настроек.","本部署没有接受这些值,已保留供你修改。":"Развёртывание не приняло эти значения; они оставлены для исправления.","本部署的设置为只读。":"Настройки этого развёртывания доступны только для чтения.","来源":"Источник","来源:{source}":"Источник: {source}","查看 {name} 详情(回车)":"Подробнее о навыке {name} (Enter)","查看发布":"Открыть релиз","查看详情":"Подробнее","检查":"Проверить","检查中…":"Проверка…","检查全部":"Проверить все","检查失败":"Проверка не удалась","检查更新":"Проверить обновления","检查更新失败:{error}":"Не удалось проверить обновления: {error}","模型可调 — Agent 可自动调用":"Вызывается моделью — агенты могут вызывать автоматически","模型可调圆点颜色":"Цвет точки «вызывается моделью»","模板 design-templates":"Шаблоны design-templates","正在加载技能…":"Загрузка навыков…","正在安装…":"Установка…","正在导入: {name} ({done}/{total})":"Импорт: {name} ({done}/{total})","正文":"Текст","正文(Markdown)":"Текст (Markdown)","每个技能最多一个圆点;无圆点 = 不可被调用。":"У навыка не более одной точки; нет точки = не вызывается.","永久删除":"Удалить безвозвратно","永久删除?":"Удалить безвозвратно?","没有匹配的技能。":"Подходящих навыков нет.","没有找到可导入技能。":"Импортируемых навыков не найдено.","添加":"Добавить","添加时间":"Добавлен","添加源":"Добавить источник","清空":"Очистить","清空回收站":"Очистить корзину","清空回收站?":"Очистить корзину?","清除工作区":"Очистить рабочую область","清除搜索":"Очистить поиск","源文件":"Исходный файл","源文件只读":"Источник только для чтения","点击检查上游更新":"Нажмите, чтобы проверить источник на обновления","状态已更新。":"Состояние обновлено.","状态提示词":"Промпт статуса","用户 .agents":"пользователь .agents","用户 .dsh":"пользователь .dsh","用户 ~/.agents/skills":"Пользовательские ~/.agents/skills","用户 ~/.dsh/skills":"Пользовательские ~/.dsh/skills","用户可调 — 仅显式点名时触发":"Вызывается пользователем — только явный вызов","用户可调圆点颜色":"Цвет точки «вызывается пользователем»","目录下未找到任何 skill 条目: {path}":"В каталоге не найдено ни одного элемента навыков: {path}","目录技能":"Набор навыков","目录路径必须是绝对路径:{path}":"Путь к папке должен быть абсолютным: {path}","目标目录":"Целевой каталог","知道了":"Понятно","确定":"Подтвердить","确定把「{name}」移入回收站吗?可随时恢复。":"Переместить «{name}» в корзину? Его можно восстановить в любой момент.","禁止的修改请求(缺少客户端标记)":"Запрещённый запрос на изменение (нет клиентского маркера)","禁止的请求来源(非法 Host)":"Запрещённый источник запроса (неверный Host)","禁用":"Отключить","移入回收站":"В корзину","移入回收站回滚失败,未恢复内容保留在: {path}({error})":"Откат перемещения в корзину не удался; невосстановленное содержимое сохранено в: {path} ({error})","移入回收站?":"В корзину?","移到回收站":"В корзину","移到回收站?":"Отправить в корзину?","移除所选内容":"Убрать выбранное","移除源":"Удалить источник","移除源不影响已安装的技能。":"Удаление источника не затрагивает установленные навыки.","简介":"Описание","管理 dsh 本地技能目录:浏览、分组、来源同步与新建。":"Управление локальным каталогом навыков dsh: просмотр, группировка, синхронизация источников и создание.","精选技能仓库,添加后即可扫描安装,并持续检查更新。":"Отобранные репозитории навыков — добавьте, чтобы сканировать и устанавливать, с постоянной проверкой обновлений.","细分":"Разделить","统一加载和管理本机 Agent Skills。":"Единая загрузка и управление Agent-навыками на этом компьютере.","统计窗口(天)":"Окно статистики (дней)","继承":"Наследовать","编辑":"Изменить","缺少完整 YAML frontmatter":"Отсутствует полный YAML frontmatter","能力怎么选:重复方法 → 技能;外部系统 → MCP;长期资料 → 知识库。":"Как выбрать способность: повторяемый метод → навык; внешняя система → MCP; долгосрочные знания → база знаний.","自动统计间隔(分钟)":"Интервал автостатистики (минут)","自定义":"свой каталог","自定义状态提示词":"Свой промпт статуса","自定义目录":"Пользовательские каталоги","被更高优先级来源 {root} 覆盖":"Перекрыт источником с более высоким приоритетом {root}","被覆盖":"Перекрыт","覆盖导入回滚失败,备份保留在: {path}({error})":"Откат перезаписывающего импорта не удался; резервные копии сохранены в: {path} ({error})","设计技能合集(design-templates)":"Коллекция навыков дизайна (design-templates)","诊断":"Диагностика","诊断异常":"Есть проблемы","该仓库没有正式发布,选择要跟踪的分支(默认为 main):":"У репозитория нет релизов. Выберите ветку для отслеживания (по умолчанию main):","该来源不允许{action}":"Этот источник не разрешает: {action}","该来源目录不存在或暂时没有技能。":"Этого каталога не существует или в нём пока нет навыков.","该来源还没有导入本地技能。":"Из этого репозитория пока не импортировано ни одного навыка.","该组没有可写技能(只读技能无法由中枢开关)":"В группе нет перезаписываемых навыков (состояние навыков «только чтение» нельзя менять из центра)","请求体不是合法 JSON":"Тело запроса — не корректный JSON","请求体必须是 application/json":"Тело запроса должно быть application/json","请求体过大":"Тело запроса слишком велико","请选择 .zip 或单个 SKILL.md。":"Выберите .zip или один файл SKILL.md.","读取中…":"Загрузка…","读取技能正文…":"Загрузка текста навыка…","调用次数":"Вызовы","调用策略字段值无效":"Недопустимое значение политики вызова","跟进上游删除?":"Согласиться с удалением в источнике?","跟进删除":"Согласиться с удалением","路径":"Путь","路径不存在: {path}":"Путь не существует: {path}","跳过":"Пропустить","跳过已存在 {count} 个":"Пропущено существующих: {count}","运行时":"Runtime","返回列表":"К списку","还没有场景。先新建一个,再把技能归类。":"Сценариев ещё нет. Создайте один и начните раскладывать навыки.","还没有市场源。从下方内置市场添加,或输入一个 GitHub 仓库。":"Источников пока нет. Добавьте из каталога ниже или введите репозиторий GitHub.","适用场景":"Когда применять","选择分支":"Выберите ветку","选择文件":"Выбрать файл","选择文件夹":"Выбрать папку","通知 webhook":"Webhook уведомлений","通过 Skills Manager 只读加载,启停不会改写源文件。":"Загружается через Skills Manager только для чтения; переключения не меняют исходные файлы.","项目 .agents":"проект .agents","项目 .agents/skills":"Проектные .agents/skills","项目 .dsh":"проект .dsh","项目 .dsh/skills":"Проектные .dsh/skills","项目 Agent":"Проектный Agent","项目 DSH":"Проектный DSH","项目技能目录不安全,拒绝写入:{path}":"Каталог проектных навыков небезопасен, запись отклонена: {path}","项目级":"Проектный","(目录可能不完整)":"(каталог может быть неполным)"}
1
+ {"+ 新增 hook":"+ Добавить hook","Anthropic 官方技能合集(Claude Skills)":"Официальная коллекция навыков Anthropic (Claude Skills)","DSH 加载状态":"Состояние в DSH","DSH 技能":"Навыки DSH","DSH 本地技能可创建、导入和移到回收站。":"Локальные навыки DSH можно создавать, импортировать и отправлять в корзину.","Matt Pocock 技能集":"Коллекция навыков Matt Pocock","SKILL.md 需包含 YAML 格式的技能名称和描述":"SKILL.md должен содержать YAML-название и описание","Superpowers 社区技能合集":"Коллекция навыков сообщества Superpowers","ZIP 压缩包无法解压":"ZIP-архив не удаётся распаковать","ZIP 压缩包过大,限制为 {limit} 字节":"ZIP-архив слишком велик; лимит {limit} байт","frontmatter 缺少 description":"В frontmatter нет description","frontmatter 缺少 name":"В frontmatter нет name","hook #{i}:请填写 run 命令或选择通知渠道":"hook #{i}:укажите команду run или выберите канал уведомлений","owner/repo 或 https://github.com/…":"owner/repo или https://github.com/…","skill 来源目录层级超过 {depth} 层: {path}":"Глубина каталога источника превышает {depth} уровней: {path}","{count} 个已停用":"Отключено: {count}","{count} 个已在 DSH 加载":"Загружено в DSH: {count}","{count} 个待处理技能":"Навыков в очереди: {count}","{count} 个技能":"Навыков: {count}","{count} 个文件 · {size}":"Файлов: {count} · {size}","{count} 个诊断项":"Проблем: {count}","{repo}({count} 个技能)":"{repo} (навыков: {count})","{result};警告:{warnings}":"{result}; предупреждения: {warnings}","{value} 分钟前":"{value} мин назад","{value} 周前":"{value} нед назад","{value} 天前":"{value} дн назад","{value} 小时前":"{value} ч назад","“{name}”将从回收站永久删除,无法恢复。":"«{name}» будет безвозвратно удалён из корзины; восстановить невозможно.","“{name}”将从当前技能来源移入回收站,之后可以恢复到原位置。":"«{name}» будет перемещён из текущего источника в корзину; позже его можно восстановить на прежнее место.","一句话说明什么时候使用":"Одно предложение — когда использовать","一句话说明用途(含触发词),Agent 靠它自动激活技能":"Одна строка — что делает (с триггерными словами); по этому описанию агенты активируют навык","上传内容为空":"Загрузка пуста","上传内容包含重复路径:{path}":"Загрузка содержит дублирующийся путь: {path}","上传内容包含非法路径:{path}":"Загрузка содержит недопустимый путь: {path}","上传内容编码无效":"Недопустимая кодировка загружаемого содержимого","上传内容过大,限制为 {limit} 字节":"Загрузка слишком велика; лимит {limit} байт","上传文件过多,最多 {limit} 个":"Слишком много файлов; максимум {limit}","上游已删 {count}":"Удалено в источнике: {count}","上游已删除 {count} 个":"Удалено в источнике: {count}","不支持包含符号链接的 skill 来源: {path}":"Источники навыков с символическими ссылками не поддерживаются: {path}","不支持的请求方法":"Метод не поддерживается","不是目录:{path}":"Это не папка: {path}","个 hook 触发":"срабатываний хука","个人":"Личные","个人技能(未绑定上游,不检查更新)":"Личный навык (не привязан к источнику; проверки обновлений нет)","为空时恢复默认Deep diving...提示词状态":"Если пусто, возвращается исходный промпт Deep diving...","以下技能也在其他组中开启,关闭它们会影响那些组:":"Эти навыки включены и в других группах; их закрытие затронет и те группы:","以下技能已从上游仓库移除,本地目录将移入回收站(可恢复):":"Эти навыки удалены из источника; их локальные каталоги уйдут в корзину (восстановимо):","优先级 {rank}":"Приоритет {rank}","例如 code-review-helper":"например code-review-helper","保存":"Сохранить","保存中…":"Сохранение…","保存名称":"Сохранить название","保存成员":"Сохранить состав","保留开启":"Оставить включёнными","修复并启用":"Исправить и включить","停用":"Отключить","全选":"Выбрать все","全部关闭":"Закрыть все","全部更新":"Обновить всё","全部来源":"Все источники","公共 Agent":"Общий Agent","共 {count} 个技能":"Всего навыков: {count}","关":"Выкл","关闭":"Закрыть","关闭后技能中枢的路由、入口与公告全部下线。":"Отключает маршруты, элементы и объявление центра навыков.","关闭此组?":"Закрыть эту группу?","其他来源":"Другие источники","内置":"Встроенные","写下技能要遵循的指令、步骤和边界…":"Опишите инструкции, шаги и границы навыка…","分组":"По группам","刚刚":"только что","刚刚检查过":"Недавно проверено","创建":"создание","创建中…":"Создание…","创建位置":"Место создания","创建失败:":"Ошибка создания: ","创建技能":"Создать навык","删除":"удаление","删除于 {time}":"Удалено {time}","删除场景":"Удалить сценарий","删除整组":"Удалить группу","删除整组?":"Удалить группу?","删除该分组下的全部 {count} 个技能":"Удалить все навыки ({count}) этой группы","刷新":"Обновить","勾选技能加入此场景(含已禁用)。":"Отметьте навыки, чтобы добавить их в сценарий (включая отключённые).","单文件":"Один файл","压缩包或文件夹需包含 SKILL.md":"Архив или папка должны содержать SKILL.md","原项目当前不在活动工作区中,无法恢复:{path}":"Исходный проект не является активной рабочей областью, восстановление невозможно: {path}","发现 {count} 个可导入技能":"Найдено импортируемых навыков: {count}","发现新版本 v{version}(当前 v{current})":"Доступно обновление: v{version} (текущая v{current})","发现诊断":"Диагностика обнаружения","取消":"Отмена","只统计最近 N 天的使用次数,默认 14 天;0 = 全部历史。改动立即生效。":"Учитывать использование только за последние N дней (по умолчанию 14); 0 = вся история. Изменения применяются сразу.","只读":"только чтение","可更新 {count}":"Обновляемо: {count}","可管理":"Управляемый","合并":"Объединить","同名技能已存在: {name}":"Навык с таким именем уже существует: {name}","同步":"Синхронизировать","同步中…":"Синхронизация…","同步技能?":"Синхронизировать навыки?","同步本地技能":"Обновить локальные навыки","名称":"Название","后台扫描会话日志的间隔,最小 1 分钟;扫描耗时会自动拉长间隔。":"Как часто фоновое сканирование журналов сессий выполняется (минимум 1); тяжёлые сканирования автоматически растягивают интервал.","向 Agent 公告":"Объявлять агенту","启停技能":"Вкл/выкл навык","启停来源":"Вкл/выкл источник","启用":"Включить","启用或停用":"включение или отключение","启用插件":"Включить плагин","回收站":"Корзина","回收站为空。":"Корзина пуста.","回收站条目不存在: {id}":"Элемент корзины не найден: {id}","回收站条目路径非法: {id}":"Недопустимый путь элемента корзины: {id}","回收站里的技能会被永久删除,无法恢复。此操作不可撤销。":"Навыки в корзине будут удалены безвозвратно и не могут быть восстановлены.","在分组标题后汇总调用次数与最近调用时间。":"После заголовков групп показывать число вызовов и время последнего вызова.","在技能名旁显示琥珀色调用次数。":"Показывать янтарный счётчик вызовов рядом с именем навыка.","在技能名行右侧显示相对时间(如「3 天前」)。":"Показывать относительное время в строке имени (например «3 дн назад»).","在系统提示中加入本插件说明,用户提到技能管理时 Agent 知道如何协作。":"Добавляет раздел в системный промпт, чтобы агенты знали, как сотрудничать, когда пользователь упоминает управление навыками.","场景":"Сценарии","场景名":"Название сценария","填写项目路径后,面板同时显示该项目 .dsh/skills 与 .agents/skills 下的技能(只读);留空回车恢复用户级视图。":"Укажите путь проекта, чтобы показать навыки его .dsh/skills и .agents/skills (только чтение); очистите и нажмите Enter, чтобы вернуться к пользовательскому виду.","失败 {count} 个":"Не удалось: {count}","安装":"Установить","对话中的 create_skill 仍创建用户级 DSH Skill;项目 Skill 可在这里选择活动项目后创建。":"Команда create_skill в чате по-прежнему создаёт пользовательский навык DSH; проектный навык можно создать здесь, выбрав активный проект.","导入":"Импорт","导入中…":"Импорт…","导入失败":"Импорт не удался","导入完成:{names}":"Импорт завершён: {names}","导入成功 {count} 个":"Импортировано: {count}","导入所选 ({count})":"Импортировать выбранные ({count})","导入技能":"Импорт навыка","导入时复制完整内容,不修改原始来源":"Импорт копирует содержимое целиком и не меняет источник","导入来源不能与 DSH 技能目录相同、包含或位于其中":"Источник импорта не может совпадать с каталогом навыков DSH, содержать или находиться внутри него","将把以下来源的可更新技能更新到上游最新版本(覆盖本地修改):":"Обновляемые навыки этих источников будут перезаписаны их новейшими версиями из источника:","将把分组“{name}”下的全部 {count} 个技能移入回收站(可恢复),只读技能会跳过:":"Все навыки ({count}) группы «{name}» будут перемещены в корзину (восстановимо); навыки «только чтение» будут пропущены:","将用上游最新版本覆盖本地对以下技能的所有修改:":"Локальные изменения этих навыков будут перезаписаны новейшими версиями из источника:","尚未核对上游":"источник ещё не проверен","展开工作过程":"Развернуть процесс","展开设置":"Развернуть настройки","工作区路径(回车应用)":"Путь рабочей области (Enter — применить)","已停用":"Отключён","已创建技能:{name}":"Навык создан: {name}","已创建:":"Создано: ","已加载":"Загружен","已发现":"Обнаружен","已取消 · 已导入 {imported}/{total} 已保留,临时文件已清理":"Отменено · {imported}/{total} сохранено, временные файлы удалены","已同步版本":"Синхронизированная ревизия","已启用":"Включено","已处理":"Обработано","已存在":"Существующие","已导入:{imported};已跳过同名技能:{skipped}":"Импортировано: {imported}; пропущены одноимённые: {skipped}","已恢复技能:{name}":"Навык восстановлен: {name}","已是最新":"Актуально","已是最新版本 v{version}":"Актуальная версия: v{version}","已更新 {count} 个来源":"Обновлено источников: {count}","已永久删除:{name}":"Удалён безвозвратно: {name}","已禁用":"Отключено","已禁用 {count}":"Отключено: {count}","已移到回收站:{name}":"Отправлен в корзину: {name}","已装 {count}":"Установлено: {count}","已覆盖":"Переопределено","已选择":"Выбрано","市场":"Маркет","市场源已对齐到 {ref},要同步更新以下本地技能吗?":"Источник выровнен с {ref}. Обновить эти локальные навыки?","平铺":"Списком","开":"Вкл","当前 hooks":"Текущие хуки","当前模型不支持思考强度调节":"Текущая модель не поддерживает регулировку глубины рассуждений","思考":"Рассуждения","恢复":"Восстановить","恢复默认":"По умолчанию","所属场景":"Группы","所选文件夹中没有找到 SKILL.md。":"В выбранной папке не найдено SKILL.md.","扫描":"Сканировать","扫描中…":"Сканирование…","批量更新全部技能?":"Обновить все навыки?","批量来源中存在多个同名技能: {name}":"В пакетном источнике есть навыки с одинаковыми именами: {name}","技能":"Навыки","技能 skills":"Навыки (skills)","技能不存在: {name}":"Навык не найден: {name}","技能中枢":"Центр навыков","技能中枢:浏览、分组与同步管理本地技能":"Центр навыков: просмотр, группировка и синхронизация локальных навыков","技能内容过长":"Содержимое навыка слишком велико","技能名称不是合法 kebab-case:{name}":"Имя навыка не соответствует kebab-case: {name}","技能名称与描述":"Название и описание навыка","技能名(kebab-case,如 code-review)":"Имя навыка (kebab-case, например code-review)","技能正文不能为空":"Текст навыка обязателен","技能简介不能为空":"Описание навыка обязательно","技能管理器状态文件不可读,已拒绝覆盖:{path}":"Файл состояния менеджера не читается, перезапись отклонена: {path}","技能管理器状态文件不可读;外部技能已安全停用,修复文件前不会覆盖状态:{path}":"Файл состояния менеджера не читается; внешние навыки отключены, перезапись заблокирована до исправления: {path}","技能缺少完整 frontmatter,无法{action}: {name}":"У навыка неполный frontmatter, нельзя выполнить «{action}»: {name}","技能行/聊天 / 菜单中「仅用户可调」绿色圆点的颜色(#rrggbb)。":"Цвет зелёной точки «только пользователь» в панели навыков и чате/меню (#rrggbb).","技能行/聊天 / 菜单中「模型可调」蓝色圆点的颜色(#rrggbb)。":"Цвет синей точки «модель может вызвать» в панели навыков и чате/меню (#rrggbb).","技能详情":"Подробности навыка","拖拽技能到此处":"Перетащите навык сюда","按名称":"По названию","按添加时间":"По дате добавления","按调用次数":"По числу вызовов","推理等级":"Уровень рассуждений","描述(一句话路由说明)":"Описание (одно предложение для маршрутизации)","提供者":"Провайдер","搜索":"Поиск","搜索技能…":"Поиск навыков…","搜索技能名称或描述":"Поиск по названию или описанию навыка","操作失败:{error}":"Действие не удалось: {error}","支持 .zip、技能文件夹或单个 SKILL.md":"Поддерживаются .zip, папка навыка или один SKILL.md","收起工作过程":"Свернуть процесс","收起设置":"Свернуть настройки","放弃修改":"Отменить","文件要求":"Требования к файлам","新建场景":"Новый сценарий","新建技能":"Новый навык","新版本 v{version}":"Новая версия v{version}","无法从宿主读取活动工作区,项目技能未显示:{path}":"Не удалось получить активную рабочую область у хоста, проектные навыки скрыты: {path}","无法恢复,同名技能已存在: {name}":"Нельзя восстановить: навык с таким именем уже существует: {name}","无法生成合法 kebab-case 名称(原始名: {name})":"Не удалось сгенерировать корректное имя kebab-case (исходное: {name})","无法访问 /dsh-hooks/* 路由:请确认 dsh-hooks 核心插件已安装且 dsh web 已重启。":"Не удаётся получить доступ к маршрутам /dsh-hooks/*: убедитесь, что плагин dsh-hooks установлен и DSH перезапущен.","无法识别的 skill 来源: {path}":"Нераспознанный источник навыков: {path}","无法读取目录:{path}":"Не удалось прочитать папку: {path}","旧版本备份未清理: {path}({error})":"Резервная копия старой версии не удалена: {path} ({error})","显示分组汇总":"Показывать сводку по группам","显示最近调用时间":"Показывать время последнего вызова","显示调用次数":"Показывать число вызовов","暂无 hook,点「编辑」添加":"Нет хуков, нажмите «Редактировать» для добавления","暂无可用的发布版本":"Нет доступных релизов","暂无来源组。从市场导入技能后自动按来源聚合。":"Групп по источникам пока нет. Импортируйте навыки из маркета — они сгруппируются по источникам.","更新":"Обновить","更新 {count} 个":"Обновить {count}","更新时间":"Обновлён","有更新":"Есть обновления","有更新 {count} 个":"Обновлений: {count}","服务端返回非 JSON 响应(HTTP {status})":"Сервер вернул ответ не в формате JSON (HTTP {status})","未保存":"Не сохранено","未发现诊断问题。":"Проблем не обнаружено.","未导入任何技能。":"Не импортировано ни одного навыка.","未导入任何技能;已跳过同名技能:{names}":"Ничего не импортировано; пропущены существующие: {names}","未提供简介":"Описание не указано","未知技能来源:{root}":"Неизвестный источник навыков: {root}","未知操作":"Неизвестное действие","本地还没有技能。点击「新建技能」创建第一个。":"Навыков пока нет. Создайте первый.","本部署没有挂载该设置命名空间。":"Это развёртывание не предоставляет пространство настроек.","本部署没有接受这些值,已保留供你修改。":"Развёртывание не приняло эти значения; они оставлены для исправления.","本部署的设置为只读。":"Настройки этого развёртывания доступны только для чтения.","来源":"Источник","来源:{source}":"Источник: {source}","查看 {name} 详情(回车)":"Подробнее о навыке {name} (Enter)","查看发布":"Открыть релиз","查看详情":"Подробнее","检查":"Проверить","检查中…":"Проверка…","检查全部":"Проверить все","检查失败":"Проверка не удалась","检查更新":"Проверить обновления","检查更新失败:{error}":"Не удалось проверить обновления: {error}","模型可调 — Agent 可自动调用":"Вызывается моделью — агенты могут вызывать автоматически","模型可调圆点颜色":"Цвет точки «вызывается моделью»","模型目录加载中…":"Загрузка каталога моделей…","模板 design-templates":"Шаблоны design-templates","正在加载技能…":"Загрузка навыков…","正在安装…":"Установка…","正在导入: {name} ({done}/{total})":"Импорт: {name} ({done}/{total})","正文":"Текст","正文(Markdown)":"Текст (Markdown)","每个技能最多一个圆点;无圆点 = 不可被调用。":"У навыка не более одной точки; нет точки = не вызывается.","永久删除":"Удалить безвозвратно","永久删除?":"Удалить безвозвратно?","没有匹配的技能。":"Подходящих навыков нет.","没有找到可导入技能。":"Импортируемых навыков не найдено.","添加":"Добавить","添加时间":"Добавлен","添加源":"Добавить источник","清空":"Очистить","清空回收站":"Очистить корзину","清空回收站?":"Очистить корзину?","清除工作区":"Очистить рабочую область","清除搜索":"Очистить поиск","源文件":"Исходный файл","源文件只读":"Источник только для чтения","点击检查上游更新":"Нажмите, чтобы проверить источник на обновления","状态已更新。":"Состояние обновлено.","状态提示词":"Промпт статуса","用户 .agents":"пользователь .agents","用户 .dsh":"пользователь .dsh","用户 ~/.agents/skills":"Пользовательские ~/.agents/skills","用户 ~/.dsh/skills":"Пользовательские ~/.dsh/skills","用户可调 — 仅显式点名时触发":"Вызывается пользователем — только явный вызов","用户可调圆点颜色":"Цвет точки «вызывается пользователем»","目录下未找到任何 skill 条目: {path}":"В каталоге не найдено ни одного элемента навыков: {path}","目录技能":"Набор навыков","目录路径必须是绝对路径:{path}":"Путь к папке должен быть абсолютным: {path}","目标目录":"Целевой каталог","知道了":"Понятно","确定":"Подтвердить","确定把「{name}」移入回收站吗?可随时恢复。":"Переместить «{name}» в корзину? Его можно восстановить в любой момент.","禁止的修改请求(缺少客户端标记)":"Запрещённый запрос на изменение (нет клиентского маркера)","禁止的请求来源(非法 Host)":"Запрещённый источник запроса (неверный Host)","禁用":"Отключить","移入回收站":"В корзину","移入回收站回滚失败,未恢复内容保留在: {path}({error})":"Откат перемещения в корзину не удался; невосстановленное содержимое сохранено в: {path} ({error})","移入回收站?":"В корзину?","移到回收站":"В корзину","移到回收站?":"Отправить в корзину?","移除所选内容":"Убрать выбранное","移除源":"Удалить источник","移除源不影响已安装的技能。":"Удаление источника не затрагивает установленные навыки.","简介":"Описание","管理 dsh 本地技能目录:浏览、分组、来源同步与新建。":"Управление локальным каталогом навыков dsh: просмотр, группировка, синхронизация источников и создание.","精选技能仓库,添加后即可扫描安装,并持续检查更新。":"Отобранные репозитории навыков — добавьте, чтобы сканировать и устанавливать, с постоянной проверкой обновлений.","细分":"Разделить","统一加载和管理本机 Agent Skills。":"Единая загрузка и управление Agent-навыками на этом компьютере.","统计窗口(天)":"Окно статистики (дней)","继承":"Наследовать","编辑":"Изменить","缺少完整 YAML frontmatter":"Отсутствует полный YAML frontmatter","能力怎么选:重复方法 → 技能;外部系统 → MCP;长期资料 → 知识库。":"Как выбрать способность: повторяемый метод → навык; внешняя система → MCP; долгосрочные знания → база знаний.","自动统计间隔(分钟)":"Интервал автостатистики (минут)","自定义":"свой каталог","自定义状态提示词":"Свой промпт статуса","自定义目录":"Пользовательские каталоги","被更高优先级来源 {root} 覆盖":"Перекрыт источником с более высоким приоритетом {root}","被覆盖":"Перекрыт","覆盖导入回滚失败,备份保留在: {path}({error})":"Откат перезаписывающего импорта не удался; резервные копии сохранены в: {path} ({error})","设计技能合集(design-templates)":"Коллекция навыков дизайна (design-templates)","诊断":"Диагностика","诊断异常":"Есть проблемы","该仓库没有正式发布,选择要跟踪的分支(默认为 main):":"У репозитория нет релизов. Выберите ветку для отслеживания (по умолчанию main):","该来源不允许{action}":"Этот источник не разрешает: {action}","该来源目录不存在或暂时没有技能。":"Этого каталога не существует или в нём пока нет навыков.","该来源还没有导入本地技能。":"Из этого репозитория пока не импортировано ни одного навыка.","该组没有可写技能(只读技能无法由中枢开关)":"В группе нет перезаписываемых навыков (состояние навыков «только чтение» нельзя менять из центра)","请求体不是合法 JSON":"Тело запроса — не корректный JSON","请求体必须是 application/json":"Тело запроса должно быть application/json","请求体过大":"Тело запроса слишком велико","请选择 .zip 或单个 SKILL.md。":"Выберите .zip или один файл SKILL.md.","读取中…":"Загрузка…","读取技能正文…":"Загрузка текста навыка…","调用次数":"Вызовы","调用策略字段值无效":"Недопустимое значение политики вызова","跟进上游删除?":"Согласиться с удалением в источнике?","跟进删除":"Согласиться с удалением","路径":"Путь","路径不存在: {path}":"Путь не существует: {path}","跳过":"Пропустить","跳过已存在 {count} 个":"Пропущено существующих: {count}","运行时":"Runtime","返回列表":"К списку","还没有场景。先新建一个,再把技能归类。":"Сценариев ещё нет. Создайте один и начните раскладывать навыки.","还没有市场源。从下方内置市场添加,或输入一个 GitHub 仓库。":"Источников пока нет. Добавьте из каталога ниже или введите репозиторий GitHub.","适用场景":"Когда применять","选择分支":"Выберите ветку","选择文件":"Выбрать файл","选择文件夹":"Выбрать папку","通知 webhook":"Webhook уведомлений","通过 Skills Manager 只读加载,启停不会改写源文件。":"Загружается через Skills Manager только для чтения; переключения не меняют исходные файлы.","项目 .agents":"проект .agents","项目 .agents/skills":"Проектные .agents/skills","项目 .dsh":"проект .dsh","项目 .dsh/skills":"Проектные .dsh/skills","项目 Agent":"Проектный Agent","项目 DSH":"Проектный DSH","项目技能目录不安全,拒绝写入:{path}":"Каталог проектных навыков небезопасен, запись отклонена: {path}","项目级":"Проектный","(目录可能不完整)":"(каталог может быть неполным)"}