@object-ui/i18n 17.6.0 → 17.7.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 +4320 -0
- package/README.md +192 -13
- package/dist/builtinAggregateLabels.d.ts +40 -0
- package/dist/builtinAggregateLabels.js +23 -0
- package/dist/currency.d.ts +27 -3
- package/dist/currency.js +28 -4
- package/dist/fallbackInterpolation.d.ts +79 -0
- package/dist/fallbackInterpolation.js +124 -0
- package/dist/i18n.d.ts +27 -1
- package/dist/i18n.js +99 -16
- package/dist/index.d.ts +7 -13
- package/dist/index.js +41 -17
- package/dist/locales/ar.d.ts +946 -113
- package/dist/locales/ar.js +1095 -161
- package/dist/locales/de.d.ts +618 -113
- package/dist/locales/de.js +715 -134
- package/dist/locales/en.d.ts +632 -127
- package/dist/locales/en.js +1044 -162
- package/dist/locales/es.d.ts +700 -113
- package/dist/locales/es.js +794 -130
- package/dist/locales/fr.d.ts +700 -113
- package/dist/locales/fr.js +795 -132
- package/dist/locales/index.d.ts +6990 -1169
- package/dist/locales/index.js +48 -9
- package/dist/locales/ja.d.ts +618 -113
- package/dist/locales/ja.js +708 -128
- package/dist/locales/ko.d.ts +618 -113
- package/dist/locales/ko.js +712 -132
- package/dist/locales/pt.d.ts +700 -113
- package/dist/locales/pt.js +794 -130
- package/dist/locales/registry.d.ts +102 -0
- package/dist/locales/registry.js +220 -0
- package/dist/locales/rtl.d.ts +24 -0
- package/dist/locales/rtl.js +26 -0
- package/dist/locales/ru.d.ts +782 -113
- package/dist/locales/ru.js +910 -152
- package/dist/locales/zh.d.ts +635 -130
- package/dist/locales/zh.js +725 -131
- package/dist/pickLocalized.d.ts +30 -0
- package/dist/pickLocalized.js +39 -0
- package/dist/provider.d.ts +101 -12
- package/dist/provider.js +335 -50
- package/dist/translateFn.d.ts +29 -0
- package/dist/translateFn.js +8 -0
- package/dist/useDisplayLocale.d.ts +11 -0
- package/dist/useDisplayLocale.js +11 -0
- package/dist/useObjectLabel.d.ts +40 -18
- package/dist/useObjectLabel.js +46 -14
- package/dist/useSafeTranslation.js +40 -42
- package/dist/utils/formatting.d.ts +16 -0
- package/dist/utils/formatting.js +23 -3
- package/dist/utils/spec-formatters.d.ts +13 -23
- package/dist/utils/spec-formatters.js +41 -2
- package/dist/utils/spec-translations.d.ts +16 -3
- package/dist/utils/spec-translations.js +52 -13
- package/package.json +12 -6
package/dist/locales/pt.js
CHANGED
|
@@ -19,10 +19,12 @@ const pt = {
|
|
|
19
19
|
manage_users: "Gerenciar usuários",
|
|
20
20
|
manage_org_users: "Gerenciar usuários da organização",
|
|
21
21
|
manage_metadata: "Gerenciar metadados",
|
|
22
|
+
manage_org_presentation: "Gerenciar a apresentação da organização",
|
|
22
23
|
manage_platform_settings: "Gerenciar configurações da plataforma",
|
|
23
24
|
setup_access: "Acesso à configuração",
|
|
24
25
|
setup_write: "Gravação de configurações",
|
|
25
26
|
studio_access: "Acesso ao Studio",
|
|
27
|
+
manage_sharing: "Gerenciar compartilhamento",
|
|
26
28
|
},
|
|
27
29
|
group: {
|
|
28
30
|
platform: 'Plataforma',
|
|
@@ -38,12 +40,20 @@ const pt = {
|
|
|
38
40
|
more: "+{{count}} mais",
|
|
39
41
|
objects: "{{count}} objetos",
|
|
40
42
|
objects_one: "{{count}} objeto",
|
|
43
|
+
objects_many: "{{count}} de objetos",
|
|
44
|
+
objects_other: "{{count}} objetos",
|
|
41
45
|
fields: "{{count}} regras de campo",
|
|
42
46
|
fields_one: "{{count}} regra de campo",
|
|
47
|
+
fields_many: "{{count}} de regras de campo",
|
|
48
|
+
fields_other: "{{count}} regras de campo",
|
|
43
49
|
rls: "{{count}} políticas RLS",
|
|
44
50
|
rls_one: "{{count}} política RLS",
|
|
51
|
+
rls_many: "{{count}} de políticas RLS",
|
|
52
|
+
rls_other: "{{count}} políticas RLS",
|
|
45
53
|
tabs: "{{count}} regras de aba",
|
|
46
54
|
tabs_one: "{{count}} regra de aba",
|
|
55
|
+
tabs_many: "{{count}} de regras de aba",
|
|
56
|
+
tabs_other: "{{count}} regras de aba",
|
|
47
57
|
adminScope: "Administração delegada configurada",
|
|
48
58
|
designInStudio: "Projetar no Studio →",
|
|
49
59
|
designInStudioHint: "Projetar no Studio",
|
|
@@ -62,7 +72,9 @@ const pt = {
|
|
|
62
72
|
selectFirst: 'Selecione primeiro {{fields}}',
|
|
63
73
|
selectRecord: 'Selecionar registro',
|
|
64
74
|
recordCount: '{{count}} registros',
|
|
65
|
-
|
|
75
|
+
recordCount_one: '{{count}} registro',
|
|
76
|
+
recordCount_many: '{{count}} de registros',
|
|
77
|
+
recordCount_other: '{{count}} registros',
|
|
66
78
|
pageOf: 'Página {{current}} de {{total}}',
|
|
67
79
|
filters: 'Filtros',
|
|
68
80
|
clear: 'Limpar',
|
|
@@ -115,7 +127,9 @@ const pt = {
|
|
|
115
127
|
closePanel: "Fechar painel",
|
|
116
128
|
resizeDrawer: "Redimensionar painel",
|
|
117
129
|
itemCount: "{{count}} itens",
|
|
118
|
-
|
|
130
|
+
itemCount_one: "{{count}} item",
|
|
131
|
+
itemCount_many: "{{count}} de itens",
|
|
132
|
+
itemCount_other: "{{count}} itens",
|
|
119
133
|
toggleSidebar: "Alternar barra lateral",
|
|
120
134
|
package: "Pacote",
|
|
121
135
|
done: "Concluído",
|
|
@@ -123,6 +137,16 @@ const pt = {
|
|
|
123
137
|
record: "Registro",
|
|
124
138
|
retry: "Tentar novamente",
|
|
125
139
|
printDialogHint: "Abre a caixa de diálogo de impressão do navegador (não é uma exportação para PDF)",
|
|
140
|
+
// The non-grid row ceiling's footnote (objectui#7210). Two keys because
|
|
141
|
+
// there are two conditions: a reported `total` states the fact with BOTH
|
|
142
|
+
// numbers, a missing one cannot name how many. Kept terse deliberately —
|
|
143
|
+
// this copy is eagerly loaded, and since objectui#7399 these bytes are
|
|
144
|
+
// budgeted by the `i18n-locales` chunk, not `framework`. ⛔ That ceiling's
|
|
145
|
+
// headroom is deliberately NOT restated here — it moves on every
|
|
146
|
+
// re-baseline, and the figure that was here went stale.
|
|
147
|
+
// `pnpm check:eager-closure` prints it.
|
|
148
|
+
rowCeilingNote: "Mostrando os primeiros {{shown}} de {{total}} registros. Restrinja o filtro.",
|
|
149
|
+
rowCeilingNoteUnknownTotal: "Mostrando os primeiros {{shown}} registros. Restrinja o filtro.",
|
|
126
150
|
},
|
|
127
151
|
actions: {
|
|
128
152
|
decisionOutput: {
|
|
@@ -134,6 +158,14 @@ const pt = {
|
|
|
134
158
|
acknowledge: 'Eu o salvei',
|
|
135
159
|
copyAll: 'Copiar tudo',
|
|
136
160
|
},
|
|
161
|
+
notAvailableHere: '"{{action}}" não está disponível na página atual.',
|
|
162
|
+
completedSuccessfully: 'A ação foi concluída com sucesso',
|
|
163
|
+
failed: 'A ação falhou',
|
|
164
|
+
parallelFailed: 'Uma ou mais ações paralelas falharam',
|
|
165
|
+
undo: 'Desfazer',
|
|
166
|
+
undone: 'Alteração desfeita',
|
|
167
|
+
undoneOperation: 'Desfazer: {{description}}',
|
|
168
|
+
redoneOperation: 'Refazer: {{description}}',
|
|
137
169
|
},
|
|
138
170
|
validation: {
|
|
139
171
|
required: "{{field}} é obrigatório",
|
|
@@ -151,19 +183,45 @@ const pt = {
|
|
|
151
183
|
},
|
|
152
184
|
form: {
|
|
153
185
|
noPermissionToSave: "Você não tem permissão para salvar este registro.",
|
|
186
|
+
noPermissionToCreate: "Você não tem permissão para criar registros de {{object}}. Os campos são somente leitura.",
|
|
187
|
+
noPermissionToEdit: "Você não tem permissão para editar registros de {{object}}. Os campos são somente leitura.",
|
|
154
188
|
submitFailed: "Não foi possível salvar. Tente novamente.",
|
|
189
|
+
uploadInFlight: "Aguarde a conclusão do upload antes de salvar.",
|
|
190
|
+
clearedOnHide: "O que não se aplica mais aos valores atuais foi limpo: {{fields}}",
|
|
191
|
+
visibleWhenFaulted: "Não é possível enviar: não foi possível avaliar a regra visibleWhen de {{fields}}. A regra precisa ser corrigida antes que este formulário possa ser enviado.",
|
|
155
192
|
discardTitle: "Descartar as alterações?",
|
|
156
193
|
discardMessage: "Você tem alterações não salvas. Se fechar este formulário agora, suas edições serão perdidas.",
|
|
157
194
|
// objectui#4024 — the create/edit dialog's `sr-only` accessible
|
|
158
195
|
// description, used when the form declares no `description` of its own.
|
|
159
196
|
dialogDescriptionFallback: "Preencha os campos do formulário e depois envie ou cancele.",
|
|
197
|
+
deniedDescription: "Você não tem permissão para editar este campo.",
|
|
198
|
+
masterDetail: {
|
|
199
|
+
loadingColumns: "Carregando colunas…",
|
|
200
|
+
subtotal: "Subtotal",
|
|
201
|
+
tax: "Imposto ({{rate}}%)",
|
|
202
|
+
total: "Total",
|
|
203
|
+
lineItem: "Item de linha",
|
|
204
|
+
rowTitle: "{{title}} — linha {{row}}",
|
|
205
|
+
applyRow: "Aplicar",
|
|
206
|
+
editorDescription: "Preencha o registro e seus itens de linha e depois salve.",
|
|
207
|
+
noChildObject: "Esta coleção não tem nenhum objeto filho configurado: defina {{property}} como o objeto cujas linhas ela lista.",
|
|
208
|
+
schemaUnavailable: "Não foi possível carregar o esquema de {{object}}, portanto esta coleção não tem colunas para mostrar. Verifique se o objeto existe e pode ser lido e depois recarregue.",
|
|
209
|
+
noRelationshipField: "Não foi possível determinar como {{object}} se vincula a {{parent}}: nenhum campo lookup ou master_detail dele faz referência ao pai. Defina {{property}} nesta coleção como o campo que contém o registro pai.",
|
|
210
|
+
},
|
|
211
|
+
lineItems: {
|
|
212
|
+
title: "Itens de linha",
|
|
213
|
+
saveRecordFirst: "Salve o registro primeiro para adicionar itens de linha.",
|
|
214
|
+
notLoaded: "Os itens de linha deste registro não foram carregados.",
|
|
215
|
+
loadFailed: "Falha ao carregar os itens de linha",
|
|
216
|
+
saveFailed: "Falha ao salvar os itens de linha",
|
|
217
|
+
noChildObject: "Este painel não tem nenhum objeto filho configurado: defina {{property}} como o objeto cujas linhas ele lista.",
|
|
218
|
+
},
|
|
160
219
|
keepEditing: "Continuar editando",
|
|
161
220
|
discard: "Descartar",
|
|
162
221
|
conflictTitle: "Conflito ao salvar",
|
|
163
222
|
conflictMessage: "Outra pessoa alterou este registro enquanto você editava. Sobrescrever substituirá as alterações dela pelas suas.",
|
|
164
223
|
conflictLatestVersion: "Salvamento dela: {{time}}",
|
|
165
224
|
conflictOverwrite: "Sobrescrever",
|
|
166
|
-
addItem: "Adicionar item",
|
|
167
225
|
removeItem: "Remover item",
|
|
168
226
|
fieldRequired: "Este campo é obrigatório",
|
|
169
227
|
invalidFormat: "Formato inválido",
|
|
@@ -181,6 +239,12 @@ const pt = {
|
|
|
181
239
|
createSuccess: "{{object}} criado",
|
|
182
240
|
updateSuccess: "{{object}} atualizado",
|
|
183
241
|
deleteSuccess: "{{object}} excluído",
|
|
242
|
+
created: "Criado",
|
|
243
|
+
saved: "Salvo",
|
|
244
|
+
savedNamed: "{{title}} salvo",
|
|
245
|
+
submitted: "Enviado",
|
|
246
|
+
errorLoading: "Erro ao carregar formulário",
|
|
247
|
+
navigateRefused: "O destino `navigateOnSuccess` declarado para este formulário foi recusado, então a navegação não aconteceu.",
|
|
184
248
|
fullscreen: {
|
|
185
249
|
title: "Editar texto",
|
|
186
250
|
description: "Edite o valor de texto completo e depois salve ou cancele as alterações.",
|
|
@@ -205,6 +269,9 @@ const pt = {
|
|
|
205
269
|
},
|
|
206
270
|
relativeDate: {
|
|
207
271
|
overdue: "Atrasado {{count}} d",
|
|
272
|
+
overdue_one: "Atrasado {{count}} d",
|
|
273
|
+
overdue_many: "Atrasado {{count}} d",
|
|
274
|
+
overdue_other: "Atrasado {{count}} d",
|
|
208
275
|
},
|
|
209
276
|
file: {
|
|
210
277
|
dragDropHere: 'Arraste e solte arquivos aqui',
|
|
@@ -221,6 +288,7 @@ const pt = {
|
|
|
221
288
|
remove: 'Remover {{name}}',
|
|
222
289
|
exceedsMaxSize: '"{{name}}" excede o tamanho máximo ({{max}} MB)',
|
|
223
290
|
uploadFailed: 'Falha ao enviar "{{name}}": {{error}}',
|
|
291
|
+
uploadIncomplete: 'O envio de "{{name}}" não foi concluído: nenhum ID de arquivo foi retornado, então nada foi salvo',
|
|
224
292
|
},
|
|
225
293
|
richText: {
|
|
226
294
|
format: "Formato: {{format}}",
|
|
@@ -248,6 +316,9 @@ const pt = {
|
|
|
248
316
|
selectBusinessUnit: "Selecionar uma unidade de negócio",
|
|
249
317
|
selectPosition: "Selecionar um cargo",
|
|
250
318
|
selectUnitAndSubordinates: "Selecionar uma unidade de negócio",
|
|
319
|
+
selectField: "Selecionar um campo de usuário",
|
|
320
|
+
noUserFields: "Este objeto não tem campos de usuário",
|
|
321
|
+
fieldNotUserTyped: "{{name}} — não é um campo de usuário",
|
|
251
322
|
},
|
|
252
323
|
filterCondition: {
|
|
253
324
|
selectObjectFirst: "Selecione primeiro um objeto.",
|
|
@@ -258,6 +329,26 @@ const pt = {
|
|
|
258
329
|
editAsJson: "Editar como JSON",
|
|
259
330
|
useVisualBuilder: "Usar o construtor visual",
|
|
260
331
|
},
|
|
332
|
+
object: {
|
|
333
|
+
invalidJson: "JSON inválido",
|
|
334
|
+
},
|
|
335
|
+
location: {
|
|
336
|
+
refusedFormat: "Não salvo: informe um par latitude, longitude (exemplo: 30.2741, 120.1551).",
|
|
337
|
+
refusedRange: "Não salvo: {{detail}}",
|
|
338
|
+
latitude: "latitude",
|
|
339
|
+
longitude: "longitude",
|
|
340
|
+
refusedResidueOne: "Não salvo: {{name}} “{{text}}” não é um número. Informe decimais simples (exemplo: 30.2741, 120.1551).",
|
|
341
|
+
refusedResidue: "Não salvo: {{name}} “{{text}}” e {{otherName}} “{{otherText}}” não são números. Informe decimais simples (exemplo: 30.2741, 120.1551).",
|
|
342
|
+
},
|
|
343
|
+
date: {
|
|
344
|
+
impossibleDay: "O valor salvo “{{value}}” não é uma data real. Escolha uma data para substituí-lo.",
|
|
345
|
+
},
|
|
346
|
+
dateTime: {
|
|
347
|
+
impossibleDay: "O valor salvo “{{value}}” não é uma data real. Escolha uma data e uma hora para substituí-lo.",
|
|
348
|
+
},
|
|
349
|
+
number: {
|
|
350
|
+
badInput: "Não salvo: o texto deste campo não é um número. Informe um decimal simples (exemplo: {{example}}).",
|
|
351
|
+
},
|
|
261
352
|
tags: {
|
|
262
353
|
placeholder: "Digite e pressione Enter para adicionar…",
|
|
263
354
|
},
|
|
@@ -273,6 +364,16 @@ const pt = {
|
|
|
273
364
|
characterCount: "Contagem de caracteres: {{count}} de {{max}}",
|
|
274
365
|
charactersRemaining: "Caracteres restantes: {{count}}",
|
|
275
366
|
},
|
|
367
|
+
grid: {
|
|
368
|
+
addLine: "Adicionar linha",
|
|
369
|
+
noItems: "Nenhum item",
|
|
370
|
+
noItemsAddHint: "Ainda não há itens — clique em “{{label}}” para começar.",
|
|
371
|
+
optionalColumns: "Colunas opcionais",
|
|
372
|
+
computed: "Calculado",
|
|
373
|
+
openRow: "Abrir linha",
|
|
374
|
+
duplicateRow: "Duplicar linha",
|
|
375
|
+
removeRow: "Remover linha",
|
|
376
|
+
},
|
|
276
377
|
},
|
|
277
378
|
table: {
|
|
278
379
|
rowsPerPage: "Linhas por página",
|
|
@@ -301,23 +402,41 @@ const pt = {
|
|
|
301
402
|
open: "Abrir",
|
|
302
403
|
search: "Pesquisar…",
|
|
303
404
|
modified: "{{count}} linha(s) modificada(s)",
|
|
405
|
+
modified_one: "{{count}} linha modificada",
|
|
406
|
+
modified_many: "{{count}} de linhas modificadas",
|
|
407
|
+
modified_other: "{{count}} linhas modificadas",
|
|
304
408
|
saveFailed: 'Falha ao salvar',
|
|
305
409
|
selected: "{{count}} selecionado(s)",
|
|
410
|
+
selected_one: "{{count}} selecionado",
|
|
411
|
+
selected_many: "{{count}} selecionados",
|
|
412
|
+
selected_other: "{{count}} selecionados",
|
|
306
413
|
edit: "Editar",
|
|
307
414
|
delete: "Excluir",
|
|
308
415
|
},
|
|
309
416
|
grid: {
|
|
310
417
|
bulkSelected: "{{count}} selecionados",
|
|
418
|
+
bulkSelected_one: "{{count}} selecionado",
|
|
419
|
+
bulkSelected_many: "{{count}} selecionados",
|
|
420
|
+
bulkSelected_other: "{{count}} selecionados",
|
|
311
421
|
bulkSelectedAllMatches: "{{count}} selecionados (todas as correspondências)",
|
|
312
422
|
bulkClear: "Limpar seleção",
|
|
313
423
|
bulkAllOnPage: "Os {{count}} desta página estão selecionados.",
|
|
424
|
+
bulkAllOnPage_one: "{{count}} registro desta página está selecionado.",
|
|
425
|
+
bulkAllOnPage_many: "Os {{count}} desta página estão selecionados.",
|
|
426
|
+
bulkAllOnPage_other: "Os {{count}} desta página estão selecionados.",
|
|
314
427
|
bulkSelectAllMatching: "Selecionar todas as {{count}} correspondências",
|
|
315
428
|
bulkAllMatchingSelected: "Todos os {{count}} registros correspondentes estão selecionados.",
|
|
316
429
|
bulk: {
|
|
317
430
|
confirmDefault: "Isto será aplicado a {{count}} registro(s).",
|
|
431
|
+
confirmDefault_one: "Isto será aplicado a {{count}} registro.",
|
|
432
|
+
confirmDefault_many: "Isto será aplicado a {{count}} de registros.",
|
|
433
|
+
confirmDefault_other: "Isto será aplicado a {{count}} registros.",
|
|
318
434
|
overLimit: "A seleção ({{count}}) excede o limite da ação ({{limit}}). Reduza a seleção para prosseguir.",
|
|
319
435
|
affectedRecords: "Registros afetados ({{count}}):",
|
|
320
436
|
skippedIneligible: '{{count}} dos registros selecionados não são elegíveis para esta ação e serão ignorados.',
|
|
437
|
+
skippedIneligible_one: '{{count}} dos registros selecionados não é elegível para esta ação e será ignorado.',
|
|
438
|
+
skippedIneligible_many: '{{count}} dos registros selecionados não são elegíveis para esta ação e serão ignorados.',
|
|
439
|
+
skippedIneligible_other: '{{count}} dos registros selecionados não são elegíveis para esta ação e serão ignorados.',
|
|
321
440
|
rowFallback: "Linha {{index}}",
|
|
322
441
|
andMore: "… e mais {{count}}",
|
|
323
442
|
processed: "{{count}} / {{total}} processados",
|
|
@@ -335,7 +454,6 @@ const pt = {
|
|
|
335
454
|
undo: "Desfazer",
|
|
336
455
|
undoing: "Desfazendo…",
|
|
337
456
|
done: "Concluído",
|
|
338
|
-
selectPlaceholder: "Selecionar…",
|
|
339
457
|
loading: "Carregando…",
|
|
340
458
|
},
|
|
341
459
|
actions: "Ações",
|
|
@@ -354,6 +472,14 @@ const pt = {
|
|
|
354
472
|
yes: "Sim",
|
|
355
473
|
no: "Não",
|
|
356
474
|
systemFields: "Sistema",
|
|
475
|
+
// objectui#10881 — the grouped grid's two refusals: over a data source
|
|
476
|
+
// that cannot answer the group header query, and over rows a host
|
|
477
|
+
// handed in while declaring them one page of more. `queryGroupHeaders`
|
|
478
|
+
// is the member's name and stays untranslated.
|
|
479
|
+
grouping: {
|
|
480
|
+
needsHeaderQuery: "Esta visão está agrupada, mas sua fonte de dados não implementa queryGroupHeaders, portanto os grupos não podem ser contados. Remova o agrupamento para mostrar os registros.",
|
|
481
|
+
needsWholeRows: "O agrupamento precisa de todos os registros, mas esta grade recebeu apenas uma página deles, portanto os grupos não podem ser contados. Entregue todos os registros ou deixe a grade buscá-los em uma fonte de dados que implemente queryGroupHeaders.",
|
|
482
|
+
},
|
|
357
483
|
// objectui#4024 — column-footer aggregate prefixes, keyed by the spec's
|
|
358
484
|
// `ColumnSummary` vocabulary. `pattern` owns the label/value join so this
|
|
359
485
|
// pack controls its own separator and word order.
|
|
@@ -380,10 +506,15 @@ const pt = {
|
|
|
380
506
|
},
|
|
381
507
|
import: {
|
|
382
508
|
downloadTemplate: "Baixar modelo",
|
|
383
|
-
downloadTemplateHint: "Obtenha um
|
|
509
|
+
downloadTemplateHint: "Obtenha um arquivo Excel com as colunas que você pode importar (campos obrigatórios marcados com *) e instruções de preenchimento.",
|
|
384
510
|
templateFileName: "{{object}}-import-template",
|
|
511
|
+
templateDownloadFailed: "Não foi possível baixar o modelo. Tente novamente.",
|
|
512
|
+
templateNotPermitted: "Você não tem permissão para criar registros deste objeto, portanto o modelo de importação não está disponível.",
|
|
385
513
|
autoMatched: "Correspondência automática",
|
|
386
514
|
autoMatchedSummary: "{{count}} coluna(s) com correspondência automática — revise e ajuste abaixo.",
|
|
515
|
+
autoMatchedSummary_one: "{{count}} coluna com correspondência automática — revise e ajuste abaixo.",
|
|
516
|
+
autoMatchedSummary_many: "{{count}} de colunas com correspondência automática — revise e ajuste abaixo.",
|
|
517
|
+
autoMatchedSummary_other: "{{count}} colunas com correspondência automática — revise e ajuste abaixo.",
|
|
387
518
|
confidence: {
|
|
388
519
|
high: "Confiança alta",
|
|
389
520
|
medium: "Confiança média",
|
|
@@ -396,8 +527,17 @@ const pt = {
|
|
|
396
527
|
cancelImport: "Cancelar a importação",
|
|
397
528
|
importCancelled: "Importação cancelada",
|
|
398
529
|
resultsTruncated: "Mostrando os primeiros {{count}} resultados de linhas (de {{total}}).",
|
|
530
|
+
resultsTruncated_one: "Mostrando o primeiro resultado de linha ({{count}} de {{total}}).",
|
|
531
|
+
resultsTruncated_many: "Mostrando os primeiros {{count}} resultados de linhas (de {{total}}).",
|
|
532
|
+
resultsTruncated_other: "Mostrando os primeiros {{count}} resultados de linhas (de {{total}}).",
|
|
399
533
|
createdCount: "{{count}} criados",
|
|
534
|
+
createdCount_one: "{{count}} criado",
|
|
535
|
+
createdCount_many: "{{count}} criados",
|
|
536
|
+
createdCount_other: "{{count}} criados",
|
|
400
537
|
updatedCount: "{{count}} atualizados",
|
|
538
|
+
updatedCount_one: "{{count}} atualizado",
|
|
539
|
+
updatedCount_many: "{{count}} atualizados",
|
|
540
|
+
updatedCount_other: "{{count}} atualizados",
|
|
401
541
|
downloadFailed: "Baixar as linhas com falha",
|
|
402
542
|
options: "Opções de importação",
|
|
403
543
|
writeMode: "Quando uma linha corresponde a um registro existente",
|
|
@@ -445,6 +585,9 @@ const pt = {
|
|
|
445
585
|
historyColResult: "Resultado",
|
|
446
586
|
historyColTime: "Quando",
|
|
447
587
|
errorCount: "{{count}} erros",
|
|
588
|
+
errorCount_one: "{{count}} erro",
|
|
589
|
+
errorCount_many: "{{count}} de erros",
|
|
590
|
+
errorCount_other: "{{count}} erros",
|
|
448
591
|
undoImport: "Desfazer a importação",
|
|
449
592
|
undoing: "Desfazendo…",
|
|
450
593
|
undoConfirm: "Desfazer esta importação? Os registros criados serão excluídos e os registros atualizados voltarão aos valores anteriores.",
|
|
@@ -505,7 +648,13 @@ const pt = {
|
|
|
505
648
|
mapped: "Mapeado",
|
|
506
649
|
skipped: "Pulado",
|
|
507
650
|
rowsWithErrors: "{{count}} linha(s) com erros",
|
|
651
|
+
rowsWithErrors_one: "{{count}} linha com erros",
|
|
652
|
+
rowsWithErrors_many: "{{count}} de linhas com erros",
|
|
653
|
+
rowsWithErrors_other: "{{count}} linhas com erros",
|
|
508
654
|
rowsCorrected: "{{count}} linha(s) corrigida(s)",
|
|
655
|
+
rowsCorrected_one: "{{count}} linha corrigida",
|
|
656
|
+
rowsCorrected_many: "{{count}} de linhas corrigidas",
|
|
657
|
+
rowsCorrected_other: "{{count}} linhas corrigidas",
|
|
509
658
|
clickToFix: "— clique em uma célula destacada para editar em linha.",
|
|
510
659
|
showingRows: "Mostrando {{shown}} de {{total}} linhas",
|
|
511
660
|
importing: "Importando… {{progress}}%",
|
|
@@ -513,11 +662,17 @@ const pt = {
|
|
|
513
662
|
imported: "{{count}} importado(s)",
|
|
514
663
|
skippedCount: "{{count}} pulado(s)",
|
|
515
664
|
moreErrors: "…e {{count}} erro(s) a mais",
|
|
665
|
+
moreErrors_one: "…e {{count}} erro a mais",
|
|
666
|
+
moreErrors_many: "…e {{count}} de erros a mais",
|
|
667
|
+
moreErrors_other: "…e {{count}} erros a mais",
|
|
516
668
|
cancel: "Cancelar",
|
|
517
669
|
back: "Voltar",
|
|
518
670
|
next: "Próximo",
|
|
519
671
|
close: "Fechar",
|
|
520
672
|
importNRows: "Importar {{count}} linhas",
|
|
673
|
+
importNRows_one: "Importar {{count}} linha",
|
|
674
|
+
importNRows_many: "Importar {{count}} de linhas",
|
|
675
|
+
importNRows_other: "Importar {{count}} linhas",
|
|
521
676
|
importingProgress: "Importando…",
|
|
522
677
|
requiredMark: "*",
|
|
523
678
|
required: "Obrigatório",
|
|
@@ -529,11 +684,38 @@ const pt = {
|
|
|
529
684
|
month: "Mês",
|
|
530
685
|
week: "Semana",
|
|
531
686
|
day: "Dia",
|
|
532
|
-
agenda: "Agenda",
|
|
533
687
|
allDay: "Dia inteiro",
|
|
534
|
-
noEvents: "Sem eventos",
|
|
535
688
|
newEvent: "Novo evento",
|
|
536
689
|
moreEvents: "+{{count}} mais",
|
|
690
|
+
unscheduled: "Sem agendamento ({{count}})",
|
|
691
|
+
loading: "Carregando calendário…",
|
|
692
|
+
loadError: "Erro: {{message}}",
|
|
693
|
+
configRequired: "Configuração do calendário necessária. Informe startDateField, a única chave obrigatória do calendário; o título do evento é resolvido sem titleField.",
|
|
694
|
+
configRequiredHint: "Ela pertence ao bloco calendar da visão. Uma página de interface não tem espaço de calendário próprio: aponte o sourceView dela para uma visão que declare um.",
|
|
695
|
+
eventDetails: "Detalhes do evento",
|
|
696
|
+
pullToRefresh: "Puxe para atualizar",
|
|
697
|
+
refreshing: "Atualizando…",
|
|
698
|
+
onDate: "Em {{date}}",
|
|
699
|
+
eventTitle: "Título",
|
|
700
|
+
eventTitlePlaceholder: "Sobre o que é este evento?",
|
|
701
|
+
creating: "Criando…",
|
|
702
|
+
titleRequired: "O título é obrigatório",
|
|
703
|
+
a11y: {
|
|
704
|
+
region: "Calendário",
|
|
705
|
+
grid: "Grade do calendário",
|
|
706
|
+
goToToday: "Ir para hoje",
|
|
707
|
+
previousPeriod: "Período anterior",
|
|
708
|
+
nextPeriod: "Período seguinte",
|
|
709
|
+
currentDate: "Data atual: {{date}}",
|
|
710
|
+
dayCell: "{{date}}, {{count}} eventos",
|
|
711
|
+
dayCell_one: "{{date}}, {{count}} evento",
|
|
712
|
+
dayCell_many: "{{date}}, {{count}} de eventos",
|
|
713
|
+
dayCell_other: "{{date}}, {{count}} eventos",
|
|
714
|
+
resizeEventEnd: "Alterar o fim do evento",
|
|
715
|
+
resizeEventEndHint: "Arraste para alterar a data de término",
|
|
716
|
+
resizeStart: "Alterar o início",
|
|
717
|
+
resizeEnd: "Alterar o fim",
|
|
718
|
+
},
|
|
537
719
|
},
|
|
538
720
|
list: {
|
|
539
721
|
firstRunTitle: "Ainda não há nada aqui",
|
|
@@ -576,7 +758,9 @@ const pt = {
|
|
|
576
758
|
refresh: "Atualizar",
|
|
577
759
|
loading: "Carregando registros…",
|
|
578
760
|
recordCount: "{{count}} registros",
|
|
579
|
-
|
|
761
|
+
recordCount_one: "{{count}} registro",
|
|
762
|
+
recordCount_many: "{{count}} de registros",
|
|
763
|
+
recordCount_other: "{{count}} registros",
|
|
580
764
|
addRecord: "Adicionar registro",
|
|
581
765
|
tabs: "Abas",
|
|
582
766
|
allRecords: "Todos os registros",
|
|
@@ -608,7 +792,7 @@ const pt = {
|
|
|
608
792
|
hideFieldsTitle: "Ocultar campos",
|
|
609
793
|
dataLimitReached: "Os primeiros {{limit}} registros estão sendo exibidos. Pode haver mais dados disponíveis.",
|
|
610
794
|
viewSettings: "Configurações de exibição",
|
|
611
|
-
viewSettingsHint: "Agrupamento, cor, densidade e campos visíveis.",
|
|
795
|
+
viewSettingsHint: "Agrupamento, cor, densidade e campos visíveis. Aplica-se a todos os usuários desta exibição.",
|
|
612
796
|
addGroup: "Adicionar campo de grupo",
|
|
613
797
|
collapsedByDefault: "Recolhido por padrão",
|
|
614
798
|
removeGroup: "Remover",
|
|
@@ -673,6 +857,17 @@ const pt = {
|
|
|
673
857
|
},
|
|
674
858
|
gantt: {
|
|
675
859
|
rowLabel: "Itens",
|
|
860
|
+
unusableRange: {
|
|
861
|
+
malformedDate: "Intervalo de datas do gantt inutilizável: {{path}} é {{value}}, que não é uma data válida. Todas as datas do gantt têm de ser analisáveis: startDate e endDate de cada item de linha, além de qualquer minDate / maxDate fixado no esquema.",
|
|
862
|
+
malformedRow: "Linhas do gantt inutilizáveis: {{path}} é {{value}}, que não tem a forma de uma linha. Um gantt lê items como uma lista de linhas, cada linha como um objeto com label e os seus próprios items, e os items de cada linha como uma lista de barras; um null, um número, uma cadeia ou um objeto simples em qualquer dessas posições não pode ser desenhado.",
|
|
863
|
+
inverted: "Intervalo de datas do gantt inutilizável: minDate {{minDate}} é posterior a maxDate {{maxDate}}. Um minDate / maxDate fixado prevalece sobre o intervalo calculado a partir das linhas, pelo que este eixo não tem colunas e nenhuma barra pode ser colocada; troque os dois valores.",
|
|
864
|
+
},
|
|
865
|
+
},
|
|
866
|
+
unsupported: {
|
|
867
|
+
objectBoundGantt: "Variante \"gantt\" não suportada: uma linha do tempo vinculada a um objeto renderiza as variantes de feed ({{variants}}). O gantt precisa de linhas literais, cada uma com os seus próprios items aninhados, por isso o eixo gantt (scale) não tem efeito aqui.",
|
|
868
|
+
},
|
|
869
|
+
unconfigured: {
|
|
870
|
+
noDateAxis: "Eixo de datas da linha do tempo necessário: esta vista não declara nenhum campo de data e uma linha do tempo vinculada a um objeto não inventa nenhum. Declare um de: {{fields}}. O primeiro é a grafia da spec; os restantes são aliases legados.",
|
|
676
871
|
},
|
|
677
872
|
},
|
|
678
873
|
gantt: {
|
|
@@ -690,6 +885,7 @@ const pt = {
|
|
|
690
885
|
},
|
|
691
886
|
aria: {
|
|
692
887
|
taskList: "Lista de tarefas",
|
|
888
|
+
refreshing: "Atualizando…",
|
|
693
889
|
},
|
|
694
890
|
tooltip: {
|
|
695
891
|
days: "d",
|
|
@@ -735,13 +931,22 @@ const pt = {
|
|
|
735
931
|
conflict: {
|
|
736
932
|
title: "Conflito de agendamento",
|
|
737
933
|
body: "Esta movimentação conflita com as restrições de dependência. Reagendar automaticamente {{count}} tarefa(s) afetada(s)?",
|
|
934
|
+
body_one: "Esta movimentação conflita com as restrições de dependência. Reagendar automaticamente {{count}} tarefa afetada?",
|
|
935
|
+
body_many: "Esta movimentação conflita com as restrições de dependência. Reagendar automaticamente {{count}} de tarefas afetadas?",
|
|
936
|
+
body_other: "Esta movimentação conflita com as restrições de dependência. Reagendar automaticamente {{count}} tarefas afetadas?",
|
|
738
937
|
confirm: "Reagendar automaticamente",
|
|
739
938
|
cancel: "Manter como está",
|
|
740
939
|
},
|
|
741
940
|
autoScheduleDlg: {
|
|
742
941
|
title: "Agendamento automático",
|
|
743
942
|
body: "Adiar {{count}} tarefa(s) para atender aos vínculos de dependência?",
|
|
943
|
+
body_one: "Adiar {{count}} tarefa para atender aos vínculos de dependência?",
|
|
944
|
+
body_many: "Adiar {{count}} de tarefas para atender aos vínculos de dependência?",
|
|
945
|
+
body_other: "Adiar {{count}} tarefas para atender aos vínculos de dependência?",
|
|
744
946
|
skipped: "{{count}} tarefa(s) bloqueada(s) também violam os vínculos e foram ignoradas.",
|
|
947
|
+
skipped_one: "{{count}} tarefa bloqueada também viola os vínculos e foi ignorada.",
|
|
948
|
+
skipped_many: "{{count}} de tarefas bloqueadas também violam os vínculos e foram ignoradas.",
|
|
949
|
+
skipped_other: "{{count}} tarefas bloqueadas também violam os vínculos e foram ignoradas.",
|
|
745
950
|
confirm: "Aplicar",
|
|
746
951
|
cancel: "Cancelar",
|
|
747
952
|
none: "Todas as dependências foram atendidas — nada a reagendar.",
|
|
@@ -820,6 +1025,7 @@ const pt = {
|
|
|
820
1025
|
tabActionsFor: "Ações de exibição para {{name}}",
|
|
821
1026
|
readonlyAriaLabel: "Exibição somente leitura",
|
|
822
1027
|
readonlyTooltip: "Exibição do sistema — definida no código, somente leitura.",
|
|
1028
|
+
malformedFilter: "O filtro desta exibição é inválido, por isso nenhum registro é exibido: a condição {{subject}} não pode ser aplicada.",
|
|
823
1029
|
},
|
|
824
1030
|
designer: {
|
|
825
1031
|
undo: "Desfazer",
|
|
@@ -847,7 +1053,9 @@ const pt = {
|
|
|
847
1053
|
pageHeaderActions: "Ações do cabeçalho da página",
|
|
848
1054
|
emojiPicker: "Seletor de emojis",
|
|
849
1055
|
reactionCount: "{{emoji}} {{count}} reações",
|
|
850
|
-
|
|
1056
|
+
reactionCount_one: "{{emoji}} {{count}} reação",
|
|
1057
|
+
reactionCount_many: "{{emoji}} {{count}} de reações",
|
|
1058
|
+
reactionCount_other: "{{emoji}} {{count}} reações",
|
|
851
1059
|
recordDetail: "Detalhe do registro",
|
|
852
1060
|
recordDetailWithLabel: "Detalhe de {{label}}",
|
|
853
1061
|
openAsFullPage: "Abrir como página inteira",
|
|
@@ -874,7 +1082,6 @@ const pt = {
|
|
|
874
1082
|
viewAll: "Ver tudo",
|
|
875
1083
|
new: "Novo",
|
|
876
1084
|
add: "Adicionar",
|
|
877
|
-
emptyValue: "—",
|
|
878
1085
|
comments: "Comentários",
|
|
879
1086
|
searchComments: "Pesquisar comentários…",
|
|
880
1087
|
addCommentPlaceholder: "Adicionar comentário… (Ctrl+Enter para enviar)",
|
|
@@ -885,11 +1092,22 @@ const pt = {
|
|
|
885
1092
|
unpin: "Desfixar",
|
|
886
1093
|
justNow: "agora mesmo",
|
|
887
1094
|
minutesAgo: "há {{count}} min",
|
|
1095
|
+
minutesAgo_one: "há {{count}} min",
|
|
1096
|
+
minutesAgo_many: "há {{count}} min",
|
|
1097
|
+
minutesAgo_other: "há {{count}} min",
|
|
888
1098
|
hoursAgo: "há {{count}} h",
|
|
1099
|
+
hoursAgo_one: "há {{count}} h",
|
|
1100
|
+
hoursAgo_many: "há {{count}} h",
|
|
1101
|
+
hoursAgo_other: "há {{count}} h",
|
|
889
1102
|
daysAgo: "há {{count}} d",
|
|
1103
|
+
daysAgo_one: "há {{count}} d",
|
|
1104
|
+
daysAgo_many: "há {{count}} d",
|
|
1105
|
+
daysAgo_other: "há {{count}} d",
|
|
890
1106
|
dropFilesToUpload: "Arraste arquivos aqui ou clique para enviar",
|
|
891
1107
|
attachmentCount: "{{count}} anexo",
|
|
892
|
-
|
|
1108
|
+
attachmentCount_one: "{{count}} anexo",
|
|
1109
|
+
attachmentCount_many: "{{count}} de anexos",
|
|
1110
|
+
attachmentCount_other: "{{count}} anexos",
|
|
893
1111
|
removeAttachment: "Remover anexo",
|
|
894
1112
|
// Record Attachments panel (enable.files, objectstack#4358)
|
|
895
1113
|
attachments: "Anexos",
|
|
@@ -907,11 +1125,6 @@ const pt = {
|
|
|
907
1125
|
attachmentsLoadFailed: "Não foi possível carregar os anexos deste registro.",
|
|
908
1126
|
attachmentsApiUnavailable: "A lista de anexos não está disponível neste objeto.",
|
|
909
1127
|
retryLoadAttachments: "Tentar novamente",
|
|
910
|
-
unifiedDiff: "Visualização unificada",
|
|
911
|
-
sideBySideDiff: "Visualização lado a lado",
|
|
912
|
-
noChanges: "Sem alterações",
|
|
913
|
-
previousVersion: "Anterior",
|
|
914
|
-
currentVersion: "Atual",
|
|
915
1128
|
discussion: "Discussão",
|
|
916
1129
|
showDiscussion: "Mostrar discussão ({{count}})",
|
|
917
1130
|
hideDiscussion: "Ocultar discussão",
|
|
@@ -926,25 +1139,36 @@ const pt = {
|
|
|
926
1139
|
writeComment: "Escreva um comentário…",
|
|
927
1140
|
subscribedTooltip: "Inscrito — clique para cancelar inscrição",
|
|
928
1141
|
unsubscribedTooltip: "Inscrever-se para notificações",
|
|
929
|
-
firstRecord: "Primeiro registro (Home)",
|
|
930
|
-
previousRecordKey: "Registro anterior (←)",
|
|
931
|
-
nextRecordKey: "Próximo registro (→)",
|
|
932
|
-
lastRecord: "Último registro (End)",
|
|
933
1142
|
noRecords: "Sem registros",
|
|
934
|
-
searchWhileNavigating: "Pesquisar durante a navegação",
|
|
935
|
-
searchRecords: "Pesquisar registros…",
|
|
936
1143
|
allActivity: "Toda atividade",
|
|
937
1144
|
commentsOnly: "Apenas comentários",
|
|
938
1145
|
fieldChangesFilter: "Alterações de campo",
|
|
939
1146
|
tasksOnly: "Apenas tarefas",
|
|
940
1147
|
leaveCommentPlaceholder: "Deixar um comentário… (Ctrl+Enter para enviar)",
|
|
941
1148
|
noActivity: "Nenhuma atividade registrada",
|
|
1149
|
+
activityAccessDenied: "Você não tem permissão para ver a atividade deste registro.",
|
|
1150
|
+
commentsAccessDenied: "Você não tem permissão para ver os comentários deste registro.",
|
|
1151
|
+
// objectui#7149 — the rest of `ActivityTimeline`. The four chip labels the
|
|
1152
|
+
// `detail.*` pack did not already name, and the `formatFieldChange`
|
|
1153
|
+
// sentences, which are assembled in code and so need interpolation holes.
|
|
1154
|
+
allFilter: 'Tudo',
|
|
1155
|
+
createsFilter: 'Criações',
|
|
1156
|
+
deletesFilter: 'Exclusões',
|
|
1157
|
+
statusChangesFilter: 'Alterações de status',
|
|
1158
|
+
activityEmptyValue: '(vazio)',
|
|
1159
|
+
activityFieldChanged: 'Alterou {{field}} de "{{old}}" para "{{new}}"',
|
|
1160
|
+
activityCreated: 'Criou este registro',
|
|
1161
|
+
activityDeleted: 'Excluiu este registro',
|
|
1162
|
+
activityStatusChanged: 'Alterou o status para "{{value}}"',
|
|
1163
|
+
activityUpdated: 'Atualizou o registro',
|
|
942
1164
|
loadMore: "Carregar mais",
|
|
943
1165
|
edited: "(editado)",
|
|
944
1166
|
via: "via {{source}}",
|
|
945
1167
|
viewSource: "Ver origem",
|
|
946
1168
|
replyCount: "{{count}} resposta",
|
|
947
|
-
|
|
1169
|
+
replyCount_one: "{{count}} resposta",
|
|
1170
|
+
replyCount_many: "{{count}} de respostas",
|
|
1171
|
+
replyCount_other: "{{count}} respostas",
|
|
948
1172
|
replyPlaceholder: "Responder…",
|
|
949
1173
|
filterActivity: "Filtrar atividade",
|
|
950
1174
|
openDiscussion: "Abrir painel de discussão",
|
|
@@ -959,6 +1183,7 @@ const pt = {
|
|
|
959
1183
|
writeStrippedReadonly: "Somente leitura, portanto não foi aplicado: {{fields}}",
|
|
960
1184
|
writeStrippedByState: "Não editável no estado atual deste registro, portanto não foi aplicado: {{fields}}",
|
|
961
1185
|
writeStrippedPrimaryKey: "O identificador do registro não pode ser alterado ao salvar, portanto não foi aplicado: {{fields}}",
|
|
1186
|
+
writeStrippedComputed: "Calculado pelo servidor a partir de uma fórmula, portanto o valor enviado não foi aplicado: {{fields}}",
|
|
962
1187
|
writeStrippedUnknownReason: "Não aplicado pelo servidor: {{fields}}",
|
|
963
1188
|
approvalPendingEditable: "Em aprovação · editável",
|
|
964
1189
|
approvalPendingTooltip: "Este registro tem uma solicitação de aprovação pendente; esta etapa ainda permite a edição",
|
|
@@ -980,6 +1205,8 @@ const pt = {
|
|
|
980
1205
|
pathStageLostUpcoming: '{{stage}}, perdida, não alcançada',
|
|
981
1206
|
pathStageWonUpcoming: '{{stage}}, etapa objetivo, não alcançada',
|
|
982
1207
|
linkCopied: "Link copiado para a área de transferência",
|
|
1208
|
+
commentFailed: "Seu comentário não foi publicado. Nada foi salvo — tente novamente.",
|
|
1209
|
+
reactionFailed: "Sua reação não foi salva. Tente novamente.",
|
|
983
1210
|
linkCopyFailed: "Falha ao copiar o link",
|
|
984
1211
|
cancel: "Cancelar",
|
|
985
1212
|
cancelEdit: "Descartar alterações",
|
|
@@ -1009,37 +1236,67 @@ const pt = {
|
|
|
1009
1236
|
sortBy: "Ordenar por",
|
|
1010
1237
|
filterPlaceholder: "Filtrar…",
|
|
1011
1238
|
highlightFields: "Campos principais",
|
|
1239
|
+
highlightsLabel: "Campos principais do registro",
|
|
1012
1240
|
createdBy: "Criado por",
|
|
1013
1241
|
updatedBy: "Atualizado por",
|
|
1014
|
-
// objectui#3863 — base key
|
|
1015
|
-
//
|
|
1242
|
+
// objectui#3863 — base key, answering only a call made without a count. pt's
|
|
1243
|
+
// `many` (exact millions) has its own slot since objectui#11432; it repeats
|
|
1244
|
+
// `_other` here because the count governs no noun complement.
|
|
1016
1245
|
showEmptyRelated: "+ {{count}} vazios",
|
|
1017
1246
|
showEmptyRelated_one: "+ {{count}} vazio",
|
|
1247
|
+
showEmptyRelated_many: "+ {{count}} vazios",
|
|
1018
1248
|
showEmptyRelated_other: "+ {{count}} vazios",
|
|
1019
1249
|
copyEmail: "Copiar e-mail",
|
|
1020
1250
|
copyPhone: "Copiar telefone",
|
|
1021
1251
|
copyRecordId: "Copiar ID do registro",
|
|
1022
1252
|
showEmptyFields: "Mostrar {{count}} campos vazios",
|
|
1253
|
+
showEmptyFields_one: "Mostrar {{count}} campo vazio",
|
|
1254
|
+
showEmptyFields_many: "Mostrar {{count}} de campos vazios",
|
|
1255
|
+
showEmptyFields_other: "Mostrar {{count}} campos vazios",
|
|
1023
1256
|
hideEmptyFields: "Ocultar campos vazios",
|
|
1024
1257
|
noValue: "Sem valor",
|
|
1258
|
+
unresolvedReference: "Referência não resolvida: {{value}} não foi resolvida como um usuário",
|
|
1259
|
+
unresolvedLookupReference: "Referência não resolvida: {{value}} não foi resolvida como um registro nesta tela",
|
|
1260
|
+
repeaterItemCount: "{{count}} itens",
|
|
1261
|
+
repeaterItemCount_one: "{{count}} item",
|
|
1262
|
+
repeaterItemCount_many: "{{count}} de itens",
|
|
1263
|
+
repeaterItemCount_other: "{{count}} itens",
|
|
1264
|
+
fileCount: "{{count}} arquivos",
|
|
1265
|
+
fileCount_one: "{{count}} arquivo",
|
|
1266
|
+
fileCount_many: "{{count}} de arquivos",
|
|
1267
|
+
fileCount_other: "{{count}} arquivos",
|
|
1025
1268
|
},
|
|
1026
1269
|
chart: {
|
|
1027
|
-
noData: "Nenhum dado de gráfico disponível",
|
|
1028
1270
|
loading: "Carregando gráfico…",
|
|
1271
|
+
refreshing: "Atualizando…",
|
|
1029
1272
|
nullCategory: "(Não especificado)",
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
markersCount: "{{count}} marcadores",
|
|
1035
|
-
invalidCoordinates: "{{count}} registro com coordenadas ausentes ou inválidas excluído do mapa.",
|
|
1036
|
-
invalidCoordinatesPlural: "{{count}} registros com coordenadas ausentes ou inválidas excluídos do mapa.",
|
|
1273
|
+
scatterOneMeasure: "Um gráfico de dispersão traça uma única medida. Mantenha apenas uma série:",
|
|
1274
|
+
unconfigured: {
|
|
1275
|
+
noCategoryAxis: "Eixo de categorias do gráfico obrigatório — um gráfico vinculado a um objeto não o inventa. Declare um destes:",
|
|
1276
|
+
},
|
|
1037
1277
|
},
|
|
1038
1278
|
dashboard: {
|
|
1039
|
-
|
|
1279
|
+
// objectui#7063 — the DEFAULT empty state every dashboard widget renders
|
|
1280
|
+
// when its query SUCCEEDED and returned nothing. It replaced the terse
|
|
1281
|
+
// per-widget `noRows` / `noDataAvailable` fragments at the render site;
|
|
1282
|
+
// objectui#7125 deleted those two keys from all ten packs once nothing
|
|
1283
|
+
// read them. The copy here has to read as a state rather than a failure,
|
|
1284
|
+
// which is why it says the widget loaded. `sourceLabel` carries its own
|
|
1285
|
+
// punctuation so the call site concatenates no separator (see
|
|
1286
|
+
// `WidgetEmptyState`).
|
|
1287
|
+
empty: {
|
|
1288
|
+
title: "Ainda sem dados",
|
|
1289
|
+
message: "Este widget foi carregado com sucesso, mas a consulta ainda não retornou nenhum registro.",
|
|
1290
|
+
sourceLabel: "Fonte de dados:",
|
|
1291
|
+
},
|
|
1040
1292
|
loading: "Carregando…",
|
|
1293
|
+
refreshing: "Atualizando…",
|
|
1294
|
+
refreshAll: "Atualizar tudo",
|
|
1295
|
+
refreshDashboard: "Atualizar painel",
|
|
1041
1296
|
pickMeasures: "Escolha medidas (valores) para este widget de dataset.",
|
|
1042
1297
|
datasetUnsupported: "Esta fonte de dados não oferece suporte a consultas de dataset.",
|
|
1298
|
+
widgetForbiddenTitle: "Sem acesso",
|
|
1299
|
+
widgetForbiddenMessage: "Você não tem permissão para ver os dados deste widget.",
|
|
1043
1300
|
details: "Detalhes",
|
|
1044
1301
|
exportCsv: "Exportar CSV",
|
|
1045
1302
|
openInList: "Abrir na lista",
|
|
@@ -1067,12 +1324,10 @@ const pt = {
|
|
|
1067
1324
|
},
|
|
1068
1325
|
},
|
|
1069
1326
|
addWidget: "Adicionar widget",
|
|
1070
|
-
removeWidget: "Remover widget",
|
|
1071
1327
|
editLayout: "Editar layout",
|
|
1072
1328
|
saveLayout: "Salvar layout",
|
|
1073
1329
|
resetLayout: "Redefinir layout",
|
|
1074
1330
|
total: "Total",
|
|
1075
|
-
noDataAvailable: "Sem dados disponíveis",
|
|
1076
1331
|
noDataSourceFor: "Sem fonte de dados para",
|
|
1077
1332
|
config: {
|
|
1078
1333
|
breadcrumb: {
|
|
@@ -1194,10 +1449,6 @@ const pt = {
|
|
|
1194
1449
|
appDescription: "Descrição",
|
|
1195
1450
|
appIcon: "Ícone",
|
|
1196
1451
|
template: "Modelo",
|
|
1197
|
-
layout: "Layout",
|
|
1198
|
-
layoutSidebar: "Barra lateral",
|
|
1199
|
-
layoutHeader: "Cabeçalho",
|
|
1200
|
-
layoutEmpty: "Vazio",
|
|
1201
1452
|
selectObjects: "Selecionar objetos",
|
|
1202
1453
|
searchObjects: "Pesquisar objetos…",
|
|
1203
1454
|
selectAll: "Selecionar todos",
|
|
@@ -1206,7 +1457,6 @@ const pt = {
|
|
|
1206
1457
|
addGroup: "Adicionar grupo",
|
|
1207
1458
|
addUrl: "Adicionar URL",
|
|
1208
1459
|
addSeparator: "Adicionar separador",
|
|
1209
|
-
noNavItems: "Nenhum item de navegação ainda.",
|
|
1210
1460
|
logoUrl: "Logo URL",
|
|
1211
1461
|
primaryColor: "Cor primária",
|
|
1212
1462
|
faviconUrl: "Favicon URL",
|
|
@@ -1233,13 +1483,12 @@ const pt = {
|
|
|
1233
1483
|
appearance: "Aparência",
|
|
1234
1484
|
rowHeight: "Altura da linha",
|
|
1235
1485
|
livePreview: "Pré-visualização em tempo real",
|
|
1236
|
-
stepBasicDesc: "Nome, título e
|
|
1486
|
+
stepBasicDesc: "Nome, título e ícone",
|
|
1237
1487
|
stepObjectsDesc: "Selecionar objetos de negócio",
|
|
1238
1488
|
stepNavigationDesc: "Construir árvore de navegação",
|
|
1239
1489
|
stepBrandingDesc: "Logo, cores e favicon",
|
|
1240
1490
|
noObjectsFound: "Nenhum objeto encontrado.",
|
|
1241
1491
|
noNavItemsHint: "Sem itens de navegação. Selecione objetos na etapa anterior ou adicione manualmente.",
|
|
1242
|
-
separator: "Separador",
|
|
1243
1492
|
separatorLabel: "— Separador —",
|
|
1244
1493
|
newGroup: "Novo grupo",
|
|
1245
1494
|
newLink: "Novo link",
|
|
@@ -1273,6 +1522,7 @@ const pt = {
|
|
|
1273
1522
|
navTypeSeparator: "Separador",
|
|
1274
1523
|
navTypeAction: "Ação",
|
|
1275
1524
|
navTypeComponent: "Componente",
|
|
1525
|
+
navTypeDoc: "Documento",
|
|
1276
1526
|
navEditIcon: "Editar ícone",
|
|
1277
1527
|
navToggleVisible: "Alternar visibilidade",
|
|
1278
1528
|
navHidden: "Oculto",
|
|
@@ -1350,11 +1600,8 @@ const pt = {
|
|
|
1350
1600
|
defaultValue: "Valor padrão",
|
|
1351
1601
|
placeholder: "Espaço reservado",
|
|
1352
1602
|
referenceTo: "Referência a",
|
|
1353
|
-
formula: "Fórmula",
|
|
1354
1603
|
options: "Opções",
|
|
1355
1604
|
addOption: "Adicionar opção",
|
|
1356
|
-
validationRules: "Regras de validação",
|
|
1357
|
-
addRule: "Adicionar regra",
|
|
1358
1605
|
systemBadge: "Sistema",
|
|
1359
1606
|
ungrouped: "Geral",
|
|
1360
1607
|
deleteConfirmTitle: "Excluir campo?",
|
|
@@ -1373,7 +1620,23 @@ const pt = {
|
|
|
1373
1620
|
},
|
|
1374
1621
|
},
|
|
1375
1622
|
console: {
|
|
1623
|
+
studio: {
|
|
1624
|
+
backToHome: "Voltar ao início",
|
|
1625
|
+
},
|
|
1376
1626
|
saveAdvisoryTitle: "Salvo — a verificação de criação gerou {{count}} recomendação(ões)",
|
|
1627
|
+
saveAdvisoryTitle_one: "Salvo — a verificação de criação gerou {{count}} recomendação",
|
|
1628
|
+
saveAdvisoryTitle_many: "Salvo — a verificação de criação gerou {{count}} de recomendações",
|
|
1629
|
+
saveAdvisoryTitle_other: "Salvo — a verificação de criação gerou {{count}} recomendações",
|
|
1630
|
+
publishAdvisoryTitle: "Publicado — a verificação de criação gerou {{count}} recomendação(ões)",
|
|
1631
|
+
publishAdvisoryTitle_one: "Publicado — a verificação de criação gerou {{count}} recomendação",
|
|
1632
|
+
publishAdvisoryTitle_many: "Publicado — a verificação de criação gerou {{count}} de recomendações",
|
|
1633
|
+
publishAdvisoryTitle_other: "Publicado — a verificação de criação gerou {{count}} recomendações",
|
|
1634
|
+
importMappingsUnavailable: "Não foi possível carregar os mapeamentos de importação salvos de {{object}}",
|
|
1635
|
+
importMappingsRefused: "O servidor recusou esta solicitação, portanto esta lista está vazia porque não pôde ser lida, não porque nada esteja registrado. Entre novamente ou peça acesso a um administrador.",
|
|
1636
|
+
importMappingsUnreadable: "Esta lista está vazia porque não pôde ser lida, não porque nada esteja registrado. Tente novamente e relate o problema se ele persistir.",
|
|
1637
|
+
savedViewsUnavailable: "Não foi possível carregar as exibições salvas de {{object}}",
|
|
1638
|
+
savedViewsRefused: "O servidor recusou esta solicitação, portanto esta lista está vazia porque não pôde ser lida, não porque este objeto não tenha exibições salvas. Entre novamente ou peça acesso a um administrador.",
|
|
1639
|
+
savedViewsUnreadable: "Esta lista está vazia porque não pôde ser lida, não porque este objeto não tenha exibições salvas. Tente novamente e relate o problema se ele persistir.",
|
|
1377
1640
|
settingsHub: {
|
|
1378
1641
|
title: "Configurações",
|
|
1379
1642
|
subtitle: "Configure seu workspace, integrações e sinalizadores de recursos.",
|
|
@@ -1434,9 +1697,18 @@ const pt = {
|
|
|
1434
1697
|
statusFull: "Limite atingido",
|
|
1435
1698
|
resetsDaily: "Redefine hoje à noite",
|
|
1436
1699
|
resetsMonthly: "Redefine no próximo ciclo",
|
|
1700
|
+
resetsWeeklyDays: "Redefine em {{count}} dias",
|
|
1701
|
+
resetsWeeklyDays_one: "Redefine em {{count}} dia",
|
|
1702
|
+
resetsWeeklyDays_many: "Redefine em {{count}} de dias",
|
|
1703
|
+
resetsWeeklyDays_other: "Redefine em {{count}} dias",
|
|
1704
|
+
resetsWeeklyHours: "Redefine em {{count}} horas",
|
|
1705
|
+
resetsWeeklyHours_one: "Redefine em {{count}} hora",
|
|
1706
|
+
resetsWeeklyHours_many: "Redefine em {{count}} de horas",
|
|
1707
|
+
resetsWeeklyHours_other: "Redefine em {{count}} horas",
|
|
1437
1708
|
ctaUpgrade: "Faça upgrade para continuar",
|
|
1438
1709
|
ctaTopUp: "Adicione créditos para continuar",
|
|
1439
1710
|
ariaLabel: "Uso de IA: {{status}}",
|
|
1711
|
+
breakdownTitle: "Usado até agora",
|
|
1440
1712
|
},
|
|
1441
1713
|
workspaceTitle: "Workspace de IA",
|
|
1442
1714
|
workspaceSubtitle: "Pergunte, inspecione e retome conversas",
|
|
@@ -1446,6 +1718,31 @@ const pt = {
|
|
|
1446
1718
|
share: "Compartilhar",
|
|
1447
1719
|
shareTitle: "Compartilhar esta conversa",
|
|
1448
1720
|
shareDisabledTitle: "Comece a conversar para habilitar o compartilhamento",
|
|
1721
|
+
buildDoctor: "Diagnóstico de build",
|
|
1722
|
+
buildDoctorTitle: "Diagnóstico de build — o que foi realmente aplicado?",
|
|
1723
|
+
buildDoctorDisabledTitle: "Envie uma mensagem primeiro",
|
|
1724
|
+
buildDoctorDrawer: {
|
|
1725
|
+
description: 'O que o agente afirmou versus o que está realmente ativo. Diagnóstico somente leitura.',
|
|
1726
|
+
reconciling: 'Conciliando…',
|
|
1727
|
+
notAvailable: 'Indisponível — a conversa não foi encontrada ou você não tem autorização.',
|
|
1728
|
+
untitled: '(sem título)',
|
|
1729
|
+
summary: '{{turns}} turno(s) · {{messages}} msgs · {{tokens}} tok · {{seconds}} s LLM',
|
|
1730
|
+
allLive: 'Todas as {{count}} alteração(ões) tentada(s) estão ativas — nada se perdeu.',
|
|
1731
|
+
discrepancies: '{{count}} discrepância(s) — o que o chat disse não corresponde ao que está ativo.',
|
|
1732
|
+
orphanedTitle: 'Proposto, mas nunca aplicado',
|
|
1733
|
+
orphanedHint: 'Um cartão de confirmação que o agente propôs, mas que nenhum turno posterior aplicou — a alteração se perdeu silenciosamente.',
|
|
1734
|
+
missingTitle: 'Declarado, mas ausente',
|
|
1735
|
+
missingHint: 'Um resultado de ferramenta disse que foi aplicado, mas o artefato não está ativo em sys_metadata.',
|
|
1736
|
+
toolErrorsTitle: 'Erros de ferramentas',
|
|
1737
|
+
toolErrorsHint: 'Chamadas de ferramentas que retornaram um erro durante o build.',
|
|
1738
|
+
verifyTitle: 'Verificação do build (verify_build)',
|
|
1739
|
+
yourApp: 'Seu aplicativo:',
|
|
1740
|
+
noIssues: '0 problemas',
|
|
1741
|
+
issueCount: '{{count}} problema(s)',
|
|
1742
|
+
platformNoise: '{{count}} achado(s) sys_* da plataforma oculto(s)',
|
|
1743
|
+
pendingActions: 'Ações pendentes',
|
|
1744
|
+
timeline: 'Linha do tempo ({{count}})',
|
|
1745
|
+
},
|
|
1449
1746
|
newChat: "Nova",
|
|
1450
1747
|
searchChats: "Pesquisar conversas…",
|
|
1451
1748
|
noChatsYet: "Ainda não há conversas",
|
|
@@ -1475,7 +1772,7 @@ const pt = {
|
|
|
1475
1772
|
empty: {
|
|
1476
1773
|
build: {
|
|
1477
1774
|
title: "Criar com IA",
|
|
1478
|
-
description: "Descreva um aplicativo
|
|
1775
|
+
description: "Descreva um aplicativo em linguagem simples — eu rascunho os objetos, telas e dados de exemplo, e então você revisa e publica.",
|
|
1479
1776
|
},
|
|
1480
1777
|
ask: {
|
|
1481
1778
|
title: "Pergunte aos seus dados",
|
|
@@ -1484,7 +1781,7 @@ const pt = {
|
|
|
1484
1781
|
editApp: {
|
|
1485
1782
|
title: "Editando “{{app}}”",
|
|
1486
1783
|
titleGeneric: "Editar este aplicativo",
|
|
1487
|
-
description: "O que você quer mudar? Eu altero este aplicativo no lugar — adicionar um campo, objeto, visão ou
|
|
1784
|
+
description: "O que você quer mudar? Eu altero este aplicativo no lugar — adicionar um campo, objeto, visão ou painel, ou ajustar o que já existe.",
|
|
1488
1785
|
},
|
|
1489
1786
|
},
|
|
1490
1787
|
clearConversation: "Limpar",
|
|
@@ -1537,23 +1834,41 @@ const pt = {
|
|
|
1537
1834
|
recentRecords: "Liste os 5 registros criados mais recentemente.",
|
|
1538
1835
|
recordCounts: "Conte os registros de cada objeto.",
|
|
1539
1836
|
},
|
|
1837
|
+
// cloud#1984 — these five chips are the maker's own recommendations, so
|
|
1838
|
+
// they may only ask for what ADR-0112 v1 BUILDS: objects, fields, views
|
|
1839
|
+
// (grid/kanban/calendar/gallery), pages, dashboards and sample data. No
|
|
1840
|
+
// wording that promises autonomous behaviour (alert / remind / notify /
|
|
1841
|
+
// automate / status workflow) — v1 has no flows, actions or schedules, and
|
|
1842
|
+
// the model silently degrades such a request into a board or a filtered
|
|
1843
|
+
// view, so the chip would promise an alert and deliver a page. REVERT to
|
|
1844
|
+
// the automation wording when ADR-0112 v2 re-adds flows and actions.
|
|
1540
1845
|
metadataAssistant: {
|
|
1541
|
-
buildCrm: "Crie um CRM de vendas — clientes, contatos e um
|
|
1542
|
-
buildApp: "Crie um controle de projetos — projetos, tarefas com responsáveis e prazos,
|
|
1543
|
-
buildFlow: "Projete uma central de suporte — chamados com prioridade, um
|
|
1544
|
-
buildInventory: "Crie um aplicativo de estoque — produtos, níveis de estoque, fornecedores e
|
|
1545
|
-
buildRecruiting: "Crie um controle de candidaturas — candidatos, vagas abertas,
|
|
1846
|
+
buildCrm: "Crie um CRM de vendas — clientes, contatos e negócios com um campo de etapa, e um painel que some o valor por etapa.",
|
|
1847
|
+
buildApp: "Crie um controle de projetos — projetos, tarefas com responsáveis e prazos, um quadro por status e um calendário de prazos.",
|
|
1848
|
+
buildFlow: "Projete uma central de suporte — chamados com campos de prioridade e status, um quadro por status e vínculos com clientes.",
|
|
1849
|
+
buildInventory: "Crie um aplicativo de estoque — produtos, níveis de estoque, fornecedores e uma visão que filtre os itens abaixo do ponto de reposição.",
|
|
1850
|
+
buildRecruiting: "Crie um controle de candidaturas — candidatos, vagas abertas, um campo de etapa de entrevista e um quadro por etapa.",
|
|
1546
1851
|
},
|
|
1547
1852
|
generic: {
|
|
1548
1853
|
help: "Com o que você pode me ajudar?",
|
|
1549
1854
|
availableObjects: "Liste os objetos de dados disponíveis.",
|
|
1550
1855
|
recentActivity: "Resuma minha atividade recente.",
|
|
1551
1856
|
},
|
|
1857
|
+
// objectui#7709 — the edit-mode starters, shown when the maker is bound
|
|
1858
|
+
// to an EXISTING app (`?package=`). Same rule as the five above: they
|
|
1859
|
+
// may only ask for what ADR-0112 v1 BUILDS. The fourth chip used to be
|
|
1860
|
+
// `addAutomation` ("an approval, a status flow, or a notification") and
|
|
1861
|
+
// every capability it named is refused by v1 (cloud#1956 / PR #1970), so
|
|
1862
|
+
// it now asks for sample data — `seed` IS on v1's whitelist, and having
|
|
1863
|
+
// no data is what an existing app most often lacks. REVERT: when
|
|
1864
|
+
// ADR-0112 v2 re-adds flows and actions, THIS chip's automation wording
|
|
1865
|
+
// comes back as `addAutomation`; the retired string is pinned for every
|
|
1866
|
+
// pack in `packages/i18n/src/__tests__/makerEditChips-v1-scope-7709.test.ts`.
|
|
1552
1867
|
editApp: {
|
|
1553
1868
|
addField: "Adicione um campo a um dos objetos.",
|
|
1554
1869
|
addObject: "Adicione um novo objeto e relacione-o a um existente.",
|
|
1555
1870
|
addDashboard: "Adicione um painel para as métricas principais.",
|
|
1556
|
-
|
|
1871
|
+
addSampleData: "Preencha os objetos existentes com registros de exemplo realistas para eu poder demonstrar o aplicativo.",
|
|
1557
1872
|
},
|
|
1558
1873
|
},
|
|
1559
1874
|
changesTitle: "Confirmar alterações",
|
|
@@ -1635,6 +1950,13 @@ const pt = {
|
|
|
1635
1950
|
pages: "Páginas",
|
|
1636
1951
|
reports: "Relatórios",
|
|
1637
1952
|
system: "Sistema",
|
|
1953
|
+
marketplace: "Marketplace",
|
|
1954
|
+
settings: 'Configurações',
|
|
1955
|
+
apps: 'Aplicativos',
|
|
1956
|
+
profile: 'Perfil',
|
|
1957
|
+
approvals: 'Aprovações',
|
|
1958
|
+
aiApprovals: 'Aprovações de IA',
|
|
1959
|
+
auditLog: 'Log de auditoria',
|
|
1638
1960
|
},
|
|
1639
1961
|
// objectui#4024 — the single-namespace settings screen. Its sibling
|
|
1640
1962
|
// `settingsHub` above already resolved through this pack; the view was the
|
|
@@ -1654,6 +1976,7 @@ const pt = {
|
|
|
1654
1976
|
saveChanges: "Salvar alterações",
|
|
1655
1977
|
unsavedCount: "{{count}} alterações não salvas",
|
|
1656
1978
|
unsavedCount_one: "{{count}} alteração não salva",
|
|
1979
|
+
unsavedCount_many: "{{count}} de alterações não salvas",
|
|
1657
1980
|
unsavedCount_other: "{{count}} alterações não salvas",
|
|
1658
1981
|
cryptoRefusalTitle: "Esta implantação não consegue criptografar segredos",
|
|
1659
1982
|
cryptoRefusalSubjectSuffix: "está declarado como criptografado, portanto nada foi gravado.",
|
|
@@ -1726,6 +2049,21 @@ const pt = {
|
|
|
1726
2049
|
records: "Registros",
|
|
1727
2050
|
recentRecords: "Vistos recentemente",
|
|
1728
2051
|
},
|
|
2052
|
+
// objectui#9954 — see the `en` pack for what raises each case.
|
|
2053
|
+
readRate: {
|
|
2054
|
+
ratioTitle: 'Volume de leitura incomum neste ambiente',
|
|
2055
|
+
ratio: 'São lidas {{ratio}} linhas para cada linha gravada. A plataforma sinaliza tudo acima de {{threshold}}. Nada está sendo limitado ou bloqueado; este é um relatório para que o padrão de leitura possa ser revisado.',
|
|
2056
|
+
noWritesTitle: 'Leituras sem nenhuma gravação neste ambiente',
|
|
2057
|
+
noWrites: 'Linhas estão sendo lidas sem que nenhuma seja gravada, portanto a taxa de leitura não tem limite superior. Esta é a leitura mais grave. A plataforma sinaliza tudo acima de {{threshold}}. Nada está sendo limitado ou bloqueado; este é um relatório para que o padrão de leitura possa ser revisado.',
|
|
2058
|
+
},
|
|
2059
|
+
// objectui#10439 — see the `en` pack for what raises each case.
|
|
2060
|
+
storageUsage: {
|
|
2061
|
+
warningTitle: 'O armazenamento está quase cheio',
|
|
2062
|
+
warning: '{{used}} MB de {{limit}} MB usados. Envios e importações são pausados quando o armazenamento fica cheio.',
|
|
2063
|
+
blockedTitle: 'Armazenamento cheio: envios e importações estão pausados',
|
|
2064
|
+
blocked: '{{used}} MB de {{limit}} MB usados. Os dados existentes não são alterados, e a leitura, a exportação e a edição de registros individuais continuam funcionando.',
|
|
2065
|
+
upgrade: 'Faça upgrade para continuar',
|
|
2066
|
+
},
|
|
1729
2067
|
errors: {
|
|
1730
2068
|
somethingWentWrong: "Algo deu errado",
|
|
1731
2069
|
unexpectedError: "Ocorreu um erro inesperado ao renderizar esta visualização.",
|
|
@@ -1756,6 +2094,7 @@ const pt = {
|
|
|
1756
2094
|
viewNameInvalid: "Use letras minúsculas, números e sublinhados; comece com uma letra ou sublinhado.",
|
|
1757
2095
|
systemViewReadonly: "Exibição do sistema definida no código — somente leitura.",
|
|
1758
2096
|
cannotEditMetaView: "Esta exibição é integrada e definida no código — não é possível alterá-la.",
|
|
2097
|
+
viewConfigPermissionDenied: "As configurações da exibição se aplicam a todos os usuários que a utilizam, portanto alterá-las exige a permissão 'Gerenciar metadados'. Peça a um administrador para fazer essa alteração.",
|
|
1759
2098
|
cannotDeleteMetaView: "Esta exibição é integrada e definida no código — não é possível excluí-la.",
|
|
1760
2099
|
expandToPage: "Abrir como página inteira",
|
|
1761
2100
|
objectNotFound: "Objeto não encontrado",
|
|
@@ -1766,12 +2105,14 @@ const pt = {
|
|
|
1766
2105
|
allRecords: "Todos os registros",
|
|
1767
2106
|
new: "Novo",
|
|
1768
2107
|
configureView: "Configurar visualização",
|
|
1769
|
-
toolbar: "Barra de ferramentas",
|
|
1770
2108
|
toolbarEnabledCount: "{{count}} de {{total}} habilitados",
|
|
1771
2109
|
searchFields: "Pesquisar campos…",
|
|
1772
2110
|
title: "Título",
|
|
1773
2111
|
viewType: "Tipo de visualização",
|
|
1774
2112
|
recordCount: "{{count}} registros",
|
|
2113
|
+
recordCount_one: "{{count}} registro",
|
|
2114
|
+
recordCount_many: "{{count}} de registros",
|
|
2115
|
+
recordCount_other: "{{count}} registros",
|
|
1775
2116
|
save: "Salvar",
|
|
1776
2117
|
discard: "Descartar",
|
|
1777
2118
|
createView: "Criar visualização",
|
|
@@ -1783,11 +2124,13 @@ const pt = {
|
|
|
1783
2124
|
longitudeField: "Campo de longitude",
|
|
1784
2125
|
imageField: "Campo de imagem",
|
|
1785
2126
|
selectField: "Selecionar campo…",
|
|
1786
|
-
groupBy: "Agrupar por",
|
|
1787
2127
|
endDateField: "Campo de data de término",
|
|
1788
2128
|
import: "Importar",
|
|
1789
2129
|
importTitle: "Importar do CSV",
|
|
1790
2130
|
importedToast: "{{count}} linha(s) importada(s).",
|
|
2131
|
+
importedToast_one: "{{count}} linha importada.",
|
|
2132
|
+
importedToast_many: "{{count}} de linhas importadas.",
|
|
2133
|
+
importedToast_other: "{{count}} linhas importadas.",
|
|
1791
2134
|
importedWithSkipped: "{{ok}} linha(s) importada(s); {{skipped}} pulada(s).",
|
|
1792
2135
|
createViewDesc: "Escolha um tipo de exibição e dê um nome a ela. Todas as configurações podem ser alteradas depois.",
|
|
1793
2136
|
cancel: "Cancelar",
|
|
@@ -1796,6 +2139,9 @@ const pt = {
|
|
|
1796
2139
|
deleteViewTitle: "Excluir exibição",
|
|
1797
2140
|
deleteViewConfirm: "Excluir a exibição \"{{name}}\"? Isso não pode ser desfeito.",
|
|
1798
2141
|
bulkDeleteConfirm: "Excluir {{count}} registros selecionados? Isso não pode ser desfeito.",
|
|
2142
|
+
bulkDeleteConfirm_one: "Excluir {{count}} registro selecionado? Isso não pode ser desfeito.",
|
|
2143
|
+
bulkDeleteConfirm_many: "Excluir {{count}} de registros selecionados? Isso não pode ser desfeito.",
|
|
2144
|
+
bulkDeleteConfirm_other: "Excluir {{count}} registros selecionados? Isso não pode ser desfeito.",
|
|
1799
2145
|
duplicateViewName: "Já existe uma exibição com esse nome.",
|
|
1800
2146
|
viewTypeGrid: "Grade",
|
|
1801
2147
|
viewTypeGridDesc: "Tabela de registros no estilo planilha.",
|
|
@@ -1832,10 +2178,14 @@ const pt = {
|
|
|
1832
2178
|
chartTypePie: "Gráfico de pizza",
|
|
1833
2179
|
chartTypeArea: "Gráfico de área",
|
|
1834
2180
|
chartTypeScatter: "Gráfico de dispersão",
|
|
1835
|
-
|
|
1836
|
-
|
|
1837
|
-
|
|
1838
|
-
|
|
2181
|
+
dataset: "Conjunto de dados",
|
|
2182
|
+
datasetHelp: "O gráfico lê seus valores deste conjunto de dados do objeto.",
|
|
2183
|
+
chartMeasure: "Medida",
|
|
2184
|
+
chartMeasureHelp: "A medida do conjunto de dados exibida no eixo de valores.",
|
|
2185
|
+
chartDimension: "Dimensão",
|
|
2186
|
+
chartDimensionHelp: "A dimensão do conjunto de dados pela qual os valores são agrupados (opcional).",
|
|
2187
|
+
viewTypeUnavailableDataset: "Este objeto não expõe nenhum conjunto de dados para o gráfico.",
|
|
2188
|
+
noDatasetMeasure: "Este conjunto de dados não declara nenhuma medida para o gráfico.",
|
|
1839
2189
|
ufTabs: "Abas",
|
|
1840
2190
|
ufAddField: "+ Adicionar campo de filtro…",
|
|
1841
2191
|
ufShowAllRecords: "Mostrar aba \"Todos os registros\"",
|
|
@@ -1849,6 +2199,9 @@ const pt = {
|
|
|
1849
2199
|
unpinItem: "Desafixar {{name}}",
|
|
1850
2200
|
dragToReorder: "Arrastar para reordenar",
|
|
1851
2201
|
favorites: "Favoritos",
|
|
2202
|
+
launcherLabel: "Iniciador de aplicativos",
|
|
2203
|
+
menuLabel: "Navegação do aplicativo",
|
|
2204
|
+
menuEmpty: "Este aplicativo não tem entradas de navegação que você possa abrir.",
|
|
1852
2205
|
},
|
|
1853
2206
|
},
|
|
1854
2207
|
auth: {
|
|
@@ -1902,6 +2255,8 @@ const pt = {
|
|
|
1902
2255
|
resendOtpCountdownText: "Reenviar em {seconds} s",
|
|
1903
2256
|
usePhoneOtpText: "Entrar com código de verificação",
|
|
1904
2257
|
usePasswordSignInText: "Entrar com senha em vez disso",
|
|
2258
|
+
socialButton: "Continuar com {provider}",
|
|
2259
|
+
orText: "ou continue com e-mail",
|
|
1905
2260
|
},
|
|
1906
2261
|
register: {
|
|
1907
2262
|
title: "Criar uma conta",
|
|
@@ -1920,8 +2275,12 @@ const pt = {
|
|
|
1920
2275
|
submittingButton: "Criando conta…",
|
|
1921
2276
|
hasAccountText: "Já tem uma conta?",
|
|
1922
2277
|
signInText: "Entrar",
|
|
2278
|
+
socialButton: "Cadastre-se com {provider}",
|
|
2279
|
+
orText: "ou continue com e-mail",
|
|
1923
2280
|
errors: {
|
|
1924
2281
|
userExists: "Já existe uma conta com esse e-mail. Tente fazer login.",
|
|
2282
|
+
selfRegistrationClosed: "O cadastro por conta própria não está aberto neste ambiente. Peça um convite a um administrador.",
|
|
2283
|
+
emailDomainNotAllowed: "O domínio deste e-mail não tem permissão para se cadastrar aqui. Use o e-mail da sua organização ou peça um convite a um administrador.",
|
|
1925
2284
|
},
|
|
1926
2285
|
verifyInbox: {
|
|
1927
2286
|
title: "Verifique sua caixa de entrada",
|
|
@@ -2120,6 +2479,15 @@ const pt = {
|
|
|
2120
2479
|
role: "Função",
|
|
2121
2480
|
save: "Salvar alterações",
|
|
2122
2481
|
},
|
|
2482
|
+
language: {
|
|
2483
|
+
title: "Idioma",
|
|
2484
|
+
description: "O idioma usado nas notificações e mensagens enviadas para você. O idioma da interface é escolhido separadamente, no menu do globo.",
|
|
2485
|
+
label: "Idioma preferido",
|
|
2486
|
+
systemDefault: "Usar o padrão da implantação",
|
|
2487
|
+
save: "Salvar",
|
|
2488
|
+
saved: "Preferência de idioma atualizada.",
|
|
2489
|
+
readOnly: "O idioma da sua conta é gerenciado pelo seu administrador.",
|
|
2490
|
+
},
|
|
2123
2491
|
password: {
|
|
2124
2492
|
changeTitle: "Alterar senha",
|
|
2125
2493
|
setTitle: "Definir senha local",
|
|
@@ -2151,7 +2519,6 @@ const pt = {
|
|
|
2151
2519
|
label: "Espaços de trabalho",
|
|
2152
2520
|
default: "Meu espaço de trabalho",
|
|
2153
2521
|
switch: "Trocar de espaço de trabalho",
|
|
2154
|
-
create: "Criar espaço de trabalho",
|
|
2155
2522
|
createTitle: "Criar um espaço de trabalho",
|
|
2156
2523
|
createDescription: "Um espaço de trabalho é um espaço compartilhado para colaboração da equipe.",
|
|
2157
2524
|
createButton: "Criar espaço de trabalho",
|
|
@@ -2176,7 +2543,6 @@ const pt = {
|
|
|
2176
2543
|
packageManagement: "Gerenciamento de pacotes",
|
|
2177
2544
|
searchNavigation: "Pesquisar na navegação…",
|
|
2178
2545
|
settings: "Configurações",
|
|
2179
|
-
help: "Ajuda",
|
|
2180
2546
|
helpTooltip: "Ajuda e documentação",
|
|
2181
2547
|
activityFeed: "Feed de atividades",
|
|
2182
2548
|
notifications: "Notificações",
|
|
@@ -2236,6 +2602,9 @@ const pt = {
|
|
|
2236
2602
|
},
|
|
2237
2603
|
pendingDrafts: {
|
|
2238
2604
|
message: "Você tem {{count}} alteração(ões) não publicada(s) — publique para ativá-las.",
|
|
2605
|
+
message_one: "Você tem {{count}} alteração não publicada — publique para ativá-la.",
|
|
2606
|
+
message_many: "Você tem {{count}} de alterações não publicadas — publique para ativá-las.",
|
|
2607
|
+
message_other: "Você tem {{count}} alterações não publicadas — publique para ativá-las.",
|
|
2239
2608
|
cta: "Publicar",
|
|
2240
2609
|
publishing: "Publicando…",
|
|
2241
2610
|
published: "Publicado! Suas alterações estão ativas.",
|
|
@@ -2250,7 +2619,6 @@ const pt = {
|
|
|
2250
2619
|
capabilityWarn: "Verificação de autoria: {{count}} referência(s) de capacidade não apontam para nada.",
|
|
2251
2620
|
},
|
|
2252
2621
|
title: "Início",
|
|
2253
|
-
subtitle: "Painel do seu espaço de trabalho",
|
|
2254
2622
|
nav: "Início",
|
|
2255
2623
|
allApps: "Todas as aplicações",
|
|
2256
2624
|
yourApps: "As suas aplicações",
|
|
@@ -2262,8 +2630,6 @@ const pt = {
|
|
|
2262
2630
|
empty: "Está tudo em dia",
|
|
2263
2631
|
},
|
|
2264
2632
|
loading: "Carregando espaço de trabalho…",
|
|
2265
|
-
recent: "Recentes",
|
|
2266
|
-
starred: "Favoritos",
|
|
2267
2633
|
welcome: "Bem-vindo ao ObjectUI",
|
|
2268
2634
|
welcomeDescription: "Comece criando sua primeira aplicação ou configurando as preferências do sistema.",
|
|
2269
2635
|
createFirstApp: "Crie sua primeira app",
|
|
@@ -2271,8 +2637,6 @@ const pt = {
|
|
|
2271
2637
|
browseMarketplace: "Explorar marketplace de apps",
|
|
2272
2638
|
quickActions: {
|
|
2273
2639
|
title: "Ações rápidas",
|
|
2274
|
-
createApp: "Criar app",
|
|
2275
|
-
createAppDesc: "Comece com uma nova aplicação",
|
|
2276
2640
|
manageObjects: "Gerenciar objetos",
|
|
2277
2641
|
manageObjectsDesc: "Configure modelos de dados",
|
|
2278
2642
|
systemSettings: "Configurações do sistema",
|
|
@@ -2288,18 +2652,15 @@ const pt = {
|
|
|
2288
2652
|
greetingNight: "Turno da noite",
|
|
2289
2653
|
heroTagline: "Continue de onde parou ou descubra algo novo.",
|
|
2290
2654
|
open: "Abrir",
|
|
2291
|
-
stats: {
|
|
2292
|
-
apps: "Aplicativos",
|
|
2293
|
-
starred: "Favoritos",
|
|
2294
|
-
recent: "Recentes",
|
|
2295
|
-
},
|
|
2296
2655
|
recentApps: {
|
|
2297
2656
|
title: "Abertos recentemente",
|
|
2298
2657
|
itemType: {
|
|
2299
2658
|
object: "Objeto",
|
|
2300
2659
|
dashboard: "Painel",
|
|
2301
2660
|
page: "Página",
|
|
2661
|
+
report: "Relatório",
|
|
2302
2662
|
record: "Registro",
|
|
2663
|
+
metadata: "Metadados",
|
|
2303
2664
|
},
|
|
2304
2665
|
},
|
|
2305
2666
|
starredApps: {
|
|
@@ -2321,7 +2682,6 @@ const pt = {
|
|
|
2321
2682
|
organizations: "Organizações",
|
|
2322
2683
|
roles: "Perfis",
|
|
2323
2684
|
configuration: "Configuração",
|
|
2324
|
-
createApp: "Criar aplicativo",
|
|
2325
2685
|
administration: "Administração",
|
|
2326
2686
|
datasources: "Fontes de dados",
|
|
2327
2687
|
documentation: "Documentação",
|
|
@@ -2346,6 +2706,7 @@ const pt = {
|
|
|
2346
2706
|
typeUpdate: "Atualizar",
|
|
2347
2707
|
typeDelete: "Excluir",
|
|
2348
2708
|
typeComment: "Comentário",
|
|
2709
|
+
typeSystem: "Sistema",
|
|
2349
2710
|
relativeJustNow: "agora mesmo",
|
|
2350
2711
|
relativeSecondsAgo: "há {{count}}s",
|
|
2351
2712
|
relativeMinutesAgo: "há {{count}}m",
|
|
@@ -2367,8 +2728,13 @@ const pt = {
|
|
|
2367
2728
|
placeholder: "Pesquisar objetos, painéis, páginas, relatórios…",
|
|
2368
2729
|
inputAriaLabel: "Pesquisar objetos, painéis, páginas, relatórios",
|
|
2369
2730
|
resultsCount: "{{count}} resultado para \"{{query}}\"",
|
|
2370
|
-
|
|
2731
|
+
resultsCount_one: "{{count}} resultado para \"{{query}}\"",
|
|
2732
|
+
resultsCount_many: "{{count}} de resultados para \"{{query}}\"",
|
|
2733
|
+
resultsCount_other: "{{count}} resultados para \"{{query}}\"",
|
|
2371
2734
|
itemsAvailable: "{{count}} itens disponíveis",
|
|
2735
|
+
itemsAvailable_one: "{{count}} item disponível",
|
|
2736
|
+
itemsAvailable_many: "{{count}} de itens disponíveis",
|
|
2737
|
+
itemsAvailable_other: "{{count}} itens disponíveis",
|
|
2372
2738
|
noResults: "Nenhum resultado encontrado",
|
|
2373
2739
|
noResultsHint: "Tente ajustar seus termos de pesquisa",
|
|
2374
2740
|
typeObjects: "Objetos",
|
|
@@ -2393,7 +2759,11 @@ const pt = {
|
|
|
2393
2759
|
noAppsConfigured: "Nenhum aplicativo configurado",
|
|
2394
2760
|
noAppsConfiguredDescription: "Nenhum aplicativo está registrado. Crie seu primeiro aplicativo ou visite as configurações do sistema.",
|
|
2395
2761
|
appNotAvailable: "Aplicativo indisponível",
|
|
2396
|
-
appNotAvailableDescription: "Este aplicativo
|
|
2762
|
+
appNotAvailableDescription: "Este aplicativo não está disponível — tente novamente em instantes.",
|
|
2763
|
+
appNotFound: "Não é possível abrir este aplicativo",
|
|
2764
|
+
appNotFoundDescription: "O servidor não retornou este aplicativo para a sua conta.",
|
|
2765
|
+
appUnreachable: "Não foi possível acessar o servidor",
|
|
2766
|
+
appUnreachableDescription: "Não foi possível verificar este aplicativo. Tente novamente em instantes.",
|
|
2397
2767
|
appAccessDenied: "Você não tem acesso a este aplicativo",
|
|
2398
2768
|
appAccessDeniedDescription: "Este aplicativo existe, mas sua conta não tem autorização para abri-lo. Peça acesso a um administrador.",
|
|
2399
2769
|
appAccessDeniedHome: "Voltar ao início",
|
|
@@ -2408,11 +2778,11 @@ const pt = {
|
|
|
2408
2778
|
description: "Insira as informações necessárias para continuar.",
|
|
2409
2779
|
selectPlaceholder: "Selecionar {{label}}",
|
|
2410
2780
|
requiredError: "{{label}} é obrigatório",
|
|
2781
|
+
unresolvedParam: 'Não é possível exibir este parâmetro: o campo em que ele se baseia não está nos metadados do objeto, portanto o controle necessário não pode ser construído. Peça a um administrador para corrigir a definição da ação.',
|
|
2782
|
+
carryOverHint: 'Mantido sem alterações (somente leitura)',
|
|
2411
2783
|
cancel: "Cancelar",
|
|
2412
2784
|
confirm: "Confirmar",
|
|
2413
2785
|
uploading: "Enviando…",
|
|
2414
|
-
defaultActionTitle: "Ação",
|
|
2415
|
-
ok: "OK",
|
|
2416
2786
|
lookupPlaceholder: "ID do registro para {{label}}",
|
|
2417
2787
|
lookupHelpText: "Este parâmetro não tem um objeto de referência configurado, portanto o seletor de registros não está disponível. Insira um ID de registro ou peça a um administrador para corrigir o parâmetro da ação.",
|
|
2418
2788
|
},
|
|
@@ -2421,11 +2791,6 @@ const pt = {
|
|
|
2421
2791
|
confirm: "Continuar",
|
|
2422
2792
|
cancel: "Cancelar",
|
|
2423
2793
|
},
|
|
2424
|
-
rowAction: {
|
|
2425
|
-
openMenu: "Abrir menu",
|
|
2426
|
-
edit: "Editar",
|
|
2427
|
-
delete: "Excluir",
|
|
2428
|
-
},
|
|
2429
2794
|
navigationSync: {
|
|
2430
2795
|
addedPage: "Navegação atualizada: página \"{{name}}\" adicionada",
|
|
2431
2796
|
addedDashboard: "Navegação atualizada: painel \"{{name}}\" adicionado",
|
|
@@ -2446,6 +2811,9 @@ const pt = {
|
|
|
2446
2811
|
noRecordId: "Nenhum ID de registro fornecido",
|
|
2447
2812
|
deleteConfirm: "Excluir este registro?",
|
|
2448
2813
|
bulkDeleteSuccess: "{{count}} registros de {{label}} excluídos",
|
|
2814
|
+
bulkDeleteSuccess_one: "{{count}} registro de {{label}} excluído",
|
|
2815
|
+
bulkDeleteSuccess_many: "{{count}} de registros de {{label}} excluídos",
|
|
2816
|
+
bulkDeleteSuccess_other: "{{count}} registros de {{label}} excluídos",
|
|
2449
2817
|
bulkDeletePartial: "{{succeeded}} excluídos, {{failed}} com falha",
|
|
2450
2818
|
},
|
|
2451
2819
|
objectViewActions: {
|
|
@@ -2457,15 +2825,6 @@ const pt = {
|
|
|
2457
2825
|
exportFailed: "Falha na exportação: {{message}}",
|
|
2458
2826
|
forecastSoon: "A exibição de previsão está chegando em breve",
|
|
2459
2827
|
},
|
|
2460
|
-
recordDetail: {
|
|
2461
|
-
viewersTooltip: "Usuários visualizando este registro agora",
|
|
2462
|
-
},
|
|
2463
|
-
cellRender: {
|
|
2464
|
-
empty: "Vazio",
|
|
2465
|
-
yes: "Sim",
|
|
2466
|
-
no: "Não",
|
|
2467
|
-
systemFields: "Sistema",
|
|
2468
|
-
},
|
|
2469
2828
|
user: {
|
|
2470
2829
|
profile: "Perfil",
|
|
2471
2830
|
settings: "Configurações",
|
|
@@ -2655,18 +3014,37 @@ const pt = {
|
|
|
2655
3014
|
regionLabel: "Notificações",
|
|
2656
3015
|
groupCount: "{{count}} notificações",
|
|
2657
3016
|
groupUnread: "{{count}} não lidas",
|
|
3017
|
+
groupUnread_one: "{{count}} não lida",
|
|
3018
|
+
groupUnread_many: "{{count}} não lidas",
|
|
3019
|
+
groupUnread_other: "{{count}} não lidas",
|
|
2658
3020
|
groupMarkRead: "Marcar como lidas",
|
|
2659
3021
|
groupMarkReadTitle: "Marcar todas deste tipo como lidas",
|
|
2660
3022
|
empty: "Sem notificações",
|
|
2661
3023
|
markAllRead: "Marcar tudo como lido",
|
|
2662
3024
|
viewAll: "Ver todas as notificações",
|
|
2663
3025
|
approvalsPending: "{{count}} aprovações pendentes",
|
|
3026
|
+
approvalsPending_one: "{{count}} aprovação pendente",
|
|
3027
|
+
approvalsPending_many: "{{count}} de aprovações pendentes",
|
|
3028
|
+
approvalsPending_other: "{{count}} aprovações pendentes",
|
|
2664
3029
|
viewApprovals: "Ver aprovações",
|
|
2665
3030
|
noPendingApprovals: "Sem aprovações pendentes",
|
|
2666
3031
|
openApprovalsInbox: "Abrir caixa de aprovações",
|
|
2667
3032
|
badgeTotal: "{{total}} no total",
|
|
2668
3033
|
badgeNotifications: "{{unread}} notificações",
|
|
2669
3034
|
badgeApprovals: "{{approvals}} aprovações pendentes",
|
|
3035
|
+
arrivalMany: "{{count}} novas mensagens",
|
|
3036
|
+
arrivalMany_one: "{{count}} nova mensagem",
|
|
3037
|
+
arrivalMany_many: "{{count}} de novas mensagens",
|
|
3038
|
+
arrivalMany_other: "{{count}} novas mensagens",
|
|
3039
|
+
arrivalRepeats: "{{count}} novas mensagens sobre este tópico",
|
|
3040
|
+
arrivalRepeats_one: "{{count}} nova mensagem sobre este tópico",
|
|
3041
|
+
arrivalRepeats_many: "{{count}} de novas mensagens sobre este tópico",
|
|
3042
|
+
arrivalRepeats_other: "{{count}} novas mensagens sobre este tópico",
|
|
3043
|
+
arrivalOpen: "Ver",
|
|
3044
|
+
toastEnabled: "Avisos no aplicativo",
|
|
3045
|
+
desktopEnabled: "Notificações da área de trabalho",
|
|
3046
|
+
desktopBlocked: "Bloqueado. Permita notificações deste site nas configurações do navegador.",
|
|
3047
|
+
desktopUnsupported: "Este navegador não oferece suporte a notificações da área de trabalho.",
|
|
2670
3048
|
emptyUnread: "Tudo lido",
|
|
2671
3049
|
filterUnread: "Não lidos",
|
|
2672
3050
|
filterAll: "Todos",
|
|
@@ -2680,12 +3058,14 @@ const pt = {
|
|
|
2680
3058
|
thankYouTitle: "Obrigado!",
|
|
2681
3059
|
thankYouMessage: "Seu envio foi recebido com sucesso.",
|
|
2682
3060
|
redirecting: "Redirecionando em {{seconds}} segundo(s)…",
|
|
3061
|
+
redirectPending: "Redirecionando…",
|
|
2683
3062
|
unavailableTitle: "Formulário indisponível",
|
|
2684
3063
|
unavailableDescription: "Nenhum formulário público está disponível nesta URL. Certifique-se de que a exibição subjacente tenha o compartilhamento anônimo ativado.",
|
|
2685
3064
|
tryDemo: "Experimentar demo",
|
|
2686
3065
|
retry: "Tentar novamente",
|
|
2687
3066
|
loading: "Carregando formulário…",
|
|
2688
3067
|
requiredHint: "* Campo obrigatório",
|
|
3068
|
+
requiredFields: "Campos obrigatórios: {{fields}}",
|
|
2689
3069
|
consentLabelDefault: "Aceito a política de privacidade e consinto com o processamento dos meus dados para esta solicitação.",
|
|
2690
3070
|
consentLink: "Política de privacidade",
|
|
2691
3071
|
consentRequired: "Por favor, aceite a política de privacidade para continuar.",
|
|
@@ -2736,6 +3116,9 @@ const pt = {
|
|
|
2736
3116
|
noImportableFields: "Esse objeto não tem campos importáveis.",
|
|
2737
3117
|
schemaReadFailed: "Não foi possível ler o esquema do objeto.",
|
|
2738
3118
|
imported: "{{count}} linha(s) importada(s) para {{object}}.",
|
|
3119
|
+
imported_one: "{{count}} linha importada para {{object}}.",
|
|
3120
|
+
imported_many: "{{count}} de linhas importadas para {{object}}.",
|
|
3121
|
+
imported_other: "{{count}} linhas importadas para {{object}}.",
|
|
2739
3122
|
importFrom: "Importar as linhas reais de",
|
|
2740
3123
|
into: "para",
|
|
2741
3124
|
opening: "Abrindo…",
|
|
@@ -2749,6 +3132,78 @@ const pt = {
|
|
|
2749
3132
|
openProduction: "Abrir produção",
|
|
2750
3133
|
manageEnvironments: "Gerenciar ambientes",
|
|
2751
3134
|
},
|
|
3135
|
+
cloudPlanStatus: {
|
|
3136
|
+
current: "Plano atual",
|
|
3137
|
+
},
|
|
3138
|
+
ai: {
|
|
3139
|
+
nlQuery: {
|
|
3140
|
+
placeholder: "Faça uma pergunta sobre seus dados…",
|
|
3141
|
+
ask: "Perguntar",
|
|
3142
|
+
results: "Resultados",
|
|
3143
|
+
match: "Correspondência: {{percent}}",
|
|
3144
|
+
simulatedSummary: "Resultados para: {{query}}",
|
|
3145
|
+
noResults: "Nenhum registro correspondente encontrado",
|
|
3146
|
+
recentQueries: "Consultas recentes",
|
|
3147
|
+
},
|
|
3148
|
+
formAssist: {
|
|
3149
|
+
title: "Sugestões de IA",
|
|
3150
|
+
suggestionCount: "{{count}} sugestões",
|
|
3151
|
+
suggestionCount_one: "{{count}} sugestão",
|
|
3152
|
+
suggestionCount_many: "{{count}} de sugestões",
|
|
3153
|
+
suggestionCount_other: "{{count}} sugestões",
|
|
3154
|
+
applyAll: "Aplicar tudo",
|
|
3155
|
+
confidence: "Confiança: {{percent}}",
|
|
3156
|
+
appliedCount: "{{count}} sugestões aplicadas",
|
|
3157
|
+
appliedCount_one: "{{count}} sugestão aplicada",
|
|
3158
|
+
appliedCount_many: "{{count}} de sugestões aplicadas",
|
|
3159
|
+
appliedCount_other: "{{count}} sugestões aplicadas",
|
|
3160
|
+
},
|
|
3161
|
+
recommendations: {
|
|
3162
|
+
title: "Recomendações",
|
|
3163
|
+
generating: "Gerando recomendações…",
|
|
3164
|
+
empty: "Nenhuma recomendação disponível",
|
|
3165
|
+
},
|
|
3166
|
+
},
|
|
3167
|
+
aiApprovals: {
|
|
3168
|
+
title: "Aprovações de IA",
|
|
3169
|
+
description: "Ações propostas por um agente de IA que precisam de revisão humana antes da execução.",
|
|
3170
|
+
tabPending: "Pendentes",
|
|
3171
|
+
tabDecided: "Decididas",
|
|
3172
|
+
tabAll: "Todas",
|
|
3173
|
+
statusPending: "Pendente",
|
|
3174
|
+
statusApproved: "Aprovada",
|
|
3175
|
+
statusExecuted: "Executada",
|
|
3176
|
+
statusFailed: "Falhou",
|
|
3177
|
+
statusRejected: "Rejeitada",
|
|
3178
|
+
colTool: "Ferramenta",
|
|
3179
|
+
colAction: "Ação",
|
|
3180
|
+
colObject: "Objeto",
|
|
3181
|
+
colStatus: "Status",
|
|
3182
|
+
colProposed: "Proposta",
|
|
3183
|
+
colDecision: "Decisão",
|
|
3184
|
+
emptyTitle: "Nenhuma ação aguardando",
|
|
3185
|
+
emptyDescription: "Quando a IA propuser uma ação sensível, ela aparecerá aqui para revisão.",
|
|
3186
|
+
view: "Ver",
|
|
3187
|
+
approve: "Aprovar",
|
|
3188
|
+
reject: "Rejeitar",
|
|
3189
|
+
working: "Processando…",
|
|
3190
|
+
approveAndExecute: "Aprovar e executar",
|
|
3191
|
+
outcomeApprove: "Aprovação de {{id}}: {{message}}",
|
|
3192
|
+
outcomeReject: "Rejeição de {{id}}: {{message}}",
|
|
3193
|
+
outcomeExecuteFailed: "A ação falhou durante a execução",
|
|
3194
|
+
drawerFallbackTitle: "Ação pendente",
|
|
3195
|
+
drawerSubtitle: "Ferramenta {{tool}} em {{object}}",
|
|
3196
|
+
fieldProposedBy: "Proposta por",
|
|
3197
|
+
fieldDecidedBy: "Decidida por",
|
|
3198
|
+
fieldConversation: "Conversa",
|
|
3199
|
+
fieldToolInput: "Entrada da ferramenta",
|
|
3200
|
+
fieldResult: "Resultado",
|
|
3201
|
+
fieldError: "Erro",
|
|
3202
|
+
fieldRejectionReason: "Motivo da rejeição",
|
|
3203
|
+
rejectTitle: "Rejeitar esta ação?",
|
|
3204
|
+
rejectBody: "O motivo é devolvido à IA para que ela ajuste a próxima resposta.",
|
|
3205
|
+
rejectPlaceholder: "Motivo opcional (ex.: «ID de registro incorreto — confirme antes com a pessoa usuária.»)",
|
|
3206
|
+
},
|
|
2752
3207
|
aiModelStatus: {
|
|
2753
3208
|
summary: "Criar / Perguntar usa {{conversational}} ({{conversationalSource}}); estruturado usa {{structured}} ({{structuredSource}}).",
|
|
2754
3209
|
summaryRouting: "Política de roteamento: planos gratuitos → {{free}}, planos pagos → {{paid}}.",
|
|
@@ -2766,6 +3221,114 @@ const pt = {
|
|
|
2766
3221
|
sourceInherits: "igual a build/ask",
|
|
2767
3222
|
sourcePinned: "fixado por {{source}}",
|
|
2768
3223
|
},
|
|
3224
|
+
// objectui#7254 — the AI copilot's tool cards. Three families, all of them
|
|
3225
|
+
// English-only until this landed while every other string on the same screen
|
|
3226
|
+
// was translated:
|
|
3227
|
+
//
|
|
3228
|
+
// `tool.*` — one entry per PLATFORM-PROVIDED tool name
|
|
3229
|
+
// (@objectstack/spec `PLATFORM_TOOLS_BY_PACKAGE`, the
|
|
3230
|
+
// closed registry those runtimes are conformance-tested
|
|
3231
|
+
// against). `humanizeToolName` looks each up as
|
|
3232
|
+
// `chatbot.tool.<tool_name>` and falls back to its English
|
|
3233
|
+
// title-caser for a custom / third-party tool, so a name
|
|
3234
|
+
// missing here is degraded, never broken. The `en` values
|
|
3235
|
+
// are deliberately EQUAL to what that title-caser produces:
|
|
3236
|
+
// adding the key must not silently reword the English UI.
|
|
3237
|
+
// `toolState.*` — the card-header badge + activity-chip vocabulary. ONE
|
|
3238
|
+
// set for both surfaces (they used to carry separate
|
|
3239
|
+
// tables and disagreed on casing).
|
|
3240
|
+
// `plan.*` — the "N objects · N views · N dashboards" strip. Plural
|
|
3241
|
+
// FAMILIES: one slot per CLDR category the pack's language
|
|
3242
|
+
// selects (objectui#11432), plus the base key for a call
|
|
3243
|
+
// made without a count. `all-locales-key-parity.test.ts`
|
|
3244
|
+
// derives the required slots from `Intl.PluralRules`.
|
|
3245
|
+
//
|
|
3246
|
+
// objectui#7481 — five `tool.*` entries are NEWER than the registry above:
|
|
3247
|
+
// `get_authoring_rules` (cloud#1837), `load_tools`, `open_record`, `test_flow`
|
|
3248
|
+
// and `toggle_flow` are registered by cloud `service-ai-studio` but the pinned
|
|
3249
|
+
// `@objectstack/spec` snapshot does not list them yet. They are kept here on
|
|
3250
|
+
// purpose: a step label the user reads must not wait on a pin bump. When the
|
|
3251
|
+
// pin advances, `chatbotToolLabels-locale-parity-7481` starts checking them
|
|
3252
|
+
// against the registry instead of against its own hand-held list.
|
|
3253
|
+
chatbot: {
|
|
3254
|
+
tool: {
|
|
3255
|
+
aggregate_data: "Resumir dados",
|
|
3256
|
+
get_record: "Obter registro",
|
|
3257
|
+
query_data: "Consultar dados",
|
|
3258
|
+
query_records: "Consultar registros",
|
|
3259
|
+
search_knowledge: "Pesquisar na base de conhecimento",
|
|
3260
|
+
visualize_data: "Criar gráfico",
|
|
3261
|
+
add_field: "Adicionar campo",
|
|
3262
|
+
apply_blueprint: "Construir o aplicativo",
|
|
3263
|
+
apply_edit: "Aplicar alterações",
|
|
3264
|
+
create_metadata: "Criar metadados",
|
|
3265
|
+
create_object: "Criar objeto",
|
|
3266
|
+
create_package: "Criar pacote",
|
|
3267
|
+
create_seed: "Gerar dados de exemplo",
|
|
3268
|
+
delete_field: "Excluir campo",
|
|
3269
|
+
describe_metadata: "Consultar metadados",
|
|
3270
|
+
describe_object: "Consultar a estrutura do objeto",
|
|
3271
|
+
get_active_package: "Obter o pacote ativo",
|
|
3272
|
+
get_authoring_rules: "Ler as regras de autoria",
|
|
3273
|
+
get_metadata_schema: "Obter o esquema de metadados",
|
|
3274
|
+
get_package: "Obter pacote",
|
|
3275
|
+
list_metadata: "Listar metadados",
|
|
3276
|
+
list_objects: "Listar objetos",
|
|
3277
|
+
list_packages: "Listar pacotes",
|
|
3278
|
+
load_tools: "Carregar ferramentas",
|
|
3279
|
+
modify_field: "Modificar campo",
|
|
3280
|
+
open_record: "Abrir registro",
|
|
3281
|
+
propose_blueprint: "Projetar o plano do aplicativo",
|
|
3282
|
+
set_active_package: "Trocar o pacote ativo",
|
|
3283
|
+
suggest_builder: "Sugerir como construir",
|
|
3284
|
+
test_flow: "Testar o fluxo",
|
|
3285
|
+
todo_write: "Anotar tarefas",
|
|
3286
|
+
toggle_flow: "Ativar ou desativar o fluxo",
|
|
3287
|
+
update_metadata: "Atualizar metadados",
|
|
3288
|
+
validate_expression: "Validar expressão",
|
|
3289
|
+
verify_build: "Verificar a construção",
|
|
3290
|
+
},
|
|
3291
|
+
toolState: {
|
|
3292
|
+
agentActivity: "Atividade do agente",
|
|
3293
|
+
pending: "Pendente",
|
|
3294
|
+
running: "Em execução",
|
|
3295
|
+
awaitingApproval: "Aguardando aprovação",
|
|
3296
|
+
responded: "Respondido",
|
|
3297
|
+
completed: "Concluído",
|
|
3298
|
+
error: "Erro",
|
|
3299
|
+
denied: "Negado",
|
|
3300
|
+
failed: "Falhou",
|
|
3301
|
+
},
|
|
3302
|
+
plan: {
|
|
3303
|
+
countObjects: "{{count}} objetos",
|
|
3304
|
+
countObjects_one: "{{count}} objeto",
|
|
3305
|
+
countObjects_many: "{{count}} de objetos",
|
|
3306
|
+
countObjects_other: "{{count}} objetos",
|
|
3307
|
+
countViews: "{{count}} visões",
|
|
3308
|
+
countViews_one: "{{count}} visão",
|
|
3309
|
+
countViews_many: "{{count}} de visões",
|
|
3310
|
+
countViews_other: "{{count}} visões",
|
|
3311
|
+
countDashboards: "{{count}} painéis",
|
|
3312
|
+
countDashboards_one: "{{count}} painel",
|
|
3313
|
+
countDashboards_many: "{{count}} de painéis",
|
|
3314
|
+
countDashboards_other: "{{count}} painéis",
|
|
3315
|
+
countSeedData: "dados de exemplo",
|
|
3316
|
+
},
|
|
3317
|
+
build: {
|
|
3318
|
+
building: "Criando {{app}}…",
|
|
3319
|
+
built: "Criação de {{app}} concluída",
|
|
3320
|
+
appFallback: "seu aplicativo",
|
|
3321
|
+
addingSampleData: "adicionando dados de exemplo",
|
|
3322
|
+
group: {
|
|
3323
|
+
object: "Objetos",
|
|
3324
|
+
view: "Visões",
|
|
3325
|
+
dashboard: "Painéis",
|
|
3326
|
+
app: "Aplicativo",
|
|
3327
|
+
seed: "Dados de exemplo",
|
|
3328
|
+
},
|
|
3329
|
+
moreArtifacts: "+{{n}} mais",
|
|
3330
|
+
},
|
|
3331
|
+
},
|
|
2769
3332
|
chatbotError: {
|
|
2770
3333
|
title: "Falha na resposta",
|
|
2771
3334
|
fallbackDetail: "Algo deu errado. Tente novamente.",
|
|
@@ -2846,7 +3409,7 @@ const pt = {
|
|
|
2846
3409
|
},
|
|
2847
3410
|
title: "Marketplace de aplicativos",
|
|
2848
3411
|
subtitle: "Explore aplicativos aprovados publicados no catálogo ObjectStack. Clique em um aplicativo para ver os detalhes e instalá-lo em um de seus ambientes.",
|
|
2849
|
-
searchPlaceholder:
|
|
3412
|
+
searchPlaceholder: 'Pesquisar aplicativos por nome ou ID do aplicativo…',
|
|
2850
3413
|
searchAria: "Pesquisar aplicativos do marketplace",
|
|
2851
3414
|
installed: "Instalado",
|
|
2852
3415
|
installedCount: "Instalados ({{count}})",
|
|
@@ -2894,10 +3457,17 @@ const pt = {
|
|
|
2894
3457
|
purgeSampleData: 'Remover dados de exemplo',
|
|
2895
3458
|
purgeConfirm: 'Excluir todos os registros de exemplo criados por este pacote? Os registros adicionados pelo usuário NÃO serão afetados.',
|
|
2896
3459
|
purgeSuccess: '{{count}} registro(s) de exemplo removido(s).',
|
|
3460
|
+
purgeSuccess_one: '{{count}} registro de exemplo removido.',
|
|
3461
|
+
purgeSuccess_many: '{{count}} de registros de exemplo removidos.',
|
|
3462
|
+
purgeSuccess_other: '{{count}} registros de exemplo removidos.',
|
|
2897
3463
|
purgeNoData: 'Nenhum registro de exemplo encontrado para remover.',
|
|
2898
3464
|
reseedQueued: 'Os dados de exemplo serão recarregados no próximo acesso ao ambiente.',
|
|
2899
3465
|
reseedLocalSuccess: 'Dados de exemplo recarregados: {{inserted}} inseridos, {{updated}} atualizados.',
|
|
2900
3466
|
reseedPartialErrors: '({{count}} registro(s) não puderam ser gravados)',
|
|
3467
|
+
reseedPartialErrors_one: '({{count}} registro não pôde ser gravado)',
|
|
3468
|
+
reseedPartialErrors_many: '({{count}} de registros não puderam ser gravados)',
|
|
3469
|
+
reseedPartialErrors_other: '({{count}} registros não puderam ser gravados)',
|
|
3470
|
+
sampleDataKernelUnavailable: 'Este plano de controle não tem um kernel de ambiente, portanto os dados de exemplo não podem ser recarregados nem removidos aqui. Faça isso no runtime do próprio ambiente.',
|
|
2901
3471
|
updateAvailable: 'Atualização disponível',
|
|
2902
3472
|
},
|
|
2903
3473
|
action: {
|
|
@@ -2950,7 +3520,8 @@ const pt = {
|
|
|
2950
3520
|
reviewed: "Revisado e aprovado",
|
|
2951
3521
|
unreviewed: "Ainda não revisado",
|
|
2952
3522
|
signed: "Assinado",
|
|
2953
|
-
grantsIntro: "
|
|
3523
|
+
grantsIntro: "Este pacote solicita:",
|
|
3524
|
+
notEnforced: "Esta lista é registada na instalação e reconfirmada se uma versão posterior pedir mais, mas o runtime ainda não restringe o pacote a ela.",
|
|
2954
3525
|
services: "Serviços da plataforma",
|
|
2955
3526
|
hooks: "Hooks de ciclo de vida",
|
|
2956
3527
|
network: "Acesso à rede",
|
|
@@ -2989,30 +3560,21 @@ const pt = {
|
|
|
2989
3560
|
storage: "Armazenamento",
|
|
2990
3561
|
other: "Outro",
|
|
2991
3562
|
},
|
|
2992
|
-
pricing: {
|
|
2993
|
-
free: "Grátis",
|
|
2994
|
-
freemium: "Freemium",
|
|
2995
|
-
paid: "Pago",
|
|
2996
|
-
subscription: "Assinatura",
|
|
2997
|
-
"usage-based": "Por uso",
|
|
2998
|
-
"contact-sales": "Contatar vendas",
|
|
2999
|
-
},
|
|
3000
3563
|
relativeTime: {
|
|
3001
3564
|
today: "hoje",
|
|
3002
3565
|
daysAgo: "há {{count}}d",
|
|
3003
3566
|
monthsAgo: "há {{count}} meses",
|
|
3567
|
+
monthsAgo_one: "há {{count}} mês",
|
|
3568
|
+
monthsAgo_many: "há {{count}} meses",
|
|
3569
|
+
monthsAgo_other: "há {{count}} meses",
|
|
3004
3570
|
yearsAgo: "há {{count}} anos",
|
|
3571
|
+
yearsAgo_one: "há {{count}} ano",
|
|
3572
|
+
yearsAgo_many: "há {{count}} anos",
|
|
3573
|
+
yearsAgo_other: "há {{count}} anos",
|
|
3005
3574
|
},
|
|
3006
3575
|
},
|
|
3007
|
-
approvals: {
|
|
3008
|
-
approve: 'Aprovar',
|
|
3009
|
-
reject: 'Rejeitar',
|
|
3010
|
-
comment: 'Comentário (opcional)',
|
|
3011
|
-
approveSuccess: 'Aprovado',
|
|
3012
|
-
rejectSuccess: 'Rejeitado',
|
|
3013
|
-
rejectConfirm: 'Rejeitar esta solicitação de aprovação?',
|
|
3014
|
-
},
|
|
3015
3576
|
approvalsInbox: {
|
|
3577
|
+
recordUnresolvable: 'Este registro não pode ser aberto',
|
|
3016
3578
|
loadMore: 'Carregar mais',
|
|
3017
3579
|
loadingMore: 'Carregando…',
|
|
3018
3580
|
loadedOf: '{{loaded}} de {{total}} carregadas',
|
|
@@ -3031,6 +3593,9 @@ const pt = {
|
|
|
3031
3593
|
requestInfoSent: 'Devolvida ao solicitante para complemento',
|
|
3032
3594
|
remindBtn: 'Lembrar',
|
|
3033
3595
|
remindSuccess: 'Lembrete enviado a {{count}} aprovador(es)',
|
|
3596
|
+
remindSuccess_one: 'Lembrete enviado a {{count}} aprovador',
|
|
3597
|
+
remindSuccess_many: 'Lembrete enviado a {{count}} de aprovadores',
|
|
3598
|
+
remindSuccess_other: 'Lembrete enviado a {{count}} aprovadores',
|
|
3034
3599
|
remindThrottled: 'Um lembrete já foi enviado há pouco — tente mais tarde.',
|
|
3035
3600
|
replyPlaceholder: 'Responder nesta solicitação…',
|
|
3036
3601
|
slaRemaining: 'SLA: faltam {{dur}}',
|
|
@@ -3047,6 +3612,9 @@ const pt = {
|
|
|
3047
3612
|
progressApprovals: 'Aprovações — {{got}} de {{need}}',
|
|
3048
3613
|
progressGroups: 'Progresso de assinaturas — {{got}} de {{need}} grupos',
|
|
3049
3614
|
progressEligible: '{{count}} aprovador(es) elegível(eis)',
|
|
3615
|
+
progressEligible_one: '{{count}} aprovador elegível',
|
|
3616
|
+
progressEligible_many: '{{count}} de aprovadores elegíveis',
|
|
3617
|
+
progressEligible_other: '{{count}} aprovadores elegíveis',
|
|
3050
3618
|
progressBar: 'Progresso da decisão',
|
|
3051
3619
|
declaredActions: 'Ações',
|
|
3052
3620
|
attachmentChip: 'Anexo',
|
|
@@ -3078,6 +3646,9 @@ const pt = {
|
|
|
3078
3646
|
filterCount: '{{shown}} de {{total}}',
|
|
3079
3647
|
selected: 'selecionadas',
|
|
3080
3648
|
actionableCount: '({{count}} acionáveis)',
|
|
3649
|
+
actionableCount_one: '({{count}} acionável)',
|
|
3650
|
+
actionableCount_many: '({{count}} acionáveis)',
|
|
3651
|
+
actionableCount_other: '({{count}} acionáveis)',
|
|
3081
3652
|
selectAll: 'Selecionar tudo',
|
|
3082
3653
|
selectRow: 'Selecionar solicitação',
|
|
3083
3654
|
colRequest: 'Solicitação',
|
|
@@ -3151,11 +3722,23 @@ const pt = {
|
|
|
3151
3722
|
approveN: 'Aprovar {{count}}',
|
|
3152
3723
|
rejectN: 'Rejeitar {{count}}',
|
|
3153
3724
|
bulkApproveTitle: 'Aprovar {{count}} solicitações?',
|
|
3725
|
+
bulkApproveTitle_one: 'Aprovar {{count}} solicitação?',
|
|
3726
|
+
bulkApproveTitle_many: 'Aprovar {{count}} de solicitações?',
|
|
3727
|
+
bulkApproveTitle_other: 'Aprovar {{count}} solicitações?',
|
|
3154
3728
|
bulkApproveBody: 'Cada solicitação é aprovada com sua identidade e o fluxo segue pelo ramo de aprovação.',
|
|
3155
3729
|
bulkRejectTitle: 'Rejeitar {{count}} solicitações?',
|
|
3730
|
+
bulkRejectTitle_one: 'Rejeitar {{count}} solicitação?',
|
|
3731
|
+
bulkRejectTitle_many: 'Rejeitar {{count}} de solicitações?',
|
|
3732
|
+
bulkRejectTitle_other: 'Rejeitar {{count}} solicitações?',
|
|
3156
3733
|
bulkRejectBody: 'As solicitações selecionadas serão rejeitadas e os solicitantes notificados.',
|
|
3157
3734
|
bulkApproved: '{{count}} solicitações aprovadas',
|
|
3735
|
+
bulkApproved_one: '{{count}} solicitação aprovada',
|
|
3736
|
+
bulkApproved_many: '{{count}} de solicitações aprovadas',
|
|
3737
|
+
bulkApproved_other: '{{count}} solicitações aprovadas',
|
|
3158
3738
|
bulkRejected: '{{count}} solicitações rejeitadas',
|
|
3739
|
+
bulkRejected_one: '{{count}} solicitação rejeitada',
|
|
3740
|
+
bulkRejected_many: '{{count}} de solicitações rejeitadas',
|
|
3741
|
+
bulkRejected_other: '{{count}} solicitações rejeitadas',
|
|
3159
3742
|
bulkPartial: '{{ok}} com sucesso, {{fail}} falharam: {{which}}',
|
|
3160
3743
|
rejectOneTitle: 'Rejeitar "{{title}}"?',
|
|
3161
3744
|
rejectOneBody: 'A solicitação será rejeitada e o solicitante notificado.',
|
|
@@ -3180,8 +3763,17 @@ const pt = {
|
|
|
3180
3763
|
alreadyDecided: 'Esta solicitação já foi decidida. Atualize a lista.',
|
|
3181
3764
|
justNow: 'agora mesmo',
|
|
3182
3765
|
minutesAgo: 'há {{count}} min',
|
|
3766
|
+
minutesAgo_one: 'há {{count}} min',
|
|
3767
|
+
minutesAgo_many: 'há {{count}} min',
|
|
3768
|
+
minutesAgo_other: 'há {{count}} min',
|
|
3183
3769
|
hoursAgo: 'há {{count}} h',
|
|
3770
|
+
hoursAgo_one: 'há {{count}} h',
|
|
3771
|
+
hoursAgo_many: 'há {{count}} h',
|
|
3772
|
+
hoursAgo_other: 'há {{count}} h',
|
|
3184
3773
|
daysAgo: 'há {{count}} dias',
|
|
3774
|
+
daysAgo_one: 'há {{count}} dia',
|
|
3775
|
+
daysAgo_many: 'há {{count}} dias',
|
|
3776
|
+
daysAgo_other: 'há {{count}} dias',
|
|
3185
3777
|
},
|
|
3186
3778
|
preview: {
|
|
3187
3779
|
empty: {
|
|
@@ -3216,11 +3808,17 @@ const pt = {
|
|
|
3216
3808
|
detailNone: 'Nenhuma diferença detectada — o rascunho corresponde à versão publicada.',
|
|
3217
3809
|
detailChangedKeys: 'Também alterado:',
|
|
3218
3810
|
confirmNote: 'Publicar libera atomicamente todos os {{count}} rascunhos pendentes deste pacote.',
|
|
3811
|
+
confirmNote_one: 'Publicar libera atomicamente {{count}} rascunho pendente deste pacote.',
|
|
3812
|
+
confirmNote_many: 'Publicar libera atomicamente todos os {{count}} de rascunhos pendentes deste pacote.',
|
|
3813
|
+
confirmNote_other: 'Publicar libera atomicamente todos os {{count}} rascunhos pendentes deste pacote.',
|
|
3219
3814
|
publishConfirm: 'Publicar tudo',
|
|
3220
|
-
// [
|
|
3815
|
+
// [`7a90afdf9`] Pre-publish security-posture findings, shown next to
|
|
3221
3816
|
// the confirm button so a refusal the door would issue is read BEFORE
|
|
3222
3817
|
// the click rather than as a toast after the batch rolled back.
|
|
3223
3818
|
securityBlockTitle: 'A publicação será recusada — {{count}} item(ns) precisam de uma decisão primeiro',
|
|
3819
|
+
securityBlockTitle_one: 'A publicação será recusada — {{count}} item precisa de uma decisão primeiro',
|
|
3820
|
+
securityBlockTitle_many: 'A publicação será recusada — {{count}} de itens precisam de uma decisão primeiro',
|
|
3821
|
+
securityBlockTitle_other: 'A publicação será recusada — {{count}} itens precisam de uma decisão primeiro',
|
|
3224
3822
|
securityBlockWhere: 'Corrija no objeto em Configurações → Compartilhamento de registros e publique novamente.',
|
|
3225
3823
|
},
|
|
3226
3824
|
// ADR-0045 — the materialized-but-unlisted app banner
|
|
@@ -3245,7 +3843,7 @@ const pt = {
|
|
|
3245
3843
|
revertLabel: 'Uma alteração foi desfeita',
|
|
3246
3844
|
applyLabel: 'Alteração de compilação',
|
|
3247
3845
|
revert: 'desfazer',
|
|
3248
|
-
items: '
|
|
3846
|
+
items: 'Itens: {{count}}',
|
|
3249
3847
|
revertAction: 'Desfazer',
|
|
3250
3848
|
reverted: 'Desfeito — a alteração foi revertida.',
|
|
3251
3849
|
revertFailed: 'Falha ao desfazer',
|
|
@@ -3274,25 +3872,25 @@ const pt = {
|
|
|
3274
3872
|
rangeEnd: "Até",
|
|
3275
3873
|
operators: {
|
|
3276
3874
|
equals: "Igual a",
|
|
3277
|
-
|
|
3875
|
+
not_equals: "Diferente de",
|
|
3278
3876
|
contains: "Contém",
|
|
3279
|
-
|
|
3280
|
-
|
|
3281
|
-
|
|
3282
|
-
|
|
3283
|
-
|
|
3284
|
-
|
|
3285
|
-
|
|
3286
|
-
|
|
3877
|
+
icontains: "Contém (ignorar maiúsculas)",
|
|
3878
|
+
not_contains: "Não contém",
|
|
3879
|
+
is_empty: "Está vazio",
|
|
3880
|
+
is_not_empty: "Não está vazio",
|
|
3881
|
+
greater_than: "Maior que",
|
|
3882
|
+
less_than: "Menor que",
|
|
3883
|
+
greater_than_or_equal: "Maior ou igual",
|
|
3884
|
+
less_than_or_equal: "Menor ou igual",
|
|
3287
3885
|
before: "Antes de",
|
|
3288
3886
|
after: "Depois de",
|
|
3289
3887
|
between: "Entre",
|
|
3290
3888
|
in: "Em",
|
|
3291
|
-
|
|
3292
|
-
|
|
3293
|
-
|
|
3294
|
-
|
|
3295
|
-
|
|
3889
|
+
not_in: "Não em",
|
|
3890
|
+
starts_with: "Começa com",
|
|
3891
|
+
ends_with: "Termina com",
|
|
3892
|
+
is_null: "É null",
|
|
3893
|
+
is_not_null: "Não é null",
|
|
3296
3894
|
exists: "Está definido",
|
|
3297
3895
|
notExists: "Não está definido",
|
|
3298
3896
|
},
|
|
@@ -3308,7 +3906,9 @@ const pt = {
|
|
|
3308
3906
|
},
|
|
3309
3907
|
collaboration: {
|
|
3310
3908
|
commentCount: "{{count}} comentários",
|
|
3311
|
-
|
|
3909
|
+
commentCount_one: "{{count}} comentário",
|
|
3910
|
+
commentCount_many: "{{count}} de comentários",
|
|
3911
|
+
commentCount_other: "{{count}} comentários",
|
|
3312
3912
|
resolvedSuffix: " · Resolvido",
|
|
3313
3913
|
sortComments: "Ordenar comentários",
|
|
3314
3914
|
sortOldest: "Mais antigos",
|
|
@@ -3317,11 +3917,22 @@ const pt = {
|
|
|
3317
3917
|
reopen: "Reabrir",
|
|
3318
3918
|
justNow: "agora mesmo",
|
|
3319
3919
|
minutesAgo: "há {{count}} min",
|
|
3920
|
+
minutesAgo_one: "há {{count}} min",
|
|
3921
|
+
minutesAgo_many: "há {{count}} min",
|
|
3922
|
+
minutesAgo_other: "há {{count}} min",
|
|
3320
3923
|
hoursAgo: "há {{count}} h",
|
|
3924
|
+
hoursAgo_one: "há {{count}} h",
|
|
3925
|
+
hoursAgo_many: "há {{count}} h",
|
|
3926
|
+
hoursAgo_other: "há {{count}} h",
|
|
3321
3927
|
daysAgo: "há {{count}} d",
|
|
3928
|
+
daysAgo_one: "há {{count}} d",
|
|
3929
|
+
daysAgo_many: "há {{count}} d",
|
|
3930
|
+
daysAgo_other: "há {{count}} d",
|
|
3322
3931
|
edited: "(editado)",
|
|
3323
3932
|
reactionCount: "{{count}} reações",
|
|
3324
|
-
|
|
3933
|
+
reactionCount_one: "{{count}} reação",
|
|
3934
|
+
reactionCount_many: "{{count}} de reações",
|
|
3935
|
+
reactionCount_other: "{{count}} reações",
|
|
3325
3936
|
addThumbsUp: "Adicionar curtida",
|
|
3326
3937
|
reply: "Responder",
|
|
3327
3938
|
reactThumbsUp: "Reagir com curtida",
|
|
@@ -3332,9 +3943,13 @@ const pt = {
|
|
|
3332
3943
|
commentPlaceholder: "Adicionar um comentário… (use @ para mencionar)",
|
|
3333
3944
|
send: "Enviar",
|
|
3334
3945
|
presentUserCount: "{{count}} usuários presentes",
|
|
3335
|
-
|
|
3946
|
+
presentUserCount_one: "{{count}} usuário presente",
|
|
3947
|
+
presentUserCount_many: "{{count}} de usuários presentes",
|
|
3948
|
+
presentUserCount_other: "{{count}} usuários presentes",
|
|
3336
3949
|
moreUserCount: "mais {{count}} usuários",
|
|
3337
|
-
|
|
3950
|
+
moreUserCount_one: "mais {{count}} usuário",
|
|
3951
|
+
moreUserCount_many: "mais {{count}} de usuários",
|
|
3952
|
+
moreUserCount_other: "mais {{count}} usuários",
|
|
3338
3953
|
userStatusTitle: "{{name}} ({{status}})",
|
|
3339
3954
|
statusActive: "ativo",
|
|
3340
3955
|
statusIdle: "inativo",
|
|
@@ -3342,6 +3957,11 @@ const pt = {
|
|
|
3342
3957
|
},
|
|
3343
3958
|
wizard: {
|
|
3344
3959
|
missingRequired: "Preencha os campos obrigatórios: {{fields}}",
|
|
3960
|
+
back: "Voltar",
|
|
3961
|
+
submitting: "Enviando…",
|
|
3962
|
+
stepFallback: "Etapa {{n}}",
|
|
3963
|
+
progressLabel: "Progresso",
|
|
3964
|
+
emptyStep: "Nenhum campo configurado para esta etapa",
|
|
3345
3965
|
},
|
|
3346
3966
|
flowRunner: {
|
|
3347
3967
|
title: 'Entrada',
|
|
@@ -3399,5 +4019,49 @@ const pt = {
|
|
|
3399
4019
|
bulkOperationFailed: "Falha na operação em massa: {{reason}}",
|
|
3400
4020
|
},
|
|
3401
4021
|
},
|
|
4022
|
+
// objectui#6301 — Configuração › Automação de pacotes (ADR-0126 §7.4).
|
|
4023
|
+
// Terminologia do pack: `common.package` = Pacote, `flowRunner.completed` =
|
|
4024
|
+
// Fluxo, aspas "…". ⛔ Nenhuma formulação de linhagem ou desvio neste
|
|
4025
|
+
// grupo (§9).
|
|
4026
|
+
packagedAutomation: {
|
|
4027
|
+
title: "Automação de pacotes",
|
|
4028
|
+
subtitle: "Fluxos e ações fornecidos pelos pacotes instalados. Desligue um nesta implantação ou clone um fluxo com um novo nome para personalizá-lo. A edição acontece no Studio.",
|
|
4029
|
+
refresh: "Atualizar",
|
|
4030
|
+
flowsHeading: "Fluxos de pacote",
|
|
4031
|
+
actionsHeading: "Ações de pacote",
|
|
4032
|
+
colFlow: "Fluxo",
|
|
4033
|
+
colActivation: "Ativação",
|
|
4034
|
+
colActions: "Ações",
|
|
4035
|
+
toggleLabel: "Ativação de {{label}}",
|
|
4036
|
+
on: "Ativado",
|
|
4037
|
+
off: "Desativado",
|
|
4038
|
+
clone: "Clonar",
|
|
4039
|
+
cloneTitle: "Clonar fluxo do pacote",
|
|
4040
|
+
cloneBody: "A cópia mantém toda a definição e exige um novo nome de máquina e um novo rótulo. Edite a cópia no Studio.",
|
|
4041
|
+
cloneName: "Novo nome de máquina",
|
|
4042
|
+
cloneLabel: "Novo rótulo",
|
|
4043
|
+
cancel: "Cancelar",
|
|
4044
|
+
cloneConfirm: "Criar clone",
|
|
4045
|
+
cloneCreated: 'Fluxo "{{name}}" criado.',
|
|
4046
|
+
emptyTitle: "Nenhum fluxo de pacote",
|
|
4047
|
+
emptyBody: "Nenhum pacote instalado fornece um fluxo de automação nesta implantação. Os fluxos que você mesmo cria ficam no Studio.",
|
|
4048
|
+
loadFailed: "Não foi possível carregar a automação de pacotes.",
|
|
4049
|
+
toggleFailedHttp: "Não foi possível alterar a ativação (HTTP {{status}}).",
|
|
4050
|
+
toggleFailed: "Não foi possível alterar a ativação.",
|
|
4051
|
+
cloneFailedHttp: "Não foi possível clonar este fluxo (HTTP {{status}}).",
|
|
4052
|
+
cloneFailed: "Não foi possível clonar este fluxo.",
|
|
4053
|
+
actionsSubtitle: "Ações fornecidas pelos pacotes instalados. Desligue uma nesta implantação e ela deixa de ser executada em todos os lugares onde é oferecida. Criar sua própria ação ao lado dela continua disponível no Studio.",
|
|
4054
|
+
colAction: "Ação",
|
|
4055
|
+
colObject: "Objeto",
|
|
4056
|
+
actionToggleLabel: "Ativação de {{label}} em {{object}}",
|
|
4057
|
+
actionsEmptyTitle: "Nenhuma ação de pacote",
|
|
4058
|
+
actionsEmptyBody: "Nenhum pacote instalado declara uma ação nesta implantação. As ações que você mesmo cria ficam no Studio.",
|
|
4059
|
+
actionsLoadFailed: "Não foi possível carregar as ações de pacote.",
|
|
4060
|
+
},
|
|
4061
|
+
element: {
|
|
4062
|
+
number: {
|
|
4063
|
+
noObject: "Nenhum objeto indicado: defina object ou dataSource.object.",
|
|
4064
|
+
},
|
|
4065
|
+
},
|
|
3402
4066
|
};
|
|
3403
4067
|
export default pt;
|