@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": "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
- "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.",
49
- "complete": "Restauração foi concluída com sucesso. A página será atualizada em breve.",
50
- "confirm": "Iniciar restauração",
51
- "confirmLabel": "Eu entendo que isso irá substituir todos os dados",
52
- "databaseSize": "Tamanho do banco",
53
- "failed": "Restauração falhou",
54
- "libraryItems": "Itens da Biblioteca",
55
- "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.",
56
- "rules": "Regras",
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"
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"
100
14
  },
101
15
  "general": {
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",
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)",
109
31
  "appearance": "Aparência",
110
32
  "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",
111
40
  "application": "Solicitação",
112
41
  "applicationDesc": "Configurar configurações básicas do aplicativo",
113
- "copyToClipboard": "Copiar para área de transferência",
114
- "cyanDefault": "* Ciano é a cor de destaque padrão",
115
- "default": "(padrão)",
116
- "detect": "Detectar",
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.",
117
50
  "enhancedGeoIP": "Pesquisa GeoIP Melhorada",
118
51
  "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.",
119
52
  "externalAccess": "Acesso externo",
120
53
  "externalAccessDesc": "Configurar como dispositivos externos (como aplicativos móveis) se conectam ao servidor",
121
54
  "externalUrl": "URL externa",
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.",
123
55
  "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)",
128
- "iosHttpWarning": "O iOS requer HTTPS para conexões externas. Configure um proxy reverso com SSL.",
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",
56
+ "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",
133
58
  "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)",
59
+ "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",
135
62
  "noApiKeyGenerated": "Nenhuma chave de API gerada",
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",
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.",
141
66
  "regenerate": "Regenerar",
67
+ "generateKey": "Gerar Chave",
142
68
  "regenerateApiKey": "Regenerar chave de API?",
143
69
  "regenerateApiKeyDesc": "Isso invalidará sua chave de API atual. Quaisquer integrações usando a chave antiga deixarão de funcionar.",
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",
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": "Encontrado nas Configurações Tautulli → Web Interface → API Key.",
171
- "apiKeyPlaceholder": "Sua chave de API Tautulli",
172
- "connectToTautulli": "Conectar ao Tautulli",
173
- "connectedFound": "Conectado! Encontrados usuários {{users}} e registros do histórico {{records}}.",
174
- "enrichMetadata": "Enriquecer com metadados de mídia (recomendado)",
175
- "enrichMetadataHelp": "Obtém metadados adicionais do seu servidor de mídia para sessões importadas.",
176
- "enriched": "Enrilhado",
177
- "errors": "Erros",
178
- "exportBackupHelp": "Em Jellystat, vá em Configurações → Backup → Backup de atividade para exportar seus dados.",
179
- "exportBackupHint": "Exportar um backup de atividades do Jellystat",
180
- "howItWorks": "Como funciona a importação",
181
- "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.",
182
- "importComplete": "Importação Completa",
183
- "importFailed": "Importação Falhou",
184
- "importHistory": "Importar histórico",
185
- "importHistoryDesc": "Importar dados de relógio histórico de fontes externas",
186
- "importInProgressGeneric": "Importação em andamento...",
187
- "importInProgressPercent": "Importação em andamento ({{percent}}% completa)...",
188
- "importOptions": "Importar opções",
189
- "importProgress": "Progresso da Importação",
190
- "imported": "Importado",
191
- "importing": "Importando...",
192
- "includeStreamDetails": "Incluir dados detalhados do fluxo (codecs, taxa de bits, resolução)",
193
- "includeStreamDetailsHelp": "Importa informações adicionais do fluxo. Pode aumentar significativamente o tempo de importação.",
194
- "jellyfinEmby": "Jellyfin/Emby (Jellystat)",
195
- "jellystat": "Importar de Jellystat",
196
- "noServers": "Nenhum Servidor Conectado",
197
- "noServersHint": "Você precisa de pelo menos um servidor conectado para importar dados.",
198
- "overwriteFriendlyNames": "Sobrescrever nomes amigáveis existentes com nomes Tautulli",
199
- "overwriteFriendlyNamesHelp": "Os nomes de identidade existentes no Tracearr serão substituídos pelos nomes amigáveis de Tautulli.",
200
- "page": "Página",
201
- "pleaseEnterDetails": "Por favor, insira a URL do Tautulli e chave de API",
202
- "pleaseSelectJsonFile": "Por favor, selecione um arquivo JSON",
203
- "plex": "Plex (Tautulli)",
204
- "processed": "Processado",
205
- "recordsMayBeSkipped": "Registros podem ser ignorados se:",
206
- "selectJellyfinServer": "Selecione um servidor Jellyfin ou Emby",
207
- "selectPlexServer": "Selecione um servidor Plex",
208
- "selectTargetServer": "Selecione o servidor alvo",
209
- "skipDuplicate": "Sessão duplicada — A sessão já foi importada anteriormente.",
210
- "skipInProgress": "Sessão em andamento — Sessões ativas/incompletas sem um ID de referência são ignoradas.",
211
- "skipSyncHint": "Se muitos registros forem ignorados, certifique-se de que você sincronizou seu servidor recentemente em Configurações → Servidores.",
212
- "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.",
213
- "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.",
214
- "skipped": "Ignorado",
215
- "startImport": "Iniciar importação",
216
- "startingImport": "Iniciando importação...",
217
- "step1": "1",
218
- "step2": "2",
219
- "targetServer": "Target Server",
220
- "tautulli": "Importar de Tautulli",
221
- "tautulliUrl": "URL Tautulli",
222
- "tautulliUrlHelp": "A URL da sua instância Tautulli.",
223
- "tautulliUrlPlaceholder": "http://localhost:8181",
224
- "testing": "Testando...",
225
- "testingConnection": "Testando conexão...",
226
- "title": "Importar dados",
227
- "updateExistingRecords": "Atualizar registros existentes com detalhes de stream",
228
- "updateExistingRecordsHelp": "Registros importados anteriormente serão atualizados com dados de qualidade de stream.",
229
- "uploadJellystatBackup": "Carregar Backup do Jellystat",
230
- "uploadingBackup": "Enviando arquivo de backup...",
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": "Eu tenho que",
248
- "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."
249
- },
250
- "jobs": {
251
- "backfill": "Preenchimento",
252
- "cleanup": "Limpar",
253
- "delayed": "atrasado",
254
- "description": "Gerenciar tarefas em segundo plano que mantêm seus dados precisos e otimizados.",
255
- "errors": "erros",
256
- "jobHistory": "Histórico do Trabalho",
257
- "jobHistoryDesc": "Execuções recentes de manutenção",
258
- "lastJobCompleted": "Último trabalho concluído com sucesso",
259
- "lastJobFailed": "Último trabalho falhou",
260
- "mayTakeAWhile": "Isso pode demorar um pouco",
261
- "mayTakeAWhileDesc": "Este trabalho pode levar vários minutos para ser concluído, dependendo do tamanho da sua biblioteca.",
262
- "normalization": "Normalização",
263
- "processed": "processado",
264
- "queued": "na fila",
265
- "runConfirm": "Executar {{name}}?",
266
- "runJob": "Executar job",
267
- "running": "executando",
268
- "runningState": "Executando",
269
- "startJob": "Iniciar trabalho",
270
- "title": "Trabalhos em Manutenção",
271
- "unchanged": "inalterado",
272
- "updated": "Atualizado",
273
- "waiting": "Esperando"
274
- },
275
- "mobile": {
276
- "addDevice": "Adicionar dispositivo",
277
- "connectedDevices": "Dispositivos conectados",
278
- "connectedDevicesDesc": "Dispositivos {{count}} emparelhados ao seu servidor",
279
- "copyToken": "Copiar token",
280
- "deviceName": "Nome do dispositivo",
281
- "deviceNamePlaceholder": "por exemplo, iPhone 15",
282
- "devicesConnected": "Dispositivos {{current}} do {{max}} conectados",
283
- "disable": "Desligado",
284
- "disableMobileAccess": "Desativar acesso móvel",
285
- "disableMobileAccessConfirm": "Isto desconectará todos os dispositivos móveis e revogará todas as sessões. Você pode reativar o acesso móvel mais tarde.",
286
- "done": "Concluído",
287
- "downloadOnAppStore": "Baixar na App Store",
288
- "enableMobileAccess": "Habilitar acesso móvel",
289
- "enabling": "Habilitando...",
290
- "expiresIn": "Expira em {{time}}",
291
- "externalUrlBanner": "Usando um proxy reverso ou acesse remotamente? Defina seu",
292
- "externalUrlBannerLink": "URL externa",
293
- "externalUrlBannerSuffix": "para que o aplicativo móvel possa conectar ao seu servidor.",
294
- "externalUrlRequired": "Um URL externo deve ser configurado em Configurações Gerais para que o pareamento dos dispositivos móveis funcione.",
295
- "failedToGenerateToken": "Falha ao gerar token",
296
- "generateToken": "Gerar Símbolo de Par",
297
- "getOnGooglePlay": "Baixe no Google Play",
298
- "getTheApp": "Obter o aplicativo",
299
- "getTheAppDesc": "Baixe o aplicativo móvel Tracearr para iOS ou Android",
300
- "mobileAccessDisabled": "Acesso móvel desativado",
301
- "mobileAccessDisabledDesc": "Ative o acesso móvel para permitir que o aplicativo móvel Tracearr conecte-se ao seu servidor.",
302
- "noDevices": "Nenhum dispositivo conectado",
303
- "oneTimePairToken": "Token de Par Único",
304
- "pairDevice": "Parear Dispositivo",
305
- "pairNewDevice": "Parear Novo Dispositivo",
306
- "pairNewDeviceDesc": "Escaneie o código QR com o aplicativo móvel Tracearr, ou digite o token manualmente.",
307
- "pairYourDevice": "Parear Seu Dispositivo",
308
- "pairYourDeviceDesc": "Digitalize o código QR com o aplicativo Tracearr para se conectar a este servidor.",
309
- "pendingTokens": "{{count}} tokens de pares pendentes",
310
- "removeDevice": "Remover o dispositivo",
311
- "removeDeviceConfirm": "Tem certeza que deseja remover {{deviceName}}? Este dispositivo precisará parear novamente para se reconectar.",
312
- "renameDevice": "Renomear Dispositivo",
313
- "renameDeviceDesc": "Insira um nome para identificar este dispositivo na lista.",
314
- "revokeAll": "Revogar todas as sessões",
315
- "revokeAllConfirm": "Isto irá desconectar todos os dispositivos móveis. Eles vão precisar parear novamente para reconectar.",
316
- "revokeAllSessions": "Revogar Todos",
317
- "scanQrCode": "Scan QR Code",
318
- "title": "Aplicativo Móvel",
319
- "tokenExpires": "Token expira em {{time}}",
320
- "tokenExpiryNote": "Esse token expira em 5 minutos e só pode ser usado uma vez."
321
- },
322
- "notifications": {
323
- "agentCard": {
324
- "default": "Padrão",
325
- "editSettings": "Editar configurações",
326
- "events": "Eventos",
327
- "notConfigured": "Não totalmente configurado.",
328
- "saved": "Salvo",
329
- "sendTest": "Teste De Envio"
330
- },
331
- "routing": {
332
- "discord": "Discord",
333
- "event": "Evento",
334
- "web": "Web",
335
- "webNote": "Notificações push estão configuradas por dispositivo no aplicativo móvel.",
336
- "webToastNote": "mostra notificações toast neste navegador.",
337
- "webhook": "Webhook"
338
- }
339
- },
340
- "plex": {
341
- "chooseServer": "Escolha qual Plex Media Server monitorar",
342
- "selectServer": "Selecionar servidor",
343
- "signInWithPlex": "Entrar com o Plex",
344
- "signUpWithPlex": "Cadastre-se com o Plex"
345
- },
346
- "serverHealth": {
347
- "multipleUnreachable": "Servidores {{count}} inacessível: {{serverNames}}",
348
- "unreachable": "{{serverName}} é inacessível"
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": "Servidores Conectados",
351
85
  "addServer": "Adicionar Servidor",
352
- "addServerDialogDescOther": "Conecte um servidor Jellyfin ou Emby.",
353
- "addServerDialogDescPlex": "Selecione um servidor Plex na sua conta vinculada.",
354
- "added": "Adicionada {{date}}",
355
- "allFieldsRequired": "Todos os campos são obrigatórios",
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.",
356
101
  "allServersConnected": "Todos os servidores conectados",
357
102
  "allServersConnectedDesc": "Todos os servidores desta conta já estão conectados.",
358
- "apiKeyHelp": "Encontrado no painel do seu servidor de mídia sob chaves de API ou configurações avançadas.",
359
- "apiKeyHelpEmby": "Encontre isso no Servidor Emby → Chaves API",
360
- "apiKeyHelpJellyfin": "Encontre isto no Painel de Jellyfin → Chaves API",
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",
361
106
  "apiKeyPlaceholder": "Digite sua chave da API",
362
- "checkingConnection": "Checking connection…",
363
- "chooseAccount": "Escolha uma conta...",
364
- "connectServer": "Conectar servidor",
107
+ "apiKeyHelp": "Encontrado no painel do seu servidor de mídia sob chaves de API ou configurações avançadas.",
365
108
  "connecting": "Conectandochar@@0",
366
- "connectionFailed": "Conexão falhou",
367
- "connectionSuccess": "Conexão bem sucedida",
368
- "description": "Gerencie seus servidores Plex, Jellyfin, e Emby conectados",
369
- "discoveringConnections": "Descobrindo conexões...",
370
- "discoveringServers": "Descobrindo servidores Plex disponíveis...",
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.",
371
112
  "editServer": "Editar Servidor",
372
113
  "editServerDesc": "Atualizar o nome ou URL de conexão.",
373
- "loadingAccounts": "Carregando contas Plex vinculadas...",
374
- "noPlexAccountsLinked": "Nenhuma conta Plex vinculada",
375
- "noPlexAccountsLinkedHint": "Vincule uma conta Plex acima, depois volte para adicionar um servidor.",
376
- "noServersConnected": "Nenhum servidor conectado",
377
- "noServersConnectedHint": "Clique em \"Adicionar Servidor\" para conectar um servidor Jellyfin ou Emby",
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...",
378
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",
379
128
  "plexServerPlaceholder": "Meu servidor 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": "Ou clique em Atualizar abaixo para salvar apenas a alteração de nome.",
131
+ "added": "Adicionada {{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": "Remover Servidor",
412
- "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.",
413
- "selectAccountHelp": "Selecione de qual conta Plex para descobrir servidores.",
414
- "selectPlexAccount": "Selecionar conta Plex",
415
- "serverColor": "Cor do servidor",
416
- "serverColorDesc": "Usado para atribuição visual na visualização de multi-servidores",
417
- "serverName": "Nome do Servidor",
418
- "serverNamePlaceholder": "Meu Servidor de Mídia",
419
- "serverType": "Tipo de Servidor",
420
- "serverUrl": "URL do servidor",
421
- "serverUrlHelp": "Direta URL para o seu servidor Jellyfin ou Emby. Use IP:port para obter a melhor confiabilidade.",
422
- "serverUrlHelpEmby": "A URL onde o seu servidor Emby está acessível",
423
- "serverUrlHelpJellyfin": "A URL onde o seu servidor Jellyfin está acessível",
424
- "serverUrlPlaceholder": "http://192.168.1.100:8096",
425
- "setupRealtime": "Set up real-time updates",
426
- "realtimeError": "Real-time error",
427
- "syncInterval": "Intervalo de sincronização",
428
- "testConnection": "Testar Conexão",
429
- "title": "Servidores Conectados",
430
- "updateHint": "Ou clique em Atualizar abaixo para salvar apenas a alteração de nome.",
431
- "updating": "Atualizando..."
432
- },
433
- "tabs": {
434
- "accessControl": "Controle de Acesso",
435
- "advanced": "Avançado",
436
- "backup": "Backup",
437
- "general": "Gerais",
438
- "import": "Importação",
439
- "jobs": "Empregos",
440
- "mobile": "Aplicativo Móvel",
441
- "notifications": "notificações",
442
- "servers": "Servidores",
443
- "tailscale": "Escala Caudal"
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": "Autorizar em Escala Caudal",
447
- "awaitingAuth": "Aguardando autorização...",
448
- "connected": "Escala Caudal está conectada. Sua instância do Tracearr está disponível na rede da cauda.",
449
- "description": "Acesse o Tracearr com segurança na sua rede Tailscale sem encaminhamento de porta.",
450
- "disable": "Desativar Escala Caudal",
451
- "disableConfirmDescription": "Isto irá desconectar Tracearr de sua rede de cauda. Você pode reativar sem autorização novamente.",
452
- "disableConfirmTitle": "Desativar Escala Caudal?",
453
- "disabledDescription": "Habilite a Escala Caudal para colocar o Tracearr na sua rede personalizada privada. Sem necessidade de encaminhamento de porta ou proxy reverso.",
454
- "dnsName": "Nome DNS",
455
- "enable": "Ativar Escala Caudal",
456
- "exitNodeNone": "Nenhuma",
457
- "exitNodeOffline": "(off-line)",
458
- "hideLogs": "Ocultar logs",
459
- "hostname": "Hostname",
460
- "hostnameHint": "Nome personalizado opcional para este dispositivo na rede de sua cauda. Apenas letras, números e hífens",
461
- "hostnameLabel": "Hostname do dispositivo",
462
- "noLogs": "Nenhuma saída de log disponível.",
463
- "notAvailable": "binário de escala não encontrado. Este recurso só está disponível ao executar a imagem oficial do Docker.",
464
- "resetConfirmDescription": "Isto desconectará o Tracearr de sua cauda e removerá a identidade do dispositivo. Você precisará re-autorizar se você o ativar novamente.",
465
- "resetConfirmTitle": "Reset Tailscale?",
466
- "showLogs": "Mostrar logs",
467
- "starting": "Iniciando a Escala Cauda...",
468
- "stopping": "Parando a escala cauda...",
469
- "tailnetUrl": "URL:",
470
- "title": "VPN de escala proporcional",
471
- "toast": {
472
- "disableFailed": "Falha ao desativar Escala Caudal",
473
- "disabled": "Escala Caudal foi desabilitada.",
474
- "enableFailed": "Falha ao ativar o Tailscale",
475
- "exitNodeFailed": "Falha ao definir o nó de saída",
476
- "exitNodeSet": "Sair do servidor atualizado.",
477
- "reset": "A escala Caudal foi redefinida.",
478
- "resetFailed": "Falha ao redefinir a Escala Caudal"
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
+ "webhooks": {
251
+ "title": "Configuração de Webhook",
252
+ "discordWebhook": "URL do Discord Webhook",
253
+ "ntfyTopic": "Desmarcar Tópico",
254
+ "customWebhook": "URL personalizada do Webhook",
255
+ "webhookFormat": "Formato Webhook",
256
+ "testWebhook": "Testar webhook"
257
+ },
258
+ "jobs": {
259
+ "title": "Trabalhos em Manutenção",
260
+ "description": "Gerenciar tarefas em segundo plano que mantêm seus dados precisos e otimizados.",
261
+ "normalization": "Normalização",
262
+ "backfill": "Preenchimento",
263
+ "cleanup": "Limpar",
264
+ "running": "executando",
265
+ "queued": "na fila",
266
+ "delayed": "atrasado",
267
+ "waiting": "Esperando",
268
+ "runningState": "Executando",
269
+ "runJob": "Executar job",
270
+ "processed": "processado",
271
+ "updated": "Atualizado",
272
+ "unchanged": "inalterado",
273
+ "errors": "erros",
274
+ "lastJobCompleted": "Último trabalho concluído com sucesso",
275
+ "lastJobFailed": "Último trabalho falhou",
276
+ "jobHistory": "Histórico do Trabalho",
277
+ "jobHistoryDesc": "Execuções recentes de manutenção",
278
+ "runConfirm": "Executar {{name}}?",
279
+ "mayTakeAWhile": "Isso pode demorar um pouco",
280
+ "mayTakeAWhileDesc": "Este trabalho pode levar vários minutos para ser concluído, dependendo do tamanho da sua biblioteca.",
281
+ "startJob": "Iniciar trabalho"
282
+ },
283
+ "notifications": {
284
+ "routing": {
285
+ "event": "Evento",
286
+ "web": "Web",
287
+ "discord": "Discord",
288
+ "webhook": "Webhook",
289
+ "webNote": "Notificações push estão configuradas por dispositivo no aplicativo móvel.",
290
+ "webToastNote": "mostra notificações toast neste navegador."
479
291
  },
480
- "unknownError": "Ocorreu um erro desconhecido."
292
+ "agentCard": {
293
+ "saved": "Salvo",
294
+ "default": "Padrão",
295
+ "events": "Eventos",
296
+ "sendTest": "Teste De Envio",
297
+ "notConfigured": "Não totalmente configurado.",
298
+ "editSettings": "Editar configurações"
299
+ }
300
+ },
301
+ "advanced": {
302
+ "title": "Configurações Avançadas",
303
+ "externalUrl": "URL externa",
304
+ "trustProxy": "Confiar nos cabeçalhos de proxy",
305
+ "reverseProxy": "Proxy reverso",
306
+ "connectionScenarios": "Cenários de conexão"
307
+ },
308
+ "accessControl": {
309
+ "title": "Controle de Acesso",
310
+ "description": "Configurar quem pode acessar Tracearr",
311
+ "allowGuestAccess": "Permitir Acesso de Visitante",
312
+ "allowGuestAccessDesc": "Quando desativado, somente o proprietário do servidor pode se conectar ao Tracearr",
313
+ "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\""
314
+ },
315
+ "import": {
316
+ "title": "Importar dados",
317
+ "jellystat": "Importar de Jellystat",
318
+ "tautulli": "Importar de Tautulli",
319
+ "importProgress": "Progresso da Importação",
320
+ "importComplete": "Importação Completa",
321
+ "importFailed": "Importação Falhou",
322
+ "processed": "Processado",
323
+ "page": "Página",
324
+ "imported": "Importado",
325
+ "skipped": "Ignorado",
326
+ "enriched": "Enrilhado",
327
+ "errors": "Erros",
328
+ "noServers": "Nenhum Servidor Conectado",
329
+ "noServersHint": "Você precisa de pelo menos um servidor conectado para importar dados.",
330
+ "tautulliUrl": "URL Tautulli",
331
+ "tautulliUrlPlaceholder": "http://localhost:8181",
332
+ "tautulliUrlHelp": "A URL da sua instância Tautulli.",
333
+ "apiKeyHelp": "Encontrado nas Configurações Tautulli → Web Interface → API Key.",
334
+ "testing": "Testando...",
335
+ "connectToTautulli": "Conectar ao Tautulli",
336
+ "importHistory": "Importar histórico",
337
+ "targetServer": "Target Server",
338
+ "selectPlexServer": "Selecione um servidor Plex",
339
+ "overwriteFriendlyNames": "Sobrescrever nomes amigáveis existentes com nomes Tautulli",
340
+ "overwriteFriendlyNamesHelp": "Os nomes de identidade existentes no Tracearr serão substituídos pelos nomes amigáveis de Tautulli.",
341
+ "includeStreamDetails": "Incluir dados detalhados do fluxo (codecs, taxa de bits, resolução)",
342
+ "includeStreamDetailsHelp": "Importa informações adicionais do fluxo. Pode aumentar significativamente o tempo de importação.",
343
+ "importing": "Importando...",
344
+ "startImport": "Iniciar importação",
345
+ "howItWorks": "Como funciona a importação",
346
+ "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.",
347
+ "recordsMayBeSkipped": "Registros podem ser ignorados se:",
348
+ "selectTargetServer": "Selecione o servidor alvo",
349
+ "selectJellyfinServer": "Selecione um servidor Jellyfin ou Emby",
350
+ "uploadJellystatBackup": "Carregar Backup do Jellystat",
351
+ "exportBackupHint": "Exportar um backup de atividades do Jellystat",
352
+ "exportBackupHelp": "Em Jellystat, vá em Configurações → Backup → Backup de atividade para exportar seus dados.",
353
+ "importOptions": "Importar opções",
354
+ "enrichMetadata": "Enriquecer com metadados de mídia (recomendado)",
355
+ "enrichMetadataHelp": "Obtém metadados adicionais do seu servidor de mídia para sessões importadas.",
356
+ "updateExistingRecords": "Atualizar registros existentes com detalhes de stream",
357
+ "updateExistingRecordsHelp": "Registros importados anteriormente serão atualizados com dados de qualidade de stream.",
358
+ "pleaseEnterDetails": "Por favor, insira a URL do Tautulli e chave de API",
359
+ "testingConnection": "Testando conexão...",
360
+ "pleaseSelectJsonFile": "Por favor, selecione um arquivo JSON",
361
+ "uploadingBackup": "Enviando arquivo de backup...",
362
+ "importHistoryDesc": "Importar dados de relógio histórico de fontes externas",
363
+ "plex": "Plex (Tautulli)",
364
+ "jellyfinEmby": "Jellyfin/Emby (Jellystat)",
365
+ "step1": "1",
366
+ "step2": "2",
367
+ "apiKeyPlaceholder": "Sua chave de API Tautulli",
368
+ "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.",
369
+ "skipDuplicate": "Sessão duplicada — A sessão já foi importada anteriormente.",
370
+ "skipInProgress": "Sessão em andamento — Sessões ativas/incompletas sem um ID de referência são ignoradas.",
371
+ "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.",
372
+ "skipSyncHint": "Se muitos registros forem ignorados, certifique-se de que você sincronizou seu servidor recentemente em Configurações → Servidores.",
373
+ "importInProgressPercent": "Importação em andamento ({{percent}}% completa)...",
374
+ "importInProgressGeneric": "Importação em andamento...",
375
+ "startingImport": "Iniciando importação...",
376
+ "connectedFound": "Conectado! Encontrados usuários {{users}} e registros do histórico {{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": "Entrar com o Plex",
394
+ "signUpWithPlex": "Cadastre-se com o Plex",
395
+ "selectServer": "Selecionar servidor",
396
+ "chooseServer": "Escolha qual Plex Media Server monitorar"
397
+ },
398
+ "account": {
399
+ "createAccount": "Criar conta",
400
+ "email": "e-mail",
401
+ "password": "Palavra-passe",
402
+ "displayName": "Nome para exibição",
403
+ "createYourAccount": "Crie sua conta para começar",
404
+ "signInToAccount": "Entre na sua conta",
405
+ "useLocalAccount": "Usar conta local"
481
406
  },
482
- "title": "Confirgurações",
483
407
  "update": {
484
- "betaUpdate": "Atualização Beta",
485
- "newVersion": "Nova versão",
486
- "pullInstructions": "Após pulsar, reinicie o seu contêiner para aplicar a atualização.",
487
- "releaseNotes": "Notas de Versão",
488
- "stableRelease": "Lançamento Estável",
489
408
  "title": "Atualização disponível",
409
+ "releaseNotes": "Notas de Versão",
490
410
  "updateCommand": "Atualizar Comando",
411
+ "pullInstructions": "Após pulsar, reinicie o seu contêiner para aplicar a atualização.",
412
+ "stableRelease": "Lançamento Estável",
413
+ "betaUpdate": "Atualização Beta",
414
+ "newVersion": "Nova versão",
491
415
  "versionAvailable": "{{version}} available"
492
416
  },
493
- "webhooks": {
494
- "customWebhook": "URL personalizada do Webhook",
495
- "discordWebhook": "URL do Discord Webhook",
496
- "ntfyTopic": "Desmarcar Tópico",
497
- "testWebhook": "Testar webhook",
498
- "title": "Configuração de Webhook",
499
- "webhookFormat": "Formato Webhook"
417
+ "serverHealth": {
418
+ "unreachable": "{{serverName}} é inacessível",
419
+ "multipleUnreachable": "Servidores {{count}} inacessível: {{serverNames}}"
420
+ },
421
+ "ipWarning": {
422
+ "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.",
423
+ "acknowledge": "Eu tenho que"
424
+ },
425
+ "backup": {
426
+ "title": "Backup",
427
+ "backToBackups": "Voltar para Backups",
428
+ "description": "Fazer backup e restaurar seus dados do Tracearr",
429
+ "createBackup": "Criar Backup",
430
+ "creating": "Criando backup...",
431
+ "uploadBackup": "Carregar Backup",
432
+ "uploading": "Enviando...",
433
+ "databaseSize": "Tamanho atual do banco de dados: {{size}}",
434
+ "freeSpace": "Backup de espaço livre de diretórios: {{size}}",
435
+ "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.",
436
+ "backupHistory": "Histórico de backup",
437
+ "noBackups": "Nenhum backup ainda. Crie seu primeiro backup acima.",
438
+ "filename": "Nome",
439
+ "size": "Tamanho",
440
+ "date": "Encontro",
441
+ "type": "tipo",
442
+ "version": "Versão",
443
+ "actions": "Ações.",
444
+ "typeManual": "Manualmente",
445
+ "typeScheduled": "Agendado",
446
+ "typeUploaded": "Enviado",
447
+ "restoreAction": "RESTAURAR",
448
+ "deleteConfirmTitle": "Excluir Backup",
449
+ "deleteConfirmDescription": "Tem certeza que deseja excluir este backup? Esta ação não pode ser desfeita.",
450
+ "schedule": "Backups Agendados",
451
+ "scheduleType": "Agendamento",
452
+ "scheduleDisabled": "Desabilitado",
453
+ "scheduleDaily": "Diariamente",
454
+ "scheduleWeekly": "Semanalmente",
455
+ "scheduleMonthly": "Mensual",
456
+ "scheduleTime": "Tempo ({{timezone}})",
457
+ "scheduleDayOfWeek": "Dia da semana",
458
+ "scheduleDayOfMonth": "Dia do Mês",
459
+ "scheduleDayOfMonthHint": "Em meses com menos dias, o backup é executado no último dia.",
460
+ "retentionCount": "Manter a última",
461
+ "retentionSuffix": "backups agendados",
462
+ "daySun": "domingo",
463
+ "dayMon": "Segunda-Feira",
464
+ "dayTue": "Terça-feira",
465
+ "dayWed": "quarta-feira",
466
+ "dayThu": "quinta-feira",
467
+ "dayFri": "Sexta-feira",
468
+ "daySat": "sábado",
469
+ "restore": {
470
+ "title": "Restaurar Backup",
471
+ "selectedBackup": "Backup Selecionado",
472
+ "databaseSize": "Tamanho do banco",
473
+ "sessions": "Sessões",
474
+ "users": "Utilizadores",
475
+ "servers": "Servidores",
476
+ "rules": "Regras",
477
+ "libraryItems": "Itens da Biblioteca",
478
+ "tables": "Tabelas",
479
+ "warning": "A restauração irá substituir todos os dados existentes. Você precisará relogar após a conclusão da restauração.",
480
+ "confirmLabel": "Eu entendo que isso irá substituir todos os dados",
481
+ "confirm": "Iniciar restauração",
482
+ "complete": "Restauração foi concluída com sucesso. A página será atualizada em breve.",
483
+ "failed": "Restauração falhou",
484
+ "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.",
485
+ "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.",
486
+ "tsVersionMismatch": "O backup foi criado com TimescaleDB {{backupVersion}} mas este servidor suporta apenas TimescaleDB {{serverVersion}}."
487
+ },
488
+ "toast": {
489
+ "backupCreated": "Backup criado com sucesso",
490
+ "backupCreateFailed": "Falha ao criar backup",
491
+ "backupUploaded": "Backup enviado com sucesso",
492
+ "backupUploadFailed": "Falha ao carregar backup",
493
+ "backupDeleted": "Backup excluído",
494
+ "backupDeleteFailed": "Falha ao excluir backup",
495
+ "restoreStarted": "Restauração iniciada",
496
+ "restoreStartFailed": "Falha ao iniciar a restauração",
497
+ "scheduleSaved": "Agendamento de backup salvo",
498
+ "scheduleError": "Falha ao salvar o agendamento de backup"
499
+ }
500
500
  }
501
501
  }