quota.json 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354
  1. {
  2. "header": {
  3. "title": "Квоты пользователей",
  4. "role": {
  5. "admin": "Администратор",
  6. "user": "Пользователь"
  7. },
  8. "keysCountSuffix": " ключей",
  9. "rpm": "Ограничение запросов",
  10. "todayCost": "Расходы за сегодня",
  11. "exceededNotice": "Квота превышена, обратитесь к администратору"
  12. },
  13. "countdown": {
  14. "reset": "Обратный отсчет до сброса"
  15. },
  16. "windowType": {
  17. "5h": {
  18. "label": "5-часовое скользящее окно",
  19. "description": "Учет расходов за последние 5 часов, обновляется ежечасно"
  20. },
  21. "weekly": {
  22. "label": "Еженедельный сброс",
  23. "description": "Календарная неделя (сброс в понедельник 00:00), статистика за неделю"
  24. },
  25. "monthly": {
  26. "label": "Ежемесячный сброс",
  27. "description": "Календарный месяц (сброс 1-го числа в 00:00), статистика за месяц"
  28. },
  29. "daily": {
  30. "label": "Ежедневный сброс",
  31. "description": "Календарный день (сброс ежедневно в 00:00), статистика за день"
  32. }
  33. },
  34. "toolbar": {
  35. "searchPlaceholder": "Поиск по имени пользователя или ключу",
  36. "filter": "Фильтр",
  37. "sort": "Сортировка",
  38. "refresh": "Обновить",
  39. "autoRefresh": "Автообновление",
  40. "filterOptions": {
  41. "all": "Все",
  42. "warning": "Предупреждение",
  43. "exceeded": "Превышено"
  44. },
  45. "sortOptions": {
  46. "name": "По имени",
  47. "usage": "По использованию"
  48. },
  49. "interval": {
  50. "10s": "10 сек",
  51. "30s": "30 сек",
  52. "60s": "60 сек"
  53. }
  54. },
  55. "layout": {
  56. "title": "Управление квотами",
  57. "description": "Просмотр и управление использованием квот на всех уровнях",
  58. "tabs": {
  59. "users": "Квоты пользователей",
  60. "keys": "Квоты ключей",
  61. "providers": "Квоты провайдеров"
  62. }
  63. },
  64. "users": {
  65. "title": "Статистика квот пользователей",
  66. "totalCount": "Всего пользователей: {count}",
  67. "manageNotice": "Для управления пользователями и ключами перейдите в",
  68. "manageLink": "Управление пользователями",
  69. "noNote": "Без заметок",
  70. "rpm": {
  71. "label": "RPM квота",
  72. "description": "Запросов в минуту"
  73. },
  74. "dailyCost": {
  75. "label": "Ежедневные расходы",
  76. "resetAt": "Сброс в"
  77. },
  78. "noQuotaData": "Не удалось получить информацию о квоте",
  79. "noMatches": "Пользователи не найдены",
  80. "noData": "Нет данных о пользователях",
  81. "sort": {
  82. "name": "По имени",
  83. "usage": "По использованию"
  84. },
  85. "filter": {
  86. "all": "Все",
  87. "warning": "Приближение к лимиту (>60%)",
  88. "exceeded": "Превышено (≥100%)"
  89. },
  90. "withQuotas": "С квотами",
  91. "unlimited": "Без ограничений",
  92. "totalCost": "Общие расходы",
  93. "totalCostAllTime": "Всего за все время",
  94. "todayCost": "Расходы за сегодня",
  95. "expiresAtLabel": "Срок действия",
  96. "keys": "Ключи",
  97. "more": "ещё",
  98. "noLimitSet": "-",
  99. "noUnlimited": "Нет пользователей без ограничений",
  100. "noKeys": "Нет ключей",
  101. "limit5h": "Лимит 5 часов",
  102. "limitWeekly": "Недельный лимит",
  103. "limitMonthly": "Месячный лимит",
  104. "limitTotal": "Общий лимит",
  105. "limitConcurrent": "Параллельные сессии",
  106. "role": {
  107. "admin": "Администратор",
  108. "user": "Пользователь"
  109. },
  110. "keyStatus": {
  111. "enabled": "Включен",
  112. "disabled": "Отключен"
  113. }
  114. },
  115. "providers": {
  116. "title": "Статистика квот провайдеров",
  117. "totalCount": "Всего провайдеров: {count}",
  118. "filterCount": "Показано {filtered} из {total} провайдеров",
  119. "searchPlaceholder": "Поиск по имени провайдера...",
  120. "status": {
  121. "enabled": "Включен",
  122. "disabled": "Отключен"
  123. },
  124. "card": {
  125. "priority": "Приоритет",
  126. "weight": "Вес"
  127. },
  128. "sort": {
  129. "name": "По имени",
  130. "priority": "По приоритету",
  131. "weight": "По весу",
  132. "usage": "По использованию"
  133. },
  134. "list": {
  135. "resetIn": "Сброс через",
  136. "unlimited": "Неограниченно",
  137. "current": "Текущее",
  138. "limit": "Лимит",
  139. "used": "использовано"
  140. },
  141. "cost5h": {
  142. "label": "Расходы за 5 часов"
  143. },
  144. "costDaily": {
  145. "label": "Ежедневные расходы",
  146. "resetAt": "Сброс в"
  147. },
  148. "costWeekly": {
  149. "label": "Еженедельные расходы",
  150. "resetAt": "Сброс в"
  151. },
  152. "costMonthly": {
  153. "label": "Ежемесячные расходы",
  154. "resetAt": "Сброс в"
  155. },
  156. "concurrentSessions": {
  157. "label": "Параллельные сессии"
  158. },
  159. "noQuotaSet": "Квота не установлена",
  160. "noQuotaData": "Не удалось получить информацию о квоте",
  161. "noMatches": "Провайдеры не найдены",
  162. "noMatchesDesc": "Нет провайдеров, соответствующих вашим критериям поиска. Попробуйте изменить фильтры.",
  163. "noProvidersDesc": "Провайдеры еще не настроены.",
  164. "unlimitedSection": "Провайдеры без квот ({count})"
  165. },
  166. "keys": {
  167. "title": "Статистика квот ключей",
  168. "totalCount": "Всего {users} пользователей, {keys} ключей",
  169. "searchPlaceholder": "Поиск пользователя или ключа...",
  170. "filterLabel": "Фильтры",
  171. "filterCount": "Показано {users} пользователей, {keys} ключей",
  172. "filter": {
  173. "all": "Все ключи",
  174. "keyQuota": "Только квоты ключей",
  175. "userQuotaOnly": "Только квоты пользователей",
  176. "warning": "Предупреждение (≥60%)",
  177. "exceeded": "Превышено (≥100%)"
  178. },
  179. "table": {
  180. "keyName": "Название ключа",
  181. "quotaType": "Тип квоты",
  182. "cost5h": "5-часовая квота",
  183. "costDaily": "Дневная квота",
  184. "costWeekly": "Еженедельная квота",
  185. "costMonthly": "Ежемесячная квота",
  186. "concurrentSessions": "Лимит параллельных",
  187. "status": "Статус",
  188. "actions": "Действия"
  189. },
  190. "quotaType": {
  191. "independent": "Независимая квота",
  192. "inherited": "Унаследовано от пользователя"
  193. },
  194. "status": {
  195. "disabled": "Отключен",
  196. "restricted": "Ограничен",
  197. "normal": "Нормально"
  198. },
  199. "noMatches": "Пользователи или ключи не найдены",
  200. "editDialog": {
  201. "title": "Установить квоту ключа",
  202. "description": "Ключ: {keyName} ({userName})",
  203. "cost5h": {
  204. "label": "5-часовая квота (USD)",
  205. "placeholder": "Неограниченно",
  206. "current": "Использовано: {currency}{current} из {currency}{limit}"
  207. },
  208. "costDaily": {
  209. "label": "Дневная квота (USD)",
  210. "placeholder": "Неограниченно",
  211. "current": "Использовано: {currency}{current} из {currency}{limit}"
  212. },
  213. "dailyResetMode": {
  214. "label": "Режим дневного сброса",
  215. "options": {
  216. "fixed": "Сброс в фиксированное время",
  217. "rolling": "Скользящее окно (24ч)"
  218. },
  219. "desc": {
  220. "fixed": "Сброс квоты в фиксированное время каждый день",
  221. "rolling": "24-часовое скользящее окно от первого запроса"
  222. }
  223. },
  224. "dailyResetTime": {
  225. "label": "Время дневного сброса",
  226. "placeholder": "ЧЧ:мм"
  227. },
  228. "costWeekly": {
  229. "label": "Еженедельная квота (USD)",
  230. "placeholder": "Неограниченно",
  231. "current": "Использовано: {currency}{current} из {currency}{limit}"
  232. },
  233. "costMonthly": {
  234. "label": "Ежемесячная квота (USD)",
  235. "placeholder": "Неограниченно",
  236. "current": "Использовано: {currency}{current} из {currency}{limit}"
  237. },
  238. "concurrentSessions": {
  239. "label": "Квота параллельных сессий",
  240. "placeholder": "0 = без ограничений",
  241. "current": "Текущие параллельные: {current} из {limit}"
  242. },
  243. "clearAll": "Очистить все квоты",
  244. "save": "Сохранить",
  245. "setQuota": "Установить квоту",
  246. "success": "Квота успешно установлена",
  247. "clearSuccess": "Квота очищена",
  248. "error": "Не удалось установить",
  249. "clearError": "Не удалось очистить",
  250. "retryError": "Не удалось установить, попробуйте позже"
  251. },
  252. "editUserDialog": {
  253. "title": "Установить квоту пользователя",
  254. "description": "Пользователь: {userName}",
  255. "rpm": {
  256. "label": "Запросов в минуту (RPM)",
  257. "placeholder": "60",
  258. "current": "Текущее: {current} из {limit} запросов/минуту"
  259. },
  260. "dailyQuota": {
  261. "label": "Ежедневная квота расходов (USD)",
  262. "placeholder": "100",
  263. "current": "Использовано сегодня: {currency}{current} из {currency}{limit}"
  264. },
  265. "save": "Сохранить",
  266. "editQuota": "Редактировать квоту",
  267. "success": "Квота пользователя успешно установлена",
  268. "error": "Не удалось установить",
  269. "retryError": "Не удалось установить, попробуйте позже"
  270. },
  271. "editKeyForm": {
  272. "title": "Редактировать ключ",
  273. "description": "Измените название ключа, срок действия и настройки ограничения трафика.",
  274. "keyName": {
  275. "label": "Название ключа",
  276. "placeholder": "Введите название ключа",
  277. "required": "Название ключа *"
  278. },
  279. "expiresAt": {
  280. "label": "Срок действия",
  281. "placeholder": "Выберите срок действия",
  282. "description": "Оставьте пустым для бессрочного действия"
  283. },
  284. "canLoginWebUi": {
  285. "label": "Включить отдельную страницу проверки баланса",
  286. "description": "Разрешить пользователю просматривать баланс на отдельной странице"
  287. },
  288. "limit5hUsd": {
  289. "label": "Лимит расходов за 5 часов (USD)",
  290. "placeholder": "Оставьте пустым для отсутствия ограничений",
  291. "description": "Максимальная сумма расходов за 5 часов",
  292. "descriptionWithUserLimit": "Не может превышать лимит пользователя ({limit})"
  293. },
  294. "limitDailyUsd": {
  295. "label": "Дневной лимит расходов (USD)",
  296. "placeholder": "Оставьте пустым для отсутствия ограничений",
  297. "description": "Максимальная сумма расходов в день"
  298. },
  299. "dailyResetMode": {
  300. "label": "Режим дневного сброса",
  301. "options": {
  302. "fixed": "Сброс в фиксированное время",
  303. "rolling": "Скользящее окно (24ч)"
  304. },
  305. "desc": {
  306. "fixed": "Сброс квоты в указанное время каждый день",
  307. "rolling": "24-часовое скользящее окно от первого запроса"
  308. }
  309. },
  310. "dailyResetTime": {
  311. "label": "Время дневного сброса",
  312. "placeholder": "ЧЧ:мм",
  313. "description": "Время сброса дневного лимита (используется системный часовой пояс)"
  314. },
  315. "limitWeeklyUsd": {
  316. "label": "Еженедельный лимит расходов (USD)",
  317. "placeholder": "Оставьте пустым для отсутствия ограничений",
  318. "description": "Максимальная сумма расходов в неделю",
  319. "descriptionWithUserLimit": "Не может превышать недельный лимит пользователя ({limit})"
  320. },
  321. "limitMonthlyUsd": {
  322. "label": "Ежемесячный лимит расходов (USD)",
  323. "placeholder": "Оставьте пустым для отсутствия ограничений",
  324. "description": "Максимальная сумма расходов в месяц",
  325. "descriptionWithUserLimit": "Не может превышать месячный лимит пользователя ({limit})"
  326. },
  327. "limitTotalUsd": {
  328. "label": "Общий лимит расходов (USD)",
  329. "placeholder": "Оставьте пустым для отсутствия ограничений",
  330. "description": "Максимальная сумма расходов (без сброса)",
  331. "descriptionWithUserLimit": "Не может превышать общий лимит пользователя ({limit})"
  332. },
  333. "limitConcurrentSessions": {
  334. "label": "Лимит параллельных сессий",
  335. "placeholder": "0 = без ограничений",
  336. "description": "Количество одновременных диалогов",
  337. "descriptionWithUserLimit": "Не может превышать лимит пользователя ({limit})"
  338. },
  339. "providerGroup": {
  340. "label": "Группа провайдеров",
  341. "placeholder": "Введите теги групп провайдеров и нажмите Enter",
  342. "description": "Группы провайдеров для этого ключа (по умолчанию: default).",
  343. "defaultDescription": "default включает провайдеров без groupTag.",
  344. "descriptionWithUserGroup": "Группы провайдеров для этого ключа (группы пользователя: {group}; по умолчанию: default)."
  345. },
  346. "submitText": "Сохранить изменения",
  347. "loadingText": "Сохранение...",
  348. "success": "Ключ успешно обновлен",
  349. "error": "Не удалось обновить ключ",
  350. "retryError": "Не удалось сохранить, попробуйте позже",
  351. "keyInfoMissing": "Информация о ключе отсутствует"
  352. }
  353. }
  354. }