dashboard.json 106 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060
  1. {
  2. "actions": {
  3. "copy": "Копировать",
  4. "download": "Скачать",
  5. "copied": "Скопировано"
  6. },
  7. "title": {
  8. "costRanking": "Таблица расходов",
  9. "costRankingDescription": "Просмотр рейтинга расходов пользователей, данные обновляются каждые 5 минут",
  10. "usageLogs": "Журналы использования",
  11. "clients": "Клиенты",
  12. "userAndKeyManagement": "Управление пользователями и ключами",
  13. "requestMessages": "Сообщения запроса",
  14. "activeSessions": "Активные сеансы (последние 5 минут)",
  15. "sessionMonitoring": "Мониторинг сеансов",
  16. "sessionMonitoringDescription": "Отображение активных и неактивных сеансов в реальном времени (автоматическое обновление каждые 3 секунды)",
  17. "inactiveSessions": "Неактивные сеансы (более 5 минут, только просмотр)",
  18. "quotasManagement": "Управление квотами",
  19. "quotasManagementDescription": "Просмотр и управление квотами на всех уровнях",
  20. "usersQuotas": "Статистика квот пользователей",
  21. "keysQuotas": "Статистика квот ключей",
  22. "providersQuotas": "Статистика квот поставщиков",
  23. "usageLogsDescription": "Просмотр журналов вызовов API и статистики использования",
  24. "filterCriteria": "Критерии фильтрации",
  25. "filterCriteriaDescription": "Фильтруйте журналы по времени, пользователю, поставщику и другим параметрам"
  26. },
  27. "description": {
  28. "viewApiCallLogs": "Просмотр журналов вызовов API и статистики использования",
  29. "dashboard": "Просмотр системной статистики и информации мониторинга",
  30. "quotas": "Просмотр и управление квотами на всех уровнях",
  31. "clientInfo": "Заголовок запроса User-Agent",
  32. "requestMessagesDescription": "Содержимое сообщения, отправленного клиентом",
  33. "responseBodyDescription": "Полный ответ сервера (TTL 5 минут)"
  34. },
  35. "overview": {
  36. "title": "Обзор",
  37. "totalRequests": "Всего запросов",
  38. "totalCost": "Общие затраты",
  39. "totalUsers": "Всего пользователей",
  40. "totalProviders": "Всего поставщиков",
  41. "activeUsers": "Активные пользователи",
  42. "activeSessions": "Активные сеансы",
  43. "errorRate": "Коэффициент ошибок",
  44. "avgResponseTime": "Среднее время ответа"
  45. },
  46. "stats": {
  47. "title": "Статистика",
  48. "requests": "Запросы",
  49. "cost": "Стоимость",
  50. "tokens": "Токены",
  51. "period": {
  52. "hour": "Последний час",
  53. "day": "Сегодня",
  54. "week": "На этой неделе",
  55. "month": "В этом месяце"
  56. }
  57. },
  58. "logs": {
  59. "title": "Журналы использования",
  60. "description": "Просмотр и анализ записей вызовов API",
  61. "filters": {
  62. "user": "Пользователь",
  63. "provider": "Поставщик",
  64. "sessionId": "ID сессии",
  65. "searchUser": "Поиск пользователей...",
  66. "searchProvider": "Поиск провайдеров...",
  67. "searchSessionId": "Поиск ID сессии...",
  68. "noUserFound": "Пользователи не найдены",
  69. "noProviderFound": "Провайдеры не найдены",
  70. "noSessionFound": "ID сессии не найдены",
  71. "model": "Модель",
  72. "endpoint": "Эндпоинт",
  73. "status": "Статус",
  74. "timeRange": "Диапазон времени",
  75. "dateRange": "Диапазон дат",
  76. "startTime": "Время начала",
  77. "endTime": "Время окончания",
  78. "allUsers": "Все пользователи",
  79. "allKeys": "Все ключи",
  80. "selectUserFirst": "Сначала выберите пользователя",
  81. "allProviders": "Все поставщики",
  82. "allModels": "Все модели",
  83. "allEndpoints": "Все эндпоинты",
  84. "allStatusCodes": "Все коды состояния",
  85. "apiKey": "API ключ",
  86. "statusCode": "Код состояния",
  87. "minRetryCount": "Количество ретраев ≥",
  88. "minRetryCountPlaceholder": "Введите минимум (0 — без ограничения)",
  89. "apply": "Применить фильтр",
  90. "reset": "Сброс",
  91. "last7days": "7д",
  92. "last30days": "30д",
  93. "customRange": "Произвольный диапазон",
  94. "export": "Экспорт",
  95. "exporting": "Экспорт...",
  96. "exportSuccess": "Экспорт завершен",
  97. "exportError": "Ошибка экспорта",
  98. "exportPreparing": "Подготовка экспорта...",
  99. "exportProgress": "Экспортировано {current} / {total}",
  100. "quickFilters": {
  101. "today": "Сегодня",
  102. "thisWeek": "Эта неделя",
  103. "errorsOnly": "Только ошибки",
  104. "showRetries": "С ретраями"
  105. },
  106. "activeFilters": {
  107. "title": "Активные фильтры",
  108. "remove": "Удалить фильтр",
  109. "clearAll": "Очистить все"
  110. },
  111. "groups": {
  112. "time": "Период времени",
  113. "timeDesc": "Фильтр по дате и времени",
  114. "identity": "Идентификация",
  115. "identityDesc": "Фильтр по пользователю и ключу",
  116. "request": "Запрос",
  117. "requestDesc": "Фильтр по поставщику, модели, эндпоинту",
  118. "status": "Статус",
  119. "statusDesc": "Фильтр по коду состояния и ретраям"
  120. }
  121. },
  122. "columns": {
  123. "time": "Время",
  124. "user": "Пользователь",
  125. "key": "Ключ",
  126. "sessionId": "ID сессии",
  127. "provider": "Поставщик",
  128. "model": "Модель тарификации",
  129. "endpoint": "Эндпоинт",
  130. "inputTokens": "Вход",
  131. "outputTokens": "Выход",
  132. "tokens": "Tokens",
  133. "cacheWrite": "Запись в кэш",
  134. "cacheRead": "Чтение из кэша",
  135. "cache": "Cache",
  136. "cost": "Стоимость",
  137. "duration": "Продолжительность",
  138. "performance": "Perf",
  139. "status": "Статус"
  140. },
  141. "stats": {
  142. "title": "Сводка статистики",
  143. "description": "Агрегированная статистика по текущим фильтрам",
  144. "totalAmount": "Общая сумма расходов",
  145. "totalTokens": "Общее количество токенов",
  146. "cacheTokens": "Токены кэша",
  147. "input": "Вход",
  148. "output": "Выход",
  149. "write": "Запись",
  150. "read": "Чтение",
  151. "totalRequests": "Всего запросов",
  152. "loading": "Загрузка..."
  153. },
  154. "table": {
  155. "noData": "Нет данных",
  156. "pagination": "Всего {total} записей, страница {page} / {totalPages}",
  157. "prevPage": "Предыдущая",
  158. "nextPage": "Следующая",
  159. "blocked": "Заблокировано",
  160. "nonBilling": "Не тарифицируется",
  161. "skipped": "Пропущено",
  162. "specialSettings": "Особые",
  163. "anthropicEffort": "Effort: {effort}",
  164. "times": "раз",
  165. "loadedCount": "Загружено {count} записей",
  166. "loadingMore": "Загрузка...",
  167. "noMoreData": "Все записи загружены",
  168. "scrollToTop": "Наверх",
  169. "hideProviderColumn": "Скрыть столбец провайдера",
  170. "showProviderColumn": "Показать столбец провайдера",
  171. "columnVisibility": "Видимость столбцов"
  172. },
  173. "actions": {
  174. "refresh": "Обновить",
  175. "refreshing": "Обновление...",
  176. "stopAutoRefresh": "Остановить автообновление",
  177. "startAutoRefresh": "Начать автообновление",
  178. "view": "Просмотр",
  179. "fullscreen": "Полный экран",
  180. "exitFullscreen": "Выйти из полного экрана"
  181. },
  182. "error": {
  183. "loadFailed": "Ошибка загрузки",
  184. "loadKeysFailed": "Не удалось загрузить список ключей"
  185. },
  186. "details": {
  187. "title": "Детали запроса",
  188. "statusTitle": "Статус: {status}",
  189. "inProgress": "В процессе",
  190. "retrying": "Retrying",
  191. "unknown": "Неизвестно",
  192. "success": "Запрос успешно выполнен",
  193. "error": "Запрос не выполнен, ниже подробная информация об ошибке и цепочке решений поставщика",
  194. "processing": "Запрос находится в процессе выполнения и еще не завершен",
  195. "tabs": {
  196. "summary": "Обзор",
  197. "logicTrace": "Цепочка решений",
  198. "performance": "Производительность",
  199. "metadata": "Метаданные"
  200. },
  201. "summary": {
  202. "keyMetrics": "Ключевые показатели",
  203. "totalCost": "Общая стоимость",
  204. "totalTokens": "Всего токенов",
  205. "duration": "Длительность",
  206. "outputRate": "Скорость вывода",
  207. "viewFullError": "Показать полную ошибку",
  208. "viewSession": "Просмотр сеанса"
  209. },
  210. "specialSettings": {
  211. "title": "Особые настройки"
  212. },
  213. "skipped": {
  214. "title": "Пропущено",
  215. "reason": "Причина",
  216. "warmup": "Warmup быстрый ответ (CCH)",
  217. "desc": "Этот запрос был распознан как Warmup-проба и был обработан самим CCH без обращения к провайдерам; он не тарифицируется, не учитывается в лимитах и исключается из статистики."
  218. },
  219. "blocked": {
  220. "title": "Информация о блокировке",
  221. "type": "Тип блокировки",
  222. "sensitiveWord": "Блокировка по ключевым словам",
  223. "word": "Ключевое слово",
  224. "matchType": "Тип совпадения",
  225. "matchTypeContains": "Содержит",
  226. "matchTypeExact": "Точное совпадение",
  227. "matchTypeRegex": "Регулярное выражение",
  228. "matchedText": "Совпадающий контент"
  229. },
  230. "sessionId": "ID сеанса",
  231. "messagesCount": "Количество сообщений",
  232. "messagesLabel": "Сообщения",
  233. "messagesUnit": "шт.",
  234. "clientInfo": "Информация о клиенте",
  235. "modelRedirect": {
  236. "title": "Перенаправление модели",
  237. "requestModel": "Запрошенная модель",
  238. "actualModel": "Фактический вызов",
  239. "billing": "Описание тарификации",
  240. "billingDescription": "Система в первую очередь тарифицирует по цене запрошенной модели ({original}). Если эта модель отсутствует в прайс-листе, используется цена фактически вызванной модели ({current}).",
  241. "billingModel": "Модель тарификации",
  242. "actualModelTooltip": "Фактическая модель: {model}",
  243. "originalModelTooltip": "Исходная модель: {model}",
  244. "billingDescription_original": "Текущий режим тарификации: По исходной модели до перенаправления ({original})",
  245. "billingDescription_redirected": "Текущий режим тарификации: По фактической модели после перенаправления ({current})",
  246. "billingOriginal": "оплата: исх.",
  247. "billingRedirected": "оплата: факт."
  248. },
  249. "errorMessage": "Сообщение об ошибке",
  250. "fake200ForwardedNotice": "Примечание: для потоковых запросов эта ошибка может быть обнаружена только после завершения потока; содержимое ответа могло уже быть передано клиенту.",
  251. "fake200DetectedReason": "Причина обнаружения: {reason}",
  252. "fake200Reasons": {
  253. "emptyBody": "Пустое тело ответа",
  254. "htmlBody": "Получен HTML-документ (возможно, страница ошибки)",
  255. "jsonErrorNonEmpty": "В JSON непустое поле `error`",
  256. "jsonErrorMessageNonEmpty": "В JSON непустое `error.message`",
  257. "jsonMessageKeywordMatch": "В JSON `message` содержит слово \"error\" (эвристика)",
  258. "unknown": "Тело ответа указывает на ошибку"
  259. },
  260. "statusCodeInferredBadge": "Предположено",
  261. "statusCodeInferredTooltip": "Этот код состояния выведен по содержимому тела ответа (например, fake 200) и может отличаться от HTTP-кода апстрима.",
  262. "statusCodeInferredSuffix": "(предп.)",
  263. "filteredProviders": "Отфильтрованные поставщики",
  264. "providerChain": {
  265. "title": "Хронология цепочки решений поставщика",
  266. "totalDuration": "Общая продолжительность: {duration}мс"
  267. },
  268. "noError": {
  269. "processing": "Запрос обрабатывается, ожидание ответа...",
  270. "success": "Запрос успешно выполнен, ошибок нет",
  271. "default": "Подробная информация об ошибке отсутствует"
  272. },
  273. "clickStatusCode": "Нажмите на код состояния, чтобы просмотреть полную хронологию",
  274. "viewDetails": "Просмотр деталей",
  275. "reasons": {
  276. "rateLimited": "Лимит стоимости поставщика",
  277. "circuitOpen": "Размыкатель цепи открыт"
  278. },
  279. "billingDetails": {
  280. "title": "Детали биллинга",
  281. "input": "Входные",
  282. "output": "Выходные",
  283. "cacheWrite5m": "Запись кэша (5m)",
  284. "cacheWrite1h": "Запись кэша (1h)",
  285. "cacheRead": "Чтение кэша",
  286. "cacheTtl": "TTL кэша",
  287. "cacheTtlSwapped": "TTL биллинга (инверсия)",
  288. "multiplier": "Множитель поставщика",
  289. "totalCost": "Общая стоимость",
  290. "fast": "fast",
  291. "fastPriority": "Приоритетный уровень обслуживания (режим fast)",
  292. "context1m": "1M контекст",
  293. "context1mEnabled": "Окно контекста 1M включено",
  294. "pricingProvider": "Провайдер тарифа",
  295. "pricingSourceLabel": "Источник тарифа",
  296. "pricingSource": {
  297. "local_manual": "Локальная ручная цена",
  298. "cloud_exact": "Точная облачная цена провайдера",
  299. "cloud_model_fallback": "Цена провайдера из резервной модели",
  300. "priority_fallback": "Приоритетная резервная цена",
  301. "single_provider_top_level": "Цена верхнего уровня для одного провайдера",
  302. "official_fallback": "Официальная цена"
  303. }
  304. },
  305. "performance": {
  306. "title": "Производительность",
  307. "ttfb": "TTFB",
  308. "duration": "Общее время",
  309. "outputRate": "Скорость вывода"
  310. },
  311. "performanceTab": {
  312. "noPerformanceData": "Нет данных о производительности",
  313. "ttfbGauge": "Время до первого байта",
  314. "outputRateGauge": "Скорость вывода",
  315. "latencyBreakdown": "Разбивка задержки",
  316. "generationTime": "Время генерации",
  317. "assessment": {
  318. "excellent": "Отлично",
  319. "good": "Хорошо",
  320. "warning": "Предупреждение",
  321. "poor": "Плохо"
  322. },
  323. "thresholds": {
  324. "ttfbGood": "TTFB < 1с",
  325. "ttfbWarning": "TTFB 1-2с",
  326. "ttfbPoor": "TTFB > 3с"
  327. }
  328. },
  329. "metadata": {
  330. "noMetadata": "Нет метаданных",
  331. "sessionInfo": "Информация о сеансе",
  332. "clientInfo": "Информация о клиенте",
  333. "billingInfo": "Информация о биллинге",
  334. "technicalTimeline": "Техническая хронология",
  335. "copyTimeline": "Копировать хронологию"
  336. },
  337. "effort": {
  338. "label": "Effort",
  339. "overridden": "Переопределено провайдером"
  340. },
  341. "logicTrace": {
  342. "title": "Цепочка решений",
  343. "noDecisionData": "Нет данных о решениях",
  344. "providersCount": "{count} поставщиков",
  345. "healthyCount": "{count} исправных",
  346. "initialSelection": "Начальный выбор",
  347. "healthCheck": "Проверка работоспособности",
  348. "prioritySelection": "Выбор по приоритету",
  349. "attemptProvider": "Попытка: {provider}",
  350. "retryAttempt": "Повтор #{number}",
  351. "httpStatus": "HTTP {code}{inferredSuffix}",
  352. "sessionReuse": "Повторное использование сессии",
  353. "sessionReuseDesc": "Провайдер из кэша сессии",
  354. "sessionReuseTitle": "Привязка сессии",
  355. "sessionReuseSelection": "Выбор с повторным использованием сессии",
  356. "sessionReuseSelectionDesc": "Провайдер выбран из кэша сессии",
  357. "sessionInfo": "Информация о сессии",
  358. "sessionIdLabel": "ID сессии",
  359. "requestSequence": "Номер запроса",
  360. "sessionAge": "Возраст сессии",
  361. "reusedProvider": "Повторно используемый провайдер",
  362. "executeRequest": "Выполнить запрос",
  363. "cacheOptimizationHint": "Повторное использование сессии оптимизирует производительность, поддерживая привязку к провайдеру в рамках одного разговора, снижая накладные расходы на выбор и повышая частоту попаданий в кэш.",
  364. "originDecisionTitle": "Исходное решение выбора",
  365. "originDecisionDesc": "Как провайдер был изначально выбран для этой сессии",
  366. "originDecisionLoading": "Загрузка исходного решения...",
  367. "originDecisionUnavailable": "Запись исходного решения недоступна",
  368. "originDecisionExpand": "Просмотр исходного выбора"
  369. }
  370. },
  371. "providerChain": {
  372. "decisionChain": "Цепочка решений поставщика",
  373. "clickItemForDetails": "Нажмите на шаг, чтобы посмотреть детали"
  374. },
  375. "modelRedirect": {
  376. "redirected": "Перенаправлено",
  377. "targetModel": "Целевая модель"
  378. },
  379. "statusCodes": {
  380. "200": "200 (Успех)",
  381. "400": "400 (Неверный запрос)",
  382. "401": "401 (Не авторизован)",
  383. "429": "429 (Ограничение)",
  384. "500": "500 (Ошибка сервера)",
  385. "not200": "Не 200 (ошибки/блокировки)"
  386. },
  387. "billingDetails": {
  388. "input": "Входные",
  389. "output": "Выходные",
  390. "cacheWrite5m": "Запись кэша (5m)",
  391. "cacheWrite1h": "Запись кэша (1h)",
  392. "cacheRead": "Чтение кэша",
  393. "cacheTtl": "TTL кэша",
  394. "cacheTtlSwapped": "TTL биллинга (инверсия)",
  395. "multiplier": "Множитель поставщика",
  396. "totalCost": "Общая стоимость",
  397. "fast": "fast",
  398. "fastPriority": "Приоритетный уровень обслуживания (режим fast)",
  399. "context1m": "1M Контекст",
  400. "context1mEnabled": "Окно контекста 1M включено",
  401. "pricingProvider": "Провайдер тарифа",
  402. "pricingSourceLabel": "Источник тарифа",
  403. "pricingSource": {
  404. "local_manual": "Локальная ручная цена",
  405. "cloud_exact": "Точная облачная цена провайдера",
  406. "cloud_model_fallback": "Цена провайдера из резервной модели",
  407. "priority_fallback": "Приоритетная резервная цена",
  408. "single_provider_top_level": "Цена верхнего уровня для одного провайдера",
  409. "official_fallback": "Официальная цена"
  410. }
  411. }
  412. },
  413. "leaderboard": {
  414. "title": "Таблица расходов",
  415. "description": "Просмотр рейтинга расходов пользователей и ключей",
  416. "todayTitle": "Сегодняшний рейтинг",
  417. "viewAll": "Смотреть все",
  418. "userRankings": "Рейтинг пользователей",
  419. "providerRankings": "Рейтинг поставщиков",
  420. "modelRankings": "Рейтинг моделей",
  421. "noData": "Нет данных за сегодня",
  422. "requests": "запросов",
  423. "tokens": "токенов",
  424. "tabs": {
  425. "users": "Рейтинг пользователей",
  426. "keys": "Рейтинг ключей",
  427. "userRanking": "Рейтинг пользователей",
  428. "providerRanking": "Рейтинг поставщиков",
  429. "providerCacheHitRateRanking": "Рейтинг по попаданиям в кэш",
  430. "modelRanking": "Рейтинг моделей",
  431. "dailyRanking": "Сегодня",
  432. "weeklyRanking": "Эта неделя",
  433. "monthlyRanking": "Этот месяц",
  434. "allTimeRanking": "Всё время"
  435. },
  436. "dateRange": {
  437. "to": "по",
  438. "prevPeriod": "Предыдущий период",
  439. "nextPeriod": "Следующий период",
  440. "customRange": "Произвольный диапазон"
  441. },
  442. "columns": {
  443. "rank": "Ранг",
  444. "name": "Имя",
  445. "totalCost": "Общие затраты",
  446. "totalRequests": "Всего запросов",
  447. "avgCost": "Средние затраты",
  448. "lastActive": "Последняя активность",
  449. "user": "Пользователь",
  450. "requests": "Количество запросов",
  451. "tokens": "Количество токенов",
  452. "consumedAmount": "Потраченная сумма",
  453. "provider": "Поставщик",
  454. "model": "Модель",
  455. "cost": "Стоимость",
  456. "cacheHitRequests": "Запросы (учтены в hit rate)",
  457. "cacheHitRate": "Попадания в кэш",
  458. "cacheReadTokens": "Токены чтения из кэша",
  459. "totalTokens": "Всего токенов",
  460. "cacheCreationConsumedAmount": "Расход на создание кэша",
  461. "totalConsumedAmount": "Общие расходы",
  462. "successRate": "Процент успеха",
  463. "avgResponseTime": "Среднее время ответа",
  464. "avgTtfbMs": "Средний TTFB",
  465. "avgTokensPerSecond": "Средн. ток/с",
  466. "avgCostPerRequest": "Ср. стоимость/запрос",
  467. "avgCostPerMillionTokens": "Ср. стоимость/1М токенов",
  468. "unknownModel": "Неизвестно"
  469. },
  470. "expandModelStats": "Развернуть модели",
  471. "collapseModelStats": "Свернуть модели",
  472. "states": {
  473. "loading": "Загрузка...",
  474. "noData": "Нет данных",
  475. "todayNoData": "Нет данных за сегодня",
  476. "weekNoData": "Нет данных за эту неделю",
  477. "monthNoData": "Нет данных за этот месяц",
  478. "fetchFailed": "Не удалось получить данные таблицы лидеров"
  479. },
  480. "permission": {
  481. "title": "Требуются разрешения",
  482. "restricted": "Доступ ограничен",
  483. "description": "Для функции таблицы лидеров администратору необходимо включить разрешение «Разрешить просмотр использования всего сайта».",
  484. "adminAction": "Включить это разрешение.",
  485. "userAction": "Пожалуйста, свяжитесь с администратором, чтобы включить это разрешение.",
  486. "systemSettings": "Настройки системы"
  487. },
  488. "filters": {
  489. "userTagsPlaceholder": "Фильтр по тегам пользователей...",
  490. "userGroupsPlaceholder": "Фильтр по группам пользователей..."
  491. },
  492. "userInsights": {
  493. "title": "Аналитика пользователя",
  494. "backToLeaderboard": "Вернуться к рейтингу",
  495. "overview": "Обзор",
  496. "keyTrend": "Тренд использования ключей",
  497. "modelBreakdown": "Разбивка по моделям",
  498. "requests": "Запросы",
  499. "cost": "Стоимость",
  500. "avgResponseTime": "Среднее время ответа",
  501. "errorRate": "Частота ошибок",
  502. "timeRange": {
  503. "today": "Сегодня",
  504. "7days": "Последние 7 дней",
  505. "30days": "Последние 30 дней",
  506. "thisMonth": "Этот месяц"
  507. },
  508. "unknownModel": "Неизвестная модель",
  509. "noData": "Нет данных",
  510. "dateRange": "Диапазон дат",
  511. "allTime": "Всё время",
  512. "providerBreakdown": "Разбивка по провайдерам",
  513. "unknownProvider": "Неизвестный провайдер",
  514. "apiKey": "API ключ",
  515. "provider": "Провайдер",
  516. "model": "Модель",
  517. "allKeys": "Все ключи",
  518. "allProviders": "Все провайдеры",
  519. "allModels": "Все модели",
  520. "dimensions": "Измерения",
  521. "filters": "Фильтры",
  522. "loadError": "Не удалось загрузить данные"
  523. }
  524. },
  525. "sessions": {
  526. "title": "Активные сеансы",
  527. "description": "Мониторинг активных сеансов API в режиме реального времени",
  528. "monitoring": "Мониторинг сеансов",
  529. "monitoringDescription": "Отображение активных и неактивных сеансов в реальном времени (автоматическое обновление каждые 3 секунды)",
  530. "activeSessions": "Активные сеансы (последние 5 минут)",
  531. "inactiveSessions": "Неактивные сеансы (более 5 минут, только просмотр)",
  532. "columns": {
  533. "sessionId": "ID сеанса",
  534. "user": "Пользователь",
  535. "key": "Ключ",
  536. "provider": "Поставщик",
  537. "model": "Модель",
  538. "startTime": "Время начала",
  539. "lastActivity": "Последняя активность",
  540. "requestCount": "Количество запросов",
  541. "totalInput": "Общий ввод",
  542. "totalOutput": "Общий вывод",
  543. "totalCost": "Общая стоимость",
  544. "totalDuration": "Общая продолжительность",
  545. "status": "Статус",
  546. "actions": "Действия"
  547. },
  548. "table": {
  549. "count": "Всего {count} {type} сеансов",
  550. "active": "Активные",
  551. "inactive": "Неактивные",
  552. "notCountedInConcurrency": "(не учитывается в параллельных запросах)",
  553. "refreshing": "Обновление...",
  554. "noActiveSessions": "Нет активных сеансов"
  555. },
  556. "pagination": {
  557. "total": "всего"
  558. },
  559. "details": {
  560. "title": "Сообщения сеанса",
  561. "messages": "Список сообщений",
  562. "info": "Информация сеанса",
  563. "timeline": "Хронология",
  564. "overview": "Обзор сеанса",
  565. "overviewDescription": "Сводная статистика",
  566. "providersAndModels": "Поставщики и модели",
  567. "providersAndModelsDescription": "Используемые поставщики и модели",
  568. "tokenUsage": "Использование токенов (всего)",
  569. "tokenUsageDescription": "Кумулятивная статистика по всем запросам",
  570. "costInfo": "Информация о стоимости (всего)",
  571. "costInfoDescription": "Кумулятивная стоимость по всем запросам",
  572. "totalRequests": "Всего запросов",
  573. "firstRequest": "Первый запрос",
  574. "lastRequest": "Последний запрос",
  575. "totalDuration": "Общая продолжительность",
  576. "totalInput": "Общий ввод",
  577. "totalOutput": "Общий вывод",
  578. "cacheCreation": "Создание кэша",
  579. "cacheTtlMixed": "Смешанный",
  580. "cacheRead": "Чтение из кэша",
  581. "total": "Всего",
  582. "totalFee": "Общая плата",
  583. "providers": "Поставщики",
  584. "models": "Модели",
  585. "noDetailedData": "Подробные данные отсутствуют",
  586. "storageTip": "Подробные данные не найдены. Возможные причины: Redis отключен/недоступен (REDIS_URL + ENABLE_RATE_LIMIT=true), данные истекли (SESSION_TTL, по умолчанию 300с), или сохранение тела ответа отключено (STORE_SESSION_RESPONSE_BODY=false, влияет только на тело ответа). Чтобы сохранять сообщения без маскировки, установите STORE_SESSION_MESSAGES=true.",
  587. "clientInfo": "Информация о клиенте",
  588. "requestHeaders": "Заголовки запроса",
  589. "requestBody": "Тело запроса",
  590. "requestMessages": "Сообщения запроса",
  591. "specialSettings": "Особые",
  592. "requestMessagesDescription": "Содержимое сообщения, отправленного клиентом",
  593. "responseHeaders": "Заголовки ответа",
  594. "responseBody": "Тело ответа",
  595. "responseBodyDescription": "Полный ответ сервера (TTL 5 минут)",
  596. "noHeaders": "Нет данных",
  597. "noData": "Нет данных",
  598. "prevRequest": "Предыдущий",
  599. "nextRequest": "Следующий"
  600. },
  601. "actions": {
  602. "back": "Назад",
  603. "view": "Просмотр",
  604. "copy": "Копировать",
  605. "download": "Скачать",
  606. "copyMessages": "Копировать запрос (заголовки и тело)",
  607. "downloadMessages": "Скачать запрос (заголовки и тело)",
  608. "copied": "Скопировано",
  609. "copyResponse": "Копировать тело ответа",
  610. "terminate": "Прервать",
  611. "terminateTitle": "Прервать сессию",
  612. "terminateDescription": "Вы уверены, что хотите прервать эту сессию? После прерывания привязка поставщика будет очищена, и следующий запрос выберет нового поставщика.",
  613. "sessionIdLabel": "ID сессии: {sessionId}",
  614. "cancel": "Отмена",
  615. "confirmTerminate": "Прервать",
  616. "terminating": "Прерывание...",
  617. "terminateSuccess": "Сессия успешно прервана",
  618. "terminateFailed": "Не удалось прервать сессию",
  619. "terminateSelected": "Прервать выбранные",
  620. "selectedCount": "Выбрано: {count}",
  621. "selectAll": "Выбрать все",
  622. "selectSessionLabel": "Выбрать сессию",
  623. "multiSelect": "Множественный выбор",
  624. "cancelMultiSelect": "Отмена",
  625. "terminateSessionTitle": "Прервать сессию",
  626. "terminateSessionDescription": "Вы уверены, что хотите прервать эту сессию? Это действие нельзя отменить.",
  627. "batchTerminateSuccess": "Прервано {count} сессий",
  628. "batchTerminatePartial": "Без прав: {unauthorized} · Отсутствуют: {missing}",
  629. "batchTerminateAllowedFailed": "Не удалось прервать {count} разрешённых сессий",
  630. "batchTerminateNone": "Не удалось прервать ни одной сессии",
  631. "noSelection": "Выберите хотя бы одну сессию"
  632. },
  633. "codeDisplay": {
  634. "raw": "Сырой",
  635. "pretty": "Форматированный",
  636. "searchPlaceholder": "Поиск",
  637. "expand": "Развернуть",
  638. "collapse": "Свернуть",
  639. "themeAuto": "Авто",
  640. "themeLight": "Светлая",
  641. "themeDark": "Тёмная",
  642. "noMatches": "Нет совпадений",
  643. "onlyMatches": "Только совпадения",
  644. "showAll": "Показать всё",
  645. "prevPage": "Назад",
  646. "nextPage": "Вперёд",
  647. "pageInfo": "Страница {page} / {total}",
  648. "sseEvent": "Событие",
  649. "sseData": "Данные",
  650. "hardLimit": {
  651. "title": "Содержимое слишком большое",
  652. "size": "Размер: {sizeMB} MB ({sizeBytes} bytes)",
  653. "maximum": "Максимум: {maxSizeMB} MB или {maxLines} строк",
  654. "hint": "Пожалуйста, скачайте файл, чтобы посмотреть весь контент.",
  655. "download": "Скачать"
  656. }
  657. },
  658. "status": {
  659. "loading": "Загрузка...",
  660. "loadError": "Ошибка загрузки",
  661. "fetchFailed": "Не удалось получить",
  662. "unknownError": "Неизвестная ошибка",
  663. "storageNotEnabled": "Не сохранено",
  664. "storageNotEnabledHint": "Подсказка: проверьте REDIS_URL и ENABLE_RATE_LIMIT=true (кэш деталей сессии). Чтобы сохранять сообщения без маскировки, установите STORE_SESSION_MESSAGES=true."
  665. },
  666. "errors": {
  667. "copyFailed": "Не удалось скопировать"
  668. },
  669. "requestList": {
  670. "title": "Список запросов",
  671. "noRequests": "Запросы не найдены",
  672. "fetchFailed": "Не удалось получить список запросов",
  673. "unknownError": "Неизвестная ошибка",
  674. "prev": "Назад",
  675. "next": "Вперед",
  676. "orderAsc": "Переключить на прямой порядок (старые первыми)",
  677. "orderDesc": "Переключить на обратный порядок (новые первыми)"
  678. },
  679. "back": "Назад",
  680. "loadingError": "Не удалось загрузить"
  681. },
  682. "quotas": {
  683. "title": "Управление квотами",
  684. "description": "Управление квотами пользователей, ключей и поставщиков",
  685. "tabs": {
  686. "overview": "Обзор",
  687. "users": "Квоты пользователей",
  688. "keys": "Квоты ключей",
  689. "providers": "Квоты поставщиков"
  690. },
  691. "columns": {
  692. "name": "Имя",
  693. "limit": "Лимит",
  694. "used": "Использовано",
  695. "remaining": "Осталось",
  696. "resetTime": "Время сброса",
  697. "status": "Статус"
  698. },
  699. "labels": {
  700. "byName": "По имени",
  701. "byUsageRate": "По уровню использования",
  702. "all": "Все",
  703. "warning": "Приближается к лимиту (>60%)",
  704. "exceeded": "Превышено (≥100%)"
  705. },
  706. "users": {
  707. "title": "Статистика квот пользователей",
  708. "totalUsers": "Всего {count} пользователей"
  709. },
  710. "keys": {
  711. "title": "Статистика квот ключей",
  712. "totalKeysInfo": "Всего {userCount} пользователей, {keyCount} ключей",
  713. "setKeyQuota": "Установить квоту ключа",
  714. "setUserQuota": "Установить квоту пользователя",
  715. "onlyKeyQuota": "Только квота ключа",
  716. "onlyUserQuota": "Только квота пользователя",
  717. "success": "Квота пользователя установлена успешно"
  718. },
  719. "providers": {
  720. "title": "Статистика квот поставщиков",
  721. "totalProviders": "Всего {count} поставщиков"
  722. }
  723. },
  724. "labels": {
  725. "byName": "По имени",
  726. "byUsageRate": "По уровню использования"
  727. },
  728. "all": "Все",
  729. "nav": {
  730. "mobileMenuTitle": "Меню навигации",
  731. "dashboard": "Панель",
  732. "usageLogs": "Журналы",
  733. "leaderboard": "Лидеры",
  734. "availability": "Мониторинг",
  735. "myQuota": "Моя квота",
  736. "quotasManagement": "Квоты",
  737. "userManagement": "Пользователи",
  738. "providers": "Поставщики",
  739. "documentation": "Доки",
  740. "systemSettings": "Настройки",
  741. "feedback": "Обратная связь",
  742. "login": "Вход",
  743. "logout": "Выход"
  744. },
  745. "statistics": {
  746. "title": "Статистика",
  747. "cost": "Сумма расходов",
  748. "calls": "Количество вызовов API",
  749. "totalCost": "Общая сумма расходов",
  750. "totalCalls": "Общее количество вызовов API",
  751. "timeRange": {
  752. "today": "Сегодня",
  753. "todayDescription": "Использование за сегодня",
  754. "7days": "7д",
  755. "7daysDescription": "Использование за последние 7 дней",
  756. "30days": "30д",
  757. "30daysDescription": "Использование за последние 30 дней",
  758. "thisMonth": "Этот месяц",
  759. "thisMonthDescription": "Использование за этот месяц",
  760. "default": "Использование"
  761. },
  762. "mode": {
  763. "keys": "Только ваши ключи",
  764. "mixed": "Показать детали ваших ключей и сводку других пользователей",
  765. "users": "Показать для всех"
  766. },
  767. "legend": {
  768. "selectAll": "Выбрать все",
  769. "deselectAll": "Очистить",
  770. "selected": "Выбрано"
  771. },
  772. "chartMode": {
  773. "label": "Режим отображения",
  774. "overlay": "Сравнение",
  775. "stacked": "Накопление"
  776. },
  777. "states": {
  778. "noData": "Нет статистических данных",
  779. "fetchFailed": "Не удалось получить статистические данные"
  780. },
  781. "othersAggregate": "Другие пользователи"
  782. },
  783. "errors": {
  784. "fetchSystemSettingsFailed": "Не удалось получить параметры системы",
  785. "fetchFailed": "Ошибка загрузки",
  786. "fetchSessionListFailed": "Не удалось получить список сеансов"
  787. },
  788. "keyList": {
  789. "columns": {
  790. "name": "Название",
  791. "key": "Ключ",
  792. "todayCalls": "Вызовы сегодня",
  793. "todayCost": "Расходы сегодня",
  794. "lastUsed": "Последнее использование",
  795. "actions": "Действия"
  796. },
  797. "detailsButton": "Подробная информация",
  798. "modelStats": "Статистика моделей",
  799. "modelStatsColumns": {
  800. "model": "Модель",
  801. "calls": "Вызовы",
  802. "cost": "Расходы"
  803. },
  804. "limitUsage": "Использование лимита",
  805. "copyKeyTooltip": "Скопировать полный ключ",
  806. "showKeyTooltip": "Показать полный ключ",
  807. "hideKeyTooltip": "Скрыть ключ",
  808. "copyFailed": "Не удалось скопировать:",
  809. "timesUnit": "раз",
  810. "provider": "Провайдер",
  811. "neverUsed": "Не использовался",
  812. "viewLogsTooltip": "Просмотр подробных журналов",
  813. "logsButton": "Журналы",
  814. "emptyState": {
  815. "title": "Нет ключей",
  816. "description": "Нажмите кнопку \"Добавить ключ\" в правом верхнем углу, чтобы добавить ключ"
  817. }
  818. },
  819. "userList": {
  820. "title": "Список пользователей",
  821. "badge": "{count} ключей",
  822. "activeKeys": "Активные ключи",
  823. "totalKeys": "Всего ключей",
  824. "expiresAt": "Срок действия",
  825. "status": {
  826. "active": "Активен",
  827. "expiringSoon": "Скоро истечет",
  828. "expired": "Истек",
  829. "disabled": "Отключен"
  830. },
  831. "actions": {
  832. "renew": "Продлить",
  833. "renew30d": "Продлить на 30 дней",
  834. "renew90d": "Продлить на 90 дней",
  835. "renew1y": "Продлить на 1 год",
  836. "renewCustom": "Настроить...",
  837. "customPrompt": "Введите новую дату истечения (ГГГГ-ММ-ДД). Оставьте пустым для отмены.",
  838. "invalidDate": "Пожалуйста, введите действительную дату",
  839. "enable": "Включить",
  840. "disable": "Отключить",
  841. "success": "Операция выполнена успешно",
  842. "failed": "Операция не удалась, попробуйте еще раз"
  843. },
  844. "emptyState": {
  845. "title": "Нет пользователей",
  846. "description": "Вы еще не создали ни одного пользователя. Пользователи являются основой для управления API-ключами и квотами использования. Создайте первого пользователя, чтобы начать!",
  847. "action": "Создать первого пользователя"
  848. },
  849. "addUser": "Добавить пользователя"
  850. },
  851. "keyListHeader": {
  852. "todayUsage": "Использование сегодня",
  853. "userStatus": {
  854. "disabled": "Отключен",
  855. "expired": "Истек",
  856. "expiringSoon": "Скоро истечет",
  857. "active": "Активен"
  858. },
  859. "allowedModels": {
  860. "label": "Разрешённые модели",
  861. "noRestrictions": "Разрешённые модели: без ограничений"
  862. },
  863. "expiresAt": "Истекает",
  864. "proxyStatus": {
  865. "loading": "Загрузка статуса прокси",
  866. "fetchFailed": "Не удалось получить статус прокси",
  867. "noStatus": "Нет статуса прокси",
  868. "activeRequests": "Активные запросы",
  869. "lastRequest": "Последний запрос",
  870. "noRecord": "Нет записи",
  871. "timeAgo": {
  872. "justNow": "Только что",
  873. "secondsAgo": "{count}с назад",
  874. "minutesAgo": "{count} мин назад",
  875. "hoursAgo": "{count}ч назад",
  876. "daysAgo": "{count}д назад"
  877. }
  878. },
  879. "addKey": "Добавить ключ",
  880. "keyCreatedDialog": {
  881. "title": "Ключ успешно создан",
  882. "description": "Ваш API-ключ был успешно создан. Пожалуйста, скопируйте и сохраните его в безопасном месте, так как он будет показан только один раз.",
  883. "apiKeyLabel": "API ключ",
  884. "warningText": "Пожалуйста, скопируйте и сохраните перед закрытием. После закрытия вы не сможете снова просмотреть этот ключ",
  885. "httpWarningText": "Обнаружен HTTP-доступ. Ограничения браузера не позволяют использовать функцию копирования. Нажмите на значок глаза, чтобы показать ключ и скопировать его вручную.",
  886. "copyTooltip": "Скопировать в буфер обмена",
  887. "showTooltip": "Показать полный ключ",
  888. "hideTooltip": "Скрыть ключ",
  889. "closeButton": "Закрыть"
  890. },
  891. "allowedClients": {
  892. "label": "Разрешённые клиенты",
  893. "noRestrictions": "Разрешённые клиенты: без ограничений"
  894. }
  895. },
  896. "keyLimitUsage": {
  897. "loading": "Загрузка...",
  898. "error": "Ошибка загрузки",
  899. "networkError": "Сетевая ошибка",
  900. "cost5h": "Расход за 5 часов",
  901. "costDaily": "Дневной расход",
  902. "costWeekly": "Недельный расход",
  903. "costMonthly": "Месячный расход",
  904. "concurrentSessions": "Параллельные сеансы",
  905. "noLimit": "Без ограничений"
  906. },
  907. "addKeyForm": {
  908. "title": "Добавить ключ",
  909. "description": "Создать новый API-ключ для текущего пользователя. Значение ключа будет сгенерировано автоматически.",
  910. "submitText": "Создать ключ",
  911. "loadingText": "Создание...",
  912. "keyName": {
  913. "label": "Имя ключа",
  914. "placeholder": "Введите имя ключа"
  915. },
  916. "expiresAt": {
  917. "label": "Срок действия",
  918. "placeholder": "Выберите срок действия",
  919. "description": "Оставьте пустым для бессрочного ключа"
  920. },
  921. "canLoginWebUi": {
  922. "label": "Разрешить вход в веб-интерфейс",
  923. "description": "При отключении этот ключ можно использовать только для вызовов API и нельзя использовать для входа в панель администрирования"
  924. },
  925. "limit5hUsd": {
  926. "label": "Лимит расходов за 5 часов (USD)",
  927. "placeholder": "Оставьте пустым для неограниченного",
  928. "description": "Максимальный расход в течение 5 часов",
  929. "descriptionWithUserLimit": "Максимальный расход за 5 часов (Лимит пользователя: {limit})"
  930. },
  931. "limitDailyUsd": {
  932. "label": "Дневной лимит расходов (USD)",
  933. "placeholder": "Оставьте пустым для неограниченного",
  934. "description": "Максимальный расход в день"
  935. },
  936. "dailyResetMode": {
  937. "label": "Режим ежедневного сброса",
  938. "options": {
  939. "fixed": "Сброс в фиксированное время",
  940. "rolling": "Скользящее окно (24 часа)"
  941. },
  942. "desc": {
  943. "fixed": "Сброс квоты в определенное время каждый день",
  944. "rolling": "24-часовое скользящее окно от первого запроса"
  945. }
  946. },
  947. "dailyResetTime": {
  948. "label": "Время ежедневного сброса",
  949. "placeholder": "HH:mm",
  950. "description": "Когда сбрасывается дневной лимит (использует системный часовой пояс)"
  951. },
  952. "limitWeeklyUsd": {
  953. "label": "Недельный лимит расходов (USD)",
  954. "placeholder": "Оставьте пустым для неограниченного",
  955. "description": "Максимальный расход в неделю",
  956. "descriptionWithUserLimit": "Максимальный расход в неделю (Лимит пользователя: {limit})"
  957. },
  958. "limitMonthlyUsd": {
  959. "label": "Месячный лимит расходов (USD)",
  960. "placeholder": "Оставьте пустым для неограниченного",
  961. "description": "Максимальный расход в месяц",
  962. "descriptionWithUserLimit": "Максимальный расход в месяц (Лимит пользователя: {limit})"
  963. },
  964. "limitTotalUsd": {
  965. "label": "Общий лимит расходов (USD)",
  966. "placeholder": "Оставьте пустым для неограниченного",
  967. "description": "Максимальная сумма расходов (без сброса)",
  968. "descriptionWithUserLimit": "Не может превышать общий лимит пользователя ({limit})"
  969. },
  970. "limitConcurrentSessions": {
  971. "label": "Лимит параллельных сеансов",
  972. "placeholder": "0 означает неограниченно",
  973. "description": "Количество одновременных разговоров",
  974. "descriptionWithUserLimit": "Максимум сеансов (Лимит пользователя: {limit})"
  975. },
  976. "providerGroup": {
  977. "label": "Группа провайдеров",
  978. "placeholder": "Введите теги групп провайдеров и нажмите Enter",
  979. "description": "Группы провайдеров для этого ключа (по умолчанию: default).",
  980. "defaultDescription": "default включает провайдеров без groupTag.",
  981. "descriptionWithUserGroup": "Группы провайдеров для этого ключа (группы пользователя: {group}; по умолчанию: default)."
  982. },
  983. "cacheTtl": {
  984. "label": "Переопределение Cache TTL",
  985. "description": "Принудительно установить Anthropic prompt cache TTL для запросов с cache_control.",
  986. "options": {
  987. "inherit": "Не переопределять (следовать провайдеру/клиенту)",
  988. "5m": "5m",
  989. "1h": "1h"
  990. }
  991. },
  992. "successTitle": "Ключ успешно создан",
  993. "successDescription": "Ваш API-ключ был успешно создан.",
  994. "generatedKey": {
  995. "label": "Сгенерированный ключ",
  996. "hint": "Вы можете управлять этим ключом в списке ключей (включить/выключить, лимиты и т. д.), но полный ключ показывается только один раз. Скопируйте и сохраните его сейчас."
  997. },
  998. "errors": {
  999. "userIdMissing": "ID пользователя не существует",
  1000. "createFailed": "Не удалось создать, попробуйте позже",
  1001. "noKeyReturned": "Создан успешно, но ключ не был возвращен"
  1002. }
  1003. },
  1004. "userForm": {
  1005. "title": {
  1006. "add": "Добавить пользователя",
  1007. "edit": "Редактировать пользователя"
  1008. },
  1009. "description": {
  1010. "add": "Создать нового пользователя. Система автоматически сгенерирует ключ по умолчанию.",
  1011. "edit": "Изменить основную информацию пользователя."
  1012. },
  1013. "submitText": {
  1014. "add": "Создать пользователя",
  1015. "edit": "Сохранить изменения"
  1016. },
  1017. "loadingText": {
  1018. "add": "Создание...",
  1019. "edit": "Сохранение..."
  1020. },
  1021. "username": {
  1022. "label": "Имя пользователя",
  1023. "placeholder": "Введите имя пользователя"
  1024. },
  1025. "note": {
  1026. "label": "Примечание",
  1027. "placeholder": "Введите примечание (необязательно)",
  1028. "description": "Используется для описания назначения пользователя или примечаний"
  1029. },
  1030. "providerGroup": {
  1031. "label": "Группа поставщиков",
  1032. "placeholder": "например, default или premium,economy",
  1033. "description": "Группы провайдеров пользователя (по умолчанию: default). Провайдеры без groupTag относятся к default."
  1034. },
  1035. "tags": {
  1036. "label": "Теги пользователя",
  1037. "placeholder": "Введите тег (Enter для добавления)",
  1038. "description": "Добавьте теги для классификации и фильтрации (максимум 20 тегов, до 32 символов каждый)"
  1039. },
  1040. "rpm": {
  1041. "label": "Лимит RPM",
  1042. "placeholder": "Лимит запросов в минуту",
  1043. "description": "По умолчанию: {default}, диапазон: 1-10000"
  1044. },
  1045. "dailyQuota": {
  1046. "label": "Дневная квота",
  1047. "placeholder": "Лимит дневного расхода",
  1048. "helperText": "Установите 0 для неограниченного доступа",
  1049. "description": "По умолчанию: ${default}, диапазон: $0.01-$1000"
  1050. },
  1051. "limit5hUsd": {
  1052. "label": "Лимит на 5 часов (USD)",
  1053. "placeholder": "Оставьте пустым для неограниченного",
  1054. "description": "Максимальный расход за 5 часов"
  1055. },
  1056. "limitWeeklyUsd": {
  1057. "label": "Недельный лимит (USD)",
  1058. "placeholder": "Оставьте пустым для неограниченного",
  1059. "description": "Максимальный недельный расход"
  1060. },
  1061. "limitMonthlyUsd": {
  1062. "label": "Месячный лимит (USD)",
  1063. "placeholder": "Оставьте пустым для неограниченного",
  1064. "description": "Максимальный месячный расход"
  1065. },
  1066. "limitConcurrentSessions": {
  1067. "label": "Лимит одновременных сессий",
  1068. "placeholder": "0 означает неограниченно",
  1069. "description": "Количество одновременных разговоров"
  1070. },
  1071. "isEnabled": {
  1072. "label": "Активировать пользователя",
  1073. "description": "Отключенные пользователи не смогут использовать API"
  1074. },
  1075. "expiresAt": {
  1076. "label": "Срок действия",
  1077. "placeholder": "Оставьте пустым для бессрочного",
  1078. "description": "Пользователь будет автоматически отключен после истечения срока",
  1079. "pastWarning": "Выбранная дата в прошлом. После сохранения пользователь сразу станет просроченным и будет отключен."
  1080. },
  1081. "allowedClients": {
  1082. "label": "Разрешённые клиенты",
  1083. "description": "Ограничьте, какие CLI/IDE клиенты могут использовать эту учётную запись. Пусто = без ограничений.",
  1084. "customLabel": "Пользовательские шаблоны клиентов",
  1085. "customPlaceholder": "Введите шаблон (например, 'my-ide', 'codex-*')"
  1086. },
  1087. "allowedModels": {
  1088. "label": "Разрешённые модели",
  1089. "placeholder": "Введите название модели (Enter для добавления)",
  1090. "description": "Ограничить пользователя определёнными моделями ИИ. Оставьте пустым без ограничений (макс. 50 моделей, 64 символа)"
  1091. }
  1092. },
  1093. "deleteKeyConfirm": {
  1094. "title": "Подтвердить удаление ключа",
  1095. "description": "Вы уверены, что хотите удалить ключ \"{name}\"?\n{maskedKey}\nЭто действие нельзя отменить. Все приложения, использующие этот ключ, потеряют доступ.",
  1096. "cancel": "Отмена",
  1097. "confirm": "Подтвердить удаление",
  1098. "confirmLoading": "Удаление...",
  1099. "errors": {
  1100. "deleteFailed": "Не удалось удалить",
  1101. "retryError": "Не удалось удалить, попробуйте позже"
  1102. }
  1103. },
  1104. "keyActions": {
  1105. "edit": "Редактировать",
  1106. "delete": "Удалить",
  1107. "editAriaLabel": "Редактировать ключ",
  1108. "deleteAriaLabel": "Удалить ключ"
  1109. },
  1110. "userActions": {
  1111. "edit": "Редактировать пользователя",
  1112. "delete": "Удалить пользователя",
  1113. "editAriaLabel": "Редактировать пользователя",
  1114. "deleteAriaLabel": "Удалить пользователя"
  1115. },
  1116. "availability": {
  1117. "title": "Мониторинг доступности провайдеров",
  1118. "description": "Мониторинг доступности и показателей производительности провайдеров в реальном времени",
  1119. "nav": "Мониторинг доступности",
  1120. "tabs": {
  1121. "provider": "Доступность провайдеров",
  1122. "endpoint": "Здоровье эндпоинтов"
  1123. },
  1124. "overview": {
  1125. "systemAvailability": "Доступность системы",
  1126. "avgLatency": "Средняя задержка",
  1127. "errorRate": "Коэффициент ошибок",
  1128. "activeProbes": "Активные проверки",
  1129. "load": "Нагрузка"
  1130. },
  1131. "timeRange": {
  1132. "label": "Временной диапазон",
  1133. "15min": "15 мин",
  1134. "1h": "1 час",
  1135. "6h": "6 часов",
  1136. "24h": "24 часа",
  1137. "7d": "7 дней",
  1138. "last15min": "Последние 15 минут",
  1139. "last1h": "Последний час",
  1140. "last6h": "Последние 6 часов",
  1141. "last24h": "Последние 24 часа",
  1142. "last7d": "7д",
  1143. "custom": "Настраиваемый"
  1144. },
  1145. "laneChart": {
  1146. "title": "Хронология доступности провайдеров",
  1147. "noData": "Нет данных",
  1148. "requests": "{count} запросов",
  1149. "availability": "{value}% доступно",
  1150. "noRequests": "Нет запросов",
  1151. "denseData": "Плотные",
  1152. "sparseData": "Разреженные",
  1153. "latency": "Задержка"
  1154. },
  1155. "latencyChart": {
  1156. "title": "Распределение задержки",
  1157. "p50": "P50",
  1158. "p95": "P95",
  1159. "p99": "P99",
  1160. "noData": "Нет данных о задержке"
  1161. },
  1162. "latencyCurve": {
  1163. "title": "Тренд задержки",
  1164. "noData": "Нет данных о задержке",
  1165. "avg": "Средн.",
  1166. "min": "Мин.",
  1167. "max": "Макс.",
  1168. "latency": "Задержка"
  1169. },
  1170. "terminal": {
  1171. "title": "Журнал проверок",
  1172. "live": "LIVE",
  1173. "download": "Скачать журнал",
  1174. "noLogs": "Нет журналов проверок",
  1175. "manual": "Ручная",
  1176. "auto": "Авто",
  1177. "filterPlaceholder": "Фильтр журналов..."
  1178. },
  1179. "probeGrid": {
  1180. "title": "Статус эндпоинтов",
  1181. "noEndpoints": "Эндпоинты не настроены",
  1182. "lastProbe": "Последняя проверка",
  1183. "status": {
  1184. "unknown": "Неизвестно",
  1185. "healthy": "Здоров",
  1186. "unhealthy": "Нездоров"
  1187. }
  1188. },
  1189. "endpoint": {
  1190. "selectVendor": "Выберите вендора",
  1191. "selectType": "Выберите тип"
  1192. },
  1193. "confidence": {
  1194. "low": "Низкая",
  1195. "medium": "Средняя",
  1196. "high": "Высокая",
  1197. "lowTooltip": "Менее {count} запросов. Данные могут быть нерепрезентативными.",
  1198. "mediumTooltip": "Умеренный объём запросов. Данные достаточно надёжны.",
  1199. "highTooltip": "Высокий объём запросов. Данные надёжны."
  1200. },
  1201. "actions": {
  1202. "refresh": "Обновить",
  1203. "refreshing": "Обновление...",
  1204. "autoRefresh": "Автообновление",
  1205. "stopAutoRefresh": "Остановить автообновление",
  1206. "viewDetails": "Подробнее",
  1207. "testProvider": "Тестировать провайдера"
  1208. },
  1209. "status": {
  1210. "green": "Здоров",
  1211. "red": "Недоступен",
  1212. "unknown": "Неизвестно"
  1213. },
  1214. "statusDescription": {
  1215. "green": "Сервис работает нормально, запросы успешны",
  1216. "red": "Сервис недоступен или ошибка",
  1217. "unknown": "Данные отсутствуют"
  1218. },
  1219. "metrics": {
  1220. "systemAvailability": "Доступность системы",
  1221. "totalRequests": "Всего запросов",
  1222. "successRate": "Успешность",
  1223. "avgLatency": "Средняя задержка",
  1224. "p50Latency": "P50 задержка",
  1225. "p95Latency": "P95 задержка",
  1226. "p99Latency": "P99 задержка",
  1227. "lastRequest": "Последний запрос",
  1228. "requestCount": "Кол-во запросов"
  1229. },
  1230. "filters": {
  1231. "provider": "Провайдер",
  1232. "allProviders": "Все провайдеры",
  1233. "includeDisabled": "Включить отключённые"
  1234. },
  1235. "sort": {
  1236. "label": "Сортировка",
  1237. "availability": "Доступность",
  1238. "name": "Название",
  1239. "requests": "Запросы"
  1240. },
  1241. "columns": {
  1242. "provider": "Провайдер",
  1243. "type": "Тип",
  1244. "status": "Статус",
  1245. "availability": "Доступность",
  1246. "requests": "Запросы",
  1247. "successRate": "Успешность",
  1248. "avgLatency": "Средняя задержка",
  1249. "lastRequest": "Последний запрос",
  1250. "actions": "Действия"
  1251. },
  1252. "chart": {
  1253. "title": "Тренд доступности",
  1254. "description": "Изменение доступности во времени",
  1255. "availabilityScore": "Оценка доступности",
  1256. "requestVolume": "Объём запросов",
  1257. "latencyTrend": "Тренд задержки",
  1258. "noData": "Нет данных"
  1259. },
  1260. "details": {
  1261. "title": "Детали провайдера",
  1262. "overview": "Обзор",
  1263. "timeBuckets": "Временные интервалы",
  1264. "greenCount": "Успешные запросы",
  1265. "redCount": "Неудачные запросы"
  1266. },
  1267. "states": {
  1268. "loading": "Загрузка...",
  1269. "error": "Ошибка загрузки",
  1270. "noProviders": "Нет провайдеров",
  1271. "noData": "Нет данных о доступности",
  1272. "fetchFailed": "Не удалось получить данные о доступности"
  1273. },
  1274. "legend": {
  1275. "green": "Отлично (доступность 95%+)",
  1276. "lime": "Хорошо (доступность 80-95%)",
  1277. "orange": "Внимание (доступность 50-80%)",
  1278. "red": "Недоступен (доступность <50%)",
  1279. "noData": "Нет данных"
  1280. },
  1281. "summary": {
  1282. "title": "Сводка доступности",
  1283. "healthyProviders": "Здоровые провайдеры",
  1284. "unhealthyProviders": "Недоступные провайдеры",
  1285. "unknownProviders": "Нет данных",
  1286. "totalProviders": "Всего провайдеров"
  1287. },
  1288. "heatmap": {
  1289. "bucketSize": "Размер интервала",
  1290. "minutes": "мин",
  1291. "requests": "запросов",
  1292. "noData": "Нет данных",
  1293. "noRequests": "Нет запросов"
  1294. },
  1295. "probeHistory": {
  1296. "title": "История проверок эндпоинтов",
  1297. "description": "Просмотр журналов проверок и запуск ручной проверки для конкретного эндпоинта",
  1298. "selectVendor": "Выберите вендора",
  1299. "selectType": "Выберите тип провайдера",
  1300. "selectEndpoint": "Выберите эндпоинт",
  1301. "noEndpoints": "Эндпоинты не найдены",
  1302. "probeNow": "Проверить",
  1303. "probing": "Проверяем...",
  1304. "columns": {
  1305. "time": "Время",
  1306. "method": "Метод",
  1307. "status": "Статус",
  1308. "latency": "Задержка",
  1309. "error": "Ошибка"
  1310. },
  1311. "success": "Успех",
  1312. "manual": "Ручная проверка",
  1313. "auto": "Автоматическая проверка",
  1314. "probeSuccess": "Проверка успешна",
  1315. "probeFailed": "Проверка не удалась"
  1316. },
  1317. "toast": {
  1318. "refreshSuccess": "Данные о доступности обновлены",
  1319. "refreshFailed": "Обновление не удалось, попробуйте снова"
  1320. }
  1321. },
  1322. "rateLimits": {
  1323. "title": "Статистика событий лимитов",
  1324. "description": "Просмотр и анализ статистики событий лимитов",
  1325. "loading": "Загрузка...",
  1326. "error": "Ошибка загрузки",
  1327. "totalEvents": "Всего событий",
  1328. "avgUsage": "Среднее использование",
  1329. "affectedUsers": "Затронутые пользователи",
  1330. "noData": "Нет данных",
  1331. "noDataHint": "Нет событий лимитов в выбранном диапазоне времени",
  1332. "filters": {
  1333. "startTime": "Начало",
  1334. "endTime": "Конец",
  1335. "user": "Пользователь",
  1336. "provider": "Поставщик",
  1337. "limitType": "Тип лимита",
  1338. "allUsers": "Все пользователи",
  1339. "allProviders": "Все провайдеры",
  1340. "allLimitTypes": "Все типы",
  1341. "apply": "Применить фильтры",
  1342. "reset": "Сбросить",
  1343. "loading": "Загрузка...",
  1344. "limitTypes": {
  1345. "rpm": "Лимит RPM",
  1346. "usd_5h": "Лимит расходов за 5ч",
  1347. "usd_weekly": "Недельный лимит расходов",
  1348. "usd_monthly": "Месячный лимит расходов",
  1349. "concurrent_sessions": "Лимит одновременных сессий",
  1350. "daily_quota": "Дневной лимит квоты"
  1351. }
  1352. },
  1353. "chart": {
  1354. "title": "Хронология событий лимитов",
  1355. "description": "Почасовой тренд событий лимитов",
  1356. "total": "Всего",
  1357. "events": "Событий"
  1358. },
  1359. "breakdown": {
  1360. "title": "Распределение по типам лимитов",
  1361. "description": "Доля событий по типам лимитов",
  1362. "total": "Всего",
  1363. "count": "Событий",
  1364. "percentage": "Доля",
  1365. "noData": "Нет данных",
  1366. "types": {
  1367. "rpm": "RPM",
  1368. "usd_5h": "Расходы 5ч",
  1369. "usd_weekly": "Недельные расходы",
  1370. "usd_monthly": "Месячные расходы",
  1371. "concurrent_sessions": "Одновременные сессии",
  1372. "daily_quota": "Дневная квота"
  1373. }
  1374. },
  1375. "topUsers": {
  1376. "title": "Топ затронутых пользователей",
  1377. "description": "Пользователи, чаще всего попадавшие под лимиты",
  1378. "total": "Всего",
  1379. "rank": "Место",
  1380. "username": "Имя пользователя",
  1381. "eventCount": "Событий",
  1382. "percentage": "Доля",
  1383. "loading": "Загрузка...",
  1384. "noData": "Нет данных"
  1385. }
  1386. },
  1387. "users": {
  1388. "title": "Управление пользователями",
  1389. "description": "Показано {count} пользователей",
  1390. "toolbar": {
  1391. "searchPlaceholder": "Поиск по имени, заметкам, тегам, ключам...",
  1392. "groupFilter": "Фильтр по группе",
  1393. "allGroups": "Все группы",
  1394. "tagFilter": "Фильтр по тегу",
  1395. "allTags": "Все теги",
  1396. "keyGroupFilter": "Группа ключей",
  1397. "allKeyGroups": "Все группы ключей",
  1398. "sortBy": "Сортировка",
  1399. "sortOrder": "Порядок",
  1400. "sortByName": "Имя",
  1401. "sortByTags": "Теги",
  1402. "sortByExpiresAt": "Срок действия",
  1403. "sortByRpm": "Лимит RPM",
  1404. "sortByLimit5h": "Лимит 5 ч",
  1405. "sortByLimitDaily": "Дневной лимит",
  1406. "sortByLimitWeekly": "Недельный лимит",
  1407. "sortByLimitMonthly": "Месячный лимит",
  1408. "sortByCreatedAt": "Дата создания",
  1409. "ascending": "По возрастанию",
  1410. "descending": "По убыванию",
  1411. "statusFilter": "Статус",
  1412. "allStatus": "Все статусы",
  1413. "statusActive": "Активен",
  1414. "statusExpired": "Истек",
  1415. "statusExpiringSoon": "Скоро истечет",
  1416. "statusEnabled": "Включен",
  1417. "statusDisabled": "Отключен",
  1418. "createUser": "Создать пользователя",
  1419. "createKey": "Создать ключ"
  1420. },
  1421. "dialog": {
  1422. "userProviderGroup": "Ваши группы провайдеров",
  1423. "userProviderGroupHint": "Новые ключи могут использовать только ваши существующие группы провайдеров"
  1424. }
  1425. },
  1426. "userManagement": {
  1427. "table": {
  1428. "columns": {
  1429. "username": "Имя пользователя",
  1430. "note": "Примечание",
  1431. "expiresAt": "Дата истечения",
  1432. "expiresAtHint": "Нажмите для быстрого продления",
  1433. "limitRpm": "RPM",
  1434. "limit5h": "Лимит 5 ч",
  1435. "limitDaily": "Дневной лимит",
  1436. "limitWeekly": "Недельный лимит",
  1437. "limitMonthly": "Месячный лимит",
  1438. "limitTotal": "Общий лимит",
  1439. "limitSessions": "Одновременные сессии"
  1440. },
  1441. "keyRow": {
  1442. "name": "Название ключа",
  1443. "key": "Ключ",
  1444. "group": "Группа",
  1445. "todayUsage": "Запросы сегодня",
  1446. "todayCost": "Расход сегодня",
  1447. "todayTokens": "Токены сегодня",
  1448. "lastUsed": "Последнее использование",
  1449. "actions": "Действия",
  1450. "quotaButton": "Просмотр использования квоты",
  1451. "fields": {
  1452. "callsLabel": "Запросы",
  1453. "tokensLabel": "Токены",
  1454. "costLabel": "Расход"
  1455. }
  1456. },
  1457. "expand": "Развернуть",
  1458. "collapse": "Свернуть",
  1459. "refresh": "Обновить",
  1460. "noKeys": "Нет ключей",
  1461. "defaultGroup": "default",
  1462. "userStatus": {
  1463. "disabled": "Отключен"
  1464. },
  1465. "actions": {
  1466. "addKey": "Добавить ключ"
  1467. }
  1468. },
  1469. "keyFullDisplay": {
  1470. "title": "Полный ключ",
  1471. "copySuccess": "Ключ скопирован в буфер обмена",
  1472. "copyFailed": "Не удалось скопировать",
  1473. "show": "Показать ключ",
  1474. "hide": "Скрыть ключ",
  1475. "copied": "Скопировано",
  1476. "copy": "Скопировать ключ"
  1477. },
  1478. "keyStatsDialog": {
  1479. "title": "Статистика моделей за сегодня",
  1480. "columns": {
  1481. "model": "Модель",
  1482. "calls": "Вызовы",
  1483. "tokens": "Токены",
  1484. "cost": "Стоимость"
  1485. },
  1486. "modal": {
  1487. "requests": "Запросов",
  1488. "totalTokens": "Всего токенов",
  1489. "cost": "Стоимость",
  1490. "inputTokens": "Входные токены",
  1491. "outputTokens": "Выходные токены",
  1492. "cacheWrite": "Запись кэша",
  1493. "cacheRead": "Чтение кэша",
  1494. "cacheHitRate": "Попадание кэша",
  1495. "cacheTokens": "Токены кэша",
  1496. "performanceHigh": "Высокий",
  1497. "performanceMedium": "Средний",
  1498. "performanceLow": "Низкий"
  1499. },
  1500. "noData": "Нет записей использования за сегодня",
  1501. "totalCalls": "Всего вызовов",
  1502. "totalCost": "Общий расход"
  1503. },
  1504. "keyQuotaUsageDialog": {
  1505. "title": "Использование квоты ключа",
  1506. "fetchFailed": "Не удалось получить данные квоты",
  1507. "noLimit": "Без лимита",
  1508. "modeFixed": "Фиксированное время",
  1509. "modeRolling": "Скользящие 24ч",
  1510. "retry": "Повторить",
  1511. "labels": {
  1512. "limit5h": "5 часов",
  1513. "limitDaily": "Ежедневно",
  1514. "limitWeekly": "Еженедельно",
  1515. "limitMonthly": "Месячный лимит",
  1516. "limitTotal": "Всего",
  1517. "limitSessions": "Одновременно"
  1518. }
  1519. },
  1520. "quickRenew": {
  1521. "title": "Быстрое продление",
  1522. "description": "Установить новую дату истечения для пользователя {userName}",
  1523. "currentExpiry": "Текущий срок",
  1524. "neverExpires": "Бессрочно",
  1525. "expired": "Истёк",
  1526. "quickExtensionLabel": "Быстрое продление",
  1527. "quickExtensionHint": "Продлить от текущего срока (или от сейчас, если истёк)",
  1528. "customDateLabel": "Указать дату",
  1529. "customDateHint": "Напрямую указать дату истечения",
  1530. "quickOptions": {
  1531. "7days": "7 дней",
  1532. "30days": "30 дней",
  1533. "90days": "90 дней",
  1534. "1year": "1 год"
  1535. },
  1536. "customDate": "Произвольная дата",
  1537. "enableOnRenew": "Также включить пользователя",
  1538. "enableKeyOnRenew": "Также включить ключ",
  1539. "cancel": "Отмена",
  1540. "confirm": "Подтвердить продление",
  1541. "confirming": "Продление...",
  1542. "success": "Продление успешно",
  1543. "failed": "Ошибка продления"
  1544. },
  1545. "dialog": {
  1546. "createKeyTitle": "Создать ключ",
  1547. "editKeyTitle": "Редактировать ключ"
  1548. },
  1549. "editDialog": {
  1550. "title": "Редактировать пользователя",
  1551. "description": "Редактирование данных пользователя",
  1552. "userSection": "Настройки пользователя",
  1553. "keysSection": "Настройки ключей",
  1554. "scrollToKey": "Прокрутить к ключу",
  1555. "saveFailed": "Не удалось сохранить пользователя",
  1556. "keySaveFailed": "Не удалось сохранить ключ",
  1557. "keyDeleteFailed": "Не удалось удалить ключ",
  1558. "saveSuccess": "Изменения сохранены",
  1559. "atLeastOneKeyEnabled": "Необходимо оставить хотя бы один активный ключ",
  1560. "operationFailed": "Операция не удалась",
  1561. "userDisabled": "Пользователь отключен",
  1562. "userEnabled": "Пользователь активирован",
  1563. "deleteFailed": "Не удалось удалить пользователя",
  1564. "userDeleted": "Пользователь удален",
  1565. "saving": "Сохранение...",
  1566. "resetSection": {
  1567. "title": "Параметры сброса"
  1568. },
  1569. "resetLimits": {
  1570. "title": "Сброс лимитов",
  1571. "description": "Сбросить накопленные счетчики расходов для всех лимитов. Логи запросов и статистика сохраняются.",
  1572. "button": "Сбросить лимиты",
  1573. "confirmTitle": "Сбросить только лимиты?",
  1574. "confirmDescription": "Все накопленные счетчики расходов (5ч, дневной, недельный, месячный, общий) будут обнулены. Логи запросов и статистика использования сохранятся.",
  1575. "confirm": "Да, сбросить лимиты",
  1576. "loading": "Сброс...",
  1577. "error": "Не удалось сбросить лимиты",
  1578. "success": "Все лимиты сброшены",
  1579. "lastResetAt": "Последний сброс: {date}"
  1580. },
  1581. "resetData": {
  1582. "title": "Сброс статистики",
  1583. "description": "Удалить все логи запросов и данные использования для этого пользователя. Это действие необратимо.",
  1584. "error": "Не удалось сбросить данные",
  1585. "button": "Сбросить статистику",
  1586. "confirmTitle": "Сбросить всю статистику?",
  1587. "confirmDescription": "Это навсегда удалит все логи запросов и статистику использования для этого пользователя. Это действие нельзя отменить.",
  1588. "confirm": "Да, сбросить все",
  1589. "loading": "Сброс...",
  1590. "success": "Вся статистика сброшена"
  1591. }
  1592. },
  1593. "batchEdit": {
  1594. "enterMode": "Массовое редактирование",
  1595. "exitMode": "Выйти",
  1596. "selectAll": "Выбрать все",
  1597. "selectedCount": "Выбрано {users} пользователей, {keys} ключей",
  1598. "editSelected": "Редактировать выбранное",
  1599. "dialog": {
  1600. "title": "Массовое редактирование",
  1601. "description": "Повлияет на {users} пользователей и {keys} ключей",
  1602. "cancel": "Отмена",
  1603. "next": "Далее",
  1604. "noFieldEnabled": "Включите хотя бы одно поле для замены",
  1605. "noUpdate": "Нет обновлений для выполнения",
  1606. "noSelection": "Сначала выберите пользователей или ключи для массового редактирования."
  1607. },
  1608. "confirm": {
  1609. "title": "Подтвердить массовое обновление",
  1610. "description": "Будут обновлены {users} пользователей и {keys} ключей. Это действие нельзя отменить.",
  1611. "userFields": "Поля пользователя",
  1612. "keyFields": "Поля ключа",
  1613. "goBack": "Вернуться и изменить",
  1614. "update": "Подтвердить обновление",
  1615. "updating": "Обновление..."
  1616. },
  1617. "toast": {
  1618. "usersUpdated": "Обновлено {count} пользователей",
  1619. "keysUpdated": "Обновлено {count} ключей",
  1620. "usersFailed": "Не удалось обновить пользователей: {error}",
  1621. "keysFailed": "Не удалось обновить ключи: {error}",
  1622. "batchFailed": "Массовое обновление не удалось"
  1623. },
  1624. "validation": {
  1625. "invalidNumber": "Введите корректное число",
  1626. "negativeNumber": "Значение не может быть отрицательным"
  1627. },
  1628. "aria": {
  1629. "selectUser": "Выбрать пользователя",
  1630. "selectKey": "Выбрать ключ"
  1631. },
  1632. "user": {
  1633. "title": "Настройки пользователя",
  1634. "affected": "Повлияет на {count} пользователей",
  1635. "enableFieldAria": "Включить поле: {title}",
  1636. "fields": {
  1637. "note": "Заметка",
  1638. "tags": "Теги",
  1639. "rpm": "Лимит RPM",
  1640. "limit5h": "Лимит за 5 часов (USD)",
  1641. "limitDaily": "Дневной лимит (USD)",
  1642. "limitWeekly": "Недельный лимит (USD)",
  1643. "limitMonthly": "Месячный лимит (USD)"
  1644. },
  1645. "placeholders": {
  1646. "emptyToClear": "Оставьте пустым, чтобы очистить",
  1647. "tagsPlaceholder": "Нажмите Enter, чтобы добавить, можно разделять запятыми",
  1648. "emptyNoLimit": "Оставьте пустым для безлимита"
  1649. }
  1650. },
  1651. "key": {
  1652. "title": "Настройки ключа",
  1653. "affected": "Повлияет на {count} ключей",
  1654. "fields": {
  1655. "providerGroup": "Группа (providerGroup)",
  1656. "limit5h": "Лимит за 5 часов (USD)",
  1657. "limitDaily": "Дневной лимит (USD)",
  1658. "limitWeekly": "Недельный лимит (USD)",
  1659. "limitMonthly": "Месячный лимит (USD)",
  1660. "canLoginWebUi": "Независимая страница использования",
  1661. "keyEnabled": "Статус ключа"
  1662. },
  1663. "placeholders": {
  1664. "groupPlaceholder": "Оставьте пустым, чтобы очистить; несколько значений через запятую",
  1665. "emptyNoLimit": "Оставьте пустым для безлимита"
  1666. },
  1667. "targetValue": "Целевое значение"
  1668. }
  1669. },
  1670. "createDialog": {
  1671. "title": "Создать пользователя",
  1672. "description": "Создание нового пользователя и настройка API-ключей",
  1673. "saveFailed": "Не удалось создать пользователя",
  1674. "keyCreateFailed": "Не удалось создать ключ",
  1675. "rollbackFailed": "Не удалось выполнить откат. Возможно, пользователь был создан без ключа. Удалите пользователя вручную (userId: {userId}) и повторите попытку.",
  1676. "createSuccess": "Пользователь создан",
  1677. "successTitle": "Успешно создано",
  1678. "successDescription": "Пользователь и ключ успешно созданы",
  1679. "generatedKey": "Сгенерированный ключ",
  1680. "keyHint": "Вы можете управлять этим ключом на странице управления пользователями (включить/выключить, лимиты и т. д.), но полный ключ показывается только один раз. Скопируйте и сохраните его сейчас.",
  1681. "keysSection": "Ключи",
  1682. "addKey": "Добавить ключ",
  1683. "removeKey": "Удалить ключ",
  1684. "cannotDeleteLastKey": "Нельзя удалить последний ключ",
  1685. "confirmRemoveKeyTitle": "Удалить ключ",
  1686. "confirmRemoveKeyDescription": "Вы уверены, что хотите удалить ключ \"{name}\"?",
  1687. "creating": "Создание...",
  1688. "create": "Создать"
  1689. },
  1690. "limitRules": {
  1691. "addRule": "Добавить правило лимита",
  1692. "title": "Добавить правило лимита",
  1693. "description": "Выберите тип лимита и установите значение",
  1694. "cancel": "Отмена",
  1695. "confirm": "Сохранить",
  1696. "fields": {
  1697. "type": {
  1698. "label": "Тип лимита",
  1699. "placeholder": "Выберите"
  1700. },
  1701. "value": {
  1702. "label": "Значение",
  1703. "placeholder": "Введите"
  1704. }
  1705. },
  1706. "daily": {
  1707. "mode": {
  1708. "label": "Режим дневного сброса",
  1709. "fixed": "Сброс в фиксированное время",
  1710. "rolling": "Скользящее окно (24ч)",
  1711. "helperRolling": "Скользящее окно 24 часа от первого запроса"
  1712. },
  1713. "time": {
  1714. "label": "Время сброса",
  1715. "placeholder": "ЧЧ:мм"
  1716. }
  1717. },
  1718. "limitTypes": {
  1719. "limitRpm": "Лимит RPM",
  1720. "limit5h": "Лимит за 5 часов",
  1721. "limitDaily": "Дневной лимит",
  1722. "limitWeekly": "Недельный лимит",
  1723. "limitMonthly": "Месячный лимит",
  1724. "limitTotal": "Общий лимит",
  1725. "limitSessions": "Одновременные сессии"
  1726. },
  1727. "ruleTypes": {
  1728. "limitRpm": "Лимит RPM",
  1729. "limit5h": "Лимит за 5 часов",
  1730. "limitDaily": "Дневной лимит",
  1731. "limitWeekly": "Недельный лимит",
  1732. "limitMonthly": "Месячный лимит",
  1733. "limitTotal": "Общий лимит",
  1734. "limitSessions": "Одновременные сессии"
  1735. },
  1736. "errors": {
  1737. "missingType": "Пожалуйста, выберите тип лимита",
  1738. "invalidValue": "Пожалуйста, введите корректное значение",
  1739. "invalidTime": "Пожалуйста, введите корректное время (ЧЧ:мм)"
  1740. },
  1741. "overwriteHint": "Этот тип уже существует, сохранение перезапишет существующее значение",
  1742. "dailyMode": {
  1743. "fixed": "Сброс по фиксированному времени",
  1744. "rolling": "Скользящее окно (24ч)"
  1745. },
  1746. "quickValues": {
  1747. "10": "$10",
  1748. "50": "$50",
  1749. "100": "$100",
  1750. "500": "$500",
  1751. "unlimited": "Без ограничений"
  1752. },
  1753. "alreadySet": "Уже настроено",
  1754. "confirmAdd": "Добавить"
  1755. },
  1756. "quickExpire": {
  1757. "oneWeek": "Через неделю",
  1758. "oneMonth": "Через месяц",
  1759. "threeMonths": "Через 3 месяца",
  1760. "oneYear": "Через год"
  1761. },
  1762. "providerGroupSelect": {
  1763. "providersSuffix": "провайдеров",
  1764. "loadFailed": "Не удалось загрузить группы провайдеров"
  1765. },
  1766. "providerGroup": {
  1767. "label": "Группа провайдеров",
  1768. "placeholder": "Выберите группу провайдеров",
  1769. "noRestriction": "Без ограничений (все провайдеры)",
  1770. "providerCount": "{count} провайдеров"
  1771. },
  1772. "dangerZone": {
  1773. "title": "Опасная зона",
  1774. "description": "Следующие действия необратимы, действуйте с осторожностью",
  1775. "enable": {
  1776. "title": "Включить пользователя",
  1777. "description": "После включения этот пользователь и его ключи возобновят нормальную работу",
  1778. "trigger": "Включить",
  1779. "confirm": "Подтвердить включение",
  1780. "confirmDescription": "Вы уверены, что хотите включить пользователя \"{userName}\"?",
  1781. "loading": "Обработка..."
  1782. },
  1783. "disable": {
  1784. "title": "Отключить пользователя",
  1785. "description": "После отключения этот пользователь и его ключи больше не будут работать",
  1786. "trigger": "Отключить",
  1787. "confirm": "Подтвердить отключение",
  1788. "confirmDescription": "Вы уверены, что хотите отключить пользователя \"{userName}\"?",
  1789. "loading": "Обработка..."
  1790. },
  1791. "delete": {
  1792. "title": "Удалить пользователя",
  1793. "description": "Это удалит все связанные данные для этого пользователя, это действие необратимо",
  1794. "trigger": "Удалить",
  1795. "confirm": "Подтвердить удаление",
  1796. "confirmDescription": "Это действие удалит все связанные данные пользователя \"{userName}\" и не может быть отменено.",
  1797. "confirmLabel": "Вторичное подтверждение",
  1798. "confirmHint": "Пожалуйста, введите \"{userName}\" для подтверждения удаления",
  1799. "loading": "Удаление..."
  1800. },
  1801. "actions": {
  1802. "cancel": "Отмена"
  1803. },
  1804. "errors": {
  1805. "enableFailed": "Не удалось включить пользователя, попробуйте позже",
  1806. "disableFailed": "Не удалось отключить пользователя, попробуйте позже",
  1807. "deleteFailed": "Не удалось удалить пользователя, попробуйте позже"
  1808. }
  1809. },
  1810. "limitIndicator": {
  1811. "notSet": "Не задано",
  1812. "unlimited": "Без ограничений"
  1813. },
  1814. "keySettings": {
  1815. "balanceQueryPage": {
  1816. "label": "Включить отдельную страницу проверки баланса",
  1817. "description": "Разрешить пользователю просматривать баланс на отдельной странице",
  1818. "descriptionEnabled": "При включении этот ключ будет использовать независимую страницу личного использования при входе. Однако он не может изменять группу провайдеров собственного ключа.",
  1819. "descriptionDisabled": "При отключении пользователь не сможет получить доступ к странице личного использования. Вместо этого будет использоваться ограниченный Web UI."
  1820. },
  1821. "cacheTtlOverride": {
  1822. "label": "Переопределение Cache TTL",
  1823. "inherit": "Не переопределять (следовать провайдеру/клиенту)",
  1824. "5m": "5 минут",
  1825. "1h": "1 час"
  1826. }
  1827. },
  1828. "pagination": {
  1829. "previous": "Предыдущая",
  1830. "next": "Следующая",
  1831. "page": "Страница {current}",
  1832. "of": "из {total}"
  1833. },
  1834. "toolbar": {
  1835. "expandAll": "Развернуть все",
  1836. "collapseAll": "Свернуть все"
  1837. },
  1838. "keyStatus": {
  1839. "enabled": "Включён",
  1840. "disabled": "Отключён",
  1841. "active": "Активен",
  1842. "expired": "Истёк",
  1843. "expiringSoon": "Скоро истечёт",
  1844. "keyEnabled": "Ключ включён",
  1845. "keyDisabled": "Ключ отключён",
  1846. "toggleKeyStatus": "Переключить статус ключа",
  1847. "clickToDisableKey": "Нажмите, чтобы отключить ключ",
  1848. "clickToEnableKey": "Нажмите, чтобы включить ключ",
  1849. "operationFailed": "Операция не удалась",
  1850. "clickToQuickRenew": "Нажмите для быстрого продления"
  1851. },
  1852. "userStatus": {
  1853. "enabled": "Включён",
  1854. "disabled": "Отключён",
  1855. "active": "Активен",
  1856. "expired": "Истёк",
  1857. "expiringSoon": "Скоро истечёт",
  1858. "userEnabled": "Пользователь включён",
  1859. "userDisabled": "Пользователь отключён",
  1860. "toggleUserStatus": "Переключить статус пользователя",
  1861. "clickToDisableUser": "Нажмите, чтобы отключить пользователя",
  1862. "clickToEnableUser": "Нажмите, чтобы включить пользователя",
  1863. "operationFailed": "Операция не удалась",
  1864. "deleteFailed": "Не удалось удалить",
  1865. "deleteSuccess": "Удаление успешно",
  1866. "daysLeft": "{days, plural, =0 {Истекает сегодня} =1 {Остался 1 день} few {Осталось # дня} many {Осталось # дней} other {Осталось # дней}}"
  1867. },
  1868. "userEditSection": {
  1869. "sections": {
  1870. "basicInfo": "Основная информация",
  1871. "expireTime": "Срок действия",
  1872. "limitRules": "Правила лимитов",
  1873. "accessRestrictions": "Ограничения доступа"
  1874. },
  1875. "fields": {
  1876. "username": {
  1877. "label": "Имя пользователя",
  1878. "placeholder": "Введите имя пользователя"
  1879. },
  1880. "description": {
  1881. "label": "Заметка",
  1882. "placeholder": "Введите заметку (необязательно)",
  1883. "description": "Используется для описания назначения пользователя или примечаний"
  1884. },
  1885. "tags": {
  1886. "label": "Теги пользователя",
  1887. "placeholder": "Введите тег (Enter для добавления)"
  1888. },
  1889. "providerGroup": {
  1890. "label": "Группа провайдеров",
  1891. "placeholder": "default"
  1892. },
  1893. "allowedClients": {
  1894. "label": "Ограничения клиентов",
  1895. "description": "Ограничьте, какие CLI/IDE клиенты могут использовать эту учетную запись. Пусто = без ограничений.",
  1896. "customLabel": "Пользовательские шаблоны клиентов",
  1897. "customPlaceholder": "Введите шаблон (например, 'my-ide', 'codex-*')",
  1898. "customHelp": "Без '*': поиск подстроки без учёта регистра ('-' и '_' игнорируются). С '*': glob-шаблон от начала UA (используйте *foo* для поиска в любом месте; без учёта регистра, символы буквальные)."
  1899. },
  1900. "blockedClients": {
  1901. "label": "Заблокированные клиенты",
  1902. "description": "Клиенты, соответствующие этим шаблонам, будут отклонены, даже если они соответствуют разрешённым.",
  1903. "customLabel": "Пользовательский шаблон блокировки",
  1904. "customPlaceholder": "Введите шаблон (например, 'my-ide', 'codex-*')",
  1905. "customHelp": "Без '*': поиск подстроки без учёта регистра ('-' и '_' игнорируются). С '*': glob-шаблон от начала UA (используйте *foo* для поиска в любом месте; без учёта регистра, символы буквальные)."
  1906. },
  1907. "allowedModels": {
  1908. "label": "Ограничения моделей",
  1909. "placeholder": "Введите название модели или выберите из списка",
  1910. "description": "Ограничить AI модели для пользователя. Пусто = без ограничений."
  1911. },
  1912. "enableStatus": {
  1913. "label": "Статус включения",
  1914. "enabledDescription": "Сейчас включён. При отключении пользователь и его ключи станут недоступны.",
  1915. "disabledDescription": "Сейчас отключён. При включении пользователь и его ключи станут доступны.",
  1916. "confirmDisable": "Подтвердить отключение",
  1917. "confirmEnable": "Подтвердить включение",
  1918. "confirmEnableTitle": "Подтвердить включение пользователя",
  1919. "confirmDisableTitle": "Подтвердить отключение пользователя",
  1920. "confirmEnableDescription": "Включение позволит пользователю и его ключам работать в обычном режиме.",
  1921. "confirmDisableDescription": "Отключение сделает пользователя и его ключи недоступными.",
  1922. "cancel": "Отмена",
  1923. "processing": "Обработка..."
  1924. }
  1925. },
  1926. "actions": {
  1927. "allow": "Разрешить",
  1928. "block": "Блокировать"
  1929. },
  1930. "presetClients": {
  1931. "claude-cli": "Claude Code CLI",
  1932. "gemini-cli": "Gemini CLI",
  1933. "factory-cli": "Droid CLI",
  1934. "codex-cli": "Codex CLI",
  1935. "claude-code": "Claude Code (все)",
  1936. "claude-code-cli": "Claude Code CLI (точное обнаружение)",
  1937. "claude-code-cli-sdk": "Claude Code CLI SDK",
  1938. "claude-code-vscode": "Claude Code VSCode",
  1939. "claude-code-sdk-ts": "Claude Code SDK (TypeScript)",
  1940. "claude-code-sdk-py": "Claude Code SDK (Python)",
  1941. "claude-code-gh-action": "Claude Code GitHub Action"
  1942. },
  1943. "subClients": {
  1944. "all": "Все",
  1945. "cli": "CLI",
  1946. "vscode": "VS Code",
  1947. "sdk-ts": "SDK (TypeScript)",
  1948. "sdk-py": "SDK (Python)",
  1949. "cli-sdk": "CLI SDK",
  1950. "gh-action": "GitHub Action",
  1951. "codex-cli-core": "CLI / TUI",
  1952. "desktop": "Desktop",
  1953. "exec": "Exec"
  1954. },
  1955. "nSelected": "Выбрано: {count}"
  1956. },
  1957. "keyEditSection": {
  1958. "sections": {
  1959. "basicInfo": "Основная информация",
  1960. "expireTime": "Срок действия",
  1961. "limitRules": "Правила лимитов",
  1962. "specialFeatures": "Специальные функции"
  1963. },
  1964. "fields": {
  1965. "keyName": {
  1966. "label": "Название ключа",
  1967. "placeholder": "Введите название ключа"
  1968. },
  1969. "enableStatus": {
  1970. "label": "Статус включения",
  1971. "description": "Отключённые ключи не могут использоваться",
  1972. "cannotDisableTooltip": "Невозможно отключить последний активный ключ"
  1973. },
  1974. "balanceQueryPage": {
  1975. "label": "Независимая страница использования",
  1976. "description": "При включении этот ключ может использовать независимую страницу личного использования",
  1977. "descriptionEnabled": "При включении этот ключ будет использовать независимую страницу личного использования при входе. Однако он не может изменять группу провайдеров собственного ключа.",
  1978. "descriptionDisabled": "При отключении пользователь не сможет получить доступ к странице личного использования. Вместо этого будет использоваться ограниченный Web UI."
  1979. },
  1980. "providerGroup": {
  1981. "label": "Группа провайдеров",
  1982. "placeholder": "По умолчанию: default",
  1983. "selectHint": "Выберите группы провайдеров, доступные для этого ключа",
  1984. "editHint": "Группа провайдеров существующего ключа не может быть изменена",
  1985. "allGroups": "Использовать все группы",
  1986. "noGroupHint": "default включает провайдеров без groupTag."
  1987. },
  1988. "cacheTtl": {
  1989. "label": "Переопределение Cache TTL",
  1990. "description": "Принудительно установить Anthropic prompt cache TTL для запросов с cache_control.",
  1991. "options": {
  1992. "inherit": "Не переопределять (следовать провайдеру/клиенту)",
  1993. "5m": "5m",
  1994. "1h": "1h"
  1995. }
  1996. }
  1997. },
  1998. "limitRules": {
  1999. "title": "Добавить правило лимита",
  2000. "actions": {
  2001. "add": "Добавить правило",
  2002. "remove": "Удалить"
  2003. },
  2004. "daily": {
  2005. "mode": {
  2006. "fixed": "Сброс в фиксированное время",
  2007. "rolling": "Скользящее окно (24ч)"
  2008. }
  2009. },
  2010. "overwriteHint": "Этот тип уже существует, сохранение перезапишет существующее значение"
  2011. },
  2012. "accessRestrictions": {
  2013. "title": "Ограничения доступа",
  2014. "models": "Разрешённые модели",
  2015. "clients": "Разрешённые клиенты",
  2016. "noRestrictions": "Без ограничений",
  2017. "inheritedFromUser": "Унаследовано от настроек пользователя"
  2018. }
  2019. }
  2020. },
  2021. "webhookMigration": {
  2022. "title": "Обновление системы Webhook",
  2023. "description": "Мы запустили новую систему уведомлений Webhook с поддержкой многоцелевой доставки, независимой настройки и улучшенной надежности.",
  2024. "step1": {
  2025. "title": "Обнаружена устаревшая конфигурация Webhook",
  2026. "description": "Система обнаружила, что вы используете устаревшую конфигурацию Webhook. Новая система предлагает более мощные функции, рекомендуем выполнить миграцию."
  2027. },
  2028. "step2": {
  2029. "title": "Выберите тип платформы",
  2030. "description": "Следующие URL-адреса Webhook не удалось автоматически идентифицировать. Пожалуйста, выберите платформу вручную:"
  2031. },
  2032. "platformOptions": {
  2033. "wechat": "WeChat Work",
  2034. "feishu": "Feishu",
  2035. "dingtalk": "DingTalk",
  2036. "telegram": "Telegram",
  2037. "custom": "Пользовательский"
  2038. },
  2039. "migrateButton": "Начать миграцию",
  2040. "skipButton": "Позже",
  2041. "nextButton": "Далее",
  2042. "goToSettingsButton": "Перейти к настройкам",
  2043. "migrating": "Миграция...",
  2044. "success": "Миграция завершена",
  2045. "successDescription": "Ваша конфигурация Webhook успешно перенесена в новую систему.",
  2046. "error": "Ошибка миграции",
  2047. "errorGeneric": "Не удалось выполнить миграцию. Пожалуйста, попробуйте позже.",
  2048. "detectedWebhooks": "Обнаруженные Webhook",
  2049. "notificationTypes": {
  2050. "circuit_breaker": "Оповещение о размыкателе цепи",
  2051. "daily_leaderboard": "Ежедневный рейтинг",
  2052. "cost_alert": "Оповещение о стоимости"
  2053. },
  2054. "urlLabel": "URL Webhook",
  2055. "platformLabel": "Тип платформы",
  2056. "autoDetected": "Автоматически определено",
  2057. "selectPlatform": "Выберите платформу",
  2058. "successStats": "Создано {targets} целей, {bindings} привязок"
  2059. }
  2060. }