@tracearr/translations 2.1.0-beta.7 → 2.1.0

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 (301) hide show
  1. package/dist/config.d.ts +4 -2
  2. package/dist/config.d.ts.map +1 -1
  3. package/dist/config.mobile.d.ts +4 -2
  4. package/dist/config.mobile.d.ts.map +1 -1
  5. package/dist/locales/af-ZA/common.json +251 -251
  6. package/dist/locales/af-ZA/mobile.json +125 -125
  7. package/dist/locales/af-ZA/notifications.json +226 -226
  8. package/dist/locales/af-ZA/pages.json +69 -67
  9. package/dist/locales/af-ZA/settings.json +446 -446
  10. package/dist/locales/ar-SA/common.json +251 -251
  11. package/dist/locales/ar-SA/mobile.json +125 -125
  12. package/dist/locales/ar-SA/notifications.json +226 -226
  13. package/dist/locales/ar-SA/pages.json +69 -67
  14. package/dist/locales/ar-SA/settings.json +446 -446
  15. package/dist/locales/ca-ES/common.json +251 -251
  16. package/dist/locales/ca-ES/mobile.json +125 -125
  17. package/dist/locales/ca-ES/notifications.json +226 -226
  18. package/dist/locales/ca-ES/pages.json +69 -67
  19. package/dist/locales/ca-ES/settings.json +446 -446
  20. package/dist/locales/cs-CZ/common.json +251 -251
  21. package/dist/locales/cs-CZ/mobile.json +125 -125
  22. package/dist/locales/cs-CZ/notifications.json +226 -226
  23. package/dist/locales/cs-CZ/pages.json +69 -67
  24. package/dist/locales/cs-CZ/settings.json +446 -446
  25. package/dist/locales/da-DK/common.json +251 -251
  26. package/dist/locales/da-DK/mobile.json +125 -125
  27. package/dist/locales/da-DK/notifications.json +226 -226
  28. package/dist/locales/da-DK/pages.json +69 -67
  29. package/dist/locales/da-DK/settings.json +446 -446
  30. package/dist/locales/de-DE/common.json +251 -251
  31. package/dist/locales/de-DE/mobile.json +125 -125
  32. package/dist/locales/de-DE/notifications.json +226 -226
  33. package/dist/locales/de-DE/pages.json +69 -67
  34. package/dist/locales/de-DE/settings.json +446 -446
  35. package/dist/locales/el-GR/common.json +251 -251
  36. package/dist/locales/el-GR/mobile.json +125 -125
  37. package/dist/locales/el-GR/notifications.json +226 -226
  38. package/dist/locales/el-GR/pages.json +69 -67
  39. package/dist/locales/el-GR/settings.json +446 -446
  40. package/dist/locales/en/pages.json +2 -1
  41. package/dist/locales/en-US/common.json +251 -251
  42. package/dist/locales/en-US/mobile.json +125 -125
  43. package/dist/locales/en-US/notifications.json +224 -224
  44. package/dist/locales/en-US/pages.json +57 -55
  45. package/dist/locales/en-US/settings.json +446 -446
  46. package/dist/locales/es-ES/common.json +251 -251
  47. package/dist/locales/es-ES/mobile.json +125 -125
  48. package/dist/locales/es-ES/notifications.json +226 -226
  49. package/dist/locales/es-ES/pages.json +69 -67
  50. package/dist/locales/es-ES/settings.json +446 -446
  51. package/dist/locales/fi-FI/common.json +251 -251
  52. package/dist/locales/fi-FI/mobile.json +125 -125
  53. package/dist/locales/fi-FI/notifications.json +226 -226
  54. package/dist/locales/fi-FI/pages.json +69 -67
  55. package/dist/locales/fi-FI/settings.json +446 -446
  56. package/dist/locales/fr-FR/common.json +251 -251
  57. package/dist/locales/fr-FR/notifications.json +226 -226
  58. package/dist/locales/fr-FR/pages.json +69 -67
  59. package/dist/locales/fr-FR/settings.json +446 -446
  60. package/dist/locales/he-IL/common.json +251 -251
  61. package/dist/locales/he-IL/mobile.json +125 -125
  62. package/dist/locales/he-IL/notifications.json +226 -226
  63. package/dist/locales/he-IL/pages.json +69 -67
  64. package/dist/locales/he-IL/settings.json +446 -446
  65. package/dist/locales/hu-HU/common.json +251 -251
  66. package/dist/locales/hu-HU/mobile.json +125 -125
  67. package/dist/locales/hu-HU/notifications.json +226 -226
  68. package/dist/locales/hu-HU/pages.json +69 -67
  69. package/dist/locales/hu-HU/settings.json +446 -446
  70. package/dist/locales/it-IT/common.json +251 -251
  71. package/dist/locales/it-IT/mobile.json +125 -125
  72. package/dist/locales/it-IT/notifications.json +226 -226
  73. package/dist/locales/it-IT/pages.json +69 -67
  74. package/dist/locales/it-IT/settings.json +446 -446
  75. package/dist/locales/ja-JP/common.json +251 -251
  76. package/dist/locales/ja-JP/mobile.json +125 -125
  77. package/dist/locales/ja-JP/notifications.json +226 -226
  78. package/dist/locales/ja-JP/pages.json +69 -67
  79. package/dist/locales/ja-JP/settings.json +446 -446
  80. package/dist/locales/ko-KR/common.json +251 -251
  81. package/dist/locales/ko-KR/mobile.json +125 -125
  82. package/dist/locales/ko-KR/notifications.json +226 -226
  83. package/dist/locales/ko-KR/pages.json +69 -67
  84. package/dist/locales/ko-KR/settings.json +446 -446
  85. package/dist/locales/nl-NL/common.json +251 -251
  86. package/dist/locales/nl-NL/notifications.json +226 -226
  87. package/dist/locales/nl-NL/pages.json +69 -67
  88. package/dist/locales/no-NO/common.json +251 -251
  89. package/dist/locales/no-NO/mobile.json +125 -125
  90. package/dist/locales/no-NO/notifications.json +226 -226
  91. package/dist/locales/no-NO/pages.json +69 -67
  92. package/dist/locales/no-NO/settings.json +446 -446
  93. package/dist/locales/pl-PL/common.json +251 -251
  94. package/dist/locales/pl-PL/mobile.json +125 -125
  95. package/dist/locales/pl-PL/notifications.json +226 -226
  96. package/dist/locales/pl-PL/pages.json +69 -67
  97. package/dist/locales/pl-PL/settings.json +446 -446
  98. package/dist/locales/pt-BR/common.json +251 -251
  99. package/dist/locales/pt-BR/mobile.json +125 -125
  100. package/dist/locales/pt-BR/notifications.json +226 -226
  101. package/dist/locales/pt-BR/pages.json +69 -67
  102. package/dist/locales/pt-BR/settings.json +446 -446
  103. package/dist/locales/pt-PT/common.json +251 -251
  104. package/dist/locales/pt-PT/mobile.json +125 -125
  105. package/dist/locales/pt-PT/notifications.json +226 -226
  106. package/dist/locales/pt-PT/pages.json +69 -67
  107. package/dist/locales/pt-PT/settings.json +446 -446
  108. package/dist/locales/ro-RO/common.json +251 -251
  109. package/dist/locales/ro-RO/mobile.json +125 -125
  110. package/dist/locales/ro-RO/notifications.json +226 -226
  111. package/dist/locales/ro-RO/pages.json +69 -67
  112. package/dist/locales/ro-RO/settings.json +446 -446
  113. package/dist/locales/ru-RU/common.json +251 -251
  114. package/dist/locales/ru-RU/mobile.json +125 -125
  115. package/dist/locales/ru-RU/notifications.json +226 -226
  116. package/dist/locales/ru-RU/pages.json +69 -67
  117. package/dist/locales/ru-RU/settings.json +446 -446
  118. package/dist/locales/sr-SP/common.json +251 -251
  119. package/dist/locales/sr-SP/mobile.json +125 -125
  120. package/dist/locales/sr-SP/notifications.json +226 -226
  121. package/dist/locales/sr-SP/pages.json +69 -67
  122. package/dist/locales/sr-SP/settings.json +446 -446
  123. package/dist/locales/sv-SE/common.json +251 -251
  124. package/dist/locales/sv-SE/mobile.json +125 -125
  125. package/dist/locales/sv-SE/notifications.json +226 -226
  126. package/dist/locales/sv-SE/pages.json +69 -67
  127. package/dist/locales/sv-SE/settings.json +446 -446
  128. package/dist/locales/tr-TR/common.json +251 -251
  129. package/dist/locales/tr-TR/mobile.json +125 -125
  130. package/dist/locales/tr-TR/notifications.json +226 -226
  131. package/dist/locales/tr-TR/pages.json +69 -67
  132. package/dist/locales/tr-TR/settings.json +446 -446
  133. package/dist/locales/uk-UA/common.json +251 -251
  134. package/dist/locales/uk-UA/mobile.json +125 -125
  135. package/dist/locales/uk-UA/notifications.json +226 -226
  136. package/dist/locales/uk-UA/pages.json +69 -67
  137. package/dist/locales/uk-UA/settings.json +446 -446
  138. package/dist/locales/vi-VN/common.json +251 -251
  139. package/dist/locales/vi-VN/mobile.json +125 -125
  140. package/dist/locales/vi-VN/notifications.json +226 -226
  141. package/dist/locales/vi-VN/pages.json +69 -67
  142. package/dist/locales/vi-VN/settings.json +446 -446
  143. package/dist/locales/zh-CN/common.json +251 -251
  144. package/dist/locales/zh-CN/mobile.json +125 -125
  145. package/dist/locales/zh-CN/notifications.json +226 -226
  146. package/dist/locales/zh-CN/pages.json +69 -67
  147. package/dist/locales/zh-CN/settings.json +446 -446
  148. package/dist/locales/zh-TW/common.json +251 -251
  149. package/dist/locales/zh-TW/mobile.json +125 -125
  150. package/dist/locales/zh-TW/notifications.json +226 -226
  151. package/dist/locales/zh-TW/pages.json +69 -67
  152. package/dist/locales/zh-TW/settings.json +446 -446
  153. package/package.json +1 -1
  154. package/src/locales/af-ZA/common.json +251 -251
  155. package/src/locales/af-ZA/mobile.json +125 -125
  156. package/src/locales/af-ZA/notifications.json +226 -226
  157. package/src/locales/af-ZA/pages.json +69 -67
  158. package/src/locales/af-ZA/settings.json +446 -446
  159. package/src/locales/ar-SA/common.json +251 -251
  160. package/src/locales/ar-SA/mobile.json +125 -125
  161. package/src/locales/ar-SA/notifications.json +226 -226
  162. package/src/locales/ar-SA/pages.json +69 -67
  163. package/src/locales/ar-SA/settings.json +446 -446
  164. package/src/locales/ca-ES/common.json +251 -251
  165. package/src/locales/ca-ES/mobile.json +125 -125
  166. package/src/locales/ca-ES/notifications.json +226 -226
  167. package/src/locales/ca-ES/pages.json +69 -67
  168. package/src/locales/ca-ES/settings.json +446 -446
  169. package/src/locales/cs-CZ/common.json +251 -251
  170. package/src/locales/cs-CZ/mobile.json +125 -125
  171. package/src/locales/cs-CZ/notifications.json +226 -226
  172. package/src/locales/cs-CZ/pages.json +69 -67
  173. package/src/locales/cs-CZ/settings.json +446 -446
  174. package/src/locales/da-DK/common.json +251 -251
  175. package/src/locales/da-DK/mobile.json +125 -125
  176. package/src/locales/da-DK/notifications.json +226 -226
  177. package/src/locales/da-DK/pages.json +69 -67
  178. package/src/locales/da-DK/settings.json +446 -446
  179. package/src/locales/de-DE/common.json +251 -251
  180. package/src/locales/de-DE/mobile.json +125 -125
  181. package/src/locales/de-DE/notifications.json +226 -226
  182. package/src/locales/de-DE/pages.json +69 -67
  183. package/src/locales/de-DE/settings.json +446 -446
  184. package/src/locales/el-GR/common.json +251 -251
  185. package/src/locales/el-GR/mobile.json +125 -125
  186. package/src/locales/el-GR/notifications.json +226 -226
  187. package/src/locales/el-GR/pages.json +69 -67
  188. package/src/locales/el-GR/settings.json +446 -446
  189. package/src/locales/en/pages.json +2 -1
  190. package/src/locales/en-US/common.json +251 -251
  191. package/src/locales/en-US/mobile.json +125 -125
  192. package/src/locales/en-US/notifications.json +224 -224
  193. package/src/locales/en-US/pages.json +57 -55
  194. package/src/locales/en-US/settings.json +446 -446
  195. package/src/locales/es-ES/common.json +251 -251
  196. package/src/locales/es-ES/mobile.json +125 -125
  197. package/src/locales/es-ES/notifications.json +226 -226
  198. package/src/locales/es-ES/pages.json +69 -67
  199. package/src/locales/es-ES/settings.json +446 -446
  200. package/src/locales/fi-FI/common.json +251 -251
  201. package/src/locales/fi-FI/mobile.json +125 -125
  202. package/src/locales/fi-FI/notifications.json +226 -226
  203. package/src/locales/fi-FI/pages.json +69 -67
  204. package/src/locales/fi-FI/settings.json +446 -446
  205. package/src/locales/fr-FR/common.json +251 -251
  206. package/src/locales/fr-FR/notifications.json +226 -226
  207. package/src/locales/fr-FR/pages.json +69 -67
  208. package/src/locales/fr-FR/settings.json +446 -446
  209. package/src/locales/he-IL/common.json +251 -251
  210. package/src/locales/he-IL/mobile.json +125 -125
  211. package/src/locales/he-IL/notifications.json +226 -226
  212. package/src/locales/he-IL/pages.json +69 -67
  213. package/src/locales/he-IL/settings.json +446 -446
  214. package/src/locales/hu-HU/common.json +251 -251
  215. package/src/locales/hu-HU/mobile.json +125 -125
  216. package/src/locales/hu-HU/notifications.json +226 -226
  217. package/src/locales/hu-HU/pages.json +69 -67
  218. package/src/locales/hu-HU/settings.json +446 -446
  219. package/src/locales/it-IT/common.json +251 -251
  220. package/src/locales/it-IT/mobile.json +125 -125
  221. package/src/locales/it-IT/notifications.json +226 -226
  222. package/src/locales/it-IT/pages.json +69 -67
  223. package/src/locales/it-IT/settings.json +446 -446
  224. package/src/locales/ja-JP/common.json +251 -251
  225. package/src/locales/ja-JP/mobile.json +125 -125
  226. package/src/locales/ja-JP/notifications.json +226 -226
  227. package/src/locales/ja-JP/pages.json +69 -67
  228. package/src/locales/ja-JP/settings.json +446 -446
  229. package/src/locales/ko-KR/common.json +251 -251
  230. package/src/locales/ko-KR/mobile.json +125 -125
  231. package/src/locales/ko-KR/notifications.json +226 -226
  232. package/src/locales/ko-KR/pages.json +69 -67
  233. package/src/locales/ko-KR/settings.json +446 -446
  234. package/src/locales/nl-NL/common.json +251 -251
  235. package/src/locales/nl-NL/notifications.json +226 -226
  236. package/src/locales/nl-NL/pages.json +69 -67
  237. package/src/locales/no-NO/common.json +251 -251
  238. package/src/locales/no-NO/mobile.json +125 -125
  239. package/src/locales/no-NO/notifications.json +226 -226
  240. package/src/locales/no-NO/pages.json +69 -67
  241. package/src/locales/no-NO/settings.json +446 -446
  242. package/src/locales/pl-PL/common.json +251 -251
  243. package/src/locales/pl-PL/mobile.json +125 -125
  244. package/src/locales/pl-PL/notifications.json +226 -226
  245. package/src/locales/pl-PL/pages.json +69 -67
  246. package/src/locales/pl-PL/settings.json +446 -446
  247. package/src/locales/pt-BR/common.json +251 -251
  248. package/src/locales/pt-BR/mobile.json +125 -125
  249. package/src/locales/pt-BR/notifications.json +226 -226
  250. package/src/locales/pt-BR/pages.json +69 -67
  251. package/src/locales/pt-BR/settings.json +446 -446
  252. package/src/locales/pt-PT/common.json +251 -251
  253. package/src/locales/pt-PT/mobile.json +125 -125
  254. package/src/locales/pt-PT/notifications.json +226 -226
  255. package/src/locales/pt-PT/pages.json +69 -67
  256. package/src/locales/pt-PT/settings.json +446 -446
  257. package/src/locales/ro-RO/common.json +251 -251
  258. package/src/locales/ro-RO/mobile.json +125 -125
  259. package/src/locales/ro-RO/notifications.json +226 -226
  260. package/src/locales/ro-RO/pages.json +69 -67
  261. package/src/locales/ro-RO/settings.json +446 -446
  262. package/src/locales/ru-RU/common.json +251 -251
  263. package/src/locales/ru-RU/mobile.json +125 -125
  264. package/src/locales/ru-RU/notifications.json +226 -226
  265. package/src/locales/ru-RU/pages.json +69 -67
  266. package/src/locales/ru-RU/settings.json +446 -446
  267. package/src/locales/sr-SP/common.json +251 -251
  268. package/src/locales/sr-SP/mobile.json +125 -125
  269. package/src/locales/sr-SP/notifications.json +226 -226
  270. package/src/locales/sr-SP/pages.json +69 -67
  271. package/src/locales/sr-SP/settings.json +446 -446
  272. package/src/locales/sv-SE/common.json +251 -251
  273. package/src/locales/sv-SE/mobile.json +125 -125
  274. package/src/locales/sv-SE/notifications.json +226 -226
  275. package/src/locales/sv-SE/pages.json +69 -67
  276. package/src/locales/sv-SE/settings.json +446 -446
  277. package/src/locales/tr-TR/common.json +251 -251
  278. package/src/locales/tr-TR/mobile.json +125 -125
  279. package/src/locales/tr-TR/notifications.json +226 -226
  280. package/src/locales/tr-TR/pages.json +69 -67
  281. package/src/locales/tr-TR/settings.json +446 -446
  282. package/src/locales/uk-UA/common.json +251 -251
  283. package/src/locales/uk-UA/mobile.json +125 -125
  284. package/src/locales/uk-UA/notifications.json +226 -226
  285. package/src/locales/uk-UA/pages.json +69 -67
  286. package/src/locales/uk-UA/settings.json +446 -446
  287. package/src/locales/vi-VN/common.json +251 -251
  288. package/src/locales/vi-VN/mobile.json +125 -125
  289. package/src/locales/vi-VN/notifications.json +226 -226
  290. package/src/locales/vi-VN/pages.json +69 -67
  291. package/src/locales/vi-VN/settings.json +446 -446
  292. package/src/locales/zh-CN/common.json +251 -251
  293. package/src/locales/zh-CN/mobile.json +125 -125
  294. package/src/locales/zh-CN/notifications.json +226 -226
  295. package/src/locales/zh-CN/pages.json +69 -67
  296. package/src/locales/zh-CN/settings.json +446 -446
  297. package/src/locales/zh-TW/common.json +251 -251
  298. package/src/locales/zh-TW/mobile.json +125 -125
  299. package/src/locales/zh-TW/notifications.json +226 -226
  300. package/src/locales/zh-TW/pages.json +69 -67
  301. package/src/locales/zh-TW/settings.json +446 -446
@@ -1,501 +1,501 @@
1
1
  {
2
- "accessControl": {
3
- "allowGuestAccess": "Permite accesul vizitatorilor",
4
- "allowGuestAccessDesc": "Când este dezactivat, numai proprietarul serverului se poate conecta la Tracearr",
5
- "description": "Configurați cine poate accesa Tracearr",
6
- "singleOwnerNote": "Notă: Când accesul vizitatorilor este dezactivat, numai proprietarul serverului se poate conecta. Toți ceilalți utilizatori vor vedea un mesaj \"Acces refuzat\".",
7
- "title": "Control Acces"
8
- },
9
- "account": {
10
- "createAccount": "Creare cont",
11
- "createYourAccount": "Creează-ți un cont pentru a începe",
12
- "displayName": "Nume afișat",
13
- "email": "E-mail",
14
- "password": "Parolă",
15
- "signInToAccount": "Conectează-te la contul tău",
16
- "useLocalAccount": "Folosește în schimb contul local"
17
- },
18
- "advanced": {
19
- "connectionScenarios": "Scenarii conexiune",
20
- "externalUrl": "URL extern",
21
- "reverseProxy": "Inversează Proxy",
22
- "title": "Setări avansate",
23
- "trustProxy": "Antete proxy de încredere"
24
- },
25
- "backup": {
26
- "actions": "Acțiuni",
27
- "backToBackups": "Înapoi la copii de rezervă",
28
- "backupHistory": "Istoric backup",
29
- "createBackup": "Creare copie de rezervă",
30
- "creating": "Creare backup...",
31
- "databaseSize": "Dimensiunea curentă a bazei de date: {{size}}",
32
- "date": "Data",
33
- "dayFri": "Vineri",
34
- "dayMon": "Luni",
35
- "daySat": "Sâmbătă",
36
- "daySun": "Duminică",
37
- "dayThu": "Joi",
38
- "dayTue": "Marţi",
39
- "dayWed": "Miercuri",
40
- "deleteConfirmDescription": "Sunteţi sigur că doriţi să ştergeţi această copie de rezervă? Această acţiune nu poate fi anulată.",
41
- "deleteConfirmTitle": "Șterge copie de rezervă",
42
- "description": "Copie de rezervă şi restaurare a datelor Tracearr",
43
- "filename": "Nume fișier",
44
- "freeSpace": "Spațiu liber pentru directorul de rezervă: {{size}}",
45
- "lowDiskSpace": "Spațiu redus pe disc - copiile de rezervă și restaurările necesită cel puțin de două ori dimensiunea bazei de date în spațiu liber.",
46
- "noBackups": "Nici o copie de rezervă încă. Creaţi prima copie de rezervă mai sus.",
47
- "restore": {
48
- "cannotRestore": "Restaurarea necesită privilegii de superutilizator PostgreSQL. Vă rugăm să vă asigurați că utilizatorul are privilegii de superutilizator și încercați din nou.",
49
- "complete": "Restaurare finalizată cu succes. Pagina va fi reîmprospătată în scurt timp.",
50
- "confirm": "Pornește restaurarea",
51
- "confirmLabel": "Am înțeles că acest lucru va înlocui toate datele",
52
- "databaseSize": "Mărimea bazei de date",
53
- "failed": "Restabilirea a eșuat",
54
- "libraryItems": "Elementele bibliotecii",
55
- "pgVersionMismatch": "Backup a fost creat pe PostgreSQL {{backupVersion}} , dar acest server rulează PostgreSQL {{serverVersion}}. Restaurarea unei copie de la o versiune mai nouă PostgreSQL nu este acceptată.",
56
- "rules": "Reguli",
57
- "selectedBackup": "Backup selectat",
58
- "servers": "Servere",
59
- "sessions": "Sesiuni",
60
- "tables": "Tabele",
61
- "title": "Restabilire copie de rezervă",
62
- "tsVersionMismatch": "Backup a fost creat cu TimescaleDB {{backupVersion}} , dar acest server suportă doar TimescaleDB {{serverVersion}}.",
63
- "users": "Utilizatori",
64
- "warning": "Restaurarea va înlocui toate datele existente. Va trebui să vă reconectați după finalizarea restaurării."
65
- },
66
- "restoreAction": "Restaurează",
67
- "retentionCount": "Păstrați ultimul",
68
- "retentionSuffix": "Backup-uri programate",
69
- "schedule": "Backup-uri programate",
70
- "scheduleDaily": "Zilnic",
71
- "scheduleDayOfMonth": "Zi a lunii",
72
- "scheduleDayOfMonthHint": "În luni cu mai puţine zile, copia de rezervă se va desfăşura în ultima zi.",
73
- "scheduleDayOfWeek": "Zi a săptămânii",
74
- "scheduleDisabled": "Dezactivat",
75
- "scheduleMonthly": "Lunar",
76
- "scheduleTime": "Timp ({{timezone}})",
77
- "scheduleType": "Programare",
78
- "scheduleWeekly": "Săptămânal",
79
- "size": "Dimensiune",
80
- "title": "Backup",
81
- "toast": {
82
- "backupCreateFailed": "Crearea copiei de rezervă a eșuat",
83
- "backupCreated": "Backup creat cu succes",
84
- "backupDeleteFailed": "Ștergerea copiei de rezervă a eșuat",
85
- "backupDeleted": "Backup şters",
86
- "backupUploadFailed": "Încărcarea copiei de rezervă a eșuat",
87
- "backupUploaded": "Backup încărcat cu succes",
88
- "restoreStartFailed": "Pornirea restaurării a eșuat",
89
- "restoreStarted": "Restaurare începută",
90
- "scheduleError": "Salvarea programului de backup a eșuat",
91
- "scheduleSaved": "Program de rezervă salvat"
92
- },
93
- "type": "Tip",
94
- "typeManual": "Manual",
95
- "typeScheduled": "Programat",
96
- "typeUploaded": "Încărcat",
97
- "uploadBackup": "Încărcare copie de rezervă",
98
- "uploading": "Încărcare...",
99
- "version": "Versiune"
2
+ "title": "Setări",
3
+ "tabs": {
4
+ "general": "Generalități",
5
+ "servers": "Servere",
6
+ "notifications": "Notificări",
7
+ "mobile": "Aplicație mobilă",
8
+ "tailscale": "Corespondență",
9
+ "import": "Importă",
10
+ "advanced": "Avansat",
11
+ "jobs": "Joburi",
12
+ "accessControl": "Control Acces",
13
+ "backup": "Backup"
100
14
  },
101
15
  "general": {
102
- "accentColor": "Culoare accent",
103
- "apiDocs": "API Docs",
104
- "apiKeyDesc": "Accesează API-ul Tracearr pentru integrarea terților cum ar fi Homarr, Asistent la domiciliu, etc.",
105
- "apiKeyReadAccess": "Cheia Dumneavoastră API permite accesul la citirea completă a datelor dumneavoastră de Tracearr.",
106
- "apiRateLimit": "API Rate Limit",
107
- "apiRateLimitDesc": "Maximum public API requests per minute per key. Restart required to apply.",
108
- "apiRateLimitSuffix": "/min",
16
+ "title": "Setări generale",
17
+ "unitSystem": "Sistem unitar",
18
+ "metric": "Metrice (km, km/h)",
19
+ "imperial": "Imperial (mi, mph)",
20
+ "timezone": "Timezone",
21
+ "primaryAuth": "Metoda de autentificare primară",
22
+ "localAccount": "Cont local",
23
+ "plexAccount": "Cont Plex",
24
+ "language": "Limba",
25
+ "languageDescription": "Alegeți limba de afișare preferată.",
26
+ "helpTranslate": "Ajută la traducerea Tracearr",
27
+ "timeFormat": "Formatul timpului",
28
+ "timeFormatDescription": "Alege timpul de afișare.",
29
+ "timeFormat12h": "12 ore (1:30 PM)",
30
+ "timeFormat24h": "24 ore (13:30)",
109
31
  "appearance": "Aspectul",
110
32
  "appearanceDesc": "Personalizaţi aspectul şi simţul Tracearr",
33
+ "theme": "Tema",
34
+ "accentColor": "Culoare accent",
35
+ "default": "(implicit)",
36
+ "cyanDefault": "* Turcoaz este culoarea implicită de accent",
37
+ "themeLight": "Lumină",
38
+ "themeDark": "Întunecat",
39
+ "themeSystem": "Sistem",
111
40
  "application": "Cerere",
112
41
  "applicationDesc": "Configurați setările de bază ale aplicației",
113
- "copyToClipboard": "Copiază în clipboard",
114
- "cyanDefault": "* Turcoaz este culoarea implicită de accent",
115
- "default": "(implicit)",
116
- "detect": "Detectează",
42
+ "unitSystemDesc": "Alegeți cum sunt afișate distanțele și vitezele",
43
+ "sessionSync": "Sincronizare sesiune",
44
+ "sessionSyncDesc": "Activează urmărirea sesiunii pentru serverele tale media",
45
+ "syncInterval": "Interval de sincronizare",
46
+ "syncIntervalDesc": "Frecvenţa sondajelor de opinie pentru Jellyfin/Emby (5-300 secunde)",
47
+ "syncIntervalSuffix": "sec",
48
+ "plexSseNote": "Plex folosește Server-Trient Events (SSE) pentru actualizări aproape instantanee – nu este nevoie de sondaje",
49
+ "jellyfinPollingNote": "Jellyfin/Emby sunt sondate la intervalul de mai sus.",
117
50
  "enhancedGeoIP": "Căutare GeoIP îmbunătățită",
118
51
  "enhancedGeoIPDesc": "Utilizați serviciul GeoIP al Plex pentru date de localizare mai precise. Când este activată, adresele IP sunt trimise la plex. v pentru căutare. Baza de date locală MaxMind este folosită ca rezervă.",
119
52
  "externalAccess": "Acces extern",
120
53
  "externalAccessDesc": "Configurați modul în care dispozitivele externe (cum ar fi aplicațiile mobile) se conectează la server",
121
54
  "externalUrl": "URL extern",
122
- "externalUrlDesc": "URL-ul pe care dispozitivele externe ar trebui să îl folosească pentru a ajunge la acest server. Folosit pentru coduri QR și pentru asocierea aplicațiilor mobile.",
123
55
  "externalUrlPlaceholder": "https://tracearr.example.com",
124
- "generateApiKeyPrompt": "Generează o cheie API pentru a activa integrarea externă.",
125
- "generateKey": "Generare cheie",
126
- "helpTranslate": "Ajută la traducerea Tracearr",
127
- "imperial": "Imperial (mi, mph)",
128
- "iosHttpWarning": "iOS necesită HTTPS pentru conexiuni externe. Configurați un proxy invers cu SSL.",
129
- "jellyfinPollingNote": "Jellyfin/Emby sunt sondate la intervalul de mai sus.",
130
- "language": "Limba",
131
- "languageDescription": "Alegeți limba de afișare preferată.",
132
- "localAccount": "Cont local",
56
+ "externalUrlDesc": "URL-ul pe care dispozitivele externe ar trebui să îl folosească pentru a ajunge la acest server. Folosit pentru coduri QR și pentru asocierea aplicațiilor mobile.",
57
+ "detect": "Detectează",
133
58
  "localhostWarning": "URL-uri locale gazdă nu vor funcţiona pe dispozitive externe. Utilizaţi IP-ul LAN sau numele unui domeniu.",
134
- "metric": "Metrice (km, km/h)",
59
+ "iosHttpWarning": "iOS necesită HTTPS pentru conexiuni externe. Configurați un proxy invers cu SSL.",
60
+ "apiKeyDesc": "Accesează API-ul Tracearr pentru integrarea terților cum ar fi Homarr, Asistent la domiciliu, etc.",
61
+ "apiDocs": "API Docs",
135
62
  "noApiKeyGenerated": "Cheie API generată",
136
- "plexAccount": "Cont Plex",
137
- "plexSseNote": "Plex folosește Server-Trient Events (SSE) pentru actualizări aproape instantanee – nu este nevoie de sondaje",
138
- "primaryAuth": "Metoda de autentificare primară",
139
- "publicApiSettings": "Public API",
140
- "publicApiSettingsDesc": "Configure watch-completion thresholds and request limits for the public API",
63
+ "copyToClipboard": "Copiază în clipboard",
64
+ "apiKeyReadAccess": "Cheia Dumneavoastră API permite accesul la citirea completă a datelor dumneavoastră de Tracearr.",
65
+ "generateApiKeyPrompt": "Generează o cheie API pentru a activa integrarea externă.",
141
66
  "regenerate": "Regenerează",
67
+ "generateKey": "Generare cheie",
142
68
  "regenerateApiKey": "Regenerează cheia API?",
143
69
  "regenerateApiKeyDesc": "Acest lucru va invalida API-ul curent. Orice integrare folosind cheia veche va înceta să funcționeze.",
144
- "sessionSync": "Sincronizare sesiune",
145
- "sessionSyncDesc": "Activează urmărirea sesiunii pentru serverele tale media",
146
- "syncInterval": "Interval de sincronizare",
147
- "syncIntervalDesc": "Frecvenţa sondajelor de opinie pentru Jellyfin/Emby (5-300 secunde)",
148
- "syncIntervalSuffix": "sec",
149
- "theme": "Tema",
150
- "themeDark": "Întunecat",
151
- "themeLight": "Lumină",
152
- "themeSystem": "Sistem",
153
- "timeFormat": "Formatul timpului",
154
- "timeFormat12h": "12 ore (1:30 PM)",
155
- "timeFormat24h": "24 ore (13:30)",
156
- "timeFormatDescription": "Alege timpul de afișare.",
157
- "timezone": "Timezone",
158
- "title": "Setări generale",
159
- "unitSystem": "Sistem unitar",
160
- "unitSystemDesc": "Alegeți cum sunt afișate distanțele și vitezele",
70
+ "publicApiSettings": "Public API",
71
+ "publicApiSettingsDesc": "Configure watch-completion thresholds and request limits for the public API",
161
72
  "watchedThresholdMovie": "Movie Watched Threshold",
162
73
  "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",
163
76
  "watchedThresholdMusic": "Track Watched Threshold",
164
77
  "watchedThresholdMusicDesc": "Percentage of a track that must be played before it's marked complete",
165
78
  "watchedThresholdSuffix": "%",
166
- "watchedThresholdTv": "TV Episode Watched Threshold",
167
- "watchedThresholdTvDesc": "Percentage of an episode that must be watched before it's marked complete"
168
- },
169
- "import": {
170
- "apiKeyHelp": "Găsit în Setări Tautulli → Interfață Web → API Key.",
171
- "apiKeyPlaceholder": "Cheia API Tautulli",
172
- "connectToTautulli": "Conectează-te la Tautulli",
173
- "connectedFound": "Conectat! S-au găsit {{users}} utilizatori și {{records}} istoricul înregistrărilor.",
174
- "enrichMetadata": "Bogat cu metadate media (recomandat)",
175
- "enrichMetadataHelp": "Preia metadate suplimentare de la serverul media pentru sesiunile importate.",
176
- "enriched": "Îmbogăţit",
177
- "errors": "Erori",
178
- "exportBackupHelp": "În Jellystat, mergeți la Setări → Copie de rezervă → Backup de activitate pentru a exporta datele.",
179
- "exportBackupHint": "Exportă o copie de rezervă a activității din Jellystat",
180
- "howItWorks": "Cum funcţionează importul",
181
- "howItWorksDesc": "Tracearr va importa toate datele istorice ale ceasului de la sursa dvs. Acest lucru poate dura un timp, în funcţie de mărimea bibliotecii dvs.",
182
- "importComplete": "Importare completă",
183
- "importFailed": "Importare eșuată",
184
- "importHistory": "Istoricul importurilor",
185
- "importHistoryDesc": "Importă datele ceasului istoric din surse externe",
186
- "importInProgressGeneric": "Importare în curs...",
187
- "importInProgressPercent": "Import în curs ({{percent}}% complet)...",
188
- "importOptions": "Opţiuni de import",
189
- "importProgress": "Progresul importului",
190
- "imported": "Importat",
191
- "importing": "Importare...",
192
- "includeStreamDetails": "Include date detaliate despre flux (codec, bitrat, rezoluție)",
193
- "includeStreamDetailsHelp": "Importurile de informaţii suplimentare. Poate creşte semnificativ timpul de import.",
194
- "jellyfinEmby": "Jellyfin/Emby (Jellystat)",
195
- "jellystat": "Importă din Jellystat",
196
- "noServers": "Niciun server conectat",
197
- "noServersHint": "Aveţi nevoie de cel puţin un server conectat pentru a importa date.",
198
- "overwriteFriendlyNames": "Suprascrie numele prietenoase existente cu numele Tautulli",
199
- "overwriteFriendlyNamesHelp": "Numele de identitate existente în Tracearr vor fi înlocuite cu numele prietenoase de la Tautulli.",
200
- "page": "Pagină",
201
- "pleaseEnterDetails": "Vă rugăm să introduceți Tautulli URL și API key",
202
- "pleaseSelectJsonFile": "Vă rugăm să selectaţi un fişier JSON",
203
- "plex": "Plex (Tautulli)",
204
- "processed": "Procesate",
205
- "recordsMayBeSkipped": "Înregistrările pot fi omise dacă:",
206
- "selectJellyfinServer": "Selectează un server Jellyfin sau Emby",
207
- "selectPlexServer": "Selectează un server Plex",
208
- "selectTargetServer": "Selectați serverul țintă",
209
- "skipDuplicate": "Duplică sesiune — Sesiunea a fost deja importată anterior.",
210
- "skipInProgress": "Sesiune în progres — Sesiunile active/incomplete fără un ID de referință sunt omise.",
211
- "skipSyncHint": "Dacă multe înregistrări sunt sărite, asigură-te că ai sincronizat serverul recent în Setări → Servere.",
212
- "skipUserNotFoundJellyfin": "Utilizatorul nu a fost găsit — Utilizatorul Jellyfin/Emby nu există în Tracearr. Sincronizați serverul mai întâi pentru a adăuga toți utilizatorii.",
213
- "skipUserNotFoundPlex": "Utilizatorul nu a fost găsit — Utilizatorul Plex nu există în Tracearr. Sincronizați serverul mai întâi pentru a adăuga toți utilizatorii.",
214
- "skipped": "Sărit",
215
- "startImport": "Începe importul",
216
- "startingImport": "Începe importul...",
217
- "step1": "1",
218
- "step2": "2",
219
- "targetServer": "Target Server",
220
- "tautulli": "Importă din Tautulli",
221
- "tautulliUrl": "URL Tautulli",
222
- "tautulliUrlHelp": "Adresa URL a instanței Tautulli.",
223
- "tautulliUrlPlaceholder": "http://localhost:8181",
224
- "testing": "Testare...",
225
- "testingConnection": "Testare conexiune...",
226
- "title": "Importă date",
227
- "updateExistingRecords": "Actualizati înregistrările existente cu detalii de stream",
228
- "updateExistingRecordsHelp": "Înregistrările importate anterior vor fi actualizate cu date de calitate stream.",
229
- "uploadJellystatBackup": "Încărcare copie de rezervă Jellystat",
230
- "uploadingBackup": "Încărcare fișier copie de rezervă...",
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.",
233
- "checkPlugin": "Check Plugin",
234
- "checkingPlugin": "Checking...",
235
- "pluginFound": "Plugin found: {{records}} records from {{oldestDate}} to {{newestDate}}",
236
- "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.",
237
- "serverTimezone": "Server Timezone",
238
- "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.",
239
- "importFullRange": "Import full history",
240
- "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.",
241
- "overlapSkipped": "{{count}} skipped as overlap",
242
- "duplicates": "{{count}} duplicates skipped",
243
- "skipOverlap": "Overlapping record - the timestamp falls inside the period Tracearr already tracks for this server. Enable full-range import to include it.",
244
- "skipDuplicatePlugin": "Duplicate record - already imported directly or arrived earlier via a Jellystat import of the same plugin data."
245
- },
246
- "ipWarning": {
247
- "acknowledge": "Am înțeles",
248
- "message": "Toți utilizatorii par să folosească aceeași adresă IP sau IP-uri de rețea locală. Acest lucru poate afecta logica bazată pe reguli pentru locația sau adresele IP."
249
- },
250
- "jobs": {
251
- "backfill": "Returnare",
252
- "cleanup": "Curățare",
253
- "delayed": "întârziat",
254
- "description": "Gestionați sarcinile de fundal care vă păstrează datele corecte și optimizate.",
255
- "errors": "erori",
256
- "jobHistory": "Istoric Job",
257
- "jobHistoryDesc": "Execuții recente ale sarcinilor de întreținere",
258
- "lastJobCompleted": "Ultima lucrare terminată cu succes",
259
- "lastJobFailed": "Ultima lucrare eșuată",
260
- "mayTakeAWhile": "Aceasta poate dura o vreme",
261
- "mayTakeAWhileDesc": "Această sarcină poate dura câteva minute pentru a fi finalizată, în funcție de dimensiunea bibliotecii dvs.",
262
- "normalization": "Normalizare",
263
- "processed": "procesate",
264
- "queued": "în așteptare",
265
- "runConfirm": "Executați {{name}}?",
266
- "runJob": "Rulează sarcina",
267
- "running": "rulează",
268
- "runningState": "Rulează",
269
- "startJob": "Începe sarcina",
270
- "title": "Lucrări de mentenanță",
271
- "unchanged": "nemodificat",
272
- "updated": "actualizat",
273
- "waiting": "Aşteptare"
274
- },
275
- "mobile": {
276
- "addDevice": "Adaugă dispozitiv",
277
- "connectedDevices": "Dispozitive conectate",
278
- "connectedDevicesDesc": "{{count}} dispozitive împerecheate cu serverul tău",
279
- "copyToken": "Copiază simbolul",
280
- "deviceName": "Nume dispozitiv",
281
- "deviceNamePlaceholder": "ex. iPhone 15",
282
- "devicesConnected": "{{current}} de {{max}} dispozitive conectate",
283
- "disable": "Dezactivează",
284
- "disableMobileAccess": "Dezactivare acces mobil",
285
- "disableMobileAccessConfirm": "Aceasta va deconecta toate dispozitivele mobile şi va revoca toate sesiunile. Puteţi reactiva accesul la mobil mai târziu.",
286
- "done": "Terminat",
287
- "downloadOnAppStore": "Descărcați de pe App Store",
288
- "enableMobileAccess": "Activare acces mobil",
289
- "enabling": "Activare...",
290
- "expiresIn": "Expiră în {{time}}",
291
- "externalUrlBanner": "Folosind un proxy invers sau accesând de la distanță? Setează-ți",
292
- "externalUrlBannerLink": "URL extern",
293
- "externalUrlBannerSuffix": "astfel încât aplicația mobilă să se poată conecta la server.",
294
- "externalUrlRequired": "Un URL extern trebuie să fie configurat în Setările generale pentru a funcționa perechea mobilă.",
295
- "failedToGenerateToken": "Generarea token-ului a eșuat",
296
- "generateToken": "Generează Token pereche",
297
- "getOnGooglePlay": "Ia-l pe Google Play",
298
- "getTheApp": "Descarcă aplicația",
299
- "getTheAppDesc": "Descarcă aplicația Tracearr pentru mobil pentru iOS sau Android",
300
- "mobileAccessDisabled": "Acces mobil dezactivat",
301
- "mobileAccessDisabledDesc": "Activați accesul mobil pentru a permite aplicației Tracearr să se conecteze la server.",
302
- "noDevices": "Niciun dispozitiv conectat",
303
- "oneTimePairToken": "Monedă unică pereche",
304
- "pairDevice": "Asociază Dispozitiv",
305
- "pairNewDevice": "Asociază un dispozitiv nou",
306
- "pairNewDeviceDesc": "Scanați codul QR cu aplicația mobilă Tracearr sau introduceți token-ul manual.",
307
- "pairYourDevice": "Asociază dispozitivul tău",
308
- "pairYourDeviceDesc": "Scanați codul QR cu aplicația Tracearr pentru a conecta acest server.",
309
- "pendingTokens": "{{count}} tokeni pereche în așteptare",
310
- "removeDevice": "Elimină dispozitivul",
311
- "removeDeviceConfirm": "Sigur doriți să eliminați {{deviceName}}? Acest dispozitiv va trebui să se asocieze din nou pentru a se reconecta.",
312
- "renameDevice": "Redenumire dispozitiv",
313
- "renameDeviceDesc": "Introduceți un nume pentru a identifica acest dispozitiv în listă.",
314
- "revokeAll": "Revocă toate sesiunile",
315
- "revokeAllConfirm": "Aceasta va deconecta toate dispozitivele mobile. Va trebui să se conecteze din nou pentru a se reconecta.",
316
- "revokeAllSessions": "Revocă tot",
317
- "scanQrCode": "Scan QR Code",
318
- "title": "Aplicație mobilă",
319
- "tokenExpires": "Token-ul expiră în {{time}}",
320
- "tokenExpiryNote": "Acest token expiră în 5 minute și poate fi utilizat o singură dată."
321
- },
322
- "notifications": {
323
- "agentCard": {
324
- "default": "Implicit",
325
- "editSettings": "Editare setări",
326
- "events": "Evenimente",
327
- "notConfigured": "Nu este configurat complet.",
328
- "saved": "Salvat",
329
- "sendTest": "Trimite test"
330
- },
331
- "routing": {
332
- "discord": "Discord",
333
- "event": "Eveniment",
334
- "web": "Web",
335
- "webNote": "Notificările push sunt configurate per dispozitiv în aplicația mobilă.",
336
- "webToastNote": "afișează notificări toast în acest browser.",
337
- "webhook": "Webhook"
338
- }
339
- },
340
- "plex": {
341
- "chooseServer": "Alege care Plex Media Server să fie monitorizat",
342
- "selectServer": "Selectare server",
343
- "signInWithPlex": "Autentificare cu Plex",
344
- "signUpWithPlex": "Înregistrează-te cu Plex"
345
- },
346
- "serverHealth": {
347
- "multipleUnreachable": "{{count}} servere inaccesibile: {{serverNames}}",
348
- "unreachable": "{{serverName}} este inaccesibil"
79
+ "apiRateLimit": "API Rate Limit",
80
+ "apiRateLimitDesc": "Maximum public API requests per minute per key. Restart required to apply.",
81
+ "apiRateLimitSuffix": "/min"
349
82
  },
350
83
  "servers": {
84
+ "title": "Servere conectate",
351
85
  "addServer": "Adaugă server",
352
- "addServerDialogDescOther": "Conectează un server Jellyfin sau Emby.",
353
- "addServerDialogDescPlex": "Selectează un server Plex din contul tău asociat.",
354
- "added": "Adăugat {{date}}",
355
- "allFieldsRequired": "Toate câmpurile sunt obligatorii",
86
+ "serverName": "Nume server",
87
+ "serverUrl": "URL Server",
88
+ "syncInterval": "Interval de sincronizare",
89
+ "testConnection": "Testare conexiune",
90
+ "connectionSuccess": "Conexiune reușită",
91
+ "connectionFailed": "Conexiune eșuată",
92
+ "noServersConnected": "Niciun server conectat",
93
+ "noServersConnectedHint": "Faceţi clic pe \"Adăugare server\" pentru a conecta un server Jellyfin sau Emby",
94
+ "serverType": "Tip Server",
95
+ "loadingAccounts": "Se încarcă conturile Plex conectate...",
96
+ "noPlexAccountsLinked": "Niciun cont Plex legat",
97
+ "noPlexAccountsLinkedHint": "Leagă un cont Plex mai sus, apoi întoarce-te pentru a adăuga un server.",
98
+ "selectPlexAccount": "Selectează cont Plex",
99
+ "chooseAccount": "Alege un cont...",
100
+ "selectAccountHelp": "Selectează din ce cont Plex să descoperi serverele.",
356
101
  "allServersConnected": "Toate serverele conectate",
357
102
  "allServersConnectedDesc": "Toate serverele din acest cont sunt deja conectate.",
358
- "apiKeyHelp": "Găsit în tabloul de bord al serverului media sub chei API sau setări avansate.",
359
- "apiKeyHelpEmby": "Găseşte acest lucru în Emby Server → Chei API",
360
- "apiKeyHelpJellyfin": "Găsiţi acest lucru în Panoul de control Jellyfin → Chei API",
103
+ "serverUrlPlaceholder": "http://192.168.1.100:8096",
104
+ "serverUrlHelp": "URL direct la serverul Jellyfin sau Emby. Utilizați IP:port pentru cea mai bună fiabilitate.",
105
+ "serverNamePlaceholder": "Serverul meu Media",
361
106
  "apiKeyPlaceholder": "Introduceți cheia API",
362
- "checkingConnection": "Checking connection…",
363
- "chooseAccount": "Alege un cont...",
364
- "connectServer": "Conectare server",
107
+ "apiKeyHelp": "Găsit în tabloul de bord al serverului media sub chei API sau setări avansate.",
365
108
  "connecting": "Conectare...",
366
- "connectionFailed": "Conexiune eșuată",
367
- "connectionSuccess": "Conexiune reușită",
368
- "description": "Gestionează-ți serverele conectate Plex, Jellyfin, și Emby",
369
- "discoveringConnections": "Descoperă conexiunile...",
370
- "discoveringServers": "Descoperă serverele disponibile de Plex...",
109
+ "connectServer": "Conectare server",
110
+ "removeServer": "Elimină server",
111
+ "removeServerConfirm": "Ești sigur că vrei să ștergi acest server? Toate datele aferente sesiunilor vor fi păstrate, dar nu veți putea monitoriza noile sesiuni de pe acest server.",
371
112
  "editServer": "Editare server",
372
113
  "editServerDesc": "Actualizează numele serverului sau URL-ul conexiunii.",
373
- "loadingAccounts": "Se încarcă conturile Plex conectate...",
374
- "noPlexAccountsLinked": "Niciun cont Plex legat",
375
- "noPlexAccountsLinkedHint": "Leagă un cont Plex mai sus, apoi întoarce-te pentru a adăuga un server.",
376
- "noServersConnected": "Niciun server conectat",
377
- "noServersConnectedHint": "Faceţi clic pe \"Adăugare server\" pentru a conecta un server Jellyfin sau Emby",
114
+ "serverColor": "Culoare server",
115
+ "serverColorDesc": "Folosit pentru atribuirea vizuală în vizualizarea multi-server",
116
+ "updating": "Actualizare...",
117
+ "allFieldsRequired": "Toate câmpurile sunt obligatorii",
118
+ "addServerDialogDescPlex": "Selectează un server Plex din contul tău asociat.",
119
+ "addServerDialogDescOther": "Conectează un server Jellyfin sau Emby.",
120
+ "description": "Gestionează-ți serverele conectate Plex, Jellyfin, și Emby",
121
+ "discoveringServers": "Descoperă serverele disponibile de Plex...",
122
+ "discoveringConnections": "Descoperă conexiunile...",
378
123
  "plexAccount": "Cont Plex",
124
+ "serverUrlHelpJellyfin": "URL-ul unde serverul Jellyfin este accesibil",
125
+ "serverUrlHelpEmby": "URL-ul unde serverul Emby este accesibil",
126
+ "apiKeyHelpJellyfin": "Găsiţi acest lucru în Panoul de control Jellyfin → Chei API",
127
+ "apiKeyHelpEmby": "Găseşte acest lucru în Emby Server → Chei API",
379
128
  "plexServerPlaceholder": "Serverul meu Plex",
380
129
  "plexServerUrlPlaceholder": "http://192.168.1.100:32400",
381
- "pluginUpdateAvailable": "Plugin update available",
382
- "pluginVersion": "plugin v{{version}}",
383
- "pollingMode": "Polling",
384
- "posterSource": {
385
- "automatic": "Automatic (most recent)",
386
- "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.",
387
- "emptyHint": "Add a server to choose a preferred poster source.",
388
- "label": "Preferred Poster Source",
389
- "title": "Poster Preferences",
390
- "titleDesc": "Choose which server's poster is shown when a title exists on more than one server"
391
- },
130
+ "updateHint": "Sau faceţi clic pe Actualizare mai jos pentru a salva doar schimbarea numelui.",
131
+ "added": "Adăugat {{date}}",
392
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",
393
139
  "realtimeDialog": {
394
- "autoDetectNote": "Restart Jellyfin or Emby after installing the plugin; the restart is required. Tracearr itself needs no restart and picks the plugin up automatically.",
395
- "close": "Close",
396
- "copyUrl": "Copy URL",
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.",
397
143
  "embyDescription": "Install the Tracearr SSE plugin to get instant session updates without waiting for the next poll.",
398
- "embyReleasesUrl": "https://github.com/Tracearr/Media-Server-SSE/releases",
144
+ "jellyfinUpdateDescription": "A newer plugin release is available. Open your Jellyfin dashboard, go to Plugins, Catalog, and update Tracearr SSE, then restart Jellyfin.",
399
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.",
400
- "jellyfinDescription": "Install the Tracearr SSE plugin to get instant session updates without waiting for the next poll.",
146
+ "repositoryUrl": "Repository URL",
147
+ "copyUrl": "Copy URL",
401
148
  "jellyfinRepoUrl": "https://raw.githubusercontent.com/Tracearr/Media-Server-SSE/main/manifest.json",
402
- "jellyfinUpdateDescription": "A newer plugin release is available. Open your Jellyfin dashboard, go to Plugins, Catalog, and update Tracearr SSE, then restart Jellyfin.",
149
+ "embyReleasesUrl": "https://github.com/Tracearr/Media-Server-SSE/releases",
403
150
  "openReleases": "Open releases page",
404
- "repositoryUrl": "Repository URL",
405
- "title": "Enable real-time updates",
406
- "updateTitle": "Update the Tracearr SSE plugin",
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",
407
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.",
408
154
  "issueRestartRequired": "The plugin is installed, but the media server needs a restart before it activates.",
409
155
  "issueMalfunctioned": "The server reports the plugin failed to load. Updating the plugin or the media server usually clears this."
410
156
  },
411
- "removeServer": "Elimină server",
412
- "removeServerConfirm": "Ești sigur că vrei să ștergi acest server? Toate datele aferente sesiunilor vor fi păstrate, dar nu veți putea monitoriza noile sesiuni de pe acest server.",
413
- "selectAccountHelp": "Selectează din ce cont Plex să descoperi serverele.",
414
- "selectPlexAccount": "Selectează cont Plex",
415
- "serverColor": "Culoare server",
416
- "serverColorDesc": "Folosit pentru atribuirea vizuală în vizualizarea multi-server",
417
- "serverName": "Nume server",
418
- "serverNamePlaceholder": "Serverul meu Media",
419
- "serverType": "Tip Server",
420
- "serverUrl": "URL Server",
421
- "serverUrlHelp": "URL direct la serverul Jellyfin sau Emby. Utilizați IP:port pentru cea mai bună fiabilitate.",
422
- "serverUrlHelpEmby": "URL-ul unde serverul Emby este accesibil",
423
- "serverUrlHelpJellyfin": "URL-ul unde serverul Jellyfin este accesibil",
424
- "serverUrlPlaceholder": "http://192.168.1.100:8096",
425
- "setupRealtime": "Set up real-time updates",
426
- "realtimeError": "Real-time error",
427
- "syncInterval": "Interval de sincronizare",
428
- "testConnection": "Testare conexiune",
429
- "title": "Servere conectate",
430
- "updateHint": "Sau faceţi clic pe Actualizare mai jos pentru a salva doar schimbarea numelui.",
431
- "updating": "Actualizare..."
432
- },
433
- "tabs": {
434
- "accessControl": "Control Acces",
435
- "advanced": "Avansat",
436
- "backup": "Backup",
437
- "general": "Generalități",
438
- "import": "Importă",
439
- "jobs": "Joburi",
440
- "mobile": "Aplicație mobilă",
441
- "notifications": "Notificări",
442
- "servers": "Servere",
443
- "tailscale": "Corespondență"
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
+ }
444
165
  },
445
- "tailscale": {
446
- "authorize": "Autorizează în Tailscale",
447
- "awaitingAuth": "Se așteaptă autorizarea...",
448
- "connected": "Tailscale este conectat. Instanţa dumneavoastră Tracearr este disponibilă pe coadă.",
449
- "description": "Accesaţi Tracearr în siguranţă pe reţeaua dvs. de navigare fără a redirecţiona portul.",
450
- "disable": "Dezactivează Tailscale",
451
- "disableConfirmDescription": "Acest lucru va deconecta Tracearr de la coada dvs. Puteţi reactiva fără re-autorizare.",
452
- "disableConfirmTitle": "Dezactivați Tailscale?",
453
- "disabledDescription": "Activează Tailscale pentru a pune Tracearr pe dispozitivul tău de tailnet privat. Nu este necesară redirecționarea portului sau proxy invers.",
454
- "dnsName": "Nume DNS",
455
- "enable": "Activează Tailscale",
456
- "exitNodeNone": "Niciunul",
457
- "exitNodeOffline": "(offline)",
458
- "hideLogs": "Ascunde jurnalele",
459
- "hostname": "Hostname",
460
- "hostnameHint": "Nume personalizat opțional pentru acest dispozitiv doar pe coadă. Litere, numere și cratime.",
461
- "hostnameLabel": "Nume gazdă dispozitiv",
462
- "noLogs": "Nici o intrare de jurnal disponibilă.",
463
- "notAvailable": "Fișierul binar Tailscale nu a fost găsit. Această caracteristică este disponibilă numai când se execută imaginea oficială Docker.",
464
- "resetConfirmDescription": "Aceasta va deconecta Tracearr de la coada dvs şi va elimina identitatea dispozitivului. Va trebui să re-autorizaţi dacă îl activaţi din nou.",
465
- "resetConfirmTitle": "Reset Tailscale?",
466
- "showLogs": "Arată jurnalele",
467
- "starting": "Începe Tailscale...",
468
- "stopping": "Oprire la scară poștală...",
469
- "tailnetUrl": "URL",
470
- "title": "VPN la scară largă",
471
- "toast": {
472
- "disableFailed": "Nu s-a putut dezactiva Tailscale",
473
- "disabled": "Tailscale a fost dezactivat.",
474
- "enableFailed": "Activare Eșuată la scară poştală",
475
- "exitNodeFailed": "Setarea nodului de ieșire a eșuat",
476
- "exitNodeSet": "Nodul de ieșire actualizat.",
477
- "reset": "Tailscale a fost resetat.",
478
- "resetFailed": "Resetarea adreselor a eșuat"
166
+ "mobile": {
167
+ "title": "Aplicație mobilă",
168
+ "pairDevice": "Asociază Dispozitiv",
169
+ "connectedDevices": "Dispozitive conectate",
170
+ "generateToken": "Generează Token pereche",
171
+ "scanQrCode": "Scan QR Code",
172
+ "tokenExpires": "Token-ul expiră în {{time}}",
173
+ "noDevices": "Niciun dispozitiv conectat",
174
+ "revokeAll": "Revocă toate sesiunile",
175
+ "getTheApp": "Descarcă aplicația",
176
+ "getTheAppDesc": "Descarcă aplicația Tracearr pentru mobil pentru iOS sau Android",
177
+ "getOnGooglePlay": "Ia-l pe Google Play",
178
+ "downloadOnAppStore": "Descărcați de pe App Store",
179
+ "pairYourDevice": "Asociază dispozitivul tău",
180
+ "pairYourDeviceDesc": "Scanați codul QR cu aplicația Tracearr pentru a conecta acest server.",
181
+ "externalUrlRequired": "Un URL extern trebuie să fie configurat în Setările generale pentru a funcționa perechea mobilă.",
182
+ "mobileAccessDisabled": "Acces mobil dezactivat",
183
+ "mobileAccessDisabledDesc": "Activați accesul mobil pentru a permite aplicației Tracearr să se conecteze la server.",
184
+ "enableMobileAccess": "Activare acces mobil",
185
+ "enabling": "Activare...",
186
+ "devicesConnected": "{{current}} de {{max}} dispozitive conectate",
187
+ "pendingTokens": "{{count}} tokeni pereche în așteptare",
188
+ "addDevice": "Adaugă dispozitiv",
189
+ "disableMobileAccess": "Dezactivare acces mobil",
190
+ "connectedDevicesDesc": "{{count}} dispozitive împerecheate cu serverul tău",
191
+ "revokeAllSessions": "Revocă tot",
192
+ "pairNewDevice": "Asociază un dispozitiv nou",
193
+ "pairNewDeviceDesc": "Scanați codul QR cu aplicația mobilă Tracearr sau introduceți token-ul manual.",
194
+ "expiresIn": "Expiră în {{time}}",
195
+ "oneTimePairToken": "Monedă unică pereche",
196
+ "copyToken": "Copiază simbolul",
197
+ "tokenExpiryNote": "Acest token expiră în 5 minute și poate fi utilizat o singură dată.",
198
+ "done": "Terminat",
199
+ "disableMobileAccessConfirm": "Aceasta va deconecta toate dispozitivele mobile şi va revoca toate sesiunile. Puteţi reactiva accesul la mobil mai târziu.",
200
+ "disable": "Dezactivează",
201
+ "revokeAllConfirm": "Aceasta va deconecta toate dispozitivele mobile. Va trebui să se conecteze din nou pentru a se reconecta.",
202
+ "renameDevice": "Redenumire dispozitiv",
203
+ "renameDeviceDesc": "Introduceți un nume pentru a identifica acest dispozitiv în listă.",
204
+ "deviceName": "Nume dispozitiv",
205
+ "deviceNamePlaceholder": "ex. iPhone 15",
206
+ "removeDevice": "Elimină dispozitivul",
207
+ "failedToGenerateToken": "Generarea token-ului a eșuat",
208
+ "removeDeviceConfirm": "Sigur doriți să eliminați {{deviceName}}? Acest dispozitiv va trebui să se asocieze din nou pentru a se reconecta.",
209
+ "externalUrlBanner": "Folosind un proxy invers sau accesând de la distanță? Setează-ți",
210
+ "externalUrlBannerLink": "URL extern",
211
+ "externalUrlBannerSuffix": "astfel încât aplicația mobilă să se poată conecta la server."
212
+ },
213
+ "tailscale": {
214
+ "title": "VPN la scară largă",
215
+ "description": "Accesaţi Tracearr în siguranţă pe reţeaua dvs. de navigare fără a redirecţiona portul.",
216
+ "notAvailable": "Fișierul binar Tailscale nu a fost găsit. Această caracteristică este disponibilă numai când se execută imaginea oficială Docker.",
217
+ "disabledDescription": "Activează Tailscale pentru a pune Tracearr pe dispozitivul tău de tailnet privat. Nu este necesară redirecționarea portului sau proxy invers.",
218
+ "hostnameLabel": "Nume gazdă dispozitiv",
219
+ "hostnameHint": "Nume personalizat opțional pentru acest dispozitiv doar pe coadă. Litere, numere și cratime.",
220
+ "enable": "Activează Tailscale",
221
+ "disable": "Dezactivează Tailscale",
222
+ "starting": "Începe Tailscale...",
223
+ "stopping": "Oprire la scară poștală...",
224
+ "awaitingAuth": "Se așteaptă autorizarea...",
225
+ "authorize": "Autorizează în Tailscale",
226
+ "connected": "Tailscale este conectat. Instanţa dumneavoastră Tracearr este disponibilă pe coadă.",
227
+ "hostname": "Hostname",
228
+ "dnsName": "Nume DNS",
229
+ "tailnetUrl": "URL",
230
+ "showLogs": "Arată jurnalele",
231
+ "hideLogs": "Ascunde jurnalele",
232
+ "noLogs": "Nici o intrare de jurnal disponibilă.",
233
+ "exitNodeNone": "Niciunul",
234
+ "exitNodeOffline": "(offline)",
235
+ "unknownError": "A apărut o eroare necunoscută.",
236
+ "disableConfirmTitle": "Dezactivați Tailscale?",
237
+ "disableConfirmDescription": "Acest lucru va deconecta Tracearr de la coada dvs. Puteţi reactiva fără re-autorizare.",
238
+ "resetConfirmTitle": "Reset Tailscale?",
239
+ "resetConfirmDescription": "Aceasta va deconecta Tracearr de la coada dvs şi va elimina identitatea dispozitivului. Va trebui să re-autorizaţi dacă îl activaţi din nou.",
240
+ "toast": {
241
+ "disabled": "Tailscale a fost dezactivat.",
242
+ "enableFailed": "Activare Eșuată la scară poştală",
243
+ "disableFailed": "Nu s-a putut dezactiva Tailscale",
244
+ "reset": "Tailscale a fost resetat.",
245
+ "resetFailed": "Resetarea adreselor a eșuat",
246
+ "exitNodeSet": "Nodul de ieșire actualizat.",
247
+ "exitNodeFailed": "Setarea nodului de ieșire a eșuat"
248
+ }
249
+ },
250
+ "webhooks": {
251
+ "title": "Configurare Webhook",
252
+ "discordWebhook": "URL-ul Webhook-ului Discord",
253
+ "ntfyTopic": "Ntfy Topic",
254
+ "customWebhook": "URL Webhook personalizat",
255
+ "webhookFormat": "Format Webhook",
256
+ "testWebhook": "Testează Webhook-ul"
257
+ },
258
+ "jobs": {
259
+ "title": "Lucrări de mentenanță",
260
+ "description": "Gestionați sarcinile de fundal care vă păstrează datele corecte și optimizate.",
261
+ "normalization": "Normalizare",
262
+ "backfill": "Returnare",
263
+ "cleanup": "Curățare",
264
+ "running": "rulează",
265
+ "queued": "în așteptare",
266
+ "delayed": "întârziat",
267
+ "waiting": "Aşteptare",
268
+ "runningState": "Rulează",
269
+ "runJob": "Rulează sarcina",
270
+ "processed": "procesate",
271
+ "updated": "actualizat",
272
+ "unchanged": "nemodificat",
273
+ "errors": "erori",
274
+ "lastJobCompleted": "Ultima lucrare terminată cu succes",
275
+ "lastJobFailed": "Ultima lucrare eșuată",
276
+ "jobHistory": "Istoric Job",
277
+ "jobHistoryDesc": "Execuții recente ale sarcinilor de întreținere",
278
+ "runConfirm": "Executați {{name}}?",
279
+ "mayTakeAWhile": "Aceasta poate dura o vreme",
280
+ "mayTakeAWhileDesc": "Această sarcină poate dura câteva minute pentru a fi finalizată, în funcție de dimensiunea bibliotecii dvs.",
281
+ "startJob": "Începe sarcina"
282
+ },
283
+ "notifications": {
284
+ "routing": {
285
+ "event": "Eveniment",
286
+ "web": "Web",
287
+ "discord": "Discord",
288
+ "webhook": "Webhook",
289
+ "webNote": "Notificările push sunt configurate per dispozitiv în aplicația mobilă.",
290
+ "webToastNote": "afișează notificări toast în acest browser."
479
291
  },
480
- "unknownError": "A apărut o eroare necunoscută."
292
+ "agentCard": {
293
+ "saved": "Salvat",
294
+ "default": "Implicit",
295
+ "events": "Evenimente",
296
+ "sendTest": "Trimite test",
297
+ "notConfigured": "Nu este configurat complet.",
298
+ "editSettings": "Editare setări"
299
+ }
300
+ },
301
+ "advanced": {
302
+ "title": "Setări avansate",
303
+ "externalUrl": "URL extern",
304
+ "trustProxy": "Antete proxy de încredere",
305
+ "reverseProxy": "Inversează Proxy",
306
+ "connectionScenarios": "Scenarii conexiune"
307
+ },
308
+ "accessControl": {
309
+ "title": "Control Acces",
310
+ "description": "Configurați cine poate accesa Tracearr",
311
+ "allowGuestAccess": "Permite accesul vizitatorilor",
312
+ "allowGuestAccessDesc": "Când este dezactivat, numai proprietarul serverului se poate conecta la Tracearr",
313
+ "singleOwnerNote": "Notă: Când accesul vizitatorilor este dezactivat, numai proprietarul serverului se poate conecta. Toți ceilalți utilizatori vor vedea un mesaj \"Acces refuzat\"."
314
+ },
315
+ "import": {
316
+ "title": "Importă date",
317
+ "jellystat": "Importă din Jellystat",
318
+ "tautulli": "Importă din Tautulli",
319
+ "importProgress": "Progresul importului",
320
+ "importComplete": "Importare completă",
321
+ "importFailed": "Importare eșuată",
322
+ "processed": "Procesate",
323
+ "page": "Pagină",
324
+ "imported": "Importat",
325
+ "skipped": "Sărit",
326
+ "enriched": "Îmbogăţit",
327
+ "errors": "Erori",
328
+ "noServers": "Niciun server conectat",
329
+ "noServersHint": "Aveţi nevoie de cel puţin un server conectat pentru a importa date.",
330
+ "tautulliUrl": "URL Tautulli",
331
+ "tautulliUrlPlaceholder": "http://localhost:8181",
332
+ "tautulliUrlHelp": "Adresa URL a instanței Tautulli.",
333
+ "apiKeyHelp": "Găsit în Setări Tautulli → Interfață Web → API Key.",
334
+ "testing": "Testare...",
335
+ "connectToTautulli": "Conectează-te la Tautulli",
336
+ "importHistory": "Istoricul importurilor",
337
+ "targetServer": "Target Server",
338
+ "selectPlexServer": "Selectează un server Plex",
339
+ "overwriteFriendlyNames": "Suprascrie numele prietenoase existente cu numele Tautulli",
340
+ "overwriteFriendlyNamesHelp": "Numele de identitate existente în Tracearr vor fi înlocuite cu numele prietenoase de la Tautulli.",
341
+ "includeStreamDetails": "Include date detaliate despre flux (codec, bitrat, rezoluție)",
342
+ "includeStreamDetailsHelp": "Importurile de informaţii suplimentare. Poate creşte semnificativ timpul de import.",
343
+ "importing": "Importare...",
344
+ "startImport": "Începe importul",
345
+ "howItWorks": "Cum funcţionează importul",
346
+ "howItWorksDesc": "Tracearr va importa toate datele istorice ale ceasului de la sursa dvs. Acest lucru poate dura un timp, în funcţie de mărimea bibliotecii dvs.",
347
+ "recordsMayBeSkipped": "Înregistrările pot fi omise dacă:",
348
+ "selectTargetServer": "Selectați serverul țintă",
349
+ "selectJellyfinServer": "Selectează un server Jellyfin sau Emby",
350
+ "uploadJellystatBackup": "Încărcare copie de rezervă Jellystat",
351
+ "exportBackupHint": "Exportă o copie de rezervă a activității din Jellystat",
352
+ "exportBackupHelp": "În Jellystat, mergeți la Setări → Copie de rezervă → Backup de activitate pentru a exporta datele.",
353
+ "importOptions": "Opţiuni de import",
354
+ "enrichMetadata": "Bogat cu metadate media (recomandat)",
355
+ "enrichMetadataHelp": "Preia metadate suplimentare de la serverul media pentru sesiunile importate.",
356
+ "updateExistingRecords": "Actualizati înregistrările existente cu detalii de stream",
357
+ "updateExistingRecordsHelp": "Înregistrările importate anterior vor fi actualizate cu date de calitate stream.",
358
+ "pleaseEnterDetails": "Vă rugăm să introduceți Tautulli URL și API key",
359
+ "testingConnection": "Testare conexiune...",
360
+ "pleaseSelectJsonFile": "Vă rugăm să selectaţi un fişier JSON",
361
+ "uploadingBackup": "Încărcare fișier copie de rezervă...",
362
+ "importHistoryDesc": "Importă datele ceasului istoric din surse externe",
363
+ "plex": "Plex (Tautulli)",
364
+ "jellyfinEmby": "Jellyfin/Emby (Jellystat)",
365
+ "step1": "1",
366
+ "step2": "2",
367
+ "apiKeyPlaceholder": "Cheia API Tautulli",
368
+ "skipUserNotFoundPlex": "Utilizatorul nu a fost găsit — Utilizatorul Plex nu există în Tracearr. Sincronizați serverul mai întâi pentru a adăuga toți utilizatorii.",
369
+ "skipDuplicate": "Duplică sesiune — Sesiunea a fost deja importată anterior.",
370
+ "skipInProgress": "Sesiune în progres — Sesiunile active/incomplete fără un ID de referință sunt omise.",
371
+ "skipUserNotFoundJellyfin": "Utilizatorul nu a fost găsit — Utilizatorul Jellyfin/Emby nu există în Tracearr. Sincronizați serverul mai întâi pentru a adăuga toți utilizatorii.",
372
+ "skipSyncHint": "Dacă multe înregistrări sunt sărite, asigură-te că ai sincronizat serverul recent în Setări → Servere.",
373
+ "importInProgressPercent": "Import în curs ({{percent}}% complet)...",
374
+ "importInProgressGeneric": "Importare în curs...",
375
+ "startingImport": "Începe importul...",
376
+ "connectedFound": "Conectat! S-au găsit {{users}} utilizatori și {{records}} istoricul înregistrărilor.",
377
+ "playbackReporting": "Playback Reporting Plugin",
378
+ "playbackReportingDesc": "Import history directly from the Playback Reporting plugin installed on your Jellyfin or Emby server. No file export needed.",
379
+ "checkPlugin": "Check Plugin",
380
+ "checkingPlugin": "Checking...",
381
+ "pluginFound": "Plugin found: {{records}} records from {{oldestDate}} to {{newestDate}}",
382
+ "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.",
383
+ "serverTimezone": "Server Timezone",
384
+ "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.",
385
+ "importFullRange": "Import full history",
386
+ "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.",
387
+ "overlapSkipped": "{{count}} skipped as overlap",
388
+ "duplicates": "{{count}} duplicates skipped",
389
+ "skipOverlap": "Overlapping record - the timestamp falls inside the period Tracearr already tracks for this server. Enable full-range import to include it.",
390
+ "skipDuplicatePlugin": "Duplicate record - already imported directly or arrived earlier via a Jellystat import of the same plugin data."
391
+ },
392
+ "plex": {
393
+ "signInWithPlex": "Autentificare cu Plex",
394
+ "signUpWithPlex": "Înregistrează-te cu Plex",
395
+ "selectServer": "Selectare server",
396
+ "chooseServer": "Alege care Plex Media Server să fie monitorizat"
397
+ },
398
+ "account": {
399
+ "createAccount": "Creare cont",
400
+ "email": "E-mail",
401
+ "password": "Parolă",
402
+ "displayName": "Nume afișat",
403
+ "createYourAccount": "Creează-ți un cont pentru a începe",
404
+ "signInToAccount": "Conectează-te la contul tău",
405
+ "useLocalAccount": "Folosește în schimb contul local"
481
406
  },
482
- "title": "Setări",
483
407
  "update": {
484
- "betaUpdate": "Actualizare beta",
485
- "newVersion": "Versiune nouă",
486
- "pullInstructions": "După tragere, reporniţi recipientul pentru a aplica actualizarea.",
487
- "releaseNotes": "Note de lansare",
488
- "stableRelease": "Lansare stabilă",
489
408
  "title": "Actualizare disponibilă",
409
+ "releaseNotes": "Note de lansare",
490
410
  "updateCommand": "Actualizați comanda",
411
+ "pullInstructions": "După tragere, reporniţi recipientul pentru a aplica actualizarea.",
412
+ "stableRelease": "Lansare stabilă",
413
+ "betaUpdate": "Actualizare beta",
414
+ "newVersion": "Versiune nouă",
491
415
  "versionAvailable": "{{version}} disponibil"
492
416
  },
493
- "webhooks": {
494
- "customWebhook": "URL Webhook personalizat",
495
- "discordWebhook": "URL-ul Webhook-ului Discord",
496
- "ntfyTopic": "Ntfy Topic",
497
- "testWebhook": "Testează Webhook-ul",
498
- "title": "Configurare Webhook",
499
- "webhookFormat": "Format Webhook"
417
+ "serverHealth": {
418
+ "unreachable": "{{serverName}} este inaccesibil",
419
+ "multipleUnreachable": "{{count}} servere inaccesibile: {{serverNames}}"
420
+ },
421
+ "ipWarning": {
422
+ "message": "Toți utilizatorii par să folosească aceeași adresă IP sau IP-uri de rețea locală. Acest lucru poate afecta logica bazată pe reguli pentru locația sau adresele IP.",
423
+ "acknowledge": "Am înțeles"
424
+ },
425
+ "backup": {
426
+ "title": "Backup",
427
+ "backToBackups": "Înapoi la copii de rezervă",
428
+ "description": "Copie de rezervă şi restaurare a datelor Tracearr",
429
+ "createBackup": "Creare copie de rezervă",
430
+ "creating": "Creare backup...",
431
+ "uploadBackup": "Încărcare copie de rezervă",
432
+ "uploading": "Încărcare...",
433
+ "databaseSize": "Dimensiunea curentă a bazei de date: {{size}}",
434
+ "freeSpace": "Spațiu liber pentru directorul de rezervă: {{size}}",
435
+ "lowDiskSpace": "Spațiu redus pe disc - copiile de rezervă și restaurările necesită cel puțin de două ori dimensiunea bazei de date în spațiu liber.",
436
+ "backupHistory": "Istoric backup",
437
+ "noBackups": "Nici o copie de rezervă încă. Creaţi prima copie de rezervă mai sus.",
438
+ "filename": "Nume fișier",
439
+ "size": "Dimensiune",
440
+ "date": "Data",
441
+ "type": "Tip",
442
+ "version": "Versiune",
443
+ "actions": "Acțiuni",
444
+ "typeManual": "Manual",
445
+ "typeScheduled": "Programat",
446
+ "typeUploaded": "Încărcat",
447
+ "restoreAction": "Restaurează",
448
+ "deleteConfirmTitle": "Șterge copie de rezervă",
449
+ "deleteConfirmDescription": "Sunteţi sigur că doriţi să ştergeţi această copie de rezervă? Această acţiune nu poate fi anulată.",
450
+ "schedule": "Backup-uri programate",
451
+ "scheduleType": "Programare",
452
+ "scheduleDisabled": "Dezactivat",
453
+ "scheduleDaily": "Zilnic",
454
+ "scheduleWeekly": "Săptămânal",
455
+ "scheduleMonthly": "Lunar",
456
+ "scheduleTime": "Timp ({{timezone}})",
457
+ "scheduleDayOfWeek": "Zi a săptămânii",
458
+ "scheduleDayOfMonth": "Zi a lunii",
459
+ "scheduleDayOfMonthHint": "În luni cu mai puţine zile, copia de rezervă se va desfăşura în ultima zi.",
460
+ "retentionCount": "Păstrați ultimul",
461
+ "retentionSuffix": "Backup-uri programate",
462
+ "daySun": "Duminică",
463
+ "dayMon": "Luni",
464
+ "dayTue": "Marţi",
465
+ "dayWed": "Miercuri",
466
+ "dayThu": "Joi",
467
+ "dayFri": "Vineri",
468
+ "daySat": "Sâmbătă",
469
+ "restore": {
470
+ "title": "Restabilire copie de rezervă",
471
+ "selectedBackup": "Backup selectat",
472
+ "databaseSize": "Mărimea bazei de date",
473
+ "sessions": "Sesiuni",
474
+ "users": "Utilizatori",
475
+ "servers": "Servere",
476
+ "rules": "Reguli",
477
+ "libraryItems": "Elementele bibliotecii",
478
+ "tables": "Tabele",
479
+ "warning": "Restaurarea va înlocui toate datele existente. Va trebui să vă reconectați după finalizarea restaurării.",
480
+ "confirmLabel": "Am înțeles că acest lucru va înlocui toate datele",
481
+ "confirm": "Pornește restaurarea",
482
+ "complete": "Restaurare finalizată cu succes. Pagina va fi reîmprospătată în scurt timp.",
483
+ "failed": "Restabilirea a eșuat",
484
+ "cannotRestore": "Restaurarea necesită privilegii de superutilizator PostgreSQL. Vă rugăm să vă asigurați că utilizatorul are privilegii de superutilizator și încercați din nou.",
485
+ "pgVersionMismatch": "Backup a fost creat pe PostgreSQL {{backupVersion}} , dar acest server rulează PostgreSQL {{serverVersion}}. Restaurarea unei copie de la o versiune mai nouă PostgreSQL nu este acceptată.",
486
+ "tsVersionMismatch": "Backup a fost creat cu TimescaleDB {{backupVersion}} , dar acest server suportă doar TimescaleDB {{serverVersion}}."
487
+ },
488
+ "toast": {
489
+ "backupCreated": "Backup creat cu succes",
490
+ "backupCreateFailed": "Crearea copiei de rezervă a eșuat",
491
+ "backupUploaded": "Backup încărcat cu succes",
492
+ "backupUploadFailed": "Încărcarea copiei de rezervă a eșuat",
493
+ "backupDeleted": "Backup şters",
494
+ "backupDeleteFailed": "Ștergerea copiei de rezervă a eșuat",
495
+ "restoreStarted": "Restaurare începută",
496
+ "restoreStartFailed": "Pornirea restaurării a eșuat",
497
+ "scheduleSaved": "Program de rezervă salvat",
498
+ "scheduleError": "Salvarea programului de backup a eșuat"
499
+ }
500
500
  }
501
501
  }