@goodandready/dsh-russian-lang 0.2.17 → 0.2.19

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.
@@ -0,0 +1,185 @@
1
+ {
2
+ "dsh-subscriptions": {
3
+ "accountStatusActive": "Активен",
4
+ "accountStatusExpired": "Истёк срок действия",
5
+ "accountStatusQuarantined": "На карантине (ошибки авторизации)",
6
+ "accountStatusRateLimited": "Лимит запросов исчерпан",
7
+ "activeSubscriptions": "Активные подписки",
8
+ "addAccount": "Добавить аккаунт",
9
+ "advancedSettings": "Расширенные настройки и мониторинг",
10
+ "autoLoopback": "Автоматический перехват токена (Loopback)",
11
+ "autoLoopbackHint": "Слушать локальный порт обратного вызова для автоматического получения токенов OAuth без ручного копирования.",
12
+ "callbackPort": "Порт обратного вызова OAuth",
13
+ "check": "Проверить",
14
+ "checking": "Проверка…",
15
+ "chipActive": "Подписки",
16
+ "close": "Закрыть",
17
+ "closeModal": "Закрыть",
18
+ "codexFastMode": "Быстрый режим Codex (1.5x)",
19
+ "codexFastModeHint": "Включить режим повышенной пропускной способности для моделей OpenAI Codex, если поддерживается подпиской.",
20
+ "cooldownMin": "Время паузы при ошибках (мин)",
21
+ "deleteAccount": "Удалить аккаунт",
22
+ "deleteConfirm": "Вы уверены, что хотите удалить подписку «{name}»?",
23
+ "disableAccount": "Отключить",
24
+ "enableAccount": "Включить",
25
+ "groupAuth": "Авторизация и перенаправление",
26
+ "groupFallback": "Локальный фолбэк",
27
+ "groupPrivacy": "Приватность и список моделей",
28
+ "groupProvider": "Поведение провайдеров",
29
+ "groupRotation": "Ротация и лимиты",
30
+ "headerDesc": "Использование подписок ChatGPT, Claude, Grok, Kimi, Cursor и др. в качестве LLM-провайдеров через OAuth.",
31
+ "headerTitle": "Управление подписками",
32
+ "importTokens": "Импортировать токены",
33
+ "importTokensHint": "Вставьте JSON с сохранёнными токенами для быстрого восстановления доступа.",
34
+ "localFallbackEnabled": "Переключаться на локальные модели при отказе",
35
+ "localFallbackHint": "Автоматически направлять запросы на локальный Ollama или vLLM при недоступности всех подписок.",
36
+ "localFallbackProvider": "Локальный провайдер",
37
+ "login": "Войти через браузер",
38
+ "loginFailed": "Не удалось авторизоваться: {error}",
39
+ "loginSuccess": "Авторизация прошла успешно!",
40
+ "maskEmails": "Маскировать email в интерфейсе",
41
+ "noAccounts": "Нет подключённых аккаунтов подписок.",
42
+ "oauthRedirectUrl": "URL перенаправления OAuth",
43
+ "privacyMask": "Маскировать email и идентификаторы аккаунтов",
44
+ "privacyMaskHint": "Для демонстраций и демонстрации экрана: скрывает адреса вида j***n@example.com.",
45
+ "providerClaude": "Claude Pro / Team",
46
+ "providerCodex": "ChatGPT Plus / Team (Codex)",
47
+ "providerCursor": "Cursor Pro",
48
+ "providerGrok": "xAI Grok Premium",
49
+ "providerKimi": "Kimi Moonshot",
50
+ "quarantineHours": "Период карантина (часов)",
51
+ "quarantineHoursHint": "Время ожидания перед повторной попыткой использовать аккаунт после критической ошибки 401/403.",
52
+ "refreshQuota": "Обновить квоту",
53
+ "refreshing": "Обновление квоты…",
54
+ "remainingQuota": "Остаток квоты: {percent}%",
55
+ "resetCooldowns": "Сбросить паузы ожидания",
56
+ "rotationStrategy": "Стратегия ротации аккаунтов",
57
+ "rotationStrategyHint": "Round-robin (по очереди), Least-used (наименее используемый) или Priority (по приоритету).",
58
+ "saved": "Настройки сохранены",
59
+ "saving": "Сохранение…",
60
+ "switchAccount": "Сменить аккаунт",
61
+ "tokenExpired": "Токен истёк. Требуется повторная авторизация.",
62
+ "viewQuotaDetails": "Подробности квоты",
63
+ "hideDeprecated": "Hide deprecated models",
64
+ "hideDeprecatedHint": "Hide older or superseded model variants from model dropdowns.",
65
+ "composerQuota": "Composer quota indicator",
66
+ "composerQuotaHint": "Display subscription usage indicator directly in the composer toolbar.",
67
+ "composerQuotaOff": "Disabled",
68
+ "composerQuotaPercent": "Percentage",
69
+ "composerQuotaBar": "Progress Bar",
70
+ "composerQuotaForecast": "Remaining Forecast",
71
+ "expiryNotifyDays": "Expiry warning threshold (days)",
72
+ "expiryNotifyDaysHint": "Notify when subscription renewal or token expiration is within this many days (0 to disable).",
73
+ "codexVerbosity": "Codex streaming verbosity",
74
+ "codexVerbosityHint": "Control streaming chunking detail level from the Codex provider.",
75
+ "codexVerbosityDefault": "Default",
76
+ "codexVerbosityLow": "Low",
77
+ "codexVerbosityMedium": "Medium",
78
+ "codexVerbosityHigh": "High",
79
+ "ollamaFallback": "Ollama local fallback",
80
+ "ollamaFallbackHint": "Automatically route queries to a local Ollama instance when cloud quota is exhausted.",
81
+ "ollamaBaseUrl": "Ollama Base URL",
82
+ "ollamaFallbackModel": "Ollama Fallback Model",
83
+ "cooldownMs": "Failure cooldown (minutes)",
84
+ "cooldownMsHint": "How long to pause a failing or rate-limited account before retrying.",
85
+ "probeIntervalMin": "Health probe interval (minutes)",
86
+ "probeIntervalMinHint": "Interval for background checks to refresh account status and quota balance.",
87
+ "notifyLimits": "Notify on rate limits",
88
+ "notifyLimitsHint": "Show notification alerts when account usage reaches quota ceiling.",
89
+ "hostOnline": "Host online",
90
+ "hostOffline": "Host unreachable",
91
+ "statsTitle": "Session Telemetry",
92
+ "statsRequests": "Successful / Total Requests",
93
+ "statsLatency": "Avg Response Latency",
94
+ "statsSuccessRate": "Session Success Rate",
95
+ "statsLastActivity": "Last Activity",
96
+ "smokeTitle": "Connection Smoke Test (Ping)",
97
+ "smokeDesc": "Test live upstream connectivity and measure round-trip latency to the subscription provider.",
98
+ "runSmoke": "⚡ Run Smoke Test (Ping)",
99
+ "smokeTesting": "Pinging…",
100
+ "smokeOk": "Smoke test passed",
101
+ "smokeFail": "Smoke test failed",
102
+ "modelsCatalogTitle": "Curated Subscription Models",
103
+ "modelsCatalogDesc": "Available model catalog across active subscriptions in DeepSeek Harness.",
104
+ "resetCredits": "Reset credits",
105
+ "resetCreditsHint": "ChatGPT reset cards: emergency reset for the 5-hour window. Requires a 5s confirmation.",
106
+ "resetCreditsAction": "Reset ChatGPT Limit",
107
+ "usageLimitsTitle": "Usage Limits",
108
+ "slotDetailsTitle": "Slot Details",
109
+ "resetAvailable": "Reset attempts available",
110
+ "resetExpires": "earliest expires",
111
+ "resetAck": "I understand one attempt will be consumed",
112
+ "resetWait": "confirm enabled in",
113
+ "resetReady": "ready",
114
+ "resetGo": "Reset now",
115
+ "resetBusy": "resetting…",
116
+ "resetDone": "quota reset",
117
+ "resetNothing": "server says nothing needs a reset (no attempt consumed)",
118
+ "resetNoCredit": "no usable credit (not consumed)",
119
+ "resetRedeemed": "already redeemed earlier",
120
+ "diagGenerate": "Generate diagnostics report",
121
+ "diagCopy": "Copy report",
122
+ "diagIssues": "Open issue tracker",
123
+ "diagHint": "The report has no tokens, emails, proxy addresses or personal data.",
124
+ "subsPill": "SUBS",
125
+ "subsModalTitle": "Subscription Hub",
126
+ "subsActiveHero": "Active Subscription",
127
+ "subsPoolTitle": "Provider Accounts",
128
+ "subsRefresh": "Refresh",
129
+ "subsOpenSettings": "All Settings →",
130
+ "subsFastMode": "Fast Mode 1.5x",
131
+ "subsHealthy": "Healthy",
132
+ "subsFree": "free",
133
+ "subsUsed": "used",
134
+ "subsModalClose": "Close",
135
+ "subsLogged": "connected",
136
+ "subsNotLogged": "not connected",
137
+ "subsCooldown": "cooldown",
138
+ "hudTitle": "Subscription balance",
139
+ "settingsLoading": "Loading settings…",
140
+ "settingsUnavailable": "Settings are unavailable",
141
+ "settingsRetry": "Retry",
142
+ "hudHint": "drag · edge docks · click refresh",
143
+ "fcCalibrating": "calibrating…",
144
+ "fcIdle": "no usage",
145
+ "fcHours": "h",
146
+ "fcMinutes": "m",
147
+ "proxyPlaceholder": "Per-account proxy (http://, https://, socks5://) - optional",
148
+ "proxyCheck": "Check proxy",
149
+ "proxyOk": "proxy ok",
150
+ "proxyFail": "proxy fail",
151
+ "deviceLogin": "Device login",
152
+ "deviceHint": "Headless: open the link, enter the code, keep this tab open.",
153
+ "deviceCopy": "Copy code",
154
+ "devicePending": "Waiting for confirmation",
155
+ "deviceAuthorized": "Signed in",
156
+ "deviceExpired": "Expired - start again",
157
+ "switchLabel": "Provider",
158
+ "expiryLabel": "expires",
159
+ "slashLogin": "Login to a subscription provider",
160
+ "slashLogout": "Log out a subscription provider",
161
+ "slashStatus": "Subscription status",
162
+ "none": "none",
163
+ "forecast": "≈",
164
+ "windowPrimary": "Primary window",
165
+ "windowSecondary": "Secondary window",
166
+ "resetLabel": "reset",
167
+ "importToken": "Save token",
168
+ "importTokenPlace": "Paste token or API key",
169
+ "importLocalCli": "📥 From CLI",
170
+ "importLocalCliTitle": "Auto-import token from locally installed CLI on server",
171
+ "importLocalSuccess": "Successfully imported token from local CLI!",
172
+ "howToGetToken": "❓ Instructions",
173
+ "howToGetTokenTitle": "How to get token / API key for this provider",
174
+ "instructionsTitle": "How to obtain token",
175
+ "reconnectRequired": "Reconnect required",
176
+ "manualTitle": "If the browser did not come back",
177
+ "updateChecking": "Checking updates…",
178
+ "updateUpToDate": "Up to date",
179
+ "updateAvailable": "Update available",
180
+ "updateNow": "Update",
181
+ "updating": "Updating…",
182
+ "updateSuccessRestart": "Update complete. Restarting service…",
183
+ "updateFailed": "Update failed"
184
+ }
185
+ }
@@ -0,0 +1,211 @@
1
+ {
2
+ "dsh-tts": {
3
+ "activeProvider": "Активный провайдер",
4
+ "addRule": "Добавить правило",
5
+ "addSubagentRole": "Добавить субагента",
6
+ "advancedCollapsed": "Расширенные настройки",
7
+ "advancedHint": "Лимиты и переопределение эндпоинтов. API-ключи провайдеров настраиваются в редакторе цепочки; имена слотов учётных данных (*KeyEnv) доступны только в конфигурации.",
8
+ "advancedTitle": "Расширенные",
9
+ "autoDetect": "Автоопределение языка фрагментов",
10
+ "autoDetectHint": "Определять язык каждого озвучиваемого фрагмента вместо глобальной настройки языка.",
11
+ "autoDetectSubagent": "Автоопределение ролей субагентов",
12
+ "autoplayBlocked": "Звук заблокирован браузером — нажмите на страницу для включения",
13
+ "azureEndpoint": "Azure Speech: базовый URL",
14
+ "azureRegion": "Регион Azure",
15
+ "breakerOpen": "Защитный размыкатель активен (сбои провайдера)",
16
+ "breakerThreshold": "Порог ошибок до размыкания",
17
+ "breakerTimeout": "Время восстановления размыкателя (с)",
18
+ "cache": "Кэш синтеза речи",
19
+ "cacheClear": "Очистить кэш",
20
+ "cacheCleared": "Кэш озвучивания очищен",
21
+ "cacheHint": "Повторное использование синтезированного аудио для одинаковых фраз.",
22
+ "cacheMaxMb": "Максимальный объём кэша (МБ)",
23
+ "cacheMaxMbHint": "При заполнении кэша старые записи вытесняются по алгоритму LRU.",
24
+ "cacheStats": "Кэш",
25
+ "cardHint": "Озвучивание ответов ассистента в Web UI: выбор провайдеров, фолбэк-цепочки, кэш",
26
+ "chain": "Цепочка провайдеров озвучивания",
27
+ "chainHint": "Провайдеры опрашиваются по порядку до первого успешного ответа.",
28
+ "clearQueue": "Очистить очередь",
29
+ "collapse": "Свернуть",
30
+ "deepgramEndpoint": "Deepgram: базовый URL",
31
+ "deleteRule": "Удалить правило",
32
+ "dockClearQueue": "Очистить очередь",
33
+ "dockCurrent": "Сейчас звучит",
34
+ "dockFavorite": "Избранное",
35
+ "dockHide": "Скрыть плеер",
36
+ "dockLabel": "Синтез речи",
37
+ "dockNone": "Ожидание текста",
38
+ "dockPause": "Пауза",
39
+ "dockQueue": "Очередь",
40
+ "dockReplay": "Повторить",
41
+ "dockResume": "Продолжить речь",
42
+ "dockSpeed": "Скорость",
43
+ "dockStop": "Остановить речь",
44
+ "edgeEndpoint": "Edge TTS: базовый URL",
45
+ "elevenlabsEndpoint": "ElevenLabs: базовый URL",
46
+ "elevenlabsModel": "Модель ElevenLabs",
47
+ "espeakEndpoint": "eSpeak: базовый URL",
48
+ "expand": "Развернуть",
49
+ "filterCode": "Пропускать блоки кода при чтении",
50
+ "filterCodeHint": "Не озвучивать программный код, чтение продолжается со следующего абзаца.",
51
+ "filterMarkdown": "Очищать Markdown-разметку",
52
+ "filterMarkdownHint": "Удалять спецсимволы разметки перед отправкой в движок TTS.",
53
+ "googleEndpoint": "Google TTS: базовый URL",
54
+ "groqEndpoint": "Groq: базовый URL",
55
+ "groqModel": "Модель Groq",
56
+ "maxCharsPerChunk": "Максимум символов во фрагменте",
57
+ "maxCharsPerChunkHint": "Длинные сообщения разбиваются на части указанного размера.",
58
+ "openaiEndpoint": "OpenAI: базовый URL",
59
+ "openaiModel": "Модель OpenAI TTS",
60
+ "openrouterEndpoint": "OpenRouter: базовый URL",
61
+ "pause": "Пауза",
62
+ "piperEndpoint": "Piper: базовый URL",
63
+ "piperModel": "Модель Piper",
64
+ "pitch": "Высота тона голоса",
65
+ "play": "Воспроизвести",
66
+ "playbackRate": "Скорость чтения",
67
+ "preloadNext": "Предзагрузка следующей фразы",
68
+ "preloadNextHint": "Синтезировать следующий фрагмент во время воспроизведения текущего.",
69
+ "providerError": "Ошибка провайдера {provider}: {error}",
70
+ "queueEmpty": "Очередь воспроизведения пуста",
71
+ "rate": "Скорость",
72
+ "resume": "Продолжить",
73
+ "ruleCondition": "Условие",
74
+ "ruleRole": "Роль субагента",
75
+ "ruleVoice": "Назначенный голос",
76
+ "saved": "Настройки сохранены",
77
+ "saving": "Сохранение…",
78
+ "secAdvanced": "Расширенные параметры",
79
+ "secCache": "Кэширование аудио",
80
+ "secDock": "Плеер речи",
81
+ "secGeneral": "Общие настройки",
82
+ "secProviders": "Провайдеры синтеза",
83
+ "secRules": "Правила распределения голосов",
84
+ "speakToolCalls": "Озвучивать действия инструментов",
85
+ "speaking": "Воспроизведение…",
86
+ "statusIdle": "Готов к синтезу",
87
+ "statusPlaying": "Воспроизводится",
88
+ "statusSynthesizing": "Синтез аудио…",
89
+ "stop": "Остановить",
90
+ "subagentVoiceRules": "Голоса субагентов",
91
+ "subagentVoiceRulesHint": "Назначение индивидуальных тембров и моделей разным ролям субагентов.",
92
+ "synthesizeFailed": "Не удалось синтезировать речь: {error}",
93
+ "testVoice": "Прослушать образец",
94
+ "timeoutMs": "Таймаут запроса к TTS (мс)",
95
+ "voice": "Основной голос",
96
+ "voicePitch": "Высота голоса",
97
+ "voiceSpeed": "Скорость речи",
98
+ "volume": "Громкость",
99
+ "volumeMuted": "Без звука",
100
+ "dockUnfavorite": "Unfavorite",
101
+ "dockFavorites": "Favorite clips",
102
+ "exportAudio": "Export audio clip",
103
+ "exportSuccess": "Audio exported",
104
+ "statusOnline": "Host online",
105
+ "recent": "Recent",
106
+ "recentEmpty": "No recent speech yet",
107
+ "retry": "Retry",
108
+ "confirmClearCache": "Clear the synthesis cache? This cannot be undone.",
109
+ "confirmDeleteModel": "Delete downloaded weights for this engine?",
110
+ "enableSound": "Enable sound",
111
+ "runtimeNotBundled": "Neural inference runtime is not bundled",
112
+ "runtimeNotBundledHint": "Install weights does not enable speech. Use Edge, Piper, or eSpeak for offline TTS.",
113
+ "testProvider": "Test provider",
114
+ "lastError": "Last error",
115
+ "queueLen": "Queue",
116
+ "sseState": "SSE",
117
+ "currentVoice": "Voice",
118
+ "statusOffline": "Host unreachable",
119
+ "openaiBaseUrl": "OpenAI base URL",
120
+ "openaiBaseUrlHint": "OpenAI-compatible origin for the openai provider.",
121
+ "mimoBaseUrl": "MiMo base URL",
122
+ "mimoBaseUrlHint": "MiMo API root; synthesis uses its chat endpoint.",
123
+ "mimoFormat": "MiMo format",
124
+ "mimoFormatHint": "mp3 or wav.",
125
+ "minimaxBin": "MiniMax CLI",
126
+ "minimaxBinHint": "Looked up in PATH unless absolute; install and log in separately.",
127
+ "maxChars": "Max characters",
128
+ "maxCharsHint": "Hard cap before long-reply handling; 0 disables.",
129
+ "sentenceChars": "Sentence chunk size",
130
+ "sentenceCharsHint": "Max characters per streaming sentence piece.",
131
+ "timeoutMsHint": "Abort a provider attempt after this many milliseconds.",
132
+ "maxQueue": "Max queue length",
133
+ "maxQueueHint": "Drop oldest pending pieces beyond this count.",
134
+ "skipCode": "Skip code blocks",
135
+ "skipCodeHint": "Say a short notice instead of reading code aloud.",
136
+ "clearCache": "Clear cache",
137
+ "pronTitle": "Pronunciation",
138
+ "pronHint": "Rules run top-down. Wrap left side in /…/ for a regex; Lang filters the rule.",
139
+ "pronFrom": "Replace",
140
+ "pronTo": "With",
141
+ "pronWhole": "Whole word",
142
+ "pronLang": "Lang",
143
+ "rolesTitle": "Voice roles",
144
+ "rolesHint": "Empty fields inherit the main chain.",
145
+ "roleReply": "Reply",
146
+ "roleApproval": "Approval",
147
+ "roleError": "Error",
148
+ "ssmlStyle": "SSML tone style",
149
+ "ssmlStyleHint": "Expressive tone (e.g. cheerful, serious, empathetic).",
150
+ "longReply": "Long replies",
151
+ "longReplyHint": "truncate: cut at the limit; summarize: short retelling; full: read everything.",
152
+ "summaryModel": "Summary model",
153
+ "summaryModelHint": "provider/model, empty = conversation default.",
154
+ "summarySentences": "Retelling length",
155
+ "summarySentencesHint": "Sentences in the spoken retelling.",
156
+ "preview": "Preview",
157
+ "statsTitle": "Statistics",
158
+ "statTotal": "Total",
159
+ "statHits": "Cache hits",
160
+ "statErrors": "Errors",
161
+ "statReset": "Reset stats",
162
+ "narrateQuotesOnly": "Only quotes",
163
+ "narrateQuotesHint": "Read only «quoted» fragments of a reply.",
164
+ "skipActions": "Skip *actions*",
165
+ "skipActionsHint": "Drop asterisk action blocks.",
166
+ "removeRegex": "Remove regex",
167
+ "removeRegexHint": "Global regex; matches are removed before synthesis.",
168
+ "customBaseUrl": "Custom TTS endpoint",
169
+ "customBaseUrlHint": "OpenAI-compatible origin, e.g. http://localhost:8880/v1; empty = off.",
170
+ "customKeyEnv": "Custom key env",
171
+ "customKeyEnvHint": "Credential name for the custom endpoint bearer key.",
172
+ "localEnginesTitle": "Local Engines (Offline)",
173
+ "localEnginesHint": "Run speech synthesis 100% offline without API keys.",
174
+ "enableLocalEngines": "Enable local engines",
175
+ "enableLocalEnginesHint": "Use Kokoro or F5-TTS when installed.",
176
+ "streamingEnabled": "Instant streaming (< 300 ms)",
177
+ "streamingEnabledHint": "Play audio via AudioWorklet and SSE in real-time.",
178
+ "useKokoro": "Enable Kokoro-82M (CPU)",
179
+ "useKokoroHint": "Fast neural synthesis on CPU.",
180
+ "useF5": "Enable F5-TTS (GPU)",
181
+ "useF5Hint": "High-fidelity zero-shot synthesis on NVIDIA GPU.",
182
+ "installed": "Installed",
183
+ "notInstalled": "Not installed",
184
+ "downloading": "Downloading",
185
+ "installKokoro": "Install (350 MB)",
186
+ "installF5": "Install (2.1 GB)",
187
+ "deleteModel": "Delete",
188
+ "voiceDuplexTitle": "Voice Duplex (Voice-to-Voice)",
189
+ "voiceDuplexHint": "Interactive voice conversation integrated with dsh-voice.",
190
+ "voiceNotInstalledTitle": "Required plugin @goodandready/dsh-voice is not installed",
191
+ "voiceInstallHint": "To enable voice duplex, install the plugin with",
192
+ "voiceDuplex": "Voice-to-Voice mode",
193
+ "voiceDuplexHintToggle": "Automatically synthesize agent reply when finished talking.",
194
+ "vadBargeIn": "VAD Barge-in",
195
+ "vadBargeInHint": "Mute speech synthesis immediately when user voice is detected.",
196
+ "newSubagentRole": "Subagent name (e.g. coder, reviewer)",
197
+ "role_coder": "Coder",
198
+ "role_reviewer": "Reviewer",
199
+ "role_planner": "Planner",
200
+ "enableItDictionary": "Built-in IT dictionary",
201
+ "enableItDictionaryHint": "Auto-correct pronunciation for SQL, Nginx, K8s, Docker, API, JSON, YAML, etc.",
202
+ "loadItDictionary": "Populate IT terms",
203
+ "previewRule": "Listen",
204
+ "messengerIntegrationTitle": "Messenger Integration (Telegram, Discord)",
205
+ "messengerIntegrationHint": "Voice replies and notes sent through @goodandready/dsh-messenger-gateway.",
206
+ "messengerNotInstalledTitle": "Required plugin @goodandready/dsh-messenger-gateway is not installed",
207
+ "messengerInstallHint": "To enable voice replies in messengers, install the plugin with",
208
+ "messengerTtsEnabled": "Voice replies in messengers",
209
+ "messengerTtsEnabledHint": "Allow the messenger gateway to deliver replies as voice notes."
210
+ }
211
+ }
@@ -0,0 +1,158 @@
1
+ {
2
+ "dsh-voice": {
3
+ "avgLatency": "Средняя задержка",
4
+ "badgeHostOffline": "Хост недоступен",
5
+ "badgeHostOnline": "Хост в сети ({ms} мс)",
6
+ "badgeProviders": "Провайдеров готово: {count}",
7
+ "badgeSenseVoiceActive": "SenseVoice активен",
8
+ "badgeSenseVoiceInactive": "SenseVoice не в сети",
9
+ "badgeWhisperActive": "Whisper активен",
10
+ "badgeWhisperInactive": "Whisper не в сети",
11
+ "bargeIn": "Перебивание (Barge-in)",
12
+ "beep": "Звуковой сигнал старта/остановки",
13
+ "cardHint": "Диктовка и голосовые сообщения: провайдеры, цепочки, локальный Whisper",
14
+ "collapse": "Свернуть",
15
+ "contextGlossary": "Инъекция глоссария контекста",
16
+ "contextGlossaryHint": "Автоматически извлекает идентификаторы кода и термины из поля ввода для повышения точности распознавания речи (STT)",
17
+ "deepgramEndpoint": "Deepgram: базовый URL",
18
+ "deleteAudio": "Удалить аудиозапись",
19
+ "dictationChain": "Цепочка диктовки",
20
+ "dictationChunkSec": "Размер фрагмента диктовки (с)",
21
+ "dictationChunkSecHint": "Длительность непрерывной записи перед промежуточной отправкой на распознавание.",
22
+ "dictationEnabled": "Включить диктовку",
23
+ "dictationHotkey": "Горячая клавиша диктовки",
24
+ "dictationHotkeyHint": "Сочетание клавиш для быстрого запуска и остановки записи.",
25
+ "dictationLanguage": "Язык диктовки",
26
+ "dictationLanguageHint": "Язык по умолчанию (ru, en, auto).",
27
+ "dictationProvider": "Основной провайдер диктовки",
28
+ "dictationProviderHint": "Провайдер STT для голосового набора текста.",
29
+ "dictationSilenceSec": "Пауза тишины для отправки (с)",
30
+ "dictationSilenceSecHint": "Длительность тишины, после которой фрагмент считается завершённым.",
31
+ "downloadAudio": "Скачать аудио",
32
+ "emptyHistory": "История голосовых сообщений пуста.",
33
+ "expand": "Развернуть",
34
+ "groqEndpoint": "Groq: базовый URL",
35
+ "groqModel": "Модель Groq",
36
+ "huggingfaceEndpoint": "HuggingFace: базовый URL",
37
+ "huggingfaceModel": "Модель HuggingFace",
38
+ "inputGain": "Усиление микрофона (dB)",
39
+ "inputGainHint": "Программное усиление входящего аудиосигнала.",
40
+ "lastLatency": "Последняя задержка: {ms} мс",
41
+ "listen": "Слушать",
42
+ "livePreview": "Предпросмотр на лету",
43
+ "livePreviewHint": "Отображать промежуточный текст в поле ввода во время речи.",
44
+ "localEndpoint": "Локальный STT: базовый URL",
45
+ "localModel": "Локальная модель",
46
+ "maxDurationSec": "Макс. длительность записи (с)",
47
+ "maxDurationSecHint": "Автоматическая остановка записи при превышении лимита времени.",
48
+ "micAccessDenied": "Доступ к микрофону заблокирован в браузере.",
49
+ "micActive": "Микрофон активен",
50
+ "micMuted": "Микрофон отключён",
51
+ "noiseSuppression": "Шумоподавление",
52
+ "noiseSuppressionHint": "Аппаратное или программное подавление фонового шума.",
53
+ "normalizeTranscript": "Нормализовать расшифровку файлов",
54
+ "nothingToUndo": "Нечего отменять",
55
+ "openaiEndpoint": "OpenAI: базовый URL",
56
+ "openaiModel": "Модель OpenAI Whisper",
57
+ "pause": "Пауза",
58
+ "play": "Воспроизвести",
59
+ "playbackSpeed": "Скорость воспроизведения",
60
+ "providerChain": "Резервная цепочка провайдеров",
61
+ "providerChainHint": "Список провайдеров через запятую на случай сбоя основного сервиса.",
62
+ "record": "Запись",
63
+ "recording": "Идёт запись…",
64
+ "resume": "Продолжить",
65
+ "sampleRate": "Частота дискретизации (Гц)",
66
+ "saveAudio": "Сохранять аудиозаписи сессии",
67
+ "saveAudioHint": "Сохранять записанные аудиофайлы в директории данных плагина.",
68
+ "saved": "Настройки сохранены",
69
+ "saving": "Сохранение…",
70
+ "secAudio": "Параметры звука",
71
+ "secDictation": "Режим диктовки",
72
+ "secProviders": "Настройки провайдеров",
73
+ "secVoiceMessage": "Голосовые сообщения",
74
+ "silence": "Пауза…",
75
+ "speaking": "Вы говорите…",
76
+ "statusIdle": "Ожидание ввода",
77
+ "statusListening": "Прослушивание…",
78
+ "statusProcessing": "Распознавание речи…",
79
+ "stop": "Стоп",
80
+ "stopRecording": "Остановить запись",
81
+ "testMic": "Проверить микрофон",
82
+ "testSuccess": "Аудио успешно записано и воспроизведено!",
83
+ "transcribeFailed": "Ошибка распознавания: {error}",
84
+ "transcribing": "Идёт транскрипция…",
85
+ "transcript": "Текст расшифровки",
86
+ "undo": "Отменить последнюю вставку",
87
+ "undone": "Вставка отменена",
88
+ "vadSensitivity": "Чувствительность детектора голоса (VAD)",
89
+ "vadSensitivityHint": "Порог обнаружения речевой активности.",
90
+ "voiceMessageChain": "Цепочка голосовых сообщений",
91
+ "voiceMessageEnabled": "Разрешить отправку голосовых сообщений",
92
+ "voiceMessageProvider": "Провайдер голосовых сообщений",
93
+ "waveform": "Аудиоволна",
94
+ "localOnly": "Local whisper only",
95
+ "localOnlyHint": "Restrict both chains to the local whisper.cpp server: fully offline.",
96
+ "sendDelay": "Dictation send delay (ms)",
97
+ "sendDelayHint": "Wait before appending a dictated phrase, with a cancel window. 0 = off",
98
+ "mic": "Microphone",
99
+ "micDefault": "System default",
100
+ "vocabulary": "Custom vocabulary (one word per line)",
101
+ "polish": "Polish transcript with model",
102
+ "polishHint": "Fix punctuation and fillers via the harness model before inserting",
103
+ "stream": "Continuous dictation",
104
+ "streamHint": "Cut phrases by a timer while you speak instead of waiting for a long pause",
105
+ "streamChunkMs": "Stream chunk (ms)",
106
+ "vadAdapt": "Adaptive silence",
107
+ "vadAdaptHint": "Auto-tune the silence threshold to the pace of your speech. 0 = fixed",
108
+ "wakeWord": "Wake word",
109
+ "wakeWordHint": "Browser recognition starts recording when speech begins with this phrase. Empty = off",
110
+ "polishSend": "Polish whole draft before sending",
111
+ "polishSendHint": "Run the composed draft through the model right before sending",
112
+ "sessionCommands": "Voice session commands",
113
+ "sessionCommandsHint": "\"send\", \"cancel\", \"stop\", \"continue\" act on the session instead of becoming text",
114
+ "polishBaseUrl": "Offline polish endpoint",
115
+ "polishBaseUrlHint": "OpenAI-compatible /chat/completions base URL, e.g. a local Ollama. Empty = harness model",
116
+ "polishModel": "Offline polish model",
117
+ "polishKeyEnv": "Offline polish key credential",
118
+ "voiceCommandsLabel": "Voice edit commands (\"new line\", \"paragraph\")",
119
+ "normalizeTranscriptHint": "transcribe_audio: spoken numbers to digits, tidy punctuation",
120
+ "deepgramEndpointHint": "Base URL for Deepgram or self-hosted deployment (default https://api.deepgram.com)",
121
+ "whisperModelHint": "Absolute path to the ggml model file",
122
+ "providerDashboard": "Provider Latency & Health",
123
+ "successRate": "Success",
124
+ "fast": "Fast",
125
+ "normal": "Normal",
126
+ "slow": "Slow",
127
+ "error": "Error",
128
+ "idle": "No calls",
129
+ "listenBack": "Listen back",
130
+ "lastRecording": "Last voice note",
131
+ "sensevoiceHint": "SenseVoice-ONNX / Sherpa-ONNX · ultra-fast local STT (~50ms)",
132
+ "sensevoiceEndpoint": "SenseVoice: endpoint",
133
+ "sensevoiceEndpointHint": "POST endpoint of sherpa-onnx or compatible server",
134
+ "sensevoiceBin": "SenseVoice: binary",
135
+ "sensevoiceBinHint": "used when autostart is on",
136
+ "sensevoiceModel": "SenseVoice: model path",
137
+ "sensevoiceModelHint": "Absolute path or identifier of the SenseVoice / sherpa-onnx model",
138
+ "sensevoiceAutostart": "Autostart the SenseVoice server",
139
+ "visualizerStyle": "Audio visualizer style",
140
+ "visualizerStyleHint": "Waveform animation inside the recording pill",
141
+ "visLiquidWave": "Liquid Wave",
142
+ "visDynamicOrb": "Dynamic Orb",
143
+ "visBars": "Classic Bars",
144
+ "visOff": "Off",
145
+ "statusTitle": "Connection & Engine Status",
146
+ "statusDesc": "Current runtime connectivity to voice backends and recognition services.",
147
+ "refreshStats": "Refresh Stats",
148
+ "hardwareTitle": "Hardware & Local Engines",
149
+ "hardwareDesc": "Microphone device, local whisper.cpp and SenseVoice runtime settings.",
150
+ "uiError": "Voice UI Error:",
151
+ "retry": "Retry",
152
+ "stopTest": "Stop Test",
153
+ "micLevel": "Mic level",
154
+ "noiseGate": "Noise Gate (dB)",
155
+ "noiseGateHint": "Mute background fan hum and keyboard clicks below threshold. Off = disabled",
156
+ "noiseGateOff": "Off"
157
+ }
158
+ }