@tracearr/translations 2.3.0-beta.5 → 2.3.0-beta.7

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 (321) hide show
  1. package/dist/config.d.ts +54 -0
  2. package/dist/config.d.ts.map +1 -1
  3. package/dist/config.mobile.d.ts +54 -0
  4. package/dist/config.mobile.d.ts.map +1 -1
  5. package/dist/locales/af-ZA/common.json +282 -282
  6. package/dist/locales/af-ZA/nav.json +21 -21
  7. package/dist/locales/af-ZA/notifications.json +243 -243
  8. package/dist/locales/af-ZA/pages.json +1766 -1766
  9. package/dist/locales/af-ZA/settings.json +907 -880
  10. package/dist/locales/ar-SA/common.json +282 -282
  11. package/dist/locales/ar-SA/nav.json +21 -21
  12. package/dist/locales/ar-SA/notifications.json +246 -246
  13. package/dist/locales/ar-SA/pages.json +1776 -1776
  14. package/dist/locales/ar-SA/settings.json +911 -884
  15. package/dist/locales/ca-ES/common.json +282 -282
  16. package/dist/locales/ca-ES/nav.json +21 -21
  17. package/dist/locales/ca-ES/notifications.json +243 -243
  18. package/dist/locales/ca-ES/pages.json +1770 -1770
  19. package/dist/locales/ca-ES/settings.json +909 -882
  20. package/dist/locales/cs-CZ/common.json +282 -282
  21. package/dist/locales/cs-CZ/mobile.json +1 -1
  22. package/dist/locales/cs-CZ/nav.json +21 -21
  23. package/dist/locales/cs-CZ/notifications.json +246 -246
  24. package/dist/locales/cs-CZ/pages.json +1783 -1783
  25. package/dist/locales/cs-CZ/settings.json +911 -884
  26. package/dist/locales/da-DK/common.json +282 -282
  27. package/dist/locales/da-DK/mobile.json +1 -1
  28. package/dist/locales/da-DK/nav.json +21 -21
  29. package/dist/locales/da-DK/notifications.json +246 -246
  30. package/dist/locales/da-DK/pages.json +1776 -1776
  31. package/dist/locales/da-DK/settings.json +911 -884
  32. package/dist/locales/de-DE/common.json +282 -282
  33. package/dist/locales/de-DE/mobile.json +1 -1
  34. package/dist/locales/de-DE/nav.json +21 -21
  35. package/dist/locales/de-DE/notifications.json +246 -246
  36. package/dist/locales/de-DE/pages.json +1785 -1785
  37. package/dist/locales/de-DE/settings.json +909 -882
  38. package/dist/locales/el-GR/common.json +282 -282
  39. package/dist/locales/el-GR/nav.json +21 -21
  40. package/dist/locales/el-GR/notifications.json +246 -246
  41. package/dist/locales/el-GR/pages.json +1776 -1776
  42. package/dist/locales/el-GR/settings.json +911 -884
  43. package/dist/locales/en/settings.json +29 -2
  44. package/dist/locales/es-ES/common.json +282 -282
  45. package/dist/locales/es-ES/nav.json +21 -21
  46. package/dist/locales/es-ES/notifications.json +246 -246
  47. package/dist/locales/es-ES/pages.json +1781 -1781
  48. package/dist/locales/es-ES/settings.json +919 -892
  49. package/dist/locales/fi-FI/common.json +282 -282
  50. package/dist/locales/fi-FI/nav.json +21 -21
  51. package/dist/locales/fi-FI/notifications.json +246 -246
  52. package/dist/locales/fi-FI/pages.json +1775 -1775
  53. package/dist/locales/fi-FI/settings.json +919 -892
  54. package/dist/locales/fr-FR/common.json +283 -283
  55. package/dist/locales/fr-FR/mobile.json +8 -8
  56. package/dist/locales/fr-FR/nav.json +23 -23
  57. package/dist/locales/fr-FR/notifications.json +246 -246
  58. package/dist/locales/fr-FR/pages.json +1904 -1904
  59. package/dist/locales/fr-FR/settings.json +907 -880
  60. package/dist/locales/he-IL/common.json +282 -282
  61. package/dist/locales/he-IL/nav.json +21 -21
  62. package/dist/locales/he-IL/notifications.json +243 -243
  63. package/dist/locales/he-IL/pages.json +1766 -1766
  64. package/dist/locales/he-IL/settings.json +907 -880
  65. package/dist/locales/hu-HU/common.json +282 -282
  66. package/dist/locales/hu-HU/nav.json +21 -21
  67. package/dist/locales/hu-HU/notifications.json +243 -243
  68. package/dist/locales/hu-HU/pages.json +1766 -1766
  69. package/dist/locales/hu-HU/settings.json +907 -880
  70. package/dist/locales/it-IT/common.json +282 -282
  71. package/dist/locales/it-IT/nav.json +21 -21
  72. package/dist/locales/it-IT/notifications.json +246 -246
  73. package/dist/locales/it-IT/pages.json +1777 -1777
  74. package/dist/locales/it-IT/settings.json +910 -883
  75. package/dist/locales/ja-JP/common.json +282 -282
  76. package/dist/locales/ja-JP/nav.json +21 -21
  77. package/dist/locales/ja-JP/notifications.json +246 -246
  78. package/dist/locales/ja-JP/pages.json +1776 -1776
  79. package/dist/locales/ja-JP/settings.json +911 -884
  80. package/dist/locales/ko-KR/common.json +283 -283
  81. package/dist/locales/ko-KR/mobile.json +6 -6
  82. package/dist/locales/ko-KR/nav.json +21 -21
  83. package/dist/locales/ko-KR/notifications.json +246 -246
  84. package/dist/locales/ko-KR/pages.json +1834 -1834
  85. package/dist/locales/ko-KR/settings.json +927 -900
  86. package/dist/locales/nl-NL/common.json +282 -282
  87. package/dist/locales/nl-NL/nav.json +21 -21
  88. package/dist/locales/nl-NL/notifications.json +246 -246
  89. package/dist/locales/nl-NL/pages.json +1809 -1809
  90. package/dist/locales/nl-NL/settings.json +912 -885
  91. package/dist/locales/no-NO/common.json +282 -282
  92. package/dist/locales/no-NO/nav.json +21 -21
  93. package/dist/locales/no-NO/notifications.json +246 -246
  94. package/dist/locales/no-NO/pages.json +1777 -1777
  95. package/dist/locales/no-NO/settings.json +911 -884
  96. package/dist/locales/pl-PL/common.json +282 -282
  97. package/dist/locales/pl-PL/nav.json +21 -21
  98. package/dist/locales/pl-PL/notifications.json +246 -246
  99. package/dist/locales/pl-PL/pages.json +1777 -1777
  100. package/dist/locales/pl-PL/settings.json +911 -884
  101. package/dist/locales/pt-BR/common.json +282 -282
  102. package/dist/locales/pt-BR/nav.json +21 -21
  103. package/dist/locales/pt-BR/notifications.json +246 -246
  104. package/dist/locales/pt-BR/pages.json +1777 -1777
  105. package/dist/locales/pt-BR/settings.json +919 -892
  106. package/dist/locales/pt-PT/common.json +282 -282
  107. package/dist/locales/pt-PT/nav.json +21 -21
  108. package/dist/locales/pt-PT/notifications.json +246 -246
  109. package/dist/locales/pt-PT/pages.json +1777 -1777
  110. package/dist/locales/pt-PT/settings.json +919 -892
  111. package/dist/locales/ro-RO/common.json +282 -282
  112. package/dist/locales/ro-RO/nav.json +21 -21
  113. package/dist/locales/ro-RO/notifications.json +246 -246
  114. package/dist/locales/ro-RO/pages.json +1777 -1777
  115. package/dist/locales/ro-RO/settings.json +911 -884
  116. package/dist/locales/ru-RU/common.json +282 -282
  117. package/dist/locales/ru-RU/nav.json +21 -21
  118. package/dist/locales/ru-RU/notifications.json +246 -246
  119. package/dist/locales/ru-RU/pages.json +1776 -1776
  120. package/dist/locales/ru-RU/settings.json +911 -884
  121. package/dist/locales/sr-SP/common.json +282 -282
  122. package/dist/locales/sr-SP/nav.json +21 -21
  123. package/dist/locales/sr-SP/notifications.json +243 -243
  124. package/dist/locales/sr-SP/pages.json +1766 -1766
  125. package/dist/locales/sr-SP/settings.json +907 -880
  126. package/dist/locales/sv-SE/common.json +282 -282
  127. package/dist/locales/sv-SE/nav.json +21 -21
  128. package/dist/locales/sv-SE/notifications.json +246 -246
  129. package/dist/locales/sv-SE/pages.json +1778 -1778
  130. package/dist/locales/sv-SE/settings.json +911 -884
  131. package/dist/locales/tr-TR/common.json +282 -282
  132. package/dist/locales/tr-TR/nav.json +21 -21
  133. package/dist/locales/tr-TR/notifications.json +243 -243
  134. package/dist/locales/tr-TR/pages.json +1766 -1766
  135. package/dist/locales/tr-TR/settings.json +907 -880
  136. package/dist/locales/uk-UA/common.json +282 -282
  137. package/dist/locales/uk-UA/nav.json +21 -21
  138. package/dist/locales/uk-UA/notifications.json +246 -246
  139. package/dist/locales/uk-UA/pages.json +1776 -1776
  140. package/dist/locales/uk-UA/settings.json +913 -886
  141. package/dist/locales/vi-VN/common.json +282 -282
  142. package/dist/locales/vi-VN/nav.json +21 -21
  143. package/dist/locales/vi-VN/notifications.json +243 -243
  144. package/dist/locales/vi-VN/pages.json +1766 -1766
  145. package/dist/locales/vi-VN/settings.json +907 -880
  146. package/dist/locales/zh-CN/common.json +283 -283
  147. package/dist/locales/zh-CN/mobile.json +5 -5
  148. package/dist/locales/zh-CN/nav.json +21 -21
  149. package/dist/locales/zh-CN/notifications.json +250 -250
  150. package/dist/locales/zh-CN/pages.json +1803 -1803
  151. package/dist/locales/zh-CN/settings.json +914 -887
  152. package/dist/locales/zh-TW/common.json +282 -282
  153. package/dist/locales/zh-TW/nav.json +21 -21
  154. package/dist/locales/zh-TW/notifications.json +246 -246
  155. package/dist/locales/zh-TW/pages.json +1769 -1769
  156. package/dist/locales/zh-TW/settings.json +910 -883
  157. package/package.json +2 -2
  158. package/src/locales/af-ZA/common.json +282 -282
  159. package/src/locales/af-ZA/nav.json +21 -21
  160. package/src/locales/af-ZA/notifications.json +243 -243
  161. package/src/locales/af-ZA/pages.json +1766 -1766
  162. package/src/locales/af-ZA/settings.json +907 -880
  163. package/src/locales/ar-SA/common.json +282 -282
  164. package/src/locales/ar-SA/nav.json +21 -21
  165. package/src/locales/ar-SA/notifications.json +246 -246
  166. package/src/locales/ar-SA/pages.json +1776 -1776
  167. package/src/locales/ar-SA/settings.json +911 -884
  168. package/src/locales/ca-ES/common.json +282 -282
  169. package/src/locales/ca-ES/nav.json +21 -21
  170. package/src/locales/ca-ES/notifications.json +243 -243
  171. package/src/locales/ca-ES/pages.json +1770 -1770
  172. package/src/locales/ca-ES/settings.json +909 -882
  173. package/src/locales/cs-CZ/common.json +282 -282
  174. package/src/locales/cs-CZ/mobile.json +1 -1
  175. package/src/locales/cs-CZ/nav.json +21 -21
  176. package/src/locales/cs-CZ/notifications.json +246 -246
  177. package/src/locales/cs-CZ/pages.json +1783 -1783
  178. package/src/locales/cs-CZ/settings.json +911 -884
  179. package/src/locales/da-DK/common.json +282 -282
  180. package/src/locales/da-DK/mobile.json +1 -1
  181. package/src/locales/da-DK/nav.json +21 -21
  182. package/src/locales/da-DK/notifications.json +246 -246
  183. package/src/locales/da-DK/pages.json +1776 -1776
  184. package/src/locales/da-DK/settings.json +911 -884
  185. package/src/locales/de-DE/common.json +282 -282
  186. package/src/locales/de-DE/mobile.json +1 -1
  187. package/src/locales/de-DE/nav.json +21 -21
  188. package/src/locales/de-DE/notifications.json +246 -246
  189. package/src/locales/de-DE/pages.json +1785 -1785
  190. package/src/locales/de-DE/settings.json +909 -882
  191. package/src/locales/el-GR/common.json +282 -282
  192. package/src/locales/el-GR/nav.json +21 -21
  193. package/src/locales/el-GR/notifications.json +246 -246
  194. package/src/locales/el-GR/pages.json +1776 -1776
  195. package/src/locales/el-GR/settings.json +911 -884
  196. package/src/locales/en/settings.json +29 -2
  197. package/src/locales/es-ES/common.json +282 -282
  198. package/src/locales/es-ES/nav.json +21 -21
  199. package/src/locales/es-ES/notifications.json +246 -246
  200. package/src/locales/es-ES/pages.json +1781 -1781
  201. package/src/locales/es-ES/settings.json +919 -892
  202. package/src/locales/fi-FI/common.json +282 -282
  203. package/src/locales/fi-FI/nav.json +21 -21
  204. package/src/locales/fi-FI/notifications.json +246 -246
  205. package/src/locales/fi-FI/pages.json +1775 -1775
  206. package/src/locales/fi-FI/settings.json +919 -892
  207. package/src/locales/fr-FR/common.json +283 -283
  208. package/src/locales/fr-FR/mobile.json +8 -8
  209. package/src/locales/fr-FR/nav.json +23 -23
  210. package/src/locales/fr-FR/notifications.json +246 -246
  211. package/src/locales/fr-FR/pages.json +1904 -1904
  212. package/src/locales/fr-FR/settings.json +907 -880
  213. package/src/locales/he-IL/common.json +282 -282
  214. package/src/locales/he-IL/nav.json +21 -21
  215. package/src/locales/he-IL/notifications.json +243 -243
  216. package/src/locales/he-IL/pages.json +1766 -1766
  217. package/src/locales/he-IL/settings.json +907 -880
  218. package/src/locales/hu-HU/common.json +282 -282
  219. package/src/locales/hu-HU/nav.json +21 -21
  220. package/src/locales/hu-HU/notifications.json +243 -243
  221. package/src/locales/hu-HU/pages.json +1766 -1766
  222. package/src/locales/hu-HU/settings.json +907 -880
  223. package/src/locales/it-IT/common.json +282 -282
  224. package/src/locales/it-IT/nav.json +21 -21
  225. package/src/locales/it-IT/notifications.json +246 -246
  226. package/src/locales/it-IT/pages.json +1777 -1777
  227. package/src/locales/it-IT/settings.json +910 -883
  228. package/src/locales/ja-JP/common.json +282 -282
  229. package/src/locales/ja-JP/nav.json +21 -21
  230. package/src/locales/ja-JP/notifications.json +246 -246
  231. package/src/locales/ja-JP/pages.json +1776 -1776
  232. package/src/locales/ja-JP/settings.json +911 -884
  233. package/src/locales/ko-KR/common.json +283 -283
  234. package/src/locales/ko-KR/mobile.json +6 -6
  235. package/src/locales/ko-KR/nav.json +21 -21
  236. package/src/locales/ko-KR/notifications.json +246 -246
  237. package/src/locales/ko-KR/pages.json +1834 -1834
  238. package/src/locales/ko-KR/settings.json +927 -900
  239. package/src/locales/nl-NL/common.json +282 -282
  240. package/src/locales/nl-NL/nav.json +21 -21
  241. package/src/locales/nl-NL/notifications.json +246 -246
  242. package/src/locales/nl-NL/pages.json +1809 -1809
  243. package/src/locales/nl-NL/settings.json +912 -885
  244. package/src/locales/no-NO/common.json +282 -282
  245. package/src/locales/no-NO/nav.json +21 -21
  246. package/src/locales/no-NO/notifications.json +246 -246
  247. package/src/locales/no-NO/pages.json +1777 -1777
  248. package/src/locales/no-NO/settings.json +911 -884
  249. package/src/locales/pl-PL/common.json +282 -282
  250. package/src/locales/pl-PL/nav.json +21 -21
  251. package/src/locales/pl-PL/notifications.json +246 -246
  252. package/src/locales/pl-PL/pages.json +1777 -1777
  253. package/src/locales/pl-PL/settings.json +911 -884
  254. package/src/locales/pt-BR/common.json +282 -282
  255. package/src/locales/pt-BR/nav.json +21 -21
  256. package/src/locales/pt-BR/notifications.json +246 -246
  257. package/src/locales/pt-BR/pages.json +1777 -1777
  258. package/src/locales/pt-BR/settings.json +919 -892
  259. package/src/locales/pt-PT/common.json +282 -282
  260. package/src/locales/pt-PT/nav.json +21 -21
  261. package/src/locales/pt-PT/notifications.json +246 -246
  262. package/src/locales/pt-PT/pages.json +1777 -1777
  263. package/src/locales/pt-PT/settings.json +919 -892
  264. package/src/locales/ro-RO/common.json +282 -282
  265. package/src/locales/ro-RO/nav.json +21 -21
  266. package/src/locales/ro-RO/notifications.json +246 -246
  267. package/src/locales/ro-RO/pages.json +1777 -1777
  268. package/src/locales/ro-RO/settings.json +911 -884
  269. package/src/locales/ru-RU/common.json +282 -282
  270. package/src/locales/ru-RU/nav.json +21 -21
  271. package/src/locales/ru-RU/notifications.json +246 -246
  272. package/src/locales/ru-RU/pages.json +1776 -1776
  273. package/src/locales/ru-RU/settings.json +911 -884
  274. package/src/locales/sr-SP/common.json +282 -282
  275. package/src/locales/sr-SP/nav.json +21 -21
  276. package/src/locales/sr-SP/notifications.json +243 -243
  277. package/src/locales/sr-SP/pages.json +1766 -1766
  278. package/src/locales/sr-SP/settings.json +907 -880
  279. package/src/locales/sv-SE/common.json +282 -282
  280. package/src/locales/sv-SE/nav.json +21 -21
  281. package/src/locales/sv-SE/notifications.json +246 -246
  282. package/src/locales/sv-SE/pages.json +1778 -1778
  283. package/src/locales/sv-SE/settings.json +911 -884
  284. package/src/locales/tr-TR/common.json +282 -282
  285. package/src/locales/tr-TR/nav.json +21 -21
  286. package/src/locales/tr-TR/notifications.json +243 -243
  287. package/src/locales/tr-TR/pages.json +1766 -1766
  288. package/src/locales/tr-TR/settings.json +907 -880
  289. package/src/locales/uk-UA/common.json +282 -282
  290. package/src/locales/uk-UA/nav.json +21 -21
  291. package/src/locales/uk-UA/notifications.json +246 -246
  292. package/src/locales/uk-UA/pages.json +1776 -1776
  293. package/src/locales/uk-UA/settings.json +913 -886
  294. package/src/locales/vi-VN/common.json +282 -282
  295. package/src/locales/vi-VN/nav.json +21 -21
  296. package/src/locales/vi-VN/notifications.json +243 -243
  297. package/src/locales/vi-VN/pages.json +1766 -1766
  298. package/src/locales/vi-VN/settings.json +907 -880
  299. package/src/locales/zh-CN/common.json +283 -283
  300. package/src/locales/zh-CN/mobile.json +5 -5
  301. package/src/locales/zh-CN/nav.json +21 -21
  302. package/src/locales/zh-CN/notifications.json +250 -250
  303. package/src/locales/zh-CN/pages.json +1803 -1803
  304. package/src/locales/zh-CN/settings.json +914 -887
  305. package/src/locales/zh-TW/common.json +282 -282
  306. package/src/locales/zh-TW/nav.json +21 -21
  307. package/src/locales/zh-TW/notifications.json +246 -246
  308. package/src/locales/zh-TW/pages.json +1769 -1769
  309. package/src/locales/zh-TW/settings.json +910 -883
  310. package/dist/locales/en-US/common.json +0 -342
  311. package/dist/locales/en-US/mobile.json +0 -178
  312. package/dist/locales/en-US/nav.json +0 -33
  313. package/dist/locales/en-US/notifications.json +0 -303
  314. package/dist/locales/en-US/pages.json +0 -2297
  315. package/dist/locales/en-US/settings.json +0 -1022
  316. package/src/locales/en-US/common.json +0 -342
  317. package/src/locales/en-US/mobile.json +0 -178
  318. package/src/locales/en-US/nav.json +0 -33
  319. package/src/locales/en-US/notifications.json +0 -303
  320. package/src/locales/en-US/pages.json +0 -2297
  321. package/src/locales/en-US/settings.json +0 -1022
@@ -1,1022 +0,0 @@
1
- {
2
- "accessControl": {
3
- "allowGuestAccess": "Allow Guest Access",
4
- "allowGuestAccessDesc": "",
5
- "description": "Configure who can access Tracearr",
6
- "singleOwnerNote": "Note: When guest access is disabled, only the server owner can sign in. All other users will see an \"Access Denied\" message.",
7
- "title": "Access Control"
8
- },
9
- "account": {
10
- "createAccount": "Create Account",
11
- "createYourAccount": "Create your account to get started",
12
- "displayName": "Display Name",
13
- "email": "Email",
14
- "password": "Password",
15
- "signInToAccount": "Sign in to your account",
16
- "useLocalAccount": "Use local account instead"
17
- },
18
- "advanced": {
19
- "connectionScenarios": "Connection Scenarios",
20
- "externalUrl": "External URL",
21
- "reverseProxy": "Reverse Proxy",
22
- "title": "Advanced Settings",
23
- "trustProxy": "Trust Proxy Headers"
24
- },
25
- "backup": {
26
- "actions": "Actions",
27
- "backToBackups": "Back to Backups",
28
- "backupHistory": "Backup History",
29
- "createBackup": "Create Backup",
30
- "creating": "Creating backup...",
31
- "databaseSize": "Current database size: {{size}}",
32
- "date": "Date",
33
- "dayFri": "Friday",
34
- "dayMon": "Monday",
35
- "daySat": "Saturday",
36
- "daySun": "Sunday",
37
- "dayThu": "Thursday",
38
- "dayTue": "Tuesday",
39
- "dayWed": "Wednesday",
40
- "deleteConfirmDescription": "Are you sure you want to delete this backup? This cannot be undone.",
41
- "deleteConfirmTitle": "Delete Backup",
42
- "description": "Backup and restore your Tracearr data",
43
- "download": "",
44
- "freeSpace": "Backup directory free space: {{size}}",
45
- "lowDiskSpace": "Low disk space — backups and restores require at least twice the database size in free space.",
46
- "noBackups": "No backups yet. Create your first backup above.",
47
- "restore": {
48
- "automations": "Automations",
49
- "cannotRestore": "Restore requires PostgreSQL superuser privileges. Please ensure your database user has superuser privileges and try again.",
50
- "complete": "Restore completed successfully. The page will refresh shortly.",
51
- "confirm": "Start Restore",
52
- "confirmLabel": "I understand this will replace all data",
53
- "databaseSize": "Database Size",
54
- "failed": "Restore failed",
55
- "libraryItems": "Library Items",
56
- "pgVersionMismatch": "Backup was created on PostgreSQL {{backupVersion}} but this server runs PostgreSQL {{serverVersion}}. Restoring a dump from a newer PostgreSQL version is not supported.",
57
- "selectedBackup": "Selected Backup",
58
- "servers": "Servers",
59
- "sessions": "Sessions",
60
- "tables": "Tables",
61
- "title": "Restore Backup",
62
- "tsVersionMismatch": "Backup was created with TimescaleDB {{backupVersion}} but this server only supports up to TimescaleDB {{serverVersion}}.",
63
- "users": "Users",
64
- "warning": "Restoring will replace all existing data. You will need to re-login after the restore completes."
65
- },
66
- "restoreAction": "Restore",
67
- "retentionCount": "Keep Last",
68
- "retentionSuffix": "scheduled backups",
69
- "rowActions": "",
70
- "schedule": "Scheduled Backups",
71
- "scheduleDaily": "Daily",
72
- "scheduleDayOfMonth": "Day of Month",
73
- "scheduleDayOfMonthHint": "On months with fewer days, the backup runs on the last day.",
74
- "scheduleDayOfWeek": "Day of Week",
75
- "scheduleDisabled": "Disabled",
76
- "scheduleHour": "",
77
- "scheduleMinute": "",
78
- "scheduleMonthly": "Monthly",
79
- "scheduleTime": "Time ({{timezone}})",
80
- "scheduleType": "Schedule",
81
- "scheduleWeekly": "Weekly",
82
- "size": "Size",
83
- "title": "Backup",
84
- "toast": {
85
- "backupCreateFailed": "Failed to create backup",
86
- "backupCreated": "Backup created successfully",
87
- "backupDeleteFailed": "Failed to delete backup",
88
- "backupDeleted": "Backup deleted",
89
- "backupUploadFailed": "Failed to upload backup",
90
- "backupUploaded": "Backup uploaded successfully",
91
- "restoreStartFailed": "Failed to start restore",
92
- "restoreStarted": "Restore started",
93
- "scheduleError": "Failed to save backup schedule",
94
- "scheduleSaved": "Backup schedule saved"
95
- },
96
- "type": "Type",
97
- "typeManual": "Manual",
98
- "typeScheduled": "Scheduled",
99
- "typeUploaded": "Uploaded",
100
- "uploadBackup": "Upload Backup",
101
- "uploading": "Uploading...",
102
- "version": "Version"
103
- },
104
- "email": {
105
- "branding": {
106
- "accent": "",
107
- "accentPicker": "",
108
- "description": "",
109
- "footerText": "",
110
- "footerTextHelp": "",
111
- "logo": {
112
- "label": "",
113
- "none": "",
114
- "tracearr": "",
115
- "url": ""
116
- },
117
- "logoUrl": "",
118
- "mailto": "",
119
- "mailtoHelp": "",
120
- "postalAddress": "",
121
- "postalAddressHelp": "",
122
- "save": "",
123
- "saving": "",
124
- "title": ""
125
- },
126
- "ownerOnly": "",
127
- "suppressions": {
128
- "add": "",
129
- "addConfirm": "",
130
- "addDescription": "",
131
- "addTitle": "",
132
- "address": "",
133
- "empty": "",
134
- "emptyDescription": "",
135
- "globalNote": "",
136
- "openSource": "",
137
- "reason": {
138
- "manual": "",
139
- "unsubscribed": ""
140
- },
141
- "remove": "",
142
- "removeDescription": "",
143
- "removeTitle": "",
144
- "title": ""
145
- }
146
- },
147
- "general": {
148
- "accentColor": "Accent Color",
149
- "apiDocs": "API Docs",
150
- "apiKeyDesc": "Access the Tracearr API for third-party integrations like Homarr, Home Assistant, etc.",
151
- "apiKeyReadAccess": "Your API key grants full read access to your Tracearr data.",
152
- "apiRateLimit": "API Rate Limit",
153
- "apiRateLimitDesc": "Maximum public API requests per minute per key. Restart required to apply.",
154
- "apiRateLimitSuffix": "/min",
155
- "application": "Application",
156
- "applicationDesc": "Configure basic application settings",
157
- "copyToClipboard": "Copy to clipboard",
158
- "cyanDefault": "* Cyan is the default accent color",
159
- "default": "(default)",
160
- "detect": "Detect",
161
- "enhancedGeoIP": "Enhanced GeoIP Lookup",
162
- "enhancedGeoIPDesc": "Use Plex's GeoIP service for more accurate location data. When enabled, IP addresses are sent to plex.tv for lookup. Local MaxMind database is used as fallback.",
163
- "externalAccess": "External Access",
164
- "externalAccessDesc": "Configure how external devices (like mobile apps) connect to your server",
165
- "externalUrl": "External URL",
166
- "externalUrlDesc": "The URL that external devices should use to reach this server. Used for QR codes and mobile app pairing.",
167
- "externalUrlPlaceholder": "https://tracearr.example.com",
168
- "generateApiKeyPrompt": "Generate an API key to enable external integrations.",
169
- "generateKey": "Generate Key",
170
- "helpTranslate": "Help translate Tracearr",
171
- "imageCache": {
172
- "ceiling": "Ceiling",
173
- "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.",
174
- "diskLimited": "Disk-limited since {{since}}: about {{shortfall}} of posters are not cached.",
175
- "files": "Files",
176
- "floor": "Keeps free",
177
- "free": "Free disk",
178
- "freeOf": "of {{total}}",
179
- "lastSweep": "Last sweep",
180
- "loadError": "Could not load the cache status.",
181
- "need": "Estimated need",
182
- "needHint": "{{count}} posters × 18 KB",
183
- "never": "not yet",
184
- "size": "On disk",
185
- "title": "Poster cache"
186
- },
187
- "imperial": "Imperial (mi, mph)",
188
- "iosHttpWarning": "iOS requires HTTPS for external connections. Set up a reverse proxy with SSL.",
189
- "jellyfinPollingNote": "Jellyfin/Emby are polled at the interval above.",
190
- "language": "Language",
191
- "languageDescription": "Choose your preferred display language.",
192
- "localAccount": "Local Account",
193
- "localhostWarning": "Localhost URLs won't work for external devices. Use your LAN IP or a domain name.",
194
- "metric": "Metric (km, km/h)",
195
- "noApiKeyGenerated": "No API key generated",
196
- "plexAccount": "Plex Account",
197
- "plexSseNote": "Plex uses Server-Sent Events (SSE) for near-instant updates — no polling needed.",
198
- "primaryAuth": "Primary Authentication Method",
199
- "publicApiSettings": "Public API",
200
- "publicApiSettingsDesc": "Configure watch-completion thresholds and request limits for the public API",
201
- "regenerate": "Regenerate",
202
- "regenerateApiKey": "Regenerate API Key?",
203
- "regenerateApiKeyDesc": "This will invalidate your current API key. Any integrations using the old key will stop working.",
204
- "sessionSync": "Session Sync",
205
- "sessionSyncDesc": "",
206
- "syncInterval": "Sync Interval",
207
- "syncIntervalDesc": "",
208
- "syncIntervalSuffix": "sec",
209
- "theme": "Theme",
210
- "themeDark": "Dark",
211
- "themeLight": "Light",
212
- "themeSystem": "System",
213
- "timeFormat": "Time Format",
214
- "timeFormat12h": "12-hour (1:30 PM)",
215
- "timeFormat24h": "24-hour (13:30)",
216
- "timeFormatDescription": "Choose how times are displayed.",
217
- "timezone": "Timezone",
218
- "title": "General Settings",
219
- "unitSystem": "Unit System",
220
- "unitSystemDesc": "",
221
- "updateChecks": {
222
- "description": "Tracearr looks for new releases every six hours. Notifications come from whatever automation listens for the update triggers.",
223
- "plugin": "Realtime plugin",
224
- "pluginDesc": "Check for new releases of the Tracearr plugin your Jellyfin and Emby servers stream events through.",
225
- "server": "Media servers",
226
- "serverDesc": "Compare what each Plex, Jellyfin and Emby server runs with the newest release its makers publish.",
227
- "title": "Update checks"
228
- },
229
- "watchedThresholdMovie": "Movie Watched Threshold",
230
- "watchedThresholdMovieDesc": "",
231
- "watchedThresholdMusic": "Track Watched Threshold",
232
- "watchedThresholdMusicDesc": "",
233
- "watchedThresholdSuffix": "%",
234
- "watchedThresholdTv": "TV Episode Watched Threshold",
235
- "watchedThresholdTvDesc": ""
236
- },
237
- "import": {
238
- "apiKeyHelp": "Found in Tautulli Settings → Web Interface → API Key.",
239
- "apiKeyPlaceholder": "Your Tautulli API key",
240
- "checkPlugin": "Check Plugin",
241
- "checkingPlugin": "Checking...",
242
- "connectToTautulli": "Connect to Tautulli",
243
- "connectedFound": "Connected! Found {{users}} users and {{records}} history records.",
244
- "duplicates": "{{count}} duplicates skipped",
245
- "enrichMetadata": "Enrich with media metadata (recommended)",
246
- "enrichMetadataHelp": "Fetches additional metadata from your media server for imported sessions.",
247
- "enriched": "Enriched",
248
- "errors": "Errors",
249
- "exportBackupHelp": "In Jellystat, go to Settings → Backup → Activity Backup to export your data.",
250
- "exportBackupHint": "Export an Activity Backup from Jellystat",
251
- "howItWorks": "How the import works",
252
- "howItWorksDesc": "Tracearr will import all historical watch data from your source. This may take a while depending on the size of your library.",
253
- "importComplete": "Import Complete",
254
- "importFailed": "Import Failed",
255
- "importFullRange": "Import full history",
256
- "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.",
257
- "importHistory": "Import History",
258
- "importInProgressGeneric": "Import in progress...",
259
- "importInProgressPercent": "Import in progress ({{percent}}% complete)...",
260
- "importOptions": "Import Options",
261
- "importProgress": "Import Progress",
262
- "imported": "Imported",
263
- "importing": "Importing...",
264
- "includeStreamDetails": "Include detailed stream data (codecs, bitrate, resolution)",
265
- "includeStreamDetailsHelp": "Imports additional stream information. May increase import time significantly.",
266
- "jellyfinEmby": "Jellyfin/Emby (Jellystat)",
267
- "jellystat": "Import from Jellystat",
268
- "noServers": "No Servers Connected",
269
- "noServersHint": "You need at least one connected server to import data.",
270
- "overlapSkipped": "{{count}} skipped as overlap",
271
- "overwriteFriendlyNames": "Overwrite existing friendly names with Tautulli names",
272
- "overwriteFriendlyNamesHelp": "Existing identity names in Tracearr will be replaced with the friendly names from Tautulli.",
273
- "page": "Page",
274
- "playbackReporting": "Playback Reporting Plugin",
275
- "playbackReportingDesc": "Import history directly from the Playback Reporting plugin installed on your Jellyfin or Emby server. No file export needed.",
276
- "pleaseEnterDetails": "Please enter Tautulli URL and API key",
277
- "pleaseSelectJsonFile": "Please select a JSON file",
278
- "plex": "Plex (Tautulli)",
279
- "pluginFound": "Plugin found: {{records}} records from {{oldestDate}} to {{newestDate}}",
280
- "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.",
281
- "processed": "Processed",
282
- "recordsMayBeSkipped": "Records may be skipped if:",
283
- "selectJellyfinServer": "Select a Jellyfin or Emby server",
284
- "selectPlexServer": "Select a Plex server",
285
- "selectTargetServer": "Select Target Server",
286
- "serverTimezone": "Server Timezone",
287
- "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.",
288
- "skipDuplicate": "Duplicate session — The session was already imported previously.",
289
- "skipDuplicatePlugin": "Duplicate record - already imported directly or arrived earlier via a Jellystat import of the same plugin data.",
290
- "skipInProgress": "In-progress session — Active/incomplete sessions without a reference ID are skipped.",
291
- "skipOverlap": "Overlapping record - the timestamp falls inside the period Tracearr already tracks for this server. Enable full-range import to include it.",
292
- "skipSyncHint": "If many records are skipped, ensure you've synced your server recently in Settings → Servers.",
293
- "skipUserNotFoundJellyfin": "User not found — The Jellyfin/Emby user doesn't exist in Tracearr. Sync your server first to add all users.",
294
- "skipUserNotFoundPlex": "User not found — The Plex user doesn't exist in Tracearr. Sync your server first to add all users.",
295
- "skipped": "Skipped",
296
- "startImport": "Start Import",
297
- "startingImport": "Starting import...",
298
- "step1": "1",
299
- "step2": "2",
300
- "targetServer": "Target Server",
301
- "tautulli": "Import from Tautulli",
302
- "tautulliUrl": "Tautulli URL",
303
- "tautulliUrlHelp": "The URL of your Tautulli instance.",
304
- "tautulliUrlPlaceholder": "http://localhost:8181",
305
- "testing": "Testing...",
306
- "testingConnection": "Testing connection...",
307
- "title": "Import Data",
308
- "updateExistingRecords": "Update existing records with stream details",
309
- "updateExistingRecordsHelp": "Previously imported records will be updated with stream quality data.",
310
- "uploadJellystatBackup": "Upload Jellystat Backup",
311
- "uploadingBackup": "Uploading backup file..."
312
- },
313
- "ipWarning": {
314
- "acknowledge": "Got it",
315
- "message": "All users appear to be using the same IP address or local network IPs. This may affect rule-based logic for location or IP addresses."
316
- },
317
- "jobs": {
318
- "backfill": "Backfill",
319
- "cleanup": "Cleanup",
320
- "delayed": "delayed",
321
- "description": "",
322
- "errors": "errors",
323
- "jobHistory": "Job History",
324
- "jobHistoryDesc": "Recent maintenance job executions",
325
- "lastJobCompleted": "Last job completed successfully",
326
- "lastJobFailed": "Last job failed",
327
- "mayTakeAWhile": "This may take a while",
328
- "mayTakeAWhileDesc": "This job may take several minutes to complete depending on the size of your library.",
329
- "normalization": "Normalization",
330
- "processed": "processed",
331
- "queued": "queued",
332
- "runConfirm": "Run {{name}}?",
333
- "runJob": "Run Job",
334
- "running": "running",
335
- "runningState": "Running",
336
- "startJob": "Start Job",
337
- "title": "Maintenance Jobs",
338
- "unchanged": "unchanged",
339
- "updated": "updated",
340
- "waiting": "Waiting"
341
- },
342
- "mobile": {
343
- "addDevice": "Add Device",
344
- "connectedOn": "",
345
- "copyToken": "Copy token",
346
- "deviceName": "Device name",
347
- "deviceNamePlaceholder": "e.g. iPhone 15",
348
- "devicesConnected": "{{current}} of {{max}} devices connected",
349
- "disable": "Disable",
350
- "disableMobileAccess": "Disable Mobile Access",
351
- "disableMobileAccessConfirm": "This will disconnect all mobile devices and revoke all sessions. You can re-enable mobile access later.",
352
- "done": "Done",
353
- "downloadOnAppStore": "Download on the App Store",
354
- "enableMobileAccess": "Enable Mobile Access",
355
- "enabling": "Enabling...",
356
- "expiresIn": "Expires in {{time}}",
357
- "externalUrlBanner": "Using a reverse proxy or accessing remotely? Set your",
358
- "externalUrlBannerLink": "External URL",
359
- "externalUrlBannerSuffix": "so the mobile app can connect to your server.",
360
- "externalUrlRequired": "An external URL must be configured in General Settings for mobile pairing to work.",
361
- "failedToGenerateToken": "Failed to Generate Token",
362
- "generateToken": "Generate Pair Token",
363
- "getOnGooglePlay": "Get it on Google Play",
364
- "lastSeen": "",
365
- "mobileAccessDisabled": "Mobile Access Disabled",
366
- "mobileAccessDisabledDesc": "Enable mobile access to allow the Tracearr mobile app to connect to your server.",
367
- "noDevices": "No devices connected",
368
- "noDevicesDesc": "",
369
- "oneTimePairToken": "One-Time Pair Token",
370
- "pairDevice": "Pair Device",
371
- "pairNewDevice": "Pair New Device",
372
- "pairNewDeviceDesc": "Scan the QR code with the Tracearr mobile app, or enter the token manually.",
373
- "pendingTokens": "{{count}} pending pair tokens",
374
- "removeDevice": "Remove Device",
375
- "removeDeviceConfirm": "Are you sure you want to remove {{deviceName}}? This device will need to pair again to reconnect.",
376
- "renameDevice": "Rename Device",
377
- "renameDeviceDesc": "Enter a name to identify this device in the list.",
378
- "revokeAll": "Revoke All Sessions",
379
- "revokeAllConfirm": "This will disconnect all mobile devices. They will need to pair again to reconnect.",
380
- "revokeAllSessions": "Revoke All",
381
- "scanQrCode": "Scan QR Code",
382
- "title": "Mobile App",
383
- "tokenExpires": "Token expires in {{time}}",
384
- "tokenExpiryNote": "This token expires in 5 minutes and can only be used once."
385
- },
386
- "nav": {
387
- "descriptions": {
388
- "api": "",
389
- "appearance": "",
390
- "backup": "",
391
- "behavior": "",
392
- "connections": "",
393
- "destinations": "",
394
- "email": "",
395
- "guest": "",
396
- "import": "",
397
- "jobs": "",
398
- "locale": "",
399
- "mobile": "",
400
- "newsletters": "",
401
- "plexAccounts": "",
402
- "posters": "",
403
- "remote": ""
404
- },
405
- "groups": {
406
- "access": "",
407
- "data": "",
408
- "general": "",
409
- "notifications": "",
410
- "servers": ""
411
- },
412
- "itemLabel": "",
413
- "label": "",
414
- "sections": {
415
- "api": "",
416
- "appearance": "",
417
- "backup": "",
418
- "behavior": "",
419
- "connections": "",
420
- "destinations": "",
421
- "email": "",
422
- "guest": "",
423
- "import": "",
424
- "jobs": "",
425
- "locale": "",
426
- "mobile": "",
427
- "newsletters": "",
428
- "plexAccounts": "",
429
- "posters": "",
430
- "remote": ""
431
- },
432
- "selectLabel": ""
433
- },
434
- "newsletters": {
435
- "addEmailDestination": "",
436
- "copyOf": "",
437
- "counts": {
438
- "albums_one": "",
439
- "albums_other": "",
440
- "movies_one": "",
441
- "movies_other": "",
442
- "shows_one": "",
443
- "shows_other": "",
444
- "watched_one": "",
445
- "watched_other": ""
446
- },
447
- "deleteDescription": "",
448
- "deleteTitle": "",
449
- "duplicate": "",
450
- "editor": {
451
- "actions": {
452
- "more": "",
453
- "preview": "",
454
- "send": "",
455
- "sendHint": "",
456
- "test": "",
457
- "testHint": ""
458
- },
459
- "allLibraries": "",
460
- "allServers": "",
461
- "basics": "",
462
- "clear": "",
463
- "content": "",
464
- "cron": "",
465
- "cronHint": "",
466
- "dayOfMonth": "",
467
- "dayOfMonthHelp": "",
468
- "dayOfWeek": "",
469
- "days": "",
470
- "delivery": {
471
- "destination": "",
472
- "destinationHelp": "",
473
- "hostedNeedsUrl": "",
474
- "imageMode": "",
475
- "modeHelp": {
476
- "hosted": "",
477
- "inline": "",
478
- "none": ""
479
- },
480
- "modePreviewHint": "",
481
- "modes": {
482
- "hosted": "",
483
- "inline": "",
484
- "none": ""
485
- },
486
- "noDestination": "",
487
- "pickDestination": "",
488
- "skipWhenEmpty": "",
489
- "skipWhenEmptyHelp": "",
490
- "title": ""
491
- },
492
- "dstNote": "",
493
- "enabledHelp": "",
494
- "fixFirst": "",
495
- "headerSummary": "",
496
- "historyNeedsSave": "",
497
- "intro": "",
498
- "introPlaceholder": "",
499
- "kinds": {
500
- "cron": "",
501
- "daily": "",
502
- "monthly": "",
503
- "weekly": ""
504
- },
505
- "libraries": "",
506
- "librariesHelp": "",
507
- "librariesSelected": "",
508
- "links": {
509
- "tracearr": "",
510
- "tracearrNote": ""
511
- },
512
- "message": "",
513
- "name": "",
514
- "nameHelp": "",
515
- "newTitle": "",
516
- "nextRun": "",
517
- "nextRunPending": "",
518
- "noLibraries": "",
519
- "noServers": "",
520
- "notFound": "",
521
- "outro": "",
522
- "outroPlaceholder": "",
523
- "placeholders": {
524
- "end_date": "",
525
- "item_count": "",
526
- "server_name": "",
527
- "start_date": ""
528
- },
529
- "preview": {
530
- "countsListed": {
531
- "albums": "",
532
- "movies": "",
533
- "shows": ""
534
- },
535
- "draft": "",
536
- "images": "",
537
- "imagesBlocked": "",
538
- "imagesBlockedNote": "",
539
- "imagesOn": "",
540
- "linksNote": "",
541
- "recipients": "",
542
- "subjectLabel": "",
543
- "title": "",
544
- "variantTab": "",
545
- "variants": "",
546
- "width": "",
547
- "widths": {
548
- "desktop": "",
549
- "phone": ""
550
- },
551
- "window": "",
552
- "windowSince": ""
553
- },
554
- "previewVariant_one": "",
555
- "previewVariant_other": "",
556
- "readiness": {
557
- "destination": "",
558
- "destinationError": "",
559
- "destinationFail": "",
560
- "destinationUnknown": "",
561
- "dns": "",
562
- "dnsLink": "",
563
- "emptyVariant": "",
564
- "externalUrl": "",
565
- "externalUrlFail": "",
566
- "externalUrlNotHttps": "",
567
- "fixDestination": "",
568
- "fixExternalUrl": "",
569
- "fixRecipients": "",
570
- "fromDomain": "",
571
- "fromDomainFail": "",
572
- "fromDomainUnknown": "",
573
- "intro": "",
574
- "noPublicUrl": "",
575
- "privatePublicUrl": "",
576
- "recipientsChecking": "",
577
- "recipientsFail": "",
578
- "recipientsLoadFailed": "",
579
- "recipients_one": "",
580
- "recipients_other": "",
581
- "serverSettingsLink": "",
582
- "title": "",
583
- "variantsLoadFailed": ""
584
- },
585
- "recipients": {
586
- "account": "",
587
- "addressLabel": "",
588
- "allServers": "",
589
- "badAddress": "",
590
- "contactEmailFor": "",
591
- "emptyDescription": "",
592
- "emptyTitle": "",
593
- "exclude": "",
594
- "excludeAction": "",
595
- "excludeSelected": "",
596
- "excludedAfterSave": "",
597
- "excludedCount": "",
598
- "excludedHelp": "",
599
- "extraAddress": "",
600
- "extraHelp": "",
601
- "extraTrigger": "",
602
- "fromUsername": "",
603
- "groupsNote": "",
604
- "include": "",
605
- "includeAction": "",
606
- "includeSelected": "",
607
- "includedAfterSave": "",
608
- "joinedSinceLastSend": "",
609
- "loadFailed": "",
610
- "manage": "",
611
- "manageHelp": "",
612
- "members": "",
613
- "membersHelp": "",
614
- "nameLabel": "",
615
- "namePlaceholder": "",
616
- "newSinceLastSend": "",
617
- "noAddress": "",
618
- "noAddressHelp": "",
619
- "noMatches": "",
620
- "notIncludable": "",
621
- "notIncludableHelp": "",
622
- "openUserPage": "",
623
- "ownerNote": "",
624
- "pasteAddresses": "",
625
- "reasons": {
626
- "banned": "",
627
- "excluded": "",
628
- "noServer": "",
629
- "pending": ""
630
- },
631
- "removeAddress": "",
632
- "saveEmail": "",
633
- "searchPlaceholder": "",
634
- "selectAll": "",
635
- "selectPerson": "",
636
- "selectedCount": "",
637
- "serverFilter": "",
638
- "suppressed": "",
639
- "suppressedCount": "",
640
- "suppressedHelp": "",
641
- "tabs": {
642
- "excluded": "",
643
- "noAddress": "",
644
- "receiving": "",
645
- "suppressed": ""
646
- },
647
- "title": "",
648
- "unknownMember": "",
649
- "willReceive": ""
650
- },
651
- "removeLibrary": "",
652
- "save": "",
653
- "saving": "",
654
- "schedule": "",
655
- "scheduleKind": "",
656
- "searchLibraries": "",
657
- "searchServers": "",
658
- "sections": {
659
- "description": "",
660
- "labels": {
661
- "mostWatched": "",
662
- "movies": "",
663
- "music": "",
664
- "seasons": "",
665
- "shows": ""
666
- },
667
- "legend": "",
668
- "mostWatched": "",
669
- "mostWatchedHelp": "",
670
- "movies": "",
671
- "music": "",
672
- "musicHelp": "",
673
- "shows": "",
674
- "the": "",
675
- "units": {
676
- "albums": "",
677
- "mostPlayed": "",
678
- "movies": "",
679
- "seasonsEach": "",
680
- "shows": ""
681
- },
682
- "upTo": ""
683
- },
684
- "send": {
685
- "confirm": "",
686
- "nobody": "",
687
- "previewing": "",
688
- "sending": "",
689
- "summary": "",
690
- "title": "",
691
- "trimmed_one": "",
692
- "trimmed_other": ""
693
- },
694
- "sendNeedsSave": "",
695
- "senderName": "",
696
- "senderNameHelp": "",
697
- "senderNameRequiredMulti": "",
698
- "servers": "",
699
- "serversHelp": "",
700
- "serversSelected": "",
701
- "subject": "",
702
- "subjectHelp": "",
703
- "tabs": {
704
- "edit": "",
705
- "history": ""
706
- },
707
- "test": {
708
- "address": "",
709
- "description": "",
710
- "send": "",
711
- "title": "",
712
- "variant": ""
713
- },
714
- "time": "",
715
- "timezone": "",
716
- "timezoneHelp": "",
717
- "turnOnNow": "",
718
- "unknownLibrary": "",
719
- "unsaved": "",
720
- "variantHeading": "",
721
- "variantsNote": "",
722
- "windowHelp": {
723
- "fixed": "",
724
- "since_last_send": ""
725
- },
726
- "windowKind": "",
727
- "windowMax": "",
728
- "windowSentence": {
729
- "fallback": "",
730
- "fallbackLabel": "",
731
- "fixed": "",
732
- "fixedAfter": "",
733
- "fixedLabel": ""
734
- },
735
- "windows": {
736
- "fixed": "",
737
- "since_last_send": ""
738
- }
739
- },
740
- "empty": "",
741
- "emptyDescription": "",
742
- "enabled": "",
743
- "history": {
744
- "attempts": "",
745
- "empty": "",
746
- "emptyDescription": "",
747
- "finished": "",
748
- "loadFailed": "",
749
- "open": "",
750
- "openSnapshot": "",
751
- "openVariantSnapshot": "",
752
- "page": "",
753
- "pruned": "",
754
- "recipients": "",
755
- "recipientsEmpty": "",
756
- "retryFailed": "",
757
- "sendTitle": "",
758
- "snapshotTitle": "",
759
- "status": {
760
- "failed": "",
761
- "queued": "",
762
- "sent": "",
763
- "suppressed": "",
764
- "unknown": ""
765
- },
766
- "trigger": {
767
- "manual": "",
768
- "schedule": "",
769
- "test": ""
770
- },
771
- "unknownHelp": "",
772
- "variant": "",
773
- "variantEmpty": "",
774
- "window": ""
775
- },
776
- "lastSend": "",
777
- "neverSent": "",
778
- "new": "",
779
- "nextRun": "",
780
- "noDestinationDescription": "",
781
- "noDestinationHint": "",
782
- "noDestinationTitle": "",
783
- "noNextRun": "",
784
- "outcome": {
785
- "failed": "",
786
- "partial": "",
787
- "rendering": "",
788
- "sending": "",
789
- "sent": "",
790
- "skipped_empty": ""
791
- },
792
- "ownerOnly": "",
793
- "richText": {
794
- "bold": "",
795
- "bulletList": "",
796
- "counter": "",
797
- "italic": "",
798
- "link": "",
799
- "linkApply": "",
800
- "linkHref": ""
801
- },
802
- "rowActions": "",
803
- "schedule": {
804
- "cron": "",
805
- "daily": "",
806
- "inZone": "",
807
- "monthly": "",
808
- "weekly": ""
809
- },
810
- "sendNow": ""
811
- },
812
- "plex": {
813
- "chooseServer": "Choose which Plex Media Server to monitor",
814
- "selectServer": "Select Server",
815
- "signInWithPlex": "Sign in with Plex",
816
- "signUpWithPlex": "Sign up with Plex"
817
- },
818
- "requests": {
819
- "confirmUnlink": {
820
- "body": "",
821
- "title": ""
822
- },
823
- "counts": {
824
- "requests_one": "",
825
- "requests_other": "",
826
- "unmatchedMedia_one": "",
827
- "unmatchedMedia_other": "",
828
- "unmatchedUsers_one": "",
829
- "unmatchedUsers_other": ""
830
- },
831
- "dialog": {
832
- "apiKey": "",
833
- "apiKeyHint": "",
834
- "apiKeyKeep": "",
835
- "description": "",
836
- "hideKey": "",
837
- "match": "",
838
- "mismatch": "",
839
- "mismatchIds": "",
840
- "mismatchOther": "",
841
- "save": "",
842
- "saveHint": "",
843
- "showKey": "",
844
- "test": "",
845
- "testing": "",
846
- "titleEdit": "",
847
- "titleLink": "",
848
- "url": ""
849
- },
850
- "disable": "",
851
- "enable": "",
852
- "label": "",
853
- "lastError": "",
854
- "lastErrorNoTime": "",
855
- "link": "",
856
- "menuLabel": "",
857
- "needsKey": "",
858
- "neverSynced": "",
859
- "paused": "",
860
- "syncNow": "",
861
- "syncedAgo": "",
862
- "toast": {
863
- "failed": "",
864
- "removed": "",
865
- "saved": "",
866
- "syncStarted": ""
867
- },
868
- "unlink": ""
869
- },
870
- "serverHealth": {
871
- "multipleUnreachable": "{{count}} servers unreachable: {{serverNames}}",
872
- "unreachable": "{{serverName}} is unreachable"
873
- },
874
- "servers": {
875
- "addServer": "Add Server",
876
- "addServerDialogDescOther": "Connect a Jellyfin or Emby server.",
877
- "addServerDialogDescPlex": "Select a Plex server from your linked account.",
878
- "added": "Added {{date}}",
879
- "allFieldsRequired": "All fields are required",
880
- "allServersConnected": "All Servers Connected",
881
- "allServersConnectedDesc": "All servers from this account are already connected.",
882
- "apiKeyHelp": "Found in your media server's dashboard under API Keys or Advanced settings.",
883
- "apiKeyHelpEmby": "Find this in Emby Server → API Keys",
884
- "apiKeyHelpJellyfin": "Find this in Jellyfin Dashboard → API Keys",
885
- "apiKeyPlaceholder": "Enter your API key",
886
- "checkingConnection": "Checking connection…",
887
- "chooseAccount": "Choose an account...",
888
- "connectServer": "Connect Server",
889
- "connecting": "Connecting...",
890
- "connectionFailed": "Connection failed",
891
- "connectionSuccess": "Connection successful",
892
- "description": "Manage your connected Plex, Jellyfin, and Emby servers",
893
- "discoveringConnections": "Discovering connections...",
894
- "discoveringServers": "Discovering available Plex servers...",
895
- "editServer": "Edit Server",
896
- "editServerDesc": "Update the server name or connection URL.",
897
- "loadingAccounts": "Loading linked Plex accounts...",
898
- "noPlexAccountsLinked": "No Plex Accounts Linked",
899
- "noPlexAccountsLinkedHint": "Link a Plex account above, then come back to add a server.",
900
- "noServersConnected": "No servers connected",
901
- "noServersConnectedHint": "Click \"Add Server\" to connect a Jellyfin or Emby server",
902
- "plexAccount": "Plex Account",
903
- "plexServerPlaceholder": "My Plex Server",
904
- "plexServerUrlPlaceholder": "http://192.168.1.100:32400",
905
- "pluginUpdateAvailable": "Plugin update available",
906
- "pluginVersion": "plugin v{{version}}",
907
- "pollingMode": "Polling",
908
- "posterSource": {
909
- "automatic": "Automatic (most recent)",
910
- "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.",
911
- "emptyHint": "Add a server to choose a preferred poster source.",
912
- "label": "Preferred Poster Source",
913
- "ownerOnly": "",
914
- "title": "Poster Preferences",
915
- "titleDesc": "Choose which server's poster is shown when a title exists on more than one server"
916
- },
917
- "publicUrl": "",
918
- "publicUrlHint": "",
919
- "realtimeActive": "Real-time updates active",
920
- "realtimeDialog": {
921
- "autoDetectNote": "Restart Jellyfin or Emby after installing the plugin; the restart is required. Tracearr itself needs no restart and picks the plugin up automatically.",
922
- "close": "Close",
923
- "copyUrl": "Copy URL",
924
- "embyDescription": "Install the Tracearr SSE plugin to get instant session updates without waiting for the next poll.",
925
- "embyReleasesUrl": "https://github.com/Tracearr/Media-Server-SSE/releases",
926
- "embyUpdateDescription": "A newer plugin release is available. Download the latest release zip, replace the plugin DLL in your Emby plugins folder, and restart Emby.",
927
- "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.",
928
- "issueMalfunctioned": "The server reports the plugin failed to load. Updating the plugin or the media server usually clears this.",
929
- "issueRestartRequired": "The plugin is installed, but the media server needs a restart before it activates.",
930
- "jellyfinDescription": "Install the Tracearr SSE plugin to get instant session updates without waiting for the next poll.",
931
- "jellyfinRepoUrl": "https://raw.githubusercontent.com/Tracearr/Media-Server-SSE/main/manifest.json",
932
- "jellyfinUpdateDescription": "A newer plugin release is available. Open your Jellyfin dashboard, go to Plugins, Catalog, and update Tracearr SSE, then restart Jellyfin.",
933
- "openReleases": "Open releases page",
934
- "repositoryUrl": "Repository URL",
935
- "title": "Enable real-time updates",
936
- "updateTitle": "Update the Tracearr SSE plugin"
937
- },
938
- "realtimeError": "Real-time error",
939
- "removeServer": "Remove Server",
940
- "removeServerConfirm": "Are you sure you want to remove this server? All associated session data will be retained, but you won't be able to monitor new sessions from this server.",
941
- "reorder": "",
942
- "selectAccountHelp": "Select which Plex account to discover servers from.",
943
- "selectPlexAccount": "Select Plex Account",
944
- "serverColor": "Server Color",
945
- "serverColorDesc": "Used for visual attribution in multi-server view",
946
- "serverName": "Server Name",
947
- "serverNamePlaceholder": "My Media Server",
948
- "serverType": "Server Type",
949
- "serverUrl": "Server URL",
950
- "serverUrlHelp": "Direct URL to your Jellyfin or Emby server. Use IP:port for best reliability.",
951
- "serverUrlHelpEmby": "The URL where your Emby server is accessible",
952
- "serverUrlHelpJellyfin": "The URL where your Jellyfin server is accessible",
953
- "serverUrlPlaceholder": "http://192.168.1.100:8096",
954
- "setupRealtime": "Set up real-time updates",
955
- "syncInterval": "Sync Interval",
956
- "testConnection": "Test Connection",
957
- "title": "Connected Servers",
958
- "updateHint": "Or click Update below to save only the name change.",
959
- "updating": "Updating...",
960
- "version": {
961
- "installed": "Version {{version}}",
962
- "upToDate": "up to date",
963
- "updateAvailable": "update {{version}} available"
964
- }
965
- },
966
- "shared": {
967
- "timezone": {
968
- "empty": "",
969
- "other": "",
970
- "placeholder": "",
971
- "search": ""
972
- }
973
- },
974
- "tailscale": {
975
- "authorize": "Authorize in Tailscale",
976
- "awaitingAuth": "Waiting for authorization...",
977
- "connected": "Tailscale is connected. Your Tracearr instance is available on the tailnet.",
978
- "description": "",
979
- "disable": "Disable Tailscale",
980
- "disableConfirmDescription": "This will disconnect Tracearr from your tailnet. You can re-enable without re-authorizing.",
981
- "disableConfirmTitle": "Disable Tailscale?",
982
- "disabledDescription": "Enable Tailscale to put Tracearr on your private tailnet. No port forwarding or reverse proxy required.",
983
- "dnsName": "DNS Name",
984
- "enable": "Enable Tailscale",
985
- "exitNodeNone": "None",
986
- "exitNodeOffline": "(offline)",
987
- "hideLogs": "Hide Logs",
988
- "hostname": "Hostname",
989
- "hostnameHint": "Optional custom name for this device on your tailnet. Letters, numbers, and hyphens only.",
990
- "hostnameLabel": "Device Hostname",
991
- "noLogs": "No log output available.",
992
- "notAvailable": "Tailscale binary not found. This feature is only available when running the official Docker image.",
993
- "resetConfirmDescription": "This will disconnect Tracearr from your tailnet and remove the device identity. You will need to re-authorize if you enable it again.",
994
- "resetConfirmTitle": "Reset Tailscale?",
995
- "showLogs": "Show Logs",
996
- "starting": "Starting Tailscale...",
997
- "stopping": "Stopping Tailscale...",
998
- "tailnetUrl": "URL",
999
- "title": "Tailscale VPN",
1000
- "toast": {
1001
- "disableFailed": "Failed to disable Tailscale",
1002
- "disabled": "Tailscale has been disabled.",
1003
- "enableFailed": "Failed to enable Tailscale",
1004
- "exitNodeFailed": "Failed to set exit node",
1005
- "exitNodeSet": "Exit node updated.",
1006
- "reset": "Tailscale has been reset.",
1007
- "resetFailed": "Failed to reset Tailscale"
1008
- },
1009
- "unknownError": "An unknown error occurred."
1010
- },
1011
- "title": "Settings",
1012
- "update": {
1013
- "betaUpdate": "Beta Update",
1014
- "newVersion": "New Version",
1015
- "pullInstructions": "After pulling, restart your container to apply the update.",
1016
- "releaseNotes": "Release Notes",
1017
- "stableRelease": "Stable Release",
1018
- "title": "Update Available",
1019
- "updateCommand": "Update Command",
1020
- "versionAvailable": "{{version}} available"
1021
- }
1022
- }