@tracearr/translations 2.2.0-beta.3 → 2.2.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 (365) hide show
  1. package/dist/config.d.ts +2 -0
  2. package/dist/config.d.ts.map +1 -1
  3. package/dist/config.mobile.d.ts +2 -0
  4. package/dist/config.mobile.d.ts.map +1 -1
  5. package/dist/locales/af-ZA/common.json +313 -313
  6. package/dist/locales/af-ZA/mobile.json +138 -138
  7. package/dist/locales/af-ZA/nav.json +30 -30
  8. package/dist/locales/af-ZA/notifications.json +228 -228
  9. package/dist/locales/af-ZA/pages.json +1776 -1775
  10. package/dist/locales/af-ZA/settings.json +483 -483
  11. package/dist/locales/ar-SA/common.json +289 -289
  12. package/dist/locales/ar-SA/mobile.json +96 -96
  13. package/dist/locales/ar-SA/nav.json +8 -8
  14. package/dist/locales/ar-SA/notifications.json +227 -227
  15. package/dist/locales/ar-SA/pages.json +1779 -1778
  16. package/dist/locales/ar-SA/settings.json +452 -452
  17. package/dist/locales/ca-ES/common.json +286 -286
  18. package/dist/locales/ca-ES/mobile.json +125 -125
  19. package/dist/locales/ca-ES/nav.json +8 -8
  20. package/dist/locales/ca-ES/notifications.json +228 -228
  21. package/dist/locales/ca-ES/pages.json +1775 -1774
  22. package/dist/locales/ca-ES/settings.json +471 -471
  23. package/dist/locales/cs-CZ/common.json +284 -284
  24. package/dist/locales/cs-CZ/mobile.json +99 -99
  25. package/dist/locales/cs-CZ/nav.json +8 -8
  26. package/dist/locales/cs-CZ/notifications.json +226 -226
  27. package/dist/locales/cs-CZ/pages.json +1766 -1765
  28. package/dist/locales/cs-CZ/settings.json +451 -451
  29. package/dist/locales/da-DK/common.json +284 -284
  30. package/dist/locales/da-DK/mobile.json +99 -99
  31. package/dist/locales/da-DK/nav.json +9 -9
  32. package/dist/locales/da-DK/notifications.json +226 -226
  33. package/dist/locales/da-DK/pages.json +1775 -1774
  34. package/dist/locales/da-DK/settings.json +451 -451
  35. package/dist/locales/de-DE/common.json +285 -285
  36. package/dist/locales/de-DE/mobile.json +102 -102
  37. package/dist/locales/de-DE/nav.json +10 -10
  38. package/dist/locales/de-DE/notifications.json +226 -226
  39. package/dist/locales/de-DE/pages.json +1775 -1774
  40. package/dist/locales/de-DE/settings.json +451 -451
  41. package/dist/locales/el-GR/common.json +283 -283
  42. package/dist/locales/el-GR/mobile.json +97 -97
  43. package/dist/locales/el-GR/nav.json +8 -8
  44. package/dist/locales/el-GR/notifications.json +226 -226
  45. package/dist/locales/el-GR/pages.json +1781 -1780
  46. package/dist/locales/el-GR/settings.json +451 -451
  47. package/dist/locales/en/pages.json +2 -1
  48. package/dist/locales/en-US/common.json +280 -280
  49. package/dist/locales/en-US/nav.json +20 -20
  50. package/dist/locales/en-US/notifications.json +222 -222
  51. package/dist/locales/en-US/pages.json +1553 -1552
  52. package/dist/locales/en-US/settings.json +432 -432
  53. package/dist/locales/es-ES/common.json +283 -283
  54. package/dist/locales/es-ES/mobile.json +96 -96
  55. package/dist/locales/es-ES/nav.json +8 -8
  56. package/dist/locales/es-ES/notifications.json +226 -226
  57. package/dist/locales/es-ES/pages.json +1774 -1773
  58. package/dist/locales/es-ES/settings.json +451 -451
  59. package/dist/locales/fi-FI/common.json +284 -284
  60. package/dist/locales/fi-FI/mobile.json +97 -97
  61. package/dist/locales/fi-FI/nav.json +9 -9
  62. package/dist/locales/fi-FI/notifications.json +226 -226
  63. package/dist/locales/fi-FI/pages.json +1776 -1775
  64. package/dist/locales/fi-FI/settings.json +451 -451
  65. package/dist/locales/fr-FR/common.json +284 -284
  66. package/dist/locales/fr-FR/mobile.json +10 -10
  67. package/dist/locales/fr-FR/nav.json +11 -11
  68. package/dist/locales/fr-FR/notifications.json +226 -226
  69. package/dist/locales/fr-FR/pages.json +1762 -1761
  70. package/dist/locales/fr-FR/settings.json +452 -452
  71. package/dist/locales/he-IL/common.json +313 -313
  72. package/dist/locales/he-IL/mobile.json +138 -138
  73. package/dist/locales/he-IL/nav.json +30 -30
  74. package/dist/locales/he-IL/notifications.json +228 -228
  75. package/dist/locales/he-IL/pages.json +1796 -1795
  76. package/dist/locales/he-IL/settings.json +483 -483
  77. package/dist/locales/hu-HU/common.json +298 -298
  78. package/dist/locales/hu-HU/mobile.json +138 -138
  79. package/dist/locales/hu-HU/nav.json +30 -30
  80. package/dist/locales/hu-HU/notifications.json +228 -228
  81. package/dist/locales/hu-HU/pages.json +1792 -1791
  82. package/dist/locales/hu-HU/settings.json +482 -482
  83. package/dist/locales/it-IT/common.json +284 -284
  84. package/dist/locales/it-IT/mobile.json +101 -101
  85. package/dist/locales/it-IT/nav.json +10 -10
  86. package/dist/locales/it-IT/notifications.json +227 -227
  87. package/dist/locales/it-IT/pages.json +1779 -1778
  88. package/dist/locales/it-IT/settings.json +451 -451
  89. package/dist/locales/ja-JP/common.json +283 -283
  90. package/dist/locales/ja-JP/mobile.json +98 -98
  91. package/dist/locales/ja-JP/nav.json +9 -9
  92. package/dist/locales/ja-JP/notifications.json +226 -226
  93. package/dist/locales/ja-JP/pages.json +1779 -1778
  94. package/dist/locales/ja-JP/settings.json +451 -451
  95. package/dist/locales/ko-KR/common.json +313 -313
  96. package/dist/locales/ko-KR/mobile.json +138 -138
  97. package/dist/locales/ko-KR/nav.json +30 -30
  98. package/dist/locales/ko-KR/notifications.json +228 -228
  99. package/dist/locales/ko-KR/pages.json +1796 -1795
  100. package/dist/locales/ko-KR/settings.json +483 -483
  101. package/dist/locales/nl-NL/common.json +283 -283
  102. package/dist/locales/nl-NL/mobile.json +91 -91
  103. package/dist/locales/nl-NL/nav.json +10 -10
  104. package/dist/locales/nl-NL/notifications.json +226 -226
  105. package/dist/locales/nl-NL/pages.json +1768 -1767
  106. package/dist/locales/nl-NL/settings.json +444 -444
  107. package/dist/locales/no-NO/common.json +283 -283
  108. package/dist/locales/no-NO/mobile.json +96 -96
  109. package/dist/locales/no-NO/nav.json +8 -8
  110. package/dist/locales/no-NO/notifications.json +226 -226
  111. package/dist/locales/no-NO/pages.json +1778 -1777
  112. package/dist/locales/no-NO/settings.json +451 -451
  113. package/dist/locales/pl-PL/common.json +283 -283
  114. package/dist/locales/pl-PL/mobile.json +94 -94
  115. package/dist/locales/pl-PL/nav.json +8 -8
  116. package/dist/locales/pl-PL/notifications.json +226 -226
  117. package/dist/locales/pl-PL/pages.json +1778 -1777
  118. package/dist/locales/pl-PL/settings.json +451 -451
  119. package/dist/locales/pt-BR/common.json +286 -286
  120. package/dist/locales/pt-BR/mobile.json +138 -138
  121. package/dist/locales/pt-BR/nav.json +17 -17
  122. package/dist/locales/pt-BR/notifications.json +226 -226
  123. package/dist/locales/pt-BR/pages.json +1781 -1780
  124. package/dist/locales/pt-BR/settings.json +454 -454
  125. package/dist/locales/pt-PT/common.json +289 -289
  126. package/dist/locales/pt-PT/mobile.json +97 -97
  127. package/dist/locales/pt-PT/nav.json +9 -9
  128. package/dist/locales/pt-PT/notifications.json +226 -226
  129. package/dist/locales/pt-PT/pages.json +1780 -1779
  130. package/dist/locales/pt-PT/settings.json +452 -452
  131. package/dist/locales/ro-RO/common.json +283 -283
  132. package/dist/locales/ro-RO/mobile.json +98 -98
  133. package/dist/locales/ro-RO/nav.json +9 -9
  134. package/dist/locales/ro-RO/notifications.json +226 -226
  135. package/dist/locales/ro-RO/pages.json +1779 -1778
  136. package/dist/locales/ro-RO/settings.json +451 -451
  137. package/dist/locales/ru-RU/common.json +288 -288
  138. package/dist/locales/ru-RU/mobile.json +97 -97
  139. package/dist/locales/ru-RU/nav.json +8 -8
  140. package/dist/locales/ru-RU/notifications.json +226 -226
  141. package/dist/locales/ru-RU/pages.json +1781 -1780
  142. package/dist/locales/ru-RU/settings.json +451 -451
  143. package/dist/locales/sr-SP/common.json +313 -313
  144. package/dist/locales/sr-SP/mobile.json +138 -138
  145. package/dist/locales/sr-SP/nav.json +30 -30
  146. package/dist/locales/sr-SP/notifications.json +228 -228
  147. package/dist/locales/sr-SP/pages.json +1796 -1795
  148. package/dist/locales/sr-SP/settings.json +483 -483
  149. package/dist/locales/sv-SE/common.json +284 -284
  150. package/dist/locales/sv-SE/mobile.json +100 -100
  151. package/dist/locales/sv-SE/nav.json +9 -9
  152. package/dist/locales/sv-SE/notifications.json +226 -226
  153. package/dist/locales/sv-SE/pages.json +1777 -1776
  154. package/dist/locales/sv-SE/settings.json +451 -451
  155. package/dist/locales/tr-TR/common.json +313 -313
  156. package/dist/locales/tr-TR/mobile.json +138 -138
  157. package/dist/locales/tr-TR/nav.json +30 -30
  158. package/dist/locales/tr-TR/notifications.json +228 -228
  159. package/dist/locales/tr-TR/pages.json +1792 -1791
  160. package/dist/locales/tr-TR/settings.json +483 -483
  161. package/dist/locales/uk-UA/common.json +283 -283
  162. package/dist/locales/uk-UA/mobile.json +98 -98
  163. package/dist/locales/uk-UA/nav.json +8 -8
  164. package/dist/locales/uk-UA/notifications.json +226 -226
  165. package/dist/locales/uk-UA/pages.json +1779 -1778
  166. package/dist/locales/uk-UA/settings.json +451 -451
  167. package/dist/locales/vi-VN/common.json +313 -313
  168. package/dist/locales/vi-VN/mobile.json +138 -138
  169. package/dist/locales/vi-VN/nav.json +30 -30
  170. package/dist/locales/vi-VN/notifications.json +228 -228
  171. package/dist/locales/vi-VN/pages.json +1796 -1795
  172. package/dist/locales/vi-VN/settings.json +483 -483
  173. package/dist/locales/zh-CN/common.json +283 -283
  174. package/dist/locales/zh-CN/mobile.json +95 -95
  175. package/dist/locales/zh-CN/nav.json +8 -8
  176. package/dist/locales/zh-CN/notifications.json +226 -226
  177. package/dist/locales/zh-CN/pages.json +1778 -1777
  178. package/dist/locales/zh-CN/settings.json +451 -451
  179. package/dist/locales/zh-TW/common.json +293 -293
  180. package/dist/locales/zh-TW/mobile.json +137 -137
  181. package/dist/locales/zh-TW/nav.json +30 -30
  182. package/dist/locales/zh-TW/notifications.json +228 -228
  183. package/dist/locales/zh-TW/pages.json +1798 -1797
  184. package/dist/locales/zh-TW/settings.json +482 -482
  185. package/package.json +3 -2
  186. package/src/locales/af-ZA/common.json +313 -313
  187. package/src/locales/af-ZA/mobile.json +138 -138
  188. package/src/locales/af-ZA/nav.json +30 -30
  189. package/src/locales/af-ZA/notifications.json +228 -228
  190. package/src/locales/af-ZA/pages.json +1776 -1775
  191. package/src/locales/af-ZA/settings.json +483 -483
  192. package/src/locales/ar-SA/common.json +289 -289
  193. package/src/locales/ar-SA/mobile.json +96 -96
  194. package/src/locales/ar-SA/nav.json +8 -8
  195. package/src/locales/ar-SA/notifications.json +227 -227
  196. package/src/locales/ar-SA/pages.json +1779 -1778
  197. package/src/locales/ar-SA/settings.json +452 -452
  198. package/src/locales/ca-ES/common.json +286 -286
  199. package/src/locales/ca-ES/mobile.json +125 -125
  200. package/src/locales/ca-ES/nav.json +8 -8
  201. package/src/locales/ca-ES/notifications.json +228 -228
  202. package/src/locales/ca-ES/pages.json +1775 -1774
  203. package/src/locales/ca-ES/settings.json +471 -471
  204. package/src/locales/cs-CZ/common.json +284 -284
  205. package/src/locales/cs-CZ/mobile.json +99 -99
  206. package/src/locales/cs-CZ/nav.json +8 -8
  207. package/src/locales/cs-CZ/notifications.json +226 -226
  208. package/src/locales/cs-CZ/pages.json +1766 -1765
  209. package/src/locales/cs-CZ/settings.json +451 -451
  210. package/src/locales/da-DK/common.json +284 -284
  211. package/src/locales/da-DK/mobile.json +99 -99
  212. package/src/locales/da-DK/nav.json +9 -9
  213. package/src/locales/da-DK/notifications.json +226 -226
  214. package/src/locales/da-DK/pages.json +1775 -1774
  215. package/src/locales/da-DK/settings.json +451 -451
  216. package/src/locales/de-DE/common.json +285 -285
  217. package/src/locales/de-DE/mobile.json +102 -102
  218. package/src/locales/de-DE/nav.json +10 -10
  219. package/src/locales/de-DE/notifications.json +226 -226
  220. package/src/locales/de-DE/pages.json +1775 -1774
  221. package/src/locales/de-DE/settings.json +451 -451
  222. package/src/locales/el-GR/common.json +283 -283
  223. package/src/locales/el-GR/mobile.json +97 -97
  224. package/src/locales/el-GR/nav.json +8 -8
  225. package/src/locales/el-GR/notifications.json +226 -226
  226. package/src/locales/el-GR/pages.json +1781 -1780
  227. package/src/locales/el-GR/settings.json +451 -451
  228. package/src/locales/en/pages.json +2 -1
  229. package/src/locales/en-US/common.json +280 -280
  230. package/src/locales/en-US/nav.json +20 -20
  231. package/src/locales/en-US/notifications.json +222 -222
  232. package/src/locales/en-US/pages.json +1553 -1552
  233. package/src/locales/en-US/settings.json +432 -432
  234. package/src/locales/es-ES/common.json +283 -283
  235. package/src/locales/es-ES/mobile.json +96 -96
  236. package/src/locales/es-ES/nav.json +8 -8
  237. package/src/locales/es-ES/notifications.json +226 -226
  238. package/src/locales/es-ES/pages.json +1774 -1773
  239. package/src/locales/es-ES/settings.json +451 -451
  240. package/src/locales/fi-FI/common.json +284 -284
  241. package/src/locales/fi-FI/mobile.json +97 -97
  242. package/src/locales/fi-FI/nav.json +9 -9
  243. package/src/locales/fi-FI/notifications.json +226 -226
  244. package/src/locales/fi-FI/pages.json +1776 -1775
  245. package/src/locales/fi-FI/settings.json +451 -451
  246. package/src/locales/fr-FR/common.json +284 -284
  247. package/src/locales/fr-FR/mobile.json +10 -10
  248. package/src/locales/fr-FR/nav.json +11 -11
  249. package/src/locales/fr-FR/notifications.json +226 -226
  250. package/src/locales/fr-FR/pages.json +1762 -1761
  251. package/src/locales/fr-FR/settings.json +452 -452
  252. package/src/locales/he-IL/common.json +313 -313
  253. package/src/locales/he-IL/mobile.json +138 -138
  254. package/src/locales/he-IL/nav.json +30 -30
  255. package/src/locales/he-IL/notifications.json +228 -228
  256. package/src/locales/he-IL/pages.json +1796 -1795
  257. package/src/locales/he-IL/settings.json +483 -483
  258. package/src/locales/hu-HU/common.json +298 -298
  259. package/src/locales/hu-HU/mobile.json +138 -138
  260. package/src/locales/hu-HU/nav.json +30 -30
  261. package/src/locales/hu-HU/notifications.json +228 -228
  262. package/src/locales/hu-HU/pages.json +1792 -1791
  263. package/src/locales/hu-HU/settings.json +482 -482
  264. package/src/locales/it-IT/common.json +284 -284
  265. package/src/locales/it-IT/mobile.json +101 -101
  266. package/src/locales/it-IT/nav.json +10 -10
  267. package/src/locales/it-IT/notifications.json +227 -227
  268. package/src/locales/it-IT/pages.json +1779 -1778
  269. package/src/locales/it-IT/settings.json +451 -451
  270. package/src/locales/ja-JP/common.json +283 -283
  271. package/src/locales/ja-JP/mobile.json +98 -98
  272. package/src/locales/ja-JP/nav.json +9 -9
  273. package/src/locales/ja-JP/notifications.json +226 -226
  274. package/src/locales/ja-JP/pages.json +1779 -1778
  275. package/src/locales/ja-JP/settings.json +451 -451
  276. package/src/locales/ko-KR/common.json +313 -313
  277. package/src/locales/ko-KR/mobile.json +138 -138
  278. package/src/locales/ko-KR/nav.json +30 -30
  279. package/src/locales/ko-KR/notifications.json +228 -228
  280. package/src/locales/ko-KR/pages.json +1796 -1795
  281. package/src/locales/ko-KR/settings.json +483 -483
  282. package/src/locales/nl-NL/common.json +283 -283
  283. package/src/locales/nl-NL/mobile.json +91 -91
  284. package/src/locales/nl-NL/nav.json +10 -10
  285. package/src/locales/nl-NL/notifications.json +226 -226
  286. package/src/locales/nl-NL/pages.json +1768 -1767
  287. package/src/locales/nl-NL/settings.json +444 -444
  288. package/src/locales/no-NO/common.json +283 -283
  289. package/src/locales/no-NO/mobile.json +96 -96
  290. package/src/locales/no-NO/nav.json +8 -8
  291. package/src/locales/no-NO/notifications.json +226 -226
  292. package/src/locales/no-NO/pages.json +1778 -1777
  293. package/src/locales/no-NO/settings.json +451 -451
  294. package/src/locales/pl-PL/common.json +283 -283
  295. package/src/locales/pl-PL/mobile.json +94 -94
  296. package/src/locales/pl-PL/nav.json +8 -8
  297. package/src/locales/pl-PL/notifications.json +226 -226
  298. package/src/locales/pl-PL/pages.json +1778 -1777
  299. package/src/locales/pl-PL/settings.json +451 -451
  300. package/src/locales/pt-BR/common.json +286 -286
  301. package/src/locales/pt-BR/mobile.json +138 -138
  302. package/src/locales/pt-BR/nav.json +17 -17
  303. package/src/locales/pt-BR/notifications.json +226 -226
  304. package/src/locales/pt-BR/pages.json +1781 -1780
  305. package/src/locales/pt-BR/settings.json +454 -454
  306. package/src/locales/pt-PT/common.json +289 -289
  307. package/src/locales/pt-PT/mobile.json +97 -97
  308. package/src/locales/pt-PT/nav.json +9 -9
  309. package/src/locales/pt-PT/notifications.json +226 -226
  310. package/src/locales/pt-PT/pages.json +1780 -1779
  311. package/src/locales/pt-PT/settings.json +452 -452
  312. package/src/locales/ro-RO/common.json +283 -283
  313. package/src/locales/ro-RO/mobile.json +98 -98
  314. package/src/locales/ro-RO/nav.json +9 -9
  315. package/src/locales/ro-RO/notifications.json +226 -226
  316. package/src/locales/ro-RO/pages.json +1779 -1778
  317. package/src/locales/ro-RO/settings.json +451 -451
  318. package/src/locales/ru-RU/common.json +288 -288
  319. package/src/locales/ru-RU/mobile.json +97 -97
  320. package/src/locales/ru-RU/nav.json +8 -8
  321. package/src/locales/ru-RU/notifications.json +226 -226
  322. package/src/locales/ru-RU/pages.json +1781 -1780
  323. package/src/locales/ru-RU/settings.json +451 -451
  324. package/src/locales/sr-SP/common.json +313 -313
  325. package/src/locales/sr-SP/mobile.json +138 -138
  326. package/src/locales/sr-SP/nav.json +30 -30
  327. package/src/locales/sr-SP/notifications.json +228 -228
  328. package/src/locales/sr-SP/pages.json +1796 -1795
  329. package/src/locales/sr-SP/settings.json +483 -483
  330. package/src/locales/sv-SE/common.json +284 -284
  331. package/src/locales/sv-SE/mobile.json +100 -100
  332. package/src/locales/sv-SE/nav.json +9 -9
  333. package/src/locales/sv-SE/notifications.json +226 -226
  334. package/src/locales/sv-SE/pages.json +1777 -1776
  335. package/src/locales/sv-SE/settings.json +451 -451
  336. package/src/locales/tr-TR/common.json +313 -313
  337. package/src/locales/tr-TR/mobile.json +138 -138
  338. package/src/locales/tr-TR/nav.json +30 -30
  339. package/src/locales/tr-TR/notifications.json +228 -228
  340. package/src/locales/tr-TR/pages.json +1792 -1791
  341. package/src/locales/tr-TR/settings.json +483 -483
  342. package/src/locales/uk-UA/common.json +283 -283
  343. package/src/locales/uk-UA/mobile.json +98 -98
  344. package/src/locales/uk-UA/nav.json +8 -8
  345. package/src/locales/uk-UA/notifications.json +226 -226
  346. package/src/locales/uk-UA/pages.json +1779 -1778
  347. package/src/locales/uk-UA/settings.json +451 -451
  348. package/src/locales/vi-VN/common.json +313 -313
  349. package/src/locales/vi-VN/mobile.json +138 -138
  350. package/src/locales/vi-VN/nav.json +30 -30
  351. package/src/locales/vi-VN/notifications.json +228 -228
  352. package/src/locales/vi-VN/pages.json +1796 -1795
  353. package/src/locales/vi-VN/settings.json +483 -483
  354. package/src/locales/zh-CN/common.json +283 -283
  355. package/src/locales/zh-CN/mobile.json +95 -95
  356. package/src/locales/zh-CN/nav.json +8 -8
  357. package/src/locales/zh-CN/notifications.json +226 -226
  358. package/src/locales/zh-CN/pages.json +1778 -1777
  359. package/src/locales/zh-CN/settings.json +451 -451
  360. package/src/locales/zh-TW/common.json +293 -293
  361. package/src/locales/zh-TW/mobile.json +137 -137
  362. package/src/locales/zh-TW/nav.json +30 -30
  363. package/src/locales/zh-TW/notifications.json +228 -228
  364. package/src/locales/zh-TW/pages.json +1798 -1797
  365. package/src/locales/zh-TW/settings.json +482 -482
@@ -1,504 +1,504 @@
1
1
  {
2
- "accessControl": {
3
- "allowGuestAccess": "Autoriser l'accès aux invités",
4
- "allowGuestAccessDesc": "Lorsque désactivé, seul le propriétaire du serveur peut se connecter à Tracearr",
5
- "description": "Configurer qui peut accéder à Tracearr",
6
- "singleOwnerNote": "Remarque : Lorsque l'accès des invités est désactivé, seul le propriétaire du serveur peut se connecter. Tous les autres utilisateurs verront un message \"Accès refusé\".",
7
- "title": "Contrôle d'accès"
8
- },
9
- "account": {
10
- "createAccount": "Créer un compte",
11
- "createYourAccount": "Créez votre compte pour démarrer",
12
- "displayName": "Nom d'affichage",
13
- "email": "Email",
14
- "password": "Mot de passe",
15
- "signInToAccount": "Connectez-vous à votre compte",
16
- "useLocalAccount": "Utiliser un compte local à la place"
17
- },
18
- "advanced": {
19
- "connectionScenarios": "Scénarios de connexion",
20
- "externalUrl": "URL externe",
21
- "reverseProxy": "Proxy inversé",
22
- "title": "Réglages avancés",
23
- "trustProxy": "En-têtes de confiance du Proxy"
24
- },
25
- "backup": {
26
- "actions": "Actions",
27
- "backToBackups": "Retour aux sauvegardes",
28
- "backupHistory": "Historique des sauvegardes",
29
- "createBackup": "Créer une sauvegarde",
30
- "creating": "Création de la sauvegarde...",
31
- "databaseSize": "Taille actuelle de la base de données : {{size}}",
32
- "date": "Date",
33
- "dayFri": "Vendredi",
34
- "dayMon": "Lundi",
35
- "daySat": "Samedi",
36
- "daySun": "Dimanche",
37
- "dayThu": "Jeudi",
38
- "dayTue": "Mardi",
39
- "dayWed": "Mercredi",
40
- "deleteConfirmDescription": "Êtes-vous sûr de vouloir supprimer cette sauvegarde ? Cette action est irréversible.",
41
- "deleteConfirmTitle": "Supprimer la sauvegarde",
42
- "description": "Sauvegardez et restaurez vos données Tracearr",
43
- "filename": "Nom du fichier",
44
- "freeSpace": "Espace libre dans le répertoire de sauvegarde : {{size}}",
45
- "lowDiskSpace": "Espace disque faible — les sauvegardes et restaurations nécessitent au moins deux fois la taille de la base de données en espace libre.",
46
- "noBackups": "Aucune sauvegarde pour le moment. Créez votre première sauvegarde ci-dessus.",
47
- "restore": {
48
- "automations": "Automations",
49
- "cannotRestore": "La restauration nécessite des privilèges de superutilisateur PostgreSQL. Veuillez vous assurer que votre utilisateur de base de données dispose de ces privilèges, puis réessayez.",
50
- "complete": "Restauration effectuée avec succès. La page s'actualisera sous peu.",
51
- "confirm": "Démarrer la restauration",
52
- "confirmLabel": "Je comprends que cela remplacera toutes les données",
53
- "databaseSize": "Taille de la base de données",
54
- "failed": "Échec de la restauration",
55
- "libraryItems": "Éléments de la bibliothèque",
56
- "pgVersionMismatch": "La sauvegarde a été créée avec PostgreSQL {{backupVersion}}, mais ce serveur utilise PostgreSQL {{serverVersion}}. La restauration d'une sauvegarde issue d'une version plus récente de PostgreSQL n'est pas prise en charge.",
57
- "selectedBackup": "Sauvegarde sélectionnée",
58
- "servers": "Serveurs",
59
- "sessions": "Sessions",
60
- "tables": "Tableaux",
61
- "title": "Restaurer la sauvegarde",
62
- "tsVersionMismatch": "La sauvegarde a été créée avec TimescaleDB {{backupVersion}}, mais ce serveur ne prend en charge que jusqu'à TimescaleDB {{serverVersion}}.",
63
- "users": "Utilisateurs",
64
- "warning": "La restauration remplacera toutes les données existantes. Vous devrez vous reconnecter une fois la restauration complétée."
65
- },
66
- "restoreAction": "Restaurer",
67
- "retentionCount": "Garder les dernières :",
68
- "retentionSuffix": "sauvegardes planifiées",
69
- "schedule": "Sauvegardes planifiées",
70
- "scheduleDaily": "Journalière",
71
- "scheduleDayOfMonth": "Jour du mois",
72
- "scheduleDayOfMonthHint": "Pour les mois comportant moins de jours, la sauvegarde est effectuée le dernier jour du mois.",
73
- "scheduleDayOfWeek": "Jour de la semaine",
74
- "scheduleDisabled": "Désactivé",
75
- "scheduleMonthly": "Mensuelle",
76
- "scheduleTime": "Heure ({{timezone}})",
77
- "scheduleType": "Planification",
78
- "scheduleWeekly": "Hebdomadaire",
79
- "size": "Taille",
80
- "title": "Sauvegarde",
81
- "toast": {
82
- "backupCreateFailed": "Échec de création de la sauvegarde",
83
- "backupCreated": "Sauvegarde créée avec succès",
84
- "backupDeleteFailed": "Échec de suppression de la sauvegarde",
85
- "backupDeleted": "Sauvegarde supprimée",
86
- "backupUploadFailed": "Échec du téléversement de la sauvegarde",
87
- "backupUploaded": "Sauvegarde téléversée avec succès",
88
- "restoreStartFailed": "Échec du démarrage de la restauration",
89
- "restoreStarted": "La restauration a démarré",
90
- "scheduleError": "Échec de l'enregistrement de la planification de la sauvegarde",
91
- "scheduleSaved": "Planification de la sauvegarde enregistrée"
92
- },
93
- "type": "Type",
94
- "typeManual": "Manuelle",
95
- "typeScheduled": "Planifiée",
96
- "typeUploaded": "Téléversé",
97
- "uploadBackup": "Téléverser une sauvegarde",
98
- "uploading": "Téléversement...",
99
- "version": "Version"
2
+ "title": "Réglages",
3
+ "tabs": {
4
+ "general": "Général",
5
+ "servers": "Serveurs",
6
+ "notifications": "",
7
+ "mobile": "Application mobile",
8
+ "tailscale": "",
9
+ "import": "Importation",
10
+ "advanced": "Avancé",
11
+ "jobs": "Tâches",
12
+ "accessControl": "Contrôle d'accès",
13
+ "backup": "Sauvegarde"
100
14
  },
101
15
  "general": {
102
- "accentColor": "Couleur d'accentuation",
103
- "apiDocs": "API Docs",
104
- "apiKeyDesc": "Accédez à l'API Tracearr pour des intégrations tierces comme Homarr, Home Assistant, etc.",
105
- "apiKeyReadAccess": "Votre clé API vous donne un accès en lecture complète à vos données 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": "Réglages généraux",
17
+ "unitSystem": "Système d'unité",
18
+ "metric": "Métrique (km, km/h)",
19
+ "imperial": "Impérial (mi, mph)",
20
+ "timezone": "Fuseau horaire",
21
+ "primaryAuth": "Méthode d'authentification principale",
22
+ "localAccount": "Compte local",
23
+ "plexAccount": "Compte Plex",
24
+ "language": "Langue",
25
+ "languageDescription": "Choisissez votre langue d'affichage préférée.",
26
+ "helpTranslate": "Aidez-nous à traduire Tracearr",
27
+ "timeFormat": "Format horaire",
28
+ "timeFormatDescription": "Choisissez comment l'heure est affichée.",
29
+ "timeFormat12h": "Format 12 heures (1:30 PM)",
30
+ "timeFormat24h": "Format 24 heures (13:30)",
109
31
  "appearance": "Apparence",
110
32
  "appearanceDesc": "Personnaliser l'apparence de Tracearr",
111
- "application": "Application",
112
- "applicationDesc": "Configurer les paramètres de base de l'application",
113
- "copyToClipboard": "Copier dans le presse-papiers",
114
- "cyanDefault": "* Cyan est la couleur d'accentuation par défaut",
33
+ "theme": "Thème",
34
+ "accentColor": "Couleur d'accentuation",
115
35
  "default": "(par défaut)",
116
- "detect": "Détecter",
36
+ "cyanDefault": "* Cyan est la couleur d'accentuation par défaut",
37
+ "themeLight": "Lumière",
38
+ "themeDark": "Sombre",
39
+ "themeSystem": "Système",
40
+ "application": "",
41
+ "applicationDesc": "Configurer les paramètres de base de l'application",
42
+ "unitSystemDesc": "Choisir comment les distances et les vitesses sont affichées",
43
+ "sessionSync": "Synchronisation de session",
44
+ "sessionSyncDesc": "Activer le suivi de session pour vos serveurs multimédia",
45
+ "syncInterval": "Intervalle de synchronisation",
46
+ "syncIntervalDesc": "Fréquence de vote pour Jellyfin/Emby (5-300 secondes)",
47
+ "syncIntervalSuffix": "s",
48
+ "plexSseNote": "Plex utilise Server-Sent Events (SSE) pour des mises à jour quasi instantanées — aucun sondage n'est nécessaire.",
49
+ "jellyfinPollingNote": "Les sondages de Jellyfin/Emby sont effectués à l'intervalle ci-dessus.",
117
50
  "enhancedGeoIP": "Recherche GeoIP améliorée",
118
51
  "enhancedGeoIPDesc": "Utiliser le service GeoIP de Plex pour des données de localisation plus précises. Lorsqu'il est activé, les adresses IP sont envoyées à plex. v pour la recherche. La base de données locale MaxMind est utilisée comme repli.",
119
52
  "externalAccess": "Accès externe",
120
53
  "externalAccessDesc": "Configurer comment les appareils externes (comme les applications mobiles) se connectent à votre serveur",
121
54
  "externalUrl": "URL externe",
55
+ "externalUrlPlaceholder": "",
122
56
  "externalUrlDesc": "L'URL que les appareils externes doivent utiliser pour atteindre ce serveur. Utilisé pour les codes QR et l'appairage de l'application mobile.",
123
- "externalUrlPlaceholder": "https://tracearr.example.com",
124
- "generateApiKeyPrompt": "Générer une clé API pour activer les intégrations externes.",
125
- "generateKey": "Générer une clé",
126
- "helpTranslate": "Aidez-nous à traduire Tracearr",
127
- "imperial": "Impérial (mi, mph)",
128
- "iosHttpWarning": "iOS nécessite HTTPS pour les connexions externes. Configurez un proxy inverse avec SSL.",
129
- "jellyfinPollingNote": "Les sondages de Jellyfin/Emby sont effectués à l'intervalle ci-dessus.",
130
- "language": "Langue",
131
- "languageDescription": "Choisissez votre langue d'affichage préférée.",
132
- "localAccount": "Compte local",
57
+ "detect": "Détecter",
133
58
  "localhostWarning": "Les URL de l'hôte local ne fonctionneront pas pour les périphériques externes. Utilisez votre IP LAN ou un nom de domaine.",
134
- "metric": "Métrique (km, km/h)",
59
+ "iosHttpWarning": "iOS nécessite HTTPS pour les connexions externes. Configurez un proxy inverse avec SSL.",
60
+ "apiKeyDesc": "Accédez à l'API Tracearr pour des intégrations tierces comme Homarr, Home Assistant, etc.",
61
+ "apiDocs": "",
135
62
  "noApiKeyGenerated": "Aucune clé API générée",
136
- "plexAccount": "Compte Plex",
137
- "plexSseNote": "Plex utilise Server-Sent Events (SSE) pour des mises à jour quasi instantanées — aucun sondage n'est nécessaire.",
138
- "primaryAuth": "Méthode d'authentification principale",
139
- "publicApiSettings": "Public API",
140
- "publicApiSettingsDesc": "Configure watch-completion thresholds and request limits for the public API",
63
+ "copyToClipboard": "Copier dans le presse-papiers",
64
+ "apiKeyReadAccess": "Votre clé API vous donne un accès en lecture complète à vos données Tracearr.",
65
+ "generateApiKeyPrompt": "Générer une clé API pour activer les intégrations externes.",
141
66
  "regenerate": "Régénérer",
67
+ "generateKey": "Générer une clé",
142
68
  "regenerateApiKey": "Régénérer la clé API ?",
143
69
  "regenerateApiKeyDesc": "Ceci invalidera votre clé API actuelle. Toute intégration utilisant l'ancienne clé cessera de fonctionner.",
144
- "sessionSync": "Synchronisation de session",
145
- "sessionSyncDesc": "Activer le suivi de session pour vos serveurs multimédia",
146
- "syncInterval": "Intervalle de synchronisation",
147
- "syncIntervalDesc": "Fréquence de vote pour Jellyfin/Emby (5-300 secondes)",
148
- "syncIntervalSuffix": "s",
149
- "theme": "Thème",
150
- "themeDark": "Sombre",
151
- "themeLight": "Lumière",
152
- "themeSystem": "Système",
153
- "timeFormat": "Format horaire",
154
- "timeFormat12h": "Format 12 heures (1:30 PM)",
155
- "timeFormat24h": "Format 24 heures (13:30)",
156
- "timeFormatDescription": "Choisissez comment l'heure est affichée.",
157
- "timezone": "Fuseau horaire",
158
- "title": "Réglages généraux",
159
- "unitSystem": "Système d'unité",
160
- "unitSystemDesc": "Choisir comment les distances et les vitesses sont affichées",
70
+ "publicApiSettings": "",
71
+ "publicApiSettingsDesc": "",
72
+ "watchedThresholdMovie": "",
73
+ "watchedThresholdMovieDesc": "",
74
+ "watchedThresholdTv": "",
75
+ "watchedThresholdTvDesc": "",
76
+ "watchedThresholdMusic": "",
77
+ "watchedThresholdMusicDesc": "",
78
+ "watchedThresholdSuffix": "",
79
+ "apiRateLimit": "",
80
+ "apiRateLimitDesc": "",
81
+ "apiRateLimitSuffix": "",
161
82
  "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"
83
+ "title": "",
84
+ "description": "",
85
+ "plugin": "",
86
+ "pluginDesc": "",
87
+ "server": "",
88
+ "serverDesc": ""
168
89
  },
169
90
  "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."
91
+ "title": "",
92
+ "description": "",
93
+ "size": "",
94
+ "files": "",
95
+ "need": "",
96
+ "needHint": "",
97
+ "free": "",
98
+ "freeOf": "",
99
+ "floor": "",
100
+ "ceiling": "",
101
+ "lastSweep": "",
102
+ "never": "",
103
+ "diskLimited": "",
104
+ "loadError": ""
105
+ }
106
+ },
107
+ "servers": {
108
+ "title": "Serveurs connectés",
109
+ "addServer": "Ajouter un serveur",
110
+ "serverName": "Nom du serveur",
111
+ "serverUrl": "URL du serveur",
112
+ "syncInterval": "Intervalle de synchronisation",
113
+ "testConnection": "Tester la connexion",
114
+ "connectionSuccess": "Connexion réussie",
115
+ "connectionFailed": "Échec de la connexion",
116
+ "noServersConnected": "Aucun serveur connecté",
117
+ "noServersConnectedHint": "Cliquez sur \"Ajouter un serveur\" pour connecter un serveur Jellyfin ou Emby",
118
+ "serverType": "Type de serveur",
119
+ "loadingAccounts": "Chargement des comptes Plex liés...",
120
+ "noPlexAccountsLinked": "Aucun compte Plex lié pour le moment",
121
+ "noPlexAccountsLinkedHint": "Lier un compte Plex ci-dessus, puis revenir pour ajouter un serveur.",
122
+ "selectPlexAccount": "Sélectionnez le compte Plex",
123
+ "chooseAccount": "Choisissez un compte...",
124
+ "selectAccountHelp": "Sélectionnez le compte Plex dont vous voulez découvrir les serveurs.",
125
+ "allServersConnected": "Tous les serveurs connectés",
126
+ "allServersConnectedDesc": "Tous les serveurs de ce compte sont déjà connectés.",
127
+ "serverUrlPlaceholder": "",
128
+ "serverUrlHelp": "URL directe vers votre serveur Jellyfin ou Emby. Utilisez IP:port pour une fiabilité optimale.",
129
+ "serverNamePlaceholder": "Mon serveur multimédia",
130
+ "apiKeyPlaceholder": "Entrez votre clé API",
131
+ "apiKeyHelp": "Trouvé dans le tableau de bord de votre serveur multimédia sous Clés API ou Paramètres avancés.",
132
+ "connecting": "Connexion en cours...",
133
+ "connectServer": "Connecter le serveur",
134
+ "removeServer": "Supprimer le serveur",
135
+ "removeServerConfirm": "Êtes-vous sûr de vouloir supprimer ce serveur ? Toutes les données de session associées seront conservées, mais vous ne serez pas en mesure de surveiller les nouvelles sessions de ce serveur.",
136
+ "editServer": "Modifier le serveur",
137
+ "editServerDesc": "Mettre à jour le nom du serveur ou l'URL de connexion.",
138
+ "serverColor": "Couleur du serveur",
139
+ "serverColorDesc": "Utilisé pour l'attribution visuelle dans la vue multi-serveur",
140
+ "updating": "Mise à jour en cours...",
141
+ "allFieldsRequired": "Tous les champs sont obligatoires",
142
+ "addServerDialogDescPlex": "Sélectionnez un serveur Plex à partir de votre compte lié.",
143
+ "addServerDialogDescOther": "Connectez un serveur Jellyfin ou Emby.",
144
+ "description": "Gérez vos serveurs Plex, Jellyfin et Emby connectés",
145
+ "discoveringServers": "Recherche des serveurs Plex disponibles...",
146
+ "discoveringConnections": "Découverte des connexions...",
147
+ "plexAccount": "Compte Plex",
148
+ "serverUrlHelpJellyfin": "L'URL où votre serveur Jellyfin est accessible",
149
+ "serverUrlHelpEmby": "L'URL où votre serveur Emby est accessible",
150
+ "apiKeyHelpJellyfin": "Trouvez ceci dans le tableau de bord Jellyfin → Clés API",
151
+ "apiKeyHelpEmby": "Trouvez ceci dans Emby Server → Clés API",
152
+ "plexServerPlaceholder": "Mon serveur Plex",
153
+ "plexServerUrlPlaceholder": "",
154
+ "updateHint": "Ou cliquez sur Mettre à jour ci-dessous pour enregistrer uniquement le changement de nom.",
155
+ "added": "Ajouté {{date}}",
156
+ "realtimeActive": "Mise à jour en temps réel active",
157
+ "pollingMode": "",
158
+ "setupRealtime": "Configurer les mises à jour en temps réel",
159
+ "realtimeError": "",
160
+ "checkingConnection": "Vérification de la connexion…",
161
+ "pluginVersion": "extension v{{version}}",
162
+ "pluginUpdateAvailable": "Mise à jour de l'extension disponible",
163
+ "realtimeDialog": {
164
+ "title": "Activer les mises à jour en temps réel",
165
+ "updateTitle": "Mettre à jour l'extension Tracearr SSE",
166
+ "jellyfinDescription": "Installez l'extension SSE de Tracearr pour recevoir les mises à jour de session instantanément, sans attendre la prochaine actualisation.",
167
+ "embyDescription": "Installez l'extension SSE de Tracearr pour recevoir les mises à jour de session instantanément, sans attendre la prochaine actualisation.",
168
+ "jellyfinUpdateDescription": "Une nouvelle version de l'extension est disponible. Ouvrez votre tableau de bord Jellyfin, rendez-vous dans Extensions, Catalogue, et mettez à jour Tracearr SSE, puis redémarrez Jellyfin.",
169
+ "embyUpdateDescription": "Une nouvelle version de l'extension est disponible. Téléchargez la dernière version du zip, remplacez le DLL de l'extension dans votre dossier d'extensions Emby et redémarrez Emby.",
170
+ "repositoryUrl": "URL du dépôt",
171
+ "copyUrl": "Copier l'URL",
172
+ "jellyfinRepoUrl": "",
173
+ "embyReleasesUrl": "",
174
+ "openReleases": "Ouvrir la page des versions",
175
+ "autoDetectNote": "",
176
+ "close": "Fermer",
177
+ "issueBlocked": "",
178
+ "issueRestartRequired": "",
179
+ "issueMalfunctioned": ""
184
180
  },
185
- "watchedThresholdMovie": "Movie Watched Threshold",
186
- "watchedThresholdMovieDesc": "Percentage of a movie that must be watched before it's marked complete",
187
- "watchedThresholdMusic": "Track Watched Threshold",
188
- "watchedThresholdMusicDesc": "Percentage of a track that must be played before it's marked complete",
189
- "watchedThresholdSuffix": "%",
190
- "watchedThresholdTv": "TV Episode Watched Threshold",
191
- "watchedThresholdTvDesc": "Percentage of an episode that must be watched before it's marked complete"
192
- },
193
- "import": {
194
- "apiKeyHelp": "Trouvé dans les paramètres Tautulli → Interface Web → Clé d'API.",
195
- "apiKeyPlaceholder": "Votre clé API Tautulli",
196
- "checkPlugin": "Check Plugin",
197
- "checkingPlugin": "Checking...",
198
- "connectToTautulli": "Se connecter à Tautulli",
199
- "connectedFound": "Connecté ! Utilisateurs {{users}} trouvés et enregistrements de l'historique {{records}}.",
200
- "duplicates": "{{count}} duplicates skipped",
201
- "enrichMetadata": "Enrichir avec les métadonnées du média (recommandé)",
202
- "enrichMetadataHelp": "Récupère des métadonnées supplémentaires depuis votre serveur multimédia pour les sessions importées.",
203
- "enriched": "Enrichi",
204
- "errors": "Erreurs",
205
- "exportBackupHelp": "Dans Jellystat, allez dans Paramètres → Sauvegarde → Sauvegarde d'activités pour exporter vos données.",
206
- "exportBackupHint": "Exporter une sauvegarde d'activité depuis Jellystat",
207
- "howItWorks": "Comment fonctionne l'import",
208
- "howItWorksDesc": "Tracearr importera toutes les données historiques de surveillance de votre source. Cela peut prendre un certain temps en fonction de la taille de votre bibliothèque.",
209
- "importComplete": "Importation terminée",
210
- "importFailed": "Échec de l'importation",
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": "Historique d'importation",
214
- "importHistoryDesc": "Importer des données historiques de surveillance à partir de sources externes",
215
- "importInProgressGeneric": "Importation en cours...",
216
- "importInProgressPercent": "Importation en cours ({{percent}}% terminé)...",
217
- "importOptions": "Options d'importation",
218
- "importProgress": "Progression de l'import",
219
- "imported": "Importé",
220
- "importing": "Importation en cours...",
221
- "includeStreamDetails": "Inclure les données détaillées du flux (codecs, débit, résolution)",
222
- "includeStreamDetailsHelp": "Importe des informations de flux supplémentaires. Peut augmenter considérablement le temps d'importation.",
223
- "jellyfinEmby": "Jellyfin/Emby (Jellystat)",
224
- "jellystat": "Importer depuis Jellystat",
225
- "noServers": "Aucun serveur connecté",
226
- "noServersHint": "Vous avez besoin d'au moins un serveur connecté pour importer des données.",
227
- "overlapSkipped": "{{count}} skipped as overlap",
228
- "overwriteFriendlyNames": "Remplacer les noms conviviaux existants par des noms Tautulli",
229
- "overwriteFriendlyNamesHelp": "Les noms d'identité existants dans Tracearr seront remplacés par les noms amicaux de Tautulli.",
230
- "page": "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.",
233
- "pleaseEnterDetails": "Veuillez entrer l'URL et la clé API de Tautulli",
234
- "pleaseSelectJsonFile": "Veuillez sélectionner un fichier JSON",
235
- "plex": "Plex (Tautulli)",
236
- "pluginFound": "Plugin found: {{records}} records from {{oldestDate}} to {{newestDate}}",
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": "Traité",
239
- "recordsMayBeSkipped": "Les enregistrements peuvent être ignorés si :",
240
- "selectJellyfinServer": "Sélectionnez un serveur Jellyfin ou Emby",
241
- "selectPlexServer": "Sélectionnez un serveur Plex",
242
- "selectTargetServer": "Sélectionnez le serveur cible",
243
- "serverTimezone": "Server Timezone",
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.",
245
- "skipDuplicate": "Dupliquer la session — La session a déjà été importée précédemment.",
246
- "skipDuplicatePlugin": "Duplicate record - already imported directly or arrived earlier via a Jellystat import of the same plugin data.",
247
- "skipInProgress": "Session en cours — Les sessions actives/incomplètes sans identifiant de référence sont ignorées.",
248
- "skipOverlap": "Overlapping record - the timestamp falls inside the period Tracearr already tracks for this server. Enable full-range import to include it.",
249
- "skipSyncHint": "Si plusieurs enregistrements sont ignorés, assurez-vous que vous avez récemment synchronisé votre serveur dans Paramètres → Serveurs.",
250
- "skipUserNotFoundJellyfin": "Utilisateur introuvable — L'utilisateur Jellyfin/Emby n'existe pas dans Tracearr. Synchronisez d'abord votre serveur pour ajouter tous les utilisateurs.",
251
- "skipUserNotFoundPlex": "Utilisateur introuvable — L'utilisateur Plex n'existe pas dans Tracearr. Synchronisez d'abord votre serveur pour ajouter tous les utilisateurs.",
252
- "skipped": "Ignoré",
253
- "startImport": "Commencer l'importation",
254
- "startingImport": "Démarrage de l'importation...",
255
- "step1": "1",
256
- "step2": "2",
257
- "targetServer": "Target Server",
258
- "tautulli": "Importer depuis Tautulli",
259
- "tautulliUrl": "URL Tautulli",
260
- "tautulliUrlHelp": "L'URL de votre instance Tautulli.",
261
- "tautulliUrlPlaceholder": "http://localhost:8181",
262
- "testing": "Test en cours...",
263
- "testingConnection": "Test de la connexion...",
264
- "title": "Importer des données",
265
- "updateExistingRecords": "Mettre à jour les enregistrements existants avec les détails du flux",
266
- "updateExistingRecordsHelp": "Les enregistrements précédemment importés seront mis à jour avec les données de qualité du flux.",
267
- "uploadJellystatBackup": "Télécharger la sauvegarde Jellystat",
268
- "uploadingBackup": "Téléchargement du fichier de sauvegarde..."
269
- },
270
- "ipWarning": {
271
- "acknowledge": "Compris",
272
- "message": "Tous les utilisateurs semblent utiliser la même adresse IP ou des IP locales. Cela peut affecter la logique des règles basées sur l'emplacement ou l'adresse IP."
273
- },
274
- "jobs": {
275
- "backfill": "Remplissage",
276
- "cleanup": "Nettoyage",
277
- "delayed": "différé",
278
- "description": "Gérer les tâches de fond qui gardent vos données exactes et optimisées.",
279
- "errors": "erreurs",
280
- "jobHistory": "Historique des tâches",
281
- "jobHistoryDesc": "Exécution récente d'une tâche de maintenance",
282
- "lastJobCompleted": "Dernière tâche terminée avec succès",
283
- "lastJobFailed": "La dernière tâche a échoué",
284
- "mayTakeAWhile": "Cela peut prendre un certain temps",
285
- "mayTakeAWhileDesc": "Cette tâche peut prendre plusieurs minutes selon la taille de votre bibliothèque.",
286
- "normalization": "Normalisation",
287
- "processed": "traité",
288
- "queued": "mis en file d'attente",
289
- "runConfirm": "Exécuter {{name}}?",
290
- "runJob": "Exécuter le Job",
291
- "running": "en cours d'exécution",
292
- "runningState": "En cours d'exécution",
293
- "startJob": "Commencer la tâche",
294
- "title": "Tâches d'entretien",
295
- "unchanged": "inchangé",
296
- "updated": "Mis à jour",
297
- "waiting": "En attente"
181
+ "posterSource": {
182
+ "title": "",
183
+ "titleDesc": "",
184
+ "label": "",
185
+ "description": "",
186
+ "automatic": "",
187
+ "emptyHint": ""
188
+ },
189
+ "version": {
190
+ "installed": "",
191
+ "upToDate": "",
192
+ "updateAvailable": ""
193
+ }
298
194
  },
299
195
  "mobile": {
300
- "addDevice": "Ajouter un appareil",
196
+ "title": "Application mobile",
197
+ "pairDevice": "Associer un appareil",
301
198
  "connectedDevices": "Appareils connectés",
302
- "connectedDevicesDesc": "Périphériques {{count}} appariés à votre serveur",
303
- "copyToken": "Copier le jeton",
304
- "deviceName": "Nom de l'appareil",
305
- "deviceNamePlaceholder": "par exemple iPhone 15",
306
- "devicesConnected": "{{current}} des appareils {{max}} connectés",
307
- "disable": "Désactiver",
308
- "disableMobileAccess": "Désactiver l'accès mobile",
309
- "disableMobileAccessConfirm": "Ceci va déconnecter tous les appareils mobiles et révoquer toutes les sessions. Vous pourrez réactiver l'accès mobile plus tard.",
310
- "done": "Fait",
311
- "downloadOnAppStore": "Télécharger sur l'App Store",
312
- "enableMobileAccess": "Activer l'accès mobile",
313
- "enabling": "Activation...",
314
- "expiresIn": "Expire dans {{time}}",
315
- "externalUrlBanner": "Utiliser un proxy inversé ou accéder à distance ? Définissez votre",
316
- "externalUrlBannerLink": "URL externe",
317
- "externalUrlBannerSuffix": "pour que l'application mobile puisse se connecter à votre serveur.",
318
- "externalUrlRequired": "Une URL externe doit être configurée dans les paramètres généraux pour que l'appairage mobile fonctionne.",
319
- "failedToGenerateToken": "Impossible de générer le jeton",
320
199
  "generateToken": "Générer un jeton d'appairage",
321
- "getOnGooglePlay": "Télécharger sur Google Play",
200
+ "scanQrCode": "Scanner le code QR",
201
+ "tokenExpires": "Le jeton d'appairage expire dans {{time}}",
202
+ "noDevices": "Aucun appareil connecté",
203
+ "revokeAll": "Révoquer toutes les sessions",
322
204
  "getTheApp": "Téléchargez l'application",
323
205
  "getTheAppDesc": "Téléchargez l'application mobile Tracearr pour iOS ou Android",
206
+ "getOnGooglePlay": "Télécharger sur Google Play",
207
+ "downloadOnAppStore": "Télécharger sur l'App Store",
208
+ "pairYourDevice": "Associer votre appareil",
209
+ "pairYourDeviceDesc": "Scannez le code QR avec l'application Tracearr pour connecter ce serveur.",
210
+ "externalUrlRequired": "Une URL externe doit être configurée dans les paramètres généraux pour que l'appairage mobile fonctionne.",
324
211
  "mobileAccessDisabled": "Accès mobile désactivé",
325
212
  "mobileAccessDisabledDesc": "Activez l'accès mobile pour permettre à l'application mobile Tracearr de se connecter à votre serveur.",
326
- "noDevices": "Aucun appareil connecté",
327
- "oneTimePairToken": "Jeton de Paire à usage unique",
328
- "pairDevice": "Associer un appareil",
213
+ "enableMobileAccess": "Activer l'accès mobile",
214
+ "enabling": "Activation...",
215
+ "devicesConnected": "{{current}} des appareils {{max}} connectés",
216
+ "pendingTokens": "{{count}} token en attente",
217
+ "addDevice": "Ajouter un appareil",
218
+ "disableMobileAccess": "Désactiver l'accès mobile",
219
+ "connectedDevicesDesc": "Périphériques {{count}} appariés à votre serveur",
220
+ "revokeAllSessions": "Révoquer tout",
329
221
  "pairNewDevice": "Associer un nouvel appareil",
330
222
  "pairNewDeviceDesc": "Scannez le code QR avec l'application mobile Tracearr ou saisissez le jeton manuellement.",
331
- "pairYourDevice": "Associer votre appareil",
332
- "pairYourDeviceDesc": "Scannez le code QR avec l'application Tracearr pour connecter ce serveur.",
333
- "pendingTokens": "{{count}} token en attente",
334
- "removeDevice": "Supprimer l'appareil",
335
- "removeDeviceConfirm": "Êtes-vous sûr de vouloir supprimer {{deviceName}}? Cet appareil devra être relié à nouveau pour se reconnecter.",
223
+ "expiresIn": "Expire dans {{time}}",
224
+ "oneTimePairToken": "Jeton de Paire à usage unique",
225
+ "copyToken": "Copier le jeton",
226
+ "tokenExpiryNote": "Ce jeton expire dans 5 minutes et ne peut être utilisé qu'une seule fois.",
227
+ "done": "Fait",
228
+ "disableMobileAccessConfirm": "Ceci va déconnecter tous les appareils mobiles et révoquer toutes les sessions. Vous pourrez réactiver l'accès mobile plus tard.",
229
+ "disable": "Désactiver",
230
+ "revokeAllConfirm": "Cela déconnectera tous les appareils mobiles. Ils devront s'appairer à nouveau pour se reconnecter.",
336
231
  "renameDevice": "Renommer l'appareil",
337
232
  "renameDeviceDesc": "Entrez un nom pour identifier cet appareil dans la liste.",
338
- "revokeAll": "Révoquer toutes les sessions",
339
- "revokeAllConfirm": "Cela déconnectera tous les appareils mobiles. Ils devront s'appairer à nouveau pour se reconnecter.",
340
- "revokeAllSessions": "Révoquer tout",
341
- "scanQrCode": "Scanner le code QR",
342
- "title": "Application mobile",
343
- "tokenExpires": "Le jeton d'appairage expire dans {{time}}",
344
- "tokenExpiryNote": "Ce jeton expire dans 5 minutes et ne peut être utilisé qu'une seule fois."
345
- },
346
- "plex": {
347
- "chooseServer": "Choisir le serveur Plex à surveiller",
348
- "selectServer": "Sélectionner un serveur",
349
- "signInWithPlex": "Se connecter avec Plex",
350
- "signUpWithPlex": "S'inscrire avec Plex"
351
- },
352
- "serverHealth": {
353
- "multipleUnreachable": "{{count}} serveurs injoignables : {{serverNames}}",
354
- "unreachable": "{{serverName}} est inaccessible"
355
- },
356
- "servers": {
357
- "addServer": "Ajouter un serveur",
358
- "addServerDialogDescOther": "Connectez un serveur Jellyfin ou Emby.",
359
- "addServerDialogDescPlex": "Sélectionnez un serveur Plex à partir de votre compte lié.",
360
- "added": "Ajouté {{date}}",
361
- "allFieldsRequired": "Tous les champs sont obligatoires",
362
- "allServersConnected": "Tous les serveurs connectés",
363
- "allServersConnectedDesc": "Tous les serveurs de ce compte sont déjà connectés.",
364
- "apiKeyHelp": "Trouvé dans le tableau de bord de votre serveur multimédia sous Clés API ou Paramètres avancés.",
365
- "apiKeyHelpEmby": "Trouvez ceci dans Emby Server → Clés API",
366
- "apiKeyHelpJellyfin": "Trouvez ceci dans le tableau de bord Jellyfin → Clés API",
367
- "apiKeyPlaceholder": "Entrez votre clé API",
368
- "checkingConnection": "Checking connection…",
369
- "chooseAccount": "Choisissez un compte...",
370
- "connectServer": "Connecter le serveur",
371
- "connecting": "Connexion en cours...",
372
- "connectionFailed": "Échec de la connexion",
373
- "connectionSuccess": "Connexion réussie",
374
- "description": "Gérez vos serveurs Plex, Jellyfin et Emby connectés",
375
- "discoveringConnections": "Découverte des connexions...",
376
- "discoveringServers": "Recherche des serveurs Plex disponibles...",
377
- "editServer": "Modifier le serveur",
378
- "editServerDesc": "Mettre à jour le nom du serveur ou l'URL de connexion.",
379
- "loadingAccounts": "Chargement des comptes Plex liés...",
380
- "noPlexAccountsLinked": "Aucun compte Plex lié pour le moment",
381
- "noPlexAccountsLinkedHint": "Lier un compte Plex ci-dessus, puis revenir pour ajouter un serveur.",
382
- "noServersConnected": "Aucun serveur connecté",
383
- "noServersConnectedHint": "Cliquez sur \"Ajouter un serveur\" pour connecter un serveur Jellyfin ou Emby",
384
- "plexAccount": "Compte Plex",
385
- "plexServerPlaceholder": "Mon serveur 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"
397
- },
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": "Supprimer le serveur",
419
- "removeServerConfirm": "Êtes-vous sûr de vouloir supprimer ce serveur ? Toutes les données de session associées seront conservées, mais vous ne serez pas en mesure de surveiller les nouvelles sessions de ce serveur.",
420
- "selectAccountHelp": "Sélectionnez le compte Plex dont vous voulez découvrir les serveurs.",
421
- "selectPlexAccount": "Sélectionnez le compte Plex",
422
- "serverColor": "Couleur du serveur",
423
- "serverColorDesc": "Utilisé pour l'attribution visuelle dans la vue multi-serveur",
424
- "serverName": "Nom du serveur",
425
- "serverNamePlaceholder": "Mon serveur multimédia",
426
- "serverType": "Type de serveur",
427
- "serverUrl": "URL du serveur",
428
- "serverUrlHelp": "URL directe vers votre serveur Jellyfin ou Emby. Utilisez IP:port pour une fiabilité optimale.",
429
- "serverUrlHelpEmby": "L'URL où votre serveur Emby est accessible",
430
- "serverUrlHelpJellyfin": "L'URL où votre serveur Jellyfin est accessible",
431
- "serverUrlPlaceholder": "http://192.168.1.100:8096",
432
- "setupRealtime": "Set up real-time updates",
433
- "syncInterval": "Intervalle de synchronisation",
434
- "testConnection": "Tester la connexion",
435
- "title": "Serveurs connectés",
436
- "updateHint": "Ou cliquez sur Mettre à jour ci-dessous pour enregistrer uniquement le changement de nom.",
437
- "updating": "Mise à jour en cours...",
438
- "version": {
439
- "installed": "Version {{version}}",
440
- "upToDate": "up to date",
441
- "updateAvailable": "update {{version}} available"
442
- }
443
- },
444
- "tabs": {
445
- "accessControl": "Contrôle d'accès",
446
- "advanced": "Avancé",
447
- "backup": "Sauvegarde",
448
- "general": "Général",
449
- "import": "Importation",
450
- "jobs": "Tâches",
451
- "mobile": "Application mobile",
452
- "notifications": "Notifications",
453
- "servers": "Serveurs",
454
- "tailscale": "Tailscale"
233
+ "deviceName": "Nom de l'appareil",
234
+ "deviceNamePlaceholder": "par exemple iPhone 15",
235
+ "removeDevice": "Supprimer l'appareil",
236
+ "failedToGenerateToken": "Impossible de générer le jeton",
237
+ "removeDeviceConfirm": "Êtes-vous sûr de vouloir supprimer {{deviceName}}? Cet appareil devra être relié à nouveau pour se reconnecter.",
238
+ "externalUrlBanner": "Utiliser un proxy inversé ou accéder à distance ? Définissez votre",
239
+ "externalUrlBannerLink": "URL externe",
240
+ "externalUrlBannerSuffix": "pour que l'application mobile puisse se connecter à votre serveur."
455
241
  },
456
242
  "tailscale": {
457
- "authorize": "Autoriser dans Tailscale",
458
- "awaitingAuth": "En attente d'autorisation...",
459
- "connected": "Tailscale est connecté. Votre instance Tracearr est disponible sur le tailnet.",
243
+ "title": "VPN Tailscale",
460
244
  "description": "Accédez à Tracearr en toute sécurité sur votre réseau Tailscale, sans redirection de port.",
461
- "disable": "Désactiver Tailscale",
462
- "disableConfirmDescription": "Cela déconnectera Tracearr de votre tailnet. Vous pourrez le réactiver sans avoir à l'autoriser de nouveau.",
463
- "disableConfirmTitle": "Désactiver Tailscale ?",
245
+ "notAvailable": "Le binaire de Tailscale est introuvable. Cette fonctionnalité n'est uniquement disponible que lorsque vous utilisez l'image Docker officielle.",
464
246
  "disabledDescription": "Activez Tailscale pour placer Tracearr sur votre tailnet privé. Aucune redirection de port ni reverse proxy requis.",
465
- "dnsName": "Nom du DNS",
247
+ "hostnameLabel": "Nom d'hôte de l'appareil",
248
+ "hostnameHint": "Nom personnalisé facultatif pour cet appareil sur votre tailnet. Lettres, chiffres et tirets uniquement.",
466
249
  "enable": "Activer Tailscale",
467
- "exitNodeNone": "Aucun",
468
- "exitNodeOffline": "(hors ligne)",
469
- "hideLogs": "Masquer les journaux",
250
+ "disable": "Désactiver Tailscale",
251
+ "starting": "Démarrage de Tailscale...",
252
+ "stopping": "Arrêt de Tailscale...",
253
+ "awaitingAuth": "En attente d'autorisation...",
254
+ "authorize": "Autoriser dans Tailscale",
255
+ "connected": "Tailscale est connecté. Votre instance Tracearr est disponible sur le tailnet.",
470
256
  "hostname": "Nom d'hôte",
471
- "hostnameHint": "Nom personnalisé facultatif pour cet appareil sur votre tailnet. Lettres, chiffres et tirets uniquement.",
472
- "hostnameLabel": "Nom d'hôte de l'appareil",
257
+ "dnsName": "Nom du DNS",
258
+ "tailnetUrl": "",
259
+ "showLogs": "Afficher les journaux",
260
+ "hideLogs": "Masquer les journaux",
473
261
  "noLogs": "Aucune journalisation de sortie disponible.",
474
- "notAvailable": "Le binaire de Tailscale est introuvable. Cette fonctionnalité n'est uniquement disponible que lorsque vous utilisez l'image Docker officielle.",
475
- "resetConfirmDescription": "Tracearr sera déconnecté de votre tailnet et l'identité de l'appareil sera supprimée. Une nouvelle autorisation sera nécessaire si vous l'activez à nouveau.",
262
+ "exitNodeNone": "Aucun",
263
+ "exitNodeOffline": "(hors ligne)",
264
+ "unknownError": "Une erreur inconnue s'est produite.",
265
+ "disableConfirmTitle": "Désactiver Tailscale ?",
266
+ "disableConfirmDescription": "Cela déconnectera Tracearr de votre tailnet. Vous pourrez le réactiver sans avoir à l'autoriser de nouveau.",
476
267
  "resetConfirmTitle": "Réinitialiser Tailscale ?",
477
- "showLogs": "Afficher les journaux",
478
- "starting": "Démarrage de Tailscale...",
479
- "stopping": "Arrêt de Tailscale...",
480
- "tailnetUrl": "URL",
481
- "title": "VPN Tailscale",
268
+ "resetConfirmDescription": "Tracearr sera déconnecté de votre tailnet et l'identité de l'appareil sera supprimée. Une nouvelle autorisation sera nécessaire si vous l'activez à nouveau.",
482
269
  "toast": {
483
- "disableFailed": "Échec de la désactivation de Tailscale",
484
270
  "disabled": "Tailscale a été désactivé.",
485
271
  "enableFailed": "Échec de l'activation de Tailscale",
486
- "exitNodeFailed": "Impossible de définir l'exit node",
487
- "exitNodeSet": "Exit node mis à jour.",
272
+ "disableFailed": "Échec de la désactivation de Tailscale",
488
273
  "reset": "Tailscale a été réinitialisé.",
489
- "resetFailed": "Échec de la réinitialisation de Tailscale"
490
- },
491
- "unknownError": "Une erreur inconnue s'est produite."
274
+ "resetFailed": "Échec de la réinitialisation de Tailscale",
275
+ "exitNodeSet": "Exit node mis à jour.",
276
+ "exitNodeFailed": "Impossible de définir l'exit node"
277
+ }
278
+ },
279
+ "jobs": {
280
+ "title": "Tâches d'entretien",
281
+ "description": "Gérer les tâches de fond qui gardent vos données exactes et optimisées.",
282
+ "normalization": "Normalisation",
283
+ "backfill": "Remplissage",
284
+ "cleanup": "Nettoyage",
285
+ "running": "en cours d'exécution",
286
+ "queued": "mis en file d'attente",
287
+ "delayed": "différé",
288
+ "waiting": "En attente",
289
+ "runningState": "En cours d'exécution",
290
+ "runJob": "Exécuter le Job",
291
+ "processed": "traité",
292
+ "updated": "Mis à jour",
293
+ "unchanged": "inchangé",
294
+ "errors": "erreurs",
295
+ "lastJobCompleted": "Dernière tâche terminée avec succès",
296
+ "lastJobFailed": "La dernière tâche a échoué",
297
+ "jobHistory": "Historique des tâches",
298
+ "jobHistoryDesc": "Exécution récente d'une tâche de maintenance",
299
+ "runConfirm": "Exécuter {{name}}?",
300
+ "mayTakeAWhile": "Cela peut prendre un certain temps",
301
+ "mayTakeAWhileDesc": "Cette tâche peut prendre plusieurs minutes selon la taille de votre bibliothèque.",
302
+ "startJob": "Commencer la tâche"
303
+ },
304
+ "advanced": {
305
+ "title": "Réglages avancés",
306
+ "externalUrl": "URL externe",
307
+ "trustProxy": "En-têtes de confiance du Proxy",
308
+ "reverseProxy": "Proxy inversé",
309
+ "connectionScenarios": "Scénarios de connexion"
310
+ },
311
+ "accessControl": {
312
+ "title": "Contrôle d'accès",
313
+ "description": "Configurer qui peut accéder à Tracearr",
314
+ "allowGuestAccess": "Autoriser l'accès aux invités",
315
+ "allowGuestAccessDesc": "Lorsque désactivé, seul le propriétaire du serveur peut se connecter à Tracearr",
316
+ "singleOwnerNote": "Remarque : Lorsque l'accès des invités est désactivé, seul le propriétaire du serveur peut se connecter. Tous les autres utilisateurs verront un message \"Accès refusé\"."
317
+ },
318
+ "import": {
319
+ "title": "Importer des données",
320
+ "jellystat": "Importer depuis Jellystat",
321
+ "tautulli": "Importer depuis Tautulli",
322
+ "importProgress": "Progression de l'import",
323
+ "importComplete": "Importation terminée",
324
+ "importFailed": "Échec de l'importation",
325
+ "processed": "Traité",
326
+ "page": "",
327
+ "imported": "Importé",
328
+ "skipped": "Ignoré",
329
+ "enriched": "Enrichi",
330
+ "errors": "Erreurs",
331
+ "noServers": "Aucun serveur connecté",
332
+ "noServersHint": "Vous avez besoin d'au moins un serveur connecté pour importer des données.",
333
+ "tautulliUrl": "URL Tautulli",
334
+ "tautulliUrlPlaceholder": "",
335
+ "tautulliUrlHelp": "L'URL de votre instance Tautulli.",
336
+ "apiKeyHelp": "Trouvé dans les paramètres Tautulli → Interface Web → Clé d'API.",
337
+ "testing": "Test en cours...",
338
+ "connectToTautulli": "Se connecter à Tautulli",
339
+ "importHistory": "Historique d'importation",
340
+ "targetServer": "",
341
+ "selectPlexServer": "Sélectionnez un serveur Plex",
342
+ "overwriteFriendlyNames": "Remplacer les noms conviviaux existants par des noms Tautulli",
343
+ "overwriteFriendlyNamesHelp": "Les noms d'identité existants dans Tracearr seront remplacés par les noms amicaux de Tautulli.",
344
+ "includeStreamDetails": "Inclure les données détaillées du flux (codecs, débit, résolution)",
345
+ "includeStreamDetailsHelp": "Importe des informations de flux supplémentaires. Peut augmenter considérablement le temps d'importation.",
346
+ "importing": "Importation en cours...",
347
+ "startImport": "Commencer l'importation",
348
+ "howItWorks": "Comment fonctionne l'import",
349
+ "howItWorksDesc": "Tracearr importera toutes les données historiques de surveillance de votre source. Cela peut prendre un certain temps en fonction de la taille de votre bibliothèque.",
350
+ "recordsMayBeSkipped": "Les enregistrements peuvent être ignorés si :",
351
+ "selectTargetServer": "Sélectionnez le serveur cible",
352
+ "selectJellyfinServer": "Sélectionnez un serveur Jellyfin ou Emby",
353
+ "uploadJellystatBackup": "Télécharger la sauvegarde Jellystat",
354
+ "exportBackupHint": "Exporter une sauvegarde d'activité depuis Jellystat",
355
+ "exportBackupHelp": "Dans Jellystat, allez dans Paramètres → Sauvegarde → Sauvegarde d'activités pour exporter vos données.",
356
+ "importOptions": "Options d'importation",
357
+ "enrichMetadata": "Enrichir avec les métadonnées du média (recommandé)",
358
+ "enrichMetadataHelp": "Récupère des métadonnées supplémentaires depuis votre serveur multimédia pour les sessions importées.",
359
+ "updateExistingRecords": "Mettre à jour les enregistrements existants avec les détails du flux",
360
+ "updateExistingRecordsHelp": "Les enregistrements précédemment importés seront mis à jour avec les données de qualité du flux.",
361
+ "pleaseEnterDetails": "Veuillez entrer l'URL et la clé API de Tautulli",
362
+ "testingConnection": "Test de la connexion...",
363
+ "pleaseSelectJsonFile": "Veuillez sélectionner un fichier JSON",
364
+ "uploadingBackup": "Téléchargement du fichier de sauvegarde...",
365
+ "importHistoryDesc": "Importer des données historiques de surveillance à partir de sources externes",
366
+ "plex": "",
367
+ "jellyfinEmby": "",
368
+ "step1": "",
369
+ "step2": "",
370
+ "apiKeyPlaceholder": "Votre clé API Tautulli",
371
+ "skipUserNotFoundPlex": "Utilisateur introuvable — L'utilisateur Plex n'existe pas dans Tracearr. Synchronisez d'abord votre serveur pour ajouter tous les utilisateurs.",
372
+ "skipDuplicate": "Dupliquer la session — La session a déjà été importée précédemment.",
373
+ "skipInProgress": "Session en cours — Les sessions actives/incomplètes sans identifiant de référence sont ignorées.",
374
+ "skipUserNotFoundJellyfin": "Utilisateur introuvable — L'utilisateur Jellyfin/Emby n'existe pas dans Tracearr. Synchronisez d'abord votre serveur pour ajouter tous les utilisateurs.",
375
+ "skipSyncHint": "Si plusieurs enregistrements sont ignorés, assurez-vous que vous avez récemment synchronisé votre serveur dans Paramètres → Serveurs.",
376
+ "importInProgressPercent": "Importation en cours ({{percent}}% terminé)...",
377
+ "importInProgressGeneric": "Importation en cours...",
378
+ "startingImport": "Démarrage de l'importation...",
379
+ "connectedFound": "Connecté ! Utilisateurs {{users}} trouvés et enregistrements de l'historique {{records}}.",
380
+ "playbackReporting": "",
381
+ "playbackReportingDesc": "",
382
+ "checkPlugin": "",
383
+ "checkingPlugin": "",
384
+ "pluginFound": "",
385
+ "pluginNotInstalled": "",
386
+ "serverTimezone": "",
387
+ "serverTimezoneHelp": "",
388
+ "importFullRange": "",
389
+ "importFullRangeHelp": "",
390
+ "overlapSkipped": "",
391
+ "duplicates": "",
392
+ "skipOverlap": "",
393
+ "skipDuplicatePlugin": ""
394
+ },
395
+ "plex": {
396
+ "signInWithPlex": "Se connecter avec Plex",
397
+ "signUpWithPlex": "S'inscrire avec Plex",
398
+ "selectServer": "Sélectionner un serveur",
399
+ "chooseServer": "Choisir le serveur Plex à surveiller"
400
+ },
401
+ "account": {
402
+ "createAccount": "Créer un compte",
403
+ "email": "E-mail",
404
+ "password": "Mot de passe",
405
+ "displayName": "Nom d'affichage",
406
+ "createYourAccount": "Créez votre compte pour démarrer",
407
+ "signInToAccount": "Connectez-vous à votre compte",
408
+ "useLocalAccount": "Utiliser un compte local à la place"
492
409
  },
493
- "title": "Réglages",
494
410
  "update": {
495
- "betaUpdate": "Mise à jour bêta",
496
- "newVersion": "Nouvelle version",
497
- "pullInstructions": "Après avoir réalisé le pull Docker, redémarrez cotre conteneur pour appliquer la modification.",
498
- "releaseNotes": "Notes de version",
499
- "stableRelease": "Version stable",
500
411
  "title": "Mise à jour disponible",
412
+ "releaseNotes": "Notes de version",
501
413
  "updateCommand": "Commande de mise à jour",
414
+ "pullInstructions": "Après avoir réalisé le pull Docker, redémarrez cotre conteneur pour appliquer la modification.",
415
+ "stableRelease": "Version stable",
416
+ "betaUpdate": "Mise à jour bêta",
417
+ "newVersion": "Nouvelle version",
502
418
  "versionAvailable": "Version {{version}} disponible"
419
+ },
420
+ "serverHealth": {
421
+ "unreachable": "{{serverName}} est inaccessible",
422
+ "multipleUnreachable": "{{count}} serveurs injoignables : {{serverNames}}"
423
+ },
424
+ "ipWarning": {
425
+ "message": "Tous les utilisateurs semblent utiliser la même adresse IP ou des IP locales. Cela peut affecter la logique des règles basées sur l'emplacement ou l'adresse IP.",
426
+ "acknowledge": "Compris"
427
+ },
428
+ "backup": {
429
+ "title": "Sauvegarde",
430
+ "backToBackups": "Retour aux sauvegardes",
431
+ "description": "Sauvegardez et restaurez vos données Tracearr",
432
+ "createBackup": "Créer une sauvegarde",
433
+ "creating": "Création de la sauvegarde...",
434
+ "uploadBackup": "Téléverser une sauvegarde",
435
+ "uploading": "Téléversement...",
436
+ "databaseSize": "Taille actuelle de la base de données : {{size}}",
437
+ "freeSpace": "Espace libre dans le répertoire de sauvegarde : {{size}}",
438
+ "lowDiskSpace": "Espace disque faible — les sauvegardes et restaurations nécessitent au moins deux fois la taille de la base de données en espace libre.",
439
+ "backupHistory": "Historique des sauvegardes",
440
+ "noBackups": "Aucune sauvegarde pour le moment. Créez votre première sauvegarde ci-dessus.",
441
+ "filename": "Nom du fichier",
442
+ "size": "Taille",
443
+ "date": "",
444
+ "type": "",
445
+ "version": "",
446
+ "actions": "",
447
+ "typeManual": "Manuelle",
448
+ "typeScheduled": "Planifiée",
449
+ "typeUploaded": "Téléversé",
450
+ "restoreAction": "Restaurer",
451
+ "deleteConfirmTitle": "Supprimer la sauvegarde",
452
+ "deleteConfirmDescription": "Êtes-vous sûr de vouloir supprimer cette sauvegarde ? Cette action est irréversible.",
453
+ "schedule": "Sauvegardes planifiées",
454
+ "scheduleType": "Planification",
455
+ "scheduleDisabled": "Désactivé",
456
+ "scheduleDaily": "Journalière",
457
+ "scheduleWeekly": "Hebdomadaire",
458
+ "scheduleMonthly": "Mensuelle",
459
+ "scheduleTime": "Heure ({{timezone}})",
460
+ "scheduleDayOfWeek": "Jour de la semaine",
461
+ "scheduleDayOfMonth": "Jour du mois",
462
+ "scheduleDayOfMonthHint": "Pour les mois comportant moins de jours, la sauvegarde est effectuée le dernier jour du mois.",
463
+ "retentionCount": "Garder les dernières :",
464
+ "retentionSuffix": "sauvegardes planifiées",
465
+ "daySun": "Dimanche",
466
+ "dayMon": "Lundi",
467
+ "dayTue": "Mardi",
468
+ "dayWed": "Mercredi",
469
+ "dayThu": "Jeudi",
470
+ "dayFri": "Vendredi",
471
+ "daySat": "Samedi",
472
+ "restore": {
473
+ "title": "Restaurer la sauvegarde",
474
+ "selectedBackup": "Sauvegarde sélectionnée",
475
+ "databaseSize": "Taille de la base de données",
476
+ "sessions": "",
477
+ "users": "Utilisateurs",
478
+ "servers": "Serveurs",
479
+ "automations": "",
480
+ "libraryItems": "Éléments de la bibliothèque",
481
+ "tables": "Tableaux",
482
+ "warning": "La restauration remplacera toutes les données existantes. Vous devrez vous reconnecter une fois la restauration complétée.",
483
+ "confirmLabel": "Je comprends que cela remplacera toutes les données",
484
+ "confirm": "Démarrer la restauration",
485
+ "complete": "Restauration effectuée avec succès. La page s'actualisera sous peu.",
486
+ "failed": "Échec de la restauration",
487
+ "cannotRestore": "La restauration nécessite des privilèges de superutilisateur PostgreSQL. Veuillez vous assurer que votre utilisateur de base de données dispose de ces privilèges, puis réessayez.",
488
+ "pgVersionMismatch": "La sauvegarde a été créée avec PostgreSQL {{backupVersion}}, mais ce serveur utilise PostgreSQL {{serverVersion}}. La restauration d'une sauvegarde issue d'une version plus récente de PostgreSQL n'est pas prise en charge.",
489
+ "tsVersionMismatch": "La sauvegarde a été créée avec TimescaleDB {{backupVersion}}, mais ce serveur ne prend en charge que jusqu'à TimescaleDB {{serverVersion}}."
490
+ },
491
+ "toast": {
492
+ "backupCreated": "Sauvegarde créée avec succès",
493
+ "backupCreateFailed": "Échec de création de la sauvegarde",
494
+ "backupUploaded": "Sauvegarde téléversée avec succès",
495
+ "backupUploadFailed": "Échec du téléversement de la sauvegarde",
496
+ "backupDeleted": "Sauvegarde supprimée",
497
+ "backupDeleteFailed": "Échec de suppression de la sauvegarde",
498
+ "restoreStarted": "La restauration a démarré",
499
+ "restoreStartFailed": "Échec du démarrage de la restauration",
500
+ "scheduleSaved": "Planification de la sauvegarde enregistrée",
501
+ "scheduleError": "Échec de l'enregistrement de la planification de la sauvegarde"
502
+ }
503
503
  }
504
504
  }