@tracearr/translations 2.1.0 → 2.2.0-beta.1

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 (191) hide show
  1. package/dist/config.d.ts +128 -106
  2. package/dist/config.d.ts.map +1 -1
  3. package/dist/config.mobile.d.ts +128 -106
  4. package/dist/config.mobile.d.ts.map +1 -1
  5. package/dist/locales/af-ZA/notifications.json +233 -226
  6. package/dist/locales/af-ZA/pages.json +61 -32
  7. package/dist/locales/af-ZA/settings.json +0 -26
  8. package/dist/locales/ar-SA/notifications.json +233 -226
  9. package/dist/locales/ar-SA/pages.json +61 -32
  10. package/dist/locales/ar-SA/settings.json +0 -26
  11. package/dist/locales/ca-ES/notifications.json +233 -226
  12. package/dist/locales/ca-ES/pages.json +61 -32
  13. package/dist/locales/ca-ES/settings.json +0 -26
  14. package/dist/locales/cs-CZ/notifications.json +233 -226
  15. package/dist/locales/cs-CZ/pages.json +61 -32
  16. package/dist/locales/cs-CZ/settings.json +0 -26
  17. package/dist/locales/da-DK/notifications.json +233 -226
  18. package/dist/locales/da-DK/pages.json +61 -32
  19. package/dist/locales/da-DK/settings.json +0 -26
  20. package/dist/locales/de-DE/notifications.json +233 -226
  21. package/dist/locales/de-DE/pages.json +61 -32
  22. package/dist/locales/de-DE/settings.json +0 -26
  23. package/dist/locales/el-GR/notifications.json +233 -226
  24. package/dist/locales/el-GR/pages.json +61 -32
  25. package/dist/locales/el-GR/settings.json +0 -26
  26. package/dist/locales/en/notifications.json +9 -2
  27. package/dist/locales/en/pages.json +60 -30
  28. package/dist/locales/en/settings.json +0 -26
  29. package/dist/locales/en-US/notifications.json +233 -226
  30. package/dist/locales/en-US/pages.json +61 -32
  31. package/dist/locales/en-US/settings.json +0 -26
  32. package/dist/locales/es-ES/notifications.json +233 -226
  33. package/dist/locales/es-ES/pages.json +61 -32
  34. package/dist/locales/es-ES/settings.json +0 -26
  35. package/dist/locales/fi-FI/notifications.json +233 -226
  36. package/dist/locales/fi-FI/pages.json +61 -32
  37. package/dist/locales/fi-FI/settings.json +0 -26
  38. package/dist/locales/fr-FR/notifications.json +233 -226
  39. package/dist/locales/fr-FR/pages.json +61 -32
  40. package/dist/locales/fr-FR/settings.json +0 -26
  41. package/dist/locales/he-IL/notifications.json +233 -226
  42. package/dist/locales/he-IL/pages.json +61 -32
  43. package/dist/locales/he-IL/settings.json +0 -26
  44. package/dist/locales/hu-HU/notifications.json +233 -226
  45. package/dist/locales/hu-HU/pages.json +61 -32
  46. package/dist/locales/hu-HU/settings.json +0 -26
  47. package/dist/locales/it-IT/notifications.json +233 -226
  48. package/dist/locales/it-IT/pages.json +61 -32
  49. package/dist/locales/it-IT/settings.json +0 -26
  50. package/dist/locales/ja-JP/notifications.json +233 -226
  51. package/dist/locales/ja-JP/pages.json +61 -32
  52. package/dist/locales/ja-JP/settings.json +0 -26
  53. package/dist/locales/ko-KR/notifications.json +233 -226
  54. package/dist/locales/ko-KR/pages.json +61 -32
  55. package/dist/locales/ko-KR/settings.json +0 -26
  56. package/dist/locales/nl-NL/notifications.json +233 -226
  57. package/dist/locales/nl-NL/pages.json +61 -32
  58. package/dist/locales/nl-NL/settings.json +0 -26
  59. package/dist/locales/no-NO/notifications.json +233 -226
  60. package/dist/locales/no-NO/pages.json +61 -32
  61. package/dist/locales/no-NO/settings.json +0 -26
  62. package/dist/locales/pl-PL/notifications.json +233 -226
  63. package/dist/locales/pl-PL/pages.json +61 -32
  64. package/dist/locales/pl-PL/settings.json +0 -26
  65. package/dist/locales/pt-BR/notifications.json +233 -226
  66. package/dist/locales/pt-BR/pages.json +61 -32
  67. package/dist/locales/pt-BR/settings.json +0 -26
  68. package/dist/locales/pt-PT/notifications.json +233 -226
  69. package/dist/locales/pt-PT/pages.json +61 -32
  70. package/dist/locales/pt-PT/settings.json +0 -26
  71. package/dist/locales/ro-RO/notifications.json +233 -226
  72. package/dist/locales/ro-RO/pages.json +61 -32
  73. package/dist/locales/ro-RO/settings.json +0 -26
  74. package/dist/locales/ru-RU/notifications.json +233 -226
  75. package/dist/locales/ru-RU/pages.json +61 -32
  76. package/dist/locales/ru-RU/settings.json +0 -26
  77. package/dist/locales/sr-SP/notifications.json +233 -226
  78. package/dist/locales/sr-SP/pages.json +61 -32
  79. package/dist/locales/sr-SP/settings.json +0 -26
  80. package/dist/locales/sv-SE/notifications.json +233 -226
  81. package/dist/locales/sv-SE/pages.json +61 -32
  82. package/dist/locales/sv-SE/settings.json +0 -26
  83. package/dist/locales/tr-TR/notifications.json +233 -226
  84. package/dist/locales/tr-TR/pages.json +61 -32
  85. package/dist/locales/tr-TR/settings.json +0 -26
  86. package/dist/locales/uk-UA/notifications.json +233 -226
  87. package/dist/locales/uk-UA/pages.json +61 -32
  88. package/dist/locales/uk-UA/settings.json +0 -26
  89. package/dist/locales/vi-VN/notifications.json +233 -226
  90. package/dist/locales/vi-VN/pages.json +61 -32
  91. package/dist/locales/vi-VN/settings.json +0 -26
  92. package/dist/locales/zh-CN/notifications.json +233 -226
  93. package/dist/locales/zh-CN/pages.json +61 -32
  94. package/dist/locales/zh-CN/settings.json +0 -26
  95. package/dist/locales/zh-TW/notifications.json +233 -226
  96. package/dist/locales/zh-TW/pages.json +61 -32
  97. package/dist/locales/zh-TW/settings.json +0 -26
  98. package/package.json +1 -1
  99. package/src/locales/af-ZA/notifications.json +233 -226
  100. package/src/locales/af-ZA/pages.json +61 -32
  101. package/src/locales/af-ZA/settings.json +0 -26
  102. package/src/locales/ar-SA/notifications.json +233 -226
  103. package/src/locales/ar-SA/pages.json +61 -32
  104. package/src/locales/ar-SA/settings.json +0 -26
  105. package/src/locales/ca-ES/notifications.json +233 -226
  106. package/src/locales/ca-ES/pages.json +61 -32
  107. package/src/locales/ca-ES/settings.json +0 -26
  108. package/src/locales/cs-CZ/notifications.json +233 -226
  109. package/src/locales/cs-CZ/pages.json +61 -32
  110. package/src/locales/cs-CZ/settings.json +0 -26
  111. package/src/locales/da-DK/notifications.json +233 -226
  112. package/src/locales/da-DK/pages.json +61 -32
  113. package/src/locales/da-DK/settings.json +0 -26
  114. package/src/locales/de-DE/notifications.json +233 -226
  115. package/src/locales/de-DE/pages.json +61 -32
  116. package/src/locales/de-DE/settings.json +0 -26
  117. package/src/locales/el-GR/notifications.json +233 -226
  118. package/src/locales/el-GR/pages.json +61 -32
  119. package/src/locales/el-GR/settings.json +0 -26
  120. package/src/locales/en/notifications.json +9 -2
  121. package/src/locales/en/pages.json +60 -30
  122. package/src/locales/en/settings.json +0 -26
  123. package/src/locales/en-US/notifications.json +233 -226
  124. package/src/locales/en-US/pages.json +61 -32
  125. package/src/locales/en-US/settings.json +0 -26
  126. package/src/locales/es-ES/notifications.json +233 -226
  127. package/src/locales/es-ES/pages.json +61 -32
  128. package/src/locales/es-ES/settings.json +0 -26
  129. package/src/locales/fi-FI/notifications.json +233 -226
  130. package/src/locales/fi-FI/pages.json +61 -32
  131. package/src/locales/fi-FI/settings.json +0 -26
  132. package/src/locales/fr-FR/notifications.json +233 -226
  133. package/src/locales/fr-FR/pages.json +61 -32
  134. package/src/locales/fr-FR/settings.json +0 -26
  135. package/src/locales/he-IL/notifications.json +233 -226
  136. package/src/locales/he-IL/pages.json +61 -32
  137. package/src/locales/he-IL/settings.json +0 -26
  138. package/src/locales/hu-HU/notifications.json +233 -226
  139. package/src/locales/hu-HU/pages.json +61 -32
  140. package/src/locales/hu-HU/settings.json +0 -26
  141. package/src/locales/it-IT/notifications.json +233 -226
  142. package/src/locales/it-IT/pages.json +61 -32
  143. package/src/locales/it-IT/settings.json +0 -26
  144. package/src/locales/ja-JP/notifications.json +233 -226
  145. package/src/locales/ja-JP/pages.json +61 -32
  146. package/src/locales/ja-JP/settings.json +0 -26
  147. package/src/locales/ko-KR/notifications.json +233 -226
  148. package/src/locales/ko-KR/pages.json +61 -32
  149. package/src/locales/ko-KR/settings.json +0 -26
  150. package/src/locales/nl-NL/notifications.json +233 -226
  151. package/src/locales/nl-NL/pages.json +61 -32
  152. package/src/locales/nl-NL/settings.json +0 -26
  153. package/src/locales/no-NO/notifications.json +233 -226
  154. package/src/locales/no-NO/pages.json +61 -32
  155. package/src/locales/no-NO/settings.json +0 -26
  156. package/src/locales/pl-PL/notifications.json +233 -226
  157. package/src/locales/pl-PL/pages.json +61 -32
  158. package/src/locales/pl-PL/settings.json +0 -26
  159. package/src/locales/pt-BR/notifications.json +233 -226
  160. package/src/locales/pt-BR/pages.json +61 -32
  161. package/src/locales/pt-BR/settings.json +0 -26
  162. package/src/locales/pt-PT/notifications.json +233 -226
  163. package/src/locales/pt-PT/pages.json +61 -32
  164. package/src/locales/pt-PT/settings.json +0 -26
  165. package/src/locales/ro-RO/notifications.json +233 -226
  166. package/src/locales/ro-RO/pages.json +61 -32
  167. package/src/locales/ro-RO/settings.json +0 -26
  168. package/src/locales/ru-RU/notifications.json +233 -226
  169. package/src/locales/ru-RU/pages.json +61 -32
  170. package/src/locales/ru-RU/settings.json +0 -26
  171. package/src/locales/sr-SP/notifications.json +233 -226
  172. package/src/locales/sr-SP/pages.json +61 -32
  173. package/src/locales/sr-SP/settings.json +0 -26
  174. package/src/locales/sv-SE/notifications.json +233 -226
  175. package/src/locales/sv-SE/pages.json +61 -32
  176. package/src/locales/sv-SE/settings.json +0 -26
  177. package/src/locales/tr-TR/notifications.json +233 -226
  178. package/src/locales/tr-TR/pages.json +61 -32
  179. package/src/locales/tr-TR/settings.json +0 -26
  180. package/src/locales/uk-UA/notifications.json +233 -226
  181. package/src/locales/uk-UA/pages.json +61 -32
  182. package/src/locales/uk-UA/settings.json +0 -26
  183. package/src/locales/vi-VN/notifications.json +233 -226
  184. package/src/locales/vi-VN/pages.json +61 -32
  185. package/src/locales/vi-VN/settings.json +0 -26
  186. package/src/locales/zh-CN/notifications.json +233 -226
  187. package/src/locales/zh-CN/pages.json +61 -32
  188. package/src/locales/zh-CN/settings.json +0 -26
  189. package/src/locales/zh-TW/notifications.json +233 -226
  190. package/src/locales/zh-TW/pages.json +61 -32
  191. package/src/locales/zh-TW/settings.json +0 -26
@@ -1,279 +1,286 @@
1
1
  {
2
+ "push": {
3
+ "newDevice": "New Device",
4
+ "serverDown": "Ligação ao servidor perdida",
5
+ "serverUp": "Servidor de volta online",
6
+ "streamEnded": "Transmissão terminada",
7
+ "streamStarted": "Transmissão iniciada",
8
+ "trustScoreChanged": "Trust Score Changed",
9
+ "violationDetected": "Violação de partilha detetada"
10
+ },
11
+ "settings": {
12
+ "allSeverity": "Todas (Baixa, Aviso, Elevado)",
13
+ "allTypes": "Todos os tipos",
14
+ "concurrentStreams": "Concurrent Streams",
15
+ "concurrentStreamsDesc": "Quando o limite máximo de transmissão for excedido",
16
+ "enablePushNotifications": "Enable Push Notifications",
17
+ "enableQuietHours": "Enable Quiet Hours",
18
+ "highOnly": "Apenas severidade elevada",
19
+ "minimumSeverity": "Minimum Severity",
20
+ "newDevice": "New Device",
21
+ "newDeviceDesc": "Quando um novo dispositivo se conectar",
22
+ "notificationEvents": "Notification Events",
23
+ "overrideForCritical": "Override for Critical",
24
+ "perHour": "Por hora",
25
+ "perMinute": "Por minuto",
26
+ "quietHours": "Quiet Hours",
27
+ "rateLimit": "Estado atual do ratelimit",
28
+ "rateLimiting": "Rate Limiting",
29
+ "serverDown": "Server Down",
30
+ "serverDownDesc": "Quando um servidor de mídia ficar offline",
31
+ "serverUp": "Server Up",
32
+ "serverUpDesc": "Quando um servidor de mídia está online",
33
+ "streamStarted": "Stream Started",
34
+ "streamStartedDesc": "Quando um usuário começa a assistir",
35
+ "streamStopped": "Stream Stopped",
36
+ "streamStoppedDesc": "Quando um usuário para de assistir",
37
+ "title": "Definições de notificações",
38
+ "trustScoreChanged": "Trust Score Changed",
39
+ "trustScoreChangedDesc": "Quando o ponto de confiança de um usuário mudar",
40
+ "violationDetected": "Violation Detected",
41
+ "violationDetectedDesc": "Quando uma violação de compartilhamento é acionada",
42
+ "violationFilters": "Violation Filters",
43
+ "warningAndHigh": "Apenas Aviso e Elevado"
44
+ },
2
45
  "toast": {
3
- "success": {
4
- "serverAdded": {
5
- "title": "Servidor adicionado",
6
- "message": "{{name}} foi adicionado com sucesso"
7
- },
8
- "serverRemoved": {
9
- "title": "Servidor removido",
10
- "message": "O servidor foi removido com sucesso"
46
+ "error": {
47
+ "acknowledgeFailed": "Falha ao reconhecer violação",
48
+ "agentAddFailed": "Falha ao adicionar agente",
49
+ "agentRemoveFailed": "Falha ao remover agente",
50
+ "agentTestFailed": "Teste falhou",
51
+ "agentUpdateFailed": "Falha ao atualizar agente",
52
+ "apiKeyGenerateFailed": "Falha ao gerar chave API",
53
+ "authFailed": "Autenticação falhou",
54
+ "clipboardFailed": "Falha ao copiar para a área de transferência",
55
+ "copyFailed": "Não foi possível copiar para a área de transferência",
56
+ "destinationDeleteFailed": "Failed to delete destination: {{error}}",
57
+ "destinationInUse": "Still used by: {{rules}}",
58
+ "destinationSaveFailed": "Failed to save destination: {{error}}",
59
+ "destinationTestFailed": "Test failed: {{error}}",
60
+ "deviceRemoveFailed": "Falha ao remover dispositivo",
61
+ "deviceRenameFailed": "Falha ao renomear dispositivo",
62
+ "dismissFailed": "Falha ao descartar violação",
63
+ "displayNameUpdateFailed": "Falha ao atualizar nome de exibição",
64
+ "invalidClaimCode": {
65
+ "message": "Por favor, verifique os logs do servidor",
66
+ "title": "Código de reivindicação inválido"
11
67
  },
12
- "serverSynced": {
13
- "title": "Servidor sincronizado",
14
- "message": "Os dados do servidor foram sincronizados"
68
+ "invalidUrl": "URL inválido",
69
+ "jobAlreadyRunning": "Tarefa já em execução",
70
+ "jobLoadFailed": "Falha ao carregar tarefas de manutenção",
71
+ "jobStartFailed": "Falha ao iniciar tarefa",
72
+ "mobileAccessDisableFailed": "Falha ao desativar acesso móvel",
73
+ "mobileAccessEnableFailed": "Falha ao ativar acesso móvel",
74
+ "pairTokenGenerateFailed": "Falha ao gerar token de emparelhamento",
75
+ "plexDirectUrl": "URLs plex.direct são endereços de relay que não podem ser usados aqui. Por favor, use um endereço IP direto ou nome de host.",
76
+ "plexUnlinkFailed": "Falha ao desassociar conta Plex",
77
+ "routingUpdateFailed": "Falha ao atualizar encaminhamento",
78
+ "ruleCreateFailed": "Falha ao criar a regra",
79
+ "ruleDeleteFailed": "Falha ao eliminar a regra",
80
+ "ruleUpdateFailed": "Falha ao atualizar a regra",
81
+ "serverAddFailed": "Falha ao adicionar servidor",
82
+ "serverRemoveFailed": "Falha ao remover servidor",
83
+ "serverReorderFailed": "Falha ao reordenar servidores",
84
+ "serverSyncFailed": "Falha ao sincronizar servidor",
85
+ "serverUpdateFailed": "Falha ao atualizar servidor",
86
+ "serverUrlUpdateFailed": "Falha ao atualizar URL do servidor",
87
+ "serverUserSplitFailed": "Failed to split account",
88
+ "sessionsDeleteFailed": "Falha ao eliminar sessões",
89
+ "sessionsRevokeFailed": "Falha ao revogar sessões",
90
+ "settingsUpdateFailed": "Falha ao atualizar definições",
91
+ "streamTerminateFailed": "Falha ao terminar a transmissão",
92
+ "trustScoresResetFailed": "Falha ao redefinir pontuações de confiança",
93
+ "userMergeFailed": "Failed to merge users",
94
+ "webhookTestFailed": "Teste do webhook falhou"
95
+ },
96
+ "info": {
97
+ "serverOffline": {
98
+ "message": "{{name}} está inacessível",
99
+ "title": "Servidor offline"
15
100
  },
16
- "settingsUpdated": {
17
- "title": "Definições atualizadas",
18
- "message": "As suas definições foram guardadas"
101
+ "serverOnline": {
102
+ "message": "{{name}} voltou a ficar online",
103
+ "title": "Servidor online"
19
104
  },
20
- "tokenCopied": {
21
- "title": "Token copiado",
22
- "message": "O token foi copiado para a área de transferência"
105
+ "streamStarted": {
106
+ "message": "{{user}} começou a ver {{media}}",
107
+ "title": "Nova transmissão iniciada"
23
108
  },
24
- "violationAcknowledged": {
25
- "title": "Violação reconhecida",
26
- "message": "A violação foi marcada como reconhecida"
109
+ "streamStopped": {
110
+ "message": "{{user}} parou de ver a transmissão",
111
+ "title": "Transmissão terminada"
27
112
  },
28
- "violationDismissed": {
29
- "title": "Violação descartada",
30
- "message": "A violação foi descartada"
113
+ "updateAvailable": {
114
+ "message": "Tracearr {{version}} está disponível",
115
+ "title": "Atualização disponível"
31
116
  },
32
- "deviceRemoved": {
33
- "title": "Dispositivo removido",
34
- "message": "O dispositivo foi removido"
117
+ "violationDetected": {
118
+ "message": "{{user}} acionou {{ruleType}}",
119
+ "title": "Nova violação: {{ruleName}}"
120
+ }
121
+ },
122
+ "success": {
123
+ "agentAdded": {
124
+ "message": "O agente de notificação foi adicionado",
125
+ "title": "Agente adicionado"
35
126
  },
36
- "deviceRenamed": {
37
- "title": "Dispositivo renomeado",
38
- "message": "O nome do dispositivo foi atualizado"
127
+ "agentRemoved": {
128
+ "message": "O agente de notificação foi removido",
129
+ "title": "Agente removido"
39
130
  },
40
- "sessionsRevoked": {
41
- "title": "Sessões revogadas",
42
- "message": "Todas as sessões foram revogadas"
131
+ "agentUpdated": {
132
+ "message": "O agente de notificação foi atualizado",
133
+ "title": "Agente atualizado"
43
134
  },
44
- "loggedIn": {
45
- "title": "Sucesso",
46
- "message": "Sessão iniciada com sucesso"
135
+ "apiKeyGenerated": {
136
+ "message": "A sua nova chave API está pronta a usar",
137
+ "title": "Chave API gerada"
47
138
  },
48
- "webhookTest": {
49
- "title": "Teste válido",
50
- "message": "O webhook está a funcionar corretamente"
139
+ "claimCodeValidated": {
140
+ "message": "Agora você pode prosseguir com a configuração",
141
+ "title": "Recuperar código validado"
51
142
  },
52
143
  "copiedToClipboard": {
53
144
  "title": "Copiado para a área de transferência"
54
145
  },
55
- "plexAccountLinked": {
56
- "title": "Conta Plex associada",
57
- "message": "Agora pode adicionar servidores da sua conta Plex"
146
+ "destinationDeleted": "Destination deleted",
147
+ "destinationSaved": "Destination saved",
148
+ "destinationTestSent": "Test notification sent",
149
+ "deviceRemoved": {
150
+ "message": "O dispositivo foi removido",
151
+ "title": "Dispositivo removido"
58
152
  },
59
- "plexAccountUnlinked": {
60
- "title": "Conta Plex desassociada",
61
- "message": "A sua conta Plex foi desligada"
153
+ "deviceRenamed": {
154
+ "message": "O nome do dispositivo foi atualizado",
155
+ "title": "Dispositivo renomeado"
62
156
  },
63
- "agentAdded": {
64
- "title": "Agente adicionado",
65
- "message": "O agente de notificação foi adicionado"
157
+ "displayNameUpdated": {
158
+ "title": "Nome de exibição atualizado"
66
159
  },
67
- "agentUpdated": {
68
- "title": "Agente atualizado",
69
- "message": "O agente de notificação foi atualizado"
160
+ "jobCompleted": {
161
+ "message": "{{name}} concluído com sucesso",
162
+ "title": "Tarefa concluída"
70
163
  },
71
- "agentRemoved": {
72
- "title": "Agente removido",
73
- "message": "O agente de notificação foi removido"
164
+ "loggedIn": {
165
+ "message": "Sessão iniciada com sucesso",
166
+ "title": "Sucesso"
74
167
  },
75
- "jobCompleted": {
76
- "title": "Tarefa concluída",
77
- "message": "{{name}} concluído com sucesso"
168
+ "mobileAccessDisabled": {
169
+ "message": "Todas as sessões móveis foram revogadas",
170
+ "title": "Acesso móvel desativado"
171
+ },
172
+ "mobileAccessEnabled": {
173
+ "message": "Digitalize o código QR com a aplicação Tracearr",
174
+ "title": "Acesso móvel ativado"
175
+ },
176
+ "pairTokenGenerated": {
177
+ "message": "Digitalize o código QR com o seu dispositivo móvel",
178
+ "title": "Token de emparelhamento gerado"
179
+ },
180
+ "plexAccountLinked": {
181
+ "message": "Agora pode adicionar servidores da sua conta Plex",
182
+ "title": "Conta Plex associada"
183
+ },
184
+ "plexAccountUnlinked": {
185
+ "message": "A sua conta Plex foi desligada",
186
+ "title": "Conta Plex desassociada"
78
187
  },
79
188
  "ruleCreated": {
80
- "title": "Regra criada",
81
- "message": "Regra criada com sucesso"
189
+ "message": "Regra criada com sucesso",
190
+ "title": "Regra criada"
191
+ },
192
+ "ruleDeleted": {
193
+ "message": "Regra eliminada com sucesso",
194
+ "title": "Regra eliminada"
82
195
  },
83
196
  "ruleUpdated": {
84
- "title": "Regra atualizada",
85
- "message": "Regra atualizada com sucesso"
197
+ "message": "Regra atualizada com sucesso",
198
+ "title": "Regra atualizada"
86
199
  },
87
- "ruleDeleted": {
88
- "title": "Regra eliminada",
89
- "message": "Regra eliminada com sucesso"
200
+ "serverAdded": {
201
+ "message": "{{name}} foi adicionado com sucesso",
202
+ "title": "Servidor adicionado"
90
203
  },
91
- "streamTerminated": {
92
- "title": "Transmissão terminada",
93
- "message": "A sessão de reprodução foi interrompida"
204
+ "serverRemoved": {
205
+ "message": "O servidor foi removido com sucesso",
206
+ "title": "Servidor removido"
94
207
  },
95
- "serverUrlUpdated": {
96
- "title": "URL do servidor atualizado",
97
- "message": "O URL do servidor foi atualizado com sucesso"
208
+ "serverSynced": {
209
+ "message": "Os dados do servidor foram sincronizados",
210
+ "title": "Servidor sincronizado"
98
211
  },
99
212
  "serverUpdated": {
100
- "title": "Servidor atualizado",
101
- "message": "O servidor foi atualizado com sucesso"
213
+ "message": "O servidor foi atualizado com sucesso",
214
+ "title": "Servidor atualizado"
102
215
  },
103
- "syncCompletedWithErrors": {
104
- "title": "Sincronização concluída com erros"
216
+ "serverUrlUpdated": {
217
+ "message": "O URL do servidor foi atualizado com sucesso",
218
+ "title": "URL do servidor atualizado"
219
+ },
220
+ "serverUserSplit": {
221
+ "title": "Account split into a separate user"
105
222
  },
106
223
  "sessionsDeleted": {
107
- "title": "Sessões eliminadas",
108
224
  "message_one": "{{count}} sessão eliminada",
109
- "message_other": "{{count}} sessões eliminadas"
110
- },
111
- "violationsAcknowledged": {
112
- "title": "Violações reconhecidas",
113
- "message_one": "{{count}} violação reconhecida",
114
- "message_other": "{{count}} violações reconhecidas"
115
- },
116
- "violationsDismissed": {
117
- "title": "Violações descartadas",
118
- "message_one": "{{count}} violação descartada",
119
- "message_other": "{{count}} violações descartadas"
225
+ "message_other": "{{count}} sessões eliminadas",
226
+ "title": "Sessões eliminadas"
120
227
  },
121
- "apiKeyGenerated": {
122
- "title": "Chave API gerada",
123
- "message": "A sua nova chave API está pronta a usar"
228
+ "sessionsRevoked": {
229
+ "message": "Todas as sessões foram revogadas",
230
+ "title": "Sessões revogadas"
124
231
  },
125
- "mobileAccessEnabled": {
126
- "title": "Acesso móvel ativado",
127
- "message": "Digitalize o código QR com a aplicação Tracearr"
232
+ "settingsUpdated": {
233
+ "message": "As suas definições foram guardadas",
234
+ "title": "Definições atualizadas"
128
235
  },
129
- "mobileAccessDisabled": {
130
- "title": "Acesso móvel desativado",
131
- "message": "Todas as sessões móveis foram revogadas"
236
+ "streamTerminated": {
237
+ "message": "A sessão de reprodução foi interrompida",
238
+ "title": "Transmissão terminada"
132
239
  },
133
- "pairTokenGenerated": {
134
- "title": "Token de emparelhamento gerado",
135
- "message": "Digitalize o código QR com o seu dispositivo móvel"
240
+ "syncCompletedWithErrors": {
241
+ "title": "Sincronização concluída com erros"
136
242
  },
137
- "displayNameUpdated": {
138
- "title": "Nome de exibição atualizado"
243
+ "tokenCopied": {
244
+ "message": "O token foi copiado para a área de transferência",
245
+ "title": "Token copiado"
139
246
  },
140
247
  "trustScoresReset": {
141
- "title": "Pontuações de confiança redefinidas",
142
248
  "message_one": "{{count}} utilizador redefinido para 100",
143
- "message_other": "{{count}} utilizadores redefinidos para 100"
144
- },
145
- "claimCodeValidated": {
146
- "title": "Recuperar código validado",
147
- "message": "Agora você pode prosseguir com a configuração"
249
+ "message_other": "{{count}} utilizadores redefinidos para 100",
250
+ "title": "Pontuações de confiança redefinidas"
148
251
  },
149
252
  "usersMerged": {
150
- "title": "Users merged",
151
- "rulesKept": "Kept target's version of: {{names}}"
253
+ "rulesKept": "Kept target's version of: {{names}}",
254
+ "title": "Users merged"
152
255
  },
153
- "serverUserSplit": {
154
- "title": "Account split into a separate user"
155
- }
156
- },
157
- "error": {
158
- "serverAddFailed": "Falha ao adicionar servidor",
159
- "serverRemoveFailed": "Falha ao remover servidor",
160
- "serverSyncFailed": "Falha ao sincronizar servidor",
161
- "settingsUpdateFailed": "Falha ao atualizar definições",
162
- "copyFailed": "Não foi possível copiar para a área de transferência",
163
- "acknowledgeFailed": "Falha ao reconhecer violação",
164
- "dismissFailed": "Falha ao descartar violação",
165
- "authFailed": "Autenticação falhou",
166
- "webhookTestFailed": "Teste do webhook falhou",
167
- "ruleCreateFailed": "Falha ao criar a regra",
168
- "ruleUpdateFailed": "Falha ao atualizar a regra",
169
- "ruleDeleteFailed": "Falha ao eliminar a regra",
170
- "streamTerminateFailed": "Falha ao terminar a transmissão",
171
- "serverUrlUpdateFailed": "Falha ao atualizar URL do servidor",
172
- "serverUpdateFailed": "Falha ao atualizar servidor",
173
- "serverReorderFailed": "Falha ao reordenar servidores",
174
- "sessionsDeleteFailed": "Falha ao eliminar sessões",
175
- "apiKeyGenerateFailed": "Falha ao gerar chave API",
176
- "mobileAccessEnableFailed": "Falha ao ativar acesso móvel",
177
- "mobileAccessDisableFailed": "Falha ao desativar acesso móvel",
178
- "pairTokenGenerateFailed": "Falha ao gerar token de emparelhamento",
179
- "deviceRemoveFailed": "Falha ao remover dispositivo",
180
- "deviceRenameFailed": "Falha ao renomear dispositivo",
181
- "sessionsRevokeFailed": "Falha ao revogar sessões",
182
- "displayNameUpdateFailed": "Falha ao atualizar nome de exibição",
183
- "trustScoresResetFailed": "Falha ao redefinir pontuações de confiança",
184
- "routingUpdateFailed": "Falha ao atualizar encaminhamento",
185
- "clipboardFailed": "Falha ao copiar para a área de transferência",
186
- "plexUnlinkFailed": "Falha ao desassociar conta Plex",
187
- "agentAddFailed": "Falha ao adicionar agente",
188
- "agentUpdateFailed": "Falha ao atualizar agente",
189
- "agentRemoveFailed": "Falha ao remover agente",
190
- "agentTestFailed": "Teste falhou",
191
- "jobAlreadyRunning": "Tarefa já em execução",
192
- "jobStartFailed": "Falha ao iniciar tarefa",
193
- "jobLoadFailed": "Falha ao carregar tarefas de manutenção",
194
- "invalidUrl": "URL inválido",
195
- "plexDirectUrl": "URLs plex.direct são endereços de relay que não podem ser usados aqui. Por favor, use um endereço IP direto ou nome de host.",
196
- "userMergeFailed": "Failed to merge users",
197
- "serverUserSplitFailed": "Failed to split account",
198
- "invalidClaimCode": {
199
- "title": "Código de reivindicação inválido",
200
- "message": "Por favor, verifique os logs do servidor"
201
- }
202
- },
203
- "warning": {
204
- "jobFailed": {
205
- "title": "Tarefa falhou",
206
- "message": "{{name}} encontrou um erro"
207
- }
208
- },
209
- "info": {
210
- "streamStarted": {
211
- "title": "Nova transmissão iniciada",
212
- "message": "{{user}} começou a ver {{media}}"
213
- },
214
- "streamStopped": {
215
- "title": "Transmissão terminada",
216
- "message": "{{user}} parou de ver a transmissão"
256
+ "violationAcknowledged": {
257
+ "message": "A violação foi marcada como reconhecida",
258
+ "title": "Violação reconhecida"
217
259
  },
218
- "updateAvailable": {
219
- "title": "Atualização disponível",
220
- "message": "Tracearr {{version}} está disponível"
260
+ "violationDismissed": {
261
+ "message": "A violação foi descartada",
262
+ "title": "Violação descartada"
221
263
  },
222
- "serverOffline": {
223
- "title": "Servidor offline",
224
- "message": "{{name}} está inacessível"
264
+ "violationsAcknowledged": {
265
+ "message_one": "{{count}} violação reconhecida",
266
+ "message_other": "{{count}} violações reconhecidas",
267
+ "title": "Violações reconhecidas"
225
268
  },
226
- "serverOnline": {
227
- "title": "Servidor online",
228
- "message": "{{name}} voltou a ficar online"
269
+ "violationsDismissed": {
270
+ "message_one": "{{count}} violação descartada",
271
+ "message_other": "{{count}} violações descartadas",
272
+ "title": "Violações descartadas"
229
273
  },
230
- "violationDetected": {
231
- "title": "Nova violação: {{ruleName}}",
232
- "message": "{{user}} acionou {{ruleType}}"
274
+ "webhookTest": {
275
+ "message": "O webhook está a funcionar corretamente",
276
+ "title": "Teste válido"
277
+ }
278
+ },
279
+ "warning": {
280
+ "jobFailed": {
281
+ "message": "{{name}} encontrou um erro",
282
+ "title": "Tarefa falhou"
233
283
  }
234
284
  }
235
- },
236
- "push": {
237
- "violationDetected": "Violação de partilha detetada",
238
- "streamStarted": "Transmissão iniciada",
239
- "streamEnded": "Transmissão terminada",
240
- "serverDown": "Ligação ao servidor perdida",
241
- "serverUp": "Servidor de volta online",
242
- "newDevice": "New Device",
243
- "trustScoreChanged": "Trust Score Changed"
244
- },
245
- "settings": {
246
- "title": "Definições de notificações",
247
- "allSeverity": "Todas (Baixa, Aviso, Elevado)",
248
- "warningAndHigh": "Apenas Aviso e Elevado",
249
- "highOnly": "Apenas severidade elevada",
250
- "allTypes": "Todos os tipos",
251
- "rateLimit": "Estado atual do ratelimit",
252
- "perMinute": "Por minuto",
253
- "perHour": "Por hora",
254
- "enablePushNotifications": "Enable Push Notifications",
255
- "notificationEvents": "Notification Events",
256
- "violationDetected": "Violation Detected",
257
- "violationDetectedDesc": "Quando uma violação de compartilhamento é acionada",
258
- "streamStarted": "Stream Started",
259
- "streamStartedDesc": "Quando um usuário começa a assistir",
260
- "streamStopped": "Stream Stopped",
261
- "streamStoppedDesc": "Quando um usuário para de assistir",
262
- "concurrentStreams": "Concurrent Streams",
263
- "concurrentStreamsDesc": "Quando o limite máximo de transmissão for excedido",
264
- "newDevice": "New Device",
265
- "newDeviceDesc": "Quando um novo dispositivo se conectar",
266
- "trustScoreChanged": "Trust Score Changed",
267
- "trustScoreChangedDesc": "Quando o ponto de confiança de um usuário mudar",
268
- "serverDown": "Server Down",
269
- "serverDownDesc": "Quando um servidor de mídia ficar offline",
270
- "serverUp": "Server Up",
271
- "serverUpDesc": "Quando um servidor de mídia está online",
272
- "violationFilters": "Violation Filters",
273
- "minimumSeverity": "Minimum Severity",
274
- "quietHours": "Quiet Hours",
275
- "enableQuietHours": "Enable Quiet Hours",
276
- "overrideForCritical": "Override for Critical",
277
- "rateLimiting": "Rate Limiting"
278
285
  }
279
286
  }
@@ -332,7 +332,8 @@
332
332
  },
333
333
  "restoreTitle": "Restaurar do backup...",
334
334
  "startingDescription": "O servidor está aguardando que os serviços de backend estejam disponíveis. Esta página será atualizada automaticamente quando tudo estiver pronto.",
335
- "startingTitle": "Tracearr está iniciando..."
335
+ "startingTitle": "Tracearr está iniciando...",
336
+ "unreachable": "Can't reach the Tracearr server right now. Live updates are paused and will resume on their own."
336
337
  },
337
338
  "map": {
338
339
  "allActivity": "Toda atividade",
@@ -370,7 +371,6 @@
370
371
  "availability": {
371
372
  "added": "added {{date}}",
372
373
  "addedRemoved": "added {{added}} – removed {{removed}}",
373
- "removed": "removed {{date}}",
374
374
  "replaced": "replaced {{date}}"
375
375
  },
376
376
  "loadError": "Couldn't load this title",
@@ -660,6 +660,13 @@
660
660
  "blocked": "Bloqueado",
661
661
  "blockedCountries": "Países bloqueados",
662
662
  "blocklist": "Lista negra (bloquear estes países)",
663
+ "builder": {
664
+ "destinationDisabled": "Disabled destination",
665
+ "errors": {
666
+ "sendNeedsDestination": "Pick at least one destination"
667
+ },
668
+ "noDestinations": "No destinations yet. Add one to send notifications."
669
+ },
663
670
  "chooseTemplate": "Escolha um modelo de regra",
664
671
  "chooseTemplateDesc": "Selecione um tipo de regra pré-configurado para começar rapidamente.",
665
672
  "classicRule": "Regra Clássica",
@@ -720,6 +727,58 @@
720
727
  "weeks": "Semanas"
721
728
  },
722
729
  "settings": {
730
+ "destinations": {
731
+ "add": "Add destination",
732
+ "builtinNote": "Built in",
733
+ "clearSecret": "Clear",
734
+ "delete": "Delete",
735
+ "deleteConfirm": "Delete {{name}}? Rules that send to it will be blocked until they are updated.",
736
+ "description": "Where notifications go. Add as many as you like; each one picks the system events it receives, and rules can send to any of them.",
737
+ "empty": "No destinations yet.",
738
+ "events": {
739
+ "plugin_update_available": "Plugin update available",
740
+ "server_down": "Server down",
741
+ "server_up": "Server up",
742
+ "stream_started": "Stream started",
743
+ "stream_stopped": "Stream stopped",
744
+ "violation_detected": "Violation detected"
745
+ },
746
+ "eventsLabel": "Events",
747
+ "fields": {
748
+ "apiToken": "API token",
749
+ "apiUrl": "API URL",
750
+ "authToken": "Auth token",
751
+ "serverUrl": "Server URL",
752
+ "topic": "Topic",
753
+ "url": "URL",
754
+ "userKey": "User key",
755
+ "webhookUrl": "Webhook URL"
756
+ },
757
+ "hints": {
758
+ "authTokenOptional": "Optional for public topics"
759
+ },
760
+ "ownerOnly": "Only the owner can manage notification destinations.",
761
+ "pushNote": "Delivered to paired mobile devices; each device filters in its own notification settings.",
762
+ "reencrypt": "Re-enter this destination's secret",
763
+ "secretSet": "Set (leave blank to keep)",
764
+ "test": "Test",
765
+ "testHint": "Save first to test",
766
+ "testNeedsForm": "Fill in the required fields to test",
767
+ "title": "Notification destinations",
768
+ "types": {
769
+ "apprise": "Apprise",
770
+ "discord": "Discord",
771
+ "gotify": "Gotify",
772
+ "jsonWebhook": "Webhook (JSON)",
773
+ "ntfy": "ntfy",
774
+ "push": "Mobile push",
775
+ "pushover": "Pushover",
776
+ "webToast": "Browser toasts"
777
+ },
778
+ "usedBy": "Used by {{count}} rule",
779
+ "usedBy_other": "Used by {{count}} rules",
780
+ "webToastNote": "Toasts in this browser."
781
+ },
723
782
  "jobs": {
724
783
  "lastRun": "Última execução",
725
784
  "nextRun": "Próxima execução",
@@ -734,36 +793,6 @@
734
793
  "editDisplayNameDesc": "Alterar como este dispositivo aparece na sua lista de dispositivos",
735
794
  "updating": "A atualizar..."
736
795
  },
737
- "notifications": {
738
- "addAgent": "Adicionar agente de notificação",
739
- "addAgentDesc": "Escolha um serviço de notificação e configure-o.",
740
- "agentType": "Tipo de agente",
741
- "allAgentsConfigured": "Todos os agentes de notificação já estão configurados.",
742
- "allEvents": "Todos os eventos",
743
- "currentlyConfigured": "{{name}} está atualmente configurado.",
744
- "customEvents": "Eventos personalizados",
745
- "description": "Configure os canais de notificação e selecione quais eventos cada agente deve receber.",
746
- "editAgent": "Editar agente de notificação",
747
- "editAgentDesc": "Atualize a configuração do agente de notificação.",
748
- "eventSelection": "Seleção de eventos",
749
- "loadingSettings": "A carregar definições de notificações...",
750
- "noAgents": "Nenhum agente de notificação configurado",
751
- "noAgentsHint": "Adicione um agente para receber notificações sobre violações de partilha e eventos de transmissão.",
752
- "noConfigNeeded": "Nenhuma configuração necessária para este agente.",
753
- "oneWebhookLimit": "Apenas um agente de webhook pode estar ativo de cada vez.",
754
- "removeAgentDesc": "Isto removerá {{name}} e desativará todas as suas notificações. Pode adicioná-lo novamente mais tarde.",
755
- "removeAgentTitle": "Remover {{name}}?",
756
- "saveAgent": "Adicionar agente",
757
- "selectType": "Selecionar tipo...",
758
- "testAgent": "Testar agente",
759
- "testingAgent": "A testar...",
760
- "title": "Agentes de notificação",
761
- "triggerEvents": "Eventos de ativação",
762
- "updateAgent": "Atualizar agente",
763
- "webhookAgents": "Agentes de Webhook",
764
- "webhookUrl": "URL do Webhook",
765
- "webhookUrlPlaceholder": "https://..."
766
- },
767
796
  "plex": {
768
797
  "accountsLinked_one": "{{count}} conta Plex associada",
769
798
  "accountsLinked_other": "{{count}} contas Plex associadas",