@tracearr/translations 2.2.0-beta.2 → 2.2.0-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (318) hide show
  1. package/dist/config.d.ts +3349 -1105
  2. package/dist/config.d.ts.map +1 -1
  3. package/dist/config.mobile.d.ts +3349 -1105
  4. package/dist/config.mobile.d.ts.map +1 -1
  5. package/dist/index.d.ts +2 -2
  6. package/dist/index.js +2 -2
  7. package/dist/locales/af-ZA/common.json +282 -250
  8. package/dist/locales/af-ZA/nav.json +21 -17
  9. package/dist/locales/af-ZA/notifications.json +22 -38
  10. package/dist/locales/af-ZA/pages.json +1170 -97
  11. package/dist/locales/af-ZA/settings.json +455 -426
  12. package/dist/locales/ar-SA/common.json +282 -250
  13. package/dist/locales/ar-SA/nav.json +21 -17
  14. package/dist/locales/ar-SA/notifications.json +22 -38
  15. package/dist/locales/ar-SA/pages.json +1170 -97
  16. package/dist/locales/ar-SA/settings.json +455 -426
  17. package/dist/locales/ca-ES/common.json +282 -250
  18. package/dist/locales/ca-ES/nav.json +21 -17
  19. package/dist/locales/ca-ES/notifications.json +22 -38
  20. package/dist/locales/ca-ES/pages.json +1170 -97
  21. package/dist/locales/ca-ES/settings.json +455 -426
  22. package/dist/locales/cs-CZ/common.json +282 -250
  23. package/dist/locales/cs-CZ/nav.json +21 -17
  24. package/dist/locales/cs-CZ/notifications.json +22 -38
  25. package/dist/locales/cs-CZ/pages.json +1170 -97
  26. package/dist/locales/cs-CZ/settings.json +455 -426
  27. package/dist/locales/da-DK/common.json +282 -250
  28. package/dist/locales/da-DK/nav.json +21 -17
  29. package/dist/locales/da-DK/notifications.json +22 -38
  30. package/dist/locales/da-DK/pages.json +1170 -97
  31. package/dist/locales/da-DK/settings.json +455 -426
  32. package/dist/locales/de-DE/common.json +282 -250
  33. package/dist/locales/de-DE/nav.json +21 -17
  34. package/dist/locales/de-DE/notifications.json +22 -38
  35. package/dist/locales/de-DE/pages.json +1170 -97
  36. package/dist/locales/de-DE/settings.json +455 -426
  37. package/dist/locales/el-GR/common.json +282 -250
  38. package/dist/locales/el-GR/nav.json +21 -17
  39. package/dist/locales/el-GR/notifications.json +22 -38
  40. package/dist/locales/el-GR/pages.json +1170 -97
  41. package/dist/locales/el-GR/settings.json +455 -426
  42. package/dist/locales/en/common.json +36 -4
  43. package/dist/locales/en/nav.json +6 -2
  44. package/dist/locales/en/notifications.json +13 -29
  45. package/dist/locales/en/pages.json +1187 -114
  46. package/dist/locales/en/settings.json +31 -2
  47. package/dist/locales/en-US/common.json +282 -250
  48. package/dist/locales/en-US/nav.json +21 -17
  49. package/dist/locales/en-US/notifications.json +22 -38
  50. package/dist/locales/en-US/pages.json +1170 -97
  51. package/dist/locales/en-US/settings.json +455 -426
  52. package/dist/locales/es-ES/common.json +282 -250
  53. package/dist/locales/es-ES/nav.json +21 -17
  54. package/dist/locales/es-ES/notifications.json +22 -38
  55. package/dist/locales/es-ES/pages.json +1170 -97
  56. package/dist/locales/es-ES/settings.json +455 -426
  57. package/dist/locales/fi-FI/common.json +282 -250
  58. package/dist/locales/fi-FI/nav.json +21 -17
  59. package/dist/locales/fi-FI/notifications.json +22 -38
  60. package/dist/locales/fi-FI/pages.json +1170 -97
  61. package/dist/locales/fi-FI/settings.json +455 -426
  62. package/dist/locales/fr-FR/common.json +282 -250
  63. package/dist/locales/fr-FR/nav.json +21 -17
  64. package/dist/locales/fr-FR/notifications.json +22 -38
  65. package/dist/locales/fr-FR/pages.json +1170 -97
  66. package/dist/locales/fr-FR/settings.json +455 -426
  67. package/dist/locales/he-IL/common.json +282 -250
  68. package/dist/locales/he-IL/nav.json +21 -17
  69. package/dist/locales/he-IL/notifications.json +22 -38
  70. package/dist/locales/he-IL/pages.json +1170 -97
  71. package/dist/locales/he-IL/settings.json +455 -426
  72. package/dist/locales/hu-HU/common.json +282 -250
  73. package/dist/locales/hu-HU/nav.json +21 -17
  74. package/dist/locales/hu-HU/notifications.json +22 -38
  75. package/dist/locales/hu-HU/pages.json +1170 -97
  76. package/dist/locales/hu-HU/settings.json +455 -426
  77. package/dist/locales/it-IT/common.json +282 -250
  78. package/dist/locales/it-IT/nav.json +21 -17
  79. package/dist/locales/it-IT/notifications.json +22 -38
  80. package/dist/locales/it-IT/pages.json +1170 -97
  81. package/dist/locales/it-IT/settings.json +455 -426
  82. package/dist/locales/ja-JP/common.json +282 -250
  83. package/dist/locales/ja-JP/nav.json +21 -17
  84. package/dist/locales/ja-JP/notifications.json +22 -38
  85. package/dist/locales/ja-JP/pages.json +1170 -97
  86. package/dist/locales/ja-JP/settings.json +455 -426
  87. package/dist/locales/ko-KR/common.json +282 -250
  88. package/dist/locales/ko-KR/nav.json +21 -17
  89. package/dist/locales/ko-KR/notifications.json +22 -38
  90. package/dist/locales/ko-KR/pages.json +1170 -97
  91. package/dist/locales/ko-KR/settings.json +455 -426
  92. package/dist/locales/nl-NL/common.json +282 -250
  93. package/dist/locales/nl-NL/nav.json +21 -17
  94. package/dist/locales/nl-NL/notifications.json +22 -38
  95. package/dist/locales/nl-NL/pages.json +1170 -97
  96. package/dist/locales/nl-NL/settings.json +455 -426
  97. package/dist/locales/no-NO/common.json +282 -250
  98. package/dist/locales/no-NO/nav.json +21 -17
  99. package/dist/locales/no-NO/notifications.json +22 -38
  100. package/dist/locales/no-NO/pages.json +1170 -97
  101. package/dist/locales/no-NO/settings.json +455 -426
  102. package/dist/locales/pl-PL/common.json +282 -250
  103. package/dist/locales/pl-PL/nav.json +21 -17
  104. package/dist/locales/pl-PL/notifications.json +22 -38
  105. package/dist/locales/pl-PL/pages.json +1170 -97
  106. package/dist/locales/pl-PL/settings.json +455 -426
  107. package/dist/locales/pt-BR/common.json +282 -250
  108. package/dist/locales/pt-BR/nav.json +21 -17
  109. package/dist/locales/pt-BR/notifications.json +22 -38
  110. package/dist/locales/pt-BR/pages.json +1170 -97
  111. package/dist/locales/pt-BR/settings.json +455 -426
  112. package/dist/locales/pt-PT/common.json +282 -250
  113. package/dist/locales/pt-PT/nav.json +21 -17
  114. package/dist/locales/pt-PT/notifications.json +22 -38
  115. package/dist/locales/pt-PT/pages.json +1170 -97
  116. package/dist/locales/pt-PT/settings.json +455 -426
  117. package/dist/locales/ro-RO/common.json +282 -250
  118. package/dist/locales/ro-RO/nav.json +21 -17
  119. package/dist/locales/ro-RO/notifications.json +22 -38
  120. package/dist/locales/ro-RO/pages.json +1170 -97
  121. package/dist/locales/ro-RO/settings.json +455 -426
  122. package/dist/locales/ru-RU/common.json +282 -250
  123. package/dist/locales/ru-RU/nav.json +21 -17
  124. package/dist/locales/ru-RU/notifications.json +22 -38
  125. package/dist/locales/ru-RU/pages.json +1170 -97
  126. package/dist/locales/ru-RU/settings.json +455 -426
  127. package/dist/locales/sr-SP/common.json +282 -250
  128. package/dist/locales/sr-SP/nav.json +21 -17
  129. package/dist/locales/sr-SP/notifications.json +22 -38
  130. package/dist/locales/sr-SP/pages.json +1170 -97
  131. package/dist/locales/sr-SP/settings.json +455 -426
  132. package/dist/locales/sv-SE/common.json +282 -250
  133. package/dist/locales/sv-SE/nav.json +21 -17
  134. package/dist/locales/sv-SE/notifications.json +22 -38
  135. package/dist/locales/sv-SE/pages.json +1170 -97
  136. package/dist/locales/sv-SE/settings.json +455 -426
  137. package/dist/locales/tr-TR/common.json +282 -250
  138. package/dist/locales/tr-TR/nav.json +21 -17
  139. package/dist/locales/tr-TR/notifications.json +22 -38
  140. package/dist/locales/tr-TR/pages.json +1170 -97
  141. package/dist/locales/tr-TR/settings.json +455 -426
  142. package/dist/locales/uk-UA/common.json +282 -250
  143. package/dist/locales/uk-UA/nav.json +21 -17
  144. package/dist/locales/uk-UA/notifications.json +22 -38
  145. package/dist/locales/uk-UA/pages.json +1170 -97
  146. package/dist/locales/uk-UA/settings.json +455 -426
  147. package/dist/locales/vi-VN/common.json +282 -250
  148. package/dist/locales/vi-VN/nav.json +21 -17
  149. package/dist/locales/vi-VN/notifications.json +22 -38
  150. package/dist/locales/vi-VN/pages.json +1170 -97
  151. package/dist/locales/vi-VN/settings.json +455 -426
  152. package/dist/locales/zh-CN/common.json +282 -250
  153. package/dist/locales/zh-CN/nav.json +21 -17
  154. package/dist/locales/zh-CN/notifications.json +22 -38
  155. package/dist/locales/zh-CN/pages.json +1170 -97
  156. package/dist/locales/zh-CN/settings.json +455 -426
  157. package/dist/locales/zh-TW/common.json +282 -250
  158. package/dist/locales/zh-TW/nav.json +21 -17
  159. package/dist/locales/zh-TW/notifications.json +22 -38
  160. package/dist/locales/zh-TW/pages.json +1170 -97
  161. package/dist/locales/zh-TW/settings.json +455 -426
  162. package/package.json +1 -1
  163. package/src/index.ts +2 -2
  164. package/src/locales/af-ZA/common.json +282 -250
  165. package/src/locales/af-ZA/nav.json +21 -17
  166. package/src/locales/af-ZA/notifications.json +22 -38
  167. package/src/locales/af-ZA/pages.json +1170 -97
  168. package/src/locales/af-ZA/settings.json +455 -426
  169. package/src/locales/ar-SA/common.json +282 -250
  170. package/src/locales/ar-SA/nav.json +21 -17
  171. package/src/locales/ar-SA/notifications.json +22 -38
  172. package/src/locales/ar-SA/pages.json +1170 -97
  173. package/src/locales/ar-SA/settings.json +455 -426
  174. package/src/locales/ca-ES/common.json +282 -250
  175. package/src/locales/ca-ES/nav.json +21 -17
  176. package/src/locales/ca-ES/notifications.json +22 -38
  177. package/src/locales/ca-ES/pages.json +1170 -97
  178. package/src/locales/ca-ES/settings.json +455 -426
  179. package/src/locales/cs-CZ/common.json +282 -250
  180. package/src/locales/cs-CZ/nav.json +21 -17
  181. package/src/locales/cs-CZ/notifications.json +22 -38
  182. package/src/locales/cs-CZ/pages.json +1170 -97
  183. package/src/locales/cs-CZ/settings.json +455 -426
  184. package/src/locales/da-DK/common.json +282 -250
  185. package/src/locales/da-DK/nav.json +21 -17
  186. package/src/locales/da-DK/notifications.json +22 -38
  187. package/src/locales/da-DK/pages.json +1170 -97
  188. package/src/locales/da-DK/settings.json +455 -426
  189. package/src/locales/de-DE/common.json +282 -250
  190. package/src/locales/de-DE/nav.json +21 -17
  191. package/src/locales/de-DE/notifications.json +22 -38
  192. package/src/locales/de-DE/pages.json +1170 -97
  193. package/src/locales/de-DE/settings.json +455 -426
  194. package/src/locales/el-GR/common.json +282 -250
  195. package/src/locales/el-GR/nav.json +21 -17
  196. package/src/locales/el-GR/notifications.json +22 -38
  197. package/src/locales/el-GR/pages.json +1170 -97
  198. package/src/locales/el-GR/settings.json +455 -426
  199. package/src/locales/en/common.json +36 -4
  200. package/src/locales/en/nav.json +6 -2
  201. package/src/locales/en/notifications.json +13 -29
  202. package/src/locales/en/pages.json +1187 -114
  203. package/src/locales/en/settings.json +31 -2
  204. package/src/locales/en-US/common.json +282 -250
  205. package/src/locales/en-US/nav.json +21 -17
  206. package/src/locales/en-US/notifications.json +22 -38
  207. package/src/locales/en-US/pages.json +1170 -97
  208. package/src/locales/en-US/settings.json +455 -426
  209. package/src/locales/es-ES/common.json +282 -250
  210. package/src/locales/es-ES/nav.json +21 -17
  211. package/src/locales/es-ES/notifications.json +22 -38
  212. package/src/locales/es-ES/pages.json +1170 -97
  213. package/src/locales/es-ES/settings.json +455 -426
  214. package/src/locales/fi-FI/common.json +282 -250
  215. package/src/locales/fi-FI/nav.json +21 -17
  216. package/src/locales/fi-FI/notifications.json +22 -38
  217. package/src/locales/fi-FI/pages.json +1170 -97
  218. package/src/locales/fi-FI/settings.json +455 -426
  219. package/src/locales/fr-FR/common.json +282 -250
  220. package/src/locales/fr-FR/nav.json +21 -17
  221. package/src/locales/fr-FR/notifications.json +22 -38
  222. package/src/locales/fr-FR/pages.json +1170 -97
  223. package/src/locales/fr-FR/settings.json +455 -426
  224. package/src/locales/he-IL/common.json +282 -250
  225. package/src/locales/he-IL/nav.json +21 -17
  226. package/src/locales/he-IL/notifications.json +22 -38
  227. package/src/locales/he-IL/pages.json +1170 -97
  228. package/src/locales/he-IL/settings.json +455 -426
  229. package/src/locales/hu-HU/common.json +282 -250
  230. package/src/locales/hu-HU/nav.json +21 -17
  231. package/src/locales/hu-HU/notifications.json +22 -38
  232. package/src/locales/hu-HU/pages.json +1170 -97
  233. package/src/locales/hu-HU/settings.json +455 -426
  234. package/src/locales/it-IT/common.json +282 -250
  235. package/src/locales/it-IT/nav.json +21 -17
  236. package/src/locales/it-IT/notifications.json +22 -38
  237. package/src/locales/it-IT/pages.json +1170 -97
  238. package/src/locales/it-IT/settings.json +455 -426
  239. package/src/locales/ja-JP/common.json +282 -250
  240. package/src/locales/ja-JP/nav.json +21 -17
  241. package/src/locales/ja-JP/notifications.json +22 -38
  242. package/src/locales/ja-JP/pages.json +1170 -97
  243. package/src/locales/ja-JP/settings.json +455 -426
  244. package/src/locales/ko-KR/common.json +282 -250
  245. package/src/locales/ko-KR/nav.json +21 -17
  246. package/src/locales/ko-KR/notifications.json +22 -38
  247. package/src/locales/ko-KR/pages.json +1170 -97
  248. package/src/locales/ko-KR/settings.json +455 -426
  249. package/src/locales/nl-NL/common.json +282 -250
  250. package/src/locales/nl-NL/nav.json +21 -17
  251. package/src/locales/nl-NL/notifications.json +22 -38
  252. package/src/locales/nl-NL/pages.json +1170 -97
  253. package/src/locales/nl-NL/settings.json +455 -426
  254. package/src/locales/no-NO/common.json +282 -250
  255. package/src/locales/no-NO/nav.json +21 -17
  256. package/src/locales/no-NO/notifications.json +22 -38
  257. package/src/locales/no-NO/pages.json +1170 -97
  258. package/src/locales/no-NO/settings.json +455 -426
  259. package/src/locales/pl-PL/common.json +282 -250
  260. package/src/locales/pl-PL/nav.json +21 -17
  261. package/src/locales/pl-PL/notifications.json +22 -38
  262. package/src/locales/pl-PL/pages.json +1170 -97
  263. package/src/locales/pl-PL/settings.json +455 -426
  264. package/src/locales/pt-BR/common.json +282 -250
  265. package/src/locales/pt-BR/nav.json +21 -17
  266. package/src/locales/pt-BR/notifications.json +22 -38
  267. package/src/locales/pt-BR/pages.json +1170 -97
  268. package/src/locales/pt-BR/settings.json +455 -426
  269. package/src/locales/pt-PT/common.json +282 -250
  270. package/src/locales/pt-PT/nav.json +21 -17
  271. package/src/locales/pt-PT/notifications.json +22 -38
  272. package/src/locales/pt-PT/pages.json +1170 -97
  273. package/src/locales/pt-PT/settings.json +455 -426
  274. package/src/locales/ro-RO/common.json +282 -250
  275. package/src/locales/ro-RO/nav.json +21 -17
  276. package/src/locales/ro-RO/notifications.json +22 -38
  277. package/src/locales/ro-RO/pages.json +1170 -97
  278. package/src/locales/ro-RO/settings.json +455 -426
  279. package/src/locales/ru-RU/common.json +282 -250
  280. package/src/locales/ru-RU/nav.json +21 -17
  281. package/src/locales/ru-RU/notifications.json +22 -38
  282. package/src/locales/ru-RU/pages.json +1170 -97
  283. package/src/locales/ru-RU/settings.json +455 -426
  284. package/src/locales/sr-SP/common.json +282 -250
  285. package/src/locales/sr-SP/nav.json +21 -17
  286. package/src/locales/sr-SP/notifications.json +22 -38
  287. package/src/locales/sr-SP/pages.json +1170 -97
  288. package/src/locales/sr-SP/settings.json +455 -426
  289. package/src/locales/sv-SE/common.json +282 -250
  290. package/src/locales/sv-SE/nav.json +21 -17
  291. package/src/locales/sv-SE/notifications.json +22 -38
  292. package/src/locales/sv-SE/pages.json +1170 -97
  293. package/src/locales/sv-SE/settings.json +455 -426
  294. package/src/locales/tr-TR/common.json +282 -250
  295. package/src/locales/tr-TR/nav.json +21 -17
  296. package/src/locales/tr-TR/notifications.json +22 -38
  297. package/src/locales/tr-TR/pages.json +1170 -97
  298. package/src/locales/tr-TR/settings.json +455 -426
  299. package/src/locales/uk-UA/common.json +282 -250
  300. package/src/locales/uk-UA/nav.json +21 -17
  301. package/src/locales/uk-UA/notifications.json +22 -38
  302. package/src/locales/uk-UA/pages.json +1170 -97
  303. package/src/locales/uk-UA/settings.json +455 -426
  304. package/src/locales/vi-VN/common.json +282 -250
  305. package/src/locales/vi-VN/nav.json +21 -17
  306. package/src/locales/vi-VN/notifications.json +22 -38
  307. package/src/locales/vi-VN/pages.json +1170 -97
  308. package/src/locales/vi-VN/settings.json +455 -426
  309. package/src/locales/zh-CN/common.json +282 -250
  310. package/src/locales/zh-CN/nav.json +21 -17
  311. package/src/locales/zh-CN/notifications.json +22 -38
  312. package/src/locales/zh-CN/pages.json +1170 -97
  313. package/src/locales/zh-CN/settings.json +455 -426
  314. package/src/locales/zh-TW/common.json +282 -250
  315. package/src/locales/zh-TW/nav.json +21 -17
  316. package/src/locales/zh-TW/notifications.json +22 -38
  317. package/src/locales/zh-TW/pages.json +1170 -97
  318. package/src/locales/zh-TW/settings.json +455 -426
@@ -1,475 +1,504 @@
1
1
  {
2
- "title": "Налаштування",
3
- "tabs": {
4
- "general": "Загальні",
5
- "servers": "Сервери",
6
- "notifications": "Сповіщення",
7
- "mobile": "Мобільний додаток",
8
- "tailscale": "Tailscale",
9
- "import": "Iмпорт",
10
- "advanced": "Розширені",
11
- "jobs": "Завдання",
12
- "accessControl": "Контроль доступу",
13
- "backup": "Резервне копіювання"
2
+ "accessControl": {
3
+ "allowGuestAccess": "Дозволити гостьовий доступ",
4
+ "allowGuestAccessDesc": "Коли вимкнено, лише власник сервера зможе увійти на Tracearr",
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
+ "filename": "Назва файлу",
44
+ "freeSpace": "Backup directory free space: {{size}}",
45
+ "lowDiskSpace": "Недостатньо місця на диску - резервні копії та відновлення вимагають хоча б двічі розміру бази даних у вільному просторі.",
46
+ "noBackups": "Поки немає резервних копій. Створіть першу резервну копію вище.",
47
+ "restore": {
48
+ "automations": "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
+ "schedule": "Заплановані резервні копії",
70
+ "scheduleDaily": "Щоденно",
71
+ "scheduleDayOfMonth": "День місяця",
72
+ "scheduleDayOfMonthHint": "У місяці з меншою кількістю днів починається резервне копіювання в останній день.",
73
+ "scheduleDayOfWeek": "День тижня",
74
+ "scheduleDisabled": "Вимкнено",
75
+ "scheduleMonthly": "Щомісяця",
76
+ "scheduleTime": "Час ({{timezone}})",
77
+ "scheduleType": "Розклад",
78
+ "scheduleWeekly": "Щотижня",
79
+ "size": "Розмір",
80
+ "title": "Резервне копіювання",
81
+ "toast": {
82
+ "backupCreateFailed": "Не вдалося створити резервну копію",
83
+ "backupCreated": "Резервна копія успішно створена",
84
+ "backupDeleteFailed": "Не вдалося видалити резервну копію",
85
+ "backupDeleted": "Резервна копія видалена",
86
+ "backupUploadFailed": "Не вдалося завантажити резервну копію",
87
+ "backupUploaded": "Резервна копія успішно завантажена",
88
+ "restoreStartFailed": "Не вдалося розпочати відновлення",
89
+ "restoreStarted": "Відновлення почалося",
90
+ "scheduleError": "Не вдалося зберегти розклад резервного копіювання",
91
+ "scheduleSaved": "Розклад резервного копіювання збережено"
92
+ },
93
+ "type": "Тип",
94
+ "typeManual": "Вручну",
95
+ "typeScheduled": "Заплановані",
96
+ "typeUploaded": "Відвантажено",
97
+ "uploadBackup": "Завантажити резервну копію",
98
+ "uploading": "Відвантаження...",
99
+ "version": "Версія"
14
100
  },
15
101
  "general": {
16
- "title": "Загальні налаштування",
17
- "unitSystem": "Система одиниць",
18
- "metric": "Метрична (км, км/год)",
19
- "imperial": "Імперська (милі, миль/год)",
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 секунд)",
30
- "timeFormat24h": "24 години (13:30)",
102
+ "accentColor": "Колір акценту",
103
+ "apiDocs": "API Docs",
104
+ "apiKeyDesc": "Доступ до API Tracearr для сторонніх інтеграцій, таких як Homarr, Home Assistant, тощо.",
105
+ "apiKeyReadAccess": "Ваш ключ API надає повний доступ до даних Tracearr.",
106
+ "apiRateLimit": "API Rate Limit",
107
+ "apiRateLimitDesc": "Maximum public API requests per minute per key. Restart required to apply.",
108
+ "apiRateLimitSuffix": "/min",
31
109
  "appearance": "Зовнішній вигляд",
32
110
  "appearanceDesc": "Налаштуйте зовнішній вигляд і трейсера",
33
- "theme": "Тема",
34
- "accentColor": "Колір акценту",
35
- "default": "(типово)",
36
- "cyanDefault": "* Cyan - типовий колір акценту",
37
- "themeLight": "Світла",
38
- "themeDark": "Темна",
39
- "themeSystem": "Система",
40
111
  "application": "Програма",
41
112
  "applicationDesc": "Налаштування основних параметрів додатку",
42
- "unitSystemDesc": "Виберіть, як відображаються відстані і швидкості",
43
- "sessionSync": "Синхронізація сесій",
44
- "sessionSyncDesc": "Ввімкнути відстеження сесії для ваших медіа-серверів",
45
- "syncInterval": "Інтервал синхронізації",
46
- "syncIntervalDesc": "Частота опитування для Jellyfin/Emby (5-300 секунд)",
47
- "syncIntervalSuffix": "сек",
48
- "plexSseNote": "Plex використовує події Server-Sent (SSE) для майже миттєвих оновлень — ніяких запитань не потрібно.",
49
- "jellyfinPollingNote": "Jellyfin/Emby опитані на інтервалі, що вище.",
113
+ "copyToClipboard": "Скопіювати до буферу обміну",
114
+ "cyanDefault": "* Cyan - типовий колір акценту",
115
+ "default": "(типово)",
116
+ "detect": "Виявити",
50
117
  "enhancedGeoIP": "Розширений GeoIP-пошук",
51
118
  "enhancedGeoIPDesc": "Використовувати GeoIP-сервіс Plex для більш точних даних про місцезнаходження. Коли увімкнено, IP-адреси надсилаються до plex. v для пошуку. Локальна база даних MaxMind використовується в якості fallback.",
52
119
  "externalAccess": "Зовнішній доступ",
53
120
  "externalAccessDesc": "Налаштуйте, як підключаються зовнішні пристрої (наприклад, мобільні додатки) до вашого серверу",
54
121
  "externalUrl": "Зовнішня URL-адреса",
55
- "externalUrlPlaceholder": "https://tracearr.example.com",
56
122
  "externalUrlDesc": "URL-адреса, яку мають використовувати зовнішні пристрої для доступу до цього сервера. Використовується для створення QR-кодів і мобільних застосунків.",
57
- "detect": "Виявити",
58
- "localhostWarning": "URL Localhost не працюватиме для зовнішніх пристроїв. Використовуйте локальну IP або доменне ім'я.",
123
+ "externalUrlPlaceholder": "https://tracearr.example.com",
124
+ "generateApiKeyPrompt": "Згенерувати ключ API, щоб активувати зовнішні інтеграції.",
125
+ "generateKey": "Згенерувати ключ",
126
+ "helpTranslate": "Допоможіть перекласти Tracearr",
127
+ "imperial": "Імперська (милі, миль/год)",
59
128
  "iosHttpWarning": "iOS вимагає HTTPS для зовнішніх підключень. Налаштуйте зворотний проксі-сервер з SSL.",
60
- "apiKeyDesc": "Доступ до API Tracearr для сторонніх інтеграцій, таких як Homarr, Home Assistant, тощо.",
61
- "apiDocs": "API Docs",
129
+ "jellyfinPollingNote": "Jellyfin/Emby опитані на інтервалі, що вище.",
130
+ "language": "Мова",
131
+ "languageDescription": "Виберіть бажану мову.",
132
+ "localAccount": "Локальний обліковий запис",
133
+ "localhostWarning": "URL Localhost не працюватиме для зовнішніх пристроїв. Використовуйте локальну IP або доменне ім'я.",
134
+ "metric": "Метрична (км, км/год)",
62
135
  "noApiKeyGenerated": "Не створено жодного ключа API",
63
- "copyToClipboard": "Скопіювати до буферу обміну",
64
- "apiKeyReadAccess": "Ваш ключ API надає повний доступ до даних Tracearr.",
65
- "generateApiKeyPrompt": "Згенерувати ключ API, щоб активувати зовнішні інтеграції.",
136
+ "plexAccount": "Обліковий запис Plex",
137
+ "plexSseNote": "Plex використовує події Server-Sent (SSE) для майже миттєвих оновлень — ніяких запитань не потрібно.",
138
+ "primaryAuth": "Основний метод автентифікації",
139
+ "publicApiSettings": "Public API",
140
+ "publicApiSettingsDesc": "Configure watch-completion thresholds and request limits for the public API",
66
141
  "regenerate": "Згенерувати новий",
67
- "generateKey": "Згенерувати ключ",
68
142
  "regenerateApiKey": "Оновити ключ API?",
69
143
  "regenerateApiKeyDesc": "Це призведе до анулювання поточного ключа API. Будь-які інтеграції, що використовують старий ключ, перестануть працювати.",
70
- "publicApiSettings": "Public API",
71
- "publicApiSettingsDesc": "Configure watch-completion thresholds and request limits for the public API",
144
+ "sessionSync": "Синхронізація сесій",
145
+ "sessionSyncDesc": "Ввімкнути відстеження сесії для ваших медіа-серверів",
146
+ "syncInterval": "Інтервал синхронізації",
147
+ "syncIntervalDesc": "Частота опитування для Jellyfin/Emby (5-300 секунд)",
148
+ "syncIntervalSuffix": "сек",
149
+ "theme": "Тема",
150
+ "themeDark": "Темна",
151
+ "themeLight": "Світла",
152
+ "themeSystem": "Система",
153
+ "timeFormat": "Формат часу",
154
+ "timeFormat12h": "12-годинний (1:30 секунд)",
155
+ "timeFormat24h": "24 години (13:30)",
156
+ "timeFormatDescription": "Виберіть спосіб відображення часу.",
157
+ "timezone": "Часовий пояс",
158
+ "title": "Загальні налаштування",
159
+ "unitSystem": "Система одиниць",
160
+ "unitSystemDesc": "Виберіть, як відображаються відстані і швидкості",
161
+ "updateChecks": {
162
+ "description": "Tracearr looks for new releases every six hours. Notifications come from whatever automation listens for the update triggers.",
163
+ "plugin": "Realtime plugin",
164
+ "pluginDesc": "Check for new releases of the Tracearr plugin your Jellyfin and Emby servers stream events through.",
165
+ "server": "Media servers",
166
+ "serverDesc": "Compare what each Plex, Jellyfin and Emby server runs with the newest release its makers publish.",
167
+ "title": "Update checks"
168
+ },
169
+ "imageCache": {
170
+ "title": "Poster cache",
171
+ "description": "One copy of each poster, kept on disk until the poster changes. Nothing here is evicted to make room; when the disk runs low the cache stops growing and says so.",
172
+ "size": "On disk",
173
+ "files": "Files",
174
+ "need": "Estimated need",
175
+ "needHint": "{{count}} posters × 18 KB",
176
+ "free": "Free disk",
177
+ "freeOf": "of {{total}}",
178
+ "floor": "Keeps free",
179
+ "ceiling": "Ceiling",
180
+ "lastSweep": "Last sweep",
181
+ "never": "not yet",
182
+ "diskLimited": "Disk-limited since {{since}}: about {{shortfall}} of posters are not cached.",
183
+ "loadError": "Could not load the cache status."
184
+ },
72
185
  "watchedThresholdMovie": "Movie Watched Threshold",
73
186
  "watchedThresholdMovieDesc": "Percentage of a movie that must be watched before it's marked complete",
74
- "watchedThresholdTv": "TV Episode Watched Threshold",
75
- "watchedThresholdTvDesc": "Percentage of an episode that must be watched before it's marked complete",
76
187
  "watchedThresholdMusic": "Track Watched Threshold",
77
188
  "watchedThresholdMusicDesc": "Percentage of a track that must be played before it's marked complete",
78
189
  "watchedThresholdSuffix": "%",
79
- "apiRateLimit": "API Rate Limit",
80
- "apiRateLimitDesc": "Maximum public API requests per minute per key. Restart required to apply.",
81
- "apiRateLimitSuffix": "/min"
82
- },
83
- "servers": {
84
- "title": "Підключені сервери",
85
- "addServer": "Додати сервер",
86
- "serverName": "Назва сервера",
87
- "serverUrl": "URL-адреса сервера",
88
- "syncInterval": "Інтервал синхронізації",
89
- "testConnection": "Перевірити підключення",
90
- "connectionSuccess": "Підключення успішне",
91
- "connectionFailed": "Не вдалося підключитися",
92
- "noServersConnected": "Немає підключених серверів",
93
- "noServersConnectedHint": "Натисніть \"Add Server\" для підключення Jellyfin або серверів Emby",
94
- "serverType": "Тип сервера",
95
- "loadingAccounts": "Завантаження зв'язаних облікових записів Plex...",
96
- "noPlexAccountsLinked": "Немає пов'язаних облікових записів Plex",
97
- "noPlexAccountsLinkedHint": "Прив'яжіть обліковий запис Plex вище, а потім поверніться до додавання сервера.",
98
- "selectPlexAccount": "Вибрати обліковий запис Plex",
99
- "chooseAccount": "Виберіть обліковий запис...",
100
- "selectAccountHelp": "Виберіть, з якого акаунта Plex можна знайти на серверах.",
101
- "allServersConnected": "Всі сервери під'єднані",
102
- "allServersConnectedDesc": "Всі сервери з цього облікового запису вже підключені.",
103
- "serverUrlPlaceholder": "http://192.168.1.100:8096",
104
- "serverUrlHelp": "Пряме посилання до вашого Jellyfin або Emby сервера. Використовуйте IP:port для кращої надійності.",
105
- "serverNamePlaceholder": "Мій медіа-сервер",
106
- "apiKeyPlaceholder": "Введіть ваш ключ API",
107
- "apiKeyHelp": "Знайдено на головній сторінці вашого медіа-сервера в розділі \"API Keys\" або \"Розширені налаштування\".",
108
- "connecting": "Підключення...",
109
- "connectServer": "Під'єднати сервер",
110
- "removeServer": "Видалити сервер",
111
- "removeServerConfirm": "Ви впевнені, що хочете видалити цей сервер? Усі пов'язані дані сеансу буде збережено, але ви не зможете стежити за новими сеансами з цього сервера.",
112
- "editServer": "Редагувати сервер",
113
- "editServerDesc": "Оновіть ім'я сервера або URL-адресу підключення.",
114
- "serverColor": "Колір сервера",
115
- "serverColorDesc": "Використовується для візуального атрибуції в багатосерверному перегляді",
116
- "updating": "Оновлюється...",
117
- "allFieldsRequired": "Всі поля є обов'язковими",
118
- "addServerDialogDescPlex": "Виберіть Plex сервер з вашого пов'язаного акаунту.",
119
- "addServerDialogDescOther": "Під'єднайте Jellyfin або Emby сервер.",
120
- "description": "Керуйте вашими підключеними Plex, Jellyfin, та Ембі серверами",
121
- "discoveringServers": "Виявлення доступних серверів Plex...",
122
- "discoveringConnections": "Виявлення підключень...",
123
- "plexAccount": "Обліковий запис Plex",
124
- "serverUrlHelpJellyfin": "Посилання, де доступний сервер Jellyfin",
125
- "serverUrlHelpEmby": "URL-адреса доступного сервера Emby",
126
- "apiKeyHelpJellyfin": "Знайти це у налаштуваннях Jellyfin → Ключі API",
127
- "apiKeyHelpEmby": "Знайти це в Емби Сервері → Ключі API",
128
- "plexServerPlaceholder": "Мій Plex сервер",
129
- "plexServerUrlPlaceholder": "http://192.168.1.100:32400",
130
- "updateHint": "Або натисніть кнопку Оновити нижче, щоб зберегти лише зміну імені.",
131
- "added": "Додано {{date}}",
132
- "realtimeActive": "Real-time updates active",
133
- "pollingMode": "Polling",
134
- "setupRealtime": "Set up real-time updates",
135
- "realtimeError": "Real-time error",
136
- "checkingConnection": "Checking connection…",
137
- "pluginVersion": "plugin v{{version}}",
138
- "pluginUpdateAvailable": "Plugin update available",
139
- "realtimeDialog": {
140
- "title": "Enable real-time updates",
141
- "updateTitle": "Update the Tracearr SSE plugin",
142
- "jellyfinDescription": "Install the Tracearr SSE plugin to get instant session updates without waiting for the next poll.",
143
- "embyDescription": "Install the Tracearr SSE plugin to get instant session updates without waiting for the next poll.",
144
- "jellyfinUpdateDescription": "A newer plugin release is available. Open your Jellyfin dashboard, go to Plugins, Catalog, and update Tracearr SSE, then restart Jellyfin.",
145
- "embyUpdateDescription": "A newer plugin release is available. Download the latest release zip, replace the plugin DLL in your Emby plugins folder, and restart Emby.",
146
- "repositoryUrl": "Repository URL",
147
- "copyUrl": "Copy URL",
148
- "jellyfinRepoUrl": "https://raw.githubusercontent.com/Tracearr/Media-Server-SSE/main/manifest.json",
149
- "embyReleasesUrl": "https://github.com/Tracearr/Media-Server-SSE/releases",
150
- "openReleases": "Open releases page",
151
- "autoDetectNote": "Restart Jellyfin or Emby after installing the plugin; the restart is required. Tracearr itself needs no restart and picks the plugin up automatically.",
152
- "close": "Close",
153
- "issueBlocked": "The server reports the plugin as installed and active, but Tracearr gets a 404 from its endpoint. A reverse proxy blocking the path is the usual cause.",
154
- "issueRestartRequired": "The plugin is installed, but the media server needs a restart before it activates.",
155
- "issueMalfunctioned": "The server reports the plugin failed to load. Updating the plugin or the media server usually clears this."
156
- },
157
- "posterSource": {
158
- "title": "Poster Preferences",
159
- "titleDesc": "Choose which server's poster is shown when a title exists on more than one server",
160
- "label": "Preferred Poster Source",
161
- "description": "When a title is on more than one server, use this server's poster. If it doesn't have one, we'll fall back to the most recently added copy.",
162
- "automatic": "Automatic (most recent)",
163
- "emptyHint": "Add a server to choose a preferred poster source."
164
- }
165
- },
166
- "mobile": {
167
- "title": "Мобільний додаток",
168
- "pairDevice": "Підключити пристрій",
169
- "connectedDevices": "Підключені пристрої",
170
- "generateToken": "Згенерувати парний токен",
171
- "scanQrCode": "Проскануйте QR-код",
172
- "tokenExpires": "Термін дії токена закінчується через {{time}}",
173
- "noDevices": "Немає підключених пристроїв",
174
- "revokeAll": "Скасувати всі сеанси",
175
- "getTheApp": "Отримати програму",
176
- "getTheAppDesc": "Завантажте мобільний додаток Tracearr для iOS чи Android",
177
- "getOnGooglePlay": "Завантажте у Google Play",
178
- "downloadOnAppStore": "Завантажити з App Store",
179
- "pairYourDevice": "Під’єднати ваш пристрій",
180
- "pairYourDeviceDesc": "Проскануйте QR-код за допомогою додатку Tracearr, щоб під'єднати цей сервер.",
181
- "externalUrlRequired": "Зовнішній URL повинен бути налаштований в загальних налаштуваннях для роботи в парі мобільних пристроїв.",
182
- "mobileAccessDisabled": "Мобільний доступ вимкнено",
183
- "mobileAccessDisabledDesc": "Увімкніть мобільний доступ щоб дозволити мобільний додаток Tracearr підключатися до вашого сервера.",
184
- "enableMobileAccess": "Увімкнути мобільний доступ",
185
- "enabling": "Увімкнення...",
186
- "devicesConnected": "{{current}} пристроїв з {{max}}",
187
- "pendingTokens": "{{count}} очікувані парні токени",
188
- "addDevice": "Додати пристрій",
189
- "disableMobileAccess": "Вимкнути мобільний доступ",
190
- "connectedDevicesDesc": "Пристрої {{count}} пов'язано з вашим сервером",
191
- "revokeAllSessions": "Відкликати всі",
192
- "pairNewDevice": "Під’єднати новий пристрій",
193
- "pairNewDeviceDesc": "Проскануйте QR-код за допомогою мобільного додатку Tracearr або введіть маркер вручну.",
194
- "expiresIn": "Expires in {{time}}",
195
- "oneTimePairToken": "Одноразовий токен",
196
- "copyToken": "Скопіювати токен",
197
- "tokenExpiryNote": "Цей токен закінчується через 5 хвилин і може бути використаний лише один раз.",
198
- "done": "Виконано",
199
- "disableMobileAccessConfirm": "Це призведе до відключення всіх мобільних пристроїв і відкликання всіх сесій. Ви можете знову ввімкнути доступ до мобільного зв'язку пізніше.",
200
- "disable": "Вимкнути",
201
- "revokeAllConfirm": "Це призведе до відключення всіх мобільних пристроїв. Для підключення потрібно буде знову під'єднатися.",
202
- "renameDevice": "Перейменувати пристрій",
203
- "renameDeviceDesc": "Введіть назву для ідентифікації цього пристрою зі списку.",
204
- "deviceName": "Ім'я пристрою",
205
- "deviceNamePlaceholder": "напр. iPhone 15",
206
- "removeDevice": "Видалити пристрій",
207
- "failedToGenerateToken": "Не вдалося створити жетон",
208
- "removeDeviceConfirm": "Ви дійсно бажаєте видалити {{deviceName}}? Для підключення цей пристрій повинен буде знову під'єднатись.",
209
- "externalUrlBanner": "Використовувати зворотний проксі чи доступ до віддаленого? Встановіть ваш",
210
- "externalUrlBannerLink": "Зовнішня URL-адреса",
211
- "externalUrlBannerSuffix": "так що мобільний додаток може з'єднатися з вашим сервером."
212
- },
213
- "tailscale": {
214
- "title": "Tailscale VPN",
215
- "description": "Безпечний доступ до Tracearr у вашій мережі Tailscale без переадресації портів.",
216
- "notAvailable": "Зворотний масштаб не знайдено. Ця функція доступна тільки при запуску офіційного Docker зображення.",
217
- "disabledDescription": "Увімкніть Tailscale для розміщення Tracearr в приватному tailnet. Пересилання порту чи зворотний проксі-сервер не потрібно.",
218
- "hostnameLabel": "Ім'я хоста пристрою",
219
- "hostnameHint": "Необов'язкове користувацьке ім'я для цього пристрою на звороті tailnet. Букви, цифри та дефіси.",
220
- "enable": "Увімкнути Tailscale",
221
- "disable": "Вимкнути Tailscale",
222
- "starting": "Шкала початку...",
223
- "stopping": "Зупинка Tailscale...",
224
- "awaitingAuth": "Очікування авторизації...",
225
- "authorize": "Авторизація в Tailscale",
226
- "connected": "Tailscale підключено. Ваш екземпляр Tracearr доступний у мережі Tailnet.",
227
- "hostname": "Hostname",
228
- "dnsName": "Ім'я DNS",
229
- "tailnetUrl": "URL",
230
- "showLogs": "Показати логи",
231
- "hideLogs": "Приховати логи",
232
- "noLogs": "Немає доступних логів.",
233
- "exitNodeNone": "Без ефекту",
234
- "exitNodeOffline": "(не в мережі)",
235
- "unknownError": "Сталася невідома помилка.",
236
- "disableConfirmTitle": "Вимкнути Tailscale?",
237
- "disableConfirmDescription": "Ця дія відключить Tracearr від вашого tailnet. Ви можете повторно увімкнути без повторного дозволу.",
238
- "resetConfirmTitle": "Скинути Tailscale?",
239
- "resetConfirmDescription": "Це призведе до відключення Tracearr від вашого tailnet і видалення ідентифікації пристрою. Вам доведеться повторно авторизуватися, якщо ви включите його знову.",
240
- "toast": {
241
- "disabled": "Tailscale було вимкнено.",
242
- "enableFailed": "Не вдалося увімкнути Tailscale",
243
- "disableFailed": "Не вдалося вимкнути Tailscale",
244
- "reset": "Tailscale було скинуто.",
245
- "resetFailed": "Не вдалося скинути Tailscale",
246
- "exitNodeSet": "Вийти оновлено.",
247
- "exitNodeFailed": "Не вдалося встановити вихід вузла"
248
- }
249
- },
250
- "jobs": {
251
- "title": "Завдання тех. обслуговування",
252
- "description": "Керування фоновими завданнями, які підтримують точність та оптимізацію даних.",
253
- "normalization": "Нормалізація",
254
- "backfill": "Повернення",
255
- "cleanup": "Очищення",
256
- "running": "працює",
257
- "queued": "поставлено в чергу",
258
- "delayed": "затримка",
259
- "waiting": "В очікуванні",
260
- "runningState": "Біг",
261
- "runJob": "Запустити програму",
262
- "processed": "оброблено",
263
- "updated": "оновлено",
264
- "unchanged": "без змін",
265
- "errors": "помилки",
266
- "lastJobCompleted": "Останнє завдання успішно завершене",
267
- "lastJobFailed": "Невдале останнє завдання",
268
- "jobHistory": "Історія завдань",
269
- "jobHistoryDesc": "Останні виконані робочі процеси",
270
- "runConfirm": "Запустити {{name}}?",
271
- "mayTakeAWhile": "Це може зайняти деякий час",
272
- "mayTakeAWhileDesc": "Це завдання може зайняти декілька хвилин, в залежності від розміру вашої бібліотеки.",
273
- "startJob": "Почати роботу"
274
- },
275
- "advanced": {
276
- "title": "Розширені налаштування",
277
- "externalUrl": "Зовнішня URL-адреса",
278
- "trustProxy": "Заголовки довіри",
279
- "reverseProxy": "Зворотний проксі",
280
- "connectionScenarios": "З'єднання сценаріїв"
281
- },
282
- "accessControl": {
283
- "title": "Контроль доступу",
284
- "description": "Конфігури, які мають доступ до Tracearr",
285
- "allowGuestAccess": "Дозволити гостьовий доступ",
286
- "allowGuestAccessDesc": "Коли вимкнено, лише власник сервера зможе увійти на Tracearr",
287
- "singleOwnerNote": "Зауважте: якщо відключено доступ до гості, тільки власник сервера зможе ввійти в систему. Всі інші користувачі бачать повідомлення \"Доступ заборонено\"."
190
+ "watchedThresholdTv": "TV Episode Watched Threshold",
191
+ "watchedThresholdTvDesc": "Percentage of an episode that must be watched before it's marked complete"
288
192
  },
289
193
  "import": {
290
- "title": "Імпорт даних",
291
- "jellystat": "Імпортувати з Jellystat",
292
- "tautulli": "Імпортувати з Tautulli",
293
- "importProgress": "Прогрес імпорту",
194
+ "apiKeyHelp": "Знайдено в настройках Tautulli → Веб-інтерфейс → API Key.",
195
+ "apiKeyPlaceholder": "Ваш ключ API Tautulli",
196
+ "checkPlugin": "Check Plugin",
197
+ "checkingPlugin": "Checking...",
198
+ "connectToTautulli": "Підключитися до Tautulli",
199
+ "connectedFound": "Підключено! Знайдено записи історії {{users}} та {{records}}.",
200
+ "duplicates": "{{count}} duplicates skipped",
201
+ "enrichMetadata": "Доповнити метадані медіа (рекомендовано)",
202
+ "enrichMetadataHelp": "Витягує додаткові метадані з вашого медіа-сервера для імпортованих сесій.",
203
+ "enriched": "Виконано",
204
+ "errors": "Помилки",
205
+ "exportBackupHelp": "У Jellystat, перейдіть у Налаштування → Резервне копіювання → Активність резервного копіювання для експорту даних.",
206
+ "exportBackupHint": "Експортувати резервну копію активності з Jellystat",
207
+ "howItWorks": "Як працює імпорт",
208
+ "howItWorksDesc": "Tracearr буде імпортувати всі історичні дані для спостереження з вашого джерела. Це може зайняти деякий час, в залежності від розміру вашої бібліотеки.",
294
209
  "importComplete": "Імпорт завершено",
295
210
  "importFailed": "Не вдалося імпортувати",
296
- "processed": "Оброблено",
297
- "page": "Сторінка",
211
+ "importFullRange": "Import full history",
212
+ "importFullRangeHelp": "By default only history older than Tracearr's earliest tracked session for this server is imported, so sessions Tracearr already recorded are never duplicated. Enable this to import the plugin's entire history regardless of overlap, if your Tracearr history has gaps. Exact duplicates are still skipped.",
213
+ "importHistory": "Історія імпорту",
214
+ "importHistoryDesc": "Імпортувати історичні дані перегляду із зовнішніх джерел",
215
+ "importInProgressGeneric": "Виконується імпорт...",
216
+ "importInProgressPercent": "Виконується імпорт ({{percent}}% завершено)...",
217
+ "importOptions": "Імпортувати опції",
218
+ "importProgress": "Прогрес імпорту",
298
219
  "imported": "Імпортовано",
299
- "skipped": "Пропущено",
300
- "enriched": "Виконано",
301
- "errors": "Помилки",
220
+ "importing": "Імпорт...",
221
+ "includeStreamDetails": "Включаючи докладні дані потоку (кодеки, бітрейт, роздільну здатність)",
222
+ "includeStreamDetailsHelp": "Імпортує додаткову інформацію про потік. Може значно збільшити час імпорту.",
223
+ "jellyfinEmby": "Jellyfin/Emby (Jellystat)",
224
+ "jellystat": "Імпортувати з Jellystat",
302
225
  "noServers": "Немає підключених серверів",
303
226
  "noServersHint": "Вам потрібно принаймні один підключений сервер для імпорту даних.",
304
- "tautulliUrl": "URL Tautulli",
305
- "tautulliUrlPlaceholder": "http://localhost:8181",
306
- "tautulliUrlHelp": "URL вашого Tautulli екземпляра.",
307
- "apiKeyHelp": "Знайдено в настройках Tautulli → Веб-інтерфейс → API Key.",
308
- "testing": "Тестування...",
309
- "connectToTautulli": "Підключитися до Tautulli",
310
- "importHistory": "Історія імпорту",
311
- "targetServer": "Target Server",
312
- "selectPlexServer": "Виберіть сервер Plex",
227
+ "overlapSkipped": "{{count}} skipped as overlap",
313
228
  "overwriteFriendlyNames": "Перезаписати існуючі дружні імена з допомогою назв Tautulli",
314
229
  "overwriteFriendlyNamesHelp": "Існуючі імена ідентифікацій в Tracearr будуть замінені дружніми іменами з Tautulli.",
315
- "includeStreamDetails": "Включаючи докладні дані потоку (кодеки, бітрейт, роздільну здатність)",
316
- "includeStreamDetailsHelp": "Імпортує додаткову інформацію про потік. Може значно збільшити час імпорту.",
317
- "importing": "Імпорт...",
318
- "startImport": "Почати Імпорт",
319
- "howItWorks": "Як працює імпорт",
320
- "howItWorksDesc": "Tracearr буде імпортувати всі історичні дані для спостереження з вашого джерела. Це може зайняти деякий час, в залежності від розміру вашої бібліотеки.",
321
- "recordsMayBeSkipped": "Записи можуть бути пропущені, якщо:",
322
- "selectTargetServer": "Виберіть цільовий сервер",
323
- "selectJellyfinServer": "Виберіть Jellyfin або Ембі сервер",
324
- "uploadJellystatBackup": "Завантажити резервну копію Jellystat",
325
- "exportBackupHint": "Експортувати резервну копію активності з Jellystat",
326
- "exportBackupHelp": "У Jellystat, перейдіть у Налаштування → Резервне копіювання → Активність резервного копіювання для експорту даних.",
327
- "importOptions": "Імпортувати опції",
328
- "enrichMetadata": "Доповнити метадані медіа (рекомендовано)",
329
- "enrichMetadataHelp": "Витягує додаткові метадані з вашого медіа-сервера для імпортованих сесій.",
330
- "updateExistingRecords": "Оновити записи з подробицями трансляції",
331
- "updateExistingRecordsHelp": "Раніше імпортовані записи будуть оновлені з даними якості потоку.",
230
+ "page": "Сторінка",
231
+ "playbackReporting": "Playback Reporting Plugin",
232
+ "playbackReportingDesc": "Import history directly from the Playback Reporting plugin installed on your Jellyfin or Emby server. No file export needed.",
332
233
  "pleaseEnterDetails": "Будь ласка, введіть URL Tautulli та ключ API",
333
- "testingConnection": "Перевірка підключення...",
334
234
  "pleaseSelectJsonFile": "Будь ласка, виберіть JSON файл",
335
- "uploadingBackup": "Завантаження файлу резервної копії...",
336
- "importHistoryDesc": "Імпортувати історичні дані перегляду із зовнішніх джерел",
337
235
  "plex": "Plex (Tautulli)",
338
- "jellyfinEmby": "Jellyfin/Emby (Jellystat)",
339
- "step1": "1",
340
- "step2": "2",
341
- "apiKeyPlaceholder": "Ваш ключ API Tautulli",
342
- "skipUserNotFoundPlex": "Користувача не знайдено — Користувач Plex в Tracearr. Спочатку синхронізуйте свій сервер, щоб додати усіх користувачів.",
343
- "skipDuplicate": "Повторювана сесія - вона вже раніше імпортована.",
344
- "skipInProgress": "Сесія в процесі виконання — пропущена/незавершені сеанси без ID посилання.",
345
- "skipUserNotFoundJellyfin": "Користувач не знайдений — у Tracearr-файлі Jellyfin/Emby користувач не існує в Tracr. Спочатку синхронізуйте свій сервер, щоб додати всіх користувачів.",
346
- "skipSyncHint": "Якщо багато записів пропущено, переконайтеся, що ви синхронізували сервер нещодавно в настройках → Сервери.",
347
- "importInProgressPercent": "Виконується імпорт ({{percent}}% завершено)...",
348
- "importInProgressGeneric": "Виконується імпорт...",
349
- "startingImport": "Початок імпорту...",
350
- "connectedFound": "Підключено! Знайдено записи історії {{users}} та {{records}}.",
351
- "playbackReporting": "Playback Reporting Plugin",
352
- "playbackReportingDesc": "Import history directly from the Playback Reporting plugin installed on your Jellyfin or Emby server. No file export needed.",
353
- "checkPlugin": "Check Plugin",
354
- "checkingPlugin": "Checking...",
355
236
  "pluginFound": "Plugin found: {{records}} records from {{oldestDate}} to {{newestDate}}",
356
237
  "pluginNotInstalled": "The Playback Reporting plugin is not installed on this server, or Tracearr cannot reach it. Install it from the server's plugin catalog to start recording history, or use the Jellystat import below.",
238
+ "processed": "Оброблено",
239
+ "recordsMayBeSkipped": "Записи можуть бути пропущені, якщо:",
240
+ "selectJellyfinServer": "Виберіть Jellyfin або Ембі сервер",
241
+ "selectPlexServer": "Виберіть сервер Plex",
242
+ "selectTargetServer": "Виберіть цільовий сервер",
357
243
  "serverTimezone": "Server Timezone",
358
244
  "serverTimezoneHelp": "Must match the timezone configured on your media server host, not your browser's timezone. Playback Reporting timestamps are stored in local server time.",
359
- "importFullRange": "Import full history",
360
- "importFullRangeHelp": "By default only history older than Tracearr's earliest tracked session for this server is imported, so sessions Tracearr already recorded are never duplicated. Enable this to import the plugin's entire history regardless of overlap, if your Tracearr history has gaps. Exact duplicates are still skipped.",
361
- "overlapSkipped": "{{count}} skipped as overlap",
362
- "duplicates": "{{count}} duplicates skipped",
245
+ "skipDuplicate": "Повторювана сесія - вона вже раніше імпортована.",
246
+ "skipDuplicatePlugin": "Duplicate record - already imported directly or arrived earlier via a Jellystat import of the same plugin data.",
247
+ "skipInProgress": "Сесія в процесі виконання — пропущена/незавершені сеанси без ID посилання.",
363
248
  "skipOverlap": "Overlapping record - the timestamp falls inside the period Tracearr already tracks for this server. Enable full-range import to include it.",
364
- "skipDuplicatePlugin": "Duplicate record - already imported directly or arrived earlier via a Jellystat import of the same plugin data."
365
- },
366
- "plex": {
367
- "signInWithPlex": "Увійти через Plex",
368
- "signUpWithPlex": "Зареєструватися через Plex",
369
- "selectServer": "Оберіть сервер",
370
- "chooseServer": "Виберіть, який Plex медіасервер відстежувати"
249
+ "skipSyncHint": "Якщо багато записів пропущено, переконайтеся, що ви синхронізували сервер нещодавно в настройках → Сервери.",
250
+ "skipUserNotFoundJellyfin": "Користувач не знайдений — у Tracearr-файлі Jellyfin/Emby користувач не існує в Tracr. Спочатку синхронізуйте свій сервер, щоб додати всіх користувачів.",
251
+ "skipUserNotFoundPlex": "Користувача не знайдено — Користувач Plex в Tracearr. Спочатку синхронізуйте свій сервер, щоб додати усіх користувачів.",
252
+ "skipped": "Пропущено",
253
+ "startImport": "Почати Імпорт",
254
+ "startingImport": "Початок імпорту...",
255
+ "step1": "1",
256
+ "step2": "2",
257
+ "targetServer": "Target Server",
258
+ "tautulli": "Імпортувати з Tautulli",
259
+ "tautulliUrl": "URL Tautulli",
260
+ "tautulliUrlHelp": "URL вашого Tautulli екземпляра.",
261
+ "tautulliUrlPlaceholder": "http://localhost:8181",
262
+ "testing": "Тестування...",
263
+ "testingConnection": "Перевірка підключення...",
264
+ "title": "Імпорт даних",
265
+ "updateExistingRecords": "Оновити записи з подробицями трансляції",
266
+ "updateExistingRecordsHelp": "Раніше імпортовані записи будуть оновлені з даними якості потоку.",
267
+ "uploadJellystatBackup": "Завантажити резервну копію Jellystat",
268
+ "uploadingBackup": "Завантаження файлу резервної копії..."
371
269
  },
372
- "account": {
373
- "createAccount": "Створити обліковий запис",
374
- "email": "Електронна пошта",
375
- "password": "Пароль",
376
- "displayName": "Відображуване ім'я",
377
- "createYourAccount": "Створіть обліковий запис, щоб розпочати",
378
- "signInToAccount": "Увійдіть у свій обліковий запис",
379
- "useLocalAccount": "Використовувати локальний обліковий запис замість"
270
+ "ipWarning": {
271
+ "acknowledge": "Зрозуміло",
272
+ "message": "Схоже на те, що всі користувачі використовують одну й ту саму IP-адресу або локальні IP-адреси. Це може вплинути на типову логіку для розташування або IP-адрес."
380
273
  },
381
- "update": {
382
- "title": "Доступне оновлення",
383
- "releaseNotes": "Примітки до оновлення",
384
- "updateCommand": "Оновити команду",
385
- "pullInstructions": "Після витягування, перезавантажте контейнер щоб застосувати оновлення.",
386
- "stableRelease": "Стабільна версія",
387
- "betaUpdate": "Бета-оновлення",
388
- "newVersion": "Нова версія",
389
- "versionAvailable": "{{version}} доступно"
274
+ "jobs": {
275
+ "backfill": "Повернення",
276
+ "cleanup": "Очищення",
277
+ "delayed": "затримка",
278
+ "description": "Керування фоновими завданнями, які підтримують точність та оптимізацію даних.",
279
+ "errors": "помилки",
280
+ "jobHistory": "Історія завдань",
281
+ "jobHistoryDesc": "Останні виконані робочі процеси",
282
+ "lastJobCompleted": "Останнє завдання успішно завершене",
283
+ "lastJobFailed": "Невдале останнє завдання",
284
+ "mayTakeAWhile": "Це може зайняти деякий час",
285
+ "mayTakeAWhileDesc": "Це завдання може зайняти декілька хвилин, в залежності від розміру вашої бібліотеки.",
286
+ "normalization": "Нормалізація",
287
+ "processed": "оброблено",
288
+ "queued": "поставлено в чергу",
289
+ "runConfirm": "Запустити {{name}}?",
290
+ "runJob": "Запустити програму",
291
+ "running": "працює",
292
+ "runningState": "Біг",
293
+ "startJob": "Почати роботу",
294
+ "title": "Завдання тех. обслуговування",
295
+ "unchanged": "без змін",
296
+ "updated": "оновлено",
297
+ "waiting": "В очікуванні"
390
298
  },
391
- "serverHealth": {
392
- "unreachable": "{{serverName}} недоступний",
393
- "multipleUnreachable": "{{count}} сервери недоступні: {{serverNames}}"
299
+ "mobile": {
300
+ "addDevice": "Додати пристрій",
301
+ "connectedDevices": "Підключені пристрої",
302
+ "connectedDevicesDesc": "Пристрої {{count}} пов'язано з вашим сервером",
303
+ "copyToken": "Скопіювати токен",
304
+ "deviceName": "Ім'я пристрою",
305
+ "deviceNamePlaceholder": "напр. iPhone 15",
306
+ "devicesConnected": "{{current}} пристроїв з {{max}}",
307
+ "disable": "Вимкнути",
308
+ "disableMobileAccess": "Вимкнути мобільний доступ",
309
+ "disableMobileAccessConfirm": "Це призведе до відключення всіх мобільних пристроїв і відкликання всіх сесій. Ви можете знову ввімкнути доступ до мобільного зв'язку пізніше.",
310
+ "done": "Виконано",
311
+ "downloadOnAppStore": "Завантажити з App Store",
312
+ "enableMobileAccess": "Увімкнути мобільний доступ",
313
+ "enabling": "Увімкнення...",
314
+ "expiresIn": "Expires in {{time}}",
315
+ "externalUrlBanner": "Використовувати зворотний проксі чи доступ до віддаленого? Встановіть ваш",
316
+ "externalUrlBannerLink": "Зовнішня URL-адреса",
317
+ "externalUrlBannerSuffix": "так що мобільний додаток може з'єднатися з вашим сервером.",
318
+ "externalUrlRequired": "Зовнішній URL повинен бути налаштований в загальних налаштуваннях для роботи в парі мобільних пристроїв.",
319
+ "failedToGenerateToken": "Не вдалося створити жетон",
320
+ "generateToken": "Згенерувати парний токен",
321
+ "getOnGooglePlay": "Завантажте у Google Play",
322
+ "getTheApp": "Отримати програму",
323
+ "getTheAppDesc": "Завантажте мобільний додаток Tracearr для iOS чи Android",
324
+ "mobileAccessDisabled": "Мобільний доступ вимкнено",
325
+ "mobileAccessDisabledDesc": "Увімкніть мобільний доступ щоб дозволити мобільний додаток Tracearr підключатися до вашого сервера.",
326
+ "noDevices": "Немає підключених пристроїв",
327
+ "oneTimePairToken": "Одноразовий токен",
328
+ "pairDevice": "Підключити пристрій",
329
+ "pairNewDevice": "Під’єднати новий пристрій",
330
+ "pairNewDeviceDesc": "Проскануйте QR-код за допомогою мобільного додатку Tracearr або введіть маркер вручну.",
331
+ "pairYourDevice": "Під’єднати ваш пристрій",
332
+ "pairYourDeviceDesc": "Проскануйте QR-код за допомогою додатку Tracearr, щоб під'єднати цей сервер.",
333
+ "pendingTokens": "{{count}} очікувані парні токени",
334
+ "removeDevice": "Видалити пристрій",
335
+ "removeDeviceConfirm": "Ви дійсно бажаєте видалити {{deviceName}}? Для підключення цей пристрій повинен буде знову під'єднатись.",
336
+ "renameDevice": "Перейменувати пристрій",
337
+ "renameDeviceDesc": "Введіть назву для ідентифікації цього пристрою зі списку.",
338
+ "revokeAll": "Скасувати всі сеанси",
339
+ "revokeAllConfirm": "Це призведе до відключення всіх мобільних пристроїв. Для підключення потрібно буде знову під'єднатися.",
340
+ "revokeAllSessions": "Відкликати всі",
341
+ "scanQrCode": "Проскануйте QR-код",
342
+ "title": "Мобільний додаток",
343
+ "tokenExpires": "Термін дії токена закінчується через {{time}}",
344
+ "tokenExpiryNote": "Цей токен закінчується через 5 хвилин і може бути використаний лише один раз."
394
345
  },
395
- "ipWarning": {
396
- "message": "Схоже на те, що всі користувачі використовують одну й ту саму IP-адресу або локальні IP-адреси. Це може вплинути на типову логіку для розташування або IP-адрес.",
397
- "acknowledge": "Зрозуміло"
346
+ "plex": {
347
+ "chooseServer": "Виберіть, який Plex медіасервер відстежувати",
348
+ "selectServer": "Оберіть сервер",
349
+ "signInWithPlex": "Увійти через Plex",
350
+ "signUpWithPlex": "Зареєструватися через Plex"
398
351
  },
399
- "backup": {
400
- "title": "Резервне копіювання",
401
- "backToBackups": "Назад до резервних копій",
402
- "description": "Резервне копіювання та відновлення даних Tracearr",
403
- "createBackup": "Створити резервну копію",
404
- "creating": "Створення резервної копії...",
405
- "uploadBackup": "Завантажити резервну копію",
406
- "uploading": "Відвантаження...",
407
- "databaseSize": "Поточний розмір бази даних: {{size}}",
408
- "freeSpace": "Backup directory free space: {{size}}",
409
- "lowDiskSpace": "Недостатньо місця на диску - резервні копії та відновлення вимагають хоча б двічі розміру бази даних у вільному просторі.",
410
- "backupHistory": "Історія резервного копіювання",
411
- "noBackups": "Поки немає резервних копій. Створіть першу резервну копію вище.",
412
- "filename": "Назва файлу",
413
- "size": "Розмір",
414
- "date": "Дата",
415
- "type": "Тип",
416
- "version": "Версія",
417
- "actions": "Дії",
418
- "typeManual": "Вручну",
419
- "typeScheduled": "Заплановані",
420
- "typeUploaded": "Відвантажено",
421
- "restoreAction": "Відновити",
422
- "deleteConfirmTitle": "Видалити резервну копію",
423
- "deleteConfirmDescription": "Ви впевнені, що хочете видалити цю резервну копію? Цю дію неможливо скасувати.",
424
- "schedule": "Заплановані резервні копії",
425
- "scheduleType": "Розклад",
426
- "scheduleDisabled": "Вимкнено",
427
- "scheduleDaily": "Щоденно",
428
- "scheduleWeekly": "Щотижня",
429
- "scheduleMonthly": "Щомісяця",
430
- "scheduleTime": "Час ({{timezone}})",
431
- "scheduleDayOfWeek": "День тижня",
432
- "scheduleDayOfMonth": "День місяця",
433
- "scheduleDayOfMonthHint": "У місяці з меншою кількістю днів починається резервне копіювання в останній день.",
434
- "retentionCount": "Залишити останній",
435
- "retentionSuffix": "заплановані резервні копії",
436
- "daySun": "Неділя",
437
- "dayMon": "Понеділок",
438
- "dayTue": "Вівторок",
439
- "dayWed": "Середа",
440
- "dayThu": "Четвер",
441
- "dayFri": "П'ятниця",
442
- "daySat": "Субота",
443
- "restore": {
444
- "title": "Відновити резервну копію",
445
- "selectedBackup": "Вибрана резервна копія",
446
- "databaseSize": "Розмір бази даних",
447
- "sessions": "Сеанси",
448
- "users": "Спільноти",
449
- "servers": "Сервери",
450
- "rules": "Правила",
451
- "libraryItems": "Елементи бібліотеки",
452
- "tables": "Таблиці",
453
- "warning": "Відновлення замінить всі наявні дані. Після завершення відновлення вам потрібно буде авторизуватися ще раз.",
454
- "confirmLabel": "Я розумію, що це замінить всі дані",
455
- "confirm": "Почати відновлення",
456
- "complete": "Відновлення успішно завершено. Незабаром сторінка оновиться.",
457
- "failed": "Відновлення не вдалося",
458
- "cannotRestore": "Для відновлення необхідні права суперкористувача PostgreSQL. Будь ласка, переконайтеся, що ваш користувач бази даних має права суперкористувача і повторіть спробу.",
459
- "pgVersionMismatch": "Резервну копію було створено в PostgreSQL {{backupVersion}} , але цей сервер запускає PostgreSQL {{serverVersion}}. Перезапуск вивантажувача з нової версії PostgreSQL не підтримується.",
460
- "tsVersionMismatch": "Резервна копія була створена в TimescaleDB {{backupVersion}} , але цей сервер підтримує лише TimescaleDB {{serverVersion}}."
352
+ "serverHealth": {
353
+ "multipleUnreachable": "{{count}} сервери недоступні: {{serverNames}}",
354
+ "unreachable": "{{serverName}} недоступний"
355
+ },
356
+ "servers": {
357
+ "addServer": "Додати сервер",
358
+ "addServerDialogDescOther": "Під'єднайте Jellyfin або Emby сервер.",
359
+ "addServerDialogDescPlex": "Виберіть Plex сервер з вашого пов'язаного акаунту.",
360
+ "added": "Додано {{date}}",
361
+ "allFieldsRequired": "Всі поля є обов'язковими",
362
+ "allServersConnected": "Всі сервери під'єднані",
363
+ "allServersConnectedDesc": "Всі сервери з цього облікового запису вже підключені.",
364
+ "apiKeyHelp": "Знайдено на головній сторінці вашого медіа-сервера в розділі \"API Keys\" або \"Розширені налаштування\".",
365
+ "apiKeyHelpEmby": "Знайти це в Емби Сервері → Ключі API",
366
+ "apiKeyHelpJellyfin": "Знайти це у налаштуваннях Jellyfin → Ключі API",
367
+ "apiKeyPlaceholder": "Введіть ваш ключ API",
368
+ "checkingConnection": "Checking connection…",
369
+ "chooseAccount": "Виберіть обліковий запис...",
370
+ "connectServer": "Під'єднати сервер",
371
+ "connecting": "Підключення...",
372
+ "connectionFailed": "Не вдалося підключитися",
373
+ "connectionSuccess": "Підключення успішне",
374
+ "description": "Керуйте вашими підключеними Plex, Jellyfin, та Ембі серверами",
375
+ "discoveringConnections": "Виявлення підключень...",
376
+ "discoveringServers": "Виявлення доступних серверів Plex...",
377
+ "editServer": "Редагувати сервер",
378
+ "editServerDesc": "Оновіть ім'я сервера або URL-адресу підключення.",
379
+ "loadingAccounts": "Завантаження зв'язаних облікових записів Plex...",
380
+ "noPlexAccountsLinked": "Немає пов'язаних облікових записів Plex",
381
+ "noPlexAccountsLinkedHint": "Прив'яжіть обліковий запис Plex вище, а потім поверніться до додавання сервера.",
382
+ "noServersConnected": "Немає підключених серверів",
383
+ "noServersConnectedHint": "Натисніть \"Add Server\" для підключення Jellyfin або серверів Emby",
384
+ "plexAccount": "Обліковий запис Plex",
385
+ "plexServerPlaceholder": "Мій Plex сервер",
386
+ "plexServerUrlPlaceholder": "http://192.168.1.100:32400",
387
+ "pluginUpdateAvailable": "Plugin update available",
388
+ "pluginVersion": "plugin v{{version}}",
389
+ "pollingMode": "Polling",
390
+ "posterSource": {
391
+ "automatic": "Automatic (most recent)",
392
+ "description": "When a title is on more than one server, use this server's poster. If it doesn't have one, we'll fall back to the most recently added copy.",
393
+ "emptyHint": "Add a server to choose a preferred poster source.",
394
+ "label": "Preferred Poster Source",
395
+ "title": "Poster Preferences",
396
+ "titleDesc": "Choose which server's poster is shown when a title exists on more than one server"
461
397
  },
462
- "toast": {
463
- "backupCreated": "Резервна копія успішно створена",
464
- "backupCreateFailed": "Не вдалося створити резервну копію",
465
- "backupUploaded": "Резервна копія успішно завантажена",
466
- "backupUploadFailed": "Не вдалося завантажити резервну копію",
467
- "backupDeleted": "Резервна копія видалена",
468
- "backupDeleteFailed": "Не вдалося видалити резервну копію",
469
- "restoreStarted": "Відновлення почалося",
470
- "restoreStartFailed": "Не вдалося розпочати відновлення",
471
- "scheduleSaved": "Розклад резервного копіювання збережено",
472
- "scheduleError": "Не вдалося зберегти розклад резервного копіювання"
398
+ "realtimeActive": "Real-time updates active",
399
+ "realtimeDialog": {
400
+ "autoDetectNote": "Restart Jellyfin or Emby after installing the plugin; the restart is required. Tracearr itself needs no restart and picks the plugin up automatically.",
401
+ "close": "Close",
402
+ "copyUrl": "Copy URL",
403
+ "embyDescription": "Install the Tracearr SSE plugin to get instant session updates without waiting for the next poll.",
404
+ "embyReleasesUrl": "https://github.com/Tracearr/Media-Server-SSE/releases",
405
+ "embyUpdateDescription": "A newer plugin release is available. Download the latest release zip, replace the plugin DLL in your Emby plugins folder, and restart Emby.",
406
+ "issueBlocked": "The server reports the plugin as installed and active, but Tracearr gets a 404 from its endpoint. A reverse proxy blocking the path is the usual cause.",
407
+ "issueMalfunctioned": "The server reports the plugin failed to load. Updating the plugin or the media server usually clears this.",
408
+ "issueRestartRequired": "The plugin is installed, but the media server needs a restart before it activates.",
409
+ "jellyfinDescription": "Install the Tracearr SSE plugin to get instant session updates without waiting for the next poll.",
410
+ "jellyfinRepoUrl": "https://raw.githubusercontent.com/Tracearr/Media-Server-SSE/main/manifest.json",
411
+ "jellyfinUpdateDescription": "A newer plugin release is available. Open your Jellyfin dashboard, go to Plugins, Catalog, and update Tracearr SSE, then restart Jellyfin.",
412
+ "openReleases": "Open releases page",
413
+ "repositoryUrl": "Repository URL",
414
+ "title": "Enable real-time updates",
415
+ "updateTitle": "Update the Tracearr SSE plugin"
416
+ },
417
+ "realtimeError": "Real-time error",
418
+ "removeServer": "Видалити сервер",
419
+ "removeServerConfirm": "Ви впевнені, що хочете видалити цей сервер? Усі пов'язані дані сеансу буде збережено, але ви не зможете стежити за новими сеансами з цього сервера.",
420
+ "selectAccountHelp": "Виберіть, з якого акаунта Plex можна знайти на серверах.",
421
+ "selectPlexAccount": "Вибрати обліковий запис Plex",
422
+ "serverColor": "Колір сервера",
423
+ "serverColorDesc": "Використовується для візуального атрибуції в багатосерверному перегляді",
424
+ "serverName": "Назва сервера",
425
+ "serverNamePlaceholder": "Мій медіа-сервер",
426
+ "serverType": "Тип сервера",
427
+ "serverUrl": "URL-адреса сервера",
428
+ "serverUrlHelp": "Пряме посилання до вашого Jellyfin або Emby сервера. Використовуйте IP:port для кращої надійності.",
429
+ "serverUrlHelpEmby": "URL-адреса доступного сервера Emby",
430
+ "serverUrlHelpJellyfin": "Посилання, де доступний сервер Jellyfin",
431
+ "serverUrlPlaceholder": "http://192.168.1.100:8096",
432
+ "setupRealtime": "Set up real-time updates",
433
+ "syncInterval": "Інтервал синхронізації",
434
+ "testConnection": "Перевірити підключення",
435
+ "title": "Підключені сервери",
436
+ "updateHint": "Або натисніть кнопку Оновити нижче, щоб зберегти лише зміну імені.",
437
+ "updating": "Оновлюється...",
438
+ "version": {
439
+ "installed": "Version {{version}}",
440
+ "upToDate": "up to date",
441
+ "updateAvailable": "update {{version}} available"
473
442
  }
443
+ },
444
+ "tabs": {
445
+ "accessControl": "Контроль доступу",
446
+ "advanced": "Розширені",
447
+ "backup": "Резервне копіювання",
448
+ "general": "Загальні",
449
+ "import": "Iмпорт",
450
+ "jobs": "Завдання",
451
+ "mobile": "Мобільний додаток",
452
+ "notifications": "Сповіщення",
453
+ "servers": "Сервери",
454
+ "tailscale": "Tailscale"
455
+ },
456
+ "tailscale": {
457
+ "authorize": "Авторизація в Tailscale",
458
+ "awaitingAuth": "Очікування авторизації...",
459
+ "connected": "Tailscale підключено. Ваш екземпляр Tracearr доступний у мережі Tailnet.",
460
+ "description": "Безпечний доступ до Tracearr у вашій мережі Tailscale без переадресації портів.",
461
+ "disable": "Вимкнути Tailscale",
462
+ "disableConfirmDescription": "Ця дія відключить Tracearr від вашого tailnet. Ви можете повторно увімкнути без повторного дозволу.",
463
+ "disableConfirmTitle": "Вимкнути Tailscale?",
464
+ "disabledDescription": "Увімкніть Tailscale для розміщення Tracearr в приватному tailnet. Пересилання порту чи зворотний проксі-сервер не потрібно.",
465
+ "dnsName": "Ім'я DNS",
466
+ "enable": "Увімкнути Tailscale",
467
+ "exitNodeNone": "Без ефекту",
468
+ "exitNodeOffline": "(не в мережі)",
469
+ "hideLogs": "Приховати логи",
470
+ "hostname": "Hostname",
471
+ "hostnameHint": "Необов'язкове користувацьке ім'я для цього пристрою на звороті tailnet. Букви, цифри та дефіси.",
472
+ "hostnameLabel": "Ім'я хоста пристрою",
473
+ "noLogs": "Немає доступних логів.",
474
+ "notAvailable": "Зворотний масштаб не знайдено. Ця функція доступна тільки при запуску офіційного Docker зображення.",
475
+ "resetConfirmDescription": "Це призведе до відключення Tracearr від вашого tailnet і видалення ідентифікації пристрою. Вам доведеться повторно авторизуватися, якщо ви включите його знову.",
476
+ "resetConfirmTitle": "Скинути Tailscale?",
477
+ "showLogs": "Показати логи",
478
+ "starting": "Шкала початку...",
479
+ "stopping": "Зупинка Tailscale...",
480
+ "tailnetUrl": "URL",
481
+ "title": "Tailscale VPN",
482
+ "toast": {
483
+ "disableFailed": "Не вдалося вимкнути Tailscale",
484
+ "disabled": "Tailscale було вимкнено.",
485
+ "enableFailed": "Не вдалося увімкнути Tailscale",
486
+ "exitNodeFailed": "Не вдалося встановити вихід вузла",
487
+ "exitNodeSet": "Вийти оновлено.",
488
+ "reset": "Tailscale було скинуто.",
489
+ "resetFailed": "Не вдалося скинути Tailscale"
490
+ },
491
+ "unknownError": "Сталася невідома помилка."
492
+ },
493
+ "title": "Налаштування",
494
+ "update": {
495
+ "betaUpdate": "Бета-оновлення",
496
+ "newVersion": "Нова версія",
497
+ "pullInstructions": "Після витягування, перезавантажте контейнер щоб застосувати оновлення.",
498
+ "releaseNotes": "Примітки до оновлення",
499
+ "stableRelease": "Стабільна версія",
500
+ "title": "Доступне оновлення",
501
+ "updateCommand": "Оновити команду",
502
+ "versionAvailable": "{{version}} доступно"
474
503
  }
475
504
  }