@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": "Confirgurações",
3
- "tabs": {
4
- "general": "Gerais",
5
- "servers": "Servidores",
6
- "notifications": "notificações",
7
- "mobile": "Aplicativo Móvel",
8
- "tailscale": "Escala Caudal",
9
- "import": "Importação",
10
- "advanced": "Avançado",
11
- "jobs": "Empregos",
12
- "accessControl": "Controle de Acesso",
13
- "backup": "Backup"
2
+ "accessControl": {
3
+ "allowGuestAccess": "Permitir Acesso de Visitante",
4
+ "allowGuestAccessDesc": "Quando desativado, somente o proprietário do servidor pode se conectar ao Tracearr",
5
+ "description": "Configurar quem pode acessar Tracearr",
6
+ "singleOwnerNote": "Nota: Quando o acesso de convidados está desativado, somente o dono do servidor pode fazer o login. Todos os outros usuários verão uma mensagem de \"Acesso negado\"",
7
+ "title": "Controle de Acesso"
8
+ },
9
+ "account": {
10
+ "createAccount": "Criar conta",
11
+ "createYourAccount": "Crie sua conta para começar",
12
+ "displayName": "Nome para exibição",
13
+ "email": "e-mail",
14
+ "password": "Palavra-passe",
15
+ "signInToAccount": "Entre na sua conta",
16
+ "useLocalAccount": "Usar conta local"
17
+ },
18
+ "advanced": {
19
+ "connectionScenarios": "Cenários de conexão",
20
+ "externalUrl": "URL externa",
21
+ "reverseProxy": "Proxy reverso",
22
+ "title": "Configurações Avançadas",
23
+ "trustProxy": "Confiar nos cabeçalhos de proxy"
24
+ },
25
+ "backup": {
26
+ "actions": "Ações.",
27
+ "backToBackups": "Voltar para Backups",
28
+ "backupHistory": "Histórico de backup",
29
+ "createBackup": "Criar Backup",
30
+ "creating": "Criando backup...",
31
+ "databaseSize": "Tamanho atual do banco de dados: {{size}}",
32
+ "date": "Encontro",
33
+ "dayFri": "Sexta-feira",
34
+ "dayMon": "Segunda-Feira",
35
+ "daySat": "sábado",
36
+ "daySun": "domingo",
37
+ "dayThu": "quinta-feira",
38
+ "dayTue": "Terça-feira",
39
+ "dayWed": "quarta-feira",
40
+ "deleteConfirmDescription": "Tem certeza que deseja excluir este backup? Esta ação não pode ser desfeita.",
41
+ "deleteConfirmTitle": "Excluir Backup",
42
+ "description": "Fazer backup e restaurar seus dados do Tracearr",
43
+ "filename": "Nome",
44
+ "freeSpace": "Backup de espaço livre de diretórios: {{size}}",
45
+ "lowDiskSpace": "Pouco espaço em disco — backups e restaurações requerem pelo menos o dobro do tamanho do banco de dados no espaço livre.",
46
+ "noBackups": "Nenhum backup ainda. Crie seu primeiro backup acima.",
47
+ "restore": {
48
+ "automations": "Automations",
49
+ "cannotRestore": "Restauração requer privilégios de superusuário do PostgreSQL. Por favor, verifique se o usuário do banco de dados tem privilégios de superusuário e tente novamente.",
50
+ "complete": "Restauração foi concluída com sucesso. A página será atualizada em breve.",
51
+ "confirm": "Iniciar restauração",
52
+ "confirmLabel": "Eu entendo que isso irá substituir todos os dados",
53
+ "databaseSize": "Tamanho do banco",
54
+ "failed": "Restauração falhou",
55
+ "libraryItems": "Itens da Biblioteca",
56
+ "pgVersionMismatch": "O backup foi criado no PostgreSQL {{backupVersion}} mas este servidor roda PostgreSQL {{serverVersion}}. Restaurar um dump de uma nova versão do PostgreSQL não é suportado.",
57
+ "selectedBackup": "Backup Selecionado",
58
+ "servers": "Servidores",
59
+ "sessions": "Sessões",
60
+ "tables": "Tabelas",
61
+ "title": "Restaurar Backup",
62
+ "tsVersionMismatch": "O backup foi criado com TimescaleDB {{backupVersion}} mas este servidor suporta apenas TimescaleDB {{serverVersion}}.",
63
+ "users": "Utilizadores",
64
+ "warning": "A restauração irá substituir todos os dados existentes. Você precisará relogar após a conclusão da restauração."
65
+ },
66
+ "restoreAction": "RESTAURAR",
67
+ "retentionCount": "Manter a última",
68
+ "retentionSuffix": "backups agendados",
69
+ "schedule": "Backups Agendados",
70
+ "scheduleDaily": "Diariamente",
71
+ "scheduleDayOfMonth": "Dia do Mês",
72
+ "scheduleDayOfMonthHint": "Em meses com menos dias, o backup é executado no último dia.",
73
+ "scheduleDayOfWeek": "Dia da semana",
74
+ "scheduleDisabled": "Desabilitado",
75
+ "scheduleMonthly": "Mensual",
76
+ "scheduleTime": "Tempo ({{timezone}})",
77
+ "scheduleType": "Agendamento",
78
+ "scheduleWeekly": "Semanalmente",
79
+ "size": "Tamanho",
80
+ "title": "Backup",
81
+ "toast": {
82
+ "backupCreateFailed": "Falha ao criar backup",
83
+ "backupCreated": "Backup criado com sucesso",
84
+ "backupDeleteFailed": "Falha ao excluir backup",
85
+ "backupDeleted": "Backup excluído",
86
+ "backupUploadFailed": "Falha ao carregar backup",
87
+ "backupUploaded": "Backup enviado com sucesso",
88
+ "restoreStartFailed": "Falha ao iniciar a restauração",
89
+ "restoreStarted": "Restauração iniciada",
90
+ "scheduleError": "Falha ao salvar o agendamento de backup",
91
+ "scheduleSaved": "Agendamento de backup salvo"
92
+ },
93
+ "type": "tipo",
94
+ "typeManual": "Manualmente",
95
+ "typeScheduled": "Agendado",
96
+ "typeUploaded": "Enviado",
97
+ "uploadBackup": "Carregar Backup",
98
+ "uploading": "Enviando...",
99
+ "version": "Versão"
14
100
  },
15
101
  "general": {
16
- "title": "Configurações Gerais",
17
- "unitSystem": "Sistema de Unidades",
18
- "metric": "Métrico (km, km/h)",
19
- "imperial": "Imperial (mi, mph)",
20
- "timezone": "Timezone",
21
- "primaryAuth": "Método de autenticação primário",
22
- "localAccount": "Conta local",
23
- "plexAccount": "Conta Plex",
24
- "language": "IDIOMA",
25
- "languageDescription": "Escolha o idioma de exibição preferido.",
26
- "helpTranslate": "Ajude a traduzir Tracearr",
27
- "timeFormat": "Formato da Hora",
28
- "timeFormatDescription": "Escolher como os horários são exibidos.",
29
- "timeFormat12h": "12 horas (1:30 PM)",
30
- "timeFormat24h": "24 horas (13:30)",
102
+ "accentColor": "Cor do acento",
103
+ "apiDocs": "API Docs",
104
+ "apiKeyDesc": "Acesse a API do Tracearr para integrações de terceiros, como Homarr, Assistente do Mar, etc.",
105
+ "apiKeyReadAccess": "Sua chave de API concede acesso de leitura aos dados do Tracearr.",
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": "Aparência",
32
110
  "appearanceDesc": "Personalizar a aparência do Tracearr",
33
- "theme": "Tema",
34
- "accentColor": "Cor do acento",
35
- "default": "(padrão)",
36
- "cyanDefault": "* Ciano é a cor de destaque padrão",
37
- "themeLight": "Fino",
38
- "themeDark": "Escuro",
39
- "themeSystem": "SISTEMA",
40
111
  "application": "Solicitação",
41
112
  "applicationDesc": "Configurar configurações básicas do aplicativo",
42
- "unitSystemDesc": "Escolha como as distâncias e velocidades são exibidas",
43
- "sessionSync": "Sincronização de sessão",
44
- "sessionSyncDesc": "Ativar o rastreamento de sessão para seus servidores de mídia",
45
- "syncInterval": "Intervalo de sincronização",
46
- "syncIntervalDesc": "Frequência de votação para Jellyfin/Emby (5-300 segundos)",
47
- "syncIntervalSuffix": "seg.",
48
- "plexSseNote": "Plex usa eventos enviados pelo servidor (SSE) para atualizações instantâneas — não é necessário fazer consultas.",
49
- "jellyfinPollingNote": "Jellyfin/Emby são pesquisados no intervalo acima.",
113
+ "copyToClipboard": "Copiar para área de transferência",
114
+ "cyanDefault": "* Ciano é a cor de destaque padrão",
115
+ "default": "(padrão)",
116
+ "detect": "Detectar",
50
117
  "enhancedGeoIP": "Pesquisa GeoIP Melhorada",
51
118
  "enhancedGeoIPDesc": "Use o serviço GeoIP do Plex's para dados de localização mais precisos. Quando ativado, os endereços IP são enviados para plex. v para busca. Banco de dados local MaxMind é usado como fallback.",
52
119
  "externalAccess": "Acesso externo",
53
120
  "externalAccessDesc": "Configurar como dispositivos externos (como aplicativos móveis) se conectam ao servidor",
54
121
  "externalUrl": "URL externa",
55
- "externalUrlPlaceholder": "https://tracearr.example.com",
56
122
  "externalUrlDesc": "O URL que os dispositivos externos devem usar para alcançar este servidor. Usado para códigos QR e pareamento de aplicativos móveis.",
57
- "detect": "Detectar",
58
- "localhostWarning": "URLs Localhost não funcionam para dispositivos externos. Use seu IP LAN ou um nome de domínio.",
123
+ "externalUrlPlaceholder": "https://tracearr.example.com",
124
+ "generateApiKeyPrompt": "Gerar uma chave de API para permitir integrações externas.",
125
+ "generateKey": "Gerar Chave",
126
+ "helpTranslate": "Ajude a traduzir Tracearr",
127
+ "imperial": "Imperial (mi, mph)",
59
128
  "iosHttpWarning": "O iOS requer HTTPS para conexões externas. Configure um proxy reverso com SSL.",
60
- "apiKeyDesc": "Acesse a API do Tracearr para integrações de terceiros, como Homarr, Assistente do Mar, etc.",
61
- "apiDocs": "API Docs",
129
+ "jellyfinPollingNote": "Jellyfin/Emby são pesquisados no intervalo acima.",
130
+ "language": "IDIOMA",
131
+ "languageDescription": "Escolha o idioma de exibição preferido.",
132
+ "localAccount": "Conta local",
133
+ "localhostWarning": "URLs Localhost não funcionam para dispositivos externos. Use seu IP LAN ou um nome de domínio.",
134
+ "metric": "Métrico (km, km/h)",
62
135
  "noApiKeyGenerated": "Nenhuma chave de API gerada",
63
- "copyToClipboard": "Copiar para área de transferência",
64
- "apiKeyReadAccess": "Sua chave de API concede acesso de leitura aos dados do Tracearr.",
65
- "generateApiKeyPrompt": "Gerar uma chave de API para permitir integrações externas.",
136
+ "plexAccount": "Conta Plex",
137
+ "plexSseNote": "Plex usa eventos enviados pelo servidor (SSE) para atualizações instantâneas — não é necessário fazer consultas.",
138
+ "primaryAuth": "Método de autenticação primário",
139
+ "publicApiSettings": "Public API",
140
+ "publicApiSettingsDesc": "Configure watch-completion thresholds and request limits for the public API",
66
141
  "regenerate": "Regenerar",
67
- "generateKey": "Gerar Chave",
68
142
  "regenerateApiKey": "Regenerar chave de API?",
69
143
  "regenerateApiKeyDesc": "Isso invalidará sua chave de API atual. Quaisquer integrações usando a chave antiga deixarão de funcionar.",
70
- "publicApiSettings": "Public API",
71
- "publicApiSettingsDesc": "Configure watch-completion thresholds and request limits for the public API",
144
+ "sessionSync": "Sincronização de sessão",
145
+ "sessionSyncDesc": "Ativar o rastreamento de sessão para seus servidores de mídia",
146
+ "syncInterval": "Intervalo de sincronização",
147
+ "syncIntervalDesc": "Frequência de votação para Jellyfin/Emby (5-300 segundos)",
148
+ "syncIntervalSuffix": "seg.",
149
+ "theme": "Tema",
150
+ "themeDark": "Escuro",
151
+ "themeLight": "Fino",
152
+ "themeSystem": "SISTEMA",
153
+ "timeFormat": "Formato da Hora",
154
+ "timeFormat12h": "12 horas (1:30 PM)",
155
+ "timeFormat24h": "24 horas (13:30)",
156
+ "timeFormatDescription": "Escolher como os horários são exibidos.",
157
+ "timezone": "Timezone",
158
+ "title": "Configurações Gerais",
159
+ "unitSystem": "Sistema de Unidades",
160
+ "unitSystemDesc": "Escolha como as distâncias e velocidades são exibidas",
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": "Servidores Conectados",
85
- "addServer": "Adicionar Servidor",
86
- "serverName": "Nome do Servidor",
87
- "serverUrl": "URL do servidor",
88
- "syncInterval": "Intervalo de sincronização",
89
- "testConnection": "Testar Conexão",
90
- "connectionSuccess": "Conexão bem sucedida",
91
- "connectionFailed": "Conexão falhou",
92
- "noServersConnected": "Nenhum servidor conectado",
93
- "noServersConnectedHint": "Clique em \"Adicionar Servidor\" para conectar um servidor Jellyfin ou Emby",
94
- "serverType": "Tipo de Servidor",
95
- "loadingAccounts": "Carregando contas Plex vinculadas...",
96
- "noPlexAccountsLinked": "Nenhuma conta Plex vinculada",
97
- "noPlexAccountsLinkedHint": "Vincule uma conta Plex acima, depois volte para adicionar um servidor.",
98
- "selectPlexAccount": "Selecionar conta Plex",
99
- "chooseAccount": "Escolha uma conta...",
100
- "selectAccountHelp": "Selecione de qual conta Plex para descobrir servidores.",
101
- "allServersConnected": "Todos os servidores conectados",
102
- "allServersConnectedDesc": "Todos os servidores desta conta já estão conectados.",
103
- "serverUrlPlaceholder": "http://192.168.1.100:8096",
104
- "serverUrlHelp": "Direta URL para o seu servidor Jellyfin ou Emby. Use IP:port para obter a melhor confiabilidade.",
105
- "serverNamePlaceholder": "Meu Servidor de Mídia",
106
- "apiKeyPlaceholder": "Digite sua chave da API",
107
- "apiKeyHelp": "Encontrado no painel do seu servidor de mídia sob chaves de API ou configurações avançadas.",
108
- "connecting": "Conectandochar@@0",
109
- "connectServer": "Conectar servidor",
110
- "removeServer": "Remover Servidor",
111
- "removeServerConfirm": "Tem certeza que deseja remover este servidor? Todos os dados da sessão associados serão mantidos, mas você não será capaz de monitorar novas sessões deste servidor.",
112
- "editServer": "Editar Servidor",
113
- "editServerDesc": "Atualizar o nome ou URL de conexão.",
114
- "serverColor": "Cor do servidor",
115
- "serverColorDesc": "Usado para atribuição visual na visualização de multi-servidores",
116
- "updating": "Atualizando...",
117
- "allFieldsRequired": "Todos os campos são obrigatórios",
118
- "addServerDialogDescPlex": "Selecione um servidor Plex na sua conta vinculada.",
119
- "addServerDialogDescOther": "Conecte um servidor Jellyfin ou Emby.",
120
- "description": "Gerencie seus servidores Plex, Jellyfin, e Emby conectados",
121
- "discoveringServers": "Descobrindo servidores Plex disponíveis...",
122
- "discoveringConnections": "Descobrindo conexões...",
123
- "plexAccount": "Conta Plex",
124
- "serverUrlHelpJellyfin": "A URL onde o seu servidor Jellyfin está acessível",
125
- "serverUrlHelpEmby": "A URL onde o seu servidor Emby está acessível",
126
- "apiKeyHelpJellyfin": "Encontre isto no Painel de Jellyfin → Chaves API",
127
- "apiKeyHelpEmby": "Encontre isso no Servidor Emby → Chaves API",
128
- "plexServerPlaceholder": "Meu servidor Plex",
129
- "plexServerUrlPlaceholder": "http://192.168.1.100:32400",
130
- "updateHint": "Ou clique em Atualizar abaixo para salvar apenas a alteração de nome.",
131
- "added": "Adicionada {{date}}",
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": "Aplicativo Móvel",
168
- "pairDevice": "Parear Dispositivo",
169
- "connectedDevices": "Dispositivos conectados",
170
- "generateToken": "Gerar Símbolo de Par",
171
- "scanQrCode": "Scan QR Code",
172
- "tokenExpires": "Token expira em {{time}}",
173
- "noDevices": "Nenhum dispositivo conectado",
174
- "revokeAll": "Revogar todas as sessões",
175
- "getTheApp": "Obter o aplicativo",
176
- "getTheAppDesc": "Baixe o aplicativo móvel Tracearr para iOS ou Android",
177
- "getOnGooglePlay": "Baixe no Google Play",
178
- "downloadOnAppStore": "Baixar na App Store",
179
- "pairYourDevice": "Parear Seu Dispositivo",
180
- "pairYourDeviceDesc": "Digitalize o código QR com o aplicativo Tracearr para se conectar a este servidor.",
181
- "externalUrlRequired": "Um URL externo deve ser configurado em Configurações Gerais para que o pareamento dos dispositivos móveis funcione.",
182
- "mobileAccessDisabled": "Acesso móvel desativado",
183
- "mobileAccessDisabledDesc": "Ative o acesso móvel para permitir que o aplicativo móvel Tracearr conecte-se ao seu servidor.",
184
- "enableMobileAccess": "Habilitar acesso móvel",
185
- "enabling": "Habilitando...",
186
- "devicesConnected": "Dispositivos {{current}} do {{max}} conectados",
187
- "pendingTokens": "{{count}} tokens de pares pendentes",
188
- "addDevice": "Adicionar dispositivo",
189
- "disableMobileAccess": "Desativar acesso móvel",
190
- "connectedDevicesDesc": "Dispositivos {{count}} emparelhados ao seu servidor",
191
- "revokeAllSessions": "Revogar Todos",
192
- "pairNewDevice": "Parear Novo Dispositivo",
193
- "pairNewDeviceDesc": "Escaneie o código QR com o aplicativo móvel Tracearr, ou digite o token manualmente.",
194
- "expiresIn": "Expira em {{time}}",
195
- "oneTimePairToken": "Token de Par Único",
196
- "copyToken": "Copiar token",
197
- "tokenExpiryNote": "Esse token expira em 5 minutos e só pode ser usado uma vez.",
198
- "done": "Concluído",
199
- "disableMobileAccessConfirm": "Isto desconectará todos os dispositivos móveis e revogará todas as sessões. Você pode reativar o acesso móvel mais tarde.",
200
- "disable": "Desligado",
201
- "revokeAllConfirm": "Isto irá desconectar todos os dispositivos móveis. Eles vão precisar parear novamente para reconectar.",
202
- "renameDevice": "Renomear Dispositivo",
203
- "renameDeviceDesc": "Insira um nome para identificar este dispositivo na lista.",
204
- "deviceName": "Nome do dispositivo",
205
- "deviceNamePlaceholder": "por exemplo, iPhone 15",
206
- "removeDevice": "Remover o dispositivo",
207
- "failedToGenerateToken": "Falha ao gerar token",
208
- "removeDeviceConfirm": "Tem certeza que deseja remover {{deviceName}}? Este dispositivo precisará parear novamente para se reconectar.",
209
- "externalUrlBanner": "Usando um proxy reverso ou acesse remotamente? Defina seu",
210
- "externalUrlBannerLink": "URL externa",
211
- "externalUrlBannerSuffix": "para que o aplicativo móvel possa conectar ao seu servidor."
212
- },
213
- "tailscale": {
214
- "title": "VPN de escala proporcional",
215
- "description": "Acesse o Tracearr com segurança na sua rede Tailscale sem encaminhamento de porta.",
216
- "notAvailable": "binário de escala não encontrado. Este recurso só está disponível ao executar a imagem oficial do Docker.",
217
- "disabledDescription": "Habilite a Escala Caudal para colocar o Tracearr na sua rede personalizada privada. Sem necessidade de encaminhamento de porta ou proxy reverso.",
218
- "hostnameLabel": "Hostname do dispositivo",
219
- "hostnameHint": "Nome personalizado opcional para este dispositivo na rede de sua cauda. Apenas letras, números e hífens",
220
- "enable": "Ativar Escala Caudal",
221
- "disable": "Desativar Escala Caudal",
222
- "starting": "Iniciando a Escala Cauda...",
223
- "stopping": "Parando a escala cauda...",
224
- "awaitingAuth": "Aguardando autorização...",
225
- "authorize": "Autorizar em Escala Caudal",
226
- "connected": "Escala Caudal está conectada. Sua instância do Tracearr está disponível na rede da cauda.",
227
- "hostname": "Hostname",
228
- "dnsName": "Nome DNS",
229
- "tailnetUrl": "URL:",
230
- "showLogs": "Mostrar logs",
231
- "hideLogs": "Ocultar logs",
232
- "noLogs": "Nenhuma saída de log disponível.",
233
- "exitNodeNone": "Nenhuma",
234
- "exitNodeOffline": "(off-line)",
235
- "unknownError": "Ocorreu um erro desconhecido.",
236
- "disableConfirmTitle": "Desativar Escala Caudal?",
237
- "disableConfirmDescription": "Isto irá desconectar Tracearr de sua rede de cauda. Você pode reativar sem autorização novamente.",
238
- "resetConfirmTitle": "Reset Tailscale?",
239
- "resetConfirmDescription": "Isto desconectará o Tracearr de sua cauda e removerá a identidade do dispositivo. Você precisará re-autorizar se você o ativar novamente.",
240
- "toast": {
241
- "disabled": "Escala Caudal foi desabilitada.",
242
- "enableFailed": "Falha ao ativar o Tailscale",
243
- "disableFailed": "Falha ao desativar Escala Caudal",
244
- "reset": "A escala Caudal foi redefinida.",
245
- "resetFailed": "Falha ao redefinir a Escala Caudal",
246
- "exitNodeSet": "Sair do servidor atualizado.",
247
- "exitNodeFailed": "Falha ao definir o nó de saída"
248
- }
249
- },
250
- "jobs": {
251
- "title": "Trabalhos em Manutenção",
252
- "description": "Gerenciar tarefas em segundo plano que mantêm seus dados precisos e otimizados.",
253
- "normalization": "Normalização",
254
- "backfill": "Preenchimento",
255
- "cleanup": "Limpar",
256
- "running": "executando",
257
- "queued": "na fila",
258
- "delayed": "atrasado",
259
- "waiting": "Esperando",
260
- "runningState": "Executando",
261
- "runJob": "Executar job",
262
- "processed": "processado",
263
- "updated": "Atualizado",
264
- "unchanged": "inalterado",
265
- "errors": "erros",
266
- "lastJobCompleted": "Último trabalho concluído com sucesso",
267
- "lastJobFailed": "Último trabalho falhou",
268
- "jobHistory": "Histórico do Trabalho",
269
- "jobHistoryDesc": "Execuções recentes de manutenção",
270
- "runConfirm": "Executar {{name}}?",
271
- "mayTakeAWhile": "Isso pode demorar um pouco",
272
- "mayTakeAWhileDesc": "Este trabalho pode levar vários minutos para ser concluído, dependendo do tamanho da sua biblioteca.",
273
- "startJob": "Iniciar trabalho"
274
- },
275
- "advanced": {
276
- "title": "Configurações Avançadas",
277
- "externalUrl": "URL externa",
278
- "trustProxy": "Confiar nos cabeçalhos de proxy",
279
- "reverseProxy": "Proxy reverso",
280
- "connectionScenarios": "Cenários de conexão"
281
- },
282
- "accessControl": {
283
- "title": "Controle de Acesso",
284
- "description": "Configurar quem pode acessar Tracearr",
285
- "allowGuestAccess": "Permitir Acesso de Visitante",
286
- "allowGuestAccessDesc": "Quando desativado, somente o proprietário do servidor pode se conectar ao Tracearr",
287
- "singleOwnerNote": "Nota: Quando o acesso de convidados está desativado, somente o dono do servidor pode fazer o login. Todos os outros usuários verão uma mensagem de \"Acesso negado\""
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": "Importar dados",
291
- "jellystat": "Importar de Jellystat",
292
- "tautulli": "Importar de Tautulli",
293
- "importProgress": "Progresso da Importação",
194
+ "apiKeyHelp": "Encontrado nas Configurações Tautulli → Web Interface → API Key.",
195
+ "apiKeyPlaceholder": "Sua chave de API Tautulli",
196
+ "checkPlugin": "Check Plugin",
197
+ "checkingPlugin": "Checking...",
198
+ "connectToTautulli": "Conectar ao Tautulli",
199
+ "connectedFound": "Conectado! Encontrados usuários {{users}} e registros do histórico {{records}}.",
200
+ "duplicates": "{{count}} duplicates skipped",
201
+ "enrichMetadata": "Enriquecer com metadados de mídia (recomendado)",
202
+ "enrichMetadataHelp": "Obtém metadados adicionais do seu servidor de mídia para sessões importadas.",
203
+ "enriched": "Enrilhado",
204
+ "errors": "Erros",
205
+ "exportBackupHelp": "Em Jellystat, vá em Configurações → Backup → Backup de atividade para exportar seus dados.",
206
+ "exportBackupHint": "Exportar um backup de atividades do Jellystat",
207
+ "howItWorks": "Como funciona a importação",
208
+ "howItWorksDesc": "Tracearr irá importar todos os dados históricos do relógio da sua fonte. Isso pode levar um tempo dependendo do tamanho da sua biblioteca.",
294
209
  "importComplete": "Importação Completa",
295
210
  "importFailed": "Importação Falhou",
296
- "processed": "Processado",
297
- "page": "Página",
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": "Importar histórico",
214
+ "importHistoryDesc": "Importar dados de relógio histórico de fontes externas",
215
+ "importInProgressGeneric": "Importação em andamento...",
216
+ "importInProgressPercent": "Importação em andamento ({{percent}}% completa)...",
217
+ "importOptions": "Importar opções",
218
+ "importProgress": "Progresso da Importação",
298
219
  "imported": "Importado",
299
- "skipped": "Ignorado",
300
- "enriched": "Enrilhado",
301
- "errors": "Erros",
220
+ "importing": "Importando...",
221
+ "includeStreamDetails": "Incluir dados detalhados do fluxo (codecs, taxa de bits, resolução)",
222
+ "includeStreamDetailsHelp": "Importa informações adicionais do fluxo. Pode aumentar significativamente o tempo de importação.",
223
+ "jellyfinEmby": "Jellyfin/Emby (Jellystat)",
224
+ "jellystat": "Importar de Jellystat",
302
225
  "noServers": "Nenhum Servidor Conectado",
303
226
  "noServersHint": "Você precisa de pelo menos um servidor conectado para importar dados.",
304
- "tautulliUrl": "URL Tautulli",
305
- "tautulliUrlPlaceholder": "http://localhost:8181",
306
- "tautulliUrlHelp": "A URL da sua instância Tautulli.",
307
- "apiKeyHelp": "Encontrado nas Configurações Tautulli → Web Interface → API Key.",
308
- "testing": "Testando...",
309
- "connectToTautulli": "Conectar ao Tautulli",
310
- "importHistory": "Importar histórico",
311
- "targetServer": "Target Server",
312
- "selectPlexServer": "Selecione um servidor Plex",
227
+ "overlapSkipped": "{{count}} skipped as overlap",
313
228
  "overwriteFriendlyNames": "Sobrescrever nomes amigáveis existentes com nomes Tautulli",
314
229
  "overwriteFriendlyNamesHelp": "Os nomes de identidade existentes no Tracearr serão substituídos pelos nomes amigáveis de Tautulli.",
315
- "includeStreamDetails": "Incluir dados detalhados do fluxo (codecs, taxa de bits, resolução)",
316
- "includeStreamDetailsHelp": "Importa informações adicionais do fluxo. Pode aumentar significativamente o tempo de importação.",
317
- "importing": "Importando...",
318
- "startImport": "Iniciar importação",
319
- "howItWorks": "Como funciona a importação",
320
- "howItWorksDesc": "Tracearr irá importar todos os dados históricos do relógio da sua fonte. Isso pode levar um tempo dependendo do tamanho da sua biblioteca.",
321
- "recordsMayBeSkipped": "Registros podem ser ignorados se:",
322
- "selectTargetServer": "Selecione o servidor alvo",
323
- "selectJellyfinServer": "Selecione um servidor Jellyfin ou Emby",
324
- "uploadJellystatBackup": "Carregar Backup do Jellystat",
325
- "exportBackupHint": "Exportar um backup de atividades do Jellystat",
326
- "exportBackupHelp": "Em Jellystat, vá em Configurações → Backup → Backup de atividade para exportar seus dados.",
327
- "importOptions": "Importar opções",
328
- "enrichMetadata": "Enriquecer com metadados de mídia (recomendado)",
329
- "enrichMetadataHelp": "Obtém metadados adicionais do seu servidor de mídia para sessões importadas.",
330
- "updateExistingRecords": "Atualizar registros existentes com detalhes de stream",
331
- "updateExistingRecordsHelp": "Registros importados anteriormente serão atualizados com dados de qualidade de stream.",
230
+ "page": "Página",
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": "Por favor, insira a URL do Tautulli e chave de API",
333
- "testingConnection": "Testando conexão...",
334
234
  "pleaseSelectJsonFile": "Por favor, selecione um arquivo JSON",
335
- "uploadingBackup": "Enviando arquivo de backup...",
336
- "importHistoryDesc": "Importar dados de relógio histórico de fontes externas",
337
235
  "plex": "Plex (Tautulli)",
338
- "jellyfinEmby": "Jellyfin/Emby (Jellystat)",
339
- "step1": "1",
340
- "step2": "2",
341
- "apiKeyPlaceholder": "Sua chave de API Tautulli",
342
- "skipUserNotFoundPlex": "Usuário não encontrado — O usuário Plex não existe no Tracearr. Sincronize seu servidor primeiro para adicionar todos os usuários.",
343
- "skipDuplicate": "Sessão duplicada — A sessão já foi importada anteriormente.",
344
- "skipInProgress": "Sessão em andamento — Sessões ativas/incompletas sem um ID de referência são ignoradas.",
345
- "skipUserNotFoundJellyfin": "Usuário não encontrado - O usuário do Jellyfin/Emby não existe no Tracearr. Sincronize seu servidor primeiro para adicionar todos os usuários.",
346
- "skipSyncHint": "Se muitos registros forem ignorados, certifique-se de que você sincronizou seu servidor recentemente em Configurações → Servidores.",
347
- "importInProgressPercent": "Importação em andamento ({{percent}}% completa)...",
348
- "importInProgressGeneric": "Importação em andamento...",
349
- "startingImport": "Iniciando importação...",
350
- "connectedFound": "Conectado! Encontrados usuários {{users}} e registros do histórico {{records}}.",
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": "Processado",
239
+ "recordsMayBeSkipped": "Registros podem ser ignorados se:",
240
+ "selectJellyfinServer": "Selecione um servidor Jellyfin ou Emby",
241
+ "selectPlexServer": "Selecione um servidor Plex",
242
+ "selectTargetServer": "Selecione o servidor alvo",
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": "Sessão duplicada — A sessão já foi importada anteriormente.",
246
+ "skipDuplicatePlugin": "Duplicate record - already imported directly or arrived earlier via a Jellystat import of the same plugin data.",
247
+ "skipInProgress": "Sessão em andamento — Sessões ativas/incompletas sem um ID de referência são ignoradas.",
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": "Entrar com o Plex",
368
- "signUpWithPlex": "Cadastre-se com o Plex",
369
- "selectServer": "Selecionar servidor",
370
- "chooseServer": "Escolha qual Plex Media Server monitorar"
249
+ "skipSyncHint": "Se muitos registros forem ignorados, certifique-se de que você sincronizou seu servidor recentemente em Configurações → Servidores.",
250
+ "skipUserNotFoundJellyfin": "Usuário não encontrado - O usuário do Jellyfin/Emby não existe no Tracearr. Sincronize seu servidor primeiro para adicionar todos os usuários.",
251
+ "skipUserNotFoundPlex": "Usuário não encontrado — O usuário Plex não existe no Tracearr. Sincronize seu servidor primeiro para adicionar todos os usuários.",
252
+ "skipped": "Ignorado",
253
+ "startImport": "Iniciar importação",
254
+ "startingImport": "Iniciando importação...",
255
+ "step1": "1",
256
+ "step2": "2",
257
+ "targetServer": "Target Server",
258
+ "tautulli": "Importar de Tautulli",
259
+ "tautulliUrl": "URL Tautulli",
260
+ "tautulliUrlHelp": "A URL da sua instância Tautulli.",
261
+ "tautulliUrlPlaceholder": "http://localhost:8181",
262
+ "testing": "Testando...",
263
+ "testingConnection": "Testando conexão...",
264
+ "title": "Importar dados",
265
+ "updateExistingRecords": "Atualizar registros existentes com detalhes de stream",
266
+ "updateExistingRecordsHelp": "Registros importados anteriormente serão atualizados com dados de qualidade de stream.",
267
+ "uploadJellystatBackup": "Carregar Backup do Jellystat",
268
+ "uploadingBackup": "Enviando arquivo de backup..."
371
269
  },
372
- "account": {
373
- "createAccount": "Criar conta",
374
- "email": "e-mail",
375
- "password": "Palavra-passe",
376
- "displayName": "Nome para exibição",
377
- "createYourAccount": "Crie sua conta para começar",
378
- "signInToAccount": "Entre na sua conta",
379
- "useLocalAccount": "Usar conta local"
270
+ "ipWarning": {
271
+ "acknowledge": "Eu tenho que",
272
+ "message": "Todos os usuários parecem estar usando o mesmo endereço IP ou IPs de rede locais. Isso pode afetar a lógica baseada em regras para endereços locais ou IP."
380
273
  },
381
- "update": {
382
- "title": "Atualização disponível",
383
- "releaseNotes": "Notas de Versão",
384
- "updateCommand": "Atualizar Comando",
385
- "pullInstructions": "Após pulsar, reinicie o seu contêiner para aplicar a atualização.",
386
- "stableRelease": "Lançamento Estável",
387
- "betaUpdate": "Atualização Beta",
388
- "newVersion": "Nova versão",
389
- "versionAvailable": "{{version}} available"
274
+ "jobs": {
275
+ "backfill": "Preenchimento",
276
+ "cleanup": "Limpar",
277
+ "delayed": "atrasado",
278
+ "description": "Gerenciar tarefas em segundo plano que mantêm seus dados precisos e otimizados.",
279
+ "errors": "erros",
280
+ "jobHistory": "Histórico do Trabalho",
281
+ "jobHistoryDesc": "Execuções recentes de manutenção",
282
+ "lastJobCompleted": "Último trabalho concluído com sucesso",
283
+ "lastJobFailed": "Último trabalho falhou",
284
+ "mayTakeAWhile": "Isso pode demorar um pouco",
285
+ "mayTakeAWhileDesc": "Este trabalho pode levar vários minutos para ser concluído, dependendo do tamanho da sua biblioteca.",
286
+ "normalization": "Normalização",
287
+ "processed": "processado",
288
+ "queued": "na fila",
289
+ "runConfirm": "Executar {{name}}?",
290
+ "runJob": "Executar job",
291
+ "running": "executando",
292
+ "runningState": "Executando",
293
+ "startJob": "Iniciar trabalho",
294
+ "title": "Trabalhos em Manutenção",
295
+ "unchanged": "inalterado",
296
+ "updated": "Atualizado",
297
+ "waiting": "Esperando"
390
298
  },
391
- "serverHealth": {
392
- "unreachable": "{{serverName}} é inacessível",
393
- "multipleUnreachable": "Servidores {{count}} inacessível: {{serverNames}}"
299
+ "mobile": {
300
+ "addDevice": "Adicionar dispositivo",
301
+ "connectedDevices": "Dispositivos conectados",
302
+ "connectedDevicesDesc": "Dispositivos {{count}} emparelhados ao seu servidor",
303
+ "copyToken": "Copiar token",
304
+ "deviceName": "Nome do dispositivo",
305
+ "deviceNamePlaceholder": "por exemplo, iPhone 15",
306
+ "devicesConnected": "Dispositivos {{current}} do {{max}} conectados",
307
+ "disable": "Desligado",
308
+ "disableMobileAccess": "Desativar acesso móvel",
309
+ "disableMobileAccessConfirm": "Isto desconectará todos os dispositivos móveis e revogará todas as sessões. Você pode reativar o acesso móvel mais tarde.",
310
+ "done": "Concluído",
311
+ "downloadOnAppStore": "Baixar na App Store",
312
+ "enableMobileAccess": "Habilitar acesso móvel",
313
+ "enabling": "Habilitando...",
314
+ "expiresIn": "Expira em {{time}}",
315
+ "externalUrlBanner": "Usando um proxy reverso ou acesse remotamente? Defina seu",
316
+ "externalUrlBannerLink": "URL externa",
317
+ "externalUrlBannerSuffix": "para que o aplicativo móvel possa conectar ao seu servidor.",
318
+ "externalUrlRequired": "Um URL externo deve ser configurado em Configurações Gerais para que o pareamento dos dispositivos móveis funcione.",
319
+ "failedToGenerateToken": "Falha ao gerar token",
320
+ "generateToken": "Gerar Símbolo de Par",
321
+ "getOnGooglePlay": "Baixe no Google Play",
322
+ "getTheApp": "Obter o aplicativo",
323
+ "getTheAppDesc": "Baixe o aplicativo móvel Tracearr para iOS ou Android",
324
+ "mobileAccessDisabled": "Acesso móvel desativado",
325
+ "mobileAccessDisabledDesc": "Ative o acesso móvel para permitir que o aplicativo móvel Tracearr conecte-se ao seu servidor.",
326
+ "noDevices": "Nenhum dispositivo conectado",
327
+ "oneTimePairToken": "Token de Par Único",
328
+ "pairDevice": "Parear Dispositivo",
329
+ "pairNewDevice": "Parear Novo Dispositivo",
330
+ "pairNewDeviceDesc": "Escaneie o código QR com o aplicativo móvel Tracearr, ou digite o token manualmente.",
331
+ "pairYourDevice": "Parear Seu Dispositivo",
332
+ "pairYourDeviceDesc": "Digitalize o código QR com o aplicativo Tracearr para se conectar a este servidor.",
333
+ "pendingTokens": "{{count}} tokens de pares pendentes",
334
+ "removeDevice": "Remover o dispositivo",
335
+ "removeDeviceConfirm": "Tem certeza que deseja remover {{deviceName}}? Este dispositivo precisará parear novamente para se reconectar.",
336
+ "renameDevice": "Renomear Dispositivo",
337
+ "renameDeviceDesc": "Insira um nome para identificar este dispositivo na lista.",
338
+ "revokeAll": "Revogar todas as sessões",
339
+ "revokeAllConfirm": "Isto irá desconectar todos os dispositivos móveis. Eles vão precisar parear novamente para reconectar.",
340
+ "revokeAllSessions": "Revogar Todos",
341
+ "scanQrCode": "Scan QR Code",
342
+ "title": "Aplicativo Móvel",
343
+ "tokenExpires": "Token expira em {{time}}",
344
+ "tokenExpiryNote": "Esse token expira em 5 minutos e só pode ser usado uma vez."
394
345
  },
395
- "ipWarning": {
396
- "message": "Todos os usuários parecem estar usando o mesmo endereço IP ou IPs de rede locais. Isso pode afetar a lógica baseada em regras para endereços locais ou IP.",
397
- "acknowledge": "Eu tenho que"
346
+ "plex": {
347
+ "chooseServer": "Escolha qual Plex Media Server monitorar",
348
+ "selectServer": "Selecionar servidor",
349
+ "signInWithPlex": "Entrar com o Plex",
350
+ "signUpWithPlex": "Cadastre-se com o Plex"
398
351
  },
399
- "backup": {
400
- "title": "Backup",
401
- "backToBackups": "Voltar para Backups",
402
- "description": "Fazer backup e restaurar seus dados do Tracearr",
403
- "createBackup": "Criar Backup",
404
- "creating": "Criando backup...",
405
- "uploadBackup": "Carregar Backup",
406
- "uploading": "Enviando...",
407
- "databaseSize": "Tamanho atual do banco de dados: {{size}}",
408
- "freeSpace": "Backup de espaço livre de diretórios: {{size}}",
409
- "lowDiskSpace": "Pouco espaço em disco — backups e restaurações requerem pelo menos o dobro do tamanho do banco de dados no espaço livre.",
410
- "backupHistory": "Histórico de backup",
411
- "noBackups": "Nenhum backup ainda. Crie seu primeiro backup acima.",
412
- "filename": "Nome",
413
- "size": "Tamanho",
414
- "date": "Encontro",
415
- "type": "tipo",
416
- "version": "Versão",
417
- "actions": "Ações.",
418
- "typeManual": "Manualmente",
419
- "typeScheduled": "Agendado",
420
- "typeUploaded": "Enviado",
421
- "restoreAction": "RESTAURAR",
422
- "deleteConfirmTitle": "Excluir Backup",
423
- "deleteConfirmDescription": "Tem certeza que deseja excluir este backup? Esta ação não pode ser desfeita.",
424
- "schedule": "Backups Agendados",
425
- "scheduleType": "Agendamento",
426
- "scheduleDisabled": "Desabilitado",
427
- "scheduleDaily": "Diariamente",
428
- "scheduleWeekly": "Semanalmente",
429
- "scheduleMonthly": "Mensual",
430
- "scheduleTime": "Tempo ({{timezone}})",
431
- "scheduleDayOfWeek": "Dia da semana",
432
- "scheduleDayOfMonth": "Dia do Mês",
433
- "scheduleDayOfMonthHint": "Em meses com menos dias, o backup é executado no último dia.",
434
- "retentionCount": "Manter a última",
435
- "retentionSuffix": "backups agendados",
436
- "daySun": "domingo",
437
- "dayMon": "Segunda-Feira",
438
- "dayTue": "Terça-feira",
439
- "dayWed": "quarta-feira",
440
- "dayThu": "quinta-feira",
441
- "dayFri": "Sexta-feira",
442
- "daySat": "sábado",
443
- "restore": {
444
- "title": "Restaurar Backup",
445
- "selectedBackup": "Backup Selecionado",
446
- "databaseSize": "Tamanho do banco",
447
- "sessions": "Sessões",
448
- "users": "Utilizadores",
449
- "servers": "Servidores",
450
- "rules": "Regras",
451
- "libraryItems": "Itens da Biblioteca",
452
- "tables": "Tabelas",
453
- "warning": "A restauração irá substituir todos os dados existentes. Você precisará relogar após a conclusão da restauração.",
454
- "confirmLabel": "Eu entendo que isso irá substituir todos os dados",
455
- "confirm": "Iniciar restauração",
456
- "complete": "Restauração foi concluída com sucesso. A página será atualizada em breve.",
457
- "failed": "Restauração falhou",
458
- "cannotRestore": "Restauração requer privilégios de superusuário do PostgreSQL. Por favor, verifique se o usuário do banco de dados tem privilégios de superusuário e tente novamente.",
459
- "pgVersionMismatch": "O backup foi criado no PostgreSQL {{backupVersion}} mas este servidor roda PostgreSQL {{serverVersion}}. Restaurar um dump de uma nova versão do PostgreSQL não é suportado.",
460
- "tsVersionMismatch": "O backup foi criado com TimescaleDB {{backupVersion}} mas este servidor suporta apenas TimescaleDB {{serverVersion}}."
352
+ "serverHealth": {
353
+ "multipleUnreachable": "Servidores {{count}} inacessível: {{serverNames}}",
354
+ "unreachable": "{{serverName}} é inacessível"
355
+ },
356
+ "servers": {
357
+ "addServer": "Adicionar Servidor",
358
+ "addServerDialogDescOther": "Conecte um servidor Jellyfin ou Emby.",
359
+ "addServerDialogDescPlex": "Selecione um servidor Plex na sua conta vinculada.",
360
+ "added": "Adicionada {{date}}",
361
+ "allFieldsRequired": "Todos os campos são obrigatórios",
362
+ "allServersConnected": "Todos os servidores conectados",
363
+ "allServersConnectedDesc": "Todos os servidores desta conta já estão conectados.",
364
+ "apiKeyHelp": "Encontrado no painel do seu servidor de mídia sob chaves de API ou configurações avançadas.",
365
+ "apiKeyHelpEmby": "Encontre isso no Servidor Emby → Chaves API",
366
+ "apiKeyHelpJellyfin": "Encontre isto no Painel de Jellyfin → Chaves API",
367
+ "apiKeyPlaceholder": "Digite sua chave da API",
368
+ "checkingConnection": "Checking connection…",
369
+ "chooseAccount": "Escolha uma conta...",
370
+ "connectServer": "Conectar servidor",
371
+ "connecting": "Conectandochar@@0",
372
+ "connectionFailed": "Conexão falhou",
373
+ "connectionSuccess": "Conexão bem sucedida",
374
+ "description": "Gerencie seus servidores Plex, Jellyfin, e Emby conectados",
375
+ "discoveringConnections": "Descobrindo conexões...",
376
+ "discoveringServers": "Descobrindo servidores Plex disponíveis...",
377
+ "editServer": "Editar Servidor",
378
+ "editServerDesc": "Atualizar o nome ou URL de conexão.",
379
+ "loadingAccounts": "Carregando contas Plex vinculadas...",
380
+ "noPlexAccountsLinked": "Nenhuma conta Plex vinculada",
381
+ "noPlexAccountsLinkedHint": "Vincule uma conta Plex acima, depois volte para adicionar um servidor.",
382
+ "noServersConnected": "Nenhum servidor conectado",
383
+ "noServersConnectedHint": "Clique em \"Adicionar Servidor\" para conectar um servidor Jellyfin ou Emby",
384
+ "plexAccount": "Conta Plex",
385
+ "plexServerPlaceholder": "Meu servidor Plex",
386
+ "plexServerUrlPlaceholder": "http://192.168.1.100:32400",
387
+ "pluginUpdateAvailable": "Plugin update available",
388
+ "pluginVersion": "plugin v{{version}}",
389
+ "pollingMode": "Polling",
390
+ "posterSource": {
391
+ "automatic": "Automatic (most recent)",
392
+ "description": "When a title is on more than one server, use this server's poster. If it doesn't have one, we'll fall back to the most recently added copy.",
393
+ "emptyHint": "Add a server to choose a preferred poster source.",
394
+ "label": "Preferred Poster Source",
395
+ "title": "Poster Preferences",
396
+ "titleDesc": "Choose which server's poster is shown when a title exists on more than one server"
461
397
  },
462
- "toast": {
463
- "backupCreated": "Backup criado com sucesso",
464
- "backupCreateFailed": "Falha ao criar backup",
465
- "backupUploaded": "Backup enviado com sucesso",
466
- "backupUploadFailed": "Falha ao carregar backup",
467
- "backupDeleted": "Backup excluído",
468
- "backupDeleteFailed": "Falha ao excluir backup",
469
- "restoreStarted": "Restauração iniciada",
470
- "restoreStartFailed": "Falha ao iniciar a restauração",
471
- "scheduleSaved": "Agendamento de backup salvo",
472
- "scheduleError": "Falha ao salvar o agendamento de backup"
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": "Remover Servidor",
419
+ "removeServerConfirm": "Tem certeza que deseja remover este servidor? Todos os dados da sessão associados serão mantidos, mas você não será capaz de monitorar novas sessões deste servidor.",
420
+ "selectAccountHelp": "Selecione de qual conta Plex para descobrir servidores.",
421
+ "selectPlexAccount": "Selecionar conta Plex",
422
+ "serverColor": "Cor do servidor",
423
+ "serverColorDesc": "Usado para atribuição visual na visualização de multi-servidores",
424
+ "serverName": "Nome do Servidor",
425
+ "serverNamePlaceholder": "Meu Servidor de Mídia",
426
+ "serverType": "Tipo de Servidor",
427
+ "serverUrl": "URL do servidor",
428
+ "serverUrlHelp": "Direta URL para o seu servidor Jellyfin ou Emby. Use IP:port para obter a melhor confiabilidade.",
429
+ "serverUrlHelpEmby": "A URL onde o seu servidor Emby está acessível",
430
+ "serverUrlHelpJellyfin": "A URL onde o seu servidor Jellyfin está acessível",
431
+ "serverUrlPlaceholder": "http://192.168.1.100:8096",
432
+ "setupRealtime": "Set up real-time updates",
433
+ "syncInterval": "Intervalo de sincronização",
434
+ "testConnection": "Testar Conexão",
435
+ "title": "Servidores Conectados",
436
+ "updateHint": "Ou clique em Atualizar abaixo para salvar apenas a alteração de nome.",
437
+ "updating": "Atualizando...",
438
+ "version": {
439
+ "installed": "Version {{version}}",
440
+ "upToDate": "up to date",
441
+ "updateAvailable": "update {{version}} available"
473
442
  }
443
+ },
444
+ "tabs": {
445
+ "accessControl": "Controle de Acesso",
446
+ "advanced": "Avançado",
447
+ "backup": "Backup",
448
+ "general": "Gerais",
449
+ "import": "Importação",
450
+ "jobs": "Empregos",
451
+ "mobile": "Aplicativo Móvel",
452
+ "notifications": "notificações",
453
+ "servers": "Servidores",
454
+ "tailscale": "Escala Caudal"
455
+ },
456
+ "tailscale": {
457
+ "authorize": "Autorizar em Escala Caudal",
458
+ "awaitingAuth": "Aguardando autorização...",
459
+ "connected": "Escala Caudal está conectada. Sua instância do Tracearr está disponível na rede da cauda.",
460
+ "description": "Acesse o Tracearr com segurança na sua rede Tailscale sem encaminhamento de porta.",
461
+ "disable": "Desativar Escala Caudal",
462
+ "disableConfirmDescription": "Isto irá desconectar Tracearr de sua rede de cauda. Você pode reativar sem autorização novamente.",
463
+ "disableConfirmTitle": "Desativar Escala Caudal?",
464
+ "disabledDescription": "Habilite a Escala Caudal para colocar o Tracearr na sua rede personalizada privada. Sem necessidade de encaminhamento de porta ou proxy reverso.",
465
+ "dnsName": "Nome DNS",
466
+ "enable": "Ativar Escala Caudal",
467
+ "exitNodeNone": "Nenhuma",
468
+ "exitNodeOffline": "(off-line)",
469
+ "hideLogs": "Ocultar logs",
470
+ "hostname": "Hostname",
471
+ "hostnameHint": "Nome personalizado opcional para este dispositivo na rede de sua cauda. Apenas letras, números e hífens",
472
+ "hostnameLabel": "Hostname do dispositivo",
473
+ "noLogs": "Nenhuma saída de log disponível.",
474
+ "notAvailable": "binário de escala não encontrado. Este recurso só está disponível ao executar a imagem oficial do Docker.",
475
+ "resetConfirmDescription": "Isto desconectará o Tracearr de sua cauda e removerá a identidade do dispositivo. Você precisará re-autorizar se você o ativar novamente.",
476
+ "resetConfirmTitle": "Reset Tailscale?",
477
+ "showLogs": "Mostrar logs",
478
+ "starting": "Iniciando a Escala Cauda...",
479
+ "stopping": "Parando a escala cauda...",
480
+ "tailnetUrl": "URL:",
481
+ "title": "VPN de escala proporcional",
482
+ "toast": {
483
+ "disableFailed": "Falha ao desativar Escala Caudal",
484
+ "disabled": "Escala Caudal foi desabilitada.",
485
+ "enableFailed": "Falha ao ativar o Tailscale",
486
+ "exitNodeFailed": "Falha ao definir o nó de saída",
487
+ "exitNodeSet": "Sair do servidor atualizado.",
488
+ "reset": "A escala Caudal foi redefinida.",
489
+ "resetFailed": "Falha ao redefinir a Escala Caudal"
490
+ },
491
+ "unknownError": "Ocorreu um erro desconhecido."
492
+ },
493
+ "title": "Confirgurações",
494
+ "update": {
495
+ "betaUpdate": "Atualização Beta",
496
+ "newVersion": "Nova versão",
497
+ "pullInstructions": "Após pulsar, reinicie o seu contêiner para aplicar a atualização.",
498
+ "releaseNotes": "Notas de Versão",
499
+ "stableRelease": "Lançamento Estável",
500
+ "title": "Atualização disponível",
501
+ "updateCommand": "Atualizar Comando",
502
+ "versionAvailable": "{{version}} available"
474
503
  }
475
504
  }