@tracearr/translations 2.2.4-beta.3 → 2.3.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (252) hide show
  1. package/README.md +1 -1
  2. package/dist/config.d.ts +1164 -64
  3. package/dist/config.d.ts.map +1 -1
  4. package/dist/config.mobile.d.ts +1164 -64
  5. package/dist/config.mobile.d.ts.map +1 -1
  6. package/dist/locales/af-ZA/common.json +281 -280
  7. package/dist/locales/af-ZA/notifications.json +238 -218
  8. package/dist/locales/af-ZA/pages.json +1726 -1646
  9. package/dist/locales/af-ZA/settings.json +888 -440
  10. package/dist/locales/ar-SA/common.json +281 -280
  11. package/dist/locales/ar-SA/notifications.json +242 -222
  12. package/dist/locales/ar-SA/pages.json +1684 -1604
  13. package/dist/locales/ar-SA/settings.json +889 -441
  14. package/dist/locales/ca-ES/common.json +281 -280
  15. package/dist/locales/ca-ES/notifications.json +238 -218
  16. package/dist/locales/ca-ES/pages.json +1682 -1602
  17. package/dist/locales/ca-ES/settings.json +888 -440
  18. package/dist/locales/cs-CZ/common.json +281 -280
  19. package/dist/locales/cs-CZ/notifications.json +242 -222
  20. package/dist/locales/cs-CZ/pages.json +1688 -1608
  21. package/dist/locales/cs-CZ/settings.json +889 -441
  22. package/dist/locales/da-DK/common.json +281 -280
  23. package/dist/locales/da-DK/notifications.json +242 -222
  24. package/dist/locales/da-DK/pages.json +1684 -1604
  25. package/dist/locales/da-DK/settings.json +889 -441
  26. package/dist/locales/de-DE/common.json +281 -280
  27. package/dist/locales/de-DE/notifications.json +242 -222
  28. package/dist/locales/de-DE/pages.json +1690 -1610
  29. package/dist/locales/de-DE/settings.json +889 -441
  30. package/dist/locales/el-GR/common.json +281 -280
  31. package/dist/locales/el-GR/notifications.json +242 -222
  32. package/dist/locales/el-GR/pages.json +1684 -1604
  33. package/dist/locales/el-GR/settings.json +889 -441
  34. package/dist/locales/en/notifications.json +26 -6
  35. package/dist/locales/en/pages.json +94 -12
  36. package/dist/locales/en/settings.json +474 -26
  37. package/dist/locales/en-US/common.json +281 -280
  38. package/dist/locales/en-US/notifications.json +242 -222
  39. package/dist/locales/en-US/pages.json +1774 -1694
  40. package/dist/locales/en-US/settings.json +898 -450
  41. package/dist/locales/es-ES/common.json +281 -280
  42. package/dist/locales/es-ES/notifications.json +242 -222
  43. package/dist/locales/es-ES/pages.json +1689 -1609
  44. package/dist/locales/es-ES/settings.json +889 -441
  45. package/dist/locales/fi-FI/common.json +281 -280
  46. package/dist/locales/fi-FI/notifications.json +242 -222
  47. package/dist/locales/fi-FI/pages.json +1684 -1604
  48. package/dist/locales/fi-FI/settings.json +889 -441
  49. package/dist/locales/fr-FR/notifications.json +242 -222
  50. package/dist/locales/fr-FR/pages.json +1698 -1618
  51. package/dist/locales/fr-FR/settings.json +898 -450
  52. package/dist/locales/he-IL/common.json +281 -280
  53. package/dist/locales/he-IL/notifications.json +238 -218
  54. package/dist/locales/he-IL/pages.json +1726 -1646
  55. package/dist/locales/he-IL/settings.json +888 -440
  56. package/dist/locales/hu-HU/common.json +281 -280
  57. package/dist/locales/hu-HU/notifications.json +238 -218
  58. package/dist/locales/hu-HU/pages.json +1726 -1646
  59. package/dist/locales/hu-HU/settings.json +888 -440
  60. package/dist/locales/it-IT/common.json +281 -280
  61. package/dist/locales/it-IT/notifications.json +242 -222
  62. package/dist/locales/it-IT/pages.json +1684 -1604
  63. package/dist/locales/it-IT/settings.json +889 -441
  64. package/dist/locales/ja-JP/common.json +281 -280
  65. package/dist/locales/ja-JP/notifications.json +242 -222
  66. package/dist/locales/ja-JP/pages.json +1684 -1604
  67. package/dist/locales/ja-JP/settings.json +889 -441
  68. package/dist/locales/ko-KR/common.json +281 -281
  69. package/dist/locales/ko-KR/notifications.json +242 -222
  70. package/dist/locales/ko-KR/pages.json +1746 -1666
  71. package/dist/locales/ko-KR/settings.json +898 -450
  72. package/dist/locales/nl-NL/common.json +281 -280
  73. package/dist/locales/nl-NL/notifications.json +242 -222
  74. package/dist/locales/nl-NL/pages.json +1699 -1619
  75. package/dist/locales/nl-NL/settings.json +891 -443
  76. package/dist/locales/no-NO/common.json +281 -280
  77. package/dist/locales/no-NO/notifications.json +242 -222
  78. package/dist/locales/no-NO/pages.json +1684 -1604
  79. package/dist/locales/no-NO/settings.json +889 -441
  80. package/dist/locales/pl-PL/common.json +281 -280
  81. package/dist/locales/pl-PL/notifications.json +242 -222
  82. package/dist/locales/pl-PL/pages.json +1684 -1604
  83. package/dist/locales/pl-PL/settings.json +889 -441
  84. package/dist/locales/pt-BR/common.json +281 -280
  85. package/dist/locales/pt-BR/notifications.json +242 -222
  86. package/dist/locales/pt-BR/pages.json +1725 -1645
  87. package/dist/locales/pt-BR/settings.json +889 -441
  88. package/dist/locales/pt-PT/common.json +281 -280
  89. package/dist/locales/pt-PT/notifications.json +242 -222
  90. package/dist/locales/pt-PT/pages.json +1684 -1604
  91. package/dist/locales/pt-PT/settings.json +889 -441
  92. package/dist/locales/ro-RO/common.json +281 -280
  93. package/dist/locales/ro-RO/notifications.json +242 -222
  94. package/dist/locales/ro-RO/pages.json +1684 -1604
  95. package/dist/locales/ro-RO/settings.json +889 -441
  96. package/dist/locales/ru-RU/common.json +281 -280
  97. package/dist/locales/ru-RU/notifications.json +242 -222
  98. package/dist/locales/ru-RU/pages.json +1684 -1604
  99. package/dist/locales/ru-RU/settings.json +889 -441
  100. package/dist/locales/sr-SP/common.json +281 -280
  101. package/dist/locales/sr-SP/notifications.json +238 -218
  102. package/dist/locales/sr-SP/pages.json +1726 -1646
  103. package/dist/locales/sr-SP/settings.json +888 -440
  104. package/dist/locales/sv-SE/common.json +281 -280
  105. package/dist/locales/sv-SE/notifications.json +242 -222
  106. package/dist/locales/sv-SE/pages.json +1684 -1604
  107. package/dist/locales/sv-SE/settings.json +889 -441
  108. package/dist/locales/tr-TR/common.json +281 -280
  109. package/dist/locales/tr-TR/notifications.json +238 -218
  110. package/dist/locales/tr-TR/pages.json +1726 -1646
  111. package/dist/locales/tr-TR/settings.json +888 -440
  112. package/dist/locales/uk-UA/common.json +13 -12
  113. package/dist/locales/uk-UA/nav.json +17 -23
  114. package/dist/locales/uk-UA/notifications.json +242 -222
  115. package/dist/locales/uk-UA/pages.json +121 -41
  116. package/dist/locales/uk-UA/settings.json +889 -441
  117. package/dist/locales/vi-VN/common.json +281 -280
  118. package/dist/locales/vi-VN/notifications.json +238 -218
  119. package/dist/locales/vi-VN/pages.json +1726 -1646
  120. package/dist/locales/vi-VN/settings.json +888 -440
  121. package/dist/locales/zh-CN/common.json +281 -280
  122. package/dist/locales/zh-CN/notifications.json +242 -222
  123. package/dist/locales/zh-CN/pages.json +1695 -1615
  124. package/dist/locales/zh-CN/settings.json +898 -450
  125. package/dist/locales/zh-TW/common.json +281 -280
  126. package/dist/locales/zh-TW/notifications.json +242 -222
  127. package/dist/locales/zh-TW/pages.json +1804 -1724
  128. package/dist/locales/zh-TW/settings.json +888 -440
  129. package/package.json +1 -1
  130. package/src/locales/af-ZA/common.json +281 -280
  131. package/src/locales/af-ZA/notifications.json +238 -218
  132. package/src/locales/af-ZA/pages.json +1726 -1646
  133. package/src/locales/af-ZA/settings.json +888 -440
  134. package/src/locales/ar-SA/common.json +281 -280
  135. package/src/locales/ar-SA/notifications.json +242 -222
  136. package/src/locales/ar-SA/pages.json +1684 -1604
  137. package/src/locales/ar-SA/settings.json +889 -441
  138. package/src/locales/ca-ES/common.json +281 -280
  139. package/src/locales/ca-ES/notifications.json +238 -218
  140. package/src/locales/ca-ES/pages.json +1682 -1602
  141. package/src/locales/ca-ES/settings.json +888 -440
  142. package/src/locales/cs-CZ/common.json +281 -280
  143. package/src/locales/cs-CZ/notifications.json +242 -222
  144. package/src/locales/cs-CZ/pages.json +1688 -1608
  145. package/src/locales/cs-CZ/settings.json +889 -441
  146. package/src/locales/da-DK/common.json +281 -280
  147. package/src/locales/da-DK/notifications.json +242 -222
  148. package/src/locales/da-DK/pages.json +1684 -1604
  149. package/src/locales/da-DK/settings.json +889 -441
  150. package/src/locales/de-DE/common.json +281 -280
  151. package/src/locales/de-DE/notifications.json +242 -222
  152. package/src/locales/de-DE/pages.json +1690 -1610
  153. package/src/locales/de-DE/settings.json +889 -441
  154. package/src/locales/el-GR/common.json +281 -280
  155. package/src/locales/el-GR/notifications.json +242 -222
  156. package/src/locales/el-GR/pages.json +1684 -1604
  157. package/src/locales/el-GR/settings.json +889 -441
  158. package/src/locales/en/notifications.json +26 -6
  159. package/src/locales/en/pages.json +94 -12
  160. package/src/locales/en/settings.json +474 -26
  161. package/src/locales/en-US/common.json +281 -280
  162. package/src/locales/en-US/notifications.json +242 -222
  163. package/src/locales/en-US/pages.json +1774 -1694
  164. package/src/locales/en-US/settings.json +898 -450
  165. package/src/locales/es-ES/common.json +281 -280
  166. package/src/locales/es-ES/notifications.json +242 -222
  167. package/src/locales/es-ES/pages.json +1689 -1609
  168. package/src/locales/es-ES/settings.json +889 -441
  169. package/src/locales/fi-FI/common.json +281 -280
  170. package/src/locales/fi-FI/notifications.json +242 -222
  171. package/src/locales/fi-FI/pages.json +1684 -1604
  172. package/src/locales/fi-FI/settings.json +889 -441
  173. package/src/locales/fr-FR/notifications.json +242 -222
  174. package/src/locales/fr-FR/pages.json +1698 -1618
  175. package/src/locales/fr-FR/settings.json +898 -450
  176. package/src/locales/he-IL/common.json +281 -280
  177. package/src/locales/he-IL/notifications.json +238 -218
  178. package/src/locales/he-IL/pages.json +1726 -1646
  179. package/src/locales/he-IL/settings.json +888 -440
  180. package/src/locales/hu-HU/common.json +281 -280
  181. package/src/locales/hu-HU/notifications.json +238 -218
  182. package/src/locales/hu-HU/pages.json +1726 -1646
  183. package/src/locales/hu-HU/settings.json +888 -440
  184. package/src/locales/it-IT/common.json +281 -280
  185. package/src/locales/it-IT/notifications.json +242 -222
  186. package/src/locales/it-IT/pages.json +1684 -1604
  187. package/src/locales/it-IT/settings.json +889 -441
  188. package/src/locales/ja-JP/common.json +281 -280
  189. package/src/locales/ja-JP/notifications.json +242 -222
  190. package/src/locales/ja-JP/pages.json +1684 -1604
  191. package/src/locales/ja-JP/settings.json +889 -441
  192. package/src/locales/ko-KR/common.json +281 -281
  193. package/src/locales/ko-KR/notifications.json +242 -222
  194. package/src/locales/ko-KR/pages.json +1746 -1666
  195. package/src/locales/ko-KR/settings.json +898 -450
  196. package/src/locales/nl-NL/common.json +281 -280
  197. package/src/locales/nl-NL/notifications.json +242 -222
  198. package/src/locales/nl-NL/pages.json +1699 -1619
  199. package/src/locales/nl-NL/settings.json +891 -443
  200. package/src/locales/no-NO/common.json +281 -280
  201. package/src/locales/no-NO/notifications.json +242 -222
  202. package/src/locales/no-NO/pages.json +1684 -1604
  203. package/src/locales/no-NO/settings.json +889 -441
  204. package/src/locales/pl-PL/common.json +281 -280
  205. package/src/locales/pl-PL/notifications.json +242 -222
  206. package/src/locales/pl-PL/pages.json +1684 -1604
  207. package/src/locales/pl-PL/settings.json +889 -441
  208. package/src/locales/pt-BR/common.json +281 -280
  209. package/src/locales/pt-BR/notifications.json +242 -222
  210. package/src/locales/pt-BR/pages.json +1725 -1645
  211. package/src/locales/pt-BR/settings.json +889 -441
  212. package/src/locales/pt-PT/common.json +281 -280
  213. package/src/locales/pt-PT/notifications.json +242 -222
  214. package/src/locales/pt-PT/pages.json +1684 -1604
  215. package/src/locales/pt-PT/settings.json +889 -441
  216. package/src/locales/ro-RO/common.json +281 -280
  217. package/src/locales/ro-RO/notifications.json +242 -222
  218. package/src/locales/ro-RO/pages.json +1684 -1604
  219. package/src/locales/ro-RO/settings.json +889 -441
  220. package/src/locales/ru-RU/common.json +281 -280
  221. package/src/locales/ru-RU/notifications.json +242 -222
  222. package/src/locales/ru-RU/pages.json +1684 -1604
  223. package/src/locales/ru-RU/settings.json +889 -441
  224. package/src/locales/sr-SP/common.json +281 -280
  225. package/src/locales/sr-SP/notifications.json +238 -218
  226. package/src/locales/sr-SP/pages.json +1726 -1646
  227. package/src/locales/sr-SP/settings.json +888 -440
  228. package/src/locales/sv-SE/common.json +281 -280
  229. package/src/locales/sv-SE/notifications.json +242 -222
  230. package/src/locales/sv-SE/pages.json +1684 -1604
  231. package/src/locales/sv-SE/settings.json +889 -441
  232. package/src/locales/tr-TR/common.json +281 -280
  233. package/src/locales/tr-TR/notifications.json +238 -218
  234. package/src/locales/tr-TR/pages.json +1726 -1646
  235. package/src/locales/tr-TR/settings.json +888 -440
  236. package/src/locales/uk-UA/common.json +13 -12
  237. package/src/locales/uk-UA/nav.json +17 -23
  238. package/src/locales/uk-UA/notifications.json +242 -222
  239. package/src/locales/uk-UA/pages.json +121 -41
  240. package/src/locales/uk-UA/settings.json +889 -441
  241. package/src/locales/vi-VN/common.json +281 -280
  242. package/src/locales/vi-VN/notifications.json +238 -218
  243. package/src/locales/vi-VN/pages.json +1726 -1646
  244. package/src/locales/vi-VN/settings.json +888 -440
  245. package/src/locales/zh-CN/common.json +281 -280
  246. package/src/locales/zh-CN/notifications.json +242 -222
  247. package/src/locales/zh-CN/pages.json +1695 -1615
  248. package/src/locales/zh-CN/settings.json +898 -450
  249. package/src/locales/zh-TW/common.json +281 -280
  250. package/src/locales/zh-TW/notifications.json +242 -222
  251. package/src/locales/zh-TW/pages.json +1804 -1724
  252. package/src/locales/zh-TW/settings.json +888 -440
@@ -1,504 +1,952 @@
1
1
  {
2
- "title": "Настройки",
3
- "tabs": {
4
- "general": "Общие положения",
5
- "servers": "Серверы",
6
- "notifications": "Уведомления",
7
- "mobile": "Мобильное приложение",
8
- "tailscale": "Хвостовая чешуя",
9
- "import": "Импорт",
10
- "advanced": "Расширенные",
11
- "jobs": "Задания",
12
- "accessControl": "Контроль доступа",
13
- "backup": "Резервное копирование"
2
+ "accessControl": {
3
+ "allowGuestAccess": "Разрешить гостевой доступ",
4
+ "allowGuestAccessDesc": "",
5
+ "description": "Настройте кто может получить доступ к Tracearr",
6
+ "singleOwnerNote": "Примечание: Если гостевой доступ отключен, авторизоваться могут только владелец сервера. Все другие пользователи увидят сообщение \"Отказано в доступе\".",
7
+ "title": "Контроль доступа"
8
+ },
9
+ "account": {
10
+ "createAccount": "Создать Аккаунт",
11
+ "createYourAccount": "Создайте свой аккаунт, чтобы начать",
12
+ "displayName": "Показать имя",
13
+ "email": "Почта",
14
+ "password": "Пароль",
15
+ "signInToAccount": "Войдите в свою учетную запись",
16
+ "useLocalAccount": "Использовать локальную учетную запись"
17
+ },
18
+ "advanced": {
19
+ "connectionScenarios": "Сценарии подключения",
20
+ "externalUrl": "Внешний URL",
21
+ "reverseProxy": "Обратный прокси",
22
+ "title": "Расширенные настройки",
23
+ "trustProxy": "Доверять заголовкам прокси"
24
+ },
25
+ "backup": {
26
+ "actions": "Действия",
27
+ "backToBackups": "Вернуться к резервным копиям",
28
+ "backupHistory": "История резервных копий",
29
+ "createBackup": "Создать резервную копию",
30
+ "creating": "Создание резервной копии...",
31
+ "databaseSize": "Текущий размер базы данных: {{size}}",
32
+ "date": "Дата",
33
+ "dayFri": "Пятница",
34
+ "dayMon": "Понедельник",
35
+ "daySat": "Суббота",
36
+ "daySun": "Воскресенье",
37
+ "dayThu": "Четверг",
38
+ "dayTue": "Вторник",
39
+ "dayWed": "Среда",
40
+ "deleteConfirmDescription": "Вы уверены, что хотите удалить эту резервную копию? Это действие нельзя отменить.",
41
+ "deleteConfirmTitle": "Удалить резервную копию",
42
+ "description": "Резервное копирование и восстановление данных Tracearr",
43
+ "download": "",
44
+ "freeSpace": "Каталог резервных копий свободного места: {{size}}",
45
+ "lowDiskSpace": "Низкое место на диске — резервные копии и восстановления требуют по крайней мере в два раза больше размера базы данных в свободное пространство.",
46
+ "noBackups": "Резервных копий пока нет. Создайте первую резервную копию выше.",
47
+ "restore": {
48
+ "automations": "",
49
+ "cannotRestore": "Для восстановления требуются права суперпользователя PostgreSQL. Пожалуйста, убедитесь, что пользователь базы данных имеет права суперпользователя и повторите попытку.",
50
+ "complete": "Восстановление успешно завершено. Страница будет обновлена в ближайшее время.",
51
+ "confirm": "Начать восстановление",
52
+ "confirmLabel": "Я понимаю, что это заменит все данные",
53
+ "databaseSize": "Размер базы данных",
54
+ "failed": "Не удалось восстановить",
55
+ "libraryItems": "Элементы библиотеки",
56
+ "pgVersionMismatch": "Резервная копия была создана на PostgreSQL {{backupVersion}} , но этот сервер запускает PostgreSQL {{serverVersion}}. Восстановление дампа с новой версии PostgreSQL не поддерживается.",
57
+ "selectedBackup": "Выбранная резервная копия",
58
+ "servers": "Серверы",
59
+ "sessions": "Сессии",
60
+ "tables": "Таблицы",
61
+ "title": "Восстановить резервную копию",
62
+ "tsVersionMismatch": "Резервная копия была создана с TimescaleDB {{backupVersion}} , но этот сервер поддерживает только до TimescaleDB {{serverVersion}}.",
63
+ "users": "Пользователи",
64
+ "warning": "Восстановление заменит все существующие данные. Вам нужно будет заново войти в систему после завершения восстановления."
65
+ },
66
+ "restoreAction": "Восстановить",
67
+ "retentionCount": "Сохранить последний",
68
+ "retentionSuffix": "запланированные резервные копии",
69
+ "rowActions": "",
70
+ "schedule": "Запланированные резервные копии",
71
+ "scheduleDaily": "Ежедневно",
72
+ "scheduleDayOfMonth": "День месяца",
73
+ "scheduleDayOfMonthHint": "В месяцах с меньшим количеством дней, резервная копия работает в последний день.",
74
+ "scheduleDayOfWeek": "День недели",
75
+ "scheduleDisabled": "Отключено",
76
+ "scheduleHour": "",
77
+ "scheduleMinute": "",
78
+ "scheduleMonthly": "Ежемесячно",
79
+ "scheduleTime": "Время ({{timezone}})",
80
+ "scheduleType": "График",
81
+ "scheduleWeekly": "Еженедельно",
82
+ "size": "Размер",
83
+ "title": "Резервное копирование",
84
+ "toast": {
85
+ "backupCreateFailed": "Не удалось создать резервную копию",
86
+ "backupCreated": "Резервная копия успешно создана",
87
+ "backupDeleteFailed": "Не удалось удалить резервную копию",
88
+ "backupDeleted": "Резервная копия удалена",
89
+ "backupUploadFailed": "Не удалось загрузить резервную копию",
90
+ "backupUploaded": "Резервная копия успешно загружена",
91
+ "restoreStartFailed": "Не удалось начать восстановление",
92
+ "restoreStarted": "Восстановление начато",
93
+ "scheduleError": "Не удалось сохранить резервную копию расписания",
94
+ "scheduleSaved": "Расписание резервного копирования сохранено"
95
+ },
96
+ "type": "Тип",
97
+ "typeManual": "Ручной",
98
+ "typeScheduled": "Запланированный",
99
+ "typeUploaded": "Загружено",
100
+ "uploadBackup": "Загрузить резервную копию",
101
+ "uploading": "Загрузка...",
102
+ "version": "Версии"
103
+ },
104
+ "email": {
105
+ "branding": {
106
+ "accent": "",
107
+ "accentPicker": "",
108
+ "description": "",
109
+ "footerText": "",
110
+ "footerTextHelp": "",
111
+ "logo": {
112
+ "label": "",
113
+ "none": "",
114
+ "tracearr": "",
115
+ "url": ""
116
+ },
117
+ "logoUrl": "",
118
+ "mailto": "",
119
+ "mailtoHelp": "",
120
+ "postalAddress": "",
121
+ "postalAddressHelp": "",
122
+ "save": "",
123
+ "saving": "",
124
+ "title": ""
125
+ },
126
+ "ownerOnly": "",
127
+ "suppressions": {
128
+ "add": "",
129
+ "addConfirm": "",
130
+ "addDescription": "",
131
+ "addTitle": "",
132
+ "address": "",
133
+ "empty": "",
134
+ "emptyDescription": "",
135
+ "globalNote": "",
136
+ "openSource": "",
137
+ "reason": {
138
+ "manual": "",
139
+ "unsubscribed": ""
140
+ },
141
+ "remove": "",
142
+ "removeDescription": "",
143
+ "removeTitle": "",
144
+ "title": ""
145
+ }
14
146
  },
15
147
  "general": {
16
- "title": "Общие настройки",
17
- "unitSystem": "Система модулей",
18
- "metric": "Метрика (км, км/ч)",
19
- "imperial": "Имперская (mi, mph)",
20
- "timezone": "",
21
- "primaryAuth": "Метод первичной аутентификации",
22
- "localAccount": "Локальный счет",
23
- "plexAccount": "Аккаунт Plex",
24
- "language": "Язык",
25
- "languageDescription": "Выберите предпочитаемый язык отображения.",
26
- "helpTranslate": "Помогите перевести Tracearr",
27
- "timeFormat": "Формат времени",
28
- "timeFormatDescription": "Выберите, как время отображается.",
29
- "timeFormat12h": "12 часов (1:30 PM)",
30
- "timeFormat24h": "24-часовой (13:30)",
31
- "appearance": "Внешний вид",
32
- "appearanceDesc": "Настройка внешнего вида Tracearr",
33
- "theme": "Тема",
34
148
  "accentColor": "Цвет акцента",
35
- "default": "(по умолчанию)",
36
- "cyanDefault": "* Бирюзовый цвет по умолчанию",
37
- "themeLight": "Светлая",
38
- "themeDark": "Тёмная",
39
- "themeSystem": "Система",
149
+ "apiDocs": "",
150
+ "apiKeyDesc": "Получите доступ к Tracearr API для сторонних интеграций, таких как Homarr, Home Assistant, и т.д.",
151
+ "apiKeyReadAccess": "Ваш ключ API предоставляет полный доступ к чтению данных Tracearr.",
152
+ "apiRateLimit": "",
153
+ "apiRateLimitDesc": "",
154
+ "apiRateLimitSuffix": "",
40
155
  "application": "Приложение",
41
156
  "applicationDesc": "Настройка базовых параметров приложения",
42
- "unitSystemDesc": "",
43
- "sessionSync": "Синхронизация сессий",
44
- "sessionSyncDesc": "",
45
- "syncInterval": "Интервал синхронизации",
46
- "syncIntervalDesc": "",
47
- "syncIntervalSuffix": "сек",
48
- "plexSseNote": "Plex использует Server-Sent Events (SSE) для быстрых обновлений — опрос не требуется.",
49
- "jellyfinPollingNote": "Jellyfin/Emby опрошены с интервалом выше.",
157
+ "copyToClipboard": "Копировать в буфер обмена",
158
+ "cyanDefault": "* Бирюзовый цвет по умолчанию",
159
+ "default": "(по умолчанию)",
160
+ "detect": "Обнаружить",
50
161
  "enhancedGeoIP": "Расширенный поиск GeoIP",
51
162
  "enhancedGeoIPDesc": "Используйте сервис GeoIP Plex для получения более точных данных о местоположении. Когда включено, IP адреса отправляются в plex. v для поиска. Локальная база данных MaxMind используется как резервная копия.",
52
163
  "externalAccess": "Внешний доступ",
53
164
  "externalAccessDesc": "Настройте как внешние устройства (например, мобильные приложения) подключаться к вашему серверу",
54
165
  "externalUrl": "Внешний URL",
55
- "externalUrlPlaceholder": "",
56
166
  "externalUrlDesc": "URL-адрес, который внешние устройства должны использовать для доступа к этому серверу. Используется для подключения QR-кодов и мобильных приложений.",
57
- "detect": "Обнаружить",
58
- "localhostWarning": "URL-адреса локальных хостов не будут работать для внешних устройств. Используйте локальный IP адрес или имя домена.",
167
+ "externalUrlPlaceholder": "",
168
+ "generateApiKeyPrompt": "Создайте API ключ для включения внешней интеграции.",
169
+ "generateKey": "Сгенерировать ключ",
170
+ "helpTranslate": "Помогите перевести Tracearr",
171
+ "imageCache": {
172
+ "ceiling": "",
173
+ "description": "",
174
+ "diskLimited": "",
175
+ "files": "",
176
+ "floor": "",
177
+ "free": "",
178
+ "freeOf": "",
179
+ "lastSweep": "",
180
+ "loadError": "",
181
+ "need": "",
182
+ "needHint": "",
183
+ "never": "",
184
+ "size": "",
185
+ "title": ""
186
+ },
187
+ "imperial": "Имперская (mi, mph)",
59
188
  "iosHttpWarning": "iOS требует HTTPS для внешних подключений. Настройте обратный прокси с помощью SSL.",
60
- "apiKeyDesc": "Получите доступ к Tracearr API для сторонних интеграций, таких как Homarr, Home Assistant, и т.д.",
61
- "apiDocs": "",
189
+ "jellyfinPollingNote": "Jellyfin/Emby опрошены с интервалом выше.",
190
+ "language": "Язык",
191
+ "languageDescription": "Выберите предпочитаемый язык отображения.",
192
+ "localAccount": "Локальный счет",
193
+ "localhostWarning": "URL-адреса локальных хостов не будут работать для внешних устройств. Используйте локальный IP адрес или имя домена.",
194
+ "metric": "Метрика (км, км/ч)",
62
195
  "noApiKeyGenerated": "Ключ API не создан",
63
- "copyToClipboard": "Копировать в буфер обмена",
64
- "apiKeyReadAccess": "Ваш ключ API предоставляет полный доступ к чтению данных Tracearr.",
65
- "generateApiKeyPrompt": "Создайте API ключ для включения внешней интеграции.",
196
+ "plexAccount": "Аккаунт Plex",
197
+ "plexSseNote": "Plex использует Server-Sent Events (SSE) для быстрых обновлений — опрос не требуется.",
198
+ "primaryAuth": "Метод первичной аутентификации",
199
+ "publicApiSettings": "",
200
+ "publicApiSettingsDesc": "",
66
201
  "regenerate": "Восстановить",
67
- "generateKey": "Сгенерировать ключ",
68
202
  "regenerateApiKey": "Пересоздать ключ API?",
69
203
  "regenerateApiKeyDesc": "Это аннулирует ваш текущий ключ API. Любые интеграции, использующие старый ключ, перестанут работать.",
70
- "publicApiSettings": "",
71
- "publicApiSettingsDesc": "",
72
- "watchedThresholdMovie": "",
73
- "watchedThresholdMovieDesc": "",
74
- "watchedThresholdTv": "",
75
- "watchedThresholdTvDesc": "",
76
- "watchedThresholdMusic": "",
77
- "watchedThresholdMusicDesc": "",
78
- "watchedThresholdSuffix": "",
79
- "apiRateLimit": "",
80
- "apiRateLimitDesc": "",
81
- "apiRateLimitSuffix": "",
204
+ "sessionSync": "Синхронизация сессий",
205
+ "sessionSyncDesc": "",
206
+ "syncInterval": "Интервал синхронизации",
207
+ "syncIntervalDesc": "",
208
+ "syncIntervalSuffix": "сек",
209
+ "theme": "Тема",
210
+ "themeDark": "Тёмная",
211
+ "themeLight": "Светлая",
212
+ "themeSystem": "Система",
213
+ "timeFormat": "Формат времени",
214
+ "timeFormat12h": "12 часов (1:30 PM)",
215
+ "timeFormat24h": "24-часовой (13:30)",
216
+ "timeFormatDescription": "Выберите, как время отображается.",
217
+ "timezone": "",
218
+ "title": "Общие настройки",
219
+ "unitSystem": "Система модулей",
220
+ "unitSystemDesc": "",
82
221
  "updateChecks": {
83
- "title": "",
84
222
  "description": "",
85
223
  "plugin": "",
86
224
  "pluginDesc": "",
87
225
  "server": "",
88
- "serverDesc": ""
226
+ "serverDesc": "",
227
+ "title": ""
89
228
  },
90
- "imageCache": {
91
- "title": "",
92
- "description": "",
93
- "size": "",
94
- "files": "",
95
- "need": "",
96
- "needHint": "",
97
- "free": "",
98
- "freeOf": "",
99
- "floor": "",
100
- "ceiling": "",
101
- "lastSweep": "",
102
- "never": "",
103
- "diskLimited": "",
104
- "loadError": ""
105
- }
229
+ "watchedThresholdMovie": "",
230
+ "watchedThresholdMovieDesc": "",
231
+ "watchedThresholdMusic": "",
232
+ "watchedThresholdMusicDesc": "",
233
+ "watchedThresholdSuffix": "",
234
+ "watchedThresholdTv": "",
235
+ "watchedThresholdTvDesc": ""
106
236
  },
107
- "servers": {
108
- "title": "Подключенные серверы",
109
- "addServer": "Добавить сервер",
110
- "serverName": "Имя сервера",
111
- "serverUrl": "URL сервера",
112
- "syncInterval": "Интервал синхронизации",
113
- "testConnection": "Проверить соединение",
114
- "connectionSuccess": "Успешное подключение",
115
- "connectionFailed": "Не удалось подключиться",
116
- "noServersConnected": "Нет подключенных серверов",
117
- "noServersConnectedHint": "Нажмите \"Add Server\", чтобы подключить сервер Jellyfin или Emby",
118
- "serverType": "Тип сервера",
119
- "loadingAccounts": "Загрузка связанных аккаунтов...",
120
- "noPlexAccountsLinked": "Нет привязанных аккаунтов Plex",
121
- "noPlexAccountsLinkedHint": "Привяжите аккаунт Plex выше, а затем вернитесь, чтобы добавить сервер.",
122
- "selectPlexAccount": "Выберите аккаунт Plex",
123
- "chooseAccount": "Выберите аккаунт...",
124
- "selectAccountHelp": "Выберите, с какой учетной записи Plex обнаружить серверы.",
125
- "allServersConnected": "Все серверы подключены",
126
- "allServersConnectedDesc": "Все серверы этой учетной записи уже подключены.",
127
- "serverUrlPlaceholder": "",
128
- "serverUrlHelp": "Прямой URL-адрес вашего Jellyfin или Emby сервера. Используйте IP:порт для лучшей надежности.",
129
- "serverNamePlaceholder": "Мой медиа сервер",
130
- "apiKeyPlaceholder": "Введите ваш API ключ",
131
- "apiKeyHelp": "Найдена в панели управления вашего медиа-сервера под API Keys или Расширенные настройки.",
132
- "connecting": "Подключение...",
133
- "connectServer": "Подключить сервер",
134
- "removeServer": "Удалить сервер",
135
- "removeServerConfirm": "Вы уверены, что хотите удалить этот сервер? Все соответствующие данные сессии будут сохранены, но вы не сможете контролировать новые сеансы с этого сервера.",
136
- "editServer": "Изменить сервер",
137
- "editServerDesc": "Обновить имя сервера или URL-адрес подключения.",
138
- "serverColor": "Цвет сервера",
139
- "serverColorDesc": "Используется для визуального атрибута в многосерверном режиме",
140
- "updating": "Обновление...",
141
- "allFieldsRequired": "Все поля обязательны",
142
- "addServerDialogDescPlex": "Выберите Plex сервер из связанного аккаунта.",
237
+ "import": {
238
+ "apiKeyHelp": "Найдено в настройках Tautulli → Web Интерфейс → API ключ.",
239
+ "apiKeyPlaceholder": "Ваш ключ Tautulli API",
240
+ "checkPlugin": "",
241
+ "checkingPlugin": "",
242
+ "connectToTautulli": "Подключиться к Tautulli",
243
+ "connectedFound": "Подключено! Найдено {{users}} пользователей и записей истории {{records}}.",
244
+ "duplicates": "",
245
+ "enrichMetadata": "Дополнить метаданными медиа (рекомендуется)",
246
+ "enrichMetadataHelp": "Извлекает дополнительные метаданные из вашего медиа-сервера для импортированных сессий.",
247
+ "enriched": "Богатый",
248
+ "errors": "Ошибки",
249
+ "exportBackupHelp": "В Jellystat, перейдите в Настройки → Резервное копирование → Резервное копирование действий для экспорта данных.",
250
+ "exportBackupHint": "Экспорт резервного копирования действий из Jellystat",
251
+ "howItWorks": "Как работает импорт",
252
+ "howItWorksDesc": "Tracearr импортирует все исторические данные из вашего источника. Это может занять некоторое время в зависимости от размера вашей библиотеки.",
253
+ "importComplete": "Импорт завершен",
254
+ "importFailed": "Не удалось импортировать",
255
+ "importFullRange": "",
256
+ "importFullRangeHelp": "",
257
+ "importHistory": "История импорта",
258
+ "importInProgressGeneric": "Идёт импорт...",
259
+ "importInProgressPercent": "Импорт в процессе ({{percent}}% завершено)...",
260
+ "importOptions": "Параметры импорта",
261
+ "importProgress": "Прогресс импорта",
262
+ "imported": "Импортировано",
263
+ "importing": "Импортируем...",
264
+ "includeStreamDetails": "Включать подробные данные потока (кодеки, битрейт, разрешение)",
265
+ "includeStreamDetailsHelp": "Импорт дополнительной информации о потоке. Может значительно увеличить время импорта.",
266
+ "jellyfinEmby": "",
267
+ "jellystat": "Импорт из Jellystat",
268
+ "noServers": "Серверы не подключены",
269
+ "noServersHint": "Для импорта данных необходим по крайней мере один подключенный сервер.",
270
+ "overlapSkipped": "",
271
+ "overwriteFriendlyNames": "Перезаписать существующие дружественные имена с названиями Tautulli",
272
+ "overwriteFriendlyNamesHelp": "Существующие идентификационные имена в Tracearr будут заменены на дружественные имена от Tautulli.",
273
+ "page": "Страница",
274
+ "playbackReporting": "",
275
+ "playbackReportingDesc": "",
276
+ "pleaseEnterDetails": "Пожалуйста, введите Tautulli URL и API ключ",
277
+ "pleaseSelectJsonFile": "Пожалуйста, выберите файл JSON",
278
+ "plex": "Plex (Таулли)",
279
+ "pluginFound": "",
280
+ "pluginNotInstalled": "",
281
+ "processed": "Обработано",
282
+ "recordsMayBeSkipped": "Записи могут быть пропущены, если:",
283
+ "selectJellyfinServer": "Выберите сервер Jellyfin или Emby",
284
+ "selectPlexServer": "Выберите Plex сервер",
285
+ "selectTargetServer": "Выберите целевой сервер",
286
+ "serverTimezone": "",
287
+ "serverTimezoneHelp": "",
288
+ "skipDuplicate": "Повторяющиеся сессии— сессия уже была импортирована ранее.",
289
+ "skipDuplicatePlugin": "",
290
+ "skipInProgress": "Сессия In-progress — Пропущены активные или незавершенные сеансы без идентификатора ссылки.",
291
+ "skipOverlap": "",
292
+ "skipSyncHint": "Если пропущено много записей, убедитесь, что вы недавно синхронизировали ваш сервер в Настройках → Серверах.",
293
+ "skipUserNotFoundJellyfin": "Пользователь не найден — Пользователь Jellyfin/Emby не существует в Tracearr. Синхронизируйте ваш сервер, чтобы добавить всех пользователей.",
294
+ "skipUserNotFoundPlex": "Пользователь не найден — Plex пользователь не существует в Tracearr. Синхронизируйте ваш сервер, чтобы добавить всех пользователей.",
295
+ "skipped": "Пропущено",
296
+ "startImport": "Начать импорт",
297
+ "startingImport": "Запуск импорта...",
298
+ "step1": "",
299
+ "step2": "",
300
+ "targetServer": "",
301
+ "tautulli": "Импорт из Tautulli",
302
+ "tautulliUrl": "URL Tautulli",
303
+ "tautulliUrlHelp": "URL вашего экземпляра Tautulli.",
304
+ "tautulliUrlPlaceholder": "",
305
+ "testing": "Тестирование...",
306
+ "testingConnection": "Проверка соединения...",
307
+ "title": "Импорт данных",
308
+ "updateExistingRecords": "Обновить существующие записи с подробностями потока",
309
+ "updateExistingRecordsHelp": "Раньше импортированные записи будут обновляться с данными качества потока.",
310
+ "uploadJellystatBackup": "Загрузить резервную копию Jellystat",
311
+ "uploadingBackup": "Загрузка файла резервной копии..."
312
+ },
313
+ "ipWarning": {
314
+ "acknowledge": "Понятно",
315
+ "message": "Кажется, все пользователи используют один и тот же IP адрес или локальный сетевой IP-адрес. Это может повлиять на логику, основанную на правилах для определения местоположения или IP-адресов."
316
+ },
317
+ "jobs": {
318
+ "backfill": "Заполнение",
319
+ "cleanup": "Очистить",
320
+ "delayed": "задержка",
321
+ "description": "",
322
+ "errors": "ошибки",
323
+ "jobHistory": "История заданий",
324
+ "jobHistoryDesc": "Последнее выполнение задания по обслуживанию",
325
+ "lastJobCompleted": "Последняя работа успешно завершена",
326
+ "lastJobFailed": "Последняя работа не удалась",
327
+ "mayTakeAWhile": "Это может занять некоторое время",
328
+ "mayTakeAWhileDesc": "Завершение этой работы может занять несколько минут в зависимости от размера вашей библиотеки.",
329
+ "normalization": "Нормализация",
330
+ "processed": "обработано",
331
+ "queued": "в очереди",
332
+ "runConfirm": "Запустить {{name}}?",
333
+ "runJob": "Запустить работу",
334
+ "running": "запущен",
335
+ "runningState": "Выполняется",
336
+ "startJob": "Начать работу",
337
+ "title": "Задания по обслуживанию",
338
+ "unchanged": "без изменений",
339
+ "updated": "обновлено",
340
+ "waiting": "Ожидание"
341
+ },
342
+ "mobile": {
343
+ "addDevice": "Добавить устройство",
344
+ "connectedOn": "",
345
+ "copyToken": "Копировать токен",
346
+ "deviceName": "Имя устройства",
347
+ "deviceNamePlaceholder": "напр. iPhone 15",
348
+ "devicesConnected": "{{current}} устройств {{max}} подключено",
349
+ "disable": "Отключено",
350
+ "disableMobileAccess": "Отключить мобильный доступ",
351
+ "disableMobileAccessConfirm": "Это отключит все мобильные устройства и отменит все сеансы. Вы можете снова включить мобильный доступ позже.",
352
+ "done": "Готово",
353
+ "downloadOnAppStore": "Скачать на App Store",
354
+ "enableMobileAccess": "Включить мобильный доступ",
355
+ "enabling": "Включение...",
356
+ "expiresIn": "Истекает через {{time}}",
357
+ "externalUrlBanner": "Использование обратного прокси или удаленный доступ к нему? Установить",
358
+ "externalUrlBannerLink": "Внешний URL",
359
+ "externalUrlBannerSuffix": "чтобы мобильное приложение могло подключиться к серверу.",
360
+ "externalUrlRequired": "Внешний URL-адрес должен быть настроен в Общие настройки для подключения мобильных устройств.",
361
+ "failedToGenerateToken": "Не удалось сгенерировать токен",
362
+ "generateToken": "Сгенерировать токен пары",
363
+ "getOnGooglePlay": "Получить на Google Play",
364
+ "lastSeen": "",
365
+ "mobileAccessDisabled": "Мобильный доступ отключен",
366
+ "mobileAccessDisabledDesc": "Разрешить мобильный доступ к приложению Tracearr подключаться к серверу.",
367
+ "noDevices": "Устройства не подключены",
368
+ "noDevicesDesc": "",
369
+ "oneTimePairToken": "Одноразовый токен пары",
370
+ "pairDevice": "Соединить устройство",
371
+ "pairNewDevice": "Соединить новое устройство",
372
+ "pairNewDeviceDesc": "Сканируйте QR-код с помощью мобильного приложения Tracearr или введите токен вручную.",
373
+ "pendingTokens": "{{count}} в ожидании парных токенов",
374
+ "removeDevice": "Удалить устройство",
375
+ "removeDeviceConfirm": "Вы уверены, что хотите удалить {{deviceName}}? Это устройство будет необходимо снова подключиться, чтобы восстановить.",
376
+ "renameDevice": "Переименовать устройство",
377
+ "renameDeviceDesc": "Введите имя для идентификации этого устройства в списке.",
378
+ "revokeAll": "Отозвать все сессии",
379
+ "revokeAllConfirm": "Это отключит все мобильные устройства. Для повторного подключения им потребуется подключить снова.",
380
+ "revokeAllSessions": "Отозвать все",
381
+ "scanQrCode": "",
382
+ "title": "Мобильное приложение",
383
+ "tokenExpires": "Токен истекает в {{time}}",
384
+ "tokenExpiryNote": "Этот токен истекает через 5 минут и может быть использован только один раз."
385
+ },
386
+ "nav": {
387
+ "descriptions": {
388
+ "api": "",
389
+ "appearance": "",
390
+ "backup": "",
391
+ "behavior": "",
392
+ "connections": "",
393
+ "destinations": "",
394
+ "email": "",
395
+ "guest": "",
396
+ "import": "",
397
+ "jobs": "",
398
+ "locale": "",
399
+ "mobile": "",
400
+ "newsletters": "",
401
+ "plexAccounts": "",
402
+ "posters": "",
403
+ "remote": ""
404
+ },
405
+ "groups": {
406
+ "access": "",
407
+ "data": "",
408
+ "general": "",
409
+ "notifications": "",
410
+ "servers": ""
411
+ },
412
+ "itemLabel": "",
413
+ "label": "",
414
+ "sections": {
415
+ "api": "",
416
+ "appearance": "",
417
+ "backup": "",
418
+ "behavior": "",
419
+ "connections": "",
420
+ "destinations": "",
421
+ "email": "",
422
+ "guest": "",
423
+ "import": "",
424
+ "jobs": "",
425
+ "locale": "",
426
+ "mobile": "",
427
+ "newsletters": "",
428
+ "plexAccounts": "",
429
+ "posters": "",
430
+ "remote": ""
431
+ },
432
+ "selectLabel": ""
433
+ },
434
+ "newsletters": {
435
+ "addEmailDestination": "",
436
+ "copyOf": "",
437
+ "counts": {
438
+ "albums_one": "",
439
+ "albums_other": "",
440
+ "movies_one": "",
441
+ "movies_other": "",
442
+ "shows_one": "",
443
+ "shows_other": "",
444
+ "watched_one": "",
445
+ "watched_other": ""
446
+ },
447
+ "deleteDescription": "",
448
+ "deleteTitle": "",
449
+ "duplicate": "",
450
+ "editor": {
451
+ "actions": {
452
+ "more": "",
453
+ "preview": "",
454
+ "send": "",
455
+ "sendHint": "",
456
+ "test": "",
457
+ "testHint": ""
458
+ },
459
+ "allLibraries": "",
460
+ "allServers": "",
461
+ "basics": "",
462
+ "clear": "",
463
+ "content": "",
464
+ "cron": "",
465
+ "cronHint": "",
466
+ "dayOfMonth": "",
467
+ "dayOfMonthHelp": "",
468
+ "dayOfWeek": "",
469
+ "days": "",
470
+ "delivery": {
471
+ "destination": "",
472
+ "destinationHelp": "",
473
+ "hostedNeedsUrl": "",
474
+ "imageMode": "",
475
+ "modeHelp": {
476
+ "hosted": "",
477
+ "inline": "",
478
+ "none": ""
479
+ },
480
+ "modePreviewHint": "",
481
+ "modes": {
482
+ "hosted": "",
483
+ "inline": "",
484
+ "none": ""
485
+ },
486
+ "noDestination": "",
487
+ "pickDestination": "",
488
+ "skipWhenEmpty": "",
489
+ "skipWhenEmptyHelp": "",
490
+ "title": ""
491
+ },
492
+ "dstNote": "",
493
+ "enabledHelp": "",
494
+ "fixFirst": "",
495
+ "headerSummary": "",
496
+ "historyNeedsSave": "",
497
+ "intro": "",
498
+ "introPlaceholder": "",
499
+ "kinds": {
500
+ "cron": "",
501
+ "daily": "",
502
+ "monthly": "",
503
+ "weekly": ""
504
+ },
505
+ "libraries": "",
506
+ "librariesHelp": "",
507
+ "librariesSelected": "",
508
+ "links": {
509
+ "tracearr": "",
510
+ "tracearrNote": ""
511
+ },
512
+ "message": "",
513
+ "name": "",
514
+ "nameHelp": "",
515
+ "newTitle": "",
516
+ "nextRun": "",
517
+ "nextRunPending": "",
518
+ "noLibraries": "",
519
+ "noServers": "",
520
+ "notFound": "",
521
+ "outro": "",
522
+ "outroPlaceholder": "",
523
+ "placeholders": {
524
+ "end_date": "",
525
+ "item_count": "",
526
+ "server_name": "",
527
+ "start_date": ""
528
+ },
529
+ "preview": {
530
+ "countsListed": {
531
+ "albums": "",
532
+ "movies": "",
533
+ "shows": ""
534
+ },
535
+ "draft": "",
536
+ "images": "",
537
+ "imagesBlocked": "",
538
+ "imagesBlockedNote": "",
539
+ "imagesOn": "",
540
+ "linksNote": "",
541
+ "recipients": "",
542
+ "subjectLabel": "",
543
+ "title": "",
544
+ "variantTab": "",
545
+ "variants": "",
546
+ "width": "",
547
+ "widths": {
548
+ "desktop": "",
549
+ "phone": ""
550
+ },
551
+ "window": "",
552
+ "windowSince": ""
553
+ },
554
+ "previewVariant_one": "",
555
+ "previewVariant_other": "",
556
+ "readiness": {
557
+ "destination": "",
558
+ "destinationError": "",
559
+ "destinationFail": "",
560
+ "destinationUnknown": "",
561
+ "dns": "",
562
+ "dnsLink": "",
563
+ "emptyVariant": "",
564
+ "externalUrl": "",
565
+ "externalUrlFail": "",
566
+ "externalUrlNotHttps": "",
567
+ "fixDestination": "",
568
+ "fixExternalUrl": "",
569
+ "fixRecipients": "",
570
+ "fromDomain": "",
571
+ "fromDomainFail": "",
572
+ "fromDomainUnknown": "",
573
+ "intro": "",
574
+ "noPublicUrl": "",
575
+ "privatePublicUrl": "",
576
+ "recipientsFail": "",
577
+ "recipientsLoadFailed": "",
578
+ "recipientsUnknown": "",
579
+ "recipients_one": "",
580
+ "recipients_other": "",
581
+ "serverSettingsLink": "",
582
+ "staleScope": "",
583
+ "title": "",
584
+ "variantsLoadFailed": ""
585
+ },
586
+ "recipients": {
587
+ "account": "",
588
+ "addAddress": "",
589
+ "addressLabel": "",
590
+ "badAddress": "",
591
+ "contactEmailFor": "",
592
+ "emptyDescription": "",
593
+ "emptyTitle": "",
594
+ "exclude": "",
595
+ "excludeAction": "",
596
+ "excludedAfterSave": "",
597
+ "excludedCount": "",
598
+ "excludedHelp": "",
599
+ "extraAddress": "",
600
+ "extraAddresses": "",
601
+ "extraAddressesHelp": "",
602
+ "groupsNote": "",
603
+ "include": "",
604
+ "includeAction": "",
605
+ "includedAfterSave": "",
606
+ "loadFailed": "",
607
+ "members": "",
608
+ "membersHelp": "",
609
+ "membersOff": "",
610
+ "membersOffSuppressed": "",
611
+ "nameLabel": "",
612
+ "namePlaceholder": "",
613
+ "noAddress": "",
614
+ "noAddressHelp": "",
615
+ "openUserPage": "",
616
+ "ownerNote": "",
617
+ "reasons": {
618
+ "banned": "",
619
+ "pending": ""
620
+ },
621
+ "removeAddress": "",
622
+ "saveEmail": "",
623
+ "saveFirst": "",
624
+ "saveFirstHelp": "",
625
+ "staleScope": "",
626
+ "suppressed": "",
627
+ "suppressedHeading": "",
628
+ "suppressedHelp": "",
629
+ "title": "",
630
+ "unknownMember": "",
631
+ "willReceive": ""
632
+ },
633
+ "removeLibrary": "",
634
+ "save": "",
635
+ "saving": "",
636
+ "schedule": "",
637
+ "scheduleKind": "",
638
+ "searchLibraries": "",
639
+ "searchServers": "",
640
+ "sections": {
641
+ "description": "",
642
+ "labels": {
643
+ "mostWatched": "",
644
+ "movies": "",
645
+ "music": "",
646
+ "seasons": "",
647
+ "shows": ""
648
+ },
649
+ "legend": "",
650
+ "mostWatched": "",
651
+ "mostWatchedHelp": "",
652
+ "movies": "",
653
+ "music": "",
654
+ "musicHelp": "",
655
+ "shows": "",
656
+ "the": "",
657
+ "units": {
658
+ "albums": "",
659
+ "mostPlayed": "",
660
+ "movies": "",
661
+ "seasonsEach": "",
662
+ "shows": ""
663
+ },
664
+ "upTo": ""
665
+ },
666
+ "send": {
667
+ "confirm": "",
668
+ "nobody": "",
669
+ "previewing": "",
670
+ "sending": "",
671
+ "summary": "",
672
+ "title": "",
673
+ "trimmed_one": "",
674
+ "trimmed_other": ""
675
+ },
676
+ "sendNeedsSave": "",
677
+ "senderName": "",
678
+ "senderNameHelp": "",
679
+ "senderNameRequiredMulti": "",
680
+ "servers": "",
681
+ "serversHelp": "",
682
+ "serversSelected": "",
683
+ "subject": "",
684
+ "subjectHelp": "",
685
+ "tabs": {
686
+ "edit": "",
687
+ "history": ""
688
+ },
689
+ "test": {
690
+ "address": "",
691
+ "description": "",
692
+ "send": "",
693
+ "title": "",
694
+ "variant": ""
695
+ },
696
+ "time": "",
697
+ "timezone": "",
698
+ "timezoneHelp": "",
699
+ "turnOnNow": "",
700
+ "unknownLibrary": "",
701
+ "unsaved": "",
702
+ "variantHeading": "",
703
+ "variantsNote": "",
704
+ "windowHelp": {
705
+ "fixed": "",
706
+ "since_last_send": ""
707
+ },
708
+ "windowKind": "",
709
+ "windowMax": "",
710
+ "windowSentence": {
711
+ "fallback": "",
712
+ "fallbackLabel": "",
713
+ "fixed": "",
714
+ "fixedAfter": "",
715
+ "fixedLabel": ""
716
+ },
717
+ "windows": {
718
+ "fixed": "",
719
+ "since_last_send": ""
720
+ }
721
+ },
722
+ "empty": "",
723
+ "emptyDescription": "",
724
+ "enabled": "",
725
+ "history": {
726
+ "attempts": "",
727
+ "empty": "",
728
+ "emptyDescription": "",
729
+ "finished": "",
730
+ "loadFailed": "",
731
+ "open": "",
732
+ "openSnapshot": "",
733
+ "openVariantSnapshot": "",
734
+ "page": "",
735
+ "pruned": "",
736
+ "recipients": "",
737
+ "recipientsEmpty": "",
738
+ "retryFailed": "",
739
+ "sendTitle": "",
740
+ "snapshotTitle": "",
741
+ "status": {
742
+ "failed": "",
743
+ "queued": "",
744
+ "sent": "",
745
+ "suppressed": "",
746
+ "unknown": ""
747
+ },
748
+ "trigger": {
749
+ "manual": "",
750
+ "schedule": "",
751
+ "test": ""
752
+ },
753
+ "unknownHelp": "",
754
+ "variant": "",
755
+ "variantEmpty": "",
756
+ "window": ""
757
+ },
758
+ "lastSend": "",
759
+ "neverSent": "",
760
+ "new": "",
761
+ "nextRun": "",
762
+ "noDestinationDescription": "",
763
+ "noDestinationHint": "",
764
+ "noDestinationTitle": "",
765
+ "noNextRun": "",
766
+ "outcome": {
767
+ "failed": "",
768
+ "partial": "",
769
+ "rendering": "",
770
+ "sending": "",
771
+ "sent": "",
772
+ "skipped_empty": ""
773
+ },
774
+ "ownerOnly": "",
775
+ "richText": {
776
+ "bold": "",
777
+ "bulletList": "",
778
+ "counter": "",
779
+ "italic": "",
780
+ "link": "",
781
+ "linkApply": "",
782
+ "linkHref": ""
783
+ },
784
+ "rowActions": "",
785
+ "schedule": {
786
+ "cron": "",
787
+ "daily": "",
788
+ "inZone": "",
789
+ "monthly": "",
790
+ "weekly": ""
791
+ },
792
+ "sendNow": ""
793
+ },
794
+ "plex": {
795
+ "chooseServer": "Выберите Plex Media Server для мониторинга",
796
+ "selectServer": "Выбрать сервер",
797
+ "signInWithPlex": "Войти через Plex",
798
+ "signUpWithPlex": "Зарегистрироваться через Plex"
799
+ },
800
+ "serverHealth": {
801
+ "multipleUnreachable": "Сервер {{count}} недоступен: {{serverNames}}",
802
+ "unreachable": "{{serverName}} недоступен"
803
+ },
804
+ "servers": {
805
+ "addServer": "Добавить сервер",
143
806
  "addServerDialogDescOther": "Подключите сервер Jellyfin или Emby.",
807
+ "addServerDialogDescPlex": "Выберите Plex сервер из связанного аккаунта.",
808
+ "added": "Добавлено {{date}}",
809
+ "allFieldsRequired": "Все поля обязательны",
810
+ "allServersConnected": "Все серверы подключены",
811
+ "allServersConnectedDesc": "Все серверы этой учетной записи уже подключены.",
812
+ "apiKeyHelp": "Найдена в панели управления вашего медиа-сервера под API Keys или Расширенные настройки.",
813
+ "apiKeyHelpEmby": "Найти это в Emby Server → API Keys",
814
+ "apiKeyHelpJellyfin": "Найти это в панели управления Jellyfin → API Keys",
815
+ "apiKeyPlaceholder": "Введите ваш API ключ",
816
+ "checkingConnection": "",
817
+ "chooseAccount": "Выберите аккаунт...",
818
+ "connectServer": "Подключить сервер",
819
+ "connecting": "Подключение...",
820
+ "connectionFailed": "Не удалось подключиться",
821
+ "connectionSuccess": "Успешное подключение",
144
822
  "description": "Управление подключенными приложениями Plex, Jellyfin, и Emby серверами",
145
- "discoveringServers": "Поиск доступных серверов Plex...",
146
823
  "discoveringConnections": "Поиск соединений...",
824
+ "discoveringServers": "Поиск доступных серверов Plex...",
825
+ "editServer": "Изменить сервер",
826
+ "editServerDesc": "Обновить имя сервера или URL-адрес подключения.",
827
+ "loadingAccounts": "Загрузка связанных аккаунтов...",
828
+ "noPlexAccountsLinked": "Нет привязанных аккаунтов Plex",
829
+ "noPlexAccountsLinkedHint": "Привяжите аккаунт Plex выше, а затем вернитесь, чтобы добавить сервер.",
830
+ "noServersConnected": "Нет подключенных серверов",
831
+ "noServersConnectedHint": "Нажмите \"Add Server\", чтобы подключить сервер Jellyfin или Emby",
147
832
  "plexAccount": "Аккаунт Plex",
148
- "serverUrlHelpJellyfin": "URL-адрес, на котором доступен ваш сервер Jellyfin",
149
- "serverUrlHelpEmby": "URL-адрес, на котором доступен сервер Emby",
150
- "apiKeyHelpJellyfin": "Найти это в панели управления Jellyfin → API Keys",
151
- "apiKeyHelpEmby": "Найти это в Emby Server → API Keys",
152
833
  "plexServerPlaceholder": "Мой Plex Сервер",
153
834
  "plexServerUrlPlaceholder": "",
154
- "updateHint": "Или нажмите кнопку Обновить ниже, чтобы сохранить только изменение имени.",
155
- "added": "Добавлено {{date}}",
156
- "realtimeActive": "",
157
- "pollingMode": "",
158
- "setupRealtime": "",
159
- "realtimeError": "",
160
- "checkingConnection": "",
161
- "pluginVersion": "",
162
835
  "pluginUpdateAvailable": "",
163
- "realtimeDialog": {
836
+ "pluginVersion": "",
837
+ "pollingMode": "",
838
+ "posterSource": {
839
+ "automatic": "",
840
+ "description": "",
841
+ "emptyHint": "",
842
+ "label": "",
843
+ "ownerOnly": "",
164
844
  "title": "",
165
- "updateTitle": "",
166
- "jellyfinDescription": "",
167
- "embyDescription": "",
168
- "jellyfinUpdateDescription": "",
169
- "embyUpdateDescription": "",
170
- "repositoryUrl": "",
171
- "copyUrl": "",
172
- "jellyfinRepoUrl": "",
173
- "embyReleasesUrl": "",
174
- "openReleases": "",
845
+ "titleDesc": ""
846
+ },
847
+ "publicUrl": "",
848
+ "publicUrlHint": "",
849
+ "realtimeActive": "",
850
+ "realtimeDialog": {
175
851
  "autoDetectNote": "",
176
852
  "close": "",
853
+ "copyUrl": "",
854
+ "embyDescription": "",
855
+ "embyReleasesUrl": "",
856
+ "embyUpdateDescription": "",
177
857
  "issueBlocked": "",
858
+ "issueMalfunctioned": "",
178
859
  "issueRestartRequired": "",
179
- "issueMalfunctioned": ""
180
- },
181
- "posterSource": {
860
+ "jellyfinDescription": "",
861
+ "jellyfinRepoUrl": "",
862
+ "jellyfinUpdateDescription": "",
863
+ "openReleases": "",
864
+ "repositoryUrl": "",
182
865
  "title": "",
183
- "titleDesc": "",
184
- "label": "",
185
- "description": "",
186
- "automatic": "",
187
- "emptyHint": ""
866
+ "updateTitle": ""
188
867
  },
868
+ "realtimeError": "",
869
+ "removeServer": "Удалить сервер",
870
+ "removeServerConfirm": "Вы уверены, что хотите удалить этот сервер? Все соответствующие данные сессии будут сохранены, но вы не сможете контролировать новые сеансы с этого сервера.",
871
+ "reorder": "",
872
+ "selectAccountHelp": "Выберите, с какой учетной записи Plex обнаружить серверы.",
873
+ "selectPlexAccount": "Выберите аккаунт Plex",
874
+ "serverColor": "Цвет сервера",
875
+ "serverColorDesc": "Используется для визуального атрибута в многосерверном режиме",
876
+ "serverName": "Имя сервера",
877
+ "serverNamePlaceholder": "Мой медиа сервер",
878
+ "serverType": "Тип сервера",
879
+ "serverUrl": "URL сервера",
880
+ "serverUrlHelp": "Прямой URL-адрес вашего Jellyfin или Emby сервера. Используйте IP:порт для лучшей надежности.",
881
+ "serverUrlHelpEmby": "URL-адрес, на котором доступен сервер Emby",
882
+ "serverUrlHelpJellyfin": "URL-адрес, на котором доступен ваш сервер Jellyfin",
883
+ "serverUrlPlaceholder": "",
884
+ "setupRealtime": "",
885
+ "syncInterval": "Интервал синхронизации",
886
+ "testConnection": "Проверить соединение",
887
+ "title": "Подключенные серверы",
888
+ "updateHint": "Или нажмите кнопку Обновить ниже, чтобы сохранить только изменение имени.",
889
+ "updating": "Обновление...",
189
890
  "version": {
190
891
  "installed": "",
191
892
  "upToDate": "",
192
893
  "updateAvailable": ""
193
894
  }
194
895
  },
195
- "mobile": {
196
- "title": "Мобильное приложение",
197
- "pairDevice": "Соединить устройство",
198
- "connectedDevices": "Подключенные устройства",
199
- "generateToken": "Сгенерировать токен пары",
200
- "scanQrCode": "",
201
- "tokenExpires": "Токен истекает в {{time}}",
202
- "noDevices": "Устройства не подключены",
203
- "revokeAll": "Отозвать все сессии",
204
- "getTheApp": "Скачать приложение",
205
- "getTheAppDesc": "Скачайте мобильное приложение Tracearr для iOS или Android",
206
- "getOnGooglePlay": "Получить на Google Play",
207
- "downloadOnAppStore": "Скачать на App Store",
208
- "pairYourDevice": "Соедините ваше устройство",
209
- "pairYourDeviceDesc": "",
210
- "externalUrlRequired": "Внешний URL-адрес должен быть настроен в Общие настройки для подключения мобильных устройств.",
211
- "mobileAccessDisabled": "Мобильный доступ отключен",
212
- "mobileAccessDisabledDesc": "Разрешить мобильный доступ к приложению Tracearr подключаться к серверу.",
213
- "enableMobileAccess": "Включить мобильный доступ",
214
- "enabling": "Включение...",
215
- "devicesConnected": "{{current}} устройств {{max}} подключено",
216
- "pendingTokens": "{{count}} в ожидании парных токенов",
217
- "addDevice": "Добавить устройство",
218
- "disableMobileAccess": "Отключить мобильный доступ",
219
- "connectedDevicesDesc": "Устройства {{count}} в паре с вашим сервером",
220
- "revokeAllSessions": "Отозвать все",
221
- "pairNewDevice": "Соединить новое устройство",
222
- "pairNewDeviceDesc": "Сканируйте QR-код с помощью мобильного приложения Tracearr или введите токен вручную.",
223
- "expiresIn": "Истекает через {{time}}",
224
- "oneTimePairToken": "Одноразовый токен пары",
225
- "copyToken": "Копировать токен",
226
- "tokenExpiryNote": "Этот токен истекает через 5 минут и может быть использован только один раз.",
227
- "done": "Готово",
228
- "disableMobileAccessConfirm": "Это отключит все мобильные устройства и отменит все сеансы. Вы можете снова включить мобильный доступ позже.",
229
- "disable": "Отключено",
230
- "revokeAllConfirm": "Это отключит все мобильные устройства. Для повторного подключения им потребуется подключить снова.",
231
- "renameDevice": "Переименовать устройство",
232
- "renameDeviceDesc": "Введите имя для идентификации этого устройства в списке.",
233
- "deviceName": "Имя устройства",
234
- "deviceNamePlaceholder": "напр. iPhone 15",
235
- "removeDevice": "Удалить устройство",
236
- "failedToGenerateToken": "Не удалось сгенерировать токен",
237
- "removeDeviceConfirm": "Вы уверены, что хотите удалить {{deviceName}}? Это устройство будет необходимо снова подключиться, чтобы восстановить.",
238
- "externalUrlBanner": "Использование обратного прокси или удаленный доступ к нему? Установить",
239
- "externalUrlBannerLink": "Внешний URL",
240
- "externalUrlBannerSuffix": "чтобы мобильное приложение могло подключиться к серверу."
896
+ "shared": {
897
+ "timezone": {
898
+ "empty": "",
899
+ "other": "",
900
+ "placeholder": "",
901
+ "search": ""
902
+ }
241
903
  },
242
904
  "tailscale": {
243
- "title": "VPN-чешуя",
244
- "description": "",
245
- "notAvailable": "Бинарный файл Tailscale не найден. Эта функция доступна только при запуске официального образа Docker.",
246
- "disabledDescription": "Включите Tailscale для того, чтобы Tracearr использовал ваш частный адаптер. Пересылка портов или обратный прокси не требуется.",
247
- "hostnameLabel": "Имя устройства",
248
- "hostnameHint": "Необязательное настраиваемое имя для этого устройства только на ваш хвост. Только буквы, цифры и дефисы.",
249
- "enable": "Включить масштаб хвоста",
250
- "disable": "Отключить хвостовую шкалу",
251
- "starting": "Запуск тайл...",
252
- "stopping": "Остановка хвостовой шкалы...",
253
- "awaitingAuth": "Ожидание подтверждения...",
254
905
  "authorize": "Авторизоваться в хвостовой шкале",
906
+ "awaitingAuth": "Ожидание подтверждения...",
255
907
  "connected": "Tailscale подключен. Ваш экземпляр Tracearr доступен в портсете.",
256
- "hostname": "",
908
+ "description": "",
909
+ "disable": "Отключить хвостовую шкалу",
910
+ "disableConfirmDescription": "Это отключит Tracearr от вашего портсета. Вы можете снова включить без повторной авторизации.",
911
+ "disableConfirmTitle": "Отключить Tailscale?",
912
+ "disabledDescription": "Включите Tailscale для того, чтобы Tracearr использовал ваш частный адаптер. Пересылка портов или обратный прокси не требуется.",
257
913
  "dnsName": "DNS Имя",
258
- "tailnetUrl": "",
259
- "showLogs": "Показать логи",
260
- "hideLogs": "Скрыть журналы",
261
- "noLogs": "Нет доступных журналов.",
914
+ "enable": "Включить масштаб хвоста",
262
915
  "exitNodeNone": "Нет",
263
916
  "exitNodeOffline": "(оффлайн)",
264
- "unknownError": "Произошла неизвестная ошибка.",
265
- "disableConfirmTitle": "Отключить Tailscale?",
266
- "disableConfirmDescription": "Это отключит Tracearr от вашего портсета. Вы можете снова включить без повторной авторизации.",
267
- "resetConfirmTitle": "",
917
+ "hideLogs": "Скрыть журналы",
918
+ "hostname": "",
919
+ "hostnameHint": "Необязательное настраиваемое имя для этого устройства только на ваш хвост. Только буквы, цифры и дефисы.",
920
+ "hostnameLabel": "Имя устройства",
921
+ "noLogs": "Нет доступных журналов.",
922
+ "notAvailable": "Бинарный файл Tailscale не найден. Эта функция доступна только при запуске официального образа Docker.",
268
923
  "resetConfirmDescription": "Это отключит Tracearr от вашей сети и удалит идентификацию устройства. Вам нужно будет повторно авторизоваться, если вы включите его снова.",
924
+ "resetConfirmTitle": "",
925
+ "showLogs": "Показать логи",
926
+ "starting": "Запуск тайл...",
927
+ "stopping": "Остановка хвостовой шкалы...",
928
+ "tailnetUrl": "",
929
+ "title": "VPN-чешуя",
269
930
  "toast": {
931
+ "disableFailed": "Не удалось отключить Tailscale",
270
932
  "disabled": "Шкала хвостовых тканей отключена.",
271
933
  "enableFailed": "Не удалось включить Tailscale",
272
- "disableFailed": "Не удалось отключить Tailscale",
273
- "reset": "Хвостовая чешуя была сброшена.",
274
- "resetFailed": "Не удалось сбросить Tailscale",
934
+ "exitNodeFailed": "Не удалось установить узел",
275
935
  "exitNodeSet": "Узел выхода обновлен.",
276
- "exitNodeFailed": "Не удалось установить узел"
277
- }
278
- },
279
- "jobs": {
280
- "title": "Задания по обслуживанию",
281
- "description": "",
282
- "normalization": "Нормализация",
283
- "backfill": "Заполнение",
284
- "cleanup": "Очистить",
285
- "running": "запущен",
286
- "queued": "в очереди",
287
- "delayed": "задержка",
288
- "waiting": "Ожидание",
289
- "runningState": "Выполняется",
290
- "runJob": "Запустить работу",
291
- "processed": "обработано",
292
- "updated": "обновлено",
293
- "unchanged": "без изменений",
294
- "errors": "ошибки",
295
- "lastJobCompleted": "Последняя работа успешно завершена",
296
- "lastJobFailed": "Последняя работа не удалась",
297
- "jobHistory": "История заданий",
298
- "jobHistoryDesc": "Последнее выполнение задания по обслуживанию",
299
- "runConfirm": "Запустить {{name}}?",
300
- "mayTakeAWhile": "Это может занять некоторое время",
301
- "mayTakeAWhileDesc": "Завершение этой работы может занять несколько минут в зависимости от размера вашей библиотеки.",
302
- "startJob": "Начать работу"
303
- },
304
- "advanced": {
305
- "title": "Расширенные настройки",
306
- "externalUrl": "Внешний URL",
307
- "trustProxy": "Доверять заголовкам прокси",
308
- "reverseProxy": "Обратный прокси",
309
- "connectionScenarios": "Сценарии подключения"
310
- },
311
- "accessControl": {
312
- "title": "Контроль доступа",
313
- "description": "Настройте кто может получить доступ к Tracearr",
314
- "allowGuestAccess": "Разрешить гостевой доступ",
315
- "allowGuestAccessDesc": "",
316
- "singleOwnerNote": "Примечание: Если гостевой доступ отключен, авторизоваться могут только владелец сервера. Все другие пользователи увидят сообщение \"Отказано в доступе\"."
317
- },
318
- "import": {
319
- "title": "Импорт данных",
320
- "jellystat": "Импорт из Jellystat",
321
- "tautulli": "Импорт из Tautulli",
322
- "importProgress": "Прогресс импорта",
323
- "importComplete": "Импорт завершен",
324
- "importFailed": "Не удалось импортировать",
325
- "processed": "Обработано",
326
- "page": "Страница",
327
- "imported": "Импортировано",
328
- "skipped": "Пропущено",
329
- "enriched": "Богатый",
330
- "errors": "Ошибки",
331
- "noServers": "Серверы не подключены",
332
- "noServersHint": "Для импорта данных необходим по крайней мере один подключенный сервер.",
333
- "tautulliUrl": "URL Tautulli",
334
- "tautulliUrlPlaceholder": "",
335
- "tautulliUrlHelp": "URL вашего экземпляра Tautulli.",
336
- "apiKeyHelp": "Найдено в настройках Tautulli → Web Интерфейс → API ключ.",
337
- "testing": "Тестирование...",
338
- "connectToTautulli": "Подключиться к Tautulli",
339
- "importHistory": "История импорта",
340
- "targetServer": "",
341
- "selectPlexServer": "Выберите Plex сервер",
342
- "overwriteFriendlyNames": "Перезаписать существующие дружественные имена с названиями Tautulli",
343
- "overwriteFriendlyNamesHelp": "Существующие идентификационные имена в Tracearr будут заменены на дружественные имена от Tautulli.",
344
- "includeStreamDetails": "Включать подробные данные потока (кодеки, битрейт, разрешение)",
345
- "includeStreamDetailsHelp": "Импорт дополнительной информации о потоке. Может значительно увеличить время импорта.",
346
- "importing": "Импортируем...",
347
- "startImport": "Начать импорт",
348
- "howItWorks": "Как работает импорт",
349
- "howItWorksDesc": "Tracearr импортирует все исторические данные из вашего источника. Это может занять некоторое время в зависимости от размера вашей библиотеки.",
350
- "recordsMayBeSkipped": "Записи могут быть пропущены, если:",
351
- "selectTargetServer": "Выберите целевой сервер",
352
- "selectJellyfinServer": "Выберите сервер Jellyfin или Emby",
353
- "uploadJellystatBackup": "Загрузить резервную копию Jellystat",
354
- "exportBackupHint": "Экспорт резервного копирования действий из Jellystat",
355
- "exportBackupHelp": "В Jellystat, перейдите в Настройки → Резервное копирование → Резервное копирование действий для экспорта данных.",
356
- "importOptions": "Параметры импорта",
357
- "enrichMetadata": "Дополнить метаданными медиа (рекомендуется)",
358
- "enrichMetadataHelp": "Извлекает дополнительные метаданные из вашего медиа-сервера для импортированных сессий.",
359
- "updateExistingRecords": "Обновить существующие записи с подробностями потока",
360
- "updateExistingRecordsHelp": "Раньше импортированные записи будут обновляться с данными качества потока.",
361
- "pleaseEnterDetails": "Пожалуйста, введите Tautulli URL и API ключ",
362
- "testingConnection": "Проверка соединения...",
363
- "pleaseSelectJsonFile": "Пожалуйста, выберите файл JSON",
364
- "uploadingBackup": "Загрузка файла резервной копии...",
365
- "importHistoryDesc": "Импортировать исторические наблюдения из внешних источников",
366
- "plex": "Plex (Таулли)",
367
- "jellyfinEmby": "",
368
- "step1": "",
369
- "step2": "",
370
- "apiKeyPlaceholder": "Ваш ключ Tautulli API",
371
- "skipUserNotFoundPlex": "Пользователь не найден — Plex пользователь не существует в Tracearr. Синхронизируйте ваш сервер, чтобы добавить всех пользователей.",
372
- "skipDuplicate": "Повторяющиеся сессии— сессия уже была импортирована ранее.",
373
- "skipInProgress": "Сессия In-progress — Пропущены активные или незавершенные сеансы без идентификатора ссылки.",
374
- "skipUserNotFoundJellyfin": "Пользователь не найден — Пользователь Jellyfin/Emby не существует в Tracearr. Синхронизируйте ваш сервер, чтобы добавить всех пользователей.",
375
- "skipSyncHint": "Если пропущено много записей, убедитесь, что вы недавно синхронизировали ваш сервер в Настройках → Серверах.",
376
- "importInProgressPercent": "Импорт в процессе ({{percent}}% завершено)...",
377
- "importInProgressGeneric": "Идёт импорт...",
378
- "startingImport": "Запуск импорта...",
379
- "connectedFound": "Подключено! Найдено {{users}} пользователей и записей истории {{records}}.",
380
- "playbackReporting": "",
381
- "playbackReportingDesc": "",
382
- "checkPlugin": "",
383
- "checkingPlugin": "",
384
- "pluginFound": "",
385
- "pluginNotInstalled": "",
386
- "serverTimezone": "",
387
- "serverTimezoneHelp": "",
388
- "importFullRange": "",
389
- "importFullRangeHelp": "",
390
- "overlapSkipped": "",
391
- "duplicates": "",
392
- "skipOverlap": "",
393
- "skipDuplicatePlugin": ""
394
- },
395
- "plex": {
396
- "signInWithPlex": "Войти через Plex",
397
- "signUpWithPlex": "Зарегистрироваться через Plex",
398
- "selectServer": "Выбрать сервер",
399
- "chooseServer": "Выберите Plex Media Server для мониторинга"
400
- },
401
- "account": {
402
- "createAccount": "Создать Аккаунт",
403
- "email": "Почта",
404
- "password": "Пароль",
405
- "displayName": "Показать имя",
406
- "createYourAccount": "Создайте свой аккаунт, чтобы начать",
407
- "signInToAccount": "Войдите в свою учетную запись",
408
- "useLocalAccount": "Использовать локальную учетную запись"
936
+ "reset": "Хвостовая чешуя была сброшена.",
937
+ "resetFailed": "Не удалось сбросить Tailscale"
938
+ },
939
+ "unknownError": "Произошла неизвестная ошибка."
409
940
  },
941
+ "title": "Настройки",
410
942
  "update": {
411
- "title": "Доступно обновление",
412
- "releaseNotes": "Примечания к выпуску",
413
- "updateCommand": "Обновить команду",
414
- "pullInstructions": "После загрузки перезагрузите контейнер, чтобы применить обновление.",
415
- "stableRelease": "Стабильный выпуск",
416
943
  "betaUpdate": "Бета обновление",
417
944
  "newVersion": "Новая версия",
945
+ "pullInstructions": "После загрузки перезагрузите контейнер, чтобы применить обновление.",
946
+ "releaseNotes": "Примечания к выпуску",
947
+ "stableRelease": "Стабильный выпуск",
948
+ "title": "Доступно обновление",
949
+ "updateCommand": "Обновить команду",
418
950
  "versionAvailable": "Доступно {{version}}"
419
- },
420
- "serverHealth": {
421
- "unreachable": "{{serverName}} недоступен",
422
- "multipleUnreachable": "Сервер {{count}} недоступен: {{serverNames}}"
423
- },
424
- "ipWarning": {
425
- "message": "Кажется, все пользователи используют один и тот же IP адрес или локальный сетевой IP-адрес. Это может повлиять на логику, основанную на правилах для определения местоположения или IP-адресов.",
426
- "acknowledge": "Понятно"
427
- },
428
- "backup": {
429
- "title": "Резервное копирование",
430
- "backToBackups": "Вернуться к резервным копиям",
431
- "description": "Резервное копирование и восстановление данных Tracearr",
432
- "createBackup": "Создать резервную копию",
433
- "creating": "Создание резервной копии...",
434
- "uploadBackup": "Загрузить резервную копию",
435
- "uploading": "Загрузка...",
436
- "databaseSize": "Текущий размер базы данных: {{size}}",
437
- "freeSpace": "Каталог резервных копий свободного места: {{size}}",
438
- "lowDiskSpace": "Низкое место на диске — резервные копии и восстановления требуют по крайней мере в два раза больше размера базы данных в свободное пространство.",
439
- "backupHistory": "История резервных копий",
440
- "noBackups": "Резервных копий пока нет. Создайте первую резервную копию выше.",
441
- "filename": "Имя файла",
442
- "size": "Размер",
443
- "date": "Дата",
444
- "type": "Тип",
445
- "version": "Версии",
446
- "actions": "Действия",
447
- "typeManual": "Ручной",
448
- "typeScheduled": "Запланированный",
449
- "typeUploaded": "Загружено",
450
- "restoreAction": "Восстановить",
451
- "deleteConfirmTitle": "Удалить резервную копию",
452
- "deleteConfirmDescription": "Вы уверены, что хотите удалить эту резервную копию? Это действие нельзя отменить.",
453
- "schedule": "Запланированные резервные копии",
454
- "scheduleType": "График",
455
- "scheduleDisabled": "Отключено",
456
- "scheduleDaily": "Ежедневно",
457
- "scheduleWeekly": "Еженедельно",
458
- "scheduleMonthly": "Ежемесячно",
459
- "scheduleTime": "Время ({{timezone}})",
460
- "scheduleDayOfWeek": "День недели",
461
- "scheduleDayOfMonth": "День месяца",
462
- "scheduleDayOfMonthHint": "В месяцах с меньшим количеством дней, резервная копия работает в последний день.",
463
- "retentionCount": "Сохранить последний",
464
- "retentionSuffix": "запланированные резервные копии",
465
- "daySun": "Воскресенье",
466
- "dayMon": "Понедельник",
467
- "dayTue": "Вторник",
468
- "dayWed": "Среда",
469
- "dayThu": "Четверг",
470
- "dayFri": "Пятница",
471
- "daySat": "Суббота",
472
- "restore": {
473
- "title": "Восстановить резервную копию",
474
- "selectedBackup": "Выбранная резервная копия",
475
- "databaseSize": "Размер базы данных",
476
- "sessions": "Сессии",
477
- "users": "Пользователи",
478
- "servers": "Серверы",
479
- "automations": "",
480
- "libraryItems": "Элементы библиотеки",
481
- "tables": "Таблицы",
482
- "warning": "Восстановление заменит все существующие данные. Вам нужно будет заново войти в систему после завершения восстановления.",
483
- "confirmLabel": "Я понимаю, что это заменит все данные",
484
- "confirm": "Начать восстановление",
485
- "complete": "Восстановление успешно завершено. Страница будет обновлена в ближайшее время.",
486
- "failed": "Не удалось восстановить",
487
- "cannotRestore": "Для восстановления требуются права суперпользователя PostgreSQL. Пожалуйста, убедитесь, что пользователь базы данных имеет права суперпользователя и повторите попытку.",
488
- "pgVersionMismatch": "Резервная копия была создана на PostgreSQL {{backupVersion}} , но этот сервер запускает PostgreSQL {{serverVersion}}. Восстановление дампа с новой версии PostgreSQL не поддерживается.",
489
- "tsVersionMismatch": "Резервная копия была создана с TimescaleDB {{backupVersion}} , но этот сервер поддерживает только до TimescaleDB {{serverVersion}}."
490
- },
491
- "toast": {
492
- "backupCreated": "Резервная копия успешно создана",
493
- "backupCreateFailed": "Не удалось создать резервную копию",
494
- "backupUploaded": "Резервная копия успешно загружена",
495
- "backupUploadFailed": "Не удалось загрузить резервную копию",
496
- "backupDeleted": "Резервная копия удалена",
497
- "backupDeleteFailed": "Не удалось удалить резервную копию",
498
- "restoreStarted": "Восстановление начато",
499
- "restoreStartFailed": "Не удалось начать восстановление",
500
- "scheduleSaved": "Расписание резервного копирования сохранено",
501
- "scheduleError": "Не удалось сохранить резервную копию расписания"
502
- }
503
951
  }
504
952
  }