strapi-plugin-magic-link-v5 5.5.8 → 6.0.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 (58) hide show
  1. package/CHANGELOG.md +740 -0
  2. package/README.md +662 -928
  3. package/dist/admin/LicenseGuard-BgLA9go3.mjs +495 -0
  4. package/dist/admin/LicenseGuard-ewCjpc17.js +513 -0
  5. package/dist/admin/de-B1FNErPH.mjs +673 -0
  6. package/dist/admin/de-e75OECdq.js +673 -0
  7. package/dist/admin/en-CABKGbxH.js +673 -0
  8. package/dist/admin/en-HqDOFBCc.mjs +673 -0
  9. package/dist/admin/es-DpWl0Fax.js +673 -0
  10. package/dist/admin/es-jb94jqPR.mjs +673 -0
  11. package/dist/admin/fr-BQhLPvYw.js +673 -0
  12. package/dist/admin/fr-BseH1wrr.mjs +673 -0
  13. package/dist/admin/index-6ot9j1cN.js +5268 -0
  14. package/dist/admin/index-B390rccl.js +622 -0
  15. package/dist/admin/index-BPGKtruf.mjs +5266 -0
  16. package/dist/admin/index-BaTIQtnA.js +3869 -0
  17. package/dist/admin/index-CmG-93yx.js +141 -0
  18. package/dist/admin/index-DXe_ge4v.mjs +620 -0
  19. package/dist/admin/index-Dv5PVT1E.mjs +3867 -0
  20. package/dist/admin/index-k240ls6p.mjs +142 -0
  21. package/dist/admin/index.js +3 -3
  22. package/dist/admin/index.mjs +1 -2
  23. package/dist/admin/pt-CPkaveti.js +673 -0
  24. package/dist/admin/pt-DhlSCJn2.mjs +673 -0
  25. package/dist/admin/useUnsavedChangesGuard-BVZ4Mg4E.js +225 -0
  26. package/dist/admin/useUnsavedChangesGuard-QnkiZTLP.mjs +224 -0
  27. package/dist/server/i18n/de.json +32 -1
  28. package/dist/server/i18n/en.json +32 -1
  29. package/dist/server/i18n/es.json +32 -1
  30. package/dist/server/i18n/fr.json +32 -1
  31. package/dist/server/i18n/pt.json +32 -1
  32. package/dist/server/index.js +7092 -5979
  33. package/dist/server/index.mjs +7114 -5979
  34. package/package.json +42 -41
  35. package/strapi-admin.js +3 -1
  36. package/strapi-server.js +3 -2
  37. package/dist/_chunks/LicenseGuard-CiyjFnrw.js +0 -54
  38. package/dist/_chunks/LicenseGuard-DJ5fq2UZ.mjs +0 -55
  39. package/dist/_chunks/de-BSOk5suQ.js +0 -454
  40. package/dist/_chunks/de-CwhYs3O3.mjs +0 -454
  41. package/dist/_chunks/en-DnvSpXvu.js +0 -454
  42. package/dist/_chunks/en-gXXgGDV1.mjs +0 -454
  43. package/dist/_chunks/es-B-tnwByt.js +0 -407
  44. package/dist/_chunks/es-DG5gW3RZ.mjs +0 -407
  45. package/dist/_chunks/fr-BKo8t7Fx.js +0 -407
  46. package/dist/_chunks/fr-BQn1OHOR.mjs +0 -407
  47. package/dist/_chunks/index-01GHNxSr.js +0 -307
  48. package/dist/_chunks/index-B9Ch8Jpe.mjs +0 -5066
  49. package/dist/_chunks/index-Bj-erY7g.mjs +0 -143
  50. package/dist/_chunks/index-CGxbhJfg.js +0 -142
  51. package/dist/_chunks/index-DF3Edydl.mjs +0 -330
  52. package/dist/_chunks/index-Dufv-daf.mjs +0 -305
  53. package/dist/_chunks/index-I72rBTkL.js +0 -332
  54. package/dist/_chunks/index-SCxv154G.mjs +0 -2904
  55. package/dist/_chunks/index-XYWLmmEs.js +0 -5068
  56. package/dist/_chunks/index-zzoovbM0.js +0 -2906
  57. package/dist/_chunks/pt-CjEkXBAz.js +0 -407
  58. package/dist/_chunks/pt-trziAOzT.mjs +0 -407
@@ -0,0 +1,673 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const ptTranslations = {
4
+ "magic-link.Form.title.License": "Licença",
5
+ "magic-link.Form.title.Settings": "Configurações",
6
+ "magic-link.Header.Settings": "Magic Link",
7
+ "magic-link.common.actions": "Ações",
8
+ "magic-link.common.cancel": "Cancelar",
9
+ "magic-link.common.clearSelection": "Limpar seleção",
10
+ "magic-link.common.clipboard.copied": "Copiado para a área de transferência",
11
+ "magic-link.common.clipboard.failed": "Falha ao copiar. Selecione o texto e copie-o manualmente.",
12
+ "magic-link.common.close": "Fechar",
13
+ "magic-link.common.confirm": "Confirmar",
14
+ "magic-link.common.created": "Criado",
15
+ "magic-link.common.delete": "Excluir",
16
+ "magic-link.common.emptyValue": "-",
17
+ "magic-link.common.entries": "{count} entradas",
18
+ "magic-link.common.entriesPerPage": "Entradas por página",
19
+ "magic-link.common.error.generic": "Algo deu errado. Tente novamente.",
20
+ "magic-link.common.expiresAt": "Expira em",
21
+ "magic-link.common.language.followAdmin": "Igual à interface de administração",
22
+ "magic-link.common.loading": "Carregando...",
23
+ "magic-link.common.loadingBannedIPs": "Carregando endereços IP banidos...",
24
+ "magic-link.common.loadingSessions": "Carregando sessões JWT...",
25
+ "magic-link.common.next": "Próximo",
26
+ "magic-link.common.pageTitle": "{page} | Magic Link",
27
+ "magic-link.common.permissions.loadError": "Não foi possível carregar suas permissões. Recarregue a página para tentar novamente.",
28
+ "magic-link.common.previous": "Anterior",
29
+ "magic-link.common.search.clear": "Limpar pesquisa",
30
+ "magic-link.common.searchIPPlaceholder": "Pesquisar por endereço IP...",
31
+ "magic-link.common.searchPlaceholder": "Pesquisar por e-mail, nome de usuário ou IP...",
32
+ "magic-link.common.status": "Status",
33
+ "magic-link.common.table.pagination.goTo": "Ir para a página {page}",
34
+ "magic-link.common.table.pagination.label": "Paginação",
35
+ "magic-link.common.table.pagination.more": "Mais páginas",
36
+ "magic-link.common.table.pagination.summary": "{from}-{to} de {total}",
37
+ "magic-link.common.table.retry": "Tentar novamente",
38
+ "magic-link.common.tableHeaders.ipAddress": "Endereço IP",
39
+ "magic-link.common.tableHeaders.sortByCreated": "Ordenar por data de criação",
40
+ "magic-link.common.tableHeaders.sortByExpiry": "Ordenar por data de expiração",
41
+ "magic-link.common.tableHeaders.sortByStatus": "Ordenar por status",
42
+ "magic-link.common.tableHeaders.sortByUser": "Ordenar por usuário",
43
+ "magic-link.common.unsaved.badge": "Alterações não salvas",
44
+ "magic-link.common.unsaved.cancel": "Continuar editando",
45
+ "magic-link.common.unsaved.confirm": "Descartar alterações",
46
+ "magic-link.common.unsaved.description": "Você tem alterações não salvas. Se continuar, elas serão perdidas.",
47
+ "magic-link.common.unsaved.title": "Descartar alterações não salvas?",
48
+ "magic-link.common.user": "Usuário",
49
+ "magic-link.common.userAgent": "User Agent",
50
+ "magic-link.ipban.actions.ban": "Banir IP",
51
+ "magic-link.ipban.actions.refresh": "Atualizar",
52
+ "magic-link.ipban.actions.unban": "Desbanir",
53
+ "magic-link.ipban.actions.unbanFor": "Desbloquear {ip}",
54
+ "magic-link.ipban.dialog.unban.body": "As solicitações de {ip} voltam a ser permitidas. Os tokens desativados continuam desativados.",
55
+ "magic-link.ipban.dialog.unban.title": "Desbloquear o endereço IP?",
56
+ "magic-link.ipban.empty.action": "Bloquear o primeiro IP",
57
+ "magic-link.ipban.empty.clearSearch": "Limpar pesquisa",
58
+ "magic-link.ipban.empty.description": "Nenhum endereço IP está banido no momento. Adicione um IP para bloqueá-lo.",
59
+ "magic-link.ipban.empty.descriptionReadOnly": "No momento, nenhum endereço IP está bloqueado.",
60
+ "magic-link.ipban.empty.noMatches.description": "Verifique o endereço ou limpe a pesquisa.",
61
+ "magic-link.ipban.empty.noMatches.title": "Nenhum IP bloqueado corresponde à sua pesquisa",
62
+ "magic-link.ipban.empty.title": "Nenhum IP banido",
63
+ "magic-link.ipban.filters.label": "Filtrar endereços IP bloqueados",
64
+ "magic-link.ipban.modal.cancel": "Cancelar",
65
+ "magic-link.ipban.modal.hint": "Digite um endereço IPv4 ou IPv6",
66
+ "magic-link.ipban.modal.invalidIP": "Por favor, insira um endereço IP válido",
67
+ "magic-link.ipban.modal.label": "Endereço IP",
68
+ "magic-link.ipban.modal.placeholder": "ex. 203.0.113.10",
69
+ "magic-link.ipban.modal.submit": "Banir IP",
70
+ "magic-link.ipban.modal.subtitle": "Adicionar um endereço IP à lista de bloqueio",
71
+ "magic-link.ipban.modal.title": "Banir endereço IP",
72
+ "magic-link.ipban.modal.warning": "Aviso: Este endereço IP será bloqueado imediatamente e todos os tokens associados serão desativados.",
73
+ "magic-link.ipban.notifications.banError": "Erro ao banir IP",
74
+ "magic-link.ipban.notifications.banSuccess": "IP {ip} foi banido",
75
+ "magic-link.ipban.notifications.errorTitle": "Erro",
76
+ "magic-link.ipban.notifications.loadError": "Não foi possível carregar os endereços IP bloqueados.",
77
+ "magic-link.ipban.notifications.refreshSuccess": "Lista de IP atualizada",
78
+ "magic-link.ipban.notifications.successTitle": "Sucesso",
79
+ "magic-link.ipban.notifications.unbanError": "Erro ao desbanir IP",
80
+ "magic-link.ipban.notifications.unbanSuccess": "IP {ip} foi desbanido",
81
+ "magic-link.ipban.permission.denied": "Você não tem permissão para ver os endereços IP bloqueados.",
82
+ "magic-link.ipban.search.label": "Pesquisar endereços IP bloqueados",
83
+ "magic-link.ipban.stats.ipv4": "Endereços IPv4",
84
+ "magic-link.ipban.stats.ipv6": "Endereços IPv6",
85
+ "magic-link.ipban.stats.label": "Estatísticas de bloqueios",
86
+ "magic-link.ipban.stats.total": "IPs banidos",
87
+ "magic-link.ipban.status.banned": "Banido",
88
+ "magic-link.ipban.title": "Endereços IP bloqueados",
89
+ "magic-link.jwt.actions.cleanup": "Limpar",
90
+ "magic-link.jwt.actions.cleanupCount": "Limpar ({count})",
91
+ "magic-link.jwt.actions.refresh": "Atualizar",
92
+ "magic-link.jwt.actions.revoke": "Revogar",
93
+ "magic-link.jwt.actions.revokeFor": "Revogar a sessão de {user}",
94
+ "magic-link.jwt.actions.revokeSelected": "Revogar seleção",
95
+ "magic-link.jwt.actions.unrevoke": "Restaurar",
96
+ "magic-link.jwt.actions.unrevokeExpired": "Sessões expiradas não podem ser restauradas",
97
+ "magic-link.jwt.actions.unrevokeRefresh": "Sessões no modo refresh não podem ser restauradas. O usuário precisa entrar novamente.",
98
+ "magic-link.jwt.actions.unrevokeClaim": "Sessões encerradas pela reivindicação de uma conta não podem ser restauradas. O usuário precisa entrar novamente.",
99
+ "magic-link.jwt.actions.unrevokeFor": "Restaurar a sessão de {user}",
100
+ "magic-link.jwt.confirm.cleanup": "Marcar todas as sessões JWT expiradas como revogadas? As sessões ativas permanecem inalteradas.",
101
+ "magic-link.jwt.dialog.bulkRevoke.body": "{count, plural, one {# sessão é encerrada imediatamente.} other {# sessões são encerradas imediatamente.}}",
102
+ "magic-link.jwt.dialog.bulkRevoke.title": "Revogar as sessões selecionadas?",
103
+ "magic-link.jwt.dialog.cleanup.title": "Limpar as sessões expiradas?",
104
+ "magic-link.jwt.dialog.revoke.body": "A sessão de {user} é encerrada. O token deixa de funcionar imediatamente.",
105
+ "magic-link.jwt.dialog.revoke.title": "Revogar a sessão?",
106
+ "magic-link.jwt.dialog.unrevoke.body": "O token de {user} volta a funcionar até expirar.",
107
+ "magic-link.jwt.dialog.unrevoke.title": "Restaurar a sessão?",
108
+ "magic-link.jwt.empty.description": "As sessões aparecem aqui depois que os usuários entram com um magic link.",
109
+ "magic-link.jwt.empty.noMatches.description": "Altere a pesquisa ou o filtro de status para ver mais sessões.",
110
+ "magic-link.jwt.empty.noMatches.title": "Nenhuma sessão corresponde aos seus filtros",
111
+ "magic-link.jwt.empty.resetFilters": "Redefinir filtros",
112
+ "magic-link.jwt.empty.title": "Ainda não há sessões JWT",
113
+ "magic-link.jwt.filter.active": "Somente ativas",
114
+ "magic-link.jwt.filter.all": "Todos os status",
115
+ "magic-link.jwt.filter.expired": "Somente expiradas",
116
+ "magic-link.jwt.filter.revoked": "Somente revogadas",
117
+ "magic-link.jwt.filters.label": "Filtrar sessões",
118
+ "magic-link.jwt.filters.status": "Filtrar por status",
119
+ "magic-link.jwt.notifications.bulkRevokePartial": "{succeeded} de {total} sessões revogadas. As demais falharam.",
120
+ "magic-link.jwt.notifications.bulkRevokeSuccess": "{count, plural, one {# sessão revogada} other {# sessões revogadas}}",
121
+ "magic-link.jwt.notifications.cleanupCount": "{count, plural, one {# sessão expirada limpa} other {# sessões expiradas limpas}}",
122
+ "magic-link.jwt.notifications.cleanupError": "Erro ao limpar as sessões",
123
+ "magic-link.jwt.notifications.cleanupSuccess": "Sessões limpas com sucesso",
124
+ "magic-link.jwt.notifications.errorTitle": "Erro",
125
+ "magic-link.jwt.notifications.loadError": "Não foi possível carregar as sessões JWT.",
126
+ "magic-link.jwt.notifications.refreshSuccess": "Os dados foram atualizados",
127
+ "magic-link.jwt.notifications.revokeError": "Erro ao revogar a sessão",
128
+ "magic-link.jwt.notifications.revokeSuccess": "Sessão revogada com sucesso",
129
+ "magic-link.jwt.notifications.successTitle": "Sucesso",
130
+ "magic-link.jwt.notifications.unrevokeError": "Erro ao restaurar a sessão",
131
+ "magic-link.jwt.notifications.unrevokeSuccess": "Sessão restaurada com sucesso",
132
+ "magic-link.jwt.permission.denied": "Você não tem permissão para ver as sessões JWT.",
133
+ "magic-link.jwt.search.label": "Pesquisar sessões",
134
+ "magic-link.jwt.selection.count": "{count, plural, one {# sessão selecionada} other {# sessões selecionadas}}",
135
+ "magic-link.jwt.stats.active": "Ativo",
136
+ "magic-link.jwt.stats.expired": "Expirado",
137
+ "magic-link.jwt.stats.label": "Estatísticas de sessões",
138
+ "magic-link.jwt.stats.revoked": "Revogado",
139
+ "magic-link.jwt.stats.total": "Total",
140
+ "magic-link.jwt.status.active": "Ativo",
141
+ "magic-link.jwt.status.expired": "Expirado",
142
+ "magic-link.jwt.status.revoked": "Revogado",
143
+ "magic-link.jwt.table.select": "Selecionar a sessão de {user}",
144
+ "magic-link.jwt.table.selectAll": "Selecionar todas as sessões ativas desta página",
145
+ "magic-link.jwt.title": "Sessões JWT",
146
+ "magic-link.jwt.unknownUser": "Usuário desconhecido",
147
+ "magic-link.jwt.unknownValue": "Desconhecido",
148
+ "magic-link.license.alert.active.body": "Chave de licença registrada. Obrigado por apoiar o plugin.",
149
+ "magic-link.license.alert.active.title": "Licença ativa",
150
+ "magic-link.license.alert.close": "Fechar mensagem",
151
+ "magic-link.license.alert.none.body": "Todos os recursos do Magic Link estão disponíveis sem ativação.",
152
+ "magic-link.license.alert.none.title": "Nenhuma chave de licença registrada",
153
+ "magic-link.license.alert.unverified.body": "Não foi possível contatar o servidor de licenças. O plugin continua funcionando. Atualize o status mais tarde.",
154
+ "magic-link.license.alert.unverified.title": "Licença não verificada",
155
+ "magic-link.license.copy.success": "Chave de licença copiada",
156
+ "magic-link.license.download.error": "Não foi possível baixar o arquivo de licença.",
157
+ "magic-link.license.download.success": "Arquivo de licença baixado",
158
+ "magic-link.license.error.forbidden": "Você não tem permissão para ver a licença. Peça a um administrador a permissão de leitura das configurações.",
159
+ "magic-link.license.error.load": "Não foi possível carregar as informações da licença. Tente novamente.",
160
+ "magic-link.license.error.title": "Licença indisponível",
161
+ "magic-link.license.field.deviceName": "Nome do dispositivo",
162
+ "magic-link.license.field.email": "Endereço de e-mail",
163
+ "magic-link.license.field.expired": "Expirou em",
164
+ "magic-link.license.field.expires": "Expira em",
165
+ "magic-link.license.field.holder": "Nome",
166
+ "magic-link.license.field.ipAddress": "Endereço IP",
167
+ "magic-link.license.field.mode": "Modo do plugin",
168
+ "magic-link.license.field.status": "Status",
169
+ "magic-link.license.file.generated": "Gerado em",
170
+ "magic-link.license.file.holder": "Titular da licença",
171
+ "magic-link.license.file.statusSection": "Status da licença",
172
+ "magic-link.license.file.title": "Chave de licença do plugin Magic Link",
173
+ "magic-link.license.key.copy": "Copiar chave",
174
+ "magic-link.license.key.download": "Baixar como TXT",
175
+ "magic-link.license.key.hidden": "Chave de licença oculta",
176
+ "magic-link.license.key.hide": "Ocultar chave",
177
+ "magic-link.license.key.label": "Chave de licença",
178
+ "magic-link.license.key.show": "Mostrar chave",
179
+ "magic-link.license.loading": "Carregando informações da licença...",
180
+ "magic-link.license.mode.unlocked": "Todos os recursos disponíveis",
181
+ "magic-link.license.pageTitle": "Licença",
182
+ "magic-link.license.refresh": "Atualizar status",
183
+ "magic-link.license.retry": "Tentar novamente",
184
+ "magic-link.license.section.account": "Informações da conta",
185
+ "magic-link.license.section.details": "Detalhes da licença",
186
+ "magic-link.license.section.status": "Status do sistema",
187
+ "magic-link.license.status.active": "Ativa",
188
+ "magic-link.license.status.inactive": "Inativa",
189
+ "magic-link.license.status.noKey": "Nenhuma chave registrada",
190
+ "magic-link.license.subtitle": "Veja a licença do seu plugin Magic Link",
191
+ "magic-link.license.title": "Gerenciamento da licença",
192
+ "magic-link.license.value.never": "Nunca",
193
+ "magic-link.license.value.notProvided": "Não informado",
194
+ "magic-link.otp.actions.cleanup": "Limpar",
195
+ "magic-link.otp.actions.cleanupCount": "Limpar ({count})",
196
+ "magic-link.otp.actions.deleteFor": "Excluir o código {reference}",
197
+ "magic-link.otp.actions.deleteSelected": "Excluir seleção",
198
+ "magic-link.otp.actions.refresh": "Atualizar",
199
+ "magic-link.otp.dialog.bulkDelete.body": "{count, plural, one {# código deixa de funcionar imediatamente.} other {# códigos deixam de funcionar imediatamente.}}",
200
+ "magic-link.otp.dialog.bulkDelete.title": "Excluir os códigos OTP selecionados?",
201
+ "magic-link.otp.dialog.cleanup.body": "Todos os códigos expirados são excluídos permanentemente. Os códigos ativos continuam válidos.",
202
+ "magic-link.otp.dialog.cleanup.title": "Remover os códigos OTP expirados?",
203
+ "magic-link.otp.dialog.delete.body": "O código enviado para {email} deixa de funcionar imediatamente.",
204
+ "magic-link.otp.dialog.delete.title": "Excluir o código OTP?",
205
+ "magic-link.otp.empty.description": "Os códigos aparecem aqui assim que um login por magic link solicita um código por e-mail.",
206
+ "magic-link.otp.empty.noMatches.description": "Altere a pesquisa ou o filtro de status para ver mais códigos.",
207
+ "magic-link.otp.empty.noMatches.title": "Nenhum código OTP corresponde aos seus filtros",
208
+ "magic-link.otp.empty.resetFilters": "Redefinir filtros",
209
+ "magic-link.otp.empty.title": "Ainda não há códigos OTP",
210
+ "magic-link.otp.filter.active": "Somente ativos",
211
+ "magic-link.otp.filter.all": "Todos os status",
212
+ "magic-link.otp.filter.expired": "Somente expirados",
213
+ "magic-link.otp.filter.used": "Somente usados",
214
+ "magic-link.otp.filters.label": "Filtrar códigos OTP",
215
+ "magic-link.otp.filters.status": "Filtrar por status",
216
+ "magic-link.otp.loading": "Carregando códigos OTP...",
217
+ "magic-link.otp.notifications.bulkDeletePartial": "{succeeded} de {total} códigos OTP excluídos. Os demais falharam.",
218
+ "magic-link.otp.notifications.bulkDeleteSuccess": "{count, plural, one {# código OTP excluído} other {# códigos OTP excluídos}}",
219
+ "magic-link.otp.notifications.cleanupCount": "{count, plural, one {# código expirado removido} other {# códigos expirados removidos}}",
220
+ "magic-link.otp.notifications.cleanupError": "Não foi possível remover os códigos OTP expirados.",
221
+ "magic-link.otp.notifications.cleanupSuccess": "Códigos OTP expirados removidos",
222
+ "magic-link.otp.notifications.deleteError": "Não foi possível excluir o código OTP.",
223
+ "magic-link.otp.notifications.deleteSuccess": "Código OTP excluído",
224
+ "magic-link.otp.notifications.errorTitle": "Erro",
225
+ "magic-link.otp.notifications.loadError": "Não foi possível carregar os códigos OTP.",
226
+ "magic-link.otp.notifications.refreshSuccess": "Códigos OTP atualizados",
227
+ "magic-link.otp.notifications.successTitle": "Sucesso",
228
+ "magic-link.otp.permission.denied": "Você não tem permissão para ver os códigos OTP.",
229
+ "magic-link.otp.search.label": "Pesquisar códigos OTP",
230
+ "magic-link.otp.search.placeholder": "Pesquisar por e-mail...",
231
+ "magic-link.otp.selection.count": "{count, plural, one {# código selecionado} other {# códigos selecionados}}",
232
+ "magic-link.otp.stats.active": "Ativos",
233
+ "magic-link.otp.stats.expired": "Expirados",
234
+ "magic-link.otp.stats.label": "Estatísticas de códigos OTP",
235
+ "magic-link.otp.stats.total": "Total",
236
+ "magic-link.otp.stats.used": "Usados",
237
+ "magic-link.otp.status.active": "Ativo",
238
+ "magic-link.otp.status.expired": "Expirado",
239
+ "magic-link.otp.status.used": "Usado",
240
+ "magic-link.otp.table.attempts": "Tentativas",
241
+ "magic-link.otp.table.email": "E-mail",
242
+ "magic-link.otp.table.reference": "Referência",
243
+ "magic-link.otp.table.select": "Selecionar o código {reference} de {email}",
244
+ "magic-link.otp.table.selectAll": "Selecionar todos os códigos desta página",
245
+ "magic-link.otp.table.type": "Tipo",
246
+ "magic-link.otp.title": "Códigos OTP",
247
+ "magic-link.otp.type.email": "E-mail",
248
+ "magic-link.otp.type.totp": "Aplicativo autenticador",
249
+ "magic-link.settings.advanced.publicRegistration.description": "Permite que os usuários façam login com um Magic Link a partir de formulários de registro públicos, sem senha.",
250
+ "magic-link.settings.advanced.publicRegistration.title": "Magic Links no registro público",
251
+ "magic-link.settings.advanced.subtitle": "Recursos avançados para casos de uso especiais",
252
+ "magic-link.settings.advanced.title": "OPÇÕES ADICIONAIS",
253
+ "magic-link.settings.auth.jwtExpiration.hint": "Um número seguido de m, h ou d, por exemplo 15m, 1h, 7d ou 30d. Tokens revogados permanecem bloqueados até expirarem.",
254
+ "magic-link.settings.auth.jwtExpiration.invalid": "Informe um número seguido de m, h ou d, por exemplo 15m, 1h ou 30d.",
255
+ "magic-link.settings.auth.jwtExpiration.label": "Validade do JWT",
256
+ "magic-link.settings.auth.management.title": "Gerenciamento de usuários e sessões",
257
+ "magic-link.settings.auth.options.subtitle": "Configure como os usuários são autenticados e gerenciados",
258
+ "magic-link.settings.auth.options.title": "OPÇÕES DE AUTENTICAÇÃO",
259
+ "magic-link.settings.auth.storeLoginInfo.description": "Armazena o endereço IP e o navegador de cada login para monitoramento de segurança.",
260
+ "magic-link.settings.auth.storeLoginInfo.title": "Armazenar dados de login",
261
+ "magic-link.settings.auth.strategy.email": "Somente e-mail: a conta é criada com o endereço de e-mail",
262
+ "magic-link.settings.auth.strategy.emailUsername": "E-mail e nome de usuário: o nome de usuário é gerado a partir do e-mail",
263
+ "magic-link.settings.auth.strategy.hint": "Usada quando um administrador cria um link para um endereço de e-mail desconhecido.",
264
+ "magic-link.settings.auth.strategy.label": "Estratégia de criação de usuário",
265
+ "magic-link.settings.auth.strategy.manual": "Manual: sem criação automática, os usuários precisam existir",
266
+ "magic-link.settings.auth.useJwt.description": "Retorna um JWT do Users & Permissions após o login, como o login nativo. Recomendado para SPAs e aplicativos móveis.",
267
+ "magic-link.settings.auth.useJwt.title": "Emitir um JWT",
268
+ "magic-link.settings.auth.verifyEmail.description": "Os usuários precisam confirmar o endereço de e-mail antes de fazer login.",
269
+ "magic-link.settings.auth.verifyEmail.title": "Verificação de e-mail",
270
+ "magic-link.settings.auth.welcomeEmail.description": "Envia um e-mail de boas-vindas aos usuários recém-criados.",
271
+ "magic-link.settings.auth.welcomeEmail.title": "E-mail de boas-vindas",
272
+ "magic-link.settings.compatibility.migration.description": "Após a migração, mude seus clientes para a API do Magic Link (/api/magic-link/*) e desative o modo de compatibilidade.",
273
+ "magic-link.settings.compatibility.migration.title": "Nota de Migração",
274
+ "magic-link.settings.compatibility.passwordless.description": "Mantém as rotas /api/passwordless do strapi-plugin-passwordless funcionando durante a migração.",
275
+ "magic-link.settings.compatibility.passwordless.title": "Compatibilidade com Plugin Passwordless",
276
+ "magic-link.settings.confirmationUrl.hint": "URL completa da página que recebe o link quando nenhuma URL de frontend está definida.",
277
+ "magic-link.settings.confirmationUrl.label": "URL de confirmação",
278
+ "magic-link.settings.context.blacklist.hint": "Separados por vírgula. Estes campos são sempre removidos, mesmo quando também permitidos.",
279
+ "magic-link.settings.context.blacklist.label": "Campos bloqueados",
280
+ "magic-link.settings.context.subtitle": "Aplica-se a todo link de login, seja criado pelo seu frontend ou por um administrador. Campos reservados como userId ou otpVerified são sempre removidos.",
281
+ "magic-link.settings.context.title": "Política de campos de contexto",
282
+ "magic-link.settings.context.whitelist.hint": "Separados por vírgula. Quando definido, apenas estes campos são mantidos. Deixe em branco para permitir todos os campos não bloqueados.",
283
+ "magic-link.settings.context.whitelist.label": "Campos permitidos",
284
+ "magic-link.settings.discard": "Descartar",
285
+ "magic-link.settings.email.default.button": "Entrar agora",
286
+ "magic-link.settings.email.default.expiry": "O link expira em {expiry}.",
287
+ "magic-link.settings.email.default.heading": "Entrar",
288
+ "magic-link.settings.email.default.ignore": "Se você não solicitou este e-mail, pode ignorá-lo.",
289
+ "magic-link.settings.email.default.intro": "Use o botão abaixo para entrar. Nenhuma senha é necessária.",
290
+ "magic-link.settings.email.default.name": "Modelo padrão",
291
+ "magic-link.settings.email.designer.fallbackBadge": "Apenas fallback",
292
+ "magic-link.settings.email.designer.fallbackDescription": "Estes modelos são usados quando a integração selecionada não consegue enviar.",
293
+ "magic-link.settings.email.designer.noTemplates": "Nenhum modelo encontrado. Crie um primeiro no Email Designer 5.",
294
+ "magic-link.settings.email.designer.placeholder": "Escolha um modelo...",
295
+ "magic-link.settings.email.designer.selectTemplate": "Modelo do Email Designer",
296
+ "magic-link.settings.email.designer.templatesAvailable": "{count, plural, one {# modelo disponível} other {# modelos disponíveis}}. A escolha vale depois de salvar.",
297
+ "magic-link.settings.email.designer.useTemplate": "Usar um modelo do Email Designer 5",
298
+ "magic-link.settings.email.designer.useTemplateHint": "Os e-mails de login usam o modelo do Email Designer selecionado. Os modelos abaixo continuam como alternativa.",
299
+ "magic-link.settings.email.designer.variables": "Variáveis do modelo: '{{magicLink}}' (link de login), '{{expiryText}}', '{{user.email}}' e '{{user.username}}'.",
300
+ "magic-link.settings.email.fromEmail.hint": "Deve ser um endereço a partir do qual seu provedor pode enviar. Deixe em branco para usar o padrão do provedor.",
301
+ "magic-link.settings.email.fromEmail.label": "E-mail do remetente",
302
+ "magic-link.settings.email.fromName.hint": "O nome que os usuários veem como remetente, por exemplo o nome do seu aplicativo.",
303
+ "magic-link.settings.email.fromName.label": "Nome do remetente",
304
+ "magic-link.settings.email.gallery.active": "Em uso",
305
+ "magic-link.settings.email.gallery.description": "Carregue um design pronto nos editores abaixo. Salve para aplicá-lo.",
306
+ "magic-link.settings.email.gallery.title": "Galeria de modelos",
307
+ "magic-link.settings.email.html.badge": "Modelo principal",
308
+ "magic-link.settings.email.html.copied": "Modelo HTML copiado",
309
+ "magic-link.settings.email.html.copy": "Copiar modelo",
310
+ "magic-link.settings.email.html.description": "Versão HTML do e-mail de login. Use os marcadores acima, pelo menos {placeholder}.",
311
+ "magic-link.settings.email.html.loadDefault": "Carregar modelo padrão",
312
+ "magic-link.settings.email.html.stats": "{lines, plural, one {# linha} other {# linhas}}, {chars, plural, one {# caractere} other {# caracteres}}",
313
+ "magic-link.settings.email.html.title": "Modelo HTML",
314
+ "magic-link.settings.email.invalidEmail": "Insira um endereço de e-mail válido ou deixe o campo vazio.",
315
+ "magic-link.settings.email.magicMail.description": "Usa suas contas do Magic Mail, regras de roteamento e failover. Verifique se há pelo menos uma conta ativa.",
316
+ "magic-link.settings.email.magicMail.placeholder": "Escolher um modelo",
317
+ "magic-link.settings.email.magicMail.template": "Modelo do Magic Mail",
318
+ "magic-link.settings.email.magicMail.templateHint": "Opcional. Os modelos são gerenciados no Magic Mail. A escolha vale depois de salvar.",
319
+ "magic-link.settings.email.magicMail.use": "Enviar com o Magic Mail",
320
+ "magic-link.settings.email.overwrite.body": 'Carregar "{name}" substitui seu modelo personalizado no editor. Suas configurações salvas não mudam até você salvar.',
321
+ "magic-link.settings.email.overwrite.confirm": "Substituir modelo",
322
+ "magic-link.settings.email.overwrite.title": "Substituir seu modelo?",
323
+ "magic-link.settings.email.placeholders.code.description": "Apenas o token, somente para formatos de link personalizados.",
324
+ "magic-link.settings.email.placeholders.copied": "{placeholder} copiado",
325
+ "magic-link.settings.email.placeholders.copyLabel": "Copiar {placeholder}",
326
+ "magic-link.settings.email.placeholders.email.description": "Endereço de e-mail do destinatário.",
327
+ "magic-link.settings.email.placeholders.expiresAt.description": "Data e hora de expiração no formato ISO 8601.",
328
+ "magic-link.settings.email.placeholders.expiry.description": "Por quanto tempo o link continua válido, por exemplo 1 hora.",
329
+ "magic-link.settings.email.placeholders.intro": "Os valores são inseridos como texto simples e escapados em HTML. Selecione um marcador para copiá-lo.",
330
+ "magic-link.settings.email.placeholders.loginUrl.description": "Link de login completo com o token. Use em botões e links.",
331
+ "magic-link.settings.email.placeholders.title": "Marcadores disponíveis",
332
+ "magic-link.settings.email.placeholders.url.description": "URL de login sem o token.",
333
+ "magic-link.settings.email.placeholders.username.description": "Nome de usuário do destinatário, ou o endereço de e-mail quando não houver.",
334
+ "magic-link.settings.email.provider.configured": "Provedor de e-mail: {name}",
335
+ "magic-link.settings.email.provider.defaultName": "configurado",
336
+ "magic-link.settings.email.provider.magicMail": "Provedor de e-mail: Magic Mail (roteamento avançado)",
337
+ "magic-link.settings.email.provider.missing.body": "O Magic Link não pode enviar e-mails até que um provedor seja configurado. Escolha uma destas opções:",
338
+ "magic-link.settings.email.provider.missing.configure": "e configure-o em {file}.",
339
+ "magic-link.settings.email.provider.missing.magicMail": "Instale o plugin Magic Mail para roteamento, contas OAuth2 e análises.",
340
+ "magic-link.settings.email.provider.missing.nodemailer": "Instale o Nodemailer (recomendado):",
341
+ "magic-link.settings.email.provider.missing.other": "Use outro provedor de e-mail do Strapi, como SendGrid, Mailgun ou Amazon SES.",
342
+ "magic-link.settings.email.provider.missing.title": "Nenhum provedor de e-mail configurado",
343
+ "magic-link.settings.email.responseEmail.hint": "Opcional. As respostas dos usuários vão para este endereço.",
344
+ "magic-link.settings.email.responseEmail.label": "E-mail de resposta",
345
+ "magic-link.settings.email.sender.subtitle": "Estas informações aparecem nos e-mails enviados aos usuários",
346
+ "magic-link.settings.email.sender.title": "INFORMAÇÕES DO REMETENTE",
347
+ "magic-link.settings.email.subject.hint": "Seja claro para que o e-mail não seja marcado como spam. Marcadores como {placeholder} também funcionam aqui.",
348
+ "magic-link.settings.email.subject.label": "Linha de assunto",
349
+ "magic-link.settings.email.subject.placeholder": "Seu link de login",
350
+ "magic-link.settings.email.template.fallbackName": "Modelo {id}",
351
+ "magic-link.settings.email.template.missing": "O modelo salvo não existe mais. Selecione outro.",
352
+ "magic-link.settings.email.templates.subtitle": "Projete os e-mails enviados aos usuários. Use marcadores para conteúdo dinâmico.",
353
+ "magic-link.settings.email.templates.title": "MODELOS DE E-MAIL",
354
+ "magic-link.settings.email.text.badge": "Fallback",
355
+ "magic-link.settings.email.text.copied": "Modelo de texto copiado",
356
+ "magic-link.settings.email.text.copy": "Copiar modelo",
357
+ "magic-link.settings.email.text.description": "Versão de texto para clientes de e-mail sem HTML. Os marcadores são inseridos como estão.",
358
+ "magic-link.settings.email.text.loadDefault": "Carregar modelo padrão",
359
+ "magic-link.settings.email.text.title": "Modelo de texto simples",
360
+ "magic-link.settings.errors.summary": "{count, plural, one {# campo precisa de atenção} other {# campos precisam de atenção}}",
361
+ "magic-link.settings.expire.hint": "Recomendado: 3600 segundos (1 hora). Permitido: de 10 a 31.536.000.",
362
+ "magic-link.settings.expire.label": "Validade do link (segundos)",
363
+ "magic-link.settings.feature.createUser.description": "Cria uma conta quando o endereço de e-mail é desconhecido. Respeita as configurações de registro e confirmação de e-mail do Users & Permissions.",
364
+ "magic-link.settings.feature.createUser.title": "Criar usuários automaticamente",
365
+ "magic-link.settings.feature.staysValid.description": "Um link pode ser usado mais de uma vez até expirar. Menos seguro; mantenha desativado, a menos que os usuários precisem abrir o link em vários dispositivos.",
366
+ "magic-link.settings.feature.staysValid.title": "Links reutilizáveis",
367
+ "magic-link.settings.features.subtitle": "Ativar ou desativar os recursos principais do plugin Magic Link",
368
+ "magic-link.settings.features.title": "RECURSOS PRINCIPAIS",
369
+ "magic-link.settings.footer.quickhelp": "Ajuda rápida",
370
+ "magic-link.settings.footer.reminder": "Depois de salvar, crie um token de teste e experimente o Magic Link.",
371
+ "magic-link.settings.info.header": "Notas importantes de configuração",
372
+ "magic-link.settings.info.line1": "As alterações entram em vigor depois de salvar.",
373
+ "magic-link.settings.info.line2": "Certifique-se de que todas as URLs estejam configuradas corretamente",
374
+ "magic-link.settings.info.line3": "Teste a configuração após salvar com um token de teste",
375
+ "magic-link.settings.info.line4": "Cartões verdes são recursos ativos; cartões cinzas estão inativos.",
376
+ "magic-link.settings.language.hint": "Idioma das páginas de administração do Magic Link neste navegador. Vale imediatamente.",
377
+ "magic-link.settings.language.label": "Idioma da interface",
378
+ "magic-link.settings.links.frontendPath.hint": "Caminho da página que recebe o link, anexado à URL do frontend. Começa com /.",
379
+ "magic-link.settings.links.frontendPath.label": "Caminho de login do frontend",
380
+ "magic-link.settings.links.frontendUrl.hint": "URL base do seu aplicativo frontend (React, Vue, página de deep link móvel). Deixe em branco para usar a URL de confirmação.",
381
+ "magic-link.settings.links.frontendUrl.label": "URL base do frontend",
382
+ "magic-link.settings.links.preview.source.api": "Não há URL de frontend ou de confirmação válida, então o link abre a rota de login da API do Strapi.",
383
+ "magic-link.settings.links.preview.source.confirmation": "Gerado a partir da URL de confirmação.",
384
+ "magic-link.settings.links.preview.source.frontend": "Gerado a partir da URL do frontend e do caminho de login.",
385
+ "magic-link.settings.links.preview.title": "Link de login resultante",
386
+ "magic-link.settings.links.subtitle": "Use https. http só é aceito para localhost. A URL do frontend tem prioridade sobre a URL de confirmação.",
387
+ "magic-link.settings.links.title": "URLs dos links de login",
388
+ "magic-link.settings.load.error": "Não foi possível carregar as configurações.",
389
+ "magic-link.settings.load.loading": "Carregando configurações...",
390
+ "magic-link.settings.mfa.confirmRequired.bodyCount": "Apenas {count, plural, one {# usuário configurou} other {# usuários configuraram}} um aplicativo autenticador. Todos os demais não conseguirão mais entrar depois de salvar.",
391
+ "magic-link.settings.mfa.confirmRequired.bodyUnknown": "Usuários sem aplicativo autenticador não conseguirão mais entrar depois de salvar. O número de usuários cadastrados é desconhecido.",
392
+ "magic-link.settings.mfa.confirmRequired.confirm": "Exigir de todos",
393
+ "magic-link.settings.mfa.confirmRequired.recovery": 'Para desfazer, escolha "Usuários que configuraram um aplicativo" ou outro modo de login e salve novamente.',
394
+ "magic-link.settings.mfa.confirmRequired.title": "Exigir um aplicativo autenticador de todos os usuários?",
395
+ "magic-link.settings.mfa.enrollment.count": "{count, plural, one {# usuário configurou} other {# usuários configuraram}} um aplicativo autenticador.",
396
+ "magic-link.settings.mfa.enrollment.howTo": "Os usuários configuram o aplicativo com login ativo, a partir do seu frontend. Não é possível configurá-lo durante um login que já exige um código.",
397
+ "magic-link.settings.mfa.enrollment.loading": "Verificando quantos usuários configuraram um aplicativo autenticador...",
398
+ "magic-link.settings.mfa.enrollment.none": "Nenhum usuário configurou um aplicativo autenticador ainda.",
399
+ "magic-link.settings.mfa.enrollment.title": "Cadastro",
400
+ "magic-link.settings.mfa.enrollment.unavailable": "Não foi possível determinar o número de usuários com um aplicativo autenticador.",
401
+ "magic-link.settings.mfa.intro": "Escolha como os usuários entram. A seleção vale ao salvar. Códigos por e-mail e aplicativos autenticadores são modos separados.",
402
+ "magic-link.settings.mfa.lockout.body": 'A política salva exige um aplicativo autenticador, mas nenhum usuário configurou um. Escolha "Usuários que configuraram um aplicativo" ou outro modo e salve.',
403
+ "magic-link.settings.mfa.lockout.title": "No momento, todo login falha",
404
+ "magic-link.settings.mfa.mode.emailOtp.badge": "Mais seguro",
405
+ "magic-link.settings.mfa.mode.emailOtp.description": "Depois de abrir o link, os usuários informam um código de uso único enviado por e-mail.",
406
+ "magic-link.settings.mfa.mode.emailOtp.feature1": "Código enviado por e-mail",
407
+ "magic-link.settings.mfa.mode.emailOtp.feature2": "Comprimento do código configurável",
408
+ "magic-link.settings.mfa.mode.emailOtp.feature3": "Validade configurável",
409
+ "magic-link.settings.mfa.mode.emailOtp.title": "Magic Link + código por e-mail",
410
+ "magic-link.settings.mfa.mode.magicLink.badge": "Rápido",
411
+ "magic-link.settings.mfa.mode.magicLink.description": "Login com um clique por e-mail. Rápido e fácil.",
412
+ "magic-link.settings.mfa.mode.magicLink.feature1": "Sem senhas",
413
+ "magic-link.settings.mfa.mode.magicLink.feature2": "Login rápido",
414
+ "magic-link.settings.mfa.mode.magicLink.feature3": "Funciona em qualquer dispositivo",
415
+ "magic-link.settings.mfa.mode.magicLink.title": "Somente Magic Link",
416
+ "magic-link.settings.mfa.mode.totp.badge": "O mais seguro",
417
+ "magic-link.settings.mfa.mode.totp.description": "Depois de abrir o link, os usuários informam um código de um aplicativo autenticador como Google Authenticator ou Authy.",
418
+ "magic-link.settings.mfa.mode.totp.feature1": "Códigos do aplicativo autenticador",
419
+ "magic-link.settings.mfa.mode.totp.feature2": "Configuração por QR code",
420
+ "magic-link.settings.mfa.mode.totp.feature3": "Os códigos mudam a cada 30 segundos",
421
+ "magic-link.settings.mfa.mode.totp.title": "Magic Link + aplicativo autenticador",
422
+ "magic-link.settings.mfa.modes.title": "Modo de login",
423
+ "magic-link.settings.mfa.otp.attempts.hint": "O código se torna inválido após esse número de tentativas erradas. Padrão: 3.",
424
+ "magic-link.settings.mfa.otp.attempts.label": "Máximo de tentativas erradas",
425
+ "magic-link.settings.mfa.otp.cooldown.hint": "Quanto tempo os usuários esperam antes de solicitar um novo código. Padrão: 60.",
426
+ "magic-link.settings.mfa.otp.cooldown.label": "Espera antes de um novo código (segundos)",
427
+ "magic-link.settings.mfa.otp.delivery": "Envio: e-mail. Os códigos são enviados para o endereço da conta.",
428
+ "magic-link.settings.mfa.otp.expiry.hint": "Padrão: 300 segundos (5 minutos). Permitido: de 30 a 86.400.",
429
+ "magic-link.settings.mfa.otp.expiry.label": "Validade do código (segundos)",
430
+ "magic-link.settings.mfa.otp.howItWorks": "Como funciona",
431
+ "magic-link.settings.mfa.otp.length.hint": "Padrão: 6 dígitos. Permitido: de 4 a 16.",
432
+ "magic-link.settings.mfa.otp.length.label": "Comprimento do código (dígitos)",
433
+ "magic-link.settings.mfa.otp.step1": "O usuário abre o Magic Link do e-mail.",
434
+ "magic-link.settings.mfa.otp.step2": "Seu aplicativo mostra a página de digitação do código.",
435
+ "magic-link.settings.mfa.otp.step3": "O usuário informa o código de {length} dígitos enviado ao seu e-mail.",
436
+ "magic-link.settings.mfa.otp.step4": "Após um código correto, o usuário está conectado.",
437
+ "magic-link.settings.mfa.otp.title": "Configurações do código por e-mail",
438
+ "magic-link.settings.mfa.policy.optional": "Usuários que configuraram um aplicativo (recomendado)",
439
+ "magic-link.settings.mfa.policy.optionalHint": "Usuários com aplicativo autenticador precisam informar o código dele. Os demais entram com o Magic Link.",
440
+ "magic-link.settings.mfa.policy.required": "Todos os usuários",
441
+ "magic-link.settings.mfa.policy.requiredBlocked": "Indisponível: nenhum usuário configurou um aplicativo autenticador, então todo login falharia.",
442
+ "magic-link.settings.mfa.policy.requiredHint": "Usuários sem aplicativo autenticador não conseguem mais entrar.",
443
+ "magic-link.settings.mfa.policy.title": "Quem precisa usar um aplicativo autenticador?",
444
+ "magic-link.settings.mfa.summary.emailOtp": "Os usuários abrem o Magic Link e depois informam o código do e-mail.",
445
+ "magic-link.settings.mfa.summary.magicLink": "Os usuários entram apenas com o Magic Link.",
446
+ "magic-link.settings.mfa.summary.title": "Seleção atual",
447
+ "magic-link.settings.mfa.summary.totpOnly": "Usuários com aplicativo autenticador também podem entrar com e-mail e código, sem esperar um e-mail.",
448
+ "magic-link.settings.mfa.summary.totpOptional": "Os usuários abrem o Magic Link. Quem configurou um aplicativo autenticador também precisa informar o código dele.",
449
+ "magic-link.settings.mfa.summary.totpRequired": "Os usuários abrem o Magic Link e depois informam um código do aplicativo autenticador. Usuários sem aplicativo não conseguem entrar.",
450
+ "magic-link.settings.mfa.totp.digits.label": "Dígitos do código",
451
+ "magic-link.settings.mfa.totp.digits.option": "{count} dígitos",
452
+ "magic-link.settings.mfa.totp.issuer.hint": "Exibido no aplicativo autenticador, por exemplo o nome do seu aplicativo.",
453
+ "magic-link.settings.mfa.totp.issuer.label": "Nome do emissor",
454
+ "magic-link.settings.mfa.totp.period.hint": "Padrão: 30 segundos. A maioria dos aplicativos só suporta 30.",
455
+ "magic-link.settings.mfa.totp.period.label": "Período do código (segundos)",
456
+ "magic-link.settings.mfa.totp.subtitle": "As alterações valem para novas configurações. Aplicativos já configurados continuam funcionando.",
457
+ "magic-link.settings.mfa.totp.title": "Configurações do aplicativo autenticador",
458
+ "magic-link.settings.mfa.totpOnly.description": "Usuários que configuraram um aplicativo autenticador podem entrar com o e-mail e um código atual, sem esperar um e-mail.",
459
+ "magic-link.settings.mfa.totpOnly.title": "Login apenas com código do autenticador",
460
+ "magic-link.settings.page.subtitle": "Configure a autenticação sem senha para seus usuários",
461
+ "magic-link.settings.page.title": "Configurações do Magic Link",
462
+ "magic-link.settings.pageTitle": "Configurações",
463
+ "magic-link.settings.permission.readOnly": "Você tem acesso somente para leitura. As alterações não podem ser salvas.",
464
+ "magic-link.settings.permission.readOnlyTitle": "Somente leitura",
465
+ "magic-link.settings.rateLimit.cleanup": "Limpar entradas expiradas",
466
+ "magic-link.settings.rateLimit.cleanupError": "Não foi possível remover as entradas expiradas",
467
+ "magic-link.settings.rateLimit.cleanupSuccess": "Entradas expiradas removidas",
468
+ "magic-link.settings.rateLimit.config.title": "Limites",
469
+ "magic-link.settings.rateLimit.enable.description": "Protege contra ataques de força bruta e spam limitando as solicitações de links de login.",
470
+ "magic-link.settings.rateLimit.enable.title": "Ativar limitação de taxa",
471
+ "magic-link.settings.rateLimit.maxAttempts.hint": "Solicitações permitidas por janela de tempo antes do bloqueio (de 1 a 1.000).",
472
+ "magic-link.settings.rateLimit.maxAttempts.label": "Máximo de solicitações",
473
+ "magic-link.settings.rateLimit.reset": "Redefinir todos os limites",
474
+ "magic-link.settings.rateLimit.resetConfirm": "Todos os endereços IP e de e-mail bloqueados poderão enviar solicitações novamente de imediato.",
475
+ "magic-link.settings.rateLimit.resetError": "Não foi possível redefinir os limites de taxa",
476
+ "magic-link.settings.rateLimit.resetSuccess": "Todos os limites de taxa foram redefinidos",
477
+ "magic-link.settings.rateLimit.resetTitle": "Redefinir todos os limites de taxa?",
478
+ "magic-link.settings.rateLimit.stats.blocked": "Atualmente bloqueados",
479
+ "magic-link.settings.rateLimit.stats.emailLimits": "Limites email",
480
+ "magic-link.settings.rateLimit.stats.error": "Não foi possível carregar as estatísticas.",
481
+ "magic-link.settings.rateLimit.stats.ipLimits": "Limites por endereço IP",
482
+ "magic-link.settings.rateLimit.stats.loading": "Carregando estatísticas...",
483
+ "magic-link.settings.rateLimit.stats.note": "As estatísticas cobrem apenas este processo do servidor. Limpar e redefinir não alteram suas configurações não salvas.",
484
+ "magic-link.settings.rateLimit.stats.title": "ESTATÍSTICAS ATUAIS",
485
+ "magic-link.settings.rateLimit.stats.total": "Total de entradas",
486
+ "magic-link.settings.rateLimit.subtitle": "Evite abusos limitando o número de solicitações por endereço IP e e-mail",
487
+ "magic-link.settings.rateLimit.title": "LIMITAÇÃO DE TAXA",
488
+ "magic-link.settings.rateLimit.windowMinutes.hint": "Período em que as solicitações são contadas (de 1 a 10.080 minutos).",
489
+ "magic-link.settings.rateLimit.windowMinutes.label": "Janela de tempo (Minutos)",
490
+ "magic-link.settings.retry": "Tentar novamente",
491
+ "magic-link.settings.save.button": "Salvar alterações",
492
+ "magic-link.settings.save.error": "Não foi possível salvar as configurações. Tente novamente.",
493
+ "magic-link.settings.save.invalid": "Alguns campos precisam de atenção. Corrija-os antes de salvar.",
494
+ "magic-link.settings.save.rejected": "O servidor rejeitou um valor. Verifique o campo destacado.",
495
+ "magic-link.settings.save.saving": "Salvando...",
496
+ "magic-link.settings.save.success": "Configurações salvas",
497
+ "magic-link.settings.section.advanced": "Avançado",
498
+ "magic-link.settings.section.auth": "Autenticação",
499
+ "magic-link.settings.section.email": "E-mail",
500
+ "magic-link.settings.section.fieldsToFix": "A corrigir",
501
+ "magic-link.settings.section.general": "Geral",
502
+ "magic-link.settings.section.mfa": "Modos de login e MFA",
503
+ "magic-link.settings.section.rateLimit": "Limitação de taxa",
504
+ "magic-link.settings.time.title": "Validade e comprimento dos links",
505
+ "magic-link.settings.tokenLength.hint": "Tokens mais longos são mais difíceis de adivinhar. Permitido: de 22 a 128. Atual: {length} caracteres.",
506
+ "magic-link.settings.tokenLength.label": "Comprimento do token (caracteres)",
507
+ "magic-link.settings.validation.digits": "Escolha 6 ou 8 dígitos.",
508
+ "magic-link.settings.validation.length": "Use no máximo {max} caracteres.",
509
+ "magic-link.settings.validation.linkOrigin": "Esta origem não está entre as origens de links permitidas na configuração do servidor.",
510
+ "magic-link.settings.validation.list": "Use no máximo {max} campos com até 128 caracteres cada.",
511
+ "magic-link.settings.validation.path": "Informe um caminho que comece com / e contenha apenas caracteres de URL.",
512
+ "magic-link.settings.validation.range": "Informe um número inteiro entre {min} e {max}.",
513
+ "magic-link.settings.validation.server": "O servidor rejeitou este valor. Verifique-o e salve novamente.",
514
+ "magic-link.settings.validation.securityForbidden": 'Alterar este valor exige a permissão "Configurações: Segurança".',
515
+ "magic-link.settings.validation.url": "Informe uma URL https. http só é permitido para localhost.",
516
+ "magic-link.status.active": "ATIVO",
517
+ "magic-link.status.inactive": "INATIVO",
518
+ "magic-link.tokens.actions.activate": "Ativar",
519
+ "magic-link.tokens.actions.block": "Bloquear",
520
+ "magic-link.tokens.actions.bulkDelete": "Excluir selecionados",
521
+ "magic-link.tokens.actions.delete": "Excluir",
522
+ "magic-link.tokens.actions.deleteFor": "Excluir o token de {email}",
523
+ "magic-link.tokens.actions.extend": "Estender",
524
+ "magic-link.tokens.actions.extendFor": "Estender o token de {email}",
525
+ "magic-link.tokens.actions.newToken": "Novo token",
526
+ "magic-link.tokens.actions.reactivate": "Novo token",
527
+ "magic-link.tokens.actions.refresh": "Atualizar",
528
+ "magic-link.tokens.actions.retry": "Tentar novamente",
529
+ "magic-link.tokens.actions.settings": "Configurações",
530
+ "magic-link.tokens.actions.viewDetailsFor": "Ver detalhes de {email}",
531
+ "magic-link.tokens.activate.body": "O link de login de {email} volta a funcionar até expirar.",
532
+ "magic-link.tokens.activate.title": "Ativar o token?",
533
+ "magic-link.tokens.block.body": "O link de login de {email} deixa de funcionar até que você o ative novamente.",
534
+ "magic-link.tokens.block.title": "Bloquear o token?",
535
+ "magic-link.tokens.bulk.label": "Ações em massa",
536
+ "magic-link.tokens.bulkDelete.title": "Excluir os tokens selecionados?",
537
+ "magic-link.tokens.confirm.bulkDelete": "Excluir {count, plural, one {# token selecionado} other {# tokens selecionados}}? Esta ação não pode ser desfeita.",
538
+ "magic-link.tokens.create.context.error": "Formato JSON inválido",
539
+ "magic-link.tokens.create.context.hint": "Objeto JSON opcional enviado com o token, por exemplo um caminho de redirecionamento.",
540
+ "magic-link.tokens.create.context.label": "Contexto JSON (Opcional)",
541
+ "magic-link.tokens.create.context.object": "O contexto deve ser um objeto JSON.",
542
+ "magic-link.tokens.create.context.placeholder": `'{ "chave": "valor" }'`,
543
+ "magic-link.tokens.create.context.reserved": "Estas chaves são reservadas para o servidor: {keys}",
544
+ "magic-link.tokens.create.email.hint": "O link de login é criado para este endereço de e-mail.",
545
+ "magic-link.tokens.create.email.invalid": "Informe um endereço de e-mail válido.",
546
+ "magic-link.tokens.create.email.label": "Endereço de e-mail",
547
+ "magic-link.tokens.create.email.placeholder": "usuario@exemplo.com",
548
+ "magic-link.tokens.create.email.required": "Informe um endereço de e-mail.",
549
+ "magic-link.tokens.create.sendEmail.hint": "O usuário recebe imediatamente um e-mail com o link de login.",
550
+ "magic-link.tokens.create.sendEmail.label": "Enviar o link de login por e-mail",
551
+ "magic-link.tokens.create.sendEmail.off": "Nenhum e-mail é enviado. O token é exibido uma única vez após a criação para que você mesmo possa compartilhá-lo.",
552
+ "magic-link.tokens.create.submit": "Criar token",
553
+ "magic-link.tokens.create.submitting": "Criando...",
554
+ "magic-link.tokens.create.title": "Criar token Magic Link",
555
+ "magic-link.tokens.create.ttl.error": "Informe um número inteiro de horas entre {min} e {max}.",
556
+ "magic-link.tokens.create.ttl.hint": "Por quanto tempo o link permanece válido ({min} a {max} horas).",
557
+ "magic-link.tokens.create.ttl.label": "Período de validade (Horas)",
558
+ "magic-link.tokens.created.closeHint": "Feche esta caixa de diálogo com Concluir quando tiver copiado o que precisa.",
559
+ "magic-link.tokens.created.copyLink": "Copiar link",
560
+ "magic-link.tokens.created.done": "Concluído",
561
+ "magic-link.tokens.created.plaintextToken": "Token completo",
562
+ "magic-link.tokens.created.title": "Token criado",
563
+ "magic-link.tokens.created.warning": "O token completo é exibido apenas desta vez. Copie-o agora se quiser enviá-lo você mesmo ao usuário. Depois de fechar esta caixa de diálogo, apenas uma referência mascarada é exibida.",
564
+ "magic-link.tokens.delete.body": "O link de login de {email} deixa de funcionar imediatamente. Esta ação não pode ser desfeita.",
565
+ "magic-link.tokens.delete.title": "Excluir o token?",
566
+ "magic-link.tokens.details.actions": "Ações",
567
+ "magic-link.tokens.details.clickToCopy": "Clique para copiar",
568
+ "magic-link.tokens.details.context": "Dados de contexto",
569
+ "magic-link.tokens.details.created": "Criado",
570
+ "magic-link.tokens.details.expiresAt": "Válido até",
571
+ "magic-link.tokens.details.lastUsedAt": "Último uso",
572
+ "magic-link.tokens.details.magicLink": "URL do Magic Link",
573
+ "magic-link.tokens.details.never": "Nunca",
574
+ "magic-link.tokens.details.reference": "Referência",
575
+ "magic-link.tokens.details.status": "Status",
576
+ "magic-link.tokens.details.technicalInfo": "Informações técnicas",
577
+ "magic-link.tokens.details.title": "Detalhes do token",
578
+ "magic-link.tokens.details.unlimited": "Ilimitado",
579
+ "magic-link.tokens.details.usedAt": "Usado",
580
+ "magic-link.tokens.empty.createFirst": "Criar primeiro token",
581
+ "magic-link.tokens.empty.noData.description": "Os tokens aparecem aqui quando usuários solicitam um link de login ou um administrador cria um.",
582
+ "magic-link.tokens.empty.noData.title": "Ainda não há tokens",
583
+ "magic-link.tokens.empty.noMatch.description": "Nenhum token corresponde à pesquisa ou ao filtro de status.",
584
+ "magic-link.tokens.empty.noMatch.title": "Nenhum token correspondente",
585
+ "magic-link.tokens.empty.resetFilters": "Redefinir filtros",
586
+ "magic-link.tokens.error.description": "Verifique sua conexão e suas permissões e tente novamente.",
587
+ "magic-link.tokens.error.title": "Não foi possível carregar os tokens",
588
+ "magic-link.tokens.extend.currentExpiry": "Atualmente válido até",
589
+ "magic-link.tokens.extend.customDays": "Número personalizado de dias",
590
+ "magic-link.tokens.extend.customError": "Informe um número inteiro de dias entre {min} e {max}.",
591
+ "magic-link.tokens.extend.customHint": "Ou informe de {min} a {max} dias.",
592
+ "magic-link.tokens.extend.customPlaceholder": "ex. 14",
593
+ "magic-link.tokens.extend.newExpiry": "Nova data de expiração",
594
+ "magic-link.tokens.extend.preset": "+{count, plural, one {# dia} other {# dias}}",
595
+ "magic-link.tokens.extend.selectExtension": "Selecionar extensão",
596
+ "magic-link.tokens.extend.submit": "Estender token",
597
+ "magic-link.tokens.extend.title": "Estender token",
598
+ "magic-link.tokens.filter.all": "Todos os status",
599
+ "magic-link.tokens.filter.status": "Filtrar por status",
600
+ "magic-link.tokens.loading": "Carregando tokens...",
601
+ "magic-link.tokens.notifications.activateError": "Não foi possível ativar o token.",
602
+ "magic-link.tokens.notifications.activateSuccess": "Token ativado",
603
+ "magic-link.tokens.notifications.blockError": "Não foi possível bloquear o token.",
604
+ "magic-link.tokens.notifications.blockSuccess": "Token bloqueado",
605
+ "magic-link.tokens.notifications.bulkDeleted": "{count, plural, one {# token excluído} other {# tokens excluídos}}",
606
+ "magic-link.tokens.notifications.bulkPartial": "{deleted} de {total} tokens excluídos. Os demais continuam selecionados.",
607
+ "magic-link.tokens.notifications.createError": "Não foi possível criar o token.",
608
+ "magic-link.tokens.notifications.created": "Link de login enviado para {email}",
609
+ "magic-link.tokens.notifications.createdWithoutEmail": "Token criado. Nenhum e-mail foi enviado.",
610
+ "magic-link.tokens.notifications.deleteError": "Não foi possível excluir o token.",
611
+ "magic-link.tokens.notifications.deleted": "Token excluído",
612
+ "magic-link.tokens.notifications.extendError": "Não foi possível estender o token.",
613
+ "magic-link.tokens.notifications.extended": "Token estendido por {days, plural, one {# dia} other {# dias}}",
614
+ "magic-link.tokens.notifications.linkCopied": "Link de login copiado",
615
+ "magic-link.tokens.notifications.loadError": "Não foi possível carregar os tokens.",
616
+ "magic-link.tokens.notifications.reactivateError": "Não foi possível criar o novo token.",
617
+ "magic-link.tokens.notifications.reactivateSuccess": "Novo token criado e enviado para {email}",
618
+ "magic-link.tokens.notifications.refreshed": "Dados atualizados",
619
+ "magic-link.tokens.notifications.tokenCopied": "Token copiado",
620
+ "magic-link.tokens.page.subtitle": "Gerencie tokens Magic Link, códigos OTP, sessões JWT e bloqueios de IP",
621
+ "magic-link.tokens.page.title": "Gerenciamento de tokens",
622
+ "magic-link.tokens.pageSize.option": "{count} por página",
623
+ "magic-link.tokens.pageTitle": "Tokens",
624
+ "magic-link.tokens.pagination.label": "Páginas de tokens",
625
+ "magic-link.tokens.pagination.more": "Mais páginas",
626
+ "magic-link.tokens.pagination.next": "Próxima página",
627
+ "magic-link.tokens.pagination.page": "Ir para a página {page}",
628
+ "magic-link.tokens.pagination.previous": "Página anterior",
629
+ "magic-link.tokens.pagination.status": "Página {page} de {count}",
630
+ "magic-link.tokens.reissue.body": "Um novo link de login é criado para {email} com a validade padrão e enviado imediatamente por e-mail.",
631
+ "magic-link.tokens.reissue.confirm": "Criar e enviar",
632
+ "magic-link.tokens.reissue.title": "Criar um novo token?",
633
+ "magic-link.tokens.search.label": "Pesquisar tokens",
634
+ "magic-link.tokens.search.placeholder": "Pesquisar por e-mail, referência ou IP...",
635
+ "magic-link.tokens.selected": "{count, plural, one {# token selecionado} other {# tokens selecionados}}",
636
+ "magic-link.tokens.stats.active": "Ativo",
637
+ "magic-link.tokens.stats.blocked": "Bloqueados",
638
+ "magic-link.tokens.stats.expired": "Expirado",
639
+ "magic-link.tokens.stats.label": "Estatísticas de tokens",
640
+ "magic-link.tokens.stats.total": "Total",
641
+ "magic-link.tokens.stats.used": "Usado",
642
+ "magic-link.tokens.status.active": "Ativo",
643
+ "magic-link.tokens.status.blocked": "Bloqueado",
644
+ "magic-link.tokens.status.expired": "Expirado",
645
+ "magic-link.tokens.status.used": "Usado",
646
+ "magic-link.tokens.table.actions": "Ações",
647
+ "magic-link.tokens.table.created": "Criado",
648
+ "magic-link.tokens.table.email": "E-mail",
649
+ "magic-link.tokens.table.expiredOn": "{date} (expirado)",
650
+ "magic-link.tokens.table.expiresAt": "Válido até",
651
+ "magic-link.tokens.table.ip": "IP: {ip}",
652
+ "magic-link.tokens.table.reference": "Referência",
653
+ "magic-link.tokens.table.select": "Selecionar {email}",
654
+ "magic-link.tokens.table.selectAll": "Selecionar todos os tokens desta página",
655
+ "magic-link.tokens.table.sortByColumn": "Ordenar por {column}",
656
+ "magic-link.tokens.table.status": "Status",
657
+ "magic-link.tokens.table.usedOn": "Usado em {date}",
658
+ "magic-link.tokens.tabs.ipBans": "Bloqueios de IP",
659
+ "magic-link.tokens.tabs.ipBansShort": "IP",
660
+ "magic-link.tokens.tabs.jwtSessions": "Sessões JWT",
661
+ "magic-link.tokens.tabs.jwtSessionsShort": "JWT",
662
+ "magic-link.tokens.tabs.label": "Visualizações de tokens",
663
+ "magic-link.tokens.tabs.magicLinks": "Tokens Magic Link",
664
+ "magic-link.tokens.tabs.magicLinksShort": "Links",
665
+ "magic-link.tokens.tabs.otpCodes": "Códigos OTP",
666
+ "magic-link.tokens.tabs.otpCodesShort": "OTP",
667
+ "magic-link.tokens.title": "Tokens Magic Link",
668
+ "magic-link.settings.save.securityForbidden": 'Alterar destinos de links, modelos, remetente ou regras de conta, MFA, códigos ou limites de pedidos exige a permissão "Configurações: Segurança".',
669
+ "magic-link.settings.save.linkOriginNotAllowed": "As URLs dos links de login devem usar uma origem permitida na configuração do servidor.",
670
+ "magic-link.settings.validation.mfaNoEnrolled": 'Nenhum usuário configurou ainda um aplicativo de autenticação, por isso "Todos os usuários" não pode ser salvo.',
671
+ "magic-link.settings.save.mfaNoEnrolled": 'Nenhum usuário configurou ainda um aplicativo de autenticação. Escolha primeiro "Usuários que configuraram um aplicativo" para que possam configurá-lo e depois exija-o de todos.'
672
+ };
673
+ exports.default = ptTranslations;