@object-ui/i18n 17.3.0 → 17.5.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.
- package/CHANGELOG.md +1295 -1
- package/README.md +0 -13
- package/dist/index.d.ts +3 -1
- package/dist/index.js +11 -1
- package/dist/locales/ar.d.ts +466 -107
- package/dist/locales/ar.js +559 -153
- package/dist/locales/de.d.ts +466 -107
- package/dist/locales/de.js +574 -175
- package/dist/locales/en.d.ts +502 -143
- package/dist/locales/en.js +678 -145
- package/dist/locales/es.d.ts +466 -107
- package/dist/locales/es.js +553 -155
- package/dist/locales/fr.d.ts +466 -107
- package/dist/locales/fr.js +553 -152
- package/dist/locales/index.d.ts +4734 -1144
- package/dist/locales/ja.d.ts +466 -107
- package/dist/locales/ja.js +545 -146
- package/dist/locales/ko.d.ts +466 -107
- package/dist/locales/ko.js +551 -153
- package/dist/locales/pt.d.ts +466 -107
- package/dist/locales/pt.js +552 -154
- package/dist/locales/ru.d.ts +466 -107
- package/dist/locales/ru.js +563 -153
- package/dist/locales/zh.d.ts +501 -142
- package/dist/locales/zh.js +542 -142
- package/dist/pickLocalized.d.ts +21 -0
- package/dist/pickLocalized.js +40 -7
- package/dist/provider.d.ts +83 -1
- package/dist/provider.js +303 -29
- package/dist/useDisplayLocale.d.ts +49 -0
- package/dist/useDisplayLocale.js +55 -0
- package/dist/useObjectLabel.d.ts +8 -2
- package/dist/useObjectLabel.js +28 -8
- package/dist/useSafeTranslation.js +50 -2
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.js +1 -0
- package/dist/utils/number-display.d.ts +32 -0
- package/dist/utils/number-display.js +32 -0
- package/dist/utils/spec-formatters.d.ts +39 -13
- package/dist/utils/spec-formatters.js +3 -3
- package/package.json +4 -3
package/dist/locales/pt.js
CHANGED
|
@@ -1,4 +1,18 @@
|
|
|
1
1
|
const pt = {
|
|
2
|
+
// objectui#4467 — the impersonation banner (app-shell ImpersonationBanner).
|
|
3
|
+
// Raised by `session.impersonatedBy`, so it survives SPA reboots; it names
|
|
4
|
+
// BOTH parties because the audit trail attributes the work to the impersonated
|
|
5
|
+
// user, and the exit states its own failure rather than appearing to succeed.
|
|
6
|
+
impersonation: {
|
|
7
|
+
banner: {
|
|
8
|
+
message: 'Você está personificando {{user}} — todas as ações são registradas em nome dele.',
|
|
9
|
+
startedBy: 'Iniciado pelo administrador {{admin}}.',
|
|
10
|
+
stop: 'Parar personificação',
|
|
11
|
+
stopping: 'Encerrando…',
|
|
12
|
+
stopFailed: 'Não foi possível parar a personificação: {{reason}}',
|
|
13
|
+
notRestored: 'O servidor aceitou a solicitação, mas não restaurou sua sessão de administrador — você ainda está personificando {{user}}. Saia e entre novamente para encerrar.',
|
|
14
|
+
},
|
|
15
|
+
},
|
|
2
16
|
// objectui#2600 B5 — capability picker scope group headers (labels come from the sys_capability registry).
|
|
3
17
|
capability: {
|
|
4
18
|
label: {
|
|
@@ -16,6 +30,25 @@ const pt = {
|
|
|
16
30
|
other: 'Outro',
|
|
17
31
|
},
|
|
18
32
|
},
|
|
33
|
+
// objectui#3546 slice six — o resumo somente leitura das facetas de
|
|
34
|
+
// autorização de PermissionFacetLink. "aba" como em list.tabs.
|
|
35
|
+
perm: {
|
|
36
|
+
facet: {
|
|
37
|
+
none: "Nenhum",
|
|
38
|
+
more: "+{{count}} mais",
|
|
39
|
+
objects: "{{count}} objetos",
|
|
40
|
+
objects_one: "{{count}} objeto",
|
|
41
|
+
fields: "{{count}} regras de campo",
|
|
42
|
+
fields_one: "{{count}} regra de campo",
|
|
43
|
+
rls: "{{count}} políticas RLS",
|
|
44
|
+
rls_one: "{{count}} política RLS",
|
|
45
|
+
tabs: "{{count}} regras de aba",
|
|
46
|
+
tabs_one: "{{count}} regra de aba",
|
|
47
|
+
adminScope: "Administração delegada configurada",
|
|
48
|
+
designInStudio: "Projetar no Studio →",
|
|
49
|
+
designInStudioHint: "Projetar no Studio",
|
|
50
|
+
},
|
|
51
|
+
},
|
|
19
52
|
lookup: {
|
|
20
53
|
recentlyUsed: 'Usados recentemente',
|
|
21
54
|
allResults: 'Todos os resultados',
|
|
@@ -46,13 +79,12 @@ const pt = {
|
|
|
46
79
|
common: {
|
|
47
80
|
addToFavorites: "Adicionar aos favoritos",
|
|
48
81
|
removeFromFavorites: "Remover dos favoritos",
|
|
49
|
-
loading: "Carregando
|
|
82
|
+
loading: "Carregando…",
|
|
50
83
|
save: "Salvar",
|
|
51
84
|
cancel: "Cancelar",
|
|
52
85
|
delete: "Excluir",
|
|
53
86
|
edit: "Editar",
|
|
54
87
|
create: "Criar",
|
|
55
|
-
search: "Pesquisar",
|
|
56
88
|
filter: "Filtrar",
|
|
57
89
|
reset: "Redefinir",
|
|
58
90
|
confirm: "Confirmar",
|
|
@@ -76,7 +108,7 @@ const pt = {
|
|
|
76
108
|
required: "Obrigatório",
|
|
77
109
|
optional: "Opcional",
|
|
78
110
|
selectOption: "Selecionar uma opção",
|
|
79
|
-
select: "Selecionar
|
|
111
|
+
select: "Selecionar…",
|
|
80
112
|
openChat: "Abrir chat",
|
|
81
113
|
closeChat: "Fechar chat",
|
|
82
114
|
closePanel: "Fechar painel",
|
|
@@ -85,6 +117,11 @@ const pt = {
|
|
|
85
117
|
itemCountOne: "{{count}} item",
|
|
86
118
|
toggleSidebar: "Alternar barra lateral",
|
|
87
119
|
package: "Pacote",
|
|
120
|
+
done: "Concluído",
|
|
121
|
+
editInStudio: "Editar no Studio",
|
|
122
|
+
record: "Registro",
|
|
123
|
+
retry: "Tentar novamente",
|
|
124
|
+
printDialogHint: "Abre a caixa de diálogo de impressão do navegador (não é uma exportação para PDF)",
|
|
88
125
|
},
|
|
89
126
|
actions: {
|
|
90
127
|
decisionOutput: {
|
|
@@ -116,6 +153,9 @@ const pt = {
|
|
|
116
153
|
submitFailed: "Não foi possível salvar. Tente novamente.",
|
|
117
154
|
discardTitle: "Descartar as alterações?",
|
|
118
155
|
discardMessage: "Você tem alterações não salvas. Se fechar este formulário agora, suas edições serão perdidas.",
|
|
156
|
+
// objectui#4024 — the create/edit dialog's `sr-only` accessible
|
|
157
|
+
// description, used when the form declares no `description` of its own.
|
|
158
|
+
dialogDescriptionFallback: "Preencha os campos do formulário e depois envie ou cancele.",
|
|
119
159
|
keepEditing: "Continuar editando",
|
|
120
160
|
discard: "Descartar",
|
|
121
161
|
conflictTitle: "Conflito ao salvar",
|
|
@@ -184,7 +224,7 @@ const pt = {
|
|
|
184
224
|
richText: {
|
|
185
225
|
format: "Formato: {{format}}",
|
|
186
226
|
basicEditorHint: "Editor de texto rico (básico)",
|
|
187
|
-
placeholder: "Digite algo
|
|
227
|
+
placeholder: "Digite algo…",
|
|
188
228
|
},
|
|
189
229
|
options: {
|
|
190
230
|
empty: "Nenhuma opção disponível",
|
|
@@ -250,7 +290,7 @@ const pt = {
|
|
|
250
290
|
saveAll: "Salvar tudo ({{count}})",
|
|
251
291
|
addRecord: "Adicionar registro",
|
|
252
292
|
open: "Abrir",
|
|
253
|
-
search: "Pesquisar
|
|
293
|
+
search: "Pesquisar…",
|
|
254
294
|
modified: "{{count}} linha(s) modificada(s)",
|
|
255
295
|
saveFailed: 'Falha ao salvar',
|
|
256
296
|
selected: "{{count}} selecionado(s)",
|
|
@@ -294,7 +334,7 @@ const pt = {
|
|
|
294
334
|
delete: "Excluir",
|
|
295
335
|
export: "Exportar",
|
|
296
336
|
exportAs: "Exportar como {{format}}",
|
|
297
|
-
loading: "Carregando grade
|
|
337
|
+
loading: "Carregando grade…",
|
|
298
338
|
errorLoading: "Erro ao carregar grade",
|
|
299
339
|
pullToRefresh: "Puxe para atualizar",
|
|
300
340
|
refreshing: "Atualizando…",
|
|
@@ -305,6 +345,22 @@ const pt = {
|
|
|
305
345
|
yes: "Sim",
|
|
306
346
|
no: "Não",
|
|
307
347
|
systemFields: "Sistema",
|
|
348
|
+
// objectui#4024 — column-footer aggregate prefixes, keyed by the spec's
|
|
349
|
+
// `ColumnSummary` vocabulary. `pattern` owns the label/value join so this
|
|
350
|
+
// pack controls its own separator and word order.
|
|
351
|
+
summary: {
|
|
352
|
+
pattern: "{{label}}: {{value}}",
|
|
353
|
+
count: "Contagem",
|
|
354
|
+
countEmpty: "Vazios",
|
|
355
|
+
countFilled: "Preenchidos",
|
|
356
|
+
countUnique: "Únicos",
|
|
357
|
+
percentEmpty: "Vazios",
|
|
358
|
+
percentFilled: "Preenchidos",
|
|
359
|
+
sum: "Soma",
|
|
360
|
+
avg: "Média",
|
|
361
|
+
min: "Mín.",
|
|
362
|
+
max: "Máx.",
|
|
363
|
+
},
|
|
308
364
|
toolbar: {
|
|
309
365
|
densityMode: "Densidade",
|
|
310
366
|
densityCompact: "Compacto",
|
|
@@ -418,12 +474,12 @@ const pt = {
|
|
|
418
474
|
templateName: "Nome do modelo",
|
|
419
475
|
save: "Salvar",
|
|
420
476
|
deleteTemplate: "Excluir modelo",
|
|
421
|
-
savedMapping: '
|
|
422
|
-
chooseSavedMapping: '
|
|
423
|
-
manualMapping: '—
|
|
424
|
-
transform: '
|
|
425
|
-
savedMappingHint: '
|
|
426
|
-
savedMappingPreviewNote: '
|
|
477
|
+
savedMapping: 'Mapeamento salvo:',
|
|
478
|
+
chooseSavedMapping: 'Escolher um mapeamento salvo…',
|
|
479
|
+
manualMapping: '— Mapear colunas manualmente —',
|
|
480
|
+
transform: 'Transformação',
|
|
481
|
+
savedMappingHint: 'O mapeamento "{{name}}" aplica renomeação + transformações + conversão de tipos no servidor. O mapeamento de colunas é somente leitura.',
|
|
482
|
+
savedMappingPreviewNote: 'A pré-visualização mostra suas colunas de origem; na importação, o mapeamento "{{name}}" aplica renomeação, transformações e conversão de tipos no servidor.',
|
|
427
483
|
csvColumn: "Coluna",
|
|
428
484
|
mapsTo: "Mapeia para",
|
|
429
485
|
typeMismatch: "Parece {{type}}",
|
|
@@ -483,6 +539,8 @@ const pt = {
|
|
|
483
539
|
loadErrorUnauthorizedMessage: "Sua sessão expirou ou você saiu. Entre novamente para ver estes registros.",
|
|
484
540
|
loadErrorRejectedTitle: "A consulta desta visualização foi rejeitada",
|
|
485
541
|
loadErrorRejectedMessage: "O servidor não conseguiu processar o filtro ou as opções de consulta desta visualização. Limpar os filtros costuma resolver; se a visualização estiver salva assim, um administrador precisa corrigi-la.",
|
|
542
|
+
loadErrorApiDisabledTitle: "Este objeto não está disponível pela API",
|
|
543
|
+
loadErrorApiDisabledMessage: "Esta página não consegue carregar seus registros porque o objeto não está exposto pela API. Isso é uma configuração do próprio objeto, não uma permissão — um administrador precisa habilitar o acesso via API para que esta página funcione.",
|
|
486
544
|
retry: "Tentar novamente",
|
|
487
545
|
managedBy: {
|
|
488
546
|
system: {
|
|
@@ -507,7 +565,7 @@ const pt = {
|
|
|
507
565
|
},
|
|
508
566
|
},
|
|
509
567
|
refresh: "Atualizar",
|
|
510
|
-
loading:
|
|
568
|
+
loading: "Carregando registros…",
|
|
511
569
|
recordCount: "{{count}} registros",
|
|
512
570
|
recordCountOne: "{{count}} registro",
|
|
513
571
|
addRecord: "Adicionar registro",
|
|
@@ -519,7 +577,8 @@ const pt = {
|
|
|
519
577
|
sort: "Ordenar",
|
|
520
578
|
sortRecords: "Ordenar registros",
|
|
521
579
|
sortByIdSuffix: "(por ID)",
|
|
522
|
-
sortRelationalHint: "As colunas que apontam para outro registro não são listadas: elas só podem ser ordenadas pelo ID armazenado, não pelo nome exibido na célula. Para ordenar por esse nome,
|
|
580
|
+
sortRelationalHint: "As colunas que apontam para outro registro não são listadas: elas só podem ser ordenadas pelo ID armazenado, não pelo nome exibido na célula. Para ordenar por esse nome, desnormalize-o neste objeto como um campo armazenado, gravado quando a origem muda, e ordene por ele. Não um campo de fórmula: ele é virtual, nenhuma coluna é armazenada para ele e o servidor recusa ordenar por ele.",
|
|
581
|
+
resetSortToDefault: "Restaurar o padrão da exibição",
|
|
523
582
|
group: "Agrupar",
|
|
524
583
|
groupBy: "Agrupar por",
|
|
525
584
|
export: "Exportar",
|
|
@@ -577,13 +636,16 @@ const pt = {
|
|
|
577
636
|
},
|
|
578
637
|
kanban: {
|
|
579
638
|
uncategorized: "Sem categoria",
|
|
639
|
+
columns: "colunas",
|
|
580
640
|
addCard: "Adicionar cartão",
|
|
581
641
|
addColumn: "Adicionar coluna",
|
|
582
642
|
moveCard: "Mover cartão",
|
|
583
643
|
deleteCard: "Excluir cartão",
|
|
584
644
|
deleteColumn: "Excluir coluna",
|
|
585
645
|
noCards: "Sem cartões",
|
|
586
|
-
cardTitlePlaceholder: "Digite o título do cartão
|
|
646
|
+
cardTitlePlaceholder: "Digite o título do cartão…",
|
|
647
|
+
requiredFieldsTitle: "Preencha os campos obrigatórios",
|
|
648
|
+
requiredFieldsDescription: "Esta movimentação torna os campos abaixo obrigatórios. Preencha-os para continuar.",
|
|
587
649
|
},
|
|
588
650
|
timeline: {
|
|
589
651
|
bucket: {
|
|
@@ -596,6 +658,13 @@ const pt = {
|
|
|
596
658
|
noDate: "Sem data",
|
|
597
659
|
unassigned: "Não atribuído",
|
|
598
660
|
},
|
|
661
|
+
scale: {
|
|
662
|
+
week: "Semana {{n}}",
|
|
663
|
+
quarter: "T{{quarter}} {{year}}",
|
|
664
|
+
},
|
|
665
|
+
gantt: {
|
|
666
|
+
rowLabel: "Itens",
|
|
667
|
+
},
|
|
599
668
|
},
|
|
600
669
|
gantt: {
|
|
601
670
|
viewMode: {
|
|
@@ -642,6 +711,18 @@ const pt = {
|
|
|
642
711
|
ff: "Término → Término",
|
|
643
712
|
sf: "Início → Término",
|
|
644
713
|
},
|
|
714
|
+
linkEnd: {
|
|
715
|
+
start: "Início",
|
|
716
|
+
end: "Fim",
|
|
717
|
+
},
|
|
718
|
+
link: {
|
|
719
|
+
rejected: {
|
|
720
|
+
self: "Uma tarefa não pode depender de si mesma.",
|
|
721
|
+
locked: "Esta linha está bloqueada e não pode receber uma nova dependência.",
|
|
722
|
+
group: "Uma linha de resumo não pode receber dependências: vincule uma das suas tarefas.",
|
|
723
|
+
cycle: "Esse vínculo criaria uma dependência circular.",
|
|
724
|
+
},
|
|
725
|
+
},
|
|
645
726
|
conflict: {
|
|
646
727
|
title: "Conflito de agendamento",
|
|
647
728
|
body: "Esta movimentação conflita com as restrições de dependência. Reagendar automaticamente {{count}} tarefa(s) afetada(s)?",
|
|
@@ -650,8 +731,8 @@ const pt = {
|
|
|
650
731
|
},
|
|
651
732
|
autoScheduleDlg: {
|
|
652
733
|
title: "Agendamento automático",
|
|
653
|
-
body: "Adiar {count} tarefa(s) para atender aos vínculos de dependência?",
|
|
654
|
-
skipped: "{count} tarefa(s) bloqueada(s) também violam os vínculos e foram ignoradas.",
|
|
734
|
+
body: "Adiar {{count}} tarefa(s) para atender aos vínculos de dependência?",
|
|
735
|
+
skipped: "{{count}} tarefa(s) bloqueada(s) também violam os vínculos e foram ignoradas.",
|
|
655
736
|
confirm: "Aplicar",
|
|
656
737
|
cancel: "Cancelar",
|
|
657
738
|
none: "Todas as dependências foram atendidas — nada a reagendar.",
|
|
@@ -688,6 +769,7 @@ const pt = {
|
|
|
688
769
|
exportPng: "Exportar como PNG",
|
|
689
770
|
exportPdf: "Exportar PDF",
|
|
690
771
|
saveLayout: "Salvar o layout",
|
|
772
|
+
refresh: "Atualizar",
|
|
691
773
|
undo: "Desfazer",
|
|
692
774
|
redo: "Refazer",
|
|
693
775
|
prevPeriod: "Período anterior",
|
|
@@ -728,11 +810,11 @@ const pt = {
|
|
|
728
810
|
defaultBadge: "padrão",
|
|
729
811
|
tabActionsFor: "Ações de exibição para {{name}}",
|
|
730
812
|
readonlyAriaLabel: "Exibição somente leitura",
|
|
731
|
-
readonlyTooltip: "Exibição do sistema —
|
|
813
|
+
readonlyTooltip: "Exibição do sistema — definida no código, somente leitura.",
|
|
732
814
|
},
|
|
733
815
|
designer: {
|
|
734
|
-
undo:
|
|
735
|
-
redo:
|
|
816
|
+
undo: "Desfazer",
|
|
817
|
+
redo: "Refazer",
|
|
736
818
|
},
|
|
737
819
|
detail: {
|
|
738
820
|
editInlineHint: "Clique duas vezes para editar",
|
|
@@ -774,13 +856,15 @@ const pt = {
|
|
|
774
856
|
relatedRecords: "{{count}} registros",
|
|
775
857
|
relatedRecordOne: "{{count}} registro",
|
|
776
858
|
noRelatedRecords: "Nenhum registro relacionado encontrado",
|
|
777
|
-
loading: "Carregando
|
|
859
|
+
loading: "Carregando…",
|
|
778
860
|
copyToClipboard: "Copiar para área de transferência",
|
|
779
861
|
copied: "Copiado!",
|
|
780
862
|
deleteConfirmation: "Tem certeza de que deseja excluir este registro?",
|
|
863
|
+
deleted: "Registro excluído",
|
|
781
864
|
editRecord: "Editar registro",
|
|
782
865
|
viewAll: "Ver tudo",
|
|
783
866
|
new: "Novo",
|
|
867
|
+
add: "Adicionar",
|
|
784
868
|
emptyValue: "—",
|
|
785
869
|
comments: "Comentários",
|
|
786
870
|
searchComments: "Pesquisar comentários…",
|
|
@@ -845,6 +929,7 @@ const pt = {
|
|
|
845
929
|
loadMore: "Carregar mais",
|
|
846
930
|
edited: "(editado)",
|
|
847
931
|
via: "via {{source}}",
|
|
932
|
+
viewSource: "Ver origem",
|
|
848
933
|
replyCount: "{{count}} resposta",
|
|
849
934
|
replyCountPlural: "{{count}} respostas",
|
|
850
935
|
replyPlaceholder: "Responder…",
|
|
@@ -878,7 +963,7 @@ const pt = {
|
|
|
878
963
|
cancelEdit: "Descartar alterações",
|
|
879
964
|
sectionMoreDetails: "Mais detalhes",
|
|
880
965
|
concurrentUpdateTitle: "Este registro foi modificado por outra pessoa",
|
|
881
|
-
concurrentUpdateDescription: "Outro usuário salvou uma versão mais recente
|
|
966
|
+
concurrentUpdateDescription: "Outro usuário salvou, durante sua edição, uma versão mais recente que afeta {{field}}. Escolha como resolver o conflito.",
|
|
882
967
|
concurrentUpdateYourEdit: "Sua edição",
|
|
883
968
|
concurrentUpdateCurrentValue: "Valor atual",
|
|
884
969
|
concurrentUpdateUpdatedBy: "Atualizado por {{name}}",
|
|
@@ -886,9 +971,11 @@ const pt = {
|
|
|
886
971
|
concurrentUpdateReload: "Carregar versão atual",
|
|
887
972
|
concurrentUpdateOverwrite: "Sobrescrever mesmo assim",
|
|
888
973
|
concurrentUpdateCancel: "Cancelar",
|
|
974
|
+
concurrentUpdateRecordLabel: "este registro",
|
|
889
975
|
openInNewTab: "Abrir em nova aba",
|
|
890
976
|
activity: "Atividade",
|
|
891
977
|
history: "Histórico",
|
|
978
|
+
historyEmpty: "Nenhum histórico ainda",
|
|
892
979
|
editRow: "Editar",
|
|
893
980
|
deleteRow: "Excluir",
|
|
894
981
|
deleteRowConfirmation: "Excluir este registro?",
|
|
@@ -898,10 +985,13 @@ const pt = {
|
|
|
898
985
|
nextPage: "Próximo",
|
|
899
986
|
pageOf: "Página {{current}} de {{total}}",
|
|
900
987
|
sortBy: "Ordenar por",
|
|
901
|
-
filterPlaceholder: "Filtrar
|
|
988
|
+
filterPlaceholder: "Filtrar…",
|
|
902
989
|
highlightFields: "Campos principais",
|
|
903
990
|
createdBy: "Criado por",
|
|
904
991
|
updatedBy: "Atualizado por",
|
|
992
|
+
// objectui#3863 — base key. pt's third category `many` starts at a million, where
|
|
993
|
+
// the plural form is correct, so the base repeats `_other`.
|
|
994
|
+
showEmptyRelated: "+ {{count}} vazios",
|
|
905
995
|
showEmptyRelated_one: "+ {{count}} vazio",
|
|
906
996
|
showEmptyRelated_other: "+ {{count}} vazios",
|
|
907
997
|
copyEmail: "Copiar e-mail",
|
|
@@ -913,7 +1003,8 @@ const pt = {
|
|
|
913
1003
|
},
|
|
914
1004
|
chart: {
|
|
915
1005
|
noData: "Nenhum dado de gráfico disponível",
|
|
916
|
-
loading: "Carregando gráfico
|
|
1006
|
+
loading: "Carregando gráfico…",
|
|
1007
|
+
nullCategory: "(Não especificado)",
|
|
917
1008
|
},
|
|
918
1009
|
map: {
|
|
919
1010
|
searchLocations: "Pesquisar locais…",
|
|
@@ -935,8 +1026,8 @@ const pt = {
|
|
|
935
1026
|
properties: "Propriedades",
|
|
936
1027
|
connections: "Conexões",
|
|
937
1028
|
quickConnect: "Conexão rápida",
|
|
938
|
-
fromPlaceholder: "De
|
|
939
|
-
toPlaceholder: "Para
|
|
1029
|
+
fromPlaceholder: "De…",
|
|
1030
|
+
toPlaceholder: "Para…",
|
|
940
1031
|
connect: "Conectar",
|
|
941
1032
|
label: "Rótulo",
|
|
942
1033
|
type: "Tipo",
|
|
@@ -984,6 +1075,7 @@ const pt = {
|
|
|
984
1075
|
},
|
|
985
1076
|
dashboard: {
|
|
986
1077
|
noRows: "Sem linhas",
|
|
1078
|
+
loading: "Carregando…",
|
|
987
1079
|
pickMeasures: "Escolha medidas (valores) para este widget de dataset.",
|
|
988
1080
|
datasetUnsupported: "Esta fonte de dados não oferece suporte a consultas de dataset.",
|
|
989
1081
|
details: "Detalhes",
|
|
@@ -1077,7 +1169,7 @@ const pt = {
|
|
|
1077
1169
|
faviconUrl: "Favicon URL",
|
|
1078
1170
|
preview: "Pré-visualização",
|
|
1079
1171
|
complete: "Concluir",
|
|
1080
|
-
snakeCaseHint: "
|
|
1172
|
+
snakeCaseHint: "Deve ser snake_case (ex. my_app)",
|
|
1081
1173
|
modeEdit: "Editar",
|
|
1082
1174
|
modePreview: "Pré-visualizar",
|
|
1083
1175
|
modeCode: "Código",
|
|
@@ -1241,6 +1333,7 @@ const pt = {
|
|
|
1241
1333
|
},
|
|
1242
1334
|
},
|
|
1243
1335
|
console: {
|
|
1336
|
+
saveAdvisoryTitle: "Salvo — a verificação de criação gerou {{count}} recomendação(ões)",
|
|
1244
1337
|
settingsHub: {
|
|
1245
1338
|
title: "Configurações",
|
|
1246
1339
|
subtitle: "Configure seu workspace, integrações e sinalizadores de recursos.",
|
|
@@ -1307,7 +1400,7 @@ const pt = {
|
|
|
1307
1400
|
shareTitle: "Compartilhar esta conversa",
|
|
1308
1401
|
shareDisabledTitle: "Comece a conversar para habilitar o compartilhamento",
|
|
1309
1402
|
newChat: "Nova",
|
|
1310
|
-
searchChats: "Pesquisar conversas
|
|
1403
|
+
searchChats: "Pesquisar conversas…",
|
|
1311
1404
|
noChatsYet: "Ainda não há conversas",
|
|
1312
1405
|
noChatsDescription: "Inicie uma nova conversa para vê-la aqui.",
|
|
1313
1406
|
noMatchingChats: "Nenhuma conversa correspondente.",
|
|
@@ -1316,18 +1409,18 @@ const pt = {
|
|
|
1316
1409
|
deleteConversation: "Excluir conversa",
|
|
1317
1410
|
saveRename: "Salvar novo nome",
|
|
1318
1411
|
cancelRename: "Cancelar renomeação",
|
|
1319
|
-
loadingHistory: "Carregando o histórico da conversa
|
|
1412
|
+
loadingHistory: "Carregando o histórico da conversa…",
|
|
1320
1413
|
conversationReady: "Conversa pronta",
|
|
1321
1414
|
preparingConversation: "Preparando uma nova conversa",
|
|
1322
1415
|
offlineDemoMode: "Modo de demonstração off-line — lista de agentes indisponível",
|
|
1323
1416
|
sendFailedRateLimited: "Você está enviando mensagens rápido demais. Sua mensagem foi mantida abaixo — aguarde um momento e tente novamente.",
|
|
1324
1417
|
sendFailedGeneric: "Não foi possível enviar sua mensagem. Ela foi mantida abaixo — tente novamente.",
|
|
1325
|
-
askAgent: "Pergunte a {{agent}}
|
|
1418
|
+
askAgent: "Pergunte a {{agent}}…",
|
|
1326
1419
|
assistant: "Assistente",
|
|
1327
1420
|
liveCanvas: "Pré-visualização ao vivo — {{app}} (rascunho)",
|
|
1328
1421
|
liveCanvasUnlisted: "Aplicativo ao vivo — {{app}} (não listado até ser publicado)",
|
|
1329
|
-
loadingAgents: "Carregando agentes
|
|
1330
|
-
askAnything: "Pergunte qualquer coisa
|
|
1422
|
+
loadingAgents: "Carregando agentes…",
|
|
1423
|
+
askAnything: "Pergunte qualquer coisa…",
|
|
1331
1424
|
emptyTitle: "Iniciar uma conversa",
|
|
1332
1425
|
emptyDescription: "Pergunte qualquer coisa — o assistente tem acesso ao contexto do seu aplicativo atual.",
|
|
1333
1426
|
switchAssistant: "Trocar de assistente",
|
|
@@ -1430,9 +1523,60 @@ const pt = {
|
|
|
1430
1523
|
createSeed: "Gerar dados de exemplo",
|
|
1431
1524
|
createPackage: "Criar pacote de aplicativo",
|
|
1432
1525
|
},
|
|
1526
|
+
// objectui#3546 slice four — the AI console surfaces: the /ai chat page's app switcher,
|
|
1527
|
+
// connection banner and plan/publish cards, the ChatDock chrome, and the
|
|
1528
|
+
// conversation-list date buckets. `group.*` is the template-key family
|
|
1529
|
+
// `console.ai.group.${key}` (ConversationsSidebar), enumerated from the
|
|
1530
|
+
// ConversationGroupKey union — all five members, no wildcard.
|
|
1531
|
+
collapseToDock: "Recolher para o painel lateral",
|
|
1532
|
+
switchApp: "Trocar de aplicativo",
|
|
1533
|
+
switchAppLabel: "Conversas de criação por aplicativo",
|
|
1534
|
+
newApp: "Novo aplicativo",
|
|
1535
|
+
connectionWaiting: "Aguardando o servidor…",
|
|
1536
|
+
connectionStalled: "Ainda processando…",
|
|
1537
|
+
connectionOffline: "Conexão perdida — reconectando…",
|
|
1538
|
+
designingPlan: "Projetando seu aplicativo…",
|
|
1539
|
+
designingPlanHint: {
|
|
1540
|
+
data: "Mapeando os dados que você vai acompanhar…",
|
|
1541
|
+
objects: "Modelando os objetos e seus campos…",
|
|
1542
|
+
relations: "Conectando os registros relacionados…",
|
|
1543
|
+
lookups: "Configurando as relações e os campos de busca…",
|
|
1544
|
+
views: "Planejando as telas e as visualizações…",
|
|
1545
|
+
forms: "Organizando os formulários e as listas…",
|
|
1546
|
+
defaults: "Adicionando valores padrão e validações sensatas…",
|
|
1547
|
+
dashboard: "Esboçando um painel para acompanhar…",
|
|
1548
|
+
review: "Verificando se a estrutura faz sentido…",
|
|
1549
|
+
finalize: "Reunindo o plano…",
|
|
1550
|
+
},
|
|
1551
|
+
planBuilding: "Criando…",
|
|
1552
|
+
planBuilt: "Criado",
|
|
1553
|
+
planDeferred: "Ainda não criado",
|
|
1554
|
+
planReady: "O plano está pronto. Crie agora ou diga o que ajustar.",
|
|
1555
|
+
published: "Publicado",
|
|
1556
|
+
publishFailed: "Falha ao publicar",
|
|
1557
|
+
unavailableTitle: "Assistente de IA indisponível",
|
|
1558
|
+
unavailableDescription: "Esta implantação não tem um assistente de IA habilitado. Todo o resto funciona normalmente.",
|
|
1559
|
+
unavailableError: "Não foi possível acessar o serviço de IA. Ele pode estar temporariamente off-line — tente novamente ou volte ao início.",
|
|
1560
|
+
unavailableRetry: "Tentar novamente",
|
|
1561
|
+
unavailableHome: "Voltar ao início",
|
|
1562
|
+
dock: {
|
|
1563
|
+
title: "Assistente",
|
|
1564
|
+
description: "Conversa com o assistente de IA",
|
|
1565
|
+
resize: "Redimensionar a conversa",
|
|
1566
|
+
collapse: "Recolher a conversa",
|
|
1567
|
+
maximize: "Abrir como página inteira",
|
|
1568
|
+
open: "Abrir o assistente",
|
|
1569
|
+
},
|
|
1570
|
+
group: {
|
|
1571
|
+
today: "Hoje",
|
|
1572
|
+
yesterday: "Ontem",
|
|
1573
|
+
previous7Days: "7 dias anteriores",
|
|
1574
|
+
previous30Days: "30 dias anteriores",
|
|
1575
|
+
older: "Mais antigas",
|
|
1576
|
+
},
|
|
1433
1577
|
},
|
|
1434
1578
|
title: "Console ObjectStack",
|
|
1435
|
-
initializing: "Inicializando aplicação
|
|
1579
|
+
initializing: "Inicializando aplicação…",
|
|
1436
1580
|
loadingHint: "Configurar um novo ambiente pode levar alguns instantes.",
|
|
1437
1581
|
breadcrumb: {
|
|
1438
1582
|
dashboards: "Painéis",
|
|
@@ -1440,6 +1584,31 @@ const pt = {
|
|
|
1440
1584
|
reports: "Relatórios",
|
|
1441
1585
|
system: "Sistema",
|
|
1442
1586
|
},
|
|
1587
|
+
// objectui#4024 — the single-namespace settings screen. Its sibling
|
|
1588
|
+
// `settingsHub` above already resolved through this pack; the view was the
|
|
1589
|
+
// one file still carrying English literals.
|
|
1590
|
+
settingsView: {
|
|
1591
|
+
backToHub: "Todas as configurações",
|
|
1592
|
+
back: "Voltar",
|
|
1593
|
+
noNamespace: "Nenhum namespace selecionado.",
|
|
1594
|
+
loadError: "Falha ao carregar as configurações",
|
|
1595
|
+
saved: "Configurações salvas",
|
|
1596
|
+
saveFailed: "Falha ao salvar",
|
|
1597
|
+
lockedByEnv: "Bloqueado pelo ambiente: {{key}}",
|
|
1598
|
+
lockedByEnvNoKey: "Bloqueado pelo ambiente",
|
|
1599
|
+
actionSucceeded: "A ação foi concluída",
|
|
1600
|
+
actionFailed: "A ação falhou",
|
|
1601
|
+
discard: "Descartar",
|
|
1602
|
+
saveChanges: "Salvar alterações",
|
|
1603
|
+
unsavedCount: "{{count}} alterações não salvas",
|
|
1604
|
+
unsavedCount_one: "{{count}} alteração não salva",
|
|
1605
|
+
unsavedCount_other: "{{count}} alterações não salvas",
|
|
1606
|
+
cryptoRefusalTitle: "Esta implantação não consegue criptografar segredos",
|
|
1607
|
+
cryptoRefusalSubjectSuffix: "está declarado como criptografado, portanto nada foi gravado.",
|
|
1608
|
+
cryptoRefusalNoSubject: "O valor declarado como criptografado foi recusado, portanto nada foi gravado.",
|
|
1609
|
+
cryptoRefusalToast: "Não é possível criptografar segredos: {{subject}}",
|
|
1610
|
+
cryptoRefusalToastNoSubject: "Não é possível criptografar segredos",
|
|
1611
|
+
},
|
|
1443
1612
|
loadingSteps: {
|
|
1444
1613
|
connecting: "Conectando à fonte de dados",
|
|
1445
1614
|
loadingConfig: "Carregando configuração",
|
|
@@ -1469,6 +1638,7 @@ const pt = {
|
|
|
1469
1638
|
general: "Geral",
|
|
1470
1639
|
navigation: "Navegação",
|
|
1471
1640
|
dataViews: "Visualizações de dados",
|
|
1641
|
+
aiChat: "Assistente de IA",
|
|
1472
1642
|
preferences: "Preferências",
|
|
1473
1643
|
},
|
|
1474
1644
|
openCommandPalette: "Abrir paleta de comandos",
|
|
@@ -1479,11 +1649,13 @@ const pt = {
|
|
|
1479
1649
|
createRecord: "Criar novo registro",
|
|
1480
1650
|
refreshData: "Atualizar dados",
|
|
1481
1651
|
editRecord: "Editar registro selecionado",
|
|
1652
|
+
newChat: "Nova conversa",
|
|
1653
|
+
toggleChatsList: "Alternar lista de conversas",
|
|
1482
1654
|
toggleDarkMode: "Alternar modo escuro",
|
|
1483
1655
|
},
|
|
1484
1656
|
commandPalette: {
|
|
1485
1657
|
title: "Paleta de comandos",
|
|
1486
|
-
placeholder: "Digite um comando ou pesquise
|
|
1658
|
+
placeholder: "Digite um comando ou pesquise…",
|
|
1487
1659
|
noResults: "Nenhum resultado encontrado.",
|
|
1488
1660
|
objects: "Objetos",
|
|
1489
1661
|
dashboards: "Painéis",
|
|
@@ -1509,6 +1681,12 @@ const pt = {
|
|
|
1509
1681
|
goHome: "Ir para início",
|
|
1510
1682
|
errorDetails: "Detalhes do erro (somente desenvolvimento)",
|
|
1511
1683
|
},
|
|
1684
|
+
// objectui#3546 slice four — the console's catch-all route (AppContent `RouteNotFound`).
|
|
1685
|
+
notFound: {
|
|
1686
|
+
title: "Página não encontrada",
|
|
1687
|
+
description: "A URL que você acessou não corresponde a nenhuma visualização deste aplicativo.",
|
|
1688
|
+
back: "Voltar",
|
|
1689
|
+
},
|
|
1512
1690
|
theme: {
|
|
1513
1691
|
toggle: "Alternar tema",
|
|
1514
1692
|
light: "Claro",
|
|
@@ -1524,8 +1702,10 @@ const pt = {
|
|
|
1524
1702
|
viewNameHelp: "Chave técnica (snake_case). Preenchida automaticamente a partir do título — edite se quiser.",
|
|
1525
1703
|
viewNameRequired: "Informe uma chave (letras minúsculas, números, sublinhado). Não é preenchida automaticamente para títulos não latinos.",
|
|
1526
1704
|
viewNameInvalid: "Use letras minúsculas, números e sublinhados; comece com uma letra ou sublinhado.",
|
|
1527
|
-
systemViewReadonly:
|
|
1528
|
-
|
|
1705
|
+
systemViewReadonly: "Exibição do sistema definida no código — somente leitura.",
|
|
1706
|
+
cannotEditMetaView: "Esta exibição é integrada e definida no código — não é possível alterá-la.",
|
|
1707
|
+
cannotDeleteMetaView: "Esta exibição é integrada e definida no código — não é possível excluí-la.",
|
|
1708
|
+
expandToPage: "Abrir como página inteira",
|
|
1529
1709
|
objectNotFound: "Objeto não encontrado",
|
|
1530
1710
|
objectNotFoundDescription: "O objeto \"{{objectName}}\" não existe na configuração atual.",
|
|
1531
1711
|
objectNotFoundHint: "Verifique as configurações de navegação do seu aplicativo ou selecione um objeto diferente na barra lateral.",
|
|
@@ -1557,7 +1737,7 @@ const pt = {
|
|
|
1557
1737
|
exportPrintHint: "Formatos de exportação, impressão e exibição da contagem de registros",
|
|
1558
1738
|
showAllFields: "Mostrar tudo",
|
|
1559
1739
|
hideAllFields: "Ocultar tudo",
|
|
1560
|
-
searchFields: "Pesquisar campos
|
|
1740
|
+
searchFields: "Pesquisar campos…",
|
|
1561
1741
|
title: "Título",
|
|
1562
1742
|
description: "Descrição",
|
|
1563
1743
|
data: "Dados",
|
|
@@ -1596,7 +1776,7 @@ const pt = {
|
|
|
1596
1776
|
longitudeField: "Campo de longitude",
|
|
1597
1777
|
imageField: "Campo de imagem",
|
|
1598
1778
|
dateField: "Campo de data",
|
|
1599
|
-
selectField: "Selecionar campo
|
|
1779
|
+
selectField: "Selecionar campo…",
|
|
1600
1780
|
gridOptionsHint: "A visualização de grade usa as colunas configuradas acima.",
|
|
1601
1781
|
groupBy: "Agrupar por",
|
|
1602
1782
|
prefixField: "Campo de prefixo",
|
|
@@ -1659,7 +1839,7 @@ const pt = {
|
|
|
1659
1839
|
latitudeFieldHelp: "Campo contendo a latitude (apenas campos geográficos).",
|
|
1660
1840
|
longitudeFieldHelp: "Campo contendo a longitude (apenas campos geográficos).",
|
|
1661
1841
|
imageFieldHelp: "A capa da galeria vem deste campo de imagem ou anexo.",
|
|
1662
|
-
selectOption: "Selecionar
|
|
1842
|
+
selectOption: "Selecionar…",
|
|
1663
1843
|
noEligibleFieldForType: "Nenhum campo elegível desse tipo. Adicione um ao objeto primeiro.",
|
|
1664
1844
|
viewTypeUnavailable: "Este objeto não tem um campo que sirva como \"{{field}}\".",
|
|
1665
1845
|
viewTypeUnavailableShort: "Não suportado por este objeto.",
|
|
@@ -1709,7 +1889,7 @@ const pt = {
|
|
|
1709
1889
|
ufDropdown: "Lista suspensa",
|
|
1710
1890
|
ufTabs: "Abas",
|
|
1711
1891
|
ufToggle: "Alternar",
|
|
1712
|
-
ufAddField: "+ Adicionar campo de filtro
|
|
1892
|
+
ufAddField: "+ Adicionar campo de filtro…",
|
|
1713
1893
|
ufNoFields: "Sem campos disponíveis",
|
|
1714
1894
|
ufAddTab: "+ Adicionar aba",
|
|
1715
1895
|
ufTabLabel: "Rótulo",
|
|
@@ -1769,7 +1949,7 @@ const pt = {
|
|
|
1769
1949
|
passwordPlaceholder: "Digite sua senha",
|
|
1770
1950
|
forgotPasswordText: "Esqueceu a senha?",
|
|
1771
1951
|
submitButton: "Entrar",
|
|
1772
|
-
submittingButton: "Entrando
|
|
1952
|
+
submittingButton: "Entrando…",
|
|
1773
1953
|
noAccountText: "Não tem uma conta?",
|
|
1774
1954
|
signUpText: "Cadastre-se",
|
|
1775
1955
|
errors: {
|
|
@@ -1777,6 +1957,18 @@ const pt = {
|
|
|
1777
1957
|
invalidCredentials: "E-mail ou senha inválidos. Por favor, tente novamente.",
|
|
1778
1958
|
emailNotVerified: "Por favor, verifique seu e-mail antes de fazer login.",
|
|
1779
1959
|
},
|
|
1960
|
+
// objectui#3546 slice three — phone/OTP sign-in. `{seconds}` is LoginForm's own
|
|
1961
|
+
// literal `.replace()` hole, not i18next interpolation: keep the single braces.
|
|
1962
|
+
emailOrPhoneLabel: "E-mail ou número de telefone",
|
|
1963
|
+
emailOrPhonePlaceholder: "name@example.com ou +1 555 000 0000",
|
|
1964
|
+
phoneLabel: "Número de telefone",
|
|
1965
|
+
phonePlaceholder: "+1 555 000 0000",
|
|
1966
|
+
otpCodeLabel: "Código de verificação",
|
|
1967
|
+
otpCodePlaceholder: "Código de 6 dígitos",
|
|
1968
|
+
sendOtpButton: "Obter código",
|
|
1969
|
+
resendOtpCountdownText: "Reenviar em {seconds} s",
|
|
1970
|
+
usePhoneOtpText: "Entrar com código de verificação",
|
|
1971
|
+
usePasswordSignInText: "Entrar com senha em vez disso",
|
|
1780
1972
|
},
|
|
1781
1973
|
register: {
|
|
1782
1974
|
title: "Criar uma conta",
|
|
@@ -1792,7 +1984,7 @@ const pt = {
|
|
|
1792
1984
|
passwordMismatchError: "As senhas não coincidem",
|
|
1793
1985
|
passwordTooShortError: "A senha deve ter pelo menos 8 caracteres",
|
|
1794
1986
|
submitButton: "Criar conta",
|
|
1795
|
-
submittingButton: "Criando conta
|
|
1987
|
+
submittingButton: "Criando conta…",
|
|
1796
1988
|
hasAccountText: "Já tem uma conta?",
|
|
1797
1989
|
signInText: "Entrar",
|
|
1798
1990
|
errors: {
|
|
@@ -1813,12 +2005,26 @@ const pt = {
|
|
|
1813
2005
|
emailLabel: "E-mail",
|
|
1814
2006
|
emailPlaceholder: "name@example.com",
|
|
1815
2007
|
submitButton: "Enviar link de redefinição",
|
|
1816
|
-
submittingButton: "Enviando
|
|
2008
|
+
submittingButton: "Enviando…",
|
|
1817
2009
|
successTitle: "Verifique seu e-mail",
|
|
1818
2010
|
successDescription: "Enviamos um link para redefinição de senha para {{email}}. Por favor verifique sua caixa de entrada.",
|
|
1819
2011
|
backToSignInText: "Voltar para o login",
|
|
1820
2012
|
rememberPasswordText: "Lembra da sua senha?",
|
|
1821
2013
|
signInText: "Entrar",
|
|
2014
|
+
// objectui#3546 slice three — the SMS reset branch of the same form.
|
|
2015
|
+
phoneLabel: "Número de telefone",
|
|
2016
|
+
phonePlaceholder: "+1 555 000 0000",
|
|
2017
|
+
otpCodeLabel: "Código de verificação",
|
|
2018
|
+
otpCodePlaceholder: "Código de 6 dígitos",
|
|
2019
|
+
sendOtpButton: "Obter código",
|
|
2020
|
+
resendOtpCountdownText: "Reenviar em {seconds} s",
|
|
2021
|
+
newPasswordLabel: "Nova senha",
|
|
2022
|
+
newPasswordPlaceholder: "Digite uma nova senha",
|
|
2023
|
+
resetButton: "Redefinir senha",
|
|
2024
|
+
usePhoneResetText: "Redefinir com código por SMS",
|
|
2025
|
+
useEmailResetText: "Redefinir por e-mail em vez disso",
|
|
2026
|
+
phoneSuccessTitle: "Senha redefinida",
|
|
2027
|
+
phoneSuccessDescription: "Sua senha foi redefinida. Agora você pode entrar com a nova senha.",
|
|
1822
2028
|
},
|
|
1823
2029
|
resetPassword: {
|
|
1824
2030
|
title: "Definir nova senha",
|
|
@@ -1857,6 +2063,8 @@ const pt = {
|
|
|
1857
2063
|
backToLogin: "Voltar ao login",
|
|
1858
2064
|
checkSpam: "Não recebeu o e-mail? Verifique sua pasta de spam ou entre em contato com o suporte.",
|
|
1859
2065
|
or: "Ou",
|
|
2066
|
+
// objectui#3546 slice three.
|
|
2067
|
+
resendUnavailable: "O envio de e-mails pode não estar configurado neste ambiente. Entre em contato com o suporte se o problema persistir.",
|
|
1860
2068
|
},
|
|
1861
2069
|
setup: {
|
|
1862
2070
|
welcomeTitle: "Bem-vindo ao ObjectStack",
|
|
@@ -1895,6 +2103,9 @@ const pt = {
|
|
|
1895
2103
|
invalidDescription: "Nenhum código de dispositivo foi fornecido na URL.",
|
|
1896
2104
|
loading: "Carregando…",
|
|
1897
2105
|
cancel: "Cancelar",
|
|
2106
|
+
// objectui#3546 slice three — device-authorization plugin switched off.
|
|
2107
|
+
disabledTitle: "Autorização de dispositivo não habilitada",
|
|
2108
|
+
disabledDescription: "Esta implantação não tem a autorização de dispositivo habilitada, por isso este dispositivo não pode ser aprovado aqui.",
|
|
1898
2109
|
},
|
|
1899
2110
|
shell: {
|
|
1900
2111
|
tenantHostHint: "Você está fazendo login neste espaço de trabalho",
|
|
@@ -1934,6 +2145,29 @@ const pt = {
|
|
|
1934
2145
|
},
|
|
1935
2146
|
},
|
|
1936
2147
|
},
|
|
2148
|
+
// objectui#3546 slice three — the /oauth/consent screen.
|
|
2149
|
+
oauth: {
|
|
2150
|
+
consent: {
|
|
2151
|
+
title: "{{appName}} quer acessar sua conta",
|
|
2152
|
+
request: "{{appName}} está solicitando permissão{{suffix}}.",
|
|
2153
|
+
unknownApp: "um aplicativo",
|
|
2154
|
+
willAllow: "Este aplicativo poderá:",
|
|
2155
|
+
scope: {
|
|
2156
|
+
openid: "Confirmar sua identidade",
|
|
2157
|
+
profile: "Ler seu perfil básico (nome, foto)",
|
|
2158
|
+
email: "Ler seu endereço de e-mail",
|
|
2159
|
+
offlineAccess: "Manter a sessão ativa (renovar o acesso)",
|
|
2160
|
+
},
|
|
2161
|
+
deny: "Negar",
|
|
2162
|
+
authorize: "Autorizar",
|
|
2163
|
+
submitting: "Autorizando…",
|
|
2164
|
+
granted: "Acesso concedido",
|
|
2165
|
+
denied: "Acesso negado",
|
|
2166
|
+
noRedirect: "O servidor não retornou nenhuma URL de redirecionamento.",
|
|
2167
|
+
failed: "Falha no consentimento",
|
|
2168
|
+
footer: "Você pode revogar o acesso a qualquer momento nas configurações da sua conta.",
|
|
2169
|
+
},
|
|
2170
|
+
},
|
|
1937
2171
|
profile: {
|
|
1938
2172
|
title: "Perfil",
|
|
1939
2173
|
subtitle: "Gerencie as configurações da sua conta",
|
|
@@ -1995,6 +2229,8 @@ const pt = {
|
|
|
1995
2229
|
invite: "Convidar membro",
|
|
1996
2230
|
members: "Membros",
|
|
1997
2231
|
settings: "Configurações do espaço de trabalho",
|
|
2232
|
+
multiOrgDisabled: "A criação de novas organizações está desativada nesta instância.",
|
|
2233
|
+
createFailed: 'Falha ao criar o espaço de trabalho',
|
|
1998
2234
|
},
|
|
1999
2235
|
help: {
|
|
2000
2236
|
onThisPage: "Nesta página",
|
|
@@ -2005,7 +2241,7 @@ const pt = {
|
|
|
2005
2241
|
},
|
|
2006
2242
|
sidebar: {
|
|
2007
2243
|
packageManagement: "Gerenciamento de pacotes",
|
|
2008
|
-
searchNavigation: "Pesquisar na navegação
|
|
2244
|
+
searchNavigation: "Pesquisar na navegação…",
|
|
2009
2245
|
settings: "Configurações",
|
|
2010
2246
|
help: "Ajuda",
|
|
2011
2247
|
helpTooltip: "Ajuda e documentação",
|
|
@@ -2029,8 +2265,8 @@ const pt = {
|
|
|
2029
2265
|
switchObject: "Trocar de objeto",
|
|
2030
2266
|
connection: {
|
|
2031
2267
|
connected: "Conectado",
|
|
2032
|
-
connecting: "Conectando
|
|
2033
|
-
reconnecting: "Reconectando
|
|
2268
|
+
connecting: "Conectando…",
|
|
2269
|
+
reconnecting: "Reconectando…",
|
|
2034
2270
|
disconnected: "Desconectado",
|
|
2035
2271
|
error: "Erro de conexão",
|
|
2036
2272
|
},
|
|
@@ -2069,6 +2305,14 @@ const pt = {
|
|
|
2069
2305
|
publishing: "Publicando…",
|
|
2070
2306
|
published: "Publicado! Suas alterações estão ativas.",
|
|
2071
2307
|
publishFailed: "Falha ao publicar",
|
|
2308
|
+
// objectui#3546 slice six — seedWarn reaproveita a tradução de
|
|
2309
|
+
// console.ai.seedWarn (mesma frase em inglês). Marcador "(s)" como em
|
|
2310
|
+
// home.pendingDrafts.message, da mesma família.
|
|
2311
|
+
nothing: "Nada para publicar.",
|
|
2312
|
+
probeWarn: "Publicado, mas a verificação encontrou problemas.",
|
|
2313
|
+
seedWarn: "Publicado, mas alguns dados de exemplo não puderam ser carregados.",
|
|
2314
|
+
publishedVerified: "Publicado e verificado — {{count}} linha(s) de exemplo ativa(s).",
|
|
2315
|
+
capabilityWarn: "Verificação de autoria: {{count}} referência(s) de capacidade não apontam para nada.",
|
|
2072
2316
|
},
|
|
2073
2317
|
title: "Início",
|
|
2074
2318
|
subtitle: "Painel do seu espaço de trabalho",
|
|
@@ -2082,7 +2326,7 @@ const pt = {
|
|
|
2082
2326
|
title: "Requer a sua atenção",
|
|
2083
2327
|
empty: "Está tudo em dia",
|
|
2084
2328
|
},
|
|
2085
|
-
loading: "Carregando espaço de trabalho
|
|
2329
|
+
loading: "Carregando espaço de trabalho…",
|
|
2086
2330
|
recent: "Recentes",
|
|
2087
2331
|
starred: "Favoritos",
|
|
2088
2332
|
welcome: "Bem-vindo ao ObjectUI",
|
|
@@ -2143,6 +2387,9 @@ const pt = {
|
|
|
2143
2387
|
roles: "Perfis",
|
|
2144
2388
|
configuration: "Configuração",
|
|
2145
2389
|
createApp: "Criar aplicativo",
|
|
2390
|
+
administration: "Administração",
|
|
2391
|
+
datasources: "Fontes de dados",
|
|
2392
|
+
documentation: "Documentação",
|
|
2146
2393
|
},
|
|
2147
2394
|
appSwitcher: {
|
|
2148
2395
|
switchApplication: "Trocar de aplicativo",
|
|
@@ -2182,7 +2429,7 @@ const pt = {
|
|
|
2182
2429
|
search: {
|
|
2183
2430
|
title: "Pesquisar",
|
|
2184
2431
|
back: "Voltar",
|
|
2185
|
-
placeholder: "Pesquisar objetos, painéis, páginas, relatórios
|
|
2432
|
+
placeholder: "Pesquisar objetos, painéis, páginas, relatórios…",
|
|
2186
2433
|
inputAriaLabel: "Pesquisar objetos, painéis, páginas, relatórios",
|
|
2187
2434
|
resultsCount: "{{count}} resultado para \"{{query}}\"",
|
|
2188
2435
|
resultsCountPlural: "{{count}} resultados para \"{{query}}\"",
|
|
@@ -2201,6 +2448,7 @@ const pt = {
|
|
|
2201
2448
|
empty: {
|
|
2202
2449
|
objectNotFound: "Objeto não encontrado",
|
|
2203
2450
|
objectNotFoundDescription: "A definição do objeto \"{{name}}\" está ausente. Verifique sua configuração ou navegue de volta.",
|
|
2451
|
+
interfacePageSourceMissing: "Esta página de interface faz referência a \"{{name}}\", que não está disponível.",
|
|
2204
2452
|
pageNotFound: "Página não encontrada",
|
|
2205
2453
|
pageNotFoundDescription: "A página \"{{name}}\" não foi encontrada. Ela pode ter sido removida ou renomeada.",
|
|
2206
2454
|
dashboardNotFound: "Painel não encontrado",
|
|
@@ -2209,6 +2457,11 @@ const pt = {
|
|
|
2209
2457
|
reportNotFoundDescription: "O relatório \"{{name}}\" não foi encontrado. Ele pode ter sido removido ou renomeado.",
|
|
2210
2458
|
noAppsConfigured: "Nenhum aplicativo configurado",
|
|
2211
2459
|
noAppsConfiguredDescription: "Nenhum aplicativo está registrado. Crie seu primeiro aplicativo ou visite as configurações do sistema.",
|
|
2460
|
+
appNotAvailable: "Aplicativo indisponível",
|
|
2461
|
+
appNotAvailableDescription: "Este aplicativo ainda não está disponível — a publicação pode estar em andamento. Tente novamente em instantes.",
|
|
2462
|
+
appAccessDenied: "Você não tem acesso a este aplicativo",
|
|
2463
|
+
appAccessDeniedDescription: "Este aplicativo existe, mas sua conta não tem autorização para abri-lo. Peça acesso a um administrador.",
|
|
2464
|
+
appAccessDeniedHome: "Voltar ao início",
|
|
2212
2465
|
createFirstApp: "Criar primeiro aplicativo",
|
|
2213
2466
|
systemSettings: "Configurações do sistema",
|
|
2214
2467
|
back: "Voltar",
|
|
@@ -2280,7 +2533,7 @@ const pt = {
|
|
|
2280
2533
|
deleteFailed: "Não foi possível excluir a exibição",
|
|
2281
2534
|
},
|
|
2282
2535
|
dashboardActions: {
|
|
2283
|
-
|
|
2536
|
+
printDialogOpening: "Abrindo a caixa de diálogo de impressão do navegador (não é uma exportação para PDF)",
|
|
2284
2537
|
exportFailed: "Falha na exportação: {{message}}",
|
|
2285
2538
|
forecastSoon: "A exibição de previsão está chegando em breve",
|
|
2286
2539
|
},
|
|
@@ -2324,111 +2577,7 @@ const pt = {
|
|
|
2324
2577
|
first: "Primeiro",
|
|
2325
2578
|
},
|
|
2326
2579
|
editor: {
|
|
2327
|
-
|
|
2328
|
-
basic: "Geral",
|
|
2329
|
-
title: "Título",
|
|
2330
|
-
titlePlaceholder: "ex.: Pipeline por trimestre",
|
|
2331
|
-
description: "Descrição",
|
|
2332
|
-
descriptionPlaceholder: "O que este relatório mostra?",
|
|
2333
|
-
type: "Tipo de relatório",
|
|
2334
|
-
typeTabular: "Tabular — lista plana",
|
|
2335
|
-
typeSummary: "Resumo — agrupado com totais",
|
|
2336
|
-
typeMatrix: "Matriz — pivô linhas × colunas",
|
|
2337
|
-
typeJoined: "Combinado — vários blocos",
|
|
2338
|
-
typeHelp: "Escolha o layout que corresponde ao que deseja ver.",
|
|
2339
|
-
data: "Dados",
|
|
2340
|
-
objectName: "Fonte de dados",
|
|
2341
|
-
objectNamePlaceholder: "ex.: opportunity",
|
|
2342
|
-
objectNameHelp: "Qual objeto este relatório deve consultar?",
|
|
2343
|
-
limit: "Limite de linhas",
|
|
2344
|
-
limitPlaceholder: "ex.: 100",
|
|
2345
|
-
columns: "Colunas",
|
|
2346
|
-
columnsHint: "Escolha quais campos aparecem como colunas. Adicione uma agregação (Soma, Contagem…) em relatórios de Resumo ou Matriz.",
|
|
2347
|
-
filters: "Filtros",
|
|
2348
|
-
filtersHint: "Restrinja as linhas incluídas neste relatório.",
|
|
2349
|
-
filtersComplex: "Este relatório usa um filtro avançado que não pode ser editado aqui. Ao salvar será mantido inalterado.",
|
|
2350
|
-
groupBy: "Agrupar por",
|
|
2351
|
-
groupByHint: "Agrupe os dados e calcule subtotais.",
|
|
2352
|
-
rows: "Linhas",
|
|
2353
|
-
rowsHint: "Agrupe linhas por estes campos.",
|
|
2354
|
-
columnsAxis: "Colunas",
|
|
2355
|
-
columnsAxisHint: "Pivote estes campos no topo.",
|
|
2356
|
-
values: "Valores",
|
|
2357
|
-
valuesHint: "Números exibidos em cada célula. Escolha um ou mais campos e adicione uma agregação (Soma, Contagem…).",
|
|
2358
|
-
grouping: "Agrupamento",
|
|
2359
|
-
addGrouping: "Adicionar agrupamento",
|
|
2360
|
-
dateGranularity: "Granularidade de data",
|
|
2361
|
-
dateGranularityNone: "(usar valor bruto)",
|
|
2362
|
-
day: "Dia",
|
|
2363
|
-
week: "Semana",
|
|
2364
|
-
month: "Mês",
|
|
2365
|
-
quarter: "Trimestre",
|
|
2366
|
-
year: "Ano",
|
|
2367
|
-
sortAsc: "Crescente",
|
|
2368
|
-
sortDesc: "Decrescente",
|
|
2369
|
-
chart: "Gráfico",
|
|
2370
|
-
chartHint: "Visualização opcional ao lado da tabela.",
|
|
2371
|
-
chartType: "Tipo de gráfico",
|
|
2372
|
-
chartTitle: "Título do gráfico",
|
|
2373
|
-
chartTitlePlaceholder: "Padrão: título do relatório",
|
|
2374
|
-
chartXAxis: "Eixo X (categoria)",
|
|
2375
|
-
chartYAxis: "Eixo Y (valor)",
|
|
2376
|
-
chartShowLegend: "Mostrar legenda",
|
|
2377
|
-
chartShowDataLabels: "Mostrar rótulos de dados",
|
|
2378
|
-
chartNone: "(sem gráfico)",
|
|
2379
|
-
chartBar: "Barras",
|
|
2380
|
-
chartLine: "Linhas",
|
|
2381
|
-
chartArea: "Áreas",
|
|
2382
|
-
chartPie: "Pizza",
|
|
2383
|
-
chartDonut: "Rosca",
|
|
2384
|
-
chartFunnel: "Funil",
|
|
2385
|
-
validationNeedsObject: "Escolha uma fonte de dados antes de adicionar colunas.",
|
|
2386
|
-
validationMatrixNeedsRowsCols: "Relatórios de matriz precisam de pelo menos uma Linha e uma Coluna.",
|
|
2387
|
-
validationSummaryNeedsRows: "Relatórios de resumo precisam de pelo menos um campo de agrupamento.",
|
|
2388
|
-
blocks: "Blocos",
|
|
2389
|
-
blocksHint: "Cada bloco é sua própria tabela ou gráfico. Filtros de bloco são combinados (E) com o filtro do relatório.",
|
|
2390
|
-
addBlock: "Adicionar bloco",
|
|
2391
|
-
removeBlock: "Remover bloco",
|
|
2392
|
-
blockName: "Nome do bloco",
|
|
2393
|
-
blockNamePlaceholder: "nome_unico_do_bloco",
|
|
2394
|
-
blockLabel: "Rótulo de exibição",
|
|
2395
|
-
blockLabelPlaceholder: "Exibido acima do bloco",
|
|
2396
|
-
blockDescription: "Descrição",
|
|
2397
|
-
blockDescriptionPlaceholder: "Contexto opcional para este bloco",
|
|
2398
|
-
validationJoinedNeedsBlocks: "Relatórios combinados precisam de pelo menos um bloco.",
|
|
2399
|
-
validationBlockNameRequired: "Cada bloco precisa de um nome não vazio.",
|
|
2400
|
-
validationBlockNameDuplicate: "Os nomes dos blocos devem ser únicos no relatório.",
|
|
2401
|
-
validationBlockNeedsColumns: "Cada bloco precisa de pelo menos uma coluna.",
|
|
2402
|
-
noneOption: "(nenhum)",
|
|
2403
|
-
addCondition: "Adicionar condição",
|
|
2404
|
-
combineLogic: "Combinar com",
|
|
2405
|
-
opContains: "contém",
|
|
2406
|
-
opIsEmpty: "está vazio",
|
|
2407
|
-
opIsNotEmpty: "não está vazio",
|
|
2408
|
-
formatAuto: "Automático",
|
|
2409
|
-
formatCurrency: "Moeda",
|
|
2410
|
-
formatPercent: "Porcentagem",
|
|
2411
|
-
formatInteger: "Inteiro",
|
|
2412
|
-
formatDate: "Data",
|
|
2413
|
-
formatDatetime: "Data e hora",
|
|
2414
|
-
columnLabelPlaceholder: "Substituir rótulo",
|
|
2415
|
-
aggregateColumn: "Agregação",
|
|
2416
|
-
formatColumn: "Formato",
|
|
2417
|
-
addColumns: "Adicionar colunas",
|
|
2418
|
-
searchFields: "Pesquisar campos…",
|
|
2419
|
-
noMatchingFields: "Nenhum campo corresponde à sua pesquisa.",
|
|
2420
|
-
noFieldsAvailable: "Nenhum campo disponível.",
|
|
2421
|
-
columnsCount: "{n} coluna(s) selecionada(s)",
|
|
2422
|
-
columnsEmpty: "Nenhuma coluna selecionada ainda.",
|
|
2423
|
-
fieldPickerTitle: "Selecionar campos",
|
|
2424
|
-
fieldPickerDescription: "Escolha um ou mais campos para adicionar. Use o campo de pesquisa para filtrar a lista.",
|
|
2425
|
-
fieldPickerChangeTitle: "Alterar campo",
|
|
2426
|
-
fieldPickerAddGroupingTitle: "Adicionar agrupamento",
|
|
2427
|
-
fieldPickerEmpty: "(Selecionar campo)",
|
|
2428
|
-
fieldPickerSelected: "{n} selecionado(s)",
|
|
2429
|
-
fieldPickerClear: "Limpar seleção",
|
|
2430
|
-
fieldPickerAdd: "Adicionar",
|
|
2431
|
-
fieldPickerAddN: "Adicionar {n}",
|
|
2580
|
+
panelTitle: "Editar relatório",
|
|
2432
2581
|
},
|
|
2433
2582
|
},
|
|
2434
2583
|
organizations: {
|
|
@@ -2445,6 +2594,140 @@ const pt = {
|
|
|
2445
2594
|
emptyDescription: "Crie sua primeira organização para começar.",
|
|
2446
2595
|
noMatches: "Nenhuma organização corresponde à sua pesquisa.",
|
|
2447
2596
|
},
|
|
2597
|
+
organization: {
|
|
2598
|
+
roles: {
|
|
2599
|
+
owner: 'Proprietário',
|
|
2600
|
+
admin: 'Administrador',
|
|
2601
|
+
delegatedAdmin: 'Administrador delegado',
|
|
2602
|
+
member: 'Membro',
|
|
2603
|
+
},
|
|
2604
|
+
errors: {
|
|
2605
|
+
notAllowedToInvite: 'Você não tem permissão para convidar usuários para esta organização.',
|
|
2606
|
+
notAllowedToInviteWithRole: 'Você não tem permissão para convidar um usuário com esta função.',
|
|
2607
|
+
alreadyInvited: 'Este usuário já foi convidado para esta organização.',
|
|
2608
|
+
organizationExists: 'Essa organização já existe.',
|
|
2609
|
+
slugTaken: 'Esse slug já está em uso.',
|
|
2610
|
+
notAllowedToCreate: 'Você não tem permissão para criar uma nova organização.',
|
|
2611
|
+
notTheRecipient: 'Você não é o destinatário deste convite.',
|
|
2612
|
+
invitationNotFound: 'Este convite não existe mais ou expirou.',
|
|
2613
|
+
unknown: 'Algo deu errado. Tente novamente.',
|
|
2614
|
+
},
|
|
2615
|
+
backToList: "Voltar para as organizações",
|
|
2616
|
+
notFound: "Organização não encontrada",
|
|
2617
|
+
notFoundDescription: "Esta organização não existe ou você não tem acesso.",
|
|
2618
|
+
tabs: {
|
|
2619
|
+
members: "Membros",
|
|
2620
|
+
invitations: "Convites",
|
|
2621
|
+
settings: "Configurações",
|
|
2622
|
+
},
|
|
2623
|
+
members: {
|
|
2624
|
+
title: "Membros",
|
|
2625
|
+
inviteMember: "Convidar membro",
|
|
2626
|
+
inviteRestrictedNote: "Apenas administradores da organização podem convidar membros.",
|
|
2627
|
+
removeMember: "Remover membro",
|
|
2628
|
+
removeConfirmTitle: "Remover membro?",
|
|
2629
|
+
removeConfirmDescription: "Isso removerá {{name}} da organização. O acesso será perdido imediatamente.",
|
|
2630
|
+
removeConfirmAction: "Remover",
|
|
2631
|
+
memberRemoved: "Membro removido",
|
|
2632
|
+
removeFailed: "Falha ao remover o membro",
|
|
2633
|
+
roleUpdated: "Função atualizada",
|
|
2634
|
+
roleUpdateFailed: "Falha ao atualizar a função",
|
|
2635
|
+
memberActions: 'Ações do membro',
|
|
2636
|
+
loadFailed: 'Falha ao carregar os membros',
|
|
2637
|
+
},
|
|
2638
|
+
invitations: {
|
|
2639
|
+
title: "Convites",
|
|
2640
|
+
empty: "Nenhum convite encontrado.",
|
|
2641
|
+
expiresAt: "Expira em",
|
|
2642
|
+
linkCopied: "Link do convite copiado",
|
|
2643
|
+
copyFailed: "Falha ao copiar o link",
|
|
2644
|
+
canceled: "Convite cancelado",
|
|
2645
|
+
cancelFailed: "Falha ao cancelar o convite",
|
|
2646
|
+
cancelTitle: "Cancelar convite?",
|
|
2647
|
+
cancelDescription: "O convite de {{email}} será revogado.",
|
|
2648
|
+
cancelAction: "Cancelar convite",
|
|
2649
|
+
inviteTitle: "Convidar um membro",
|
|
2650
|
+
inviteDescription: "A pessoa receberá um convite para entrar nesta organização.",
|
|
2651
|
+
emailLabel: "E-mail",
|
|
2652
|
+
roleLabel: "Função",
|
|
2653
|
+
placementLabel: "Alocação (opcional)",
|
|
2654
|
+
placementDescription: "Aplicada quando o convite for aceito. Somente as unidades e os cargos que você pode delegar são listados.",
|
|
2655
|
+
businessUnitLabel: "Unidade de negócio",
|
|
2656
|
+
businessUnitPlaceholder: "Sem alocação",
|
|
2657
|
+
positionsLabel: "Cargos",
|
|
2658
|
+
sendInvite: "Enviar convite",
|
|
2659
|
+
sentTitle: "Convite criado",
|
|
2660
|
+
sentDescription: "Compartilhe o link abaixo com a pessoa convidada. Ela precisará entrar para aceitar.",
|
|
2661
|
+
linkLabel: "Link de aceitação",
|
|
2662
|
+
invitedAs: "{{email}} convidado como {{role}}",
|
|
2663
|
+
copyLinkLabel: 'Copiar link do convite',
|
|
2664
|
+
loadFailed: 'Falha ao carregar os convites',
|
|
2665
|
+
inviteFailed: 'Falha ao convidar o membro',
|
|
2666
|
+
status: {
|
|
2667
|
+
all: "Todos",
|
|
2668
|
+
pending: "Pendente",
|
|
2669
|
+
accepted: "Aceito",
|
|
2670
|
+
rejected: "Recusado",
|
|
2671
|
+
canceled: "Cancelado",
|
|
2672
|
+
},
|
|
2673
|
+
},
|
|
2674
|
+
settings: {
|
|
2675
|
+
generalTitle: "Geral",
|
|
2676
|
+
generalDescription: "Atualize as informações da sua organização.",
|
|
2677
|
+
readOnlyNote: "Somente proprietários podem alterar as configurações.",
|
|
2678
|
+
nameLabel: "Nome da organização",
|
|
2679
|
+
slugLabel: "Slug",
|
|
2680
|
+
logoLabel: "Logo",
|
|
2681
|
+
logoUpload: "Enviar",
|
|
2682
|
+
logoReplace: "Substituir",
|
|
2683
|
+
logoClear: "Remover",
|
|
2684
|
+
logoUploaded: "Logo enviado — salve para aplicar",
|
|
2685
|
+
logoUploadFailed: "Falha ao enviar o logo",
|
|
2686
|
+
save: "Salvar alterações",
|
|
2687
|
+
saved: "Configurações salvas",
|
|
2688
|
+
saveFailed: "Falha ao salvar as configurações",
|
|
2689
|
+
leaveTitle: "Sair da organização",
|
|
2690
|
+
leaveDescription: "Você perderá o acesso a esta organização.",
|
|
2691
|
+
leaveAction: "Sair",
|
|
2692
|
+
leaveConfirmTitle: "Sair da organização?",
|
|
2693
|
+
leaveConfirmDescription: "Tem certeza de que deseja sair de {{name}}? Você perderá o acesso imediatamente.",
|
|
2694
|
+
leaveConfirmAction: "Sair",
|
|
2695
|
+
leftOrg: "Você saiu da organização",
|
|
2696
|
+
leaveFailed: "Falha ao sair da organização",
|
|
2697
|
+
dangerZone: "Zona de perigo",
|
|
2698
|
+
deleteTitle: "Excluir organização",
|
|
2699
|
+
deleteDescription: "Exclua permanentemente esta organização e todos os seus dados.",
|
|
2700
|
+
deleteAction: "Excluir",
|
|
2701
|
+
deleteConfirmTitle: "Excluir organização?",
|
|
2702
|
+
deleteConfirmDescription: "Esta ação é irreversível. Todos os dados serão excluídos permanentemente. Digite o slug da organização para confirmar.",
|
|
2703
|
+
deleteConfirmSlugLabel: "Digite \"{{slug}}\" para confirmar",
|
|
2704
|
+
deleteConfirmAction: "Excluir organização",
|
|
2705
|
+
deleted: "Organização excluída",
|
|
2706
|
+
deleteFailed: "Falha ao excluir a organização",
|
|
2707
|
+
},
|
|
2708
|
+
accept: {
|
|
2709
|
+
title: "Você foi convidado",
|
|
2710
|
+
description: "Você foi convidado para entrar em {{orgName}} como {{role}}.",
|
|
2711
|
+
errorTitle: "Convite indisponível",
|
|
2712
|
+
goToOrgs: "Ir para as organizações",
|
|
2713
|
+
loading: "Carregando o convite…",
|
|
2714
|
+
organization: "Organização",
|
|
2715
|
+
role: "Função",
|
|
2716
|
+
expiresAt: "Expira em",
|
|
2717
|
+
accept: "Aceitar convite",
|
|
2718
|
+
accepted: "Convite aceito",
|
|
2719
|
+
acceptFailed: "Falha ao aceitar o convite",
|
|
2720
|
+
decline: "Recusar",
|
|
2721
|
+
declined: "Convite recusado",
|
|
2722
|
+
declineFailed: "Falha ao recusar o convite",
|
|
2723
|
+
},
|
|
2724
|
+
switcher: {
|
|
2725
|
+
label: "Trocar de organização",
|
|
2726
|
+
groupLabel: "Organização de trabalho",
|
|
2727
|
+
groupHint: "Novos registros são criados aqui. As exibições mostram dados de todas as suas organizações.",
|
|
2728
|
+
manageMembers: "Gerenciar membros",
|
|
2729
|
+
},
|
|
2730
|
+
},
|
|
2448
2731
|
notifications: {
|
|
2449
2732
|
regionLabel: "Notificações",
|
|
2450
2733
|
groupCount: "{{count}} notificações",
|
|
@@ -2458,6 +2741,9 @@ const pt = {
|
|
|
2458
2741
|
viewApprovals: "Ver aprovações",
|
|
2459
2742
|
noPendingApprovals: "Sem aprovações pendentes",
|
|
2460
2743
|
openApprovalsInbox: "Abrir caixa de aprovações",
|
|
2744
|
+
badgeTotal: "{{total}} no total",
|
|
2745
|
+
badgeNotifications: "{{unread}} notificações",
|
|
2746
|
+
badgeApprovals: "{{approvals}} aprovações pendentes",
|
|
2461
2747
|
emptyUnread: "Tudo lido",
|
|
2462
2748
|
filterUnread: "Não lidos",
|
|
2463
2749
|
filterAll: "Todos",
|
|
@@ -2744,6 +3030,7 @@ const pt = {
|
|
|
2744
3030
|
dismiss: "Fechar",
|
|
2745
3031
|
openOnCloud: "Abrir na nuvem",
|
|
2746
3032
|
backHome: "Voltar ao início",
|
|
3033
|
+
updateTo: "Atualizar",
|
|
2747
3034
|
},
|
|
2748
3035
|
install: {
|
|
2749
3036
|
dialogTitle: "Instalar {{name}}",
|
|
@@ -2760,6 +3047,37 @@ const pt = {
|
|
|
2760
3047
|
localManifestConflict: "{{message}}\nNota: Um aplicativo local já possui este manifest_id. Remova-o primeiro de objectstack.config.ts.",
|
|
2761
3048
|
localUnauthorized: "Faça login neste runtime primeiro.",
|
|
2762
3049
|
localMarketplaceUnavailable: "Este runtime não tem OS_CLOUD_URL configurado.",
|
|
3050
|
+
updateTo: "Atualizar → v{{version}}",
|
|
3051
|
+
installedVersion: "Instalado v{{version}}",
|
|
3052
|
+
},
|
|
3053
|
+
// objectui#3546 — the MarketplacePage "Your organization" strip.
|
|
3054
|
+
org: {
|
|
3055
|
+
heading: "Sua organização",
|
|
3056
|
+
install: "Instalar",
|
|
3057
|
+
installed: "{{name}} instalado",
|
|
3058
|
+
installedBadge: "Instalado",
|
|
3059
|
+
installing: "Instalando…",
|
|
3060
|
+
},
|
|
3061
|
+
// ADR-0025 PD4 §3.5/§3.11 — the pre-install consent panel
|
|
3062
|
+
// (PluginDisclosure.tsx). `runtime` is a CLOSED enum: spec
|
|
3063
|
+
// PluginRuntimeSchema = z.enum(['node', 'sandbox', 'worker']).
|
|
3064
|
+
disclosure: {
|
|
3065
|
+
containsCode: "Este pacote contém código",
|
|
3066
|
+
reviewed: "Revisado e aprovado",
|
|
3067
|
+
unreviewed: "Ainda não revisado",
|
|
3068
|
+
signed: "Assinado",
|
|
3069
|
+
grantsIntro: "Na instalação, este pacote receberá:",
|
|
3070
|
+
services: "Serviços da plataforma",
|
|
3071
|
+
hooks: "Hooks de ciclo de vida",
|
|
3072
|
+
network: "Acesso à rede",
|
|
3073
|
+
fs: "Acesso ao sistema de arquivos",
|
|
3074
|
+
noPermissions: "Não solicita permissões especiais.",
|
|
3075
|
+
acknowledge: "Entendo que este pacote executa código e recebe as permissões acima.",
|
|
3076
|
+
runtime: {
|
|
3077
|
+
node: "No processo · confiança total",
|
|
3078
|
+
sandbox: "Em sandbox",
|
|
3079
|
+
worker: "Fora do processo",
|
|
3080
|
+
},
|
|
2763
3081
|
},
|
|
2764
3082
|
uninstall: {
|
|
2765
3083
|
confirm: "Desinstalar {{manifestId}} v{{version}} deste runtime?\n\nO manifesto em cache será removido.",
|
|
@@ -3009,6 +3327,34 @@ const pt = {
|
|
|
3009
3327
|
confirmNote: 'Publicar libera atomicamente todos os {{count}} rascunhos pendentes deste pacote.',
|
|
3010
3328
|
publishConfirm: 'Publicar tudo',
|
|
3011
3329
|
},
|
|
3330
|
+
// ADR-0045 — the materialized-but-unlisted app banner
|
|
3331
|
+
// (UnpublishedAppBar.tsx), sibling of draftBar above.
|
|
3332
|
+
unpublishedBar: {
|
|
3333
|
+
message: 'App não publicado — totalmente funcional, mas somente os criadores o veem. Publique-o para que seus usuários o vejam.',
|
|
3334
|
+
publish: 'Publicar',
|
|
3335
|
+
publishing: 'Publicando…',
|
|
3336
|
+
published: 'Publicado! O app já está visível para seus usuários.',
|
|
3337
|
+
publishFailed: 'Falha ao publicar',
|
|
3338
|
+
},
|
|
3339
|
+
// ADR-0067 — the append-only build/revert timeline (CommitTimeline.tsx);
|
|
3340
|
+
// `button` is the banner's entry point into it.
|
|
3341
|
+
history: {
|
|
3342
|
+
button: 'Histórico',
|
|
3343
|
+
title: 'Histórico de compilações',
|
|
3344
|
+
description: 'Todas as alterações deste app, as mais recentes primeiro. Desfaça qualquer etapa para revertê-la — não é necessário confirmar a publicação.',
|
|
3345
|
+
loadFailed: 'Não foi possível carregar o histórico:',
|
|
3346
|
+
loadFailedUnavailable: 'Armazenamento de commits temporariamente inacessível — esta leitura não aconteceu, portanto nenhum histórico é exibido. Tente novamente em instantes.',
|
|
3347
|
+
loading: 'Carregando histórico…',
|
|
3348
|
+
empty: 'Ainda não há histórico para este app.',
|
|
3349
|
+
revertLabel: 'Uma alteração foi desfeita',
|
|
3350
|
+
applyLabel: 'Alteração de compilação',
|
|
3351
|
+
revert: 'desfazer',
|
|
3352
|
+
items: 'itens',
|
|
3353
|
+
revertAction: 'Desfazer',
|
|
3354
|
+
reverted: 'Desfeito — a alteração foi revertida.',
|
|
3355
|
+
revertFailed: 'Falha ao desfazer',
|
|
3356
|
+
revertUnavailable: 'Armazenamento de commits temporariamente inacessível — a reversão pode não ter sido aplicada. Reabra este histórico para verificar antes de tentar novamente.',
|
|
3357
|
+
},
|
|
3012
3358
|
},
|
|
3013
3359
|
filterBuilder: {
|
|
3014
3360
|
where: "Onde",
|
|
@@ -3087,5 +3433,57 @@ const pt = {
|
|
|
3087
3433
|
statusIdle: "inativo",
|
|
3088
3434
|
statusAway: "ausente",
|
|
3089
3435
|
},
|
|
3436
|
+
wizard: {
|
|
3437
|
+
missingRequired: "Preencha os campos obrigatórios: {{fields}}",
|
|
3438
|
+
},
|
|
3439
|
+
appManagement: {
|
|
3440
|
+
title: "Aplicativos",
|
|
3441
|
+
subtitle: "Gerencie todos os aplicativos configurados",
|
|
3442
|
+
newApp: "Novo aplicativo",
|
|
3443
|
+
searchLabel: "Pesquisar aplicativos",
|
|
3444
|
+
searchPlaceholder: "Pesquisar aplicativos…",
|
|
3445
|
+
selectedCount: "{{n}} selecionados",
|
|
3446
|
+
bulkEnable: "Habilitar",
|
|
3447
|
+
bulkDisable: "Desabilitar",
|
|
3448
|
+
selectAll: "Selecionar tudo ({{n}})",
|
|
3449
|
+
empty: "Nenhum aplicativo encontrado.",
|
|
3450
|
+
defaultBadge: "Padrão",
|
|
3451
|
+
active: "Ativo",
|
|
3452
|
+
inactive: "Inativo",
|
|
3453
|
+
selectApp: "Selecionar {{name}}",
|
|
3454
|
+
openApp: "Abrir aplicativo",
|
|
3455
|
+
openAppNamed: "Abrir {{name}}",
|
|
3456
|
+
editApp: "Editar aplicativo",
|
|
3457
|
+
editAppNamed: "Editar {{name}}",
|
|
3458
|
+
editWithAi: "Editar com IA",
|
|
3459
|
+
editWithAiNamed: "Editar {{name}} com IA",
|
|
3460
|
+
enableApp: "Habilitar aplicativo",
|
|
3461
|
+
disableApp: "Desabilitar aplicativo",
|
|
3462
|
+
enableAppNamed: "Habilitar {{name}}",
|
|
3463
|
+
disableAppNamed: "Desabilitar {{name}}",
|
|
3464
|
+
setDefault: "Definir como padrão",
|
|
3465
|
+
setDefaultNamed: "Definir {{name}} como padrão",
|
|
3466
|
+
deleteApp: "Excluir aplicativo",
|
|
3467
|
+
deleteAppNamed: "Excluir {{name}}",
|
|
3468
|
+
confirmDelete: "Clique novamente para confirmar a exclusão",
|
|
3469
|
+
confirmDeleteNamed: "Confirmar a exclusão de {{name}}",
|
|
3470
|
+
toast: {
|
|
3471
|
+
noClient: "Não é possível acessar o serviço de metadados",
|
|
3472
|
+
unknownError: "erro desconhecido",
|
|
3473
|
+
appEnabled: "{{name}} habilitado",
|
|
3474
|
+
appDisabled: "{{name}} desabilitado",
|
|
3475
|
+
toggleFailed: "Falha ao alterar o status do aplicativo: {{reason}}",
|
|
3476
|
+
setDefaultDone: "{{name}} definido como padrão",
|
|
3477
|
+
setDefaultFailed: "Falha ao definir o aplicativo padrão: {{reason}}",
|
|
3478
|
+
appDeleted: "{{name}} excluído",
|
|
3479
|
+
deleteFailed: "Falha ao excluir o aplicativo: {{reason}}",
|
|
3480
|
+
bulkEnabled: "{{n}} aplicativos habilitados",
|
|
3481
|
+
bulkDisabled: "{{n}} aplicativos desabilitados",
|
|
3482
|
+
bulkFailed: "Falha em {{n}}: {{details}}",
|
|
3483
|
+
bulkFailureEntry: "{{name}} ({{reason}})",
|
|
3484
|
+
bulkFailureJoiner: "; ",
|
|
3485
|
+
bulkOperationFailed: "Falha na operação em massa: {{reason}}",
|
|
3486
|
+
},
|
|
3487
|
+
},
|
|
3090
3488
|
};
|
|
3091
3489
|
export default pt;
|