@tracearr/translations 2.1.0-beta.7 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (301) hide show
  1. package/dist/config.d.ts +4 -2
  2. package/dist/config.d.ts.map +1 -1
  3. package/dist/config.mobile.d.ts +4 -2
  4. package/dist/config.mobile.d.ts.map +1 -1
  5. package/dist/locales/af-ZA/common.json +251 -251
  6. package/dist/locales/af-ZA/mobile.json +125 -125
  7. package/dist/locales/af-ZA/notifications.json +226 -226
  8. package/dist/locales/af-ZA/pages.json +69 -67
  9. package/dist/locales/af-ZA/settings.json +446 -446
  10. package/dist/locales/ar-SA/common.json +251 -251
  11. package/dist/locales/ar-SA/mobile.json +125 -125
  12. package/dist/locales/ar-SA/notifications.json +226 -226
  13. package/dist/locales/ar-SA/pages.json +69 -67
  14. package/dist/locales/ar-SA/settings.json +446 -446
  15. package/dist/locales/ca-ES/common.json +251 -251
  16. package/dist/locales/ca-ES/mobile.json +125 -125
  17. package/dist/locales/ca-ES/notifications.json +226 -226
  18. package/dist/locales/ca-ES/pages.json +69 -67
  19. package/dist/locales/ca-ES/settings.json +446 -446
  20. package/dist/locales/cs-CZ/common.json +251 -251
  21. package/dist/locales/cs-CZ/mobile.json +125 -125
  22. package/dist/locales/cs-CZ/notifications.json +226 -226
  23. package/dist/locales/cs-CZ/pages.json +69 -67
  24. package/dist/locales/cs-CZ/settings.json +446 -446
  25. package/dist/locales/da-DK/common.json +251 -251
  26. package/dist/locales/da-DK/mobile.json +125 -125
  27. package/dist/locales/da-DK/notifications.json +226 -226
  28. package/dist/locales/da-DK/pages.json +69 -67
  29. package/dist/locales/da-DK/settings.json +446 -446
  30. package/dist/locales/de-DE/common.json +251 -251
  31. package/dist/locales/de-DE/mobile.json +125 -125
  32. package/dist/locales/de-DE/notifications.json +226 -226
  33. package/dist/locales/de-DE/pages.json +69 -67
  34. package/dist/locales/de-DE/settings.json +446 -446
  35. package/dist/locales/el-GR/common.json +251 -251
  36. package/dist/locales/el-GR/mobile.json +125 -125
  37. package/dist/locales/el-GR/notifications.json +226 -226
  38. package/dist/locales/el-GR/pages.json +69 -67
  39. package/dist/locales/el-GR/settings.json +446 -446
  40. package/dist/locales/en/pages.json +2 -1
  41. package/dist/locales/en-US/common.json +251 -251
  42. package/dist/locales/en-US/mobile.json +125 -125
  43. package/dist/locales/en-US/notifications.json +224 -224
  44. package/dist/locales/en-US/pages.json +57 -55
  45. package/dist/locales/en-US/settings.json +446 -446
  46. package/dist/locales/es-ES/common.json +251 -251
  47. package/dist/locales/es-ES/mobile.json +125 -125
  48. package/dist/locales/es-ES/notifications.json +226 -226
  49. package/dist/locales/es-ES/pages.json +69 -67
  50. package/dist/locales/es-ES/settings.json +446 -446
  51. package/dist/locales/fi-FI/common.json +251 -251
  52. package/dist/locales/fi-FI/mobile.json +125 -125
  53. package/dist/locales/fi-FI/notifications.json +226 -226
  54. package/dist/locales/fi-FI/pages.json +69 -67
  55. package/dist/locales/fi-FI/settings.json +446 -446
  56. package/dist/locales/fr-FR/common.json +251 -251
  57. package/dist/locales/fr-FR/notifications.json +226 -226
  58. package/dist/locales/fr-FR/pages.json +69 -67
  59. package/dist/locales/fr-FR/settings.json +446 -446
  60. package/dist/locales/he-IL/common.json +251 -251
  61. package/dist/locales/he-IL/mobile.json +125 -125
  62. package/dist/locales/he-IL/notifications.json +226 -226
  63. package/dist/locales/he-IL/pages.json +69 -67
  64. package/dist/locales/he-IL/settings.json +446 -446
  65. package/dist/locales/hu-HU/common.json +251 -251
  66. package/dist/locales/hu-HU/mobile.json +125 -125
  67. package/dist/locales/hu-HU/notifications.json +226 -226
  68. package/dist/locales/hu-HU/pages.json +69 -67
  69. package/dist/locales/hu-HU/settings.json +446 -446
  70. package/dist/locales/it-IT/common.json +251 -251
  71. package/dist/locales/it-IT/mobile.json +125 -125
  72. package/dist/locales/it-IT/notifications.json +226 -226
  73. package/dist/locales/it-IT/pages.json +69 -67
  74. package/dist/locales/it-IT/settings.json +446 -446
  75. package/dist/locales/ja-JP/common.json +251 -251
  76. package/dist/locales/ja-JP/mobile.json +125 -125
  77. package/dist/locales/ja-JP/notifications.json +226 -226
  78. package/dist/locales/ja-JP/pages.json +69 -67
  79. package/dist/locales/ja-JP/settings.json +446 -446
  80. package/dist/locales/ko-KR/common.json +251 -251
  81. package/dist/locales/ko-KR/mobile.json +125 -125
  82. package/dist/locales/ko-KR/notifications.json +226 -226
  83. package/dist/locales/ko-KR/pages.json +69 -67
  84. package/dist/locales/ko-KR/settings.json +446 -446
  85. package/dist/locales/nl-NL/common.json +251 -251
  86. package/dist/locales/nl-NL/notifications.json +226 -226
  87. package/dist/locales/nl-NL/pages.json +69 -67
  88. package/dist/locales/no-NO/common.json +251 -251
  89. package/dist/locales/no-NO/mobile.json +125 -125
  90. package/dist/locales/no-NO/notifications.json +226 -226
  91. package/dist/locales/no-NO/pages.json +69 -67
  92. package/dist/locales/no-NO/settings.json +446 -446
  93. package/dist/locales/pl-PL/common.json +251 -251
  94. package/dist/locales/pl-PL/mobile.json +125 -125
  95. package/dist/locales/pl-PL/notifications.json +226 -226
  96. package/dist/locales/pl-PL/pages.json +69 -67
  97. package/dist/locales/pl-PL/settings.json +446 -446
  98. package/dist/locales/pt-BR/common.json +251 -251
  99. package/dist/locales/pt-BR/mobile.json +125 -125
  100. package/dist/locales/pt-BR/notifications.json +226 -226
  101. package/dist/locales/pt-BR/pages.json +69 -67
  102. package/dist/locales/pt-BR/settings.json +446 -446
  103. package/dist/locales/pt-PT/common.json +251 -251
  104. package/dist/locales/pt-PT/mobile.json +125 -125
  105. package/dist/locales/pt-PT/notifications.json +226 -226
  106. package/dist/locales/pt-PT/pages.json +69 -67
  107. package/dist/locales/pt-PT/settings.json +446 -446
  108. package/dist/locales/ro-RO/common.json +251 -251
  109. package/dist/locales/ro-RO/mobile.json +125 -125
  110. package/dist/locales/ro-RO/notifications.json +226 -226
  111. package/dist/locales/ro-RO/pages.json +69 -67
  112. package/dist/locales/ro-RO/settings.json +446 -446
  113. package/dist/locales/ru-RU/common.json +251 -251
  114. package/dist/locales/ru-RU/mobile.json +125 -125
  115. package/dist/locales/ru-RU/notifications.json +226 -226
  116. package/dist/locales/ru-RU/pages.json +69 -67
  117. package/dist/locales/ru-RU/settings.json +446 -446
  118. package/dist/locales/sr-SP/common.json +251 -251
  119. package/dist/locales/sr-SP/mobile.json +125 -125
  120. package/dist/locales/sr-SP/notifications.json +226 -226
  121. package/dist/locales/sr-SP/pages.json +69 -67
  122. package/dist/locales/sr-SP/settings.json +446 -446
  123. package/dist/locales/sv-SE/common.json +251 -251
  124. package/dist/locales/sv-SE/mobile.json +125 -125
  125. package/dist/locales/sv-SE/notifications.json +226 -226
  126. package/dist/locales/sv-SE/pages.json +69 -67
  127. package/dist/locales/sv-SE/settings.json +446 -446
  128. package/dist/locales/tr-TR/common.json +251 -251
  129. package/dist/locales/tr-TR/mobile.json +125 -125
  130. package/dist/locales/tr-TR/notifications.json +226 -226
  131. package/dist/locales/tr-TR/pages.json +69 -67
  132. package/dist/locales/tr-TR/settings.json +446 -446
  133. package/dist/locales/uk-UA/common.json +251 -251
  134. package/dist/locales/uk-UA/mobile.json +125 -125
  135. package/dist/locales/uk-UA/notifications.json +226 -226
  136. package/dist/locales/uk-UA/pages.json +69 -67
  137. package/dist/locales/uk-UA/settings.json +446 -446
  138. package/dist/locales/vi-VN/common.json +251 -251
  139. package/dist/locales/vi-VN/mobile.json +125 -125
  140. package/dist/locales/vi-VN/notifications.json +226 -226
  141. package/dist/locales/vi-VN/pages.json +69 -67
  142. package/dist/locales/vi-VN/settings.json +446 -446
  143. package/dist/locales/zh-CN/common.json +251 -251
  144. package/dist/locales/zh-CN/mobile.json +125 -125
  145. package/dist/locales/zh-CN/notifications.json +226 -226
  146. package/dist/locales/zh-CN/pages.json +69 -67
  147. package/dist/locales/zh-CN/settings.json +446 -446
  148. package/dist/locales/zh-TW/common.json +251 -251
  149. package/dist/locales/zh-TW/mobile.json +125 -125
  150. package/dist/locales/zh-TW/notifications.json +226 -226
  151. package/dist/locales/zh-TW/pages.json +69 -67
  152. package/dist/locales/zh-TW/settings.json +446 -446
  153. package/package.json +1 -1
  154. package/src/locales/af-ZA/common.json +251 -251
  155. package/src/locales/af-ZA/mobile.json +125 -125
  156. package/src/locales/af-ZA/notifications.json +226 -226
  157. package/src/locales/af-ZA/pages.json +69 -67
  158. package/src/locales/af-ZA/settings.json +446 -446
  159. package/src/locales/ar-SA/common.json +251 -251
  160. package/src/locales/ar-SA/mobile.json +125 -125
  161. package/src/locales/ar-SA/notifications.json +226 -226
  162. package/src/locales/ar-SA/pages.json +69 -67
  163. package/src/locales/ar-SA/settings.json +446 -446
  164. package/src/locales/ca-ES/common.json +251 -251
  165. package/src/locales/ca-ES/mobile.json +125 -125
  166. package/src/locales/ca-ES/notifications.json +226 -226
  167. package/src/locales/ca-ES/pages.json +69 -67
  168. package/src/locales/ca-ES/settings.json +446 -446
  169. package/src/locales/cs-CZ/common.json +251 -251
  170. package/src/locales/cs-CZ/mobile.json +125 -125
  171. package/src/locales/cs-CZ/notifications.json +226 -226
  172. package/src/locales/cs-CZ/pages.json +69 -67
  173. package/src/locales/cs-CZ/settings.json +446 -446
  174. package/src/locales/da-DK/common.json +251 -251
  175. package/src/locales/da-DK/mobile.json +125 -125
  176. package/src/locales/da-DK/notifications.json +226 -226
  177. package/src/locales/da-DK/pages.json +69 -67
  178. package/src/locales/da-DK/settings.json +446 -446
  179. package/src/locales/de-DE/common.json +251 -251
  180. package/src/locales/de-DE/mobile.json +125 -125
  181. package/src/locales/de-DE/notifications.json +226 -226
  182. package/src/locales/de-DE/pages.json +69 -67
  183. package/src/locales/de-DE/settings.json +446 -446
  184. package/src/locales/el-GR/common.json +251 -251
  185. package/src/locales/el-GR/mobile.json +125 -125
  186. package/src/locales/el-GR/notifications.json +226 -226
  187. package/src/locales/el-GR/pages.json +69 -67
  188. package/src/locales/el-GR/settings.json +446 -446
  189. package/src/locales/en/pages.json +2 -1
  190. package/src/locales/en-US/common.json +251 -251
  191. package/src/locales/en-US/mobile.json +125 -125
  192. package/src/locales/en-US/notifications.json +224 -224
  193. package/src/locales/en-US/pages.json +57 -55
  194. package/src/locales/en-US/settings.json +446 -446
  195. package/src/locales/es-ES/common.json +251 -251
  196. package/src/locales/es-ES/mobile.json +125 -125
  197. package/src/locales/es-ES/notifications.json +226 -226
  198. package/src/locales/es-ES/pages.json +69 -67
  199. package/src/locales/es-ES/settings.json +446 -446
  200. package/src/locales/fi-FI/common.json +251 -251
  201. package/src/locales/fi-FI/mobile.json +125 -125
  202. package/src/locales/fi-FI/notifications.json +226 -226
  203. package/src/locales/fi-FI/pages.json +69 -67
  204. package/src/locales/fi-FI/settings.json +446 -446
  205. package/src/locales/fr-FR/common.json +251 -251
  206. package/src/locales/fr-FR/notifications.json +226 -226
  207. package/src/locales/fr-FR/pages.json +69 -67
  208. package/src/locales/fr-FR/settings.json +446 -446
  209. package/src/locales/he-IL/common.json +251 -251
  210. package/src/locales/he-IL/mobile.json +125 -125
  211. package/src/locales/he-IL/notifications.json +226 -226
  212. package/src/locales/he-IL/pages.json +69 -67
  213. package/src/locales/he-IL/settings.json +446 -446
  214. package/src/locales/hu-HU/common.json +251 -251
  215. package/src/locales/hu-HU/mobile.json +125 -125
  216. package/src/locales/hu-HU/notifications.json +226 -226
  217. package/src/locales/hu-HU/pages.json +69 -67
  218. package/src/locales/hu-HU/settings.json +446 -446
  219. package/src/locales/it-IT/common.json +251 -251
  220. package/src/locales/it-IT/mobile.json +125 -125
  221. package/src/locales/it-IT/notifications.json +226 -226
  222. package/src/locales/it-IT/pages.json +69 -67
  223. package/src/locales/it-IT/settings.json +446 -446
  224. package/src/locales/ja-JP/common.json +251 -251
  225. package/src/locales/ja-JP/mobile.json +125 -125
  226. package/src/locales/ja-JP/notifications.json +226 -226
  227. package/src/locales/ja-JP/pages.json +69 -67
  228. package/src/locales/ja-JP/settings.json +446 -446
  229. package/src/locales/ko-KR/common.json +251 -251
  230. package/src/locales/ko-KR/mobile.json +125 -125
  231. package/src/locales/ko-KR/notifications.json +226 -226
  232. package/src/locales/ko-KR/pages.json +69 -67
  233. package/src/locales/ko-KR/settings.json +446 -446
  234. package/src/locales/nl-NL/common.json +251 -251
  235. package/src/locales/nl-NL/notifications.json +226 -226
  236. package/src/locales/nl-NL/pages.json +69 -67
  237. package/src/locales/no-NO/common.json +251 -251
  238. package/src/locales/no-NO/mobile.json +125 -125
  239. package/src/locales/no-NO/notifications.json +226 -226
  240. package/src/locales/no-NO/pages.json +69 -67
  241. package/src/locales/no-NO/settings.json +446 -446
  242. package/src/locales/pl-PL/common.json +251 -251
  243. package/src/locales/pl-PL/mobile.json +125 -125
  244. package/src/locales/pl-PL/notifications.json +226 -226
  245. package/src/locales/pl-PL/pages.json +69 -67
  246. package/src/locales/pl-PL/settings.json +446 -446
  247. package/src/locales/pt-BR/common.json +251 -251
  248. package/src/locales/pt-BR/mobile.json +125 -125
  249. package/src/locales/pt-BR/notifications.json +226 -226
  250. package/src/locales/pt-BR/pages.json +69 -67
  251. package/src/locales/pt-BR/settings.json +446 -446
  252. package/src/locales/pt-PT/common.json +251 -251
  253. package/src/locales/pt-PT/mobile.json +125 -125
  254. package/src/locales/pt-PT/notifications.json +226 -226
  255. package/src/locales/pt-PT/pages.json +69 -67
  256. package/src/locales/pt-PT/settings.json +446 -446
  257. package/src/locales/ro-RO/common.json +251 -251
  258. package/src/locales/ro-RO/mobile.json +125 -125
  259. package/src/locales/ro-RO/notifications.json +226 -226
  260. package/src/locales/ro-RO/pages.json +69 -67
  261. package/src/locales/ro-RO/settings.json +446 -446
  262. package/src/locales/ru-RU/common.json +251 -251
  263. package/src/locales/ru-RU/mobile.json +125 -125
  264. package/src/locales/ru-RU/notifications.json +226 -226
  265. package/src/locales/ru-RU/pages.json +69 -67
  266. package/src/locales/ru-RU/settings.json +446 -446
  267. package/src/locales/sr-SP/common.json +251 -251
  268. package/src/locales/sr-SP/mobile.json +125 -125
  269. package/src/locales/sr-SP/notifications.json +226 -226
  270. package/src/locales/sr-SP/pages.json +69 -67
  271. package/src/locales/sr-SP/settings.json +446 -446
  272. package/src/locales/sv-SE/common.json +251 -251
  273. package/src/locales/sv-SE/mobile.json +125 -125
  274. package/src/locales/sv-SE/notifications.json +226 -226
  275. package/src/locales/sv-SE/pages.json +69 -67
  276. package/src/locales/sv-SE/settings.json +446 -446
  277. package/src/locales/tr-TR/common.json +251 -251
  278. package/src/locales/tr-TR/mobile.json +125 -125
  279. package/src/locales/tr-TR/notifications.json +226 -226
  280. package/src/locales/tr-TR/pages.json +69 -67
  281. package/src/locales/tr-TR/settings.json +446 -446
  282. package/src/locales/uk-UA/common.json +251 -251
  283. package/src/locales/uk-UA/mobile.json +125 -125
  284. package/src/locales/uk-UA/notifications.json +226 -226
  285. package/src/locales/uk-UA/pages.json +69 -67
  286. package/src/locales/uk-UA/settings.json +446 -446
  287. package/src/locales/vi-VN/common.json +251 -251
  288. package/src/locales/vi-VN/mobile.json +125 -125
  289. package/src/locales/vi-VN/notifications.json +226 -226
  290. package/src/locales/vi-VN/pages.json +69 -67
  291. package/src/locales/vi-VN/settings.json +446 -446
  292. package/src/locales/zh-CN/common.json +251 -251
  293. package/src/locales/zh-CN/mobile.json +125 -125
  294. package/src/locales/zh-CN/notifications.json +226 -226
  295. package/src/locales/zh-CN/pages.json +69 -67
  296. package/src/locales/zh-CN/settings.json +446 -446
  297. package/src/locales/zh-TW/common.json +251 -251
  298. package/src/locales/zh-TW/mobile.json +125 -125
  299. package/src/locales/zh-TW/notifications.json +226 -226
  300. package/src/locales/zh-TW/pages.json +69 -67
  301. package/src/locales/zh-TW/settings.json +446 -446
@@ -1,501 +1,501 @@
1
1
  {
2
- "accessControl": {
3
- "allowGuestAccess": "Zezwalaj na dostęp gości",
4
- "allowGuestAccessDesc": "Po wyłączeniu, tylko właściciel serwera może zalogować się do Tracearr",
5
- "description": "Skonfiguruj kto ma dostęp do Tracearr",
6
- "singleOwnerNote": "Uwaga: Gdy dostęp do gości jest wyłączony, tylko właściciel serwera może się zalogować. Wszyscy inni użytkownicy zobaczą komunikat \"Odmowa dostępu\".",
7
- "title": "Kontrola dostępu"
8
- },
9
- "account": {
10
- "createAccount": "Załóż konto",
11
- "createYourAccount": "Utwórz konto, aby rozpocząć",
12
- "displayName": "Wyświetlana nazwa",
13
- "email": "Adres e-mail",
14
- "password": "Hasło",
15
- "signInToAccount": "Zaloguj się na swoje konto",
16
- "useLocalAccount": "Zamiast tego użyj konta lokalnego"
17
- },
18
- "advanced": {
19
- "connectionScenarios": "Scenariusze połączenia",
20
- "externalUrl": "Zewnętrzny adres URL",
21
- "reverseProxy": "Odwrócone Proxy",
22
- "title": "Ustawienia zaawansowane",
23
- "trustProxy": "Zaufaj nagłówkom serwera proxy"
24
- },
25
- "backup": {
26
- "actions": "Akcje",
27
- "backToBackups": "Wróć do kopii zapasowych",
28
- "backupHistory": "Historia kopii zapasowej",
29
- "createBackup": "Utwórz kopię zapasową",
30
- "creating": "Tworzenie kopii zapasowej...",
31
- "databaseSize": "Aktualny rozmiar bazy danych: {{size}}",
32
- "date": "Data",
33
- "dayFri": "Piątek",
34
- "dayMon": "Poniedziałek",
35
- "daySat": "Sobota",
36
- "daySun": "Niedziela",
37
- "dayThu": "Czwartek",
38
- "dayTue": "Wtorek",
39
- "dayWed": "Środa",
40
- "deleteConfirmDescription": "Czy na pewno chcesz usunąć tę kopię zapasową? Tej operacji nie można cofnąć.",
41
- "deleteConfirmTitle": "Usuń kopię zapasową",
42
- "description": "Kopia zapasowa i przywracanie danych Tracearr",
43
- "filename": "Nazwa pliku",
44
- "freeSpace": "Wolne miejsce w katalogu kopii zapasowej: {{size}}",
45
- "lowDiskSpace": "Niskie miejsce na dysku — kopie zapasowe i przywracanie wymagają co najmniej dwukrotnego rozmiaru bazy danych w wolnym miejscu.",
46
- "noBackups": "Brak kopii zapasowych. Utwórz swoją pierwszą kopię zapasową powyżej.",
47
- "restore": {
48
- "cannotRestore": "Przywracanie wymaga uprawnień superużytkownika PostgreSQL. Upewnij się, że użytkownik bazy danych ma uprawnienia superużytkownika i spróbuj ponownie.",
49
- "complete": "Przywracanie zakończone pomyślnie. Strona odświeży się wkrótce.",
50
- "confirm": "Rozpocznij przywracanie",
51
- "confirmLabel": "Rozumiem, że to zastąpi wszystkie dane",
52
- "databaseSize": "Rozmiar bazy danych",
53
- "failed": "Przywracanie nie powiodło się",
54
- "libraryItems": "Elementy biblioteki",
55
- "pgVersionMismatch": "Kopia zapasowa została utworzona na PostgreSQL {{backupVersion}} , ale ten serwer uruchamia PostgreSQL {{serverVersion}}. Przywracanie zrzutu z nowszej wersji PostgreSQL nie jest obsługiwane.",
56
- "rules": "Regulamin",
57
- "selectedBackup": "Wybrana kopia zapasowa",
58
- "servers": "Serwery",
59
- "sessions": "Sesje",
60
- "tables": "Tabele",
61
- "title": "Przywróć kopię zapasową",
62
- "tsVersionMismatch": "Kopia zapasowa została utworzona z TimescaleDB {{backupVersion}} , ale ten serwer obsługuje tylko do TimescaleDB {{serverVersion}}.",
63
- "users": "Użytkownicy",
64
- "warning": "Przywracanie zastąpi wszystkie istniejące dane. Musisz ponownie zalogować się po zakończeniu przywracania."
65
- },
66
- "restoreAction": "Przywróć",
67
- "retentionCount": "Zachowaj ostatnią",
68
- "retentionSuffix": "zaplanowane kopie zapasowe",
69
- "schedule": "Zaplanowane kopie zapasowe",
70
- "scheduleDaily": "Codziennie",
71
- "scheduleDayOfMonth": "Dzień miesiąca",
72
- "scheduleDayOfMonthHint": "W miesiącach z mniejszą ilością dni, kopia zapasowa działa w ostatnim dniu.",
73
- "scheduleDayOfWeek": "Dzień tygodnia",
74
- "scheduleDisabled": "Wyłączone",
75
- "scheduleMonthly": "Miesięczny",
76
- "scheduleTime": "Czas ({{timezone}})",
77
- "scheduleType": "Harmonogram",
78
- "scheduleWeekly": "Tygodniowo",
79
- "size": "Rozmiar",
80
- "title": "Kopia zapasowa",
81
- "toast": {
82
- "backupCreateFailed": "Nie udało się utworzyć kopii zapasowej",
83
- "backupCreated": "Kopia zapasowa utworzona pomyślnie",
84
- "backupDeleteFailed": "Nie udało się usunąć kopii zapasowej",
85
- "backupDeleted": "Kopia zapasowa usunięta",
86
- "backupUploadFailed": "Nie udało się przesłać kopii zapasowej",
87
- "backupUploaded": "Kopia zapasowa przesłana pomyślnie",
88
- "restoreStartFailed": "Nie udało się uruchomić przywracania",
89
- "restoreStarted": "Przywracanie rozpoczęte",
90
- "scheduleError": "Nie udało się zapisać harmonogramu kopii zapasowej",
91
- "scheduleSaved": "Harmonogram kopii zapasowej zapisany"
92
- },
93
- "type": "Typ",
94
- "typeManual": "Ręcznie",
95
- "typeScheduled": "Zaplanowane",
96
- "typeUploaded": "Przesłano",
97
- "uploadBackup": "Prześlij kopię zapasową",
98
- "uploading": "Wgrywanie...",
99
- "version": "Wersja"
2
+ "title": "Ustawienia",
3
+ "tabs": {
4
+ "general": "Ogólne",
5
+ "servers": "Serwery",
6
+ "notifications": "Powiadomienia",
7
+ "mobile": "Aplikacja mobilna",
8
+ "tailscale": "Skala ogona",
9
+ "import": "Importuj",
10
+ "advanced": "Zaawansowane",
11
+ "jobs": "Zadania",
12
+ "accessControl": "Kontrola dostępu",
13
+ "backup": "Kopia zapasowa"
100
14
  },
101
15
  "general": {
102
- "accentColor": "Kolor akcentu",
103
- "apiDocs": "API Docs",
104
- "apiKeyDesc": "Dostęp do API Tracearr dla integracji innych firm, takich jak Homarr, Home Assistant, itp.",
105
- "apiKeyReadAccess": "Twój klucz API zapewnia pełny dostęp do Twoich danych Tracearr.",
106
- "apiRateLimit": "API Rate Limit",
107
- "apiRateLimitDesc": "Maximum public API requests per minute per key. Restart required to apply.",
108
- "apiRateLimitSuffix": "/min",
16
+ "title": "Ustawienia ogólne",
17
+ "unitSystem": "Jednostki miary",
18
+ "metric": "Metryczny (km, km/h)",
19
+ "imperial": "Imperialny (mi, mph)",
20
+ "timezone": "Strefa czasowa",
21
+ "primaryAuth": "Podstawowa metoda uwierzytelniania",
22
+ "localAccount": "Konto lokalne",
23
+ "plexAccount": "Konto Plex",
24
+ "language": "Język",
25
+ "languageDescription": "Wybierz preferowany język wyświetlania.",
26
+ "helpTranslate": "Pomóż tłumaczyć Tracearr",
27
+ "timeFormat": "Format czasu",
28
+ "timeFormatDescription": "Wybierz sposób wyświetlania czasu.",
29
+ "timeFormat12h": "12-godzinny (1:30 PM)",
30
+ "timeFormat24h": "24-godzinny (13:30)",
109
31
  "appearance": "Wygląd",
110
32
  "appearanceDesc": "Dostosuj wygląd Tracearr",
33
+ "theme": "Motyw",
34
+ "accentColor": "Kolor akcentu",
35
+ "default": "(domyślnie)",
36
+ "cyanDefault": "* Błękitny jest domyślnym kolorem akcentu",
37
+ "themeLight": "Światło",
38
+ "themeDark": "Ciemny",
39
+ "themeSystem": "System",
111
40
  "application": "Aplikacja",
112
41
  "applicationDesc": "Skonfiguruj podstawowe ustawienia aplikacji",
113
- "copyToClipboard": "Kopiuj do schowka",
114
- "cyanDefault": "* Błękitny jest domyślnym kolorem akcentu",
115
- "default": "(domyślnie)",
116
- "detect": "Wykrywanie",
42
+ "unitSystemDesc": "Wybierz jak wyświetlane są odległości i prędkości",
43
+ "sessionSync": "Synchronizacja sesji",
44
+ "sessionSyncDesc": "Włącz śledzenie sesji dla serwerów multimedialnych",
45
+ "syncInterval": "Częstotliwość synchronizacji",
46
+ "syncIntervalDesc": "Częstotliwość sondowania dla Jellyfin/Emby (5–300 sekund)",
47
+ "syncIntervalSuffix": "sek.",
48
+ "plexSseNote": "Plex używa Sent Events (SSE) do niemalże natychmiastowych aktualizacji — nie jest potrzebna ankieta.",
49
+ "jellyfinPollingNote": "Jellyfin/Emby jest przeprowadzana w powyższej przedziale.",
117
50
  "enhancedGeoIP": "Ulepszone wyszukiwanie GeoIP",
118
51
  "enhancedGeoIPDesc": "Użyj usługi GeoIP Plex dla dokładniejszych danych lokalizacji. Gdy włączone, adresy IP są wysyłane na plex. v dla wyszukiwania. Lokalna baza danych MaxMind jest używana jako rezerwa.",
119
52
  "externalAccess": "Dostęp zewnętrzny",
120
53
  "externalAccessDesc": "Skonfiguruj jak zewnętrzne urządzenia (takie jak aplikacje mobilne) łączą się z Twoim serwerem",
121
54
  "externalUrl": "Zewnętrzny adres URL",
122
- "externalUrlDesc": "Adres URL, którego urządzenia zewnętrzne powinny używać do dotarcia do tego serwera. Używany do parowania kodów QR i aplikacji mobilnej.",
123
55
  "externalUrlPlaceholder": "https://tracearr.example.com",
124
- "generateApiKeyPrompt": "Wygeneruj klucz API, aby włączyć integrację zewnętrzną.",
125
- "generateKey": "Wygeneruj klucz",
126
- "helpTranslate": "Pomóż tłumaczyć Tracearr",
127
- "imperial": "Imperialny (mi, mph)",
128
- "iosHttpWarning": "iOS wymaga HTTPS dla połączeń zewnętrznych. Ustaw odwrócony serwer proxy z SSL.",
129
- "jellyfinPollingNote": "Jellyfin/Emby jest przeprowadzana w powyższej przedziale.",
130
- "language": "Język",
131
- "languageDescription": "Wybierz preferowany język wyświetlania.",
132
- "localAccount": "Konto lokalne",
56
+ "externalUrlDesc": "Adres URL, którego urządzenia zewnętrzne powinny używać do dotarcia do tego serwera. Używany do parowania kodów QR i aplikacji mobilnej.",
57
+ "detect": "Wykrywanie",
133
58
  "localhostWarning": "Adresy URL Localhost nie będą działać na urządzeniach zewnętrznych. Użyj swojego adresu IP LAN lub nazwy domeny.",
134
- "metric": "Metryczny (km, km/h)",
59
+ "iosHttpWarning": "iOS wymaga HTTPS dla połączeń zewnętrznych. Ustaw odwrócony serwer proxy z SSL.",
60
+ "apiKeyDesc": "Dostęp do API Tracearr dla integracji innych firm, takich jak Homarr, Home Assistant, itp.",
61
+ "apiDocs": "API Docs",
135
62
  "noApiKeyGenerated": "Nie wygenerowano klucza API",
136
- "plexAccount": "Konto Plex",
137
- "plexSseNote": "Plex używa Sent Events (SSE) do niemalże natychmiastowych aktualizacji — nie jest potrzebna ankieta.",
138
- "primaryAuth": "Podstawowa metoda uwierzytelniania",
139
- "publicApiSettings": "Public API",
140
- "publicApiSettingsDesc": "Configure watch-completion thresholds and request limits for the public API",
63
+ "copyToClipboard": "Kopiuj do schowka",
64
+ "apiKeyReadAccess": "Twój klucz API zapewnia pełny dostęp do Twoich danych Tracearr.",
65
+ "generateApiKeyPrompt": "Wygeneruj klucz API, aby włączyć integrację zewnętrzną.",
141
66
  "regenerate": "Wygeneruj ponownie",
67
+ "generateKey": "Wygeneruj klucz",
142
68
  "regenerateApiKey": "Wygenerować ponownie klucz API?",
143
69
  "regenerateApiKeyDesc": "To spowoduje unieważnienie Twojego aktualnego klucza API. Wszelkie integracje z użyciem starego klucza przestaną działać.",
144
- "sessionSync": "Synchronizacja sesji",
145
- "sessionSyncDesc": "Włącz śledzenie sesji dla serwerów multimedialnych",
146
- "syncInterval": "Częstotliwość synchronizacji",
147
- "syncIntervalDesc": "Częstotliwość sondowania dla Jellyfin/Emby (5–300 sekund)",
148
- "syncIntervalSuffix": "sek.",
149
- "theme": "Motyw",
150
- "themeDark": "Ciemny",
151
- "themeLight": "Światło",
152
- "themeSystem": "System",
153
- "timeFormat": "Format czasu",
154
- "timeFormat12h": "12-godzinny (1:30 PM)",
155
- "timeFormat24h": "24-godzinny (13:30)",
156
- "timeFormatDescription": "Wybierz sposób wyświetlania czasu.",
157
- "timezone": "Strefa czasowa",
158
- "title": "Ustawienia ogólne",
159
- "unitSystem": "Jednostki miary",
160
- "unitSystemDesc": "Wybierz jak wyświetlane są odległości i prędkości",
70
+ "publicApiSettings": "Public API",
71
+ "publicApiSettingsDesc": "Configure watch-completion thresholds and request limits for the public API",
161
72
  "watchedThresholdMovie": "Movie Watched Threshold",
162
73
  "watchedThresholdMovieDesc": "Percentage of a movie that must be watched before it's marked complete",
74
+ "watchedThresholdTv": "TV Episode Watched Threshold",
75
+ "watchedThresholdTvDesc": "Percentage of an episode that must be watched before it's marked complete",
163
76
  "watchedThresholdMusic": "Track Watched Threshold",
164
77
  "watchedThresholdMusicDesc": "Percentage of a track that must be played before it's marked complete",
165
78
  "watchedThresholdSuffix": "%",
166
- "watchedThresholdTv": "TV Episode Watched Threshold",
167
- "watchedThresholdTvDesc": "Percentage of an episode that must be watched before it's marked complete"
168
- },
169
- "import": {
170
- "apiKeyHelp": "Znaleziono w ustawieniach Tautulli → Interfejs Web → Klucz API.",
171
- "apiKeyPlaceholder": "Twój klucz API Tautulli",
172
- "connectToTautulli": "Połącz z Tautulli",
173
- "connectedFound": "Połączono! Znaleziono użytkowników {{users}} i rekordy historii {{records}}.",
174
- "enrichMetadata": "Wzbogacanie metadanych mediów (zalecane)",
175
- "enrichMetadataHelp": "Pobiera dodatkowe metadane z serwera multimedialnego dla zaimportowanych sesji.",
176
- "enriched": "Ulepszono",
177
- "errors": "Błędy",
178
- "exportBackupHelp": "W Jellystat przejdź do Ustawienia → Kopia zapasowa → Kopia zapasowa Aktywności, aby wyeksportować swoje dane.",
179
- "exportBackupHint": "Eksportuj kopię zapasową aktywności z Jellystat",
180
- "howItWorks": "Jak działa import",
181
- "howItWorksDesc": "Tracearr zaimportuje wszystkie historyczne dane zegarka z twojego źródła. To może zająć chwilę w zależności od wielkości twojej biblioteki.",
182
- "importComplete": "Import zakończony",
183
- "importFailed": "Import nie udany",
184
- "importHistory": "Historia importu",
185
- "importHistoryDesc": "Importuj historyczne dane zegarka z zewnętrznych źródeł",
186
- "importInProgressGeneric": "Importowanie w toku...",
187
- "importInProgressPercent": "Importowanie w toku (ukończono{{percent}}%)...",
188
- "importOptions": "Opcje importu",
189
- "importProgress": "Postęp importu",
190
- "imported": "Zaimportowano",
191
- "importing": "Importowanie...",
192
- "includeStreamDetails": "Dołącz szczegółowe dane strumienia (kodeki, bitrate, rozdzielczość)",
193
- "includeStreamDetailsHelp": "Import dodatkowych informacji o strumieniu. Może znacznie wydłużyć czas przywozu.",
194
- "jellyfinEmby": "Jellyfin/Emby (Jellystat)",
195
- "jellystat": "Importuj z Jellystat",
196
- "noServers": "Brak podłączonych serwerów",
197
- "noServersHint": "Potrzebujesz co najmniej jednego połączonego serwera do zaimportowania danych.",
198
- "overwriteFriendlyNames": "Zastąp istniejące przyjazne nazwy nazwami Tautulli",
199
- "overwriteFriendlyNamesHelp": "Istniejące nazwy tożsamości w Tracearr zostaną zastąpione przyjaznymi nazwami z Tautulli.",
200
- "page": "Strona",
201
- "pleaseEnterDetails": "Wprowadź adres URL Tautulli i klucz API",
202
- "pleaseSelectJsonFile": "Wybierz plik JSON",
203
- "plex": "Plex (Tautulli)",
204
- "processed": "Przetworzone",
205
- "recordsMayBeSkipped": "Rekordy mogą zostać pominięte, jeżeli:",
206
- "selectJellyfinServer": "Wybierz serwer Jellyfin lub Emby",
207
- "selectPlexServer": "Wybierz serwer Plex",
208
- "selectTargetServer": "Wybierz serwer docelowy",
209
- "skipDuplicate": "Zduplikowana sesja — sesja została już wcześniej zaimportowana.",
210
- "skipInProgress": "Sesja w toku — Sesje aktywne/niekompletne bez identyfikatora odniesienia są pomijane.",
211
- "skipSyncHint": "Jeśli wiele rekordów zostało pominiętych, upewnij się, że niedawno zsynchronizowałeś swój serwer w Ustawieniach → Serwery.",
212
- "skipUserNotFoundJellyfin": "Nie znaleziono użytkownika — użytkownik Jellyfin/Emby nie istnieje w Tracearr. Najpierw zsynchronizuj swój serwer, aby dodać wszystkich użytkowników.",
213
- "skipUserNotFoundPlex": "Nie znaleziono użytkownika — użytkownik Plex nie istnieje w Tracearr. Najpierw zsynchronizuj swój serwer, aby dodać wszystkich użytkowników.",
214
- "skipped": "Pominięto",
215
- "startImport": "Rozpocznij import",
216
- "startingImport": "Rozpoczęcie importowania...",
217
- "step1": "1",
218
- "step2": "2",
219
- "targetServer": "Target Server",
220
- "tautulli": "Importuj z Tautulli",
221
- "tautulliUrl": "URL Tautulli",
222
- "tautulliUrlHelp": "Adres URL twojej instancji Tautulli.",
223
- "tautulliUrlPlaceholder": "http://localhost:8181",
224
- "testing": "Testowanie...",
225
- "testingConnection": "Testowanie połączenia...",
226
- "title": "Importuj dane",
227
- "updateExistingRecords": "Aktualizuj istniejące rekordy ze szczegółami strumienia",
228
- "updateExistingRecordsHelp": "Poprzednio zaimportowane rekordy zostaną zaktualizowane danymi jakości strumienia.",
229
- "uploadJellystatBackup": "Prześlij kopię zapasową Jellystat",
230
- "uploadingBackup": "Przesyłanie pliku kopii zapasowej...",
231
- "playbackReporting": "Playback Reporting Plugin",
232
- "playbackReportingDesc": "Import history directly from the Playback Reporting plugin installed on your Jellyfin or Emby server. No file export needed.",
233
- "checkPlugin": "Check Plugin",
234
- "checkingPlugin": "Checking...",
235
- "pluginFound": "Plugin found: {{records}} records from {{oldestDate}} to {{newestDate}}",
236
- "pluginNotInstalled": "The Playback Reporting plugin is not installed on this server, or Tracearr cannot reach it. Install it from the server's plugin catalog to start recording history, or use the Jellystat import below.",
237
- "serverTimezone": "Server Timezone",
238
- "serverTimezoneHelp": "Must match the timezone configured on your media server host, not your browser's timezone. Playback Reporting timestamps are stored in local server time.",
239
- "importFullRange": "Import full history",
240
- "importFullRangeHelp": "By default only history older than Tracearr's earliest tracked session for this server is imported, so sessions Tracearr already recorded are never duplicated. Enable this to import the plugin's entire history regardless of overlap, if your Tracearr history has gaps. Exact duplicates are still skipped.",
241
- "overlapSkipped": "{{count}} skipped as overlap",
242
- "duplicates": "{{count}} duplicates skipped",
243
- "skipOverlap": "Overlapping record - the timestamp falls inside the period Tracearr already tracks for this server. Enable full-range import to include it.",
244
- "skipDuplicatePlugin": "Duplicate record - already imported directly or arrived earlier via a Jellystat import of the same plugin data."
245
- },
246
- "ipWarning": {
247
- "acknowledge": "Zrozumiano",
248
- "message": "Wszyscy użytkownicy wydają się używać tego samego adresu IP lub IP sieci lokalnej. Może to mieć wpływ na logikę dla lokalizacji lub adresów IP opartą na regułach."
249
- },
250
- "jobs": {
251
- "backfill": "Uzupełnianie",
252
- "cleanup": "Czyszczenie",
253
- "delayed": "opóźnienie",
254
- "description": "Zarządzaj zadaniami w tle, które pozwalają na dokładne i zoptymalizowane dane.",
255
- "errors": "błędy",
256
- "jobHistory": "Historia Zadań",
257
- "jobHistoryDesc": "Ostatnie wykonanie prac konserwacyjnych",
258
- "lastJobCompleted": "Ostatnie zadanie zakończone pomyślnie",
259
- "lastJobFailed": "Ostatnie zadanie nie powiodło się",
260
- "mayTakeAWhile": "To może zająć chwilę",
261
- "mayTakeAWhileDesc": "To zadanie może zająć kilka minut w zależności od rozmiaru Twojej biblioteki.",
262
- "normalization": "Normalizacja",
263
- "processed": "przetworzone",
264
- "queued": "w kolejce",
265
- "runConfirm": "Uruchomić {{name}}?",
266
- "runJob": "Uruchom Zadanie",
267
- "running": "uruchomiony",
268
- "runningState": "Uruchamianie",
269
- "startJob": "Rozpocznij pracę",
270
- "title": "Praca konserwacyjna",
271
- "unchanged": "bez zmian",
272
- "updated": "zaktualizowano",
273
- "waiting": "Oczekiwanie"
274
- },
275
- "mobile": {
276
- "addDevice": "Dodaj urządzenie",
277
- "connectedDevices": "Podłączone urządzenia",
278
- "connectedDevicesDesc": "{{count}} urządzenia sparowane z Twoim serwerem",
279
- "copyToken": "Kopiuj token",
280
- "deviceName": "Nazwa urządzenia",
281
- "deviceNamePlaceholder": "np. iPhone 15",
282
- "devicesConnected": "Podłączono {{current}} z {{max}}",
283
- "disable": "Wyłącz",
284
- "disableMobileAccess": "Wyłącz dostęp mobilny",
285
- "disableMobileAccessConfirm": "Spowoduje to odłączenie wszystkich urządzeń mobilnych i cofnięcie wszystkich sesji. Możesz ponownie włączyć dostęp mobilny później.",
286
- "done": "Gotowe",
287
- "downloadOnAppStore": "Pobierz w App Store",
288
- "enableMobileAccess": "Włącz dostęp mobilny",
289
- "enabling": "Włączanie...",
290
- "expiresIn": "Wygasa za {{time}}",
291
- "externalUrlBanner": "Używasz odwróconego serwera proxy lub uzyskasz zdalny dostęp? Ustaw swój",
292
- "externalUrlBannerLink": "Zewnętrzny adres URL",
293
- "externalUrlBannerSuffix": "aby aplikacja mobilna mogła połączyć się z Twoim serwerem.",
294
- "externalUrlRequired": "Zewnętrzny adres URL musi być skonfigurowany w ustawieniach ogólnych dla parowania mobilnego do pracy.",
295
- "failedToGenerateToken": "Nie udało się wygenerować tokenu",
296
- "generateToken": "Wygeneruj token parowania",
297
- "getOnGooglePlay": "Pobierz w Google Play",
298
- "getTheApp": "Pobierz aplikację",
299
- "getTheAppDesc": "Pobierz aplikację mobilną Tracearr na iOS lub Android",
300
- "mobileAccessDisabled": "Dostęp mobilny wyłączony",
301
- "mobileAccessDisabledDesc": "Włącz dostęp mobilny, aby umożliwić aplikacji mobilnej Tracearr łączenie się z serwerem.",
302
- "noDevices": "Brak podłączonych urządzeń",
303
- "oneTimePairToken": "Jednogodzinny token par",
304
- "pairDevice": "Sparuj urządzenie",
305
- "pairNewDevice": "Sparuj nowe urządzenie",
306
- "pairNewDeviceDesc": "Zeskanuj kod QR za pomocą aplikacji mobilnej Tracearr lub wprowadź token ręcznie.",
307
- "pairYourDevice": "Sparuj swoje urządzenie",
308
- "pairYourDeviceDesc": "Zeskanuj kod QR za pomocą aplikacji Tracearr, aby połączyć ten serwer.",
309
- "pendingTokens": "{{count}} pending pair tokens",
310
- "removeDevice": "Usuń urządzenie",
311
- "removeDeviceConfirm": "Czy na pewno chcesz usunąć {{deviceName}}? To urządzenie będzie musiało ponownie sparować, aby ponownie się połączyć.",
312
- "renameDevice": "Zmień nazwę urządzenia",
313
- "renameDeviceDesc": "Wprowadź nazwę aby zidentyfikować to urządzenie na liście.",
314
- "revokeAll": "Anuluj wszystkie sesje",
315
- "revokeAllConfirm": "Spowoduje to rozłączenie wszystkich urządzeń mobilnych. Będą musieli ponownie sparować, aby ponownie się połączyć.",
316
- "revokeAllSessions": "Unieważnij wszystko",
317
- "scanQrCode": "Zeskanuj kod QR",
318
- "title": "Aplikacja mobilna",
319
- "tokenExpires": "Token wygasa za {{time}}",
320
- "tokenExpiryNote": "Ten token wygasa za 5 minut i może być użyty tylko raz."
321
- },
322
- "notifications": {
323
- "agentCard": {
324
- "default": "Domyślny",
325
- "editSettings": "Edytuj ustawienia",
326
- "events": "Wydarzenia",
327
- "notConfigured": "Nie w pełni skonfigurowane.",
328
- "saved": "Zapisano",
329
- "sendTest": "Wyślij test"
330
- },
331
- "routing": {
332
- "discord": "Discord",
333
- "event": "Wydarzenie",
334
- "web": "Web",
335
- "webNote": "Powiadomienia push są skonfigurowane dla każdego urządzenia w aplikacji mobilnej.",
336
- "webToastNote": "pokazuje powiadomienia w dymku w tej przeglądarce.",
337
- "webhook": "Webhook"
338
- }
339
- },
340
- "plex": {
341
- "chooseServer": "Wybierz, który Plex Media Serwer będzie monitorowany",
342
- "selectServer": "Wybierz serwer",
343
- "signInWithPlex": "Zaloguj się poprzez Plex",
344
- "signUpWithPlex": "Zarejestruj się przez Plex"
345
- },
346
- "serverHealth": {
347
- "multipleUnreachable": "{{count}} serwery nieosiągalne: {{serverNames}}",
348
- "unreachable": "{{serverName}} jest nieosiągalny"
79
+ "apiRateLimit": "API Rate Limit",
80
+ "apiRateLimitDesc": "Maximum public API requests per minute per key. Restart required to apply.",
81
+ "apiRateLimitSuffix": "/min"
349
82
  },
350
83
  "servers": {
84
+ "title": "Połączone serwery",
351
85
  "addServer": "Dodaj serwer",
352
- "addServerDialogDescOther": "Połącz z serwerem Jellyfin lub Emby.",
353
- "addServerDialogDescPlex": "Wybierz serwer Plex z połączonego konta.",
354
- "added": "Dodano {{date}}",
355
- "allFieldsRequired": "Wszystkie pola są wymagane",
86
+ "serverName": "Nazwa serwera",
87
+ "serverUrl": "Adres URL serwera",
88
+ "syncInterval": "Częstotliwość synchronizacji",
89
+ "testConnection": "Testuj połączenie",
90
+ "connectionSuccess": "Połączenie powiodło się",
91
+ "connectionFailed": "Połączenie nieudane",
92
+ "noServersConnected": "Brak podłączonych serwerów",
93
+ "noServersConnectedHint": "Kliknij \"Dodaj serwer\", aby połączyć się z serwerem Jellyfin lub Emby",
94
+ "serverType": "Typ serwera",
95
+ "loadingAccounts": "Ładowanie powiązanych kont Plex...",
96
+ "noPlexAccountsLinked": "Brak powiązanych kont Plex",
97
+ "noPlexAccountsLinkedHint": "Połącz konto Plex powyżej, a następnie wróć aby dodać serwer.",
98
+ "selectPlexAccount": "Wybierz konto Plex",
99
+ "chooseAccount": "Wybierz konto...",
100
+ "selectAccountHelp": "Wybierz, z którego konta Plex chcesz odkryć serwery.",
356
101
  "allServersConnected": "Wszystkie serwery połączone",
357
102
  "allServersConnectedDesc": "Wszystkie serwery z tego konta są już połączone.",
358
- "apiKeyHelp": "Znaleziono w panelu ustawień twojego serwera multimedialnego pod kluczami API lub ustawieniami zaawansowanymi.",
359
- "apiKeyHelpEmby": "Znajdź to na serwerze Emby → Klucze API",
360
- "apiKeyHelpJellyfin": "Znajdź to w Panelu Jellyfin → Klucze API",
103
+ "serverUrlPlaceholder": "http://192.168.1.100:8096",
104
+ "serverUrlHelp": "Bezpośredni adres URL do serwera Jellyfin lub Emby. Użyj IP:port dla najlepszej niezawodności.",
105
+ "serverNamePlaceholder": "Mój serwer multimediów",
361
106
  "apiKeyPlaceholder": "Wprowadź swój klucz API",
362
- "checkingConnection": "Checking connection…",
363
- "chooseAccount": "Wybierz konto...",
364
- "connectServer": "Połącz z serwerem",
107
+ "apiKeyHelp": "Znaleziono w panelu ustawień twojego serwera multimedialnego pod kluczami API lub ustawieniami zaawansowanymi.",
365
108
  "connecting": "Łączenie...",
366
- "connectionFailed": "Połączenie nieudane",
367
- "connectionSuccess": "Połączenie powiodło się",
368
- "description": "Zarządzaj serwerami Plex, Jellyfin, i Emby",
369
- "discoveringConnections": "Odkrywanie połączeń...",
370
- "discoveringServers": "Odkrywanie dostępnych serwerów Plex...",
109
+ "connectServer": "Połącz z serwerem",
110
+ "removeServer": "Usuń serwer",
111
+ "removeServerConfirm": "Czy na pewno chcesz usunąć ten serwer? Wszystkie powiązane dane sesji zostaną zachowane, ale nie będziesz mógł monitorować nowych sesji z tego serwera.",
371
112
  "editServer": "Edytuj serwer",
372
113
  "editServerDesc": "Aktualizuj nazwę serwera lub adres URL połączenia.",
373
- "loadingAccounts": "Ładowanie powiązanych kont Plex...",
374
- "noPlexAccountsLinked": "Brak powiązanych kont Plex",
375
- "noPlexAccountsLinkedHint": "Połącz konto Plex powyżej, a następnie wróć aby dodać serwer.",
376
- "noServersConnected": "Brak podłączonych serwerów",
377
- "noServersConnectedHint": "Kliknij \"Dodaj serwer\", aby połączyć się z serwerem Jellyfin lub Emby",
114
+ "serverColor": "Kolor serwera",
115
+ "serverColorDesc": "Używane do wizualnego atrybutu w widoku wielu serwerów",
116
+ "updating": "Aktualizowanie...",
117
+ "allFieldsRequired": "Wszystkie pola są wymagane",
118
+ "addServerDialogDescPlex": "Wybierz serwer Plex z połączonego konta.",
119
+ "addServerDialogDescOther": "Połącz z serwerem Jellyfin lub Emby.",
120
+ "description": "Zarządzaj serwerami Plex, Jellyfin, i Emby",
121
+ "discoveringServers": "Odkrywanie dostępnych serwerów Plex...",
122
+ "discoveringConnections": "Odkrywanie połączeń...",
378
123
  "plexAccount": "Konto Plex",
124
+ "serverUrlHelpJellyfin": "Adres URL, na którym Twój serwer Jellyfin jest dostępny",
125
+ "serverUrlHelpEmby": "Adres URL, w którym Twój serwer Emby jest dostępny",
126
+ "apiKeyHelpJellyfin": "Znajdź to w Panelu Jellyfin → Klucze API",
127
+ "apiKeyHelpEmby": "Znajdź to na serwerze Emby → Klucze API",
379
128
  "plexServerPlaceholder": "Mój serwer Plex",
380
129
  "plexServerUrlPlaceholder": "http://192.168.1.100:32400",
381
- "pluginUpdateAvailable": "Plugin update available",
382
- "pluginVersion": "plugin v{{version}}",
383
- "pollingMode": "Polling",
384
- "posterSource": {
385
- "automatic": "Automatic (most recent)",
386
- "description": "When a title is on more than one server, use this server's poster. If it doesn't have one, we'll fall back to the most recently added copy.",
387
- "emptyHint": "Add a server to choose a preferred poster source.",
388
- "label": "Preferred Poster Source",
389
- "title": "Poster Preferences",
390
- "titleDesc": "Choose which server's poster is shown when a title exists on more than one server"
391
- },
130
+ "updateHint": "Lub kliknij przycisk Aktualizuj poniżej, aby zapisać tylko zmianę nazwy.",
131
+ "added": "Dodano {{date}}",
392
132
  "realtimeActive": "Real-time updates active",
133
+ "pollingMode": "Polling",
134
+ "setupRealtime": "Set up real-time updates",
135
+ "realtimeError": "Real-time error",
136
+ "checkingConnection": "Checking connection…",
137
+ "pluginVersion": "plugin v{{version}}",
138
+ "pluginUpdateAvailable": "Plugin update available",
393
139
  "realtimeDialog": {
394
- "autoDetectNote": "Restart Jellyfin or Emby after installing the plugin; the restart is required. Tracearr itself needs no restart and picks the plugin up automatically.",
395
- "close": "Close",
396
- "copyUrl": "Copy URL",
140
+ "title": "Enable real-time updates",
141
+ "updateTitle": "Update the Tracearr SSE plugin",
142
+ "jellyfinDescription": "Install the Tracearr SSE plugin to get instant session updates without waiting for the next poll.",
397
143
  "embyDescription": "Install the Tracearr SSE plugin to get instant session updates without waiting for the next poll.",
398
- "embyReleasesUrl": "https://github.com/Tracearr/Media-Server-SSE/releases",
144
+ "jellyfinUpdateDescription": "A newer plugin release is available. Open your Jellyfin dashboard, go to Plugins, Catalog, and update Tracearr SSE, then restart Jellyfin.",
399
145
  "embyUpdateDescription": "A newer plugin release is available. Download the latest release zip, replace the plugin DLL in your Emby plugins folder, and restart Emby.",
400
- "jellyfinDescription": "Install the Tracearr SSE plugin to get instant session updates without waiting for the next poll.",
146
+ "repositoryUrl": "Repository URL",
147
+ "copyUrl": "Copy URL",
401
148
  "jellyfinRepoUrl": "https://raw.githubusercontent.com/Tracearr/Media-Server-SSE/main/manifest.json",
402
- "jellyfinUpdateDescription": "A newer plugin release is available. Open your Jellyfin dashboard, go to Plugins, Catalog, and update Tracearr SSE, then restart Jellyfin.",
149
+ "embyReleasesUrl": "https://github.com/Tracearr/Media-Server-SSE/releases",
403
150
  "openReleases": "Open releases page",
404
- "repositoryUrl": "Repository URL",
405
- "title": "Enable real-time updates",
406
- "updateTitle": "Update the Tracearr SSE plugin",
151
+ "autoDetectNote": "Restart Jellyfin or Emby after installing the plugin; the restart is required. Tracearr itself needs no restart and picks the plugin up automatically.",
152
+ "close": "Close",
407
153
  "issueBlocked": "The server reports the plugin as installed and active, but Tracearr gets a 404 from its endpoint. A reverse proxy blocking the path is the usual cause.",
408
154
  "issueRestartRequired": "The plugin is installed, but the media server needs a restart before it activates.",
409
155
  "issueMalfunctioned": "The server reports the plugin failed to load. Updating the plugin or the media server usually clears this."
410
156
  },
411
- "removeServer": "Usuń serwer",
412
- "removeServerConfirm": "Czy na pewno chcesz usunąć ten serwer? Wszystkie powiązane dane sesji zostaną zachowane, ale nie będziesz mógł monitorować nowych sesji z tego serwera.",
413
- "selectAccountHelp": "Wybierz, z którego konta Plex chcesz odkryć serwery.",
414
- "selectPlexAccount": "Wybierz konto Plex",
415
- "serverColor": "Kolor serwera",
416
- "serverColorDesc": "Używane do wizualnego atrybutu w widoku wielu serwerów",
417
- "serverName": "Nazwa serwera",
418
- "serverNamePlaceholder": "Mój serwer multimediów",
419
- "serverType": "Typ serwera",
420
- "serverUrl": "Adres URL serwera",
421
- "serverUrlHelp": "Bezpośredni adres URL do serwera Jellyfin lub Emby. Użyj IP:port dla najlepszej niezawodności.",
422
- "serverUrlHelpEmby": "Adres URL, w którym Twój serwer Emby jest dostępny",
423
- "serverUrlHelpJellyfin": "Adres URL, na którym Twój serwer Jellyfin jest dostępny",
424
- "serverUrlPlaceholder": "http://192.168.1.100:8096",
425
- "setupRealtime": "Set up real-time updates",
426
- "realtimeError": "Real-time error",
427
- "syncInterval": "Częstotliwość synchronizacji",
428
- "testConnection": "Testuj połączenie",
429
- "title": "Połączone serwery",
430
- "updateHint": "Lub kliknij przycisk Aktualizuj poniżej, aby zapisać tylko zmianę nazwy.",
431
- "updating": "Aktualizowanie..."
432
- },
433
- "tabs": {
434
- "accessControl": "Kontrola dostępu",
435
- "advanced": "Zaawansowane",
436
- "backup": "Kopia zapasowa",
437
- "general": "Ogólne",
438
- "import": "Importuj",
439
- "jobs": "Zadania",
440
- "mobile": "Aplikacja mobilna",
441
- "notifications": "Powiadomienia",
442
- "servers": "Serwery",
443
- "tailscale": "Skala ogona"
157
+ "posterSource": {
158
+ "title": "Poster Preferences",
159
+ "titleDesc": "Choose which server's poster is shown when a title exists on more than one server",
160
+ "label": "Preferred Poster Source",
161
+ "description": "When a title is on more than one server, use this server's poster. If it doesn't have one, we'll fall back to the most recently added copy.",
162
+ "automatic": "Automatic (most recent)",
163
+ "emptyHint": "Add a server to choose a preferred poster source."
164
+ }
444
165
  },
445
- "tailscale": {
446
- "authorize": "Autoryzuj w skali ogonowej",
447
- "awaitingAuth": "Oczekiwanie na autoryzację...",
448
- "connected": "Skala ogona jest podłączona. Twoja instancja Tracearr jest dostępna w sieci ogonowej.",
449
- "description": "Uzyskaj bezpieczny dostęp do Tracearr w Twojej skali dostosowanej bez przekierowywania portów.",
450
- "disable": "Wyłącz skalę ogona",
451
- "disableConfirmDescription": "Spowoduje to odłączenie Tracearr od sieci ogonowej. Możesz ponownie włączyć bez ponownej autoryzacji.",
452
- "disableConfirmTitle": "Wyłączyć skalę?",
453
- "disabledDescription": "Włącz Skalę Ogonową, aby umieścić Tracearr w sieci prywatnej. Przekierowanie portu lub odwrotne proxy nie jest wymagane.",
454
- "dnsName": "Nazwa DNS",
455
- "enable": "Włącz skalę ogona",
456
- "exitNodeNone": "Brak",
457
- "exitNodeOffline": "(offline)",
458
- "hideLogs": "Ukryj logi",
459
- "hostname": "Hostname",
460
- "hostnameHint": "Opcjonalnie niestandardowa nazwa tego urządzenia w sieci ogonowej. Tylko litery, cyfry i myślniki.",
461
- "hostnameLabel": "Nazwa hosta urządzenia",
462
- "noLogs": "Brak danych wyjściowych dziennika.",
463
- "notAvailable": "Nie znaleziono binarnego skali ogonowej. Ta funkcja jest dostępna tylko podczas używania oficjalnego obrazu Dockera.",
464
- "resetConfirmDescription": "Spowoduje to odłączenie Tracearr od sieci ogonowej i usunięcie tożsamości urządzenia. Będziesz musiał ponownie autoryzować jeśli włączysz ją ponownie.",
465
- "resetConfirmTitle": "Reset Tailscale?",
466
- "showLogs": "Pokaż logi",
467
- "starting": "Uruchamianie skali ogonów...",
468
- "stopping": "Zatrzymywanie skali ogonów...",
469
- "tailnetUrl": "Adres URL",
470
- "title": "Sieć VPN o skali ogonowej",
471
- "toast": {
472
- "disableFailed": "Nie udało się wyłączyć skali ogona",
473
- "disabled": "Skala ogona została wyłączona.",
474
- "enableFailed": "Nie udało się włączyć skali ogona",
475
- "exitNodeFailed": "Nie udało się ustawić węzła wyjścia",
476
- "exitNodeSet": "Zaktualizowano węzeł wyjścia.",
477
- "reset": "Skala ogona została zresetowana.",
478
- "resetFailed": "Nie udało się zresetować skali ogona"
166
+ "mobile": {
167
+ "title": "Aplikacja mobilna",
168
+ "pairDevice": "Sparuj urządzenie",
169
+ "connectedDevices": "Podłączone urządzenia",
170
+ "generateToken": "Wygeneruj token parowania",
171
+ "scanQrCode": "Zeskanuj kod QR",
172
+ "tokenExpires": "Token wygasa za {{time}}",
173
+ "noDevices": "Brak podłączonych urządzeń",
174
+ "revokeAll": "Anuluj wszystkie sesje",
175
+ "getTheApp": "Pobierz aplikację",
176
+ "getTheAppDesc": "Pobierz aplikację mobilną Tracearr na iOS lub Android",
177
+ "getOnGooglePlay": "Pobierz w Google Play",
178
+ "downloadOnAppStore": "Pobierz w App Store",
179
+ "pairYourDevice": "Sparuj swoje urządzenie",
180
+ "pairYourDeviceDesc": "Zeskanuj kod QR za pomocą aplikacji Tracearr, aby połączyć ten serwer.",
181
+ "externalUrlRequired": "Zewnętrzny adres URL musi być skonfigurowany w ustawieniach ogólnych dla parowania mobilnego do pracy.",
182
+ "mobileAccessDisabled": "Dostęp mobilny wyłączony",
183
+ "mobileAccessDisabledDesc": "Włącz dostęp mobilny, aby umożliwić aplikacji mobilnej Tracearr łączenie się z serwerem.",
184
+ "enableMobileAccess": "Włącz dostęp mobilny",
185
+ "enabling": "Włączanie...",
186
+ "devicesConnected": "Podłączono {{current}} z {{max}}",
187
+ "pendingTokens": "{{count}} pending pair tokens",
188
+ "addDevice": "Dodaj urządzenie",
189
+ "disableMobileAccess": "Wyłącz dostęp mobilny",
190
+ "connectedDevicesDesc": "{{count}} urządzenia sparowane z Twoim serwerem",
191
+ "revokeAllSessions": "Unieważnij wszystko",
192
+ "pairNewDevice": "Sparuj nowe urządzenie",
193
+ "pairNewDeviceDesc": "Zeskanuj kod QR za pomocą aplikacji mobilnej Tracearr lub wprowadź token ręcznie.",
194
+ "expiresIn": "Wygasa za {{time}}",
195
+ "oneTimePairToken": "Jednogodzinny token par",
196
+ "copyToken": "Kopiuj token",
197
+ "tokenExpiryNote": "Ten token wygasa za 5 minut i może być użyty tylko raz.",
198
+ "done": "Gotowe",
199
+ "disableMobileAccessConfirm": "Spowoduje to odłączenie wszystkich urządzeń mobilnych i cofnięcie wszystkich sesji. Możesz ponownie włączyć dostęp mobilny później.",
200
+ "disable": "Wyłącz",
201
+ "revokeAllConfirm": "Spowoduje to rozłączenie wszystkich urządzeń mobilnych. Będą musieli ponownie sparować, aby ponownie się połączyć.",
202
+ "renameDevice": "Zmień nazwę urządzenia",
203
+ "renameDeviceDesc": "Wprowadź nazwę aby zidentyfikować to urządzenie na liście.",
204
+ "deviceName": "Nazwa urządzenia",
205
+ "deviceNamePlaceholder": "np. iPhone 15",
206
+ "removeDevice": "Usuń urządzenie",
207
+ "failedToGenerateToken": "Nie udało się wygenerować tokenu",
208
+ "removeDeviceConfirm": "Czy na pewno chcesz usunąć {{deviceName}}? To urządzenie będzie musiało ponownie sparować, aby ponownie się połączyć.",
209
+ "externalUrlBanner": "Używasz odwróconego serwera proxy lub uzyskasz zdalny dostęp? Ustaw swój",
210
+ "externalUrlBannerLink": "Zewnętrzny adres URL",
211
+ "externalUrlBannerSuffix": "aby aplikacja mobilna mogła połączyć się z Twoim serwerem."
212
+ },
213
+ "tailscale": {
214
+ "title": "Sieć VPN o skali ogonowej",
215
+ "description": "Uzyskaj bezpieczny dostęp do Tracearr w Twojej skali dostosowanej bez przekierowywania portów.",
216
+ "notAvailable": "Nie znaleziono binarnego skali ogonowej. Ta funkcja jest dostępna tylko podczas używania oficjalnego obrazu Dockera.",
217
+ "disabledDescription": "Włącz Skalę Ogonową, aby umieścić Tracearr w sieci prywatnej. Przekierowanie portu lub odwrotne proxy nie jest wymagane.",
218
+ "hostnameLabel": "Nazwa hosta urządzenia",
219
+ "hostnameHint": "Opcjonalnie niestandardowa nazwa tego urządzenia w sieci ogonowej. Tylko litery, cyfry i myślniki.",
220
+ "enable": "Włącz skalę ogona",
221
+ "disable": "Wyłącz skalę ogona",
222
+ "starting": "Uruchamianie skali ogonów...",
223
+ "stopping": "Zatrzymywanie skali ogonów...",
224
+ "awaitingAuth": "Oczekiwanie na autoryzację...",
225
+ "authorize": "Autoryzuj w skali ogonowej",
226
+ "connected": "Skala ogona jest podłączona. Twoja instancja Tracearr jest dostępna w sieci ogonowej.",
227
+ "hostname": "Hostname",
228
+ "dnsName": "Nazwa DNS",
229
+ "tailnetUrl": "Adres URL",
230
+ "showLogs": "Pokaż logi",
231
+ "hideLogs": "Ukryj logi",
232
+ "noLogs": "Brak danych wyjściowych dziennika.",
233
+ "exitNodeNone": "Brak",
234
+ "exitNodeOffline": "(offline)",
235
+ "unknownError": "Wystąpił nieznany błąd.",
236
+ "disableConfirmTitle": "Wyłączyć skalę?",
237
+ "disableConfirmDescription": "Spowoduje to odłączenie Tracearr od sieci ogonowej. Możesz ponownie włączyć bez ponownej autoryzacji.",
238
+ "resetConfirmTitle": "Reset Tailscale?",
239
+ "resetConfirmDescription": "Spowoduje to odłączenie Tracearr od sieci ogonowej i usunięcie tożsamości urządzenia. Będziesz musiał ponownie autoryzować jeśli włączysz ją ponownie.",
240
+ "toast": {
241
+ "disabled": "Skala ogona została wyłączona.",
242
+ "enableFailed": "Nie udało się włączyć skali ogona",
243
+ "disableFailed": "Nie udało się wyłączyć skali ogona",
244
+ "reset": "Skala ogona została zresetowana.",
245
+ "resetFailed": "Nie udało się zresetować skali ogona",
246
+ "exitNodeSet": "Zaktualizowano węzeł wyjścia.",
247
+ "exitNodeFailed": "Nie udało się ustawić węzła wyjścia"
248
+ }
249
+ },
250
+ "webhooks": {
251
+ "title": "Konfiguracja webhooka",
252
+ "discordWebhook": "Adres URL webhooka Discorda",
253
+ "ntfyTopic": "Temat Ntfy",
254
+ "customWebhook": "Własny adres URL webhooka",
255
+ "webhookFormat": "Format Webhooka",
256
+ "testWebhook": "Test Webhooka"
257
+ },
258
+ "jobs": {
259
+ "title": "Praca konserwacyjna",
260
+ "description": "Zarządzaj zadaniami w tle, które pozwalają na dokładne i zoptymalizowane dane.",
261
+ "normalization": "Normalizacja",
262
+ "backfill": "Uzupełnianie",
263
+ "cleanup": "Czyszczenie",
264
+ "running": "uruchomiony",
265
+ "queued": "w kolejce",
266
+ "delayed": "opóźnienie",
267
+ "waiting": "Oczekiwanie",
268
+ "runningState": "Uruchamianie",
269
+ "runJob": "Uruchom Zadanie",
270
+ "processed": "przetworzone",
271
+ "updated": "zaktualizowano",
272
+ "unchanged": "bez zmian",
273
+ "errors": "błędy",
274
+ "lastJobCompleted": "Ostatnie zadanie zakończone pomyślnie",
275
+ "lastJobFailed": "Ostatnie zadanie nie powiodło się",
276
+ "jobHistory": "Historia Zadań",
277
+ "jobHistoryDesc": "Ostatnie wykonanie prac konserwacyjnych",
278
+ "runConfirm": "Uruchomić {{name}}?",
279
+ "mayTakeAWhile": "To może zająć chwilę",
280
+ "mayTakeAWhileDesc": "To zadanie może zająć kilka minut w zależności od rozmiaru Twojej biblioteki.",
281
+ "startJob": "Rozpocznij pracę"
282
+ },
283
+ "notifications": {
284
+ "routing": {
285
+ "event": "Wydarzenie",
286
+ "web": "Web",
287
+ "discord": "Discord",
288
+ "webhook": "Webhook",
289
+ "webNote": "Powiadomienia push są skonfigurowane dla każdego urządzenia w aplikacji mobilnej.",
290
+ "webToastNote": "pokazuje powiadomienia w dymku w tej przeglądarce."
479
291
  },
480
- "unknownError": "Wystąpił nieznany błąd."
292
+ "agentCard": {
293
+ "saved": "Zapisano",
294
+ "default": "Domyślny",
295
+ "events": "Wydarzenia",
296
+ "sendTest": "Wyślij test",
297
+ "notConfigured": "Nie w pełni skonfigurowane.",
298
+ "editSettings": "Edytuj ustawienia"
299
+ }
300
+ },
301
+ "advanced": {
302
+ "title": "Ustawienia zaawansowane",
303
+ "externalUrl": "Zewnętrzny adres URL",
304
+ "trustProxy": "Zaufaj nagłówkom serwera proxy",
305
+ "reverseProxy": "Odwrócone Proxy",
306
+ "connectionScenarios": "Scenariusze połączenia"
307
+ },
308
+ "accessControl": {
309
+ "title": "Kontrola dostępu",
310
+ "description": "Skonfiguruj kto ma dostęp do Tracearr",
311
+ "allowGuestAccess": "Zezwalaj na dostęp gości",
312
+ "allowGuestAccessDesc": "Po wyłączeniu, tylko właściciel serwera może zalogować się do Tracearr",
313
+ "singleOwnerNote": "Uwaga: Gdy dostęp do gości jest wyłączony, tylko właściciel serwera może się zalogować. Wszyscy inni użytkownicy zobaczą komunikat \"Odmowa dostępu\"."
314
+ },
315
+ "import": {
316
+ "title": "Importuj dane",
317
+ "jellystat": "Importuj z Jellystat",
318
+ "tautulli": "Importuj z Tautulli",
319
+ "importProgress": "Postęp importu",
320
+ "importComplete": "Import zakończony",
321
+ "importFailed": "Import nie udany",
322
+ "processed": "Przetworzone",
323
+ "page": "Strona",
324
+ "imported": "Zaimportowano",
325
+ "skipped": "Pominięto",
326
+ "enriched": "Ulepszono",
327
+ "errors": "Błędy",
328
+ "noServers": "Brak podłączonych serwerów",
329
+ "noServersHint": "Potrzebujesz co najmniej jednego połączonego serwera do zaimportowania danych.",
330
+ "tautulliUrl": "URL Tautulli",
331
+ "tautulliUrlPlaceholder": "http://localhost:8181",
332
+ "tautulliUrlHelp": "Adres URL twojej instancji Tautulli.",
333
+ "apiKeyHelp": "Znaleziono w ustawieniach Tautulli → Interfejs Web → Klucz API.",
334
+ "testing": "Testowanie...",
335
+ "connectToTautulli": "Połącz z Tautulli",
336
+ "importHistory": "Historia importu",
337
+ "targetServer": "Target Server",
338
+ "selectPlexServer": "Wybierz serwer Plex",
339
+ "overwriteFriendlyNames": "Zastąp istniejące przyjazne nazwy nazwami Tautulli",
340
+ "overwriteFriendlyNamesHelp": "Istniejące nazwy tożsamości w Tracearr zostaną zastąpione przyjaznymi nazwami z Tautulli.",
341
+ "includeStreamDetails": "Dołącz szczegółowe dane strumienia (kodeki, bitrate, rozdzielczość)",
342
+ "includeStreamDetailsHelp": "Import dodatkowych informacji o strumieniu. Może znacznie wydłużyć czas przywozu.",
343
+ "importing": "Importowanie...",
344
+ "startImport": "Rozpocznij import",
345
+ "howItWorks": "Jak działa import",
346
+ "howItWorksDesc": "Tracearr zaimportuje wszystkie historyczne dane zegarka z twojego źródła. To może zająć chwilę w zależności od wielkości twojej biblioteki.",
347
+ "recordsMayBeSkipped": "Rekordy mogą zostać pominięte, jeżeli:",
348
+ "selectTargetServer": "Wybierz serwer docelowy",
349
+ "selectJellyfinServer": "Wybierz serwer Jellyfin lub Emby",
350
+ "uploadJellystatBackup": "Prześlij kopię zapasową Jellystat",
351
+ "exportBackupHint": "Eksportuj kopię zapasową aktywności z Jellystat",
352
+ "exportBackupHelp": "W Jellystat przejdź do Ustawienia → Kopia zapasowa → Kopia zapasowa Aktywności, aby wyeksportować swoje dane.",
353
+ "importOptions": "Opcje importu",
354
+ "enrichMetadata": "Wzbogacanie metadanych mediów (zalecane)",
355
+ "enrichMetadataHelp": "Pobiera dodatkowe metadane z serwera multimedialnego dla zaimportowanych sesji.",
356
+ "updateExistingRecords": "Aktualizuj istniejące rekordy ze szczegółami strumienia",
357
+ "updateExistingRecordsHelp": "Poprzednio zaimportowane rekordy zostaną zaktualizowane danymi jakości strumienia.",
358
+ "pleaseEnterDetails": "Wprowadź adres URL Tautulli i klucz API",
359
+ "testingConnection": "Testowanie połączenia...",
360
+ "pleaseSelectJsonFile": "Wybierz plik JSON",
361
+ "uploadingBackup": "Przesyłanie pliku kopii zapasowej...",
362
+ "importHistoryDesc": "Importuj historyczne dane zegarka z zewnętrznych źródeł",
363
+ "plex": "Plex (Tautulli)",
364
+ "jellyfinEmby": "Jellyfin/Emby (Jellystat)",
365
+ "step1": "1",
366
+ "step2": "2",
367
+ "apiKeyPlaceholder": "Twój klucz API Tautulli",
368
+ "skipUserNotFoundPlex": "Nie znaleziono użytkownika — użytkownik Plex nie istnieje w Tracearr. Najpierw zsynchronizuj swój serwer, aby dodać wszystkich użytkowników.",
369
+ "skipDuplicate": "Zduplikowana sesja — sesja została już wcześniej zaimportowana.",
370
+ "skipInProgress": "Sesja w toku — Sesje aktywne/niekompletne bez identyfikatora odniesienia są pomijane.",
371
+ "skipUserNotFoundJellyfin": "Nie znaleziono użytkownika — użytkownik Jellyfin/Emby nie istnieje w Tracearr. Najpierw zsynchronizuj swój serwer, aby dodać wszystkich użytkowników.",
372
+ "skipSyncHint": "Jeśli wiele rekordów zostało pominiętych, upewnij się, że niedawno zsynchronizowałeś swój serwer w Ustawieniach → Serwery.",
373
+ "importInProgressPercent": "Importowanie w toku (ukończono{{percent}}%)...",
374
+ "importInProgressGeneric": "Importowanie w toku...",
375
+ "startingImport": "Rozpoczęcie importowania...",
376
+ "connectedFound": "Połączono! Znaleziono użytkowników {{users}} i rekordy historii {{records}}.",
377
+ "playbackReporting": "Playback Reporting Plugin",
378
+ "playbackReportingDesc": "Import history directly from the Playback Reporting plugin installed on your Jellyfin or Emby server. No file export needed.",
379
+ "checkPlugin": "Check Plugin",
380
+ "checkingPlugin": "Checking...",
381
+ "pluginFound": "Plugin found: {{records}} records from {{oldestDate}} to {{newestDate}}",
382
+ "pluginNotInstalled": "The Playback Reporting plugin is not installed on this server, or Tracearr cannot reach it. Install it from the server's plugin catalog to start recording history, or use the Jellystat import below.",
383
+ "serverTimezone": "Server Timezone",
384
+ "serverTimezoneHelp": "Must match the timezone configured on your media server host, not your browser's timezone. Playback Reporting timestamps are stored in local server time.",
385
+ "importFullRange": "Import full history",
386
+ "importFullRangeHelp": "By default only history older than Tracearr's earliest tracked session for this server is imported, so sessions Tracearr already recorded are never duplicated. Enable this to import the plugin's entire history regardless of overlap, if your Tracearr history has gaps. Exact duplicates are still skipped.",
387
+ "overlapSkipped": "{{count}} skipped as overlap",
388
+ "duplicates": "{{count}} duplicates skipped",
389
+ "skipOverlap": "Overlapping record - the timestamp falls inside the period Tracearr already tracks for this server. Enable full-range import to include it.",
390
+ "skipDuplicatePlugin": "Duplicate record - already imported directly or arrived earlier via a Jellystat import of the same plugin data."
391
+ },
392
+ "plex": {
393
+ "signInWithPlex": "Zaloguj się poprzez Plex",
394
+ "signUpWithPlex": "Zarejestruj się przez Plex",
395
+ "selectServer": "Wybierz serwer",
396
+ "chooseServer": "Wybierz, który Plex Media Serwer będzie monitorowany"
397
+ },
398
+ "account": {
399
+ "createAccount": "Załóż konto",
400
+ "email": "Adres e-mail",
401
+ "password": "Hasło",
402
+ "displayName": "Wyświetlana nazwa",
403
+ "createYourAccount": "Utwórz konto, aby rozpocząć",
404
+ "signInToAccount": "Zaloguj się na swoje konto",
405
+ "useLocalAccount": "Zamiast tego użyj konta lokalnego"
481
406
  },
482
- "title": "Ustawienia",
483
407
  "update": {
484
- "betaUpdate": "Aktualizacja wersji beta",
485
- "newVersion": "Nowa wersja",
486
- "pullInstructions": "Po ściągnięciu uruchom ponownie kontener, aby zastosować aktualizację.",
487
- "releaseNotes": "Informacje o wersji",
488
- "stableRelease": "Wydanie Stabilne",
489
408
  "title": "Aktualizacja dostępna",
409
+ "releaseNotes": "Informacje o wersji",
490
410
  "updateCommand": "Zaktualizuj polecenie",
411
+ "pullInstructions": "Po ściągnięciu uruchom ponownie kontener, aby zastosować aktualizację.",
412
+ "stableRelease": "Wydanie Stabilne",
413
+ "betaUpdate": "Aktualizacja wersji beta",
414
+ "newVersion": "Nowa wersja",
491
415
  "versionAvailable": "{{version}} dostępny"
492
416
  },
493
- "webhooks": {
494
- "customWebhook": "Własny adres URL webhooka",
495
- "discordWebhook": "Adres URL webhooka Discorda",
496
- "ntfyTopic": "Temat Ntfy",
497
- "testWebhook": "Test Webhooka",
498
- "title": "Konfiguracja webhooka",
499
- "webhookFormat": "Format Webhooka"
417
+ "serverHealth": {
418
+ "unreachable": "{{serverName}} jest nieosiągalny",
419
+ "multipleUnreachable": "{{count}} serwery nieosiągalne: {{serverNames}}"
420
+ },
421
+ "ipWarning": {
422
+ "message": "Wszyscy użytkownicy wydają się używać tego samego adresu IP lub IP sieci lokalnej. Może to mieć wpływ na logikę dla lokalizacji lub adresów IP opartą na regułach.",
423
+ "acknowledge": "Zrozumiano"
424
+ },
425
+ "backup": {
426
+ "title": "Kopia zapasowa",
427
+ "backToBackups": "Wróć do kopii zapasowych",
428
+ "description": "Kopia zapasowa i przywracanie danych Tracearr",
429
+ "createBackup": "Utwórz kopię zapasową",
430
+ "creating": "Tworzenie kopii zapasowej...",
431
+ "uploadBackup": "Prześlij kopię zapasową",
432
+ "uploading": "Wgrywanie...",
433
+ "databaseSize": "Aktualny rozmiar bazy danych: {{size}}",
434
+ "freeSpace": "Wolne miejsce w katalogu kopii zapasowej: {{size}}",
435
+ "lowDiskSpace": "Niskie miejsce na dysku — kopie zapasowe i przywracanie wymagają co najmniej dwukrotnego rozmiaru bazy danych w wolnym miejscu.",
436
+ "backupHistory": "Historia kopii zapasowej",
437
+ "noBackups": "Brak kopii zapasowych. Utwórz swoją pierwszą kopię zapasową powyżej.",
438
+ "filename": "Nazwa pliku",
439
+ "size": "Rozmiar",
440
+ "date": "Data",
441
+ "type": "Typ",
442
+ "version": "Wersja",
443
+ "actions": "Akcje",
444
+ "typeManual": "Ręcznie",
445
+ "typeScheduled": "Zaplanowane",
446
+ "typeUploaded": "Przesłano",
447
+ "restoreAction": "Przywróć",
448
+ "deleteConfirmTitle": "Usuń kopię zapasową",
449
+ "deleteConfirmDescription": "Czy na pewno chcesz usunąć tę kopię zapasową? Tej operacji nie można cofnąć.",
450
+ "schedule": "Zaplanowane kopie zapasowe",
451
+ "scheduleType": "Harmonogram",
452
+ "scheduleDisabled": "Wyłączone",
453
+ "scheduleDaily": "Codziennie",
454
+ "scheduleWeekly": "Tygodniowo",
455
+ "scheduleMonthly": "Miesięczny",
456
+ "scheduleTime": "Czas ({{timezone}})",
457
+ "scheduleDayOfWeek": "Dzień tygodnia",
458
+ "scheduleDayOfMonth": "Dzień miesiąca",
459
+ "scheduleDayOfMonthHint": "W miesiącach z mniejszą ilością dni, kopia zapasowa działa w ostatnim dniu.",
460
+ "retentionCount": "Zachowaj ostatnią",
461
+ "retentionSuffix": "zaplanowane kopie zapasowe",
462
+ "daySun": "Niedziela",
463
+ "dayMon": "Poniedziałek",
464
+ "dayTue": "Wtorek",
465
+ "dayWed": "Środa",
466
+ "dayThu": "Czwartek",
467
+ "dayFri": "Piątek",
468
+ "daySat": "Sobota",
469
+ "restore": {
470
+ "title": "Przywróć kopię zapasową",
471
+ "selectedBackup": "Wybrana kopia zapasowa",
472
+ "databaseSize": "Rozmiar bazy danych",
473
+ "sessions": "Sesje",
474
+ "users": "Użytkownicy",
475
+ "servers": "Serwery",
476
+ "rules": "Regulamin",
477
+ "libraryItems": "Elementy biblioteki",
478
+ "tables": "Tabele",
479
+ "warning": "Przywracanie zastąpi wszystkie istniejące dane. Musisz ponownie zalogować się po zakończeniu przywracania.",
480
+ "confirmLabel": "Rozumiem, że to zastąpi wszystkie dane",
481
+ "confirm": "Rozpocznij przywracanie",
482
+ "complete": "Przywracanie zakończone pomyślnie. Strona odświeży się wkrótce.",
483
+ "failed": "Przywracanie nie powiodło się",
484
+ "cannotRestore": "Przywracanie wymaga uprawnień superużytkownika PostgreSQL. Upewnij się, że użytkownik bazy danych ma uprawnienia superużytkownika i spróbuj ponownie.",
485
+ "pgVersionMismatch": "Kopia zapasowa została utworzona na PostgreSQL {{backupVersion}} , ale ten serwer uruchamia PostgreSQL {{serverVersion}}. Przywracanie zrzutu z nowszej wersji PostgreSQL nie jest obsługiwane.",
486
+ "tsVersionMismatch": "Kopia zapasowa została utworzona z TimescaleDB {{backupVersion}} , ale ten serwer obsługuje tylko do TimescaleDB {{serverVersion}}."
487
+ },
488
+ "toast": {
489
+ "backupCreated": "Kopia zapasowa utworzona pomyślnie",
490
+ "backupCreateFailed": "Nie udało się utworzyć kopii zapasowej",
491
+ "backupUploaded": "Kopia zapasowa przesłana pomyślnie",
492
+ "backupUploadFailed": "Nie udało się przesłać kopii zapasowej",
493
+ "backupDeleted": "Kopia zapasowa usunięta",
494
+ "backupDeleteFailed": "Nie udało się usunąć kopii zapasowej",
495
+ "restoreStarted": "Przywracanie rozpoczęte",
496
+ "restoreStartFailed": "Nie udało się uruchomić przywracania",
497
+ "scheduleSaved": "Harmonogram kopii zapasowej zapisany",
498
+ "scheduleError": "Nie udało się zapisać harmonogramu kopii zapasowej"
499
+ }
500
500
  }
501
501
  }