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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (318) hide show
  1. package/dist/config.d.ts +3349 -1105
  2. package/dist/config.d.ts.map +1 -1
  3. package/dist/config.mobile.d.ts +3349 -1105
  4. package/dist/config.mobile.d.ts.map +1 -1
  5. package/dist/index.d.ts +2 -2
  6. package/dist/index.js +2 -2
  7. package/dist/locales/af-ZA/common.json +282 -250
  8. package/dist/locales/af-ZA/nav.json +21 -17
  9. package/dist/locales/af-ZA/notifications.json +22 -38
  10. package/dist/locales/af-ZA/pages.json +1170 -97
  11. package/dist/locales/af-ZA/settings.json +455 -426
  12. package/dist/locales/ar-SA/common.json +282 -250
  13. package/dist/locales/ar-SA/nav.json +21 -17
  14. package/dist/locales/ar-SA/notifications.json +22 -38
  15. package/dist/locales/ar-SA/pages.json +1170 -97
  16. package/dist/locales/ar-SA/settings.json +455 -426
  17. package/dist/locales/ca-ES/common.json +282 -250
  18. package/dist/locales/ca-ES/nav.json +21 -17
  19. package/dist/locales/ca-ES/notifications.json +22 -38
  20. package/dist/locales/ca-ES/pages.json +1170 -97
  21. package/dist/locales/ca-ES/settings.json +455 -426
  22. package/dist/locales/cs-CZ/common.json +282 -250
  23. package/dist/locales/cs-CZ/nav.json +21 -17
  24. package/dist/locales/cs-CZ/notifications.json +22 -38
  25. package/dist/locales/cs-CZ/pages.json +1170 -97
  26. package/dist/locales/cs-CZ/settings.json +455 -426
  27. package/dist/locales/da-DK/common.json +282 -250
  28. package/dist/locales/da-DK/nav.json +21 -17
  29. package/dist/locales/da-DK/notifications.json +22 -38
  30. package/dist/locales/da-DK/pages.json +1170 -97
  31. package/dist/locales/da-DK/settings.json +455 -426
  32. package/dist/locales/de-DE/common.json +282 -250
  33. package/dist/locales/de-DE/nav.json +21 -17
  34. package/dist/locales/de-DE/notifications.json +22 -38
  35. package/dist/locales/de-DE/pages.json +1170 -97
  36. package/dist/locales/de-DE/settings.json +455 -426
  37. package/dist/locales/el-GR/common.json +282 -250
  38. package/dist/locales/el-GR/nav.json +21 -17
  39. package/dist/locales/el-GR/notifications.json +22 -38
  40. package/dist/locales/el-GR/pages.json +1170 -97
  41. package/dist/locales/el-GR/settings.json +455 -426
  42. package/dist/locales/en/common.json +36 -4
  43. package/dist/locales/en/nav.json +6 -2
  44. package/dist/locales/en/notifications.json +13 -29
  45. package/dist/locales/en/pages.json +1187 -114
  46. package/dist/locales/en/settings.json +31 -2
  47. package/dist/locales/en-US/common.json +282 -250
  48. package/dist/locales/en-US/nav.json +21 -17
  49. package/dist/locales/en-US/notifications.json +22 -38
  50. package/dist/locales/en-US/pages.json +1170 -97
  51. package/dist/locales/en-US/settings.json +455 -426
  52. package/dist/locales/es-ES/common.json +282 -250
  53. package/dist/locales/es-ES/nav.json +21 -17
  54. package/dist/locales/es-ES/notifications.json +22 -38
  55. package/dist/locales/es-ES/pages.json +1170 -97
  56. package/dist/locales/es-ES/settings.json +455 -426
  57. package/dist/locales/fi-FI/common.json +282 -250
  58. package/dist/locales/fi-FI/nav.json +21 -17
  59. package/dist/locales/fi-FI/notifications.json +22 -38
  60. package/dist/locales/fi-FI/pages.json +1170 -97
  61. package/dist/locales/fi-FI/settings.json +455 -426
  62. package/dist/locales/fr-FR/common.json +282 -250
  63. package/dist/locales/fr-FR/nav.json +21 -17
  64. package/dist/locales/fr-FR/notifications.json +22 -38
  65. package/dist/locales/fr-FR/pages.json +1170 -97
  66. package/dist/locales/fr-FR/settings.json +455 -426
  67. package/dist/locales/he-IL/common.json +282 -250
  68. package/dist/locales/he-IL/nav.json +21 -17
  69. package/dist/locales/he-IL/notifications.json +22 -38
  70. package/dist/locales/he-IL/pages.json +1170 -97
  71. package/dist/locales/he-IL/settings.json +455 -426
  72. package/dist/locales/hu-HU/common.json +282 -250
  73. package/dist/locales/hu-HU/nav.json +21 -17
  74. package/dist/locales/hu-HU/notifications.json +22 -38
  75. package/dist/locales/hu-HU/pages.json +1170 -97
  76. package/dist/locales/hu-HU/settings.json +455 -426
  77. package/dist/locales/it-IT/common.json +282 -250
  78. package/dist/locales/it-IT/nav.json +21 -17
  79. package/dist/locales/it-IT/notifications.json +22 -38
  80. package/dist/locales/it-IT/pages.json +1170 -97
  81. package/dist/locales/it-IT/settings.json +455 -426
  82. package/dist/locales/ja-JP/common.json +282 -250
  83. package/dist/locales/ja-JP/nav.json +21 -17
  84. package/dist/locales/ja-JP/notifications.json +22 -38
  85. package/dist/locales/ja-JP/pages.json +1170 -97
  86. package/dist/locales/ja-JP/settings.json +455 -426
  87. package/dist/locales/ko-KR/common.json +282 -250
  88. package/dist/locales/ko-KR/nav.json +21 -17
  89. package/dist/locales/ko-KR/notifications.json +22 -38
  90. package/dist/locales/ko-KR/pages.json +1170 -97
  91. package/dist/locales/ko-KR/settings.json +455 -426
  92. package/dist/locales/nl-NL/common.json +282 -250
  93. package/dist/locales/nl-NL/nav.json +21 -17
  94. package/dist/locales/nl-NL/notifications.json +22 -38
  95. package/dist/locales/nl-NL/pages.json +1170 -97
  96. package/dist/locales/nl-NL/settings.json +455 -426
  97. package/dist/locales/no-NO/common.json +282 -250
  98. package/dist/locales/no-NO/nav.json +21 -17
  99. package/dist/locales/no-NO/notifications.json +22 -38
  100. package/dist/locales/no-NO/pages.json +1170 -97
  101. package/dist/locales/no-NO/settings.json +455 -426
  102. package/dist/locales/pl-PL/common.json +282 -250
  103. package/dist/locales/pl-PL/nav.json +21 -17
  104. package/dist/locales/pl-PL/notifications.json +22 -38
  105. package/dist/locales/pl-PL/pages.json +1170 -97
  106. package/dist/locales/pl-PL/settings.json +455 -426
  107. package/dist/locales/pt-BR/common.json +282 -250
  108. package/dist/locales/pt-BR/nav.json +21 -17
  109. package/dist/locales/pt-BR/notifications.json +22 -38
  110. package/dist/locales/pt-BR/pages.json +1170 -97
  111. package/dist/locales/pt-BR/settings.json +455 -426
  112. package/dist/locales/pt-PT/common.json +282 -250
  113. package/dist/locales/pt-PT/nav.json +21 -17
  114. package/dist/locales/pt-PT/notifications.json +22 -38
  115. package/dist/locales/pt-PT/pages.json +1170 -97
  116. package/dist/locales/pt-PT/settings.json +455 -426
  117. package/dist/locales/ro-RO/common.json +282 -250
  118. package/dist/locales/ro-RO/nav.json +21 -17
  119. package/dist/locales/ro-RO/notifications.json +22 -38
  120. package/dist/locales/ro-RO/pages.json +1170 -97
  121. package/dist/locales/ro-RO/settings.json +455 -426
  122. package/dist/locales/ru-RU/common.json +282 -250
  123. package/dist/locales/ru-RU/nav.json +21 -17
  124. package/dist/locales/ru-RU/notifications.json +22 -38
  125. package/dist/locales/ru-RU/pages.json +1170 -97
  126. package/dist/locales/ru-RU/settings.json +455 -426
  127. package/dist/locales/sr-SP/common.json +282 -250
  128. package/dist/locales/sr-SP/nav.json +21 -17
  129. package/dist/locales/sr-SP/notifications.json +22 -38
  130. package/dist/locales/sr-SP/pages.json +1170 -97
  131. package/dist/locales/sr-SP/settings.json +455 -426
  132. package/dist/locales/sv-SE/common.json +282 -250
  133. package/dist/locales/sv-SE/nav.json +21 -17
  134. package/dist/locales/sv-SE/notifications.json +22 -38
  135. package/dist/locales/sv-SE/pages.json +1170 -97
  136. package/dist/locales/sv-SE/settings.json +455 -426
  137. package/dist/locales/tr-TR/common.json +282 -250
  138. package/dist/locales/tr-TR/nav.json +21 -17
  139. package/dist/locales/tr-TR/notifications.json +22 -38
  140. package/dist/locales/tr-TR/pages.json +1170 -97
  141. package/dist/locales/tr-TR/settings.json +455 -426
  142. package/dist/locales/uk-UA/common.json +282 -250
  143. package/dist/locales/uk-UA/nav.json +21 -17
  144. package/dist/locales/uk-UA/notifications.json +22 -38
  145. package/dist/locales/uk-UA/pages.json +1170 -97
  146. package/dist/locales/uk-UA/settings.json +455 -426
  147. package/dist/locales/vi-VN/common.json +282 -250
  148. package/dist/locales/vi-VN/nav.json +21 -17
  149. package/dist/locales/vi-VN/notifications.json +22 -38
  150. package/dist/locales/vi-VN/pages.json +1170 -97
  151. package/dist/locales/vi-VN/settings.json +455 -426
  152. package/dist/locales/zh-CN/common.json +282 -250
  153. package/dist/locales/zh-CN/nav.json +21 -17
  154. package/dist/locales/zh-CN/notifications.json +22 -38
  155. package/dist/locales/zh-CN/pages.json +1170 -97
  156. package/dist/locales/zh-CN/settings.json +455 -426
  157. package/dist/locales/zh-TW/common.json +282 -250
  158. package/dist/locales/zh-TW/nav.json +21 -17
  159. package/dist/locales/zh-TW/notifications.json +22 -38
  160. package/dist/locales/zh-TW/pages.json +1170 -97
  161. package/dist/locales/zh-TW/settings.json +455 -426
  162. package/package.json +1 -1
  163. package/src/index.ts +2 -2
  164. package/src/locales/af-ZA/common.json +282 -250
  165. package/src/locales/af-ZA/nav.json +21 -17
  166. package/src/locales/af-ZA/notifications.json +22 -38
  167. package/src/locales/af-ZA/pages.json +1170 -97
  168. package/src/locales/af-ZA/settings.json +455 -426
  169. package/src/locales/ar-SA/common.json +282 -250
  170. package/src/locales/ar-SA/nav.json +21 -17
  171. package/src/locales/ar-SA/notifications.json +22 -38
  172. package/src/locales/ar-SA/pages.json +1170 -97
  173. package/src/locales/ar-SA/settings.json +455 -426
  174. package/src/locales/ca-ES/common.json +282 -250
  175. package/src/locales/ca-ES/nav.json +21 -17
  176. package/src/locales/ca-ES/notifications.json +22 -38
  177. package/src/locales/ca-ES/pages.json +1170 -97
  178. package/src/locales/ca-ES/settings.json +455 -426
  179. package/src/locales/cs-CZ/common.json +282 -250
  180. package/src/locales/cs-CZ/nav.json +21 -17
  181. package/src/locales/cs-CZ/notifications.json +22 -38
  182. package/src/locales/cs-CZ/pages.json +1170 -97
  183. package/src/locales/cs-CZ/settings.json +455 -426
  184. package/src/locales/da-DK/common.json +282 -250
  185. package/src/locales/da-DK/nav.json +21 -17
  186. package/src/locales/da-DK/notifications.json +22 -38
  187. package/src/locales/da-DK/pages.json +1170 -97
  188. package/src/locales/da-DK/settings.json +455 -426
  189. package/src/locales/de-DE/common.json +282 -250
  190. package/src/locales/de-DE/nav.json +21 -17
  191. package/src/locales/de-DE/notifications.json +22 -38
  192. package/src/locales/de-DE/pages.json +1170 -97
  193. package/src/locales/de-DE/settings.json +455 -426
  194. package/src/locales/el-GR/common.json +282 -250
  195. package/src/locales/el-GR/nav.json +21 -17
  196. package/src/locales/el-GR/notifications.json +22 -38
  197. package/src/locales/el-GR/pages.json +1170 -97
  198. package/src/locales/el-GR/settings.json +455 -426
  199. package/src/locales/en/common.json +36 -4
  200. package/src/locales/en/nav.json +6 -2
  201. package/src/locales/en/notifications.json +13 -29
  202. package/src/locales/en/pages.json +1187 -114
  203. package/src/locales/en/settings.json +31 -2
  204. package/src/locales/en-US/common.json +282 -250
  205. package/src/locales/en-US/nav.json +21 -17
  206. package/src/locales/en-US/notifications.json +22 -38
  207. package/src/locales/en-US/pages.json +1170 -97
  208. package/src/locales/en-US/settings.json +455 -426
  209. package/src/locales/es-ES/common.json +282 -250
  210. package/src/locales/es-ES/nav.json +21 -17
  211. package/src/locales/es-ES/notifications.json +22 -38
  212. package/src/locales/es-ES/pages.json +1170 -97
  213. package/src/locales/es-ES/settings.json +455 -426
  214. package/src/locales/fi-FI/common.json +282 -250
  215. package/src/locales/fi-FI/nav.json +21 -17
  216. package/src/locales/fi-FI/notifications.json +22 -38
  217. package/src/locales/fi-FI/pages.json +1170 -97
  218. package/src/locales/fi-FI/settings.json +455 -426
  219. package/src/locales/fr-FR/common.json +282 -250
  220. package/src/locales/fr-FR/nav.json +21 -17
  221. package/src/locales/fr-FR/notifications.json +22 -38
  222. package/src/locales/fr-FR/pages.json +1170 -97
  223. package/src/locales/fr-FR/settings.json +455 -426
  224. package/src/locales/he-IL/common.json +282 -250
  225. package/src/locales/he-IL/nav.json +21 -17
  226. package/src/locales/he-IL/notifications.json +22 -38
  227. package/src/locales/he-IL/pages.json +1170 -97
  228. package/src/locales/he-IL/settings.json +455 -426
  229. package/src/locales/hu-HU/common.json +282 -250
  230. package/src/locales/hu-HU/nav.json +21 -17
  231. package/src/locales/hu-HU/notifications.json +22 -38
  232. package/src/locales/hu-HU/pages.json +1170 -97
  233. package/src/locales/hu-HU/settings.json +455 -426
  234. package/src/locales/it-IT/common.json +282 -250
  235. package/src/locales/it-IT/nav.json +21 -17
  236. package/src/locales/it-IT/notifications.json +22 -38
  237. package/src/locales/it-IT/pages.json +1170 -97
  238. package/src/locales/it-IT/settings.json +455 -426
  239. package/src/locales/ja-JP/common.json +282 -250
  240. package/src/locales/ja-JP/nav.json +21 -17
  241. package/src/locales/ja-JP/notifications.json +22 -38
  242. package/src/locales/ja-JP/pages.json +1170 -97
  243. package/src/locales/ja-JP/settings.json +455 -426
  244. package/src/locales/ko-KR/common.json +282 -250
  245. package/src/locales/ko-KR/nav.json +21 -17
  246. package/src/locales/ko-KR/notifications.json +22 -38
  247. package/src/locales/ko-KR/pages.json +1170 -97
  248. package/src/locales/ko-KR/settings.json +455 -426
  249. package/src/locales/nl-NL/common.json +282 -250
  250. package/src/locales/nl-NL/nav.json +21 -17
  251. package/src/locales/nl-NL/notifications.json +22 -38
  252. package/src/locales/nl-NL/pages.json +1170 -97
  253. package/src/locales/nl-NL/settings.json +455 -426
  254. package/src/locales/no-NO/common.json +282 -250
  255. package/src/locales/no-NO/nav.json +21 -17
  256. package/src/locales/no-NO/notifications.json +22 -38
  257. package/src/locales/no-NO/pages.json +1170 -97
  258. package/src/locales/no-NO/settings.json +455 -426
  259. package/src/locales/pl-PL/common.json +282 -250
  260. package/src/locales/pl-PL/nav.json +21 -17
  261. package/src/locales/pl-PL/notifications.json +22 -38
  262. package/src/locales/pl-PL/pages.json +1170 -97
  263. package/src/locales/pl-PL/settings.json +455 -426
  264. package/src/locales/pt-BR/common.json +282 -250
  265. package/src/locales/pt-BR/nav.json +21 -17
  266. package/src/locales/pt-BR/notifications.json +22 -38
  267. package/src/locales/pt-BR/pages.json +1170 -97
  268. package/src/locales/pt-BR/settings.json +455 -426
  269. package/src/locales/pt-PT/common.json +282 -250
  270. package/src/locales/pt-PT/nav.json +21 -17
  271. package/src/locales/pt-PT/notifications.json +22 -38
  272. package/src/locales/pt-PT/pages.json +1170 -97
  273. package/src/locales/pt-PT/settings.json +455 -426
  274. package/src/locales/ro-RO/common.json +282 -250
  275. package/src/locales/ro-RO/nav.json +21 -17
  276. package/src/locales/ro-RO/notifications.json +22 -38
  277. package/src/locales/ro-RO/pages.json +1170 -97
  278. package/src/locales/ro-RO/settings.json +455 -426
  279. package/src/locales/ru-RU/common.json +282 -250
  280. package/src/locales/ru-RU/nav.json +21 -17
  281. package/src/locales/ru-RU/notifications.json +22 -38
  282. package/src/locales/ru-RU/pages.json +1170 -97
  283. package/src/locales/ru-RU/settings.json +455 -426
  284. package/src/locales/sr-SP/common.json +282 -250
  285. package/src/locales/sr-SP/nav.json +21 -17
  286. package/src/locales/sr-SP/notifications.json +22 -38
  287. package/src/locales/sr-SP/pages.json +1170 -97
  288. package/src/locales/sr-SP/settings.json +455 -426
  289. package/src/locales/sv-SE/common.json +282 -250
  290. package/src/locales/sv-SE/nav.json +21 -17
  291. package/src/locales/sv-SE/notifications.json +22 -38
  292. package/src/locales/sv-SE/pages.json +1170 -97
  293. package/src/locales/sv-SE/settings.json +455 -426
  294. package/src/locales/tr-TR/common.json +282 -250
  295. package/src/locales/tr-TR/nav.json +21 -17
  296. package/src/locales/tr-TR/notifications.json +22 -38
  297. package/src/locales/tr-TR/pages.json +1170 -97
  298. package/src/locales/tr-TR/settings.json +455 -426
  299. package/src/locales/uk-UA/common.json +282 -250
  300. package/src/locales/uk-UA/nav.json +21 -17
  301. package/src/locales/uk-UA/notifications.json +22 -38
  302. package/src/locales/uk-UA/pages.json +1170 -97
  303. package/src/locales/uk-UA/settings.json +455 -426
  304. package/src/locales/vi-VN/common.json +282 -250
  305. package/src/locales/vi-VN/nav.json +21 -17
  306. package/src/locales/vi-VN/notifications.json +22 -38
  307. package/src/locales/vi-VN/pages.json +1170 -97
  308. package/src/locales/vi-VN/settings.json +455 -426
  309. package/src/locales/zh-CN/common.json +282 -250
  310. package/src/locales/zh-CN/nav.json +21 -17
  311. package/src/locales/zh-CN/notifications.json +22 -38
  312. package/src/locales/zh-CN/pages.json +1170 -97
  313. package/src/locales/zh-CN/settings.json +455 -426
  314. package/src/locales/zh-TW/common.json +282 -250
  315. package/src/locales/zh-TW/nav.json +21 -17
  316. package/src/locales/zh-TW/notifications.json +22 -38
  317. package/src/locales/zh-TW/pages.json +1170 -97
  318. package/src/locales/zh-TW/settings.json +455 -426
@@ -1,475 +1,504 @@
1
1
  {
2
- "title": "Einstellungen",
3
- "tabs": {
4
- "general": "Allgemein",
5
- "servers": "Server",
6
- "notifications": "Benachrichtigungen",
7
- "mobile": "Mobile App",
8
- "tailscale": "Tailscale",
9
- "import": "Importieren",
10
- "advanced": "Erweitert",
11
- "jobs": "Jobs",
12
- "accessControl": "Zugangskontrolle",
13
- "backup": "Backup"
2
+ "accessControl": {
3
+ "allowGuestAccess": "Gastzugang erlauben",
4
+ "allowGuestAccessDesc": "Wenn deaktiviert, kann sich nur der Serverbesitzer bei Tracearr anmelden",
5
+ "description": "Konfigurieren, wer auf Tracearr zugreifen kann",
6
+ "singleOwnerNote": "Hinweis: Wenn der Gastzugang deaktiviert ist, kann sich nur der Serverbesitzer anmelden. Alle anderen Benutzer sehen eine \"Access Denied\"-Nachricht.",
7
+ "title": "Zugangskontrolle"
8
+ },
9
+ "account": {
10
+ "createAccount": "Konto erstellen",
11
+ "createYourAccount": "Konto erstellen, um zu beginnen",
12
+ "displayName": "Anzeigename",
13
+ "email": "E-Mail",
14
+ "password": "Passwort",
15
+ "signInToAccount": "Bei Konto anmelden",
16
+ "useLocalAccount": "Stattdessen lokales Konto verwenden"
17
+ },
18
+ "advanced": {
19
+ "connectionScenarios": "Verbindungsszenarien",
20
+ "externalUrl": "Externe URL",
21
+ "reverseProxy": "Reverse Proxy",
22
+ "title": "Erweiterte Einstellungen",
23
+ "trustProxy": "Proxy-Header vertrauen"
24
+ },
25
+ "backup": {
26
+ "actions": "Aktionen",
27
+ "backToBackups": "Zurück zu Backups",
28
+ "backupHistory": "Backup-Verlauf",
29
+ "createBackup": "Backup erstellen",
30
+ "creating": "Sicherung wird erstellt...",
31
+ "databaseSize": "Aktuelle Datenbankgröße: {{size}}",
32
+ "date": "Datum",
33
+ "dayFri": "Freitag",
34
+ "dayMon": "Montag",
35
+ "daySat": "Samstag",
36
+ "daySun": "Sonntag",
37
+ "dayThu": "Donnerstag",
38
+ "dayTue": "Dienstag",
39
+ "dayWed": "Mittwoch",
40
+ "deleteConfirmDescription": "Sind Sie sicher, dass Sie diese Sicherung löschen möchten? Dies kann nicht rückgängig gemacht werden.",
41
+ "deleteConfirmTitle": "Backup löschen",
42
+ "description": "Sichern und Wiederherstellen Ihrer Tracearr-Daten",
43
+ "filename": "Dateiname",
44
+ "freeSpace": "Sicherungsverzeichnis freien Speicherplatz: {{size}}",
45
+ "lowDiskSpace": "Geringer Speicherplatz — Sicherungen und Wiederherstellen erfordern mindestens das Doppelte der Datenbankgröße im freien Speicherplatz.",
46
+ "noBackups": "Noch keine Sicherungen. Erstellen Sie Ihre erste Sicherung oben.",
47
+ "restore": {
48
+ "automations": "Automations",
49
+ "cannotRestore": "Wiederherstellung erfordert PostgreSQL Superuser-Berechtigungen. Bitte stellen Sie sicher, dass Ihr Datenbankbenutzer über Superuser-Rechte verfügt und versuchen Sie es erneut.",
50
+ "complete": "Wiederherstellung erfolgreich abgeschlossen. Die Seite wird in Kürze aktualisiert.",
51
+ "confirm": "Starte Wiederherstellung",
52
+ "confirmLabel": "Ich verstehe, dass dies alle Daten ersetzen wird",
53
+ "databaseSize": "Datenbankgröße",
54
+ "failed": "Wiederherstellung fehlgeschlagen",
55
+ "libraryItems": "Bibliothekselemente",
56
+ "pgVersionMismatch": "Backup wurde auf PostgreSQL {{backupVersion}} erstellt, aber auf diesem Server läuft PostgreSQL {{serverVersion}}. Wiederherstellung eines Dump von einer neueren PostgreSQL-Version wird nicht unterstützt.",
57
+ "selectedBackup": "Ausgewähltes Backup",
58
+ "servers": "Server",
59
+ "sessions": "Sitzungen",
60
+ "tables": "Tabellen",
61
+ "title": "Backup wiederherstellen",
62
+ "tsVersionMismatch": "Backup wurde mit TimescaleDB {{backupVersion}} erstellt, aber dieser Server unterstützt nur bis zu TimescaleDB {{serverVersion}}.",
63
+ "users": "Benutzer",
64
+ "warning": "Die Wiederherstellung ersetzt alle vorhandenen Daten. Sie müssen sich nach dem Wiederherstellen erneut anmelden."
65
+ },
66
+ "restoreAction": "Wiederherstellen",
67
+ "retentionCount": "Letzter halten",
68
+ "retentionSuffix": "geplante Sicherungen",
69
+ "schedule": "Geplante Sicherungen",
70
+ "scheduleDaily": "Täglich",
71
+ "scheduleDayOfMonth": "Tag des Monats",
72
+ "scheduleDayOfMonthHint": "Bei Monaten mit weniger Tagen läuft die Sicherung am letzten Tag.",
73
+ "scheduleDayOfWeek": "Wochentag",
74
+ "scheduleDisabled": "Deaktiviert",
75
+ "scheduleMonthly": "Monatlich",
76
+ "scheduleTime": "Zeit ({{timezone}})",
77
+ "scheduleType": "Zeitplan",
78
+ "scheduleWeekly": "Wöchentlich",
79
+ "size": "Größe",
80
+ "title": "Backup",
81
+ "toast": {
82
+ "backupCreateFailed": "Fehler beim Erstellen der Sicherung",
83
+ "backupCreated": "Sicherung erfolgreich erstellt",
84
+ "backupDeleteFailed": "Fehler beim Löschen der Sicherung",
85
+ "backupDeleted": "Sicherung gelöscht",
86
+ "backupUploadFailed": "Fehler beim Hochladen der Sicherung",
87
+ "backupUploaded": "Backup erfolgreich hochgeladen",
88
+ "restoreStartFailed": "Fehler beim Starten der Wiederherstellung",
89
+ "restoreStarted": "Wiederherstellung gestartet",
90
+ "scheduleError": "Sicherungsplan konnte nicht gespeichert werden",
91
+ "scheduleSaved": "Sicherungsplan gespeichert"
92
+ },
93
+ "type": "Typ",
94
+ "typeManual": "Manuell",
95
+ "typeScheduled": "Geplant",
96
+ "typeUploaded": "Hochgeladen",
97
+ "uploadBackup": "Sicherung hochladen",
98
+ "uploading": "Hochladen...",
99
+ "version": "Version"
14
100
  },
15
101
  "general": {
16
- "title": "Allgemeine Einstellungen",
17
- "unitSystem": "Einheitensystem",
18
- "metric": "Metrisch (km, km/h)",
19
- "imperial": "Imperial (mi, mph)",
20
- "timezone": "Zeitzone",
21
- "primaryAuth": "Primäre Authentifizierungsmethode",
22
- "localAccount": "Lokales Konto",
23
- "plexAccount": "Plex-Konto",
24
- "language": "Sprache",
25
- "languageDescription": "Wählen Sie Ihre bevorzugte Anzeigesprache.",
26
- "helpTranslate": "Hilf bei der Übersetzung von Tracearr",
27
- "timeFormat": "Zeitformat",
28
- "timeFormatDescription": "Wählen Sie, wie die Uhrzeit angezeigt wird.",
29
- "timeFormat12h": "12-Stunden (1:30 Uhr)",
30
- "timeFormat24h": "24 Stunden (13:30)",
102
+ "accentColor": "Akzentfarbe",
103
+ "apiDocs": "API Docs",
104
+ "apiKeyDesc": "Zugriff auf die Tracearr API für Drittanbieter-Integrationen wie Homarr, Home Assistant, etc.",
105
+ "apiKeyReadAccess": "Ihr API-Schlüssel gewährt vollen Lesezugriff auf Ihre Tracearr-Daten.",
106
+ "apiRateLimit": "API Rate Limit",
107
+ "apiRateLimitDesc": "Maximum public API requests per minute per key. Restart required to apply.",
108
+ "apiRateLimitSuffix": "/min",
31
109
  "appearance": "Erscheinung",
32
110
  "appearanceDesc": "Look and Feel von Tracearr anpassen",
33
- "theme": "Thema",
34
- "accentColor": "Akzentfarbe",
35
- "default": "(Standard)",
36
- "cyanDefault": "* Türkis ist die Standard-Akzentfarbe",
37
- "themeLight": "Hell",
38
- "themeDark": "Dunkel",
39
- "themeSystem": "System",
40
111
  "application": "Anwendung",
41
112
  "applicationDesc": "Grundeinstellungen konfigurieren",
42
- "unitSystemDesc": "Wählen Sie, wie Entfernungen und Geschwindigkeiten angezeigt werden",
43
- "sessionSync": "Session Sync",
44
- "sessionSyncDesc": "Aktiviere Session-Tracking für deine Medienserver",
45
- "syncInterval": "Synchronisierungsintervall",
46
- "syncIntervalDesc": "Abfragefrequenz für Jellyfin/Emby (5-300 Sekunden)",
47
- "syncIntervalSuffix": "s",
48
- "plexSseNote": "Plex verwendet Server-Sent Events (SSE) für nahezu sofortige Updates — keine Umfragen nötig.",
49
- "jellyfinPollingNote": "Jellyfin/Emby werden im obigen Intervall befragt.",
113
+ "copyToClipboard": "In Zwischenablage kopieren",
114
+ "cyanDefault": "* Türkis ist die Standard-Akzentfarbe",
115
+ "default": "(Standard)",
116
+ "detect": "Erkennen",
50
117
  "enhancedGeoIP": "Verbesserte GeoIP-Suche",
51
118
  "enhancedGeoIPDesc": "Verwenden Sie Plex's GeoIP Dienst für genauere Standortdaten. Wenn aktiviert, werden IP-Adressen an plex gesendet. v für die Suchanfrage. Lokale MaxMind-Datenbank wird als Fallback verwendet.",
52
119
  "externalAccess": "Externer Zugriff",
53
120
  "externalAccessDesc": "Konfigurieren, wie sich externe Geräte (wie mobile Apps) mit Ihrem Server verbinden",
54
121
  "externalUrl": "Externe URL",
55
- "externalUrlPlaceholder": "https://tracearr.example.com",
56
122
  "externalUrlDesc": "Die URL, die externe Geräte verwenden sollen, um diesen Server zu erreichen. Wird für QR-Codes und mobile App-Paare verwendet.",
57
- "detect": "Erkennen",
58
- "localhostWarning": "Localhost URLs funktionieren nicht für externe Geräte. Verwenden Sie Ihre LAN-IP oder einen Domain-Namen.",
123
+ "externalUrlPlaceholder": "https://tracearr.example.com",
124
+ "generateApiKeyPrompt": "Generieren Sie einen API-Schlüssel, um externe Integrationen zu aktivieren.",
125
+ "generateKey": "Schlüssel generieren",
126
+ "helpTranslate": "Hilf bei der Übersetzung von Tracearr",
127
+ "imperial": "Imperial (mi, mph)",
59
128
  "iosHttpWarning": "iOS benötigt HTTPS für externe Verbindungen. Richten Sie einen Reverse-Proxy mit SSL ein.",
60
- "apiKeyDesc": "Zugriff auf die Tracearr API für Drittanbieter-Integrationen wie Homarr, Home Assistant, etc.",
61
- "apiDocs": "API Docs",
129
+ "jellyfinPollingNote": "Jellyfin/Emby werden im obigen Intervall befragt.",
130
+ "language": "Sprache",
131
+ "languageDescription": "Wählen Sie Ihre bevorzugte Anzeigesprache.",
132
+ "localAccount": "Lokales Konto",
133
+ "localhostWarning": "Localhost URLs funktionieren nicht für externe Geräte. Verwenden Sie Ihre LAN-IP oder einen Domain-Namen.",
134
+ "metric": "Metrisch (km, km/h)",
62
135
  "noApiKeyGenerated": "Kein API-Schlüssel generiert",
63
- "copyToClipboard": "In Zwischenablage kopieren",
64
- "apiKeyReadAccess": "Ihr API-Schlüssel gewährt vollen Lesezugriff auf Ihre Tracearr-Daten.",
65
- "generateApiKeyPrompt": "Generieren Sie einen API-Schlüssel, um externe Integrationen zu aktivieren.",
136
+ "plexAccount": "Plex-Konto",
137
+ "plexSseNote": "Plex verwendet Server-Sent Events (SSE) für nahezu sofortige Updates — keine Umfragen nötig.",
138
+ "primaryAuth": "Primäre Authentifizierungsmethode",
139
+ "publicApiSettings": "Public API",
140
+ "publicApiSettingsDesc": "Configure watch-completion thresholds and request limits for the public API",
66
141
  "regenerate": "Regenerieren",
67
- "generateKey": "Schlüssel generieren",
68
142
  "regenerateApiKey": "API-Schlüssel neu generieren?",
69
143
  "regenerateApiKeyDesc": "Dies wird Ihren aktuellen API-Schlüssel ungültig machen. Jede Integration, die den alten Schlüssel verwendet, wird nicht mehr funktionieren.",
70
- "publicApiSettings": "Public API",
71
- "publicApiSettingsDesc": "Configure watch-completion thresholds and request limits for the public API",
144
+ "sessionSync": "Session Sync",
145
+ "sessionSyncDesc": "Aktiviere Session-Tracking für deine Medienserver",
146
+ "syncInterval": "Synchronisierungsintervall",
147
+ "syncIntervalDesc": "Abfragefrequenz für Jellyfin/Emby (5-300 Sekunden)",
148
+ "syncIntervalSuffix": "s",
149
+ "theme": "Thema",
150
+ "themeDark": "Dunkel",
151
+ "themeLight": "Hell",
152
+ "themeSystem": "System",
153
+ "timeFormat": "Zeitformat",
154
+ "timeFormat12h": "12-Stunden (1:30 Uhr)",
155
+ "timeFormat24h": "24 Stunden (13:30)",
156
+ "timeFormatDescription": "Wählen Sie, wie die Uhrzeit angezeigt wird.",
157
+ "timezone": "Zeitzone",
158
+ "title": "Allgemeine Einstellungen",
159
+ "unitSystem": "Einheitensystem",
160
+ "unitSystemDesc": "Wählen Sie, wie Entfernungen und Geschwindigkeiten angezeigt werden",
161
+ "updateChecks": {
162
+ "description": "Tracearr looks for new releases every six hours. Notifications come from whatever automation listens for the update triggers.",
163
+ "plugin": "Realtime plugin",
164
+ "pluginDesc": "Check for new releases of the Tracearr plugin your Jellyfin and Emby servers stream events through.",
165
+ "server": "Media servers",
166
+ "serverDesc": "Compare what each Plex, Jellyfin and Emby server runs with the newest release its makers publish.",
167
+ "title": "Update checks"
168
+ },
169
+ "imageCache": {
170
+ "title": "Poster cache",
171
+ "description": "One copy of each poster, kept on disk until the poster changes. Nothing here is evicted to make room; when the disk runs low the cache stops growing and says so.",
172
+ "size": "On disk",
173
+ "files": "Files",
174
+ "need": "Estimated need",
175
+ "needHint": "{{count}} posters × 18 KB",
176
+ "free": "Free disk",
177
+ "freeOf": "of {{total}}",
178
+ "floor": "Keeps free",
179
+ "ceiling": "Ceiling",
180
+ "lastSweep": "Last sweep",
181
+ "never": "not yet",
182
+ "diskLimited": "Disk-limited since {{since}}: about {{shortfall}} of posters are not cached.",
183
+ "loadError": "Could not load the cache status."
184
+ },
72
185
  "watchedThresholdMovie": "Movie Watched Threshold",
73
186
  "watchedThresholdMovieDesc": "Percentage of a movie that must be watched before it's marked complete",
74
- "watchedThresholdTv": "TV Episode Watched Threshold",
75
- "watchedThresholdTvDesc": "Percentage of an episode that must be watched before it's marked complete",
76
187
  "watchedThresholdMusic": "Track Watched Threshold",
77
188
  "watchedThresholdMusicDesc": "Percentage of a track that must be played before it's marked complete",
78
189
  "watchedThresholdSuffix": "%",
79
- "apiRateLimit": "API Rate Limit",
80
- "apiRateLimitDesc": "Maximum public API requests per minute per key. Restart required to apply.",
81
- "apiRateLimitSuffix": "/min"
82
- },
83
- "servers": {
84
- "title": "Verbundene Server",
85
- "addServer": "Server hinzufügen",
86
- "serverName": "Servername",
87
- "serverUrl": "Server-URL",
88
- "syncInterval": "Synchronisierungsintervall",
89
- "testConnection": "Verbindung testen",
90
- "connectionSuccess": "Verbindung erfolgreich",
91
- "connectionFailed": "Verbindung fehlgeschlagen",
92
- "noServersConnected": "Keine Server verbunden",
93
- "noServersConnectedHint": "Klicken Sie auf \"Server hinzufügen\", um einen Jellyfin oder Emby Server zu verbinden",
94
- "serverType": "Servertyp",
95
- "loadingAccounts": "Verknüpfte Plex-Konten werden geladen...",
96
- "noPlexAccountsLinked": "Keine Plex-Konten verknüpft",
97
- "noPlexAccountsLinkedHint": "Verbinden Sie oben ein Plex-Konto und kommen Sie dann wieder zu einem Server.",
98
- "selectPlexAccount": "Plex Konto auswählen",
99
- "chooseAccount": "Wähle ein Konto...",
100
- "selectAccountHelp": "Wählen Sie aus, von welchem Plex Konto Sie Server entdecken möchten.",
101
- "allServersConnected": "Alle Server verbunden",
102
- "allServersConnectedDesc": "Alle Server dieses Kontos sind bereits verbunden.",
103
- "serverUrlPlaceholder": "http://192.168.1.100:8096",
104
- "serverUrlHelp": "Direkte URL zu Ihrem Jellyfin oder Emby Server. Verwenden Sie IP:port für beste Zuverlässigkeit.",
105
- "serverNamePlaceholder": "Mein Medienserver",
106
- "apiKeyPlaceholder": "API-Schlüssel eingeben",
107
- "apiKeyHelp": "Gefunden im Dashboard Ihres Medienservers unter API-Keys oder Erweiterten Einstellungen.",
108
- "connecting": "Verbinden...",
109
- "connectServer": "Server verbinden",
110
- "removeServer": "Server entfernen",
111
- "removeServerConfirm": "Sind Sie sicher, dass Sie diesen Server entfernen möchten? Alle zugehörigen Sitzungsdaten werden gespeichert, aber Sie können keine neuen Sitzungen von diesem Server aus überwachen.",
112
- "editServer": "Server bearbeiten",
113
- "editServerDesc": "Servername oder Verbindungs-URL aktualisieren.",
114
- "serverColor": "Serverfarbe",
115
- "serverColorDesc": "Wird für die visuelle Zuordnung in der Mehrserver-Ansicht verwendet",
116
- "updating": "Aktualisiere...",
117
- "allFieldsRequired": "Alle Felder sind erforderlich",
118
- "addServerDialogDescPlex": "Wählen Sie einen Plex Server aus Ihrem verknüpften Konto.",
119
- "addServerDialogDescOther": "Verbinden Sie einen Jellyfin oder Emby Server.",
120
- "description": "Verwalten Sie Ihre verbundenen Plex, Jellyfin, und Emby Server",
121
- "discoveringServers": "Entdecke verfügbare Plex Servern...",
122
- "discoveringConnections": "Verbindungen entdecken...",
123
- "plexAccount": "Plex-Konto",
124
- "serverUrlHelpJellyfin": "Die URL, auf die Ihr Jellyfin-Server zugreifen kann",
125
- "serverUrlHelpEmby": "Die URL, auf die Ihr Emby-Server zugreifen kann",
126
- "apiKeyHelpJellyfin": "Finden Sie dies in Jellyfin Dashboard → API-Tasten",
127
- "apiKeyHelpEmby": "Finden Sie dies in Emby Server → API-Schlüssel",
128
- "plexServerPlaceholder": "Mein Plex Server",
129
- "plexServerUrlPlaceholder": "http://192.168.1.100:32400",
130
- "updateHint": "Oder klicken Sie unten auf Aktualisieren, um nur die Namensänderung zu speichern.",
131
- "added": "{{date}} hinzugefügt",
132
- "realtimeActive": "Real-time updates active",
133
- "pollingMode": "Polling",
134
- "setupRealtime": "Set up real-time updates",
135
- "realtimeError": "Real-time error",
136
- "checkingConnection": "Checking connection…",
137
- "pluginVersion": "plugin v{{version}}",
138
- "pluginUpdateAvailable": "Plugin update available",
139
- "realtimeDialog": {
140
- "title": "Enable real-time updates",
141
- "updateTitle": "Update the Tracearr SSE plugin",
142
- "jellyfinDescription": "Install the Tracearr SSE plugin to get instant session updates without waiting for the next poll.",
143
- "embyDescription": "Install the Tracearr SSE plugin to get instant session updates without waiting for the next poll.",
144
- "jellyfinUpdateDescription": "A newer plugin release is available. Open your Jellyfin dashboard, go to Plugins, Catalog, and update Tracearr SSE, then restart Jellyfin.",
145
- "embyUpdateDescription": "A newer plugin release is available. Download the latest release zip, replace the plugin DLL in your Emby plugins folder, and restart Emby.",
146
- "repositoryUrl": "Repository URL",
147
- "copyUrl": "Copy URL",
148
- "jellyfinRepoUrl": "https://raw.githubusercontent.com/Tracearr/Media-Server-SSE/main/manifest.json",
149
- "embyReleasesUrl": "https://github.com/Tracearr/Media-Server-SSE/releases",
150
- "openReleases": "Open releases page",
151
- "autoDetectNote": "Restart Jellyfin or Emby after installing the plugin; the restart is required. Tracearr itself needs no restart and picks the plugin up automatically.",
152
- "close": "Close",
153
- "issueBlocked": "The server reports the plugin as installed and active, but Tracearr gets a 404 from its endpoint. A reverse proxy blocking the path is the usual cause.",
154
- "issueRestartRequired": "The plugin is installed, but the media server needs a restart before it activates.",
155
- "issueMalfunctioned": "The server reports the plugin failed to load. Updating the plugin or the media server usually clears this."
156
- },
157
- "posterSource": {
158
- "title": "Poster Preferences",
159
- "titleDesc": "Choose which server's poster is shown when a title exists on more than one server",
160
- "label": "Preferred Poster Source",
161
- "description": "When a title is on more than one server, use this server's poster. If it doesn't have one, we'll fall back to the most recently added copy.",
162
- "automatic": "Automatic (most recent)",
163
- "emptyHint": "Add a server to choose a preferred poster source."
164
- }
165
- },
166
- "mobile": {
167
- "title": "Mobile App",
168
- "pairDevice": "Gerät koppeln",
169
- "connectedDevices": "Verbundene Geräte",
170
- "generateToken": "Pairing-Token generieren",
171
- "scanQrCode": "QR-Code scannen",
172
- "tokenExpires": "Token läuft in {{time}} ab",
173
- "noDevices": "Keine Geräte verbunden",
174
- "revokeAll": "Alle Sitzungen widerrufen",
175
- "getTheApp": "Lade die App",
176
- "getTheAppDesc": "Laden Sie die Tracearr mobile App für iOS oder Android herunter",
177
- "getOnGooglePlay": "Holen Sie es bei Google Play",
178
- "downloadOnAppStore": "Im App Store herunterladen",
179
- "pairYourDevice": "Gerät koppeln",
180
- "pairYourDeviceDesc": "Scannen Sie den QR-Code mit der Tracearr App, um diesen Server zu verbinden.",
181
- "externalUrlRequired": "Eine externe URL muss in den allgemeinen Einstellungen konfiguriert werden, damit mobile Paare funktionieren können.",
182
- "mobileAccessDisabled": "Mobiler Zugriff deaktiviert",
183
- "mobileAccessDisabledDesc": "Mobiler Zugriff aktivieren, damit die Tracearr Mobile App sich mit Ihrem Server verbinden kann.",
184
- "enableMobileAccess": "Mobiler Zugriff aktivieren",
185
- "enabling": "Aktivieren...",
186
- "devicesConnected": "{{current}} von {{max}} Geräten verbunden",
187
- "pendingTokens": "{{count}} ausstehende Paar Token",
188
- "addDevice": "Gerät hinzufügen",
189
- "disableMobileAccess": "Mobilzugriff deaktivieren",
190
- "connectedDevicesDesc": "{{count}} Geräte gepaart mit Ihrem Server",
191
- "revokeAllSessions": "Alle widerrufen",
192
- "pairNewDevice": "Neues Gerät verbinden",
193
- "pairNewDeviceDesc": "Scannen Sie den QR-Code mit der Tracearr Mobile App oder geben Sie das Token manuell ein.",
194
- "expiresIn": "Läuft ab in {{time}}",
195
- "oneTimePairToken": "Einmaliges Paar-Token",
196
- "copyToken": "Token kopieren",
197
- "tokenExpiryNote": "Dieses Token läuft in 5 Minuten ab und kann nur einmal verwendet werden.",
198
- "done": "Fertig",
199
- "disableMobileAccessConfirm": "Dadurch werden alle mobilen Geräte getrennt und alle Sitzungen widerrufen. Sie können den mobilen Zugriff später wieder aktivieren.",
200
- "disable": "Deaktivieren",
201
- "revokeAllConfirm": "Dadurch werden alle mobilen Geräte getrennt. Sie müssen erneut paaren, um sich neu zu verbinden.",
202
- "renameDevice": "Gerät umbenennen",
203
- "renameDeviceDesc": "Geben Sie einen Namen ein, um dieses Gerät in der Liste zu identifizieren.",
204
- "deviceName": "Gerätename",
205
- "deviceNamePlaceholder": "z.B. iPhone 15",
206
- "removeDevice": "Gerät entfernen",
207
- "failedToGenerateToken": "Fehler beim Generieren des Token",
208
- "removeDeviceConfirm": "Sind Sie sicher, dass Sie {{deviceName}}entfernen möchten? Dieses Gerät muss erneut paaren, um sich neu zu verbinden.",
209
- "externalUrlBanner": "Reverse-Proxy oder Fernzugriff verwenden? Setze deinen",
210
- "externalUrlBannerLink": "Externe URL",
211
- "externalUrlBannerSuffix": "damit sich die mobile App mit Ihrem Server verbinden kann."
212
- },
213
- "tailscale": {
214
- "title": "Tailscale VPN",
215
- "description": "Greifen Sie ohne Port-Weiterleitung auf Tracearr sicher über Ihr Tailscale Netzwerk zu.",
216
- "notAvailable": "Tailscale-Binärdatei nicht gefunden. Diese Funktion ist nur verfügbar, wenn das offizielle Docker-Image ausgeführt wird.",
217
- "disabledDescription": "Aktivieren Sie die Tailscale, um Tracearr in Ihr privates tailnet zu intrigieren. Keine Portweiterleitung oder Reverse Proxy erforderlich.",
218
- "hostnameLabel": "Hostname des Gerätes",
219
- "hostnameHint": "Optionaler benutzerdefinierter Name für dieses Gerät in Ihrem tailnet. Nur Buchstaben, Zahlen und Bindestriche.",
220
- "enable": "Tailscale aktivieren",
221
- "disable": "Tailscale deaktivieren",
222
- "starting": "Tailscale starten...",
223
- "stopping": "Tailscale stoppen.. ",
224
- "awaitingAuth": "Warte auf Authorisierung...",
225
- "authorize": "Autorisieren in Tailscale",
226
- "connected": "Tailscale ist verbunden. Ihre Tracearr Instanz ist im tailnet verfügbar.",
227
- "hostname": "Hostname",
228
- "dnsName": "DNS-Name",
229
- "tailnetUrl": "URL",
230
- "showLogs": "Protokolle anzeigen",
231
- "hideLogs": "Protokolle ausblenden",
232
- "noLogs": "Keine Protokollausgabe verfügbar.",
233
- "exitNodeNone": "Keine Auswahl",
234
- "exitNodeOffline": "(offline)",
235
- "unknownError": "Ein unbekannter Fehler ist aufgetreten.",
236
- "disableConfirmTitle": "Tailscale deaktivieren?",
237
- "disableConfirmDescription": "Dadurch wird Tracearr von Ihrem tailnet getrennt. Sie können ohne erneutes Autorisieren wieder aktivieren.",
238
- "resetConfirmTitle": "Reset Tailscale?",
239
- "resetConfirmDescription": "Dies trennt Tracearr von Ihrem tailnet und entfernt die Geräteidentität. Wenn Sie es erneut aktivieren, müssen Sie erneut autorisieren.",
240
- "toast": {
241
- "disabled": "Tailscale wurde deaktiviert.",
242
- "enableFailed": "Fehler beim Aktivieren von Tailscale",
243
- "disableFailed": "Fehler beim Deaktivieren von Tailscale",
244
- "reset": "Tailscale wurde zurückgesetzt.",
245
- "resetFailed": "Fehler beim Zurücksetzen der Tailscale",
246
- "exitNodeSet": "Exit Node aktualisiert.",
247
- "exitNodeFailed": "Fehler beim Setzen der Exit Node"
248
- }
249
- },
250
- "jobs": {
251
- "title": "Wartungsarbeiten",
252
- "description": "Verwalten Sie Hintergrund-Aufgaben, die Ihre Daten genau und optimieren.",
253
- "normalization": "Normalisierung",
254
- "backfill": "Backfill",
255
- "cleanup": "Bereinigen",
256
- "running": "läuft",
257
- "queued": "in der Warteschlange",
258
- "delayed": "verzögert",
259
- "waiting": "Warten",
260
- "runningState": "Laufend",
261
- "runJob": "Job ausführen",
262
- "processed": "verarbeitet",
263
- "updated": "aktualisiert",
264
- "unchanged": "unverändert",
265
- "errors": "fehler",
266
- "lastJobCompleted": "Letzter Job erfolgreich abgeschlossen",
267
- "lastJobFailed": "Letzter Job fehlgeschlagen",
268
- "jobHistory": "Aufgabenhistorie",
269
- "jobHistoryDesc": "Letzte Wartungsaufträge",
270
- "runConfirm": "{{name}} ausführen?",
271
- "mayTakeAWhile": "Dies kann eine Weile dauern",
272
- "mayTakeAWhileDesc": "Dieser Job kann je nach Größe Ihrer Bibliothek einige Minuten dauern.",
273
- "startJob": "Job starten"
274
- },
275
- "advanced": {
276
- "title": "Erweiterte Einstellungen",
277
- "externalUrl": "Externe URL",
278
- "trustProxy": "Proxy-Header vertrauen",
279
- "reverseProxy": "Reverse Proxy",
280
- "connectionScenarios": "Verbindungsszenarien"
281
- },
282
- "accessControl": {
283
- "title": "Zugangskontrolle",
284
- "description": "Konfigurieren, wer auf Tracearr zugreifen kann",
285
- "allowGuestAccess": "Gastzugang erlauben",
286
- "allowGuestAccessDesc": "Wenn deaktiviert, kann sich nur der Serverbesitzer bei Tracearr anmelden",
287
- "singleOwnerNote": "Hinweis: Wenn der Gastzugang deaktiviert ist, kann sich nur der Serverbesitzer anmelden. Alle anderen Benutzer sehen eine \"Access Denied\"-Nachricht."
190
+ "watchedThresholdTv": "TV Episode Watched Threshold",
191
+ "watchedThresholdTvDesc": "Percentage of an episode that must be watched before it's marked complete"
288
192
  },
289
193
  "import": {
290
- "title": "Daten importieren",
291
- "jellystat": "Aus Jellystat importieren",
292
- "tautulli": "Aus Tautulli importieren",
293
- "importProgress": "Importfortschritt",
194
+ "apiKeyHelp": "Gefunden in Tautulli Einstellungen → Web-Interface → API Key.",
195
+ "apiKeyPlaceholder": "Ihr Tautulli API-Schlüssel",
196
+ "checkPlugin": "Check Plugin",
197
+ "checkingPlugin": "Checking...",
198
+ "connectToTautulli": "Mit Tautulli verbinden",
199
+ "connectedFound": "Verbunden! {{users}} Benutzer und {{records}} Verlaufsdaten.",
200
+ "duplicates": "{{count}} duplicates skipped",
201
+ "enrichMetadata": "Mit Medien-Metadaten bereichern (empfohlen)",
202
+ "enrichMetadataHelp": "Ruft zusätzliche Metadaten von Ihrem Medienserver für importierte Sitzungen ab.",
203
+ "enriched": "Angereichert",
204
+ "errors": "Fehler",
205
+ "exportBackupHelp": "Gehen Sie in Jellystat auf Einstellungen → Backup → Aktivitätssicherung um Ihre Daten zu exportieren.",
206
+ "exportBackupHint": "Aktivitätssicherung von Jellystat exportieren",
207
+ "howItWorks": "Wie der Import funktioniert",
208
+ "howItWorksDesc": "Tracearr importiert alle historischen Beobachtungsdaten aus Ihrer Quelle. Dies kann eine Weile dauern, je nach Größe Ihrer Bibliothek.",
294
209
  "importComplete": "Import abgeschlossen",
295
210
  "importFailed": "Import fehlgeschlagen",
296
- "processed": "Verarbeitet",
297
- "page": "Seite",
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": "Importverlauf",
214
+ "importHistoryDesc": "Importiere historische Beobachtungsdaten aus externen Quellen",
215
+ "importInProgressGeneric": "Import läuft...",
216
+ "importInProgressPercent": "Import im Gange ({{percent}}% vollständig)...",
217
+ "importOptions": "Import-Optionen",
218
+ "importProgress": "Importfortschritt",
298
219
  "imported": "Importiert",
299
- "skipped": "Übersprungen",
300
- "enriched": "Angereichert",
301
- "errors": "Fehler",
220
+ "importing": "Importieren...",
221
+ "includeStreamDetails": "Detaillierte Streamdaten (Codecs, Bitrate, Auflösung) einschließen",
222
+ "includeStreamDetailsHelp": "Importiert zusätzliche Streaminformationen. Kann die Importzeit erheblich erhöhen.",
223
+ "jellyfinEmby": "Jellyfin/Emby (Jellystat)",
224
+ "jellystat": "Aus Jellystat importieren",
302
225
  "noServers": "Keine Server verbunden",
303
226
  "noServersHint": "Sie benötigen mindestens einen verbundenen Server, um Daten zu importieren.",
304
- "tautulliUrl": "Tautulli URL",
305
- "tautulliUrlPlaceholder": "http://localhost:8181",
306
- "tautulliUrlHelp": "Die URL Ihrer Tautulli Instanz.",
307
- "apiKeyHelp": "Gefunden in Tautulli Einstellungen → Web-Interface → API Key.",
308
- "testing": "Teste...",
309
- "connectToTautulli": "Mit Tautulli verbinden",
310
- "importHistory": "Importverlauf",
311
- "targetServer": "Target Server",
312
- "selectPlexServer": "Plex Server auswählen",
227
+ "overlapSkipped": "{{count}} skipped as overlap",
313
228
  "overwriteFriendlyNames": "Überschreibe existierende Namen mit Tautulli Namen",
314
229
  "overwriteFriendlyNamesHelp": "Vorhandene Identitätsnamen in Tracearr werden durch die freundlichen Namen von Tautulli ersetzt.",
315
- "includeStreamDetails": "Detaillierte Streamdaten (Codecs, Bitrate, Auflösung) einschließen",
316
- "includeStreamDetailsHelp": "Importiert zusätzliche Streaminformationen. Kann die Importzeit erheblich erhöhen.",
317
- "importing": "Importieren...",
318
- "startImport": "Import starten",
319
- "howItWorks": "Wie der Import funktioniert",
320
- "howItWorksDesc": "Tracearr importiert alle historischen Beobachtungsdaten aus Ihrer Quelle. Dies kann eine Weile dauern, je nach Größe Ihrer Bibliothek.",
321
- "recordsMayBeSkipped": "Datensätze können übersprungen werden, wenn:",
322
- "selectTargetServer": "Zielserver auswählen",
323
- "selectJellyfinServer": "Jellyfin oder Emby Server auswählen",
324
- "uploadJellystatBackup": "Jellystat Backup hochladen",
325
- "exportBackupHint": "Aktivitätssicherung von Jellystat exportieren",
326
- "exportBackupHelp": "Gehen Sie in Jellystat auf Einstellungen → Backup → Aktivitätssicherung um Ihre Daten zu exportieren.",
327
- "importOptions": "Import-Optionen",
328
- "enrichMetadata": "Mit Medien-Metadaten bereichern (empfohlen)",
329
- "enrichMetadataHelp": "Ruft zusätzliche Metadaten von Ihrem Medienserver für importierte Sitzungen ab.",
330
- "updateExistingRecords": "Aktualisiere vorhandene Datensätze mit Stream-Details",
331
- "updateExistingRecordsHelp": "Früher importierte Datensätze werden mit Stream-Qualitätsdaten aktualisiert.",
230
+ "page": "Seite",
231
+ "playbackReporting": "Playback Reporting Plugin",
232
+ "playbackReportingDesc": "Import history directly from the Playback Reporting plugin installed on your Jellyfin or Emby server. No file export needed.",
332
233
  "pleaseEnterDetails": "Bitte geben Sie Tautulli URL und API-Schlüssel ein",
333
- "testingConnection": "Teste Verbindung...",
334
234
  "pleaseSelectJsonFile": "Bitte wählen Sie eine JSON-Datei",
335
- "uploadingBackup": "Backup-Datei wird hochgeladen...",
336
- "importHistoryDesc": "Importiere historische Beobachtungsdaten aus externen Quellen",
337
235
  "plex": "Plex (Tautulli)",
338
- "jellyfinEmby": "Jellyfin/Emby (Jellystat)",
339
- "step1": "1",
340
- "step2": "2",
341
- "apiKeyPlaceholder": "Ihr Tautulli API-Schlüssel",
342
- "skipUserNotFoundPlex": "Benutzer nicht gefunden — Der Plex Benutzer existiert nicht in Tracearr. Synchronisieren Sie Ihren Server zuerst, um alle Benutzer hinzuzufügen.",
343
- "skipDuplicate": "Sitzung duplizieren — Die Sitzung wurde bereits importiert.",
344
- "skipInProgress": "In-progress Session — Aktive/unvollständige Sitzungen ohne Referenz-ID werden übersprungen.",
345
- "skipUserNotFoundJellyfin": "Benutzer nicht gefunden — Der Jellyfin/Emby Benutzer existiert nicht in Tracearr. Synchronisieren Sie Ihren Server zuerst, um alle Benutzer hinzuzufügen.",
346
- "skipSyncHint": "Wenn viele Datensätze übersprungen werden, stellen Sie sicher, dass Sie Ihren Server kürzlich unter Einstellungen → Server synchronisiert haben.",
347
- "importInProgressPercent": "Import im Gange ({{percent}}% vollständig)...",
348
- "importInProgressGeneric": "Import läuft...",
349
- "startingImport": "Import wird gestartet...",
350
- "connectedFound": "Verbunden! {{users}} Benutzer und {{records}} Verlaufsdaten.",
351
- "playbackReporting": "Playback Reporting Plugin",
352
- "playbackReportingDesc": "Import history directly from the Playback Reporting plugin installed on your Jellyfin or Emby server. No file export needed.",
353
- "checkPlugin": "Check Plugin",
354
- "checkingPlugin": "Checking...",
355
236
  "pluginFound": "Plugin found: {{records}} records from {{oldestDate}} to {{newestDate}}",
356
237
  "pluginNotInstalled": "The Playback Reporting plugin is not installed on this server, or Tracearr cannot reach it. Install it from the server's plugin catalog to start recording history, or use the Jellystat import below.",
238
+ "processed": "Verarbeitet",
239
+ "recordsMayBeSkipped": "Datensätze können übersprungen werden, wenn:",
240
+ "selectJellyfinServer": "Jellyfin oder Emby Server auswählen",
241
+ "selectPlexServer": "Plex Server auswählen",
242
+ "selectTargetServer": "Zielserver auswählen",
357
243
  "serverTimezone": "Server Timezone",
358
244
  "serverTimezoneHelp": "Must match the timezone configured on your media server host, not your browser's timezone. Playback Reporting timestamps are stored in local server time.",
359
- "importFullRange": "Import full history",
360
- "importFullRangeHelp": "By default only history older than Tracearr's earliest tracked session for this server is imported, so sessions Tracearr already recorded are never duplicated. Enable this to import the plugin's entire history regardless of overlap, if your Tracearr history has gaps. Exact duplicates are still skipped.",
361
- "overlapSkipped": "{{count}} skipped as overlap",
362
- "duplicates": "{{count}} duplicates skipped",
245
+ "skipDuplicate": "Sitzung duplizieren — Die Sitzung wurde bereits importiert.",
246
+ "skipDuplicatePlugin": "Duplicate record - already imported directly or arrived earlier via a Jellystat import of the same plugin data.",
247
+ "skipInProgress": "In-progress Session — Aktive/unvollständige Sitzungen ohne Referenz-ID werden übersprungen.",
363
248
  "skipOverlap": "Overlapping record - the timestamp falls inside the period Tracearr already tracks for this server. Enable full-range import to include it.",
364
- "skipDuplicatePlugin": "Duplicate record - already imported directly or arrived earlier via a Jellystat import of the same plugin data."
365
- },
366
- "plex": {
367
- "signInWithPlex": "Mit Plex anmelden",
368
- "signUpWithPlex": "Mit Plex registrieren",
369
- "selectServer": "Server auswählen",
370
- "chooseServer": "Wähle aus, welcher Plex Media Server überwacht werden soll"
249
+ "skipSyncHint": "Wenn viele Datensätze übersprungen werden, stellen Sie sicher, dass Sie Ihren Server kürzlich unter Einstellungen → Server synchronisiert haben.",
250
+ "skipUserNotFoundJellyfin": "Benutzer nicht gefunden — Der Jellyfin/Emby Benutzer existiert nicht in Tracearr. Synchronisieren Sie Ihren Server zuerst, um alle Benutzer hinzuzufügen.",
251
+ "skipUserNotFoundPlex": "Benutzer nicht gefunden — Der Plex Benutzer existiert nicht in Tracearr. Synchronisieren Sie Ihren Server zuerst, um alle Benutzer hinzuzufügen.",
252
+ "skipped": "Übersprungen",
253
+ "startImport": "Import starten",
254
+ "startingImport": "Import wird gestartet...",
255
+ "step1": "1",
256
+ "step2": "2",
257
+ "targetServer": "Target Server",
258
+ "tautulli": "Aus Tautulli importieren",
259
+ "tautulliUrl": "Tautulli URL",
260
+ "tautulliUrlHelp": "Die URL Ihrer Tautulli Instanz.",
261
+ "tautulliUrlPlaceholder": "http://localhost:8181",
262
+ "testing": "Teste...",
263
+ "testingConnection": "Teste Verbindung...",
264
+ "title": "Daten importieren",
265
+ "updateExistingRecords": "Aktualisiere vorhandene Datensätze mit Stream-Details",
266
+ "updateExistingRecordsHelp": "Früher importierte Datensätze werden mit Stream-Qualitätsdaten aktualisiert.",
267
+ "uploadJellystatBackup": "Jellystat Backup hochladen",
268
+ "uploadingBackup": "Backup-Datei wird hochgeladen..."
371
269
  },
372
- "account": {
373
- "createAccount": "Konto erstellen",
374
- "email": "E-Mail",
375
- "password": "Passwort",
376
- "displayName": "Anzeigename",
377
- "createYourAccount": "Konto erstellen, um zu beginnen",
378
- "signInToAccount": "Bei Konto anmelden",
379
- "useLocalAccount": "Stattdessen lokales Konto verwenden"
270
+ "ipWarning": {
271
+ "acknowledge": "Verstanden",
272
+ "message": "Alle Benutzer scheinen dieselbe IP-Adresse oder dieselben lokalen Netzwerk-IPs zu verwenden. Dies kann Auswirkungen auf die regelbasierte Logik für Standort oder IP-Adressen haben."
380
273
  },
381
- "update": {
382
- "title": "Update verfügbar",
383
- "releaseNotes": "Release Notes",
384
- "updateCommand": "Befehl aktualisieren",
385
- "pullInstructions": "Starten Sie nach dem laden Ihren Container neu, um das Update anzuwenden.",
386
- "stableRelease": "Stable Release",
387
- "betaUpdate": "Beta Update",
388
- "newVersion": "Neue Version",
389
- "versionAvailable": "{{version}} verfügabr"
274
+ "jobs": {
275
+ "backfill": "Backfill",
276
+ "cleanup": "Bereinigen",
277
+ "delayed": "verzögert",
278
+ "description": "Verwalten Sie Hintergrund-Aufgaben, die Ihre Daten genau und optimieren.",
279
+ "errors": "fehler",
280
+ "jobHistory": "Aufgabenhistorie",
281
+ "jobHistoryDesc": "Letzte Wartungsaufträge",
282
+ "lastJobCompleted": "Letzter Job erfolgreich abgeschlossen",
283
+ "lastJobFailed": "Letzter Job fehlgeschlagen",
284
+ "mayTakeAWhile": "Dies kann eine Weile dauern",
285
+ "mayTakeAWhileDesc": "Dieser Job kann je nach Größe Ihrer Bibliothek einige Minuten dauern.",
286
+ "normalization": "Normalisierung",
287
+ "processed": "verarbeitet",
288
+ "queued": "in der Warteschlange",
289
+ "runConfirm": "{{name}} ausführen?",
290
+ "runJob": "Job ausführen",
291
+ "running": "läuft",
292
+ "runningState": "Laufend",
293
+ "startJob": "Job starten",
294
+ "title": "Wartungsarbeiten",
295
+ "unchanged": "unverändert",
296
+ "updated": "aktualisiert",
297
+ "waiting": "Warten"
390
298
  },
391
- "serverHealth": {
392
- "unreachable": "{{serverName}} ist unerreichbar",
393
- "multipleUnreachable": "{{count}} Server nicht erreichbar {{serverNames}}"
299
+ "mobile": {
300
+ "addDevice": "Gerät hinzufügen",
301
+ "connectedDevices": "Verbundene Geräte",
302
+ "connectedDevicesDesc": "{{count}} Geräte gepaart mit Ihrem Server",
303
+ "copyToken": "Token kopieren",
304
+ "deviceName": "Gerätename",
305
+ "deviceNamePlaceholder": "z.B. iPhone 15",
306
+ "devicesConnected": "{{current}} von {{max}} Geräten verbunden",
307
+ "disable": "Deaktivieren",
308
+ "disableMobileAccess": "Mobilzugriff deaktivieren",
309
+ "disableMobileAccessConfirm": "Dadurch werden alle mobilen Geräte getrennt und alle Sitzungen widerrufen. Sie können den mobilen Zugriff später wieder aktivieren.",
310
+ "done": "Fertig",
311
+ "downloadOnAppStore": "Im App Store herunterladen",
312
+ "enableMobileAccess": "Mobiler Zugriff aktivieren",
313
+ "enabling": "Aktivieren...",
314
+ "expiresIn": "Läuft ab in {{time}}",
315
+ "externalUrlBanner": "Reverse-Proxy oder Fernzugriff verwenden? Setze deinen",
316
+ "externalUrlBannerLink": "Externe URL",
317
+ "externalUrlBannerSuffix": "damit sich die mobile App mit Ihrem Server verbinden kann.",
318
+ "externalUrlRequired": "Eine externe URL muss in den allgemeinen Einstellungen konfiguriert werden, damit mobile Paare funktionieren können.",
319
+ "failedToGenerateToken": "Fehler beim Generieren des Token",
320
+ "generateToken": "Pairing-Token generieren",
321
+ "getOnGooglePlay": "Holen Sie es bei Google Play",
322
+ "getTheApp": "Lade die App",
323
+ "getTheAppDesc": "Laden Sie die Tracearr mobile App für iOS oder Android herunter",
324
+ "mobileAccessDisabled": "Mobiler Zugriff deaktiviert",
325
+ "mobileAccessDisabledDesc": "Mobiler Zugriff aktivieren, damit die Tracearr Mobile App sich mit Ihrem Server verbinden kann.",
326
+ "noDevices": "Keine Geräte verbunden",
327
+ "oneTimePairToken": "Einmaliges Paar-Token",
328
+ "pairDevice": "Gerät koppeln",
329
+ "pairNewDevice": "Neues Gerät verbinden",
330
+ "pairNewDeviceDesc": "Scannen Sie den QR-Code mit der Tracearr Mobile App oder geben Sie das Token manuell ein.",
331
+ "pairYourDevice": "Gerät koppeln",
332
+ "pairYourDeviceDesc": "Scannen Sie den QR-Code mit der Tracearr App, um diesen Server zu verbinden.",
333
+ "pendingTokens": "{{count}} ausstehende Paar Token",
334
+ "removeDevice": "Gerät entfernen",
335
+ "removeDeviceConfirm": "Sind Sie sicher, dass Sie {{deviceName}}entfernen möchten? Dieses Gerät muss erneut paaren, um sich neu zu verbinden.",
336
+ "renameDevice": "Gerät umbenennen",
337
+ "renameDeviceDesc": "Geben Sie einen Namen ein, um dieses Gerät in der Liste zu identifizieren.",
338
+ "revokeAll": "Alle Sitzungen widerrufen",
339
+ "revokeAllConfirm": "Dadurch werden alle mobilen Geräte getrennt. Sie müssen erneut paaren, um sich neu zu verbinden.",
340
+ "revokeAllSessions": "Alle widerrufen",
341
+ "scanQrCode": "QR-Code scannen",
342
+ "title": "Mobile App",
343
+ "tokenExpires": "Token läuft in {{time}} ab",
344
+ "tokenExpiryNote": "Dieses Token läuft in 5 Minuten ab und kann nur einmal verwendet werden."
394
345
  },
395
- "ipWarning": {
396
- "message": "Alle Benutzer scheinen dieselbe IP-Adresse oder dieselben lokalen Netzwerk-IPs zu verwenden. Dies kann Auswirkungen auf die regelbasierte Logik für Standort oder IP-Adressen haben.",
397
- "acknowledge": "Verstanden"
346
+ "plex": {
347
+ "chooseServer": "Wähle aus, welcher Plex Media Server überwacht werden soll",
348
+ "selectServer": "Server auswählen",
349
+ "signInWithPlex": "Mit Plex anmelden",
350
+ "signUpWithPlex": "Mit Plex registrieren"
398
351
  },
399
- "backup": {
400
- "title": "Backup",
401
- "backToBackups": "Zurück zu Backups",
402
- "description": "Sichern und Wiederherstellen Ihrer Tracearr-Daten",
403
- "createBackup": "Backup erstellen",
404
- "creating": "Sicherung wird erstellt...",
405
- "uploadBackup": "Sicherung hochladen",
406
- "uploading": "Hochladen...",
407
- "databaseSize": "Aktuelle Datenbankgröße: {{size}}",
408
- "freeSpace": "Sicherungsverzeichnis freien Speicherplatz: {{size}}",
409
- "lowDiskSpace": "Geringer Speicherplatz — Sicherungen und Wiederherstellen erfordern mindestens das Doppelte der Datenbankgröße im freien Speicherplatz.",
410
- "backupHistory": "Backup-Verlauf",
411
- "noBackups": "Noch keine Sicherungen. Erstellen Sie Ihre erste Sicherung oben.",
412
- "filename": "Dateiname",
413
- "size": "Größe",
414
- "date": "Datum",
415
- "type": "Typ",
416
- "version": "Version",
417
- "actions": "Aktionen",
418
- "typeManual": "Manuell",
419
- "typeScheduled": "Geplant",
420
- "typeUploaded": "Hochgeladen",
421
- "restoreAction": "Wiederherstellen",
422
- "deleteConfirmTitle": "Backup löschen",
423
- "deleteConfirmDescription": "Sind Sie sicher, dass Sie diese Sicherung löschen möchten? Dies kann nicht rückgängig gemacht werden.",
424
- "schedule": "Geplante Sicherungen",
425
- "scheduleType": "Zeitplan",
426
- "scheduleDisabled": "Deaktiviert",
427
- "scheduleDaily": "Täglich",
428
- "scheduleWeekly": "Wöchentlich",
429
- "scheduleMonthly": "Monatlich",
430
- "scheduleTime": "Zeit ({{timezone}})",
431
- "scheduleDayOfWeek": "Wochentag",
432
- "scheduleDayOfMonth": "Tag des Monats",
433
- "scheduleDayOfMonthHint": "Bei Monaten mit weniger Tagen läuft die Sicherung am letzten Tag.",
434
- "retentionCount": "Letzter halten",
435
- "retentionSuffix": "geplante Sicherungen",
436
- "daySun": "Sonntag",
437
- "dayMon": "Montag",
438
- "dayTue": "Dienstag",
439
- "dayWed": "Mittwoch",
440
- "dayThu": "Donnerstag",
441
- "dayFri": "Freitag",
442
- "daySat": "Samstag",
443
- "restore": {
444
- "title": "Backup wiederherstellen",
445
- "selectedBackup": "Ausgewähltes Backup",
446
- "databaseSize": "Datenbankgröße",
447
- "sessions": "Sitzungen",
448
- "users": "Benutzer",
449
- "servers": "Server",
450
- "rules": "Regeln",
451
- "libraryItems": "Bibliothekselemente",
452
- "tables": "Tabellen",
453
- "warning": "Die Wiederherstellung ersetzt alle vorhandenen Daten. Sie müssen sich nach dem Wiederherstellen erneut anmelden.",
454
- "confirmLabel": "Ich verstehe, dass dies alle Daten ersetzen wird",
455
- "confirm": "Starte Wiederherstellung",
456
- "complete": "Wiederherstellung erfolgreich abgeschlossen. Die Seite wird in Kürze aktualisiert.",
457
- "failed": "Wiederherstellung fehlgeschlagen",
458
- "cannotRestore": "Wiederherstellung erfordert PostgreSQL Superuser-Berechtigungen. Bitte stellen Sie sicher, dass Ihr Datenbankbenutzer über Superuser-Rechte verfügt und versuchen Sie es erneut.",
459
- "pgVersionMismatch": "Backup wurde auf PostgreSQL {{backupVersion}} erstellt, aber auf diesem Server läuft PostgreSQL {{serverVersion}}. Wiederherstellung eines Dump von einer neueren PostgreSQL-Version wird nicht unterstützt.",
460
- "tsVersionMismatch": "Backup wurde mit TimescaleDB {{backupVersion}} erstellt, aber dieser Server unterstützt nur bis zu TimescaleDB {{serverVersion}}."
352
+ "serverHealth": {
353
+ "multipleUnreachable": "{{count}} Server nicht erreichbar {{serverNames}}",
354
+ "unreachable": "{{serverName}} ist unerreichbar"
355
+ },
356
+ "servers": {
357
+ "addServer": "Server hinzufügen",
358
+ "addServerDialogDescOther": "Verbinden Sie einen Jellyfin oder Emby Server.",
359
+ "addServerDialogDescPlex": "Wählen Sie einen Plex Server aus Ihrem verknüpften Konto.",
360
+ "added": "{{date}} hinzugefügt",
361
+ "allFieldsRequired": "Alle Felder sind erforderlich",
362
+ "allServersConnected": "Alle Server verbunden",
363
+ "allServersConnectedDesc": "Alle Server dieses Kontos sind bereits verbunden.",
364
+ "apiKeyHelp": "Gefunden im Dashboard Ihres Medienservers unter API-Keys oder Erweiterten Einstellungen.",
365
+ "apiKeyHelpEmby": "Finden Sie dies in Emby Server → API-Schlüssel",
366
+ "apiKeyHelpJellyfin": "Finden Sie dies in Jellyfin Dashboard → API-Tasten",
367
+ "apiKeyPlaceholder": "API-Schlüssel eingeben",
368
+ "checkingConnection": "Checking connection…",
369
+ "chooseAccount": "Wähle ein Konto...",
370
+ "connectServer": "Server verbinden",
371
+ "connecting": "Verbinden...",
372
+ "connectionFailed": "Verbindung fehlgeschlagen",
373
+ "connectionSuccess": "Verbindung erfolgreich",
374
+ "description": "Verwalten Sie Ihre verbundenen Plex, Jellyfin, und Emby Server",
375
+ "discoveringConnections": "Verbindungen entdecken...",
376
+ "discoveringServers": "Entdecke verfügbare Plex Servern...",
377
+ "editServer": "Server bearbeiten",
378
+ "editServerDesc": "Servername oder Verbindungs-URL aktualisieren.",
379
+ "loadingAccounts": "Verknüpfte Plex-Konten werden geladen...",
380
+ "noPlexAccountsLinked": "Keine Plex-Konten verknüpft",
381
+ "noPlexAccountsLinkedHint": "Verbinden Sie oben ein Plex-Konto und kommen Sie dann wieder zu einem Server.",
382
+ "noServersConnected": "Keine Server verbunden",
383
+ "noServersConnectedHint": "Klicken Sie auf \"Server hinzufügen\", um einen Jellyfin oder Emby Server zu verbinden",
384
+ "plexAccount": "Plex-Konto",
385
+ "plexServerPlaceholder": "Mein Plex Server",
386
+ "plexServerUrlPlaceholder": "http://192.168.1.100:32400",
387
+ "pluginUpdateAvailable": "Plugin update available",
388
+ "pluginVersion": "plugin v{{version}}",
389
+ "pollingMode": "Polling",
390
+ "posterSource": {
391
+ "automatic": "Automatic (most recent)",
392
+ "description": "When a title is on more than one server, use this server's poster. If it doesn't have one, we'll fall back to the most recently added copy.",
393
+ "emptyHint": "Add a server to choose a preferred poster source.",
394
+ "label": "Preferred Poster Source",
395
+ "title": "Poster Preferences",
396
+ "titleDesc": "Choose which server's poster is shown when a title exists on more than one server"
461
397
  },
462
- "toast": {
463
- "backupCreated": "Sicherung erfolgreich erstellt",
464
- "backupCreateFailed": "Fehler beim Erstellen der Sicherung",
465
- "backupUploaded": "Backup erfolgreich hochgeladen",
466
- "backupUploadFailed": "Fehler beim Hochladen der Sicherung",
467
- "backupDeleted": "Sicherung gelöscht",
468
- "backupDeleteFailed": "Fehler beim Löschen der Sicherung",
469
- "restoreStarted": "Wiederherstellung gestartet",
470
- "restoreStartFailed": "Fehler beim Starten der Wiederherstellung",
471
- "scheduleSaved": "Sicherungsplan gespeichert",
472
- "scheduleError": "Sicherungsplan konnte nicht gespeichert werden"
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": "Server entfernen",
419
+ "removeServerConfirm": "Sind Sie sicher, dass Sie diesen Server entfernen möchten? Alle zugehörigen Sitzungsdaten werden gespeichert, aber Sie können keine neuen Sitzungen von diesem Server aus überwachen.",
420
+ "selectAccountHelp": "Wählen Sie aus, von welchem Plex Konto Sie Server entdecken möchten.",
421
+ "selectPlexAccount": "Plex Konto auswählen",
422
+ "serverColor": "Serverfarbe",
423
+ "serverColorDesc": "Wird für die visuelle Zuordnung in der Mehrserver-Ansicht verwendet",
424
+ "serverName": "Servername",
425
+ "serverNamePlaceholder": "Mein Medienserver",
426
+ "serverType": "Servertyp",
427
+ "serverUrl": "Server-URL",
428
+ "serverUrlHelp": "Direkte URL zu Ihrem Jellyfin oder Emby Server. Verwenden Sie IP:port für beste Zuverlässigkeit.",
429
+ "serverUrlHelpEmby": "Die URL, auf die Ihr Emby-Server zugreifen kann",
430
+ "serverUrlHelpJellyfin": "Die URL, auf die Ihr Jellyfin-Server zugreifen kann",
431
+ "serverUrlPlaceholder": "http://192.168.1.100:8096",
432
+ "setupRealtime": "Set up real-time updates",
433
+ "syncInterval": "Synchronisierungsintervall",
434
+ "testConnection": "Verbindung testen",
435
+ "title": "Verbundene Server",
436
+ "updateHint": "Oder klicken Sie unten auf Aktualisieren, um nur die Namensänderung zu speichern.",
437
+ "updating": "Aktualisiere...",
438
+ "version": {
439
+ "installed": "Version {{version}}",
440
+ "upToDate": "up to date",
441
+ "updateAvailable": "update {{version}} available"
473
442
  }
443
+ },
444
+ "tabs": {
445
+ "accessControl": "Zugangskontrolle",
446
+ "advanced": "Erweitert",
447
+ "backup": "Backup",
448
+ "general": "Allgemein",
449
+ "import": "Importieren",
450
+ "jobs": "Jobs",
451
+ "mobile": "Mobile App",
452
+ "notifications": "Benachrichtigungen",
453
+ "servers": "Server",
454
+ "tailscale": "Tailscale"
455
+ },
456
+ "tailscale": {
457
+ "authorize": "Autorisieren in Tailscale",
458
+ "awaitingAuth": "Warte auf Authorisierung...",
459
+ "connected": "Tailscale ist verbunden. Ihre Tracearr Instanz ist im tailnet verfügbar.",
460
+ "description": "Greifen Sie ohne Port-Weiterleitung auf Tracearr sicher über Ihr Tailscale Netzwerk zu.",
461
+ "disable": "Tailscale deaktivieren",
462
+ "disableConfirmDescription": "Dadurch wird Tracearr von Ihrem tailnet getrennt. Sie können ohne erneutes Autorisieren wieder aktivieren.",
463
+ "disableConfirmTitle": "Tailscale deaktivieren?",
464
+ "disabledDescription": "Aktivieren Sie die Tailscale, um Tracearr in Ihr privates tailnet zu intrigieren. Keine Portweiterleitung oder Reverse Proxy erforderlich.",
465
+ "dnsName": "DNS-Name",
466
+ "enable": "Tailscale aktivieren",
467
+ "exitNodeNone": "Keine Auswahl",
468
+ "exitNodeOffline": "(offline)",
469
+ "hideLogs": "Protokolle ausblenden",
470
+ "hostname": "Hostname",
471
+ "hostnameHint": "Optionaler benutzerdefinierter Name für dieses Gerät in Ihrem tailnet. Nur Buchstaben, Zahlen und Bindestriche.",
472
+ "hostnameLabel": "Hostname des Gerätes",
473
+ "noLogs": "Keine Protokollausgabe verfügbar.",
474
+ "notAvailable": "Tailscale-Binärdatei nicht gefunden. Diese Funktion ist nur verfügbar, wenn das offizielle Docker-Image ausgeführt wird.",
475
+ "resetConfirmDescription": "Dies trennt Tracearr von Ihrem tailnet und entfernt die Geräteidentität. Wenn Sie es erneut aktivieren, müssen Sie erneut autorisieren.",
476
+ "resetConfirmTitle": "Reset Tailscale?",
477
+ "showLogs": "Protokolle anzeigen",
478
+ "starting": "Tailscale starten...",
479
+ "stopping": "Tailscale stoppen.. ",
480
+ "tailnetUrl": "URL",
481
+ "title": "Tailscale VPN",
482
+ "toast": {
483
+ "disableFailed": "Fehler beim Deaktivieren von Tailscale",
484
+ "disabled": "Tailscale wurde deaktiviert.",
485
+ "enableFailed": "Fehler beim Aktivieren von Tailscale",
486
+ "exitNodeFailed": "Fehler beim Setzen der Exit Node",
487
+ "exitNodeSet": "Exit Node aktualisiert.",
488
+ "reset": "Tailscale wurde zurückgesetzt.",
489
+ "resetFailed": "Fehler beim Zurücksetzen der Tailscale"
490
+ },
491
+ "unknownError": "Ein unbekannter Fehler ist aufgetreten."
492
+ },
493
+ "title": "Einstellungen",
494
+ "update": {
495
+ "betaUpdate": "Beta Update",
496
+ "newVersion": "Neue Version",
497
+ "pullInstructions": "Starten Sie nach dem laden Ihren Container neu, um das Update anzuwenden.",
498
+ "releaseNotes": "Release Notes",
499
+ "stableRelease": "Stable Release",
500
+ "title": "Update verfügbar",
501
+ "updateCommand": "Befehl aktualisieren",
502
+ "versionAvailable": "{{version}} verfügabr"
474
503
  }
475
504
  }