@object-ui/i18n 17.6.0 → 18.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +5408 -0
- package/README.md +255 -13
- package/dist/LocalizationContext.d.ts +32 -9
- package/dist/LocalizationContext.js +32 -10
- 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 +8 -13
- package/dist/index.js +45 -17
- package/dist/locales/ar.d.ts +1504 -188
- package/dist/locales/ar.js +1711 -281
- package/dist/locales/de.d.ts +1080 -188
- package/dist/locales/de.js +1248 -261
- package/dist/locales/en.d.ts +1141 -249
- package/dist/locales/en.js +1714 -295
- package/dist/locales/es.d.ts +1186 -188
- package/dist/locales/es.js +1350 -255
- package/dist/locales/fr.d.ts +1186 -188
- package/dist/locales/fr.js +1351 -258
- package/dist/locales/index.d.ts +11940 -2033
- package/dist/locales/index.js +48 -9
- package/dist/locales/ja.d.ts +1080 -188
- package/dist/locales/ja.js +1240 -254
- package/dist/locales/ko.d.ts +1080 -188
- package/dist/locales/ko.js +1244 -258
- package/dist/locales/pt.d.ts +1186 -188
- package/dist/locales/pt.js +1350 -255
- 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 +1292 -188
- package/dist/locales/ru.js +1479 -272
- package/dist/locales/zh.d.ts +1144 -252
- package/dist/locales/zh.js +1245 -259
- 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 +143 -100
- package/dist/useObjectLabel.js +129 -82
- package/dist/useSafeTranslation.js +40 -42
- package/dist/utils/first-day-of-week.d.ts +71 -0
- package/dist/utils/first-day-of-week.js +61 -0
- package/dist/utils/formatting.d.ts +23 -1
- package/dist/utils/formatting.js +34 -5
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.js +1 -0
- 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
|
@@ -13,16 +13,19 @@ const pt = {
|
|
|
13
13
|
notRestored: 'O servidor aceitou a solicitação, mas não restaurou sua sessão de administrador — você ainda está personificando {{user}}. Saia e entre novamente para encerrar.',
|
|
14
14
|
},
|
|
15
15
|
},
|
|
16
|
-
// objectui#2600 B5 — capability picker scope group headers (labels come from the
|
|
16
|
+
// objectui#2600 B5 — capability picker scope group headers (labels come from the capability registry).
|
|
17
17
|
capability: {
|
|
18
18
|
label: {
|
|
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_mailboxes: "Gerenciar caixas de correio",
|
|
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",
|
|
28
|
+
view_all_audit_log: "Ver todo o registro de auditoria",
|
|
26
29
|
},
|
|
27
30
|
group: {
|
|
28
31
|
platform: 'Plataforma',
|
|
@@ -30,25 +33,6 @@ const pt = {
|
|
|
30
33
|
other: 'Outro',
|
|
31
34
|
},
|
|
32
35
|
},
|
|
33
|
-
// objectui#3546 slice six — o resumo somente leitura das facetas de
|
|
34
|
-
// autorização de PermissionFacetLink. "aba" como em list.tabs.
|
|
35
|
-
perm: {
|
|
36
|
-
facet: {
|
|
37
|
-
none: "Nenhum",
|
|
38
|
-
more: "+{{count}} mais",
|
|
39
|
-
objects: "{{count}} objetos",
|
|
40
|
-
objects_one: "{{count}} objeto",
|
|
41
|
-
fields: "{{count}} regras de campo",
|
|
42
|
-
fields_one: "{{count}} regra de campo",
|
|
43
|
-
rls: "{{count}} políticas RLS",
|
|
44
|
-
rls_one: "{{count}} política RLS",
|
|
45
|
-
tabs: "{{count}} regras de aba",
|
|
46
|
-
tabs_one: "{{count}} regra de aba",
|
|
47
|
-
adminScope: "Administração delegada configurada",
|
|
48
|
-
designInStudio: "Projetar no Studio →",
|
|
49
|
-
designInStudioHint: "Projetar no Studio",
|
|
50
|
-
},
|
|
51
|
-
},
|
|
52
36
|
lookup: {
|
|
53
37
|
recentlyUsed: 'Usados recentemente',
|
|
54
38
|
allResults: 'Todos os resultados',
|
|
@@ -62,7 +46,9 @@ const pt = {
|
|
|
62
46
|
selectFirst: 'Selecione primeiro {{fields}}',
|
|
63
47
|
selectRecord: 'Selecionar registro',
|
|
64
48
|
recordCount: '{{count}} registros',
|
|
65
|
-
|
|
49
|
+
recordCount_one: '{{count}} registro',
|
|
50
|
+
recordCount_many: '{{count}} de registros',
|
|
51
|
+
recordCount_other: '{{count}} registros',
|
|
66
52
|
pageOf: 'Página {{current}} de {{total}}',
|
|
67
53
|
filters: 'Filtros',
|
|
68
54
|
clear: 'Limpar',
|
|
@@ -115,14 +101,27 @@ const pt = {
|
|
|
115
101
|
closePanel: "Fechar painel",
|
|
116
102
|
resizeDrawer: "Redimensionar painel",
|
|
117
103
|
itemCount: "{{count}} itens",
|
|
118
|
-
|
|
104
|
+
itemCount_one: "{{count}} item",
|
|
105
|
+
itemCount_many: "{{count}} de itens",
|
|
106
|
+
itemCount_other: "{{count}} itens",
|
|
119
107
|
toggleSidebar: "Alternar barra lateral",
|
|
108
|
+
breadcrumb: "Trilha de navegação",
|
|
120
109
|
package: "Pacote",
|
|
121
110
|
done: "Concluído",
|
|
122
111
|
editInStudio: "Editar no Studio",
|
|
123
112
|
record: "Registro",
|
|
124
113
|
retry: "Tentar novamente",
|
|
125
114
|
printDialogHint: "Abre a caixa de diálogo de impressão do navegador (não é uma exportação para PDF)",
|
|
115
|
+
// The non-grid row ceiling's footnote (objectui#7210). Two keys because
|
|
116
|
+
// there are two conditions: a reported `total` states the fact with BOTH
|
|
117
|
+
// numbers, a missing one cannot name how many. Kept terse deliberately —
|
|
118
|
+
// this copy is eagerly loaded, and since objectui#7399 these bytes are
|
|
119
|
+
// budgeted by the `i18n-locales` chunk, not `framework`. ⛔ That ceiling's
|
|
120
|
+
// headroom is deliberately NOT restated here — it moves on every
|
|
121
|
+
// re-baseline, and the figure that was here went stale.
|
|
122
|
+
// `pnpm check:eager-closure` prints it.
|
|
123
|
+
rowCeilingNote: "Mostrando os primeiros {{shown}} de {{total}} registros. Restrinja o filtro.",
|
|
124
|
+
rowCeilingNoteUnknownTotal: "Mostrando os primeiros {{shown}} registros. Restrinja o filtro.",
|
|
126
125
|
},
|
|
127
126
|
actions: {
|
|
128
127
|
decisionOutput: {
|
|
@@ -134,6 +133,15 @@ const pt = {
|
|
|
134
133
|
acknowledge: 'Eu o salvei',
|
|
135
134
|
copyAll: 'Copiar tudo',
|
|
136
135
|
},
|
|
136
|
+
notAvailableHere: '"{{action}}" não está disponível na página atual.',
|
|
137
|
+
notAvailableForRecord: 'Não disponível para este registro',
|
|
138
|
+
completedSuccessfully: 'A ação foi concluída com sucesso',
|
|
139
|
+
failed: 'A ação falhou',
|
|
140
|
+
parallelFailed: 'Uma ou mais ações paralelas falharam',
|
|
141
|
+
undo: 'Desfazer',
|
|
142
|
+
undone: 'Alteração desfeita',
|
|
143
|
+
undoneOperation: 'Desfazer: {{description}}',
|
|
144
|
+
redoneOperation: 'Refazer: {{description}}',
|
|
137
145
|
},
|
|
138
146
|
validation: {
|
|
139
147
|
required: "{{field}} é obrigatório",
|
|
@@ -151,19 +159,47 @@ const pt = {
|
|
|
151
159
|
},
|
|
152
160
|
form: {
|
|
153
161
|
noPermissionToSave: "Você não tem permissão para salvar este registro.",
|
|
162
|
+
noPermissionToCreate: "Você não tem permissão para criar registros de {{object}}. Os campos são somente leitura.",
|
|
163
|
+
noPermissionToEdit: "Você não tem permissão para editar registros de {{object}}. Os campos são somente leitura.",
|
|
154
164
|
submitFailed: "Não foi possível salvar. Tente novamente.",
|
|
165
|
+
uploadInFlight: "Aguarde a conclusão do upload antes de salvar.",
|
|
166
|
+
clearedOnHide: "O que não se aplica mais aos valores atuais foi limpo: {{fields}}",
|
|
167
|
+
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
168
|
discardTitle: "Descartar as alterações?",
|
|
156
169
|
discardMessage: "Você tem alterações não salvas. Se fechar este formulário agora, suas edições serão perdidas.",
|
|
157
170
|
// objectui#4024 — the create/edit dialog's `sr-only` accessible
|
|
158
171
|
// description, used when the form declares no `description` of its own.
|
|
159
172
|
dialogDescriptionFallback: "Preencha os campos do formulário e depois envie ou cancele.",
|
|
173
|
+
deniedDescription: "Você não tem permissão para editar este campo.",
|
|
174
|
+
serverDefaultHint: "Definido automaticamente ao salvar.",
|
|
175
|
+
maxFileSize: "Tamanho máximo: {{size}}",
|
|
176
|
+
masterDetail: {
|
|
177
|
+
loadingColumns: "Carregando colunas…",
|
|
178
|
+
subtotal: "Subtotal",
|
|
179
|
+
tax: "Imposto ({{rate}}%)",
|
|
180
|
+
total: "Total",
|
|
181
|
+
lineItem: "Item de linha",
|
|
182
|
+
rowTitle: "{{title}} — linha {{row}}",
|
|
183
|
+
applyRow: "Aplicar",
|
|
184
|
+
editorDescription: "Preencha o registro e seus itens de linha e depois salve.",
|
|
185
|
+
noChildObject: "Esta coleção não tem nenhum objeto filho configurado: defina {{property}} como o objeto cujas linhas ela lista.",
|
|
186
|
+
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.",
|
|
187
|
+
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.",
|
|
188
|
+
},
|
|
189
|
+
lineItems: {
|
|
190
|
+
title: "Itens de linha",
|
|
191
|
+
saveRecordFirst: "Salve o registro primeiro para adicionar itens de linha.",
|
|
192
|
+
notLoaded: "Os itens de linha deste registro não foram carregados.",
|
|
193
|
+
loadFailed: "Falha ao carregar os itens de linha",
|
|
194
|
+
saveFailed: "Falha ao salvar os itens de linha",
|
|
195
|
+
noChildObject: "Este painel não tem nenhum objeto filho configurado: defina {{property}} como o objeto cujas linhas ele lista.",
|
|
196
|
+
},
|
|
160
197
|
keepEditing: "Continuar editando",
|
|
161
198
|
discard: "Descartar",
|
|
162
199
|
conflictTitle: "Conflito ao salvar",
|
|
163
200
|
conflictMessage: "Outra pessoa alterou este registro enquanto você editava. Sobrescrever substituirá as alterações dela pelas suas.",
|
|
164
201
|
conflictLatestVersion: "Salvamento dela: {{time}}",
|
|
165
202
|
conflictOverwrite: "Sobrescrever",
|
|
166
|
-
addItem: "Adicionar item",
|
|
167
203
|
removeItem: "Remover item",
|
|
168
204
|
fieldRequired: "Este campo é obrigatório",
|
|
169
205
|
invalidFormat: "Formato inválido",
|
|
@@ -181,6 +217,12 @@ const pt = {
|
|
|
181
217
|
createSuccess: "{{object}} criado",
|
|
182
218
|
updateSuccess: "{{object}} atualizado",
|
|
183
219
|
deleteSuccess: "{{object}} excluído",
|
|
220
|
+
created: "Criado",
|
|
221
|
+
saved: "Salvo",
|
|
222
|
+
savedNamed: "{{title}} salvo",
|
|
223
|
+
submitted: "Enviado",
|
|
224
|
+
errorLoading: "Erro ao carregar formulário",
|
|
225
|
+
navigateRefused: "O destino `navigateOnSuccess` declarado para este formulário foi recusado, então a navegação não aconteceu.",
|
|
184
226
|
fullscreen: {
|
|
185
227
|
title: "Editar texto",
|
|
186
228
|
description: "Edite o valor de texto completo e depois salve ou cancele as alterações.",
|
|
@@ -199,12 +241,19 @@ const pt = {
|
|
|
199
241
|
remove: "Remover a imagem {{index}}",
|
|
200
242
|
enlarge: "Ampliar {{name}}",
|
|
201
243
|
preview: "Pré-visualização da imagem",
|
|
244
|
+
cropPreview: "Pré-visualização do recorte da imagem",
|
|
202
245
|
previous: "Imagem anterior",
|
|
203
246
|
next: "Próxima imagem",
|
|
204
247
|
counter: "{{current}} / {{total}}",
|
|
205
248
|
},
|
|
249
|
+
percent: {
|
|
250
|
+
slider: "Porcentagem",
|
|
251
|
+
},
|
|
206
252
|
relativeDate: {
|
|
207
253
|
overdue: "Atrasado {{count}} d",
|
|
254
|
+
overdue_one: "Atrasado {{count}} d",
|
|
255
|
+
overdue_many: "Atrasado {{count}} d",
|
|
256
|
+
overdue_other: "Atrasado {{count}} d",
|
|
208
257
|
},
|
|
209
258
|
file: {
|
|
210
259
|
dragDropHere: 'Arraste e solte arquivos aqui',
|
|
@@ -221,6 +270,9 @@ const pt = {
|
|
|
221
270
|
remove: 'Remover {{name}}',
|
|
222
271
|
exceedsMaxSize: '"{{name}}" excede o tamanho máximo ({{max}} MB)',
|
|
223
272
|
uploadFailed: 'Falha ao enviar "{{name}}": {{error}}',
|
|
273
|
+
uploadIncomplete: 'O envio de "{{name}}" não foi concluído: nenhum ID de arquivo foi retornado, então nada foi salvo',
|
|
274
|
+
restricted: 'Arquivo restrito',
|
|
275
|
+
restrictedHint: 'Você não tem acesso aos detalhes deste arquivo',
|
|
224
276
|
},
|
|
225
277
|
richText: {
|
|
226
278
|
format: "Formato: {{format}}",
|
|
@@ -237,6 +289,10 @@ const pt = {
|
|
|
237
289
|
search: "Pesquisar objetos…",
|
|
238
290
|
empty: "Nenhum objeto encontrado",
|
|
239
291
|
},
|
|
292
|
+
registryRef: {
|
|
293
|
+
loadFailed: "Não foi possível carregar a lista. Você ainda pode digitar o nome.",
|
|
294
|
+
notFound: "{{name}} (não encontrado)",
|
|
295
|
+
},
|
|
240
296
|
recipient: {
|
|
241
297
|
selectTypeFirst: "Selecione primeiro um tipo de destinatário.",
|
|
242
298
|
loading: "Carregando…",
|
|
@@ -248,6 +304,9 @@ const pt = {
|
|
|
248
304
|
selectBusinessUnit: "Selecionar uma unidade de negócio",
|
|
249
305
|
selectPosition: "Selecionar um cargo",
|
|
250
306
|
selectUnitAndSubordinates: "Selecionar uma unidade de negócio",
|
|
307
|
+
selectField: "Selecionar um campo de usuário",
|
|
308
|
+
noUserFields: "Este objeto não tem campos de usuário",
|
|
309
|
+
fieldNotUserTyped: "{{name}} — não é um campo de usuário",
|
|
251
310
|
},
|
|
252
311
|
filterCondition: {
|
|
253
312
|
selectObjectFirst: "Selecione primeiro um objeto.",
|
|
@@ -258,6 +317,33 @@ const pt = {
|
|
|
258
317
|
editAsJson: "Editar como JSON",
|
|
259
318
|
useVisualBuilder: "Usar o construtor visual",
|
|
260
319
|
},
|
|
320
|
+
object: {
|
|
321
|
+
invalidJson: "JSON inválido",
|
|
322
|
+
},
|
|
323
|
+
location: {
|
|
324
|
+
refusedFormat: "Não salvo: informe um par latitude, longitude (exemplo: 30.2741, 120.1551).",
|
|
325
|
+
refusedRange: "Não salvo: {{detail}}",
|
|
326
|
+
latitude: "latitude",
|
|
327
|
+
longitude: "longitude",
|
|
328
|
+
refusedResidueOne: "Não salvo: {{name}} “{{text}}” não é um número. Informe decimais simples (exemplo: 30.2741, 120.1551).",
|
|
329
|
+
refusedResidue: "Não salvo: {{name}} “{{text}}” e {{otherName}} “{{otherText}}” não são números. Informe decimais simples (exemplo: 30.2741, 120.1551).",
|
|
330
|
+
},
|
|
331
|
+
date: {
|
|
332
|
+
impossibleDay: "O valor salvo “{{value}}” não é uma data real. Escolha uma data para substituí-lo.",
|
|
333
|
+
},
|
|
334
|
+
dateTime: {
|
|
335
|
+
impossibleDay: "O valor salvo “{{value}}” não é uma data real. Escolha uma data e uma hora para substituí-lo.",
|
|
336
|
+
},
|
|
337
|
+
datePicker: {
|
|
338
|
+
today: "Hoje",
|
|
339
|
+
tomorrow: "Amanhã",
|
|
340
|
+
clear: "Limpar data",
|
|
341
|
+
openCalendar: "Abrir calendário",
|
|
342
|
+
invalid: "Não salvo: “{{value}}” não é uma data. Digite no formato {{format}} ou escolha no calendário.",
|
|
343
|
+
},
|
|
344
|
+
number: {
|
|
345
|
+
badInput: "Não salvo: o texto deste campo não é um número. Informe um decimal simples (exemplo: {{example}}).",
|
|
346
|
+
},
|
|
261
347
|
tags: {
|
|
262
348
|
placeholder: "Digite e pressione Enter para adicionar…",
|
|
263
349
|
},
|
|
@@ -269,10 +355,25 @@ const pt = {
|
|
|
269
355
|
postalCode: "Código postal",
|
|
270
356
|
country: "País",
|
|
271
357
|
},
|
|
358
|
+
boolean: {
|
|
359
|
+
offBadge: "{{label}} — Desativado",
|
|
360
|
+
completed: "Concluído",
|
|
361
|
+
notCompleted: "Não concluído",
|
|
362
|
+
},
|
|
272
363
|
textarea: {
|
|
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",
|
|
@@ -288,10 +389,15 @@ const pt = {
|
|
|
288
389
|
selectAllRows: "Selecionar todas as linhas",
|
|
289
390
|
expandRow: "Expandir linha",
|
|
290
391
|
collapseRow: "Recolher linha",
|
|
392
|
+
rowActions: "Ações da linha",
|
|
291
393
|
hideColumn: "Ocultar coluna",
|
|
292
394
|
freezeColumn: "Fixar coluna",
|
|
293
395
|
unfreezeColumn: "Soltar coluna",
|
|
294
396
|
pageInfo: "Página {{current}} de {{total}}",
|
|
397
|
+
firstPage: "Primeira página",
|
|
398
|
+
previousPage: "Página anterior",
|
|
399
|
+
nextPage: "Próxima página",
|
|
400
|
+
lastPage: "Última página",
|
|
295
401
|
totalRecords: "{{count}} no total",
|
|
296
402
|
noResults: "Sem resultados",
|
|
297
403
|
noResultsHint: "Tente ajustar seus filtros ou termos de pesquisa.",
|
|
@@ -301,23 +407,46 @@ const pt = {
|
|
|
301
407
|
open: "Abrir",
|
|
302
408
|
search: "Pesquisar…",
|
|
303
409
|
modified: "{{count}} linha(s) modificada(s)",
|
|
410
|
+
modified_one: "{{count}} linha modificada",
|
|
411
|
+
modified_many: "{{count}} de linhas modificadas",
|
|
412
|
+
modified_other: "{{count}} linhas modificadas",
|
|
413
|
+
saved: "{{count}} linha(s) salva(s)",
|
|
414
|
+
saved_one: "{{count}} linha salva",
|
|
415
|
+
saved_many: "{{count}} de linhas salvas",
|
|
416
|
+
saved_other: "{{count}} linhas salvas",
|
|
304
417
|
saveFailed: 'Falha ao salvar',
|
|
305
418
|
selected: "{{count}} selecionado(s)",
|
|
419
|
+
selected_one: "{{count}} selecionado",
|
|
420
|
+
selected_many: "{{count}} selecionados",
|
|
421
|
+
selected_other: "{{count}} selecionados",
|
|
306
422
|
edit: "Editar",
|
|
307
423
|
delete: "Excluir",
|
|
308
424
|
},
|
|
309
425
|
grid: {
|
|
310
426
|
bulkSelected: "{{count}} selecionados",
|
|
427
|
+
bulkSelected_one: "{{count}} selecionado",
|
|
428
|
+
bulkSelected_many: "{{count}} selecionados",
|
|
429
|
+
bulkSelected_other: "{{count}} selecionados",
|
|
311
430
|
bulkSelectedAllMatches: "{{count}} selecionados (todas as correspondências)",
|
|
312
431
|
bulkClear: "Limpar seleção",
|
|
313
432
|
bulkAllOnPage: "Os {{count}} desta página estão selecionados.",
|
|
433
|
+
bulkAllOnPage_one: "{{count}} registro desta página está selecionado.",
|
|
434
|
+
bulkAllOnPage_many: "Os {{count}} desta página estão selecionados.",
|
|
435
|
+
bulkAllOnPage_other: "Os {{count}} desta página estão selecionados.",
|
|
314
436
|
bulkSelectAllMatching: "Selecionar todas as {{count}} correspondências",
|
|
315
437
|
bulkAllMatchingSelected: "Todos os {{count}} registros correspondentes estão selecionados.",
|
|
438
|
+
bulkActions: "Ações em massa",
|
|
316
439
|
bulk: {
|
|
317
440
|
confirmDefault: "Isto será aplicado a {{count}} registro(s).",
|
|
441
|
+
confirmDefault_one: "Isto será aplicado a {{count}} registro.",
|
|
442
|
+
confirmDefault_many: "Isto será aplicado a {{count}} de registros.",
|
|
443
|
+
confirmDefault_other: "Isto será aplicado a {{count}} registros.",
|
|
318
444
|
overLimit: "A seleção ({{count}}) excede o limite da ação ({{limit}}). Reduza a seleção para prosseguir.",
|
|
319
445
|
affectedRecords: "Registros afetados ({{count}}):",
|
|
320
446
|
skippedIneligible: '{{count}} dos registros selecionados não são elegíveis para esta ação e serão ignorados.',
|
|
447
|
+
skippedIneligible_one: '{{count}} dos registros selecionados não é elegível para esta ação e será ignorado.',
|
|
448
|
+
skippedIneligible_many: '{{count}} dos registros selecionados não são elegíveis para esta ação e serão ignorados.',
|
|
449
|
+
skippedIneligible_other: '{{count}} dos registros selecionados não são elegíveis para esta ação e serão ignorados.',
|
|
321
450
|
rowFallback: "Linha {{index}}",
|
|
322
451
|
andMore: "… e mais {{count}}",
|
|
323
452
|
processed: "{{count}} / {{total}} processados",
|
|
@@ -335,7 +464,6 @@ const pt = {
|
|
|
335
464
|
undo: "Desfazer",
|
|
336
465
|
undoing: "Desfazendo…",
|
|
337
466
|
done: "Concluído",
|
|
338
|
-
selectPlaceholder: "Selecionar…",
|
|
339
467
|
loading: "Carregando…",
|
|
340
468
|
},
|
|
341
469
|
actions: "Ações",
|
|
@@ -348,17 +476,27 @@ const pt = {
|
|
|
348
476
|
pullToRefresh: "Puxe para atualizar",
|
|
349
477
|
refreshing: "Atualizando…",
|
|
350
478
|
openRecord: "Abrir registro",
|
|
479
|
+
recordUnavailable: "{{object}} · registro indisponível",
|
|
351
480
|
rowHeight: "Altura da linha: {{mode}}",
|
|
352
481
|
openMenu: "Abrir menu",
|
|
353
482
|
empty: "Vazio",
|
|
354
483
|
yes: "Sim",
|
|
355
484
|
no: "Não",
|
|
356
485
|
systemFields: "Sistema",
|
|
486
|
+
// objectui#10881 — the grouped grid's two refusals: over a data source
|
|
487
|
+
// that cannot answer the group header query, and over rows a host
|
|
488
|
+
// handed in while declaring them one page of more. `queryGroupHeaders`
|
|
489
|
+
// is the member's name and stays untranslated.
|
|
490
|
+
grouping: {
|
|
491
|
+
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.",
|
|
492
|
+
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.",
|
|
493
|
+
},
|
|
357
494
|
// objectui#4024 — column-footer aggregate prefixes, keyed by the spec's
|
|
358
495
|
// `ColumnSummary` vocabulary. `pattern` owns the label/value join so this
|
|
359
496
|
// pack controls its own separator and word order.
|
|
360
497
|
summary: {
|
|
361
498
|
pattern: "{{label}}: {{value}}",
|
|
499
|
+
pagePattern: "{{label}} (esta página): {{value}}",
|
|
362
500
|
count: "Contagem",
|
|
363
501
|
countEmpty: "Vazios",
|
|
364
502
|
countFilled: "Preenchidos",
|
|
@@ -380,10 +518,15 @@ const pt = {
|
|
|
380
518
|
},
|
|
381
519
|
import: {
|
|
382
520
|
downloadTemplate: "Baixar modelo",
|
|
383
|
-
downloadTemplateHint: "Obtenha um
|
|
521
|
+
downloadTemplateHint: "Obtenha um arquivo Excel com as colunas que você pode importar (campos obrigatórios marcados com *) e instruções de preenchimento.",
|
|
384
522
|
templateFileName: "{{object}}-import-template",
|
|
523
|
+
templateDownloadFailed: "Não foi possível baixar o modelo. Tente novamente.",
|
|
524
|
+
templateNotPermitted: "Você não tem permissão para criar registros deste objeto, portanto o modelo de importação não está disponível.",
|
|
385
525
|
autoMatched: "Correspondência automática",
|
|
386
526
|
autoMatchedSummary: "{{count}} coluna(s) com correspondência automática — revise e ajuste abaixo.",
|
|
527
|
+
autoMatchedSummary_one: "{{count}} coluna com correspondência automática — revise e ajuste abaixo.",
|
|
528
|
+
autoMatchedSummary_many: "{{count}} de colunas com correspondência automática — revise e ajuste abaixo.",
|
|
529
|
+
autoMatchedSummary_other: "{{count}} colunas com correspondência automática — revise e ajuste abaixo.",
|
|
387
530
|
confidence: {
|
|
388
531
|
high: "Confiança alta",
|
|
389
532
|
medium: "Confiança média",
|
|
@@ -396,8 +539,17 @@ const pt = {
|
|
|
396
539
|
cancelImport: "Cancelar a importação",
|
|
397
540
|
importCancelled: "Importação cancelada",
|
|
398
541
|
resultsTruncated: "Mostrando os primeiros {{count}} resultados de linhas (de {{total}}).",
|
|
542
|
+
resultsTruncated_one: "Mostrando o primeiro resultado de linha ({{count}} de {{total}}).",
|
|
543
|
+
resultsTruncated_many: "Mostrando os primeiros {{count}} resultados de linhas (de {{total}}).",
|
|
544
|
+
resultsTruncated_other: "Mostrando os primeiros {{count}} resultados de linhas (de {{total}}).",
|
|
399
545
|
createdCount: "{{count}} criados",
|
|
546
|
+
createdCount_one: "{{count}} criado",
|
|
547
|
+
createdCount_many: "{{count}} criados",
|
|
548
|
+
createdCount_other: "{{count}} criados",
|
|
400
549
|
updatedCount: "{{count}} atualizados",
|
|
550
|
+
updatedCount_one: "{{count}} atualizado",
|
|
551
|
+
updatedCount_many: "{{count}} atualizados",
|
|
552
|
+
updatedCount_other: "{{count}} atualizados",
|
|
401
553
|
downloadFailed: "Baixar as linhas com falha",
|
|
402
554
|
options: "Opções de importação",
|
|
403
555
|
writeMode: "Quando uma linha corresponde a um registro existente",
|
|
@@ -412,9 +564,6 @@ const pt = {
|
|
|
412
564
|
needMatchFields: "Selecione pelo menos um campo de correspondência.",
|
|
413
565
|
matchOnlyField: "(somente correspondência)",
|
|
414
566
|
optCreateOptions: "Manter valores de opção desconhecidos",
|
|
415
|
-
optRunAutomations: "Executar automações e gatilhos",
|
|
416
|
-
optTreatHistorical: "Importar como dados históricos",
|
|
417
|
-
optTreatHistoricalHint: "(importa registros concluídos como estão — ignora as verificações da máquina de estados e mantém os carimbos de data/hora e o autor originais em vez de carimbar agora)",
|
|
418
567
|
optSkipBlankKey: "Ignorar linhas com valor de correspondência em branco",
|
|
419
568
|
optBackground: "Importar em segundo plano",
|
|
420
569
|
optBackgroundHint: "(executa como um trabalho reversível)",
|
|
@@ -429,6 +578,7 @@ const pt = {
|
|
|
429
578
|
invalidBoolean: "\"{{value}}\" não é um valor verdadeiro/falso válido",
|
|
430
579
|
invalidNumber: "\"{{value}}\" não é um número válido",
|
|
431
580
|
invalidDate: "\"{{value}}\" não é uma data válida",
|
|
581
|
+
invalidTime: "\"{{value}}\" não é uma hora válida",
|
|
432
582
|
invalidOption: "\"{{value}}\" não está entre as opções permitidas",
|
|
433
583
|
requiredValue: "Este campo é obrigatório",
|
|
434
584
|
matchAmbiguous: "Corresponde a mais de um registro existente — use um valor único ou o id do registro",
|
|
@@ -445,10 +595,17 @@ const pt = {
|
|
|
445
595
|
historyColResult: "Resultado",
|
|
446
596
|
historyColTime: "Quando",
|
|
447
597
|
errorCount: "{{count}} erros",
|
|
598
|
+
errorCount_one: "{{count}} erro",
|
|
599
|
+
errorCount_many: "{{count}} de erros",
|
|
600
|
+
errorCount_other: "{{count}} erros",
|
|
448
601
|
undoImport: "Desfazer a importação",
|
|
449
602
|
undoing: "Desfazendo…",
|
|
450
603
|
undoConfirm: "Desfazer esta importação? Os registros criados serão excluídos e os registros atualizados voltarão aos valores anteriores.",
|
|
451
604
|
reverted: "Desfeita",
|
|
605
|
+
undoPartial: "{{count}} linhas não foram desfeitas. Ao desfazer novamente, só essas linhas serão tentadas de novo.",
|
|
606
|
+
undoPartial_one: "{{count}} linha não foi desfeita. Ao desfazer novamente, só essa linha será tentada de novo.",
|
|
607
|
+
undoPartial_many: "{{count}} de linhas não foram desfeitas. Ao desfazer novamente, só essas linhas serão tentadas de novo.",
|
|
608
|
+
undoPartial_other: "{{count}} linhas não foram desfeitas. Ao desfazer novamente, só essas linhas serão tentadas de novo.",
|
|
452
609
|
jobStatus: {
|
|
453
610
|
pending: "Pendente",
|
|
454
611
|
running: "Em execução",
|
|
@@ -505,19 +662,33 @@ const pt = {
|
|
|
505
662
|
mapped: "Mapeado",
|
|
506
663
|
skipped: "Pulado",
|
|
507
664
|
rowsWithErrors: "{{count}} linha(s) com erros",
|
|
665
|
+
rowsWithErrors_one: "{{count}} linha com erros",
|
|
666
|
+
rowsWithErrors_many: "{{count}} de linhas com erros",
|
|
667
|
+
rowsWithErrors_other: "{{count}} linhas com erros",
|
|
508
668
|
rowsCorrected: "{{count}} linha(s) corrigida(s)",
|
|
669
|
+
rowsCorrected_one: "{{count}} linha corrigida",
|
|
670
|
+
rowsCorrected_many: "{{count}} de linhas corrigidas",
|
|
671
|
+
rowsCorrected_other: "{{count}} linhas corrigidas",
|
|
509
672
|
clickToFix: "— clique em uma célula destacada para editar em linha.",
|
|
510
673
|
showingRows: "Mostrando {{shown}} de {{total}} linhas",
|
|
511
674
|
importing: "Importando… {{progress}}%",
|
|
512
675
|
importComplete: "Importação concluída",
|
|
676
|
+
importPartial: "Importação concluída com erros",
|
|
677
|
+
importFailed: "Falha na importação",
|
|
513
678
|
imported: "{{count}} importado(s)",
|
|
514
679
|
skippedCount: "{{count}} pulado(s)",
|
|
515
680
|
moreErrors: "…e {{count}} erro(s) a mais",
|
|
681
|
+
moreErrors_one: "…e {{count}} erro a mais",
|
|
682
|
+
moreErrors_many: "…e {{count}} de erros a mais",
|
|
683
|
+
moreErrors_other: "…e {{count}} erros a mais",
|
|
516
684
|
cancel: "Cancelar",
|
|
517
685
|
back: "Voltar",
|
|
518
686
|
next: "Próximo",
|
|
519
687
|
close: "Fechar",
|
|
520
688
|
importNRows: "Importar {{count}} linhas",
|
|
689
|
+
importNRows_one: "Importar {{count}} linha",
|
|
690
|
+
importNRows_many: "Importar {{count}} de linhas",
|
|
691
|
+
importNRows_other: "Importar {{count}} linhas",
|
|
521
692
|
importingProgress: "Importando…",
|
|
522
693
|
requiredMark: "*",
|
|
523
694
|
required: "Obrigatório",
|
|
@@ -529,17 +700,45 @@ const pt = {
|
|
|
529
700
|
month: "Mês",
|
|
530
701
|
week: "Semana",
|
|
531
702
|
day: "Dia",
|
|
532
|
-
agenda: "Agenda",
|
|
533
703
|
allDay: "Dia inteiro",
|
|
534
|
-
noEvents: "Sem eventos",
|
|
535
704
|
newEvent: "Novo evento",
|
|
536
705
|
moreEvents: "+{{count}} mais",
|
|
706
|
+
unscheduled: "Sem agendamento ({{count}})",
|
|
707
|
+
loading: "Carregando calendário…",
|
|
708
|
+
loadError: "Erro: {{message}}",
|
|
709
|
+
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.",
|
|
710
|
+
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.",
|
|
711
|
+
eventDetails: "Detalhes do evento",
|
|
712
|
+
pullToRefresh: "Puxe para atualizar",
|
|
713
|
+
refreshing: "Atualizando…",
|
|
714
|
+
onDate: "Em {{date}}",
|
|
715
|
+
eventTitle: "Título",
|
|
716
|
+
eventTitlePlaceholder: "Sobre o que é este evento?",
|
|
717
|
+
creating: "Criando…",
|
|
718
|
+
titleRequired: "O título é obrigatório",
|
|
719
|
+
a11y: {
|
|
720
|
+
region: "Calendário",
|
|
721
|
+
grid: "Grade do calendário",
|
|
722
|
+
goToToday: "Ir para hoje",
|
|
723
|
+
previousPeriod: "Período anterior",
|
|
724
|
+
nextPeriod: "Período seguinte",
|
|
725
|
+
currentDate: "Data atual: {{date}}",
|
|
726
|
+
dayCell: "{{date}}, {{count}} eventos",
|
|
727
|
+
dayCell_one: "{{date}}, {{count}} evento",
|
|
728
|
+
dayCell_many: "{{date}}, {{count}} de eventos",
|
|
729
|
+
dayCell_other: "{{date}}, {{count}} eventos",
|
|
730
|
+
resizeEventEnd: "Alterar o fim do evento",
|
|
731
|
+
resizeEventEndHint: "Arraste para alterar a data de término",
|
|
732
|
+
resizeStart: "Alterar o início",
|
|
733
|
+
resizeEnd: "Alterar o fim",
|
|
734
|
+
},
|
|
537
735
|
},
|
|
538
736
|
list: {
|
|
539
737
|
firstRunTitle: "Ainda não há nada aqui",
|
|
540
738
|
firstRunMessage: "Crie seu primeiro registro para começar.",
|
|
541
739
|
noMatches: "Nenhum registro correspondente",
|
|
542
740
|
noMatchesMessage: "Nenhum registro corresponde aos seus filtros ou à sua busca atuais. Tente ajustá-los ou limpá-los.",
|
|
741
|
+
viewFilterNoMatchesMessage: "Nenhum registro corresponde ao filtro desta visualização.",
|
|
543
742
|
loadErrorTitle: "Não foi possível carregar os registros",
|
|
544
743
|
loadErrorMessage: "Algo deu errado ao carregar estes dados. Verifique sua conexão e tente novamente.",
|
|
545
744
|
loadErrorForbiddenTitle: "Você não tem acesso",
|
|
@@ -576,17 +775,26 @@ const pt = {
|
|
|
576
775
|
refresh: "Atualizar",
|
|
577
776
|
loading: "Carregando registros…",
|
|
578
777
|
recordCount: "{{count}} registros",
|
|
579
|
-
|
|
778
|
+
recordCount_one: "{{count}} registro",
|
|
779
|
+
recordCount_many: "{{count}} de registros",
|
|
780
|
+
recordCount_other: "{{count}} registros",
|
|
580
781
|
addRecord: "Adicionar registro",
|
|
782
|
+
// objectui#12703 — the compact list's footer link to the object's list or the block's view.
|
|
783
|
+
viewAll: "Ver tudo",
|
|
581
784
|
tabs: "Abas",
|
|
582
785
|
allRecords: "Todos os registros",
|
|
583
786
|
search: "Pesquisar",
|
|
584
787
|
filter: "Filtrar",
|
|
585
788
|
filterRecords: "Filtrar registros",
|
|
789
|
+
filterActive: "Filtrar, {{count}} ativos",
|
|
790
|
+
filterActive_one: "Filtrar, {{count}} ativo",
|
|
791
|
+
filterActive_many: "Filtrar, {{count}} ativos",
|
|
792
|
+
filterActive_other: "Filtrar, {{count}} ativos",
|
|
586
793
|
sort: "Ordenar",
|
|
587
794
|
sortRecords: "Ordenar registros",
|
|
588
795
|
sortByIdSuffix: "(por ID)",
|
|
589
796
|
sortRelationalHint: "As colunas que apontam para outro registro não são listadas: elas só podem ser ordenadas pelo ID armazenado, não pelo nome exibido na célula. Para ordenar por esse nome, desnormalize-o neste objeto como um campo armazenado, gravado quando a origem muda, e ordene por ele. Não um campo de fórmula: ele é virtual, nenhuma coluna é armazenada para ele e o servidor recusa ordenar por ele.",
|
|
797
|
+
sortRelationalPicked: "Uma coluna vinculada é ordenada pelo ID armazenado, não pelo nome exibido.",
|
|
590
798
|
resetSortToDefault: "Restaurar o padrão da exibição",
|
|
591
799
|
group: "Agrupar",
|
|
592
800
|
groupBy: "Agrupar por",
|
|
@@ -607,14 +815,15 @@ const pt = {
|
|
|
607
815
|
print: "Imprimir",
|
|
608
816
|
hideFieldsTitle: "Ocultar campos",
|
|
609
817
|
dataLimitReached: "Os primeiros {{limit}} registros estão sendo exibidos. Pode haver mais dados disponíveis.",
|
|
610
|
-
|
|
611
|
-
|
|
818
|
+
display: "Exibição",
|
|
819
|
+
layout: "Layout",
|
|
820
|
+
rowNumbers: "Números de linha",
|
|
821
|
+
resetToViewDefault: "Restaurar o padrão da exibição",
|
|
612
822
|
addGroup: "Adicionar campo de grupo",
|
|
613
823
|
collapsedByDefault: "Recolhido por padrão",
|
|
614
824
|
removeGroup: "Remover",
|
|
615
825
|
inlineEditShort: "Edição em linha",
|
|
616
826
|
inlineEditLabel: "Editar registros em linha (clique em uma célula para editar)",
|
|
617
|
-
recordEditingTitle: "Edição de registros",
|
|
618
827
|
},
|
|
619
828
|
managedByBadge: {
|
|
620
829
|
systemWritable: {
|
|
@@ -645,6 +854,7 @@ const pt = {
|
|
|
645
854
|
},
|
|
646
855
|
kanban: {
|
|
647
856
|
uncategorized: "Sem categoria",
|
|
857
|
+
loadMore: "Carregar mais",
|
|
648
858
|
columns: "colunas",
|
|
649
859
|
addCard: "Adicionar cartão",
|
|
650
860
|
addColumn: "Adicionar coluna",
|
|
@@ -652,13 +862,28 @@ const pt = {
|
|
|
652
862
|
deleteCard: "Excluir cartão",
|
|
653
863
|
deleteColumn: "Excluir coluna",
|
|
654
864
|
noCards: "Sem cartões",
|
|
865
|
+
columnCards: "Cartões da coluna {{column}}",
|
|
866
|
+
laneCards: "Cartões de {{column}} - {{lane}}",
|
|
655
867
|
cardTitlePlaceholder: "Digite o título do cartão…",
|
|
656
868
|
requiredFieldsTitle: "Preencha os campos obrigatórios",
|
|
657
869
|
requiredFieldsDescription: "Esta movimentação torna os campos abaixo obrigatórios. Preencha-os para continuar.",
|
|
870
|
+
dnd: {
|
|
871
|
+
start: "Cartão {{card}} levantado na coluna {{column}}.",
|
|
872
|
+
overCard: "Cartão {{card}} sobre o cartão {{target}} na coluna {{column}}.",
|
|
873
|
+
overColumn: "Cartão {{card}} sobre a coluna {{column}}.",
|
|
874
|
+
overNone: "O cartão {{card}} não está sobre nenhuma coluna.",
|
|
875
|
+
moved: "Cartão {{card}} movido para a coluna {{column}}.",
|
|
876
|
+
dropped: "Cartão {{card}} solto. Continua na coluna {{column}}.",
|
|
877
|
+
cancelled: "Arrasto cancelado. O cartão {{card}} continua na coluna {{column}}.",
|
|
878
|
+
untitledCard: "sem título",
|
|
879
|
+
unnamedColumn: "sem nome",
|
|
880
|
+
instructions: "Para mover este cartão para outra coluna, arraste-o com o mouse ou pelo toque.",
|
|
881
|
+
dragging: "Arrastando o cartão {{card}}",
|
|
882
|
+
},
|
|
658
883
|
},
|
|
659
884
|
timeline: {
|
|
660
885
|
bucket: {
|
|
661
|
-
|
|
886
|
+
earlier: "Antes",
|
|
662
887
|
today: "Hoje",
|
|
663
888
|
tomorrow: "Amanhã",
|
|
664
889
|
thisWeek: "Esta semana",
|
|
@@ -673,6 +898,17 @@ const pt = {
|
|
|
673
898
|
},
|
|
674
899
|
gantt: {
|
|
675
900
|
rowLabel: "Itens",
|
|
901
|
+
unusableRange: {
|
|
902
|
+
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.",
|
|
903
|
+
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.",
|
|
904
|
+
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.",
|
|
905
|
+
},
|
|
906
|
+
},
|
|
907
|
+
unsupported: {
|
|
908
|
+
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.",
|
|
909
|
+
},
|
|
910
|
+
unconfigured: {
|
|
911
|
+
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
912
|
},
|
|
677
913
|
},
|
|
678
914
|
gantt: {
|
|
@@ -690,6 +926,7 @@ const pt = {
|
|
|
690
926
|
},
|
|
691
927
|
aria: {
|
|
692
928
|
taskList: "Lista de tarefas",
|
|
929
|
+
refreshing: "Atualizando…",
|
|
693
930
|
},
|
|
694
931
|
tooltip: {
|
|
695
932
|
days: "d",
|
|
@@ -735,13 +972,22 @@ const pt = {
|
|
|
735
972
|
conflict: {
|
|
736
973
|
title: "Conflito de agendamento",
|
|
737
974
|
body: "Esta movimentação conflita com as restrições de dependência. Reagendar automaticamente {{count}} tarefa(s) afetada(s)?",
|
|
975
|
+
body_one: "Esta movimentação conflita com as restrições de dependência. Reagendar automaticamente {{count}} tarefa afetada?",
|
|
976
|
+
body_many: "Esta movimentação conflita com as restrições de dependência. Reagendar automaticamente {{count}} de tarefas afetadas?",
|
|
977
|
+
body_other: "Esta movimentação conflita com as restrições de dependência. Reagendar automaticamente {{count}} tarefas afetadas?",
|
|
738
978
|
confirm: "Reagendar automaticamente",
|
|
739
979
|
cancel: "Manter como está",
|
|
740
980
|
},
|
|
741
981
|
autoScheduleDlg: {
|
|
742
982
|
title: "Agendamento automático",
|
|
743
983
|
body: "Adiar {{count}} tarefa(s) para atender aos vínculos de dependência?",
|
|
984
|
+
body_one: "Adiar {{count}} tarefa para atender aos vínculos de dependência?",
|
|
985
|
+
body_many: "Adiar {{count}} de tarefas para atender aos vínculos de dependência?",
|
|
986
|
+
body_other: "Adiar {{count}} tarefas para atender aos vínculos de dependência?",
|
|
744
987
|
skipped: "{{count}} tarefa(s) bloqueada(s) também violam os vínculos e foram ignoradas.",
|
|
988
|
+
skipped_one: "{{count}} tarefa bloqueada também viola os vínculos e foi ignorada.",
|
|
989
|
+
skipped_many: "{{count}} de tarefas bloqueadas também violam os vínculos e foram ignoradas.",
|
|
990
|
+
skipped_other: "{{count}} tarefas bloqueadas também violam os vínculos e foram ignoradas.",
|
|
745
991
|
confirm: "Aplicar",
|
|
746
992
|
cancel: "Cancelar",
|
|
747
993
|
none: "Todas as dependências foram atendidas — nada a reagendar.",
|
|
@@ -820,10 +1066,14 @@ const pt = {
|
|
|
820
1066
|
tabActionsFor: "Ações de exibição para {{name}}",
|
|
821
1067
|
readonlyAriaLabel: "Exibição somente leitura",
|
|
822
1068
|
readonlyTooltip: "Exibição do sistema — definida no código, somente leitura.",
|
|
1069
|
+
malformedFilter: "O filtro desta exibição é inválido, por isso nenhum registro é exibido: a condição {{subject}} não pode ser aplicada.",
|
|
1070
|
+
noObject: "Nenhum objeto indicado: defina {{property}} ou dataSource.object.",
|
|
823
1071
|
},
|
|
824
1072
|
designer: {
|
|
825
1073
|
undo: "Desfazer",
|
|
826
1074
|
redo: "Refazer",
|
|
1075
|
+
canvasMinimap: "Minimapa da tela",
|
|
1076
|
+
versionHistory: "Histórico de versões",
|
|
827
1077
|
},
|
|
828
1078
|
detail: {
|
|
829
1079
|
editInlineHint: "Clique duas vezes para editar",
|
|
@@ -847,7 +1097,9 @@ const pt = {
|
|
|
847
1097
|
pageHeaderActions: "Ações do cabeçalho da página",
|
|
848
1098
|
emojiPicker: "Seletor de emojis",
|
|
849
1099
|
reactionCount: "{{emoji}} {{count}} reações",
|
|
850
|
-
|
|
1100
|
+
reactionCount_one: "{{emoji}} {{count}} reação",
|
|
1101
|
+
reactionCount_many: "{{emoji}} {{count}} de reações",
|
|
1102
|
+
reactionCount_other: "{{emoji}} {{count}} reações",
|
|
851
1103
|
recordDetail: "Detalhe do registro",
|
|
852
1104
|
recordDetailWithLabel: "Detalhe de {{label}}",
|
|
853
1105
|
openAsFullPage: "Abrir como página inteira",
|
|
@@ -874,7 +1126,6 @@ const pt = {
|
|
|
874
1126
|
viewAll: "Ver tudo",
|
|
875
1127
|
new: "Novo",
|
|
876
1128
|
add: "Adicionar",
|
|
877
|
-
emptyValue: "—",
|
|
878
1129
|
comments: "Comentários",
|
|
879
1130
|
searchComments: "Pesquisar comentários…",
|
|
880
1131
|
addCommentPlaceholder: "Adicionar comentário… (Ctrl+Enter para enviar)",
|
|
@@ -885,11 +1136,22 @@ const pt = {
|
|
|
885
1136
|
unpin: "Desfixar",
|
|
886
1137
|
justNow: "agora mesmo",
|
|
887
1138
|
minutesAgo: "há {{count}} min",
|
|
1139
|
+
minutesAgo_one: "há {{count}} min",
|
|
1140
|
+
minutesAgo_many: "há {{count}} min",
|
|
1141
|
+
minutesAgo_other: "há {{count}} min",
|
|
888
1142
|
hoursAgo: "há {{count}} h",
|
|
1143
|
+
hoursAgo_one: "há {{count}} h",
|
|
1144
|
+
hoursAgo_many: "há {{count}} h",
|
|
1145
|
+
hoursAgo_other: "há {{count}} h",
|
|
889
1146
|
daysAgo: "há {{count}} d",
|
|
1147
|
+
daysAgo_one: "há {{count}} d",
|
|
1148
|
+
daysAgo_many: "há {{count}} d",
|
|
1149
|
+
daysAgo_other: "há {{count}} d",
|
|
890
1150
|
dropFilesToUpload: "Arraste arquivos aqui ou clique para enviar",
|
|
891
1151
|
attachmentCount: "{{count}} anexo",
|
|
892
|
-
|
|
1152
|
+
attachmentCount_one: "{{count}} anexo",
|
|
1153
|
+
attachmentCount_many: "{{count}} de anexos",
|
|
1154
|
+
attachmentCount_other: "{{count}} anexos",
|
|
893
1155
|
removeAttachment: "Remover anexo",
|
|
894
1156
|
// Record Attachments panel (enable.files, objectstack#4358)
|
|
895
1157
|
attachments: "Anexos",
|
|
@@ -898,6 +1160,7 @@ const pt = {
|
|
|
898
1160
|
noAttachments: "Ainda não há anexos. Envie um arquivo para começar.",
|
|
899
1161
|
downloadAttachment: "Baixar",
|
|
900
1162
|
deleteAttachment: "Excluir anexo",
|
|
1163
|
+
deleteAttachmentConfirm: "Tem certeza de que deseja excluir o anexo \"{{name}}\"?",
|
|
901
1164
|
attachmentDeleteDenied: "Somente quem enviou ou alguém que pode editar este registro pode excluir este anexo.",
|
|
902
1165
|
attachmentParentAccessDenied: "Você não tem acesso para anexar arquivos a este registro.",
|
|
903
1166
|
attachmentDownloadDenied: "Você não tem acesso para baixar este anexo.",
|
|
@@ -907,11 +1170,6 @@ const pt = {
|
|
|
907
1170
|
attachmentsLoadFailed: "Não foi possível carregar os anexos deste registro.",
|
|
908
1171
|
attachmentsApiUnavailable: "A lista de anexos não está disponível neste objeto.",
|
|
909
1172
|
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
1173
|
discussion: "Discussão",
|
|
916
1174
|
showDiscussion: "Mostrar discussão ({{count}})",
|
|
917
1175
|
hideDiscussion: "Ocultar discussão",
|
|
@@ -926,25 +1184,36 @@ const pt = {
|
|
|
926
1184
|
writeComment: "Escreva um comentário…",
|
|
927
1185
|
subscribedTooltip: "Inscrito — clique para cancelar inscrição",
|
|
928
1186
|
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
1187
|
noRecords: "Sem registros",
|
|
934
|
-
searchWhileNavigating: "Pesquisar durante a navegação",
|
|
935
|
-
searchRecords: "Pesquisar registros…",
|
|
936
1188
|
allActivity: "Toda atividade",
|
|
937
1189
|
commentsOnly: "Apenas comentários",
|
|
938
1190
|
fieldChangesFilter: "Alterações de campo",
|
|
939
1191
|
tasksOnly: "Apenas tarefas",
|
|
940
1192
|
leaveCommentPlaceholder: "Deixar um comentário… (Ctrl+Enter para enviar)",
|
|
941
1193
|
noActivity: "Nenhuma atividade registrada",
|
|
1194
|
+
activityAccessDenied: "Você não tem permissão para ver a atividade deste registro.",
|
|
1195
|
+
commentsAccessDenied: "Você não tem permissão para ver os comentários deste registro.",
|
|
1196
|
+
// objectui#7149 — the rest of `ActivityTimeline`. The four chip labels the
|
|
1197
|
+
// `detail.*` pack did not already name, and the `formatFieldChange`
|
|
1198
|
+
// sentences, which are assembled in code and so need interpolation holes.
|
|
1199
|
+
allFilter: 'Tudo',
|
|
1200
|
+
createsFilter: 'Criações',
|
|
1201
|
+
deletesFilter: 'Exclusões',
|
|
1202
|
+
statusChangesFilter: 'Alterações de status',
|
|
1203
|
+
activityEmptyValue: '(vazio)',
|
|
1204
|
+
activityFieldChanged: 'Alterou {{field}} de "{{old}}" para "{{new}}"',
|
|
1205
|
+
activityCreated: 'Criou este registro',
|
|
1206
|
+
activityDeleted: 'Excluiu este registro',
|
|
1207
|
+
activityStatusChanged: 'Alterou o status para "{{value}}"',
|
|
1208
|
+
activityUpdated: 'Atualizou o registro',
|
|
942
1209
|
loadMore: "Carregar mais",
|
|
943
1210
|
edited: "(editado)",
|
|
944
1211
|
via: "via {{source}}",
|
|
945
1212
|
viewSource: "Ver origem",
|
|
946
1213
|
replyCount: "{{count}} resposta",
|
|
947
|
-
|
|
1214
|
+
replyCount_one: "{{count}} resposta",
|
|
1215
|
+
replyCount_many: "{{count}} de respostas",
|
|
1216
|
+
replyCount_other: "{{count}} respostas",
|
|
948
1217
|
replyPlaceholder: "Responder…",
|
|
949
1218
|
filterActivity: "Filtrar atividade",
|
|
950
1219
|
openDiscussion: "Abrir painel de discussão",
|
|
@@ -956,9 +1225,12 @@ const pt = {
|
|
|
956
1225
|
lockedByApproval: "Bloqueado para aprovação",
|
|
957
1226
|
lockedTooltip: "Este registro tem uma solicitação de aprovação pendente; a edição está bloqueada",
|
|
958
1227
|
writeStrippedTitle: "Salvo, mas alguns campos não foram aplicados",
|
|
1228
|
+
writeWarningsTitle: "Salvo, com avisos",
|
|
959
1229
|
writeStrippedReadonly: "Somente leitura, portanto não foi aplicado: {{fields}}",
|
|
960
1230
|
writeStrippedByState: "Não editável no estado atual deste registro, portanto não foi aplicado: {{fields}}",
|
|
961
1231
|
writeStrippedPrimaryKey: "O identificador do registro não pode ser alterado ao salvar, portanto não foi aplicado: {{fields}}",
|
|
1232
|
+
writeStrippedComputed: "Calculado pelo servidor a partir de uma fórmula, portanto o valor enviado não foi aplicado: {{fields}}",
|
|
1233
|
+
writeStrippedStoredExpression: "Calculado a partir do registro, portanto o valor calculado foi salvo no lugar do enviado: {{fields}}",
|
|
962
1234
|
writeStrippedUnknownReason: "Não aplicado pelo servidor: {{fields}}",
|
|
963
1235
|
approvalPendingEditable: "Em aprovação · editável",
|
|
964
1236
|
approvalPendingTooltip: "Este registro tem uma solicitação de aprovação pendente; esta etapa ainda permite a edição",
|
|
@@ -980,6 +1252,13 @@ const pt = {
|
|
|
980
1252
|
pathStageLostUpcoming: '{{stage}}, perdida, não alcançada',
|
|
981
1253
|
pathStageWonUpcoming: '{{stage}}, etapa objetivo, não alcançada',
|
|
982
1254
|
linkCopied: "Link copiado para a área de transferência",
|
|
1255
|
+
commentFailed: "Seu comentário não foi publicado. Nada foi salvo — tente novamente.",
|
|
1256
|
+
reactionFailed: "Sua reação não foi salva. Tente novamente.",
|
|
1257
|
+
editComment: "Editar comentário",
|
|
1258
|
+
deleteComment: "Excluir comentário",
|
|
1259
|
+
deleteCommentConfirm: "Tem certeza de que deseja excluir este comentário?",
|
|
1260
|
+
commentEditFailed: "Sua edição não foi salva. O comentário mantém o texto anterior.",
|
|
1261
|
+
commentDeleteFailed: "O comentário não foi excluído. Tente novamente.",
|
|
983
1262
|
linkCopyFailed: "Falha ao copiar o link",
|
|
984
1263
|
cancel: "Cancelar",
|
|
985
1264
|
cancelEdit: "Descartar alterações",
|
|
@@ -1009,37 +1288,67 @@ const pt = {
|
|
|
1009
1288
|
sortBy: "Ordenar por",
|
|
1010
1289
|
filterPlaceholder: "Filtrar…",
|
|
1011
1290
|
highlightFields: "Campos principais",
|
|
1291
|
+
highlightsLabel: "Campos principais do registro",
|
|
1012
1292
|
createdBy: "Criado por",
|
|
1013
1293
|
updatedBy: "Atualizado por",
|
|
1014
|
-
// objectui#3863 — base key
|
|
1015
|
-
//
|
|
1294
|
+
// objectui#3863 — base key, answering only a call made without a count. pt's
|
|
1295
|
+
// `many` (exact millions) has its own slot since objectui#11432; it repeats
|
|
1296
|
+
// `_other` here because the count governs no noun complement.
|
|
1016
1297
|
showEmptyRelated: "+ {{count}} vazios",
|
|
1017
1298
|
showEmptyRelated_one: "+ {{count}} vazio",
|
|
1299
|
+
showEmptyRelated_many: "+ {{count}} vazios",
|
|
1018
1300
|
showEmptyRelated_other: "+ {{count}} vazios",
|
|
1019
1301
|
copyEmail: "Copiar e-mail",
|
|
1020
1302
|
copyPhone: "Copiar telefone",
|
|
1021
1303
|
copyRecordId: "Copiar ID do registro",
|
|
1022
1304
|
showEmptyFields: "Mostrar {{count}} campos vazios",
|
|
1305
|
+
showEmptyFields_one: "Mostrar {{count}} campo vazio",
|
|
1306
|
+
showEmptyFields_many: "Mostrar {{count}} de campos vazios",
|
|
1307
|
+
showEmptyFields_other: "Mostrar {{count}} campos vazios",
|
|
1023
1308
|
hideEmptyFields: "Ocultar campos vazios",
|
|
1024
1309
|
noValue: "Sem valor",
|
|
1310
|
+
unresolvedReference: "Referência não resolvida: {{value}} não foi resolvida como um usuário",
|
|
1311
|
+
unresolvedLookupReference: "Referência não resolvida: {{value}} não foi resolvida como um registro nesta tela",
|
|
1312
|
+
repeaterItemCount: "{{count}} itens",
|
|
1313
|
+
repeaterItemCount_one: "{{count}} item",
|
|
1314
|
+
repeaterItemCount_many: "{{count}} de itens",
|
|
1315
|
+
repeaterItemCount_other: "{{count}} itens",
|
|
1316
|
+
fileCount: "{{count}} arquivos",
|
|
1317
|
+
fileCount_one: "{{count}} arquivo",
|
|
1318
|
+
fileCount_many: "{{count}} de arquivos",
|
|
1319
|
+
fileCount_other: "{{count}} arquivos",
|
|
1025
1320
|
},
|
|
1026
1321
|
chart: {
|
|
1027
|
-
noData: "Nenhum dado de gráfico disponível",
|
|
1028
1322
|
loading: "Carregando gráfico…",
|
|
1323
|
+
refreshing: "Atualizando…",
|
|
1029
1324
|
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.",
|
|
1325
|
+
scatterOneMeasure: "Um gráfico de dispersão traça uma única medida. Mantenha apenas uma série:",
|
|
1326
|
+
unconfigured: {
|
|
1327
|
+
noCategoryAxis: "Eixo de categorias do gráfico obrigatório — um gráfico vinculado a um objeto não o inventa. Declare um destes:",
|
|
1328
|
+
},
|
|
1037
1329
|
},
|
|
1038
1330
|
dashboard: {
|
|
1039
|
-
|
|
1331
|
+
// objectui#7063 — the DEFAULT empty state every dashboard widget renders
|
|
1332
|
+
// when its query SUCCEEDED and returned nothing. It replaced the terse
|
|
1333
|
+
// per-widget `noRows` / `noDataAvailable` fragments at the render site;
|
|
1334
|
+
// objectui#7125 deleted those two keys from all ten packs once nothing
|
|
1335
|
+
// read them. The copy here has to read as a state rather than a failure,
|
|
1336
|
+
// which is why it says the widget loaded. `sourceLabel` carries its own
|
|
1337
|
+
// punctuation so the call site concatenates no separator (see
|
|
1338
|
+
// `WidgetEmptyState`).
|
|
1339
|
+
empty: {
|
|
1340
|
+
title: "Ainda sem dados",
|
|
1341
|
+
message: "Este widget foi carregado com sucesso, mas a consulta ainda não retornou nenhum registro.",
|
|
1342
|
+
sourceLabel: "Fonte de dados:",
|
|
1343
|
+
},
|
|
1040
1344
|
loading: "Carregando…",
|
|
1345
|
+
refreshing: "Atualizando…",
|
|
1346
|
+
refreshAll: "Atualizar tudo",
|
|
1347
|
+
refreshDashboard: "Atualizar painel",
|
|
1041
1348
|
pickMeasures: "Escolha medidas (valores) para este widget de dataset.",
|
|
1042
1349
|
datasetUnsupported: "Esta fonte de dados não oferece suporte a consultas de dataset.",
|
|
1350
|
+
widgetForbiddenTitle: "Sem acesso",
|
|
1351
|
+
widgetForbiddenMessage: "Você não tem permissão para ver os dados deste widget.",
|
|
1043
1352
|
details: "Detalhes",
|
|
1044
1353
|
exportCsv: "Exportar CSV",
|
|
1045
1354
|
openInList: "Abrir na lista",
|
|
@@ -1067,12 +1376,10 @@ const pt = {
|
|
|
1067
1376
|
},
|
|
1068
1377
|
},
|
|
1069
1378
|
addWidget: "Adicionar widget",
|
|
1070
|
-
removeWidget: "Remover widget",
|
|
1071
1379
|
editLayout: "Editar layout",
|
|
1072
1380
|
saveLayout: "Salvar layout",
|
|
1073
1381
|
resetLayout: "Redefinir layout",
|
|
1074
1382
|
total: "Total",
|
|
1075
|
-
noDataAvailable: "Sem dados disponíveis",
|
|
1076
1383
|
noDataSourceFor: "Sem fonte de dados para",
|
|
1077
1384
|
config: {
|
|
1078
1385
|
breadcrumb: {
|
|
@@ -1194,10 +1501,6 @@ const pt = {
|
|
|
1194
1501
|
appDescription: "Descrição",
|
|
1195
1502
|
appIcon: "Ícone",
|
|
1196
1503
|
template: "Modelo",
|
|
1197
|
-
layout: "Layout",
|
|
1198
|
-
layoutSidebar: "Barra lateral",
|
|
1199
|
-
layoutHeader: "Cabeçalho",
|
|
1200
|
-
layoutEmpty: "Vazio",
|
|
1201
1504
|
selectObjects: "Selecionar objetos",
|
|
1202
1505
|
searchObjects: "Pesquisar objetos…",
|
|
1203
1506
|
selectAll: "Selecionar todos",
|
|
@@ -1206,7 +1509,6 @@ const pt = {
|
|
|
1206
1509
|
addGroup: "Adicionar grupo",
|
|
1207
1510
|
addUrl: "Adicionar URL",
|
|
1208
1511
|
addSeparator: "Adicionar separador",
|
|
1209
|
-
noNavItems: "Nenhum item de navegação ainda.",
|
|
1210
1512
|
logoUrl: "Logo URL",
|
|
1211
1513
|
primaryColor: "Cor primária",
|
|
1212
1514
|
faviconUrl: "Favicon URL",
|
|
@@ -1233,13 +1535,12 @@ const pt = {
|
|
|
1233
1535
|
appearance: "Aparência",
|
|
1234
1536
|
rowHeight: "Altura da linha",
|
|
1235
1537
|
livePreview: "Pré-visualização em tempo real",
|
|
1236
|
-
stepBasicDesc: "Nome, título e
|
|
1538
|
+
stepBasicDesc: "Nome, título e ícone",
|
|
1237
1539
|
stepObjectsDesc: "Selecionar objetos de negócio",
|
|
1238
1540
|
stepNavigationDesc: "Construir árvore de navegação",
|
|
1239
1541
|
stepBrandingDesc: "Logo, cores e favicon",
|
|
1240
1542
|
noObjectsFound: "Nenhum objeto encontrado.",
|
|
1241
1543
|
noNavItemsHint: "Sem itens de navegação. Selecione objetos na etapa anterior ou adicione manualmente.",
|
|
1242
|
-
separator: "Separador",
|
|
1243
1544
|
separatorLabel: "— Separador —",
|
|
1244
1545
|
newGroup: "Novo grupo",
|
|
1245
1546
|
newLink: "Novo link",
|
|
@@ -1273,6 +1574,7 @@ const pt = {
|
|
|
1273
1574
|
navTypeSeparator: "Separador",
|
|
1274
1575
|
navTypeAction: "Ação",
|
|
1275
1576
|
navTypeComponent: "Componente",
|
|
1577
|
+
navTypeDoc: "Documento",
|
|
1276
1578
|
navEditIcon: "Editar ícone",
|
|
1277
1579
|
navToggleVisible: "Alternar visibilidade",
|
|
1278
1580
|
navHidden: "Oculto",
|
|
@@ -1350,11 +1652,8 @@ const pt = {
|
|
|
1350
1652
|
defaultValue: "Valor padrão",
|
|
1351
1653
|
placeholder: "Espaço reservado",
|
|
1352
1654
|
referenceTo: "Referência a",
|
|
1353
|
-
formula: "Fórmula",
|
|
1354
1655
|
options: "Opções",
|
|
1355
1656
|
addOption: "Adicionar opção",
|
|
1356
|
-
validationRules: "Regras de validação",
|
|
1357
|
-
addRule: "Adicionar regra",
|
|
1358
1657
|
systemBadge: "Sistema",
|
|
1359
1658
|
ungrouped: "Geral",
|
|
1360
1659
|
deleteConfirmTitle: "Excluir campo?",
|
|
@@ -1373,16 +1672,33 @@ const pt = {
|
|
|
1373
1672
|
},
|
|
1374
1673
|
},
|
|
1375
1674
|
console: {
|
|
1675
|
+
studio: {
|
|
1676
|
+
title: "Studio",
|
|
1677
|
+
accessRequired: "Você precisa de acesso ao Studio para abrir o Studio.",
|
|
1678
|
+
},
|
|
1376
1679
|
saveAdvisoryTitle: "Salvo — a verificação de criação gerou {{count}} recomendação(ões)",
|
|
1680
|
+
saveAdvisoryTitle_one: "Salvo — a verificação de criação gerou {{count}} recomendação",
|
|
1681
|
+
saveAdvisoryTitle_many: "Salvo — a verificação de criação gerou {{count}} de recomendações",
|
|
1682
|
+
saveAdvisoryTitle_other: "Salvo — a verificação de criação gerou {{count}} recomendações",
|
|
1683
|
+
publishAdvisoryTitle: "Publicado — a verificação de criação gerou {{count}} recomendação(ões)",
|
|
1684
|
+
publishAdvisoryTitle_one: "Publicado — a verificação de criação gerou {{count}} recomendação",
|
|
1685
|
+
publishAdvisoryTitle_many: "Publicado — a verificação de criação gerou {{count}} de recomendações",
|
|
1686
|
+
publishAdvisoryTitle_other: "Publicado — a verificação de criação gerou {{count}} recomendações",
|
|
1687
|
+
importMappingsUnavailable: "Não foi possível carregar os mapeamentos de importação salvos de {{object}}",
|
|
1688
|
+
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.",
|
|
1689
|
+
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.",
|
|
1690
|
+
savedViewsUnavailable: "Não foi possível carregar as exibições salvas de {{object}}",
|
|
1691
|
+
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.",
|
|
1692
|
+
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
1693
|
settingsHub: {
|
|
1378
1694
|
title: "Configurações",
|
|
1379
|
-
subtitle: "Configure seu
|
|
1695
|
+
subtitle: "Configure seu sistema, integrações e sinalizadores de recursos.",
|
|
1380
1696
|
loadError: "Falha ao carregar as configurações",
|
|
1381
1697
|
empty: "Nenhuma configuração registrada. Os plugins podem registrar manifestos de configuração pelo SettingsService.",
|
|
1382
1698
|
settingsCount: "{{n}} configurações",
|
|
1383
1699
|
beta: "Beta",
|
|
1384
1700
|
categories: {
|
|
1385
|
-
Workspace: "
|
|
1701
|
+
Workspace: "Geral",
|
|
1386
1702
|
Communication: "Comunicação",
|
|
1387
1703
|
Security: "Segurança",
|
|
1388
1704
|
Infrastructure: "Infraestrutura",
|
|
@@ -1427,13 +1743,20 @@ const pt = {
|
|
|
1427
1743
|
},
|
|
1428
1744
|
usage: {
|
|
1429
1745
|
title: "Uso de IA",
|
|
1430
|
-
|
|
1431
|
-
meterAsk: "Perguntar",
|
|
1746
|
+
poolUsed: "{{percent}} usado",
|
|
1432
1747
|
statusOk: "Ainda há bastante",
|
|
1433
1748
|
statusLow: "Está acabando",
|
|
1434
1749
|
statusFull: "Limite atingido",
|
|
1435
1750
|
resetsDaily: "Redefine hoje à noite",
|
|
1436
1751
|
resetsMonthly: "Redefine no próximo ciclo",
|
|
1752
|
+
resetsWeeklyDays: "Redefine em {{count}} dias",
|
|
1753
|
+
resetsWeeklyDays_one: "Redefine em {{count}} dia",
|
|
1754
|
+
resetsWeeklyDays_many: "Redefine em {{count}} de dias",
|
|
1755
|
+
resetsWeeklyDays_other: "Redefine em {{count}} dias",
|
|
1756
|
+
resetsWeeklyHours: "Redefine em {{count}} horas",
|
|
1757
|
+
resetsWeeklyHours_one: "Redefine em {{count}} hora",
|
|
1758
|
+
resetsWeeklyHours_many: "Redefine em {{count}} de horas",
|
|
1759
|
+
resetsWeeklyHours_other: "Redefine em {{count}} horas",
|
|
1437
1760
|
ctaUpgrade: "Faça upgrade para continuar",
|
|
1438
1761
|
ctaTopUp: "Adicione créditos para continuar",
|
|
1439
1762
|
ariaLabel: "Uso de IA: {{status}}",
|
|
@@ -1446,6 +1769,31 @@ const pt = {
|
|
|
1446
1769
|
share: "Compartilhar",
|
|
1447
1770
|
shareTitle: "Compartilhar esta conversa",
|
|
1448
1771
|
shareDisabledTitle: "Comece a conversar para habilitar o compartilhamento",
|
|
1772
|
+
buildDoctor: "Diagnóstico de build",
|
|
1773
|
+
buildDoctorTitle: "Diagnóstico de build — o que foi realmente aplicado?",
|
|
1774
|
+
buildDoctorDisabledTitle: "Envie uma mensagem primeiro",
|
|
1775
|
+
buildDoctorDrawer: {
|
|
1776
|
+
description: 'O que o agente afirmou versus o que está realmente ativo. Diagnóstico somente leitura.',
|
|
1777
|
+
reconciling: 'Conciliando…',
|
|
1778
|
+
notAvailable: 'Indisponível — a conversa não foi encontrada ou você não tem autorização.',
|
|
1779
|
+
untitled: '(sem título)',
|
|
1780
|
+
summary: '{{turns}} turno(s) · {{messages}} msgs · {{tokens}} tok · {{seconds}} s LLM',
|
|
1781
|
+
allLive: 'Todas as {{count}} alteração(ões) tentada(s) estão ativas — nada se perdeu.',
|
|
1782
|
+
discrepancies: '{{count}} discrepância(s) — o que o chat disse não corresponde ao que está ativo.',
|
|
1783
|
+
orphanedTitle: 'Proposto, mas nunca aplicado',
|
|
1784
|
+
orphanedHint: 'Um cartão de confirmação que o agente propôs, mas que nenhum turno posterior aplicou — a alteração se perdeu silenciosamente.',
|
|
1785
|
+
missingTitle: 'Declarado, mas ausente',
|
|
1786
|
+
missingHint: 'Um resultado de ferramenta disse que foi aplicado, mas o artefato não está ativo em sys_metadata.',
|
|
1787
|
+
toolErrorsTitle: 'Erros de ferramentas',
|
|
1788
|
+
toolErrorsHint: 'Chamadas de ferramentas que retornaram um erro durante o build.',
|
|
1789
|
+
verifyTitle: 'Verificação do build (verify_build)',
|
|
1790
|
+
yourApp: 'Seu aplicativo:',
|
|
1791
|
+
noIssues: '0 problemas',
|
|
1792
|
+
issueCount: '{{count}} problema(s)',
|
|
1793
|
+
platformNoise: '{{count}} achado(s) sys_* da plataforma oculto(s)',
|
|
1794
|
+
pendingActions: 'Ações pendentes',
|
|
1795
|
+
timeline: 'Linha do tempo ({{count}})',
|
|
1796
|
+
},
|
|
1449
1797
|
newChat: "Nova",
|
|
1450
1798
|
searchChats: "Pesquisar conversas…",
|
|
1451
1799
|
noChatsYet: "Ainda não há conversas",
|
|
@@ -1468,6 +1816,8 @@ const pt = {
|
|
|
1468
1816
|
liveCanvasUnlisted: "Aplicativo ao vivo — {{app}} (não listado até ser publicado)",
|
|
1469
1817
|
loadingAgents: "Carregando agentes…",
|
|
1470
1818
|
askAnything: "Pergunte qualquer coisa…",
|
|
1819
|
+
askOrChangeApp: "Pergunte sobre seus dados ou peça para eu alterar este app…",
|
|
1820
|
+
describeAppToBuild: "Descreva o app que você quer criar ou o que mudar…",
|
|
1471
1821
|
emptyTitle: "Iniciar uma conversa",
|
|
1472
1822
|
emptyDescription: "Pergunte qualquer coisa — o assistente tem acesso ao contexto do seu aplicativo atual.",
|
|
1473
1823
|
switchAssistant: "Trocar de assistente",
|
|
@@ -1475,7 +1825,7 @@ const pt = {
|
|
|
1475
1825
|
empty: {
|
|
1476
1826
|
build: {
|
|
1477
1827
|
title: "Criar com IA",
|
|
1478
|
-
description: "Descreva um aplicativo
|
|
1828
|
+
description: "Descreva um aplicativo em linguagem simples — eu rascunho os objetos, telas e dados de exemplo, e então você revisa e publica.",
|
|
1479
1829
|
},
|
|
1480
1830
|
ask: {
|
|
1481
1831
|
title: "Pergunte aos seus dados",
|
|
@@ -1484,17 +1834,22 @@ const pt = {
|
|
|
1484
1834
|
editApp: {
|
|
1485
1835
|
title: "Editando “{{app}}”",
|
|
1486
1836
|
titleGeneric: "Editar este aplicativo",
|
|
1487
|
-
description: "O que você quer mudar? Eu altero este aplicativo no lugar — adicionar um campo, objeto, visão ou
|
|
1837
|
+
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
1838
|
},
|
|
1489
1839
|
},
|
|
1490
1840
|
clearConversation: "Limpar",
|
|
1491
1841
|
sendHint: "para enviar",
|
|
1842
|
+
newlineHint: "para uma nova linha",
|
|
1492
1843
|
agentActivity: "Atividade do agente",
|
|
1493
1844
|
toolCompleted: "Concluído",
|
|
1494
1845
|
toolRunning: "Em execução",
|
|
1495
1846
|
toolAwaitingApproval: "Aguardando aprovação",
|
|
1496
1847
|
toolFailed: "Falhou",
|
|
1497
1848
|
toolDetailsHidden: "As entradas das ferramentas e os resultados brutos estão ocultos nesta visão.",
|
|
1849
|
+
toolDenyReason: "Rejeitado pelo operador no chat",
|
|
1850
|
+
builderHandoffTitle: "Criar no construtor",
|
|
1851
|
+
builderHandoffOpen: "Abrir no construtor →",
|
|
1852
|
+
builderHandoffSuperseded: "Há uma solicitação mais recente",
|
|
1498
1853
|
copy: "Copiar",
|
|
1499
1854
|
copied: "Copiado",
|
|
1500
1855
|
regenerate: "Gerar novamente",
|
|
@@ -1509,7 +1864,7 @@ const pt = {
|
|
|
1509
1864
|
publishOk: "Publicado — os objetos já estão ativos.",
|
|
1510
1865
|
seedWarn: "Publicado, mas alguns dados de exemplo não puderam ser carregados.",
|
|
1511
1866
|
openBuiltApp: "Abrir o aplicativo",
|
|
1512
|
-
|
|
1867
|
+
viewBuiltAppInStudio: "Ver no Studio",
|
|
1513
1868
|
previewDraft: "Pré-visualizar",
|
|
1514
1869
|
previewApp: "Pré-visualizar o aplicativo",
|
|
1515
1870
|
resizeSplit: "Redimensionar a conversa e a pré-visualização",
|
|
@@ -1537,23 +1892,41 @@ const pt = {
|
|
|
1537
1892
|
recentRecords: "Liste os 5 registros criados mais recentemente.",
|
|
1538
1893
|
recordCounts: "Conte os registros de cada objeto.",
|
|
1539
1894
|
},
|
|
1895
|
+
// cloud#1984 — these five chips are the maker's own recommendations, so
|
|
1896
|
+
// they may only ask for what ADR-0112 v1 BUILDS: objects, fields, views
|
|
1897
|
+
// (grid/kanban/calendar/gallery), pages, dashboards and sample data. No
|
|
1898
|
+
// wording that promises autonomous behaviour (alert / remind / notify /
|
|
1899
|
+
// automate / status workflow) — v1 has no flows, actions or schedules, and
|
|
1900
|
+
// the model silently degrades such a request into a board or a filtered
|
|
1901
|
+
// view, so the chip would promise an alert and deliver a page. REVERT to
|
|
1902
|
+
// the automation wording when ADR-0112 v2 re-adds flows and actions.
|
|
1540
1903
|
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,
|
|
1904
|
+
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.",
|
|
1905
|
+
buildApp: "Crie um controle de projetos — projetos, tarefas com responsáveis e prazos, um quadro por status e um calendário de prazos.",
|
|
1906
|
+
buildFlow: "Projete uma central de suporte — chamados com campos de prioridade e status, um quadro por status e vínculos com clientes.",
|
|
1907
|
+
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.",
|
|
1908
|
+
buildRecruiting: "Crie um controle de candidaturas — candidatos, vagas abertas, um campo de etapa de entrevista e um quadro por etapa.",
|
|
1546
1909
|
},
|
|
1547
1910
|
generic: {
|
|
1548
1911
|
help: "Com o que você pode me ajudar?",
|
|
1549
1912
|
availableObjects: "Liste os objetos de dados disponíveis.",
|
|
1550
1913
|
recentActivity: "Resuma minha atividade recente.",
|
|
1551
1914
|
},
|
|
1915
|
+
// objectui#7709 — the edit-mode starters, shown when the maker is bound
|
|
1916
|
+
// to an EXISTING app (`?package=`). Same rule as the five above: they
|
|
1917
|
+
// may only ask for what ADR-0112 v1 BUILDS. The fourth chip used to be
|
|
1918
|
+
// `addAutomation` ("an approval, a status flow, or a notification") and
|
|
1919
|
+
// every capability it named is refused by v1 (cloud#1956 / PR #1970), so
|
|
1920
|
+
// it now asks for sample data — `seed` IS on v1's whitelist, and having
|
|
1921
|
+
// no data is what an existing app most often lacks. REVERT: when
|
|
1922
|
+
// ADR-0112 v2 re-adds flows and actions, THIS chip's automation wording
|
|
1923
|
+
// comes back as `addAutomation`; the retired string is pinned for every
|
|
1924
|
+
// pack in `packages/i18n/src/__tests__/makerEditChips-v1-scope-7709.test.ts`.
|
|
1552
1925
|
editApp: {
|
|
1553
1926
|
addField: "Adicione um campo a um dos objetos.",
|
|
1554
1927
|
addObject: "Adicione um novo objeto e relacione-o a um existente.",
|
|
1555
1928
|
addDashboard: "Adicione um painel para as métricas principais.",
|
|
1556
|
-
|
|
1929
|
+
addSampleData: "Preencha os objetos existentes com registros de exemplo realistas para eu poder demonstrar o aplicativo.",
|
|
1557
1930
|
},
|
|
1558
1931
|
},
|
|
1559
1932
|
changesTitle: "Confirmar alterações",
|
|
@@ -1618,6 +1991,7 @@ const pt = {
|
|
|
1618
1991
|
collapse: "Recolher a conversa",
|
|
1619
1992
|
maximize: "Abrir como página inteira",
|
|
1620
1993
|
open: "Abrir o assistente",
|
|
1994
|
+
planAwaitingApproval: "Um plano proposto aguarda sua aprovação",
|
|
1621
1995
|
},
|
|
1622
1996
|
group: {
|
|
1623
1997
|
today: "Hoje",
|
|
@@ -1628,13 +2002,17 @@ const pt = {
|
|
|
1628
2002
|
},
|
|
1629
2003
|
},
|
|
1630
2004
|
title: "Console ObjectStack",
|
|
1631
|
-
initializing: "
|
|
1632
|
-
|
|
2005
|
+
initializing: "Abrindo seu console…",
|
|
2006
|
+
skipToContent: "Pular para o conteúdo",
|
|
1633
2007
|
breadcrumb: {
|
|
1634
|
-
dashboards: "Painéis",
|
|
1635
|
-
pages: "Páginas",
|
|
1636
|
-
reports: "Relatórios",
|
|
1637
2008
|
system: "Sistema",
|
|
2009
|
+
marketplace: "Marketplace",
|
|
2010
|
+
settings: 'Configurações',
|
|
2011
|
+
apps: 'Aplicativos',
|
|
2012
|
+
profile: 'Perfil',
|
|
2013
|
+
approvals: 'Aprovações',
|
|
2014
|
+
aiApprovals: 'Aprovações de IA',
|
|
2015
|
+
auditLog: 'Log de auditoria',
|
|
1638
2016
|
},
|
|
1639
2017
|
// objectui#4024 — the single-namespace settings screen. Its sibling
|
|
1640
2018
|
// `settingsHub` above already resolved through this pack; the view was the
|
|
@@ -1654,17 +2032,33 @@ const pt = {
|
|
|
1654
2032
|
saveChanges: "Salvar alterações",
|
|
1655
2033
|
unsavedCount: "{{count}} alterações não salvas",
|
|
1656
2034
|
unsavedCount_one: "{{count}} alteração não salva",
|
|
2035
|
+
unsavedCount_many: "{{count}} de alterações não salvas",
|
|
1657
2036
|
unsavedCount_other: "{{count}} alterações não salvas",
|
|
2037
|
+
fieldErrorsToast: "{{count}} configurações precisam de atenção: {{settings}}",
|
|
2038
|
+
fieldErrorsToast_one: "{{count}} configuração precisa de atenção: {{settings}}",
|
|
2039
|
+
fieldErrorsToast_many: "{{count}} de configurações precisam de atenção: {{settings}}",
|
|
2040
|
+
fieldErrorsToast_other: "{{count}} configurações precisam de atenção: {{settings}}",
|
|
1658
2041
|
cryptoRefusalTitle: "Esta implantação não consegue criptografar segredos",
|
|
1659
2042
|
cryptoRefusalSubjectSuffix: "está declarado como criptografado, portanto nada foi gravado.",
|
|
1660
2043
|
cryptoRefusalNoSubject: "O valor declarado como criptografado foi recusado, portanto nada foi gravado.",
|
|
1661
2044
|
cryptoRefusalToast: "Não é possível criptografar segredos: {{subject}}",
|
|
1662
2045
|
cryptoRefusalToastNoSubject: "Não é possível criptografar segredos",
|
|
1663
|
-
|
|
1664
|
-
|
|
1665
|
-
|
|
1666
|
-
|
|
1667
|
-
|
|
2046
|
+
sourceBadgeInherited: "Herdado de {{source}}",
|
|
2047
|
+
sourceBadgeOverrides: "Substitui {{source}}",
|
|
2048
|
+
resetToDefault: "Restaurar padrão",
|
|
2049
|
+
envLockBadge: "Bloqueado pelo ambiente",
|
|
2050
|
+
envLockBadgeTitle: "Fixado por uma variável de ambiente — não pode ser editado pela interface.",
|
|
2051
|
+
deprecatedBadge: "Obsoleto",
|
|
2052
|
+
deprecatedBadgeReplacedBy: "Obsoleto → {{replacedBy}}",
|
|
2053
|
+
unsupportedSpecifierType: "Tipo de configuração não suportado: {{type}}",
|
|
2054
|
+
},
|
|
2055
|
+
workspaceTimezonePrompt: {
|
|
2056
|
+
title: "Definir o fuso horário do sistema",
|
|
2057
|
+
description: "Este sistema ainda usa o fuso horário padrão da plataforma, {{current}}. O fuso horário do sistema define o que \"hoje\" significa nas fórmulas, como os relatórios agrupam por data e como datas e horas são exibidas, para todos no sistema. O fuso horário do seu navegador foi preenchido abaixo.",
|
|
2058
|
+
laterHint: "Você pode alterá-lo a qualquer momento na página de Configurações.",
|
|
2059
|
+
decline: "Manter o padrão",
|
|
2060
|
+
confirm: "Definir fuso horário",
|
|
2061
|
+
saved: "Fuso horário do sistema definido como {{zone}}",
|
|
1668
2062
|
},
|
|
1669
2063
|
error: {
|
|
1670
2064
|
connectionFailed: "Não é possível conectar ao servidor",
|
|
@@ -1689,27 +2083,28 @@ const pt = {
|
|
|
1689
2083
|
groups: {
|
|
1690
2084
|
general: "Geral",
|
|
1691
2085
|
navigation: "Navegação",
|
|
1692
|
-
dataViews: "Visualizações de dados",
|
|
1693
2086
|
aiChat: "Assistente de IA",
|
|
1694
|
-
preferences: "Preferências",
|
|
1695
2087
|
},
|
|
1696
2088
|
openCommandPalette: "Abrir paleta de comandos",
|
|
1697
2089
|
showShortcuts: "Mostrar atalhos de teclado",
|
|
1698
2090
|
closeDialog: "Fechar diálogo / painel",
|
|
1699
2091
|
toggleSidebar: "Alternar barra lateral",
|
|
1700
|
-
focusSearch: "Focar na pesquisa",
|
|
1701
|
-
createRecord: "Criar novo registro",
|
|
1702
|
-
refreshData: "Atualizar dados",
|
|
1703
|
-
editRecord: "Editar registro selecionado",
|
|
1704
2092
|
newChat: "Nova conversa",
|
|
1705
2093
|
toggleChatsList: "Alternar lista de conversas",
|
|
1706
|
-
|
|
2094
|
+
goHome: "Voltar ao início",
|
|
2095
|
+
},
|
|
2096
|
+
reportIndex: {
|
|
2097
|
+
title: "Relatórios",
|
|
2098
|
+
emptyTitle: "Nenhum relatório",
|
|
2099
|
+
emptyDescription: "Este aplicativo não tem relatórios que você possa abrir.",
|
|
1707
2100
|
},
|
|
1708
2101
|
commandPalette: {
|
|
1709
2102
|
title: "Paleta de comandos",
|
|
1710
2103
|
placeholder: "Digite um comando ou pesquise…",
|
|
1711
2104
|
noResults: "Nenhum resultado encontrado.",
|
|
1712
2105
|
objects: "Objetos",
|
|
2106
|
+
packages: "Pacotes",
|
|
2107
|
+
flows: "Fluxos",
|
|
1713
2108
|
dashboards: "Painéis",
|
|
1714
2109
|
pages: "Páginas",
|
|
1715
2110
|
reports: "Relatórios",
|
|
@@ -1726,6 +2121,21 @@ const pt = {
|
|
|
1726
2121
|
records: "Registros",
|
|
1727
2122
|
recentRecords: "Vistos recentemente",
|
|
1728
2123
|
},
|
|
2124
|
+
// objectui#9954 — see the `en` pack for what raises each case.
|
|
2125
|
+
readRate: {
|
|
2126
|
+
ratioTitle: 'Volume de leitura incomum neste sistema',
|
|
2127
|
+
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.',
|
|
2128
|
+
noWritesTitle: 'Leituras sem nenhuma gravação neste sistema',
|
|
2129
|
+
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.',
|
|
2130
|
+
},
|
|
2131
|
+
// objectui#10439 — see the `en` pack for what raises each case.
|
|
2132
|
+
storageUsage: {
|
|
2133
|
+
warningTitle: 'O armazenamento está quase cheio',
|
|
2134
|
+
warning: '{{used}} MB de {{limit}} MB usados. Envios e importações são pausados quando o armazenamento fica cheio.',
|
|
2135
|
+
blockedTitle: 'Armazenamento cheio: envios e importações estão pausados',
|
|
2136
|
+
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.',
|
|
2137
|
+
upgrade: 'Faça upgrade para continuar',
|
|
2138
|
+
},
|
|
1729
2139
|
errors: {
|
|
1730
2140
|
somethingWentWrong: "Algo deu errado",
|
|
1731
2141
|
unexpectedError: "Ocorreu um erro inesperado ao renderizar esta visualização.",
|
|
@@ -1756,22 +2166,27 @@ const pt = {
|
|
|
1756
2166
|
viewNameInvalid: "Use letras minúsculas, números e sublinhados; comece com uma letra ou sublinhado.",
|
|
1757
2167
|
systemViewReadonly: "Exibição do sistema definida no código — somente leitura.",
|
|
1758
2168
|
cannotEditMetaView: "Esta exibição é integrada e definida no código — não é possível alterá-la.",
|
|
2169
|
+
resetView: "Redefinir exibição",
|
|
2170
|
+
resetViewTitle: "Retornar esta exibição à sua própria ordenação, filtros e larguras de coluna. Apenas as suas configurações mudam.",
|
|
1759
2171
|
cannotDeleteMetaView: "Esta exibição é integrada e definida no código — não é possível excluí-la.",
|
|
1760
2172
|
expandToPage: "Abrir como página inteira",
|
|
1761
2173
|
objectNotFound: "Objeto não encontrado",
|
|
1762
2174
|
objectNotFoundDescription: "O objeto \"{{objectName}}\" não existe na configuração atual.",
|
|
1763
2175
|
objectNotFoundHint: "Verifique as configurações de navegação do seu aplicativo ou selecione um objeto diferente na barra lateral.",
|
|
2176
|
+
objectPackageDisabled: "O objeto \"{{objectName}}\" pertence a um pacote desativado e, por isso, não está sendo servido.",
|
|
1764
2177
|
filterOrNotSavable: "Este filtro une as condições com OU, algo que uma visão salva ainda não consegue armazenar. Ele continua aplicado a esta lista — remova o agrupamento OU para salvá-lo na visão.",
|
|
1765
2178
|
filterNestedNotSavable: "Este filtro usa grupos de condições aninhados, que uma visão salva não consegue armazenar. Transforme-o em uma única lista de condições para salvá-lo na visão.",
|
|
1766
2179
|
allRecords: "Todos os registros",
|
|
1767
2180
|
new: "Novo",
|
|
1768
2181
|
configureView: "Configurar visualização",
|
|
1769
|
-
toolbar: "Barra de ferramentas",
|
|
1770
2182
|
toolbarEnabledCount: "{{count}} de {{total}} habilitados",
|
|
1771
2183
|
searchFields: "Pesquisar campos…",
|
|
1772
2184
|
title: "Título",
|
|
1773
2185
|
viewType: "Tipo de visualização",
|
|
1774
2186
|
recordCount: "{{count}} registros",
|
|
2187
|
+
recordCount_one: "{{count}} registro",
|
|
2188
|
+
recordCount_many: "{{count}} de registros",
|
|
2189
|
+
recordCount_other: "{{count}} registros",
|
|
1775
2190
|
save: "Salvar",
|
|
1776
2191
|
discard: "Descartar",
|
|
1777
2192
|
createView: "Criar visualização",
|
|
@@ -1783,11 +2198,13 @@ const pt = {
|
|
|
1783
2198
|
longitudeField: "Campo de longitude",
|
|
1784
2199
|
imageField: "Campo de imagem",
|
|
1785
2200
|
selectField: "Selecionar campo…",
|
|
1786
|
-
groupBy: "Agrupar por",
|
|
1787
2201
|
endDateField: "Campo de data de término",
|
|
1788
2202
|
import: "Importar",
|
|
1789
2203
|
importTitle: "Importar do CSV",
|
|
1790
2204
|
importedToast: "{{count}} linha(s) importada(s).",
|
|
2205
|
+
importedToast_one: "{{count}} linha importada.",
|
|
2206
|
+
importedToast_many: "{{count}} de linhas importadas.",
|
|
2207
|
+
importedToast_other: "{{count}} linhas importadas.",
|
|
1791
2208
|
importedWithSkipped: "{{ok}} linha(s) importada(s); {{skipped}} pulada(s).",
|
|
1792
2209
|
createViewDesc: "Escolha um tipo de exibição e dê um nome a ela. Todas as configurações podem ser alteradas depois.",
|
|
1793
2210
|
cancel: "Cancelar",
|
|
@@ -1796,6 +2213,9 @@ const pt = {
|
|
|
1796
2213
|
deleteViewTitle: "Excluir exibição",
|
|
1797
2214
|
deleteViewConfirm: "Excluir a exibição \"{{name}}\"? Isso não pode ser desfeito.",
|
|
1798
2215
|
bulkDeleteConfirm: "Excluir {{count}} registros selecionados? Isso não pode ser desfeito.",
|
|
2216
|
+
bulkDeleteConfirm_one: "Excluir {{count}} registro selecionado? Isso não pode ser desfeito.",
|
|
2217
|
+
bulkDeleteConfirm_many: "Excluir {{count}} de registros selecionados? Isso não pode ser desfeito.",
|
|
2218
|
+
bulkDeleteConfirm_other: "Excluir {{count}} registros selecionados? Isso não pode ser desfeito.",
|
|
1799
2219
|
duplicateViewName: "Já existe uma exibição com esse nome.",
|
|
1800
2220
|
viewTypeGrid: "Grade",
|
|
1801
2221
|
viewTypeGridDesc: "Tabela de registros no estilo planilha.",
|
|
@@ -1832,14 +2252,22 @@ const pt = {
|
|
|
1832
2252
|
chartTypePie: "Gráfico de pizza",
|
|
1833
2253
|
chartTypeArea: "Gráfico de área",
|
|
1834
2254
|
chartTypeScatter: "Gráfico de dispersão",
|
|
1835
|
-
|
|
1836
|
-
|
|
1837
|
-
|
|
1838
|
-
|
|
2255
|
+
dataset: "Conjunto de dados",
|
|
2256
|
+
datasetHelp: "O gráfico lê seus valores deste conjunto de dados do objeto.",
|
|
2257
|
+
chartMeasure: "Medida",
|
|
2258
|
+
chartMeasureHelp: "A medida do conjunto de dados exibida no eixo de valores.",
|
|
2259
|
+
chartDimension: "Dimensão",
|
|
2260
|
+
chartDimensionHelp: "A dimensão do conjunto de dados pela qual os valores são agrupados (opcional).",
|
|
2261
|
+
viewTypeUnavailableDataset: "Este objeto não expõe nenhum conjunto de dados para o gráfico.",
|
|
2262
|
+
noDatasetMeasure: "Este conjunto de dados não declara nenhuma medida para o gráfico.",
|
|
1839
2263
|
ufTabs: "Abas",
|
|
1840
2264
|
ufAddField: "+ Adicionar campo de filtro…",
|
|
1841
2265
|
ufShowAllRecords: "Mostrar aba \"Todos os registros\"",
|
|
1842
2266
|
},
|
|
2267
|
+
runtimeDraft: {
|
|
2268
|
+
publishFailed: "Falha ao publicar",
|
|
2269
|
+
discardFailed: "Falha ao descartar o rascunho",
|
|
2270
|
+
},
|
|
1843
2271
|
localeSwitcher: {
|
|
1844
2272
|
label: "Idioma",
|
|
1845
2273
|
},
|
|
@@ -1847,14 +2275,22 @@ const pt = {
|
|
|
1847
2275
|
nav: {
|
|
1848
2276
|
pinItem: "Fixar {{name}}",
|
|
1849
2277
|
unpinItem: "Desafixar {{name}}",
|
|
1850
|
-
dragToReorder: "Arrastar para reordenar",
|
|
1851
2278
|
favorites: "Favoritos",
|
|
2279
|
+
launcherLabel: "Iniciador de aplicativos",
|
|
2280
|
+
menuLabel: "Navegação do aplicativo",
|
|
2281
|
+
menuEmpty: "Este aplicativo não tem entradas de navegação que você possa abrir.",
|
|
2282
|
+
itemMenu: "Mais ações para {{name}}",
|
|
2283
|
+
openInNewTab: "Abrir em nova aba",
|
|
2284
|
+
copyLink: "Copiar link",
|
|
2285
|
+
linkCopied: "Link copiado para a área de transferência",
|
|
2286
|
+
linkCopyFailed: "Falha ao copiar o link",
|
|
2287
|
+
design: "Projetar",
|
|
1852
2288
|
},
|
|
1853
2289
|
},
|
|
1854
2290
|
auth: {
|
|
1855
2291
|
setPassword: {
|
|
1856
2292
|
title: "Definir uma senha de recuperação",
|
|
1857
|
-
description: "Você entrou por logon único. Defina uma senha local para continuar conseguindo
|
|
2293
|
+
description: "Você entrou por logon único. Defina uma senha local para continuar conseguindo entrar diretamente caso o SSO fique indisponível.",
|
|
1858
2294
|
email: "E-mail",
|
|
1859
2295
|
newPassword: "Nova senha",
|
|
1860
2296
|
confirmPassword: "Confirmar a senha",
|
|
@@ -1870,9 +2306,8 @@ const pt = {
|
|
|
1870
2306
|
signingIn: "Entrando…",
|
|
1871
2307
|
ssoHandoff: "Continuar para {{target}}",
|
|
1872
2308
|
devAdminHint: {
|
|
1873
|
-
title: "Instância de desenvolvimento",
|
|
1874
|
-
|
|
1875
|
-
dismiss: "Dispensar",
|
|
2309
|
+
title: "Instância de desenvolvimento local",
|
|
2310
|
+
signIn: "Entrar como administrador de desenvolvimento",
|
|
1876
2311
|
},
|
|
1877
2312
|
title: "Entre na sua conta",
|
|
1878
2313
|
description: "Digite seu e-mail e senha para continuar",
|
|
@@ -1902,6 +2337,22 @@ const pt = {
|
|
|
1902
2337
|
resendOtpCountdownText: "Reenviar em {seconds} s",
|
|
1903
2338
|
usePhoneOtpText: "Entrar com código de verificação",
|
|
1904
2339
|
usePasswordSignInText: "Entrar com senha em vez disso",
|
|
2340
|
+
socialButton: "Continuar com {provider}",
|
|
2341
|
+
orText: "ou continue com e-mail",
|
|
2342
|
+
ssoButton: "Entrar com SSO",
|
|
2343
|
+
ssoOnlyDescription: "Entre com o logon único da sua organização",
|
|
2344
|
+
usePasswordText: "Usar uma senha em vez disso",
|
|
2345
|
+
backToSsoText: "Voltar ao logon único",
|
|
2346
|
+
// objectui#12600 — the console login card's own header, the password
|
|
2347
|
+
// field's reveal toggle, and the footer's legal links.
|
|
2348
|
+
welcomeTitle: "Bem-vindo de volta",
|
|
2349
|
+
welcomeDescription: "Entre para continuar seu trabalho",
|
|
2350
|
+
showPasswordText: "Mostrar senha",
|
|
2351
|
+
hidePasswordText: "Ocultar senha",
|
|
2352
|
+
footer: {
|
|
2353
|
+
privacy: "Privacidade",
|
|
2354
|
+
terms: "Termos",
|
|
2355
|
+
},
|
|
1905
2356
|
},
|
|
1906
2357
|
register: {
|
|
1907
2358
|
title: "Criar uma conta",
|
|
@@ -1920,8 +2371,12 @@ const pt = {
|
|
|
1920
2371
|
submittingButton: "Criando conta…",
|
|
1921
2372
|
hasAccountText: "Já tem uma conta?",
|
|
1922
2373
|
signInText: "Entrar",
|
|
2374
|
+
socialButton: "Cadastre-se com {provider}",
|
|
2375
|
+
orText: "ou continue com e-mail",
|
|
1923
2376
|
errors: {
|
|
1924
2377
|
userExists: "Já existe uma conta com esse e-mail. Tente fazer login.",
|
|
2378
|
+
selfRegistrationClosed: "O cadastro por conta própria não está aberto neste sistema. Peça um convite a um administrador.",
|
|
2379
|
+
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
2380
|
},
|
|
1926
2381
|
verifyInbox: {
|
|
1927
2382
|
title: "Verifique sua caixa de entrada",
|
|
@@ -1997,7 +2452,7 @@ const pt = {
|
|
|
1997
2452
|
checkSpam: "Não recebeu o e-mail? Verifique sua pasta de spam ou entre em contato com o suporte.",
|
|
1998
2453
|
or: "Ou",
|
|
1999
2454
|
// objectui#3546 slice three.
|
|
2000
|
-
resendUnavailable: "O envio de e-mails pode não estar configurado neste
|
|
2455
|
+
resendUnavailable: "O envio de e-mails pode não estar configurado neste sistema. Entre em contato com o suporte se o problema persistir.",
|
|
2001
2456
|
},
|
|
2002
2457
|
setup: {
|
|
2003
2458
|
welcomeTitle: "Bem-vindo ao ObjectStack",
|
|
@@ -2041,7 +2496,7 @@ const pt = {
|
|
|
2041
2496
|
disabledDescription: "Esta implantação não tem a autorização de dispositivo habilitada, por isso este dispositivo não pode ser aprovado aqui.",
|
|
2042
2497
|
},
|
|
2043
2498
|
shell: {
|
|
2044
|
-
tenantHostHint: "Você está fazendo login neste
|
|
2499
|
+
tenantHostHint: "Você está fazendo login neste sistema",
|
|
2045
2500
|
},
|
|
2046
2501
|
layout: {
|
|
2047
2502
|
headline: "Crie aplicativos de negócios poderosos, com mais rapidez.",
|
|
@@ -2051,6 +2506,7 @@ const pt = {
|
|
|
2051
2506
|
signOut: "Sair da conta",
|
|
2052
2507
|
password: {
|
|
2053
2508
|
title: "Sua senha expirou",
|
|
2509
|
+
resetTitle: "Você precisa alterar sua senha",
|
|
2054
2510
|
fallbackMessage: "Defina uma nova senha para continuar.",
|
|
2055
2511
|
current: "Senha atual",
|
|
2056
2512
|
next: "Nova senha",
|
|
@@ -2076,6 +2532,11 @@ const pt = {
|
|
|
2076
2532
|
verifying: "Verificando…",
|
|
2077
2533
|
invalidCode: "Código inválido. Tente novamente.",
|
|
2078
2534
|
},
|
|
2535
|
+
impersonation: {
|
|
2536
|
+
passwordTitle: "{{user}} precisa alterar a senha",
|
|
2537
|
+
mfaTitle: "{{user}} precisa configurar a autenticação em duas etapas",
|
|
2538
|
+
body: "Você está personificando {{user}}, e somente essa pessoa pode fazer isso. Pare a personificação para voltar à sua própria conta.",
|
|
2539
|
+
},
|
|
2079
2540
|
},
|
|
2080
2541
|
},
|
|
2081
2542
|
// objectui#3546 slice three — the /oauth/consent screen.
|
|
@@ -2084,12 +2545,17 @@ const pt = {
|
|
|
2084
2545
|
title: "{{appName}} quer acessar sua conta",
|
|
2085
2546
|
request: "{{appName}} está solicitando permissão{{suffix}}.",
|
|
2086
2547
|
unknownApp: "um aplicativo",
|
|
2548
|
+
unidentified: "Não foi possível identificar este aplicativo.",
|
|
2549
|
+
clientId: "ID do cliente",
|
|
2087
2550
|
willAllow: "Este aplicativo poderá:",
|
|
2088
2551
|
scope: {
|
|
2089
2552
|
openid: "Confirmar sua identidade",
|
|
2090
2553
|
profile: "Ler seu perfil básico (nome, foto)",
|
|
2091
2554
|
email: "Ler seu endereço de e-mail",
|
|
2092
2555
|
offlineAccess: "Manter a sessão ativa (renovar o acesso)",
|
|
2556
|
+
dataRead: "Ler registros (dentro das suas próprias permissões)",
|
|
2557
|
+
dataWrite: "Criar, alterar e excluir registros (dentro das suas próprias permissões)",
|
|
2558
|
+
actionsExecute: "Executar ações em seu nome (dentro das suas próprias permissões)",
|
|
2093
2559
|
},
|
|
2094
2560
|
deny: "Negar",
|
|
2095
2561
|
authorize: "Autorizar",
|
|
@@ -2120,11 +2586,20 @@ const pt = {
|
|
|
2120
2586
|
role: "Função",
|
|
2121
2587
|
save: "Salvar alterações",
|
|
2122
2588
|
},
|
|
2589
|
+
language: {
|
|
2590
|
+
title: "Idioma",
|
|
2591
|
+
description: "O idioma usado nas notificações e mensagens enviadas para você. O idioma da interface é escolhido separadamente, no menu do globo.",
|
|
2592
|
+
label: "Idioma preferido",
|
|
2593
|
+
systemDefault: "Usar o padrão da implantação",
|
|
2594
|
+
save: "Salvar",
|
|
2595
|
+
saved: "Preferência de idioma atualizada.",
|
|
2596
|
+
readOnly: "O idioma da sua conta é gerenciado pelo seu administrador.",
|
|
2597
|
+
},
|
|
2123
2598
|
password: {
|
|
2124
2599
|
changeTitle: "Alterar senha",
|
|
2125
2600
|
setTitle: "Definir senha local",
|
|
2126
|
-
changeDescription: "Atualize a senha que você usa para entrar
|
|
2127
|
-
setDescription: "Você entrou via logon único (SSO). Defina uma senha local para também poder entrar com e-mail e senha
|
|
2601
|
+
changeDescription: "Atualize a senha que você usa para entrar.",
|
|
2602
|
+
setDescription: "Você entrou via logon único (SSO). Defina uma senha local para também poder entrar com e-mail e senha.",
|
|
2128
2603
|
current: "Senha atual",
|
|
2129
2604
|
new: "Nova senha",
|
|
2130
2605
|
password: "Senha",
|
|
@@ -2133,7 +2608,7 @@ const pt = {
|
|
|
2133
2608
|
mismatch: "As senhas não coincidem",
|
|
2134
2609
|
enterCurrent: "Digite sua senha atual",
|
|
2135
2610
|
changed: "Senha alterada.",
|
|
2136
|
-
localSet: "Senha local definida. Agora você pode entrar com e-mail e senha
|
|
2611
|
+
localSet: "Senha local definida. Agora você pode entrar com e-mail e senha.",
|
|
2137
2612
|
changeAction: "Alterar senha",
|
|
2138
2613
|
setAction: "Definir senha",
|
|
2139
2614
|
},
|
|
@@ -2148,22 +2623,21 @@ const pt = {
|
|
|
2148
2623
|
unknown: "Ocorreu um erro inesperado.",
|
|
2149
2624
|
},
|
|
2150
2625
|
workspace: {
|
|
2151
|
-
label: "
|
|
2152
|
-
default: "
|
|
2153
|
-
switch: "Trocar de
|
|
2154
|
-
|
|
2155
|
-
|
|
2156
|
-
|
|
2157
|
-
|
|
2158
|
-
nameLabel: "Nome do espaço de trabalho",
|
|
2626
|
+
label: "Organizações",
|
|
2627
|
+
default: "Minha organização",
|
|
2628
|
+
switch: "Trocar de organização",
|
|
2629
|
+
createTitle: "Criar uma organização",
|
|
2630
|
+
createDescription: "Uma organização é um espaço compartilhado para colaboração da equipe.",
|
|
2631
|
+
createButton: "Criar organização",
|
|
2632
|
+
nameLabel: "Nome da organização",
|
|
2159
2633
|
namePlaceholder: "p.ex., Acme Inc",
|
|
2160
2634
|
slugLabel: "Slug de URL",
|
|
2161
2635
|
slugHint: "Usado em URLs. Apenas letras minúsculas, números e hifens.",
|
|
2162
2636
|
invite: "Convidar membro",
|
|
2163
2637
|
members: "Membros",
|
|
2164
|
-
settings: "Configurações
|
|
2638
|
+
settings: "Configurações da organização",
|
|
2165
2639
|
multiOrgDisabled: "A criação de novas organizações está desativada nesta instância.",
|
|
2166
|
-
createFailed: 'Falha ao criar
|
|
2640
|
+
createFailed: 'Falha ao criar a organização',
|
|
2167
2641
|
},
|
|
2168
2642
|
help: {
|
|
2169
2643
|
onThisPage: "Nesta página",
|
|
@@ -2171,12 +2645,17 @@ const pt = {
|
|
|
2171
2645
|
appDocs: 'Documentação deste app',
|
|
2172
2646
|
allDocs: 'Toda a documentação',
|
|
2173
2647
|
onlineDocs: 'Documentação online',
|
|
2648
|
+
loadingDocumentation: 'Carregando documentação',
|
|
2649
|
+
about: 'Sobre',
|
|
2650
|
+
aboutTitle: 'Sobre este console',
|
|
2651
|
+
aboutDescription: 'A build a partir da qual este console foi compilado.',
|
|
2652
|
+
aboutBuild: 'Build do console',
|
|
2653
|
+
aboutBuildUnknown: 'Build desconhecida (nenhuma versão foi definida ao compilar este console)',
|
|
2174
2654
|
},
|
|
2175
2655
|
sidebar: {
|
|
2176
2656
|
packageManagement: "Gerenciamento de pacotes",
|
|
2177
2657
|
searchNavigation: "Pesquisar na navegação…",
|
|
2178
2658
|
settings: "Configurações",
|
|
2179
|
-
help: "Ajuda",
|
|
2180
2659
|
helpTooltip: "Ajuda e documentação",
|
|
2181
2660
|
activityFeed: "Feed de atividades",
|
|
2182
2661
|
notifications: "Notificações",
|
|
@@ -2186,18 +2665,16 @@ const pt = {
|
|
|
2186
2665
|
area: "Área",
|
|
2187
2666
|
scope: "Escopo",
|
|
2188
2667
|
recent: "Recente",
|
|
2189
|
-
favorites: "Favoritos",
|
|
2190
2668
|
starred: "Favoritos",
|
|
2191
2669
|
removeFromFavorites: "Remover {{name}} dos favoritos",
|
|
2670
|
+
allReports: "Todos os relatórios",
|
|
2192
2671
|
},
|
|
2193
2672
|
topbar: {
|
|
2194
2673
|
openAssistant: "Abrir o assistente {{name}}",
|
|
2195
2674
|
offline: "Off-line",
|
|
2196
2675
|
usersOnline: "Usuários on-line no momento",
|
|
2197
2676
|
switchView: "Trocar de visão",
|
|
2198
|
-
switchObject: "Trocar de objeto",
|
|
2199
2677
|
connection: {
|
|
2200
|
-
connected: "Conectado",
|
|
2201
2678
|
connecting: "Conectando…",
|
|
2202
2679
|
reconnecting: "Reconectando…",
|
|
2203
2680
|
disconnected: "Desconectado",
|
|
@@ -2210,23 +2687,22 @@ const pt = {
|
|
|
2210
2687
|
},
|
|
2211
2688
|
aiAssistant: "Assistente de IA",
|
|
2212
2689
|
designInStudio: "Projetar no Studio",
|
|
2690
|
+
editApp: "Editar aplicativo",
|
|
2213
2691
|
},
|
|
2214
2692
|
home: {
|
|
2215
2693
|
build: {
|
|
2216
2694
|
title: "Criar um aplicativo",
|
|
2217
|
-
|
|
2218
|
-
noCapability: "A criação de aplicativos não está disponível neste espaço de trabalho — ela exige a permissão “Gerenciar metadados”, que sua conta não possui.",
|
|
2695
|
+
noCapability: "A criação de aplicativos não está disponível neste sistema — ela exige a permissão “Gerenciar metadados”, que sua conta não possui.",
|
|
2219
2696
|
},
|
|
2220
2697
|
template: {
|
|
2221
2698
|
title: "Comece com um modelo",
|
|
2222
|
-
subtitle: "Instale um aplicativo modelo do marketplace e personalize-o.",
|
|
2223
2699
|
marketplaceDisabled: "Este runtime não tem um marketplace de aplicativos configurado, portanto não há modelos para instalar aqui.",
|
|
2224
2700
|
},
|
|
2225
2701
|
welcomeAdminDescription: "Descreva seu negócio em uma frase — a IA gera os objetos, as telas, as APIs e as ferramentas do agente. Ou configure você mesmo pelo menu à esquerda.",
|
|
2226
2702
|
welcomeAdminDescriptionNoBuild: "Configure seu primeiro aplicativo pelo menu de Administração à esquerda. Quando houver dados, o assistente de IA poderá ajudar a explorá-los.",
|
|
2227
2703
|
welcomeAdminDescriptionNoAi: "Configure seu primeiro aplicativo pelo menu de Administração à esquerda.",
|
|
2228
2704
|
noAppsTitle: "Ainda não há aplicativos",
|
|
2229
|
-
noAppsDescription: "
|
|
2705
|
+
noAppsDescription: "O sistema está sendo preparado — os aplicativos que seu administrador compartilhar aparecerão aqui.",
|
|
2230
2706
|
buildWithAI: "Criar com IA",
|
|
2231
2707
|
askAI: "Perguntar à IA",
|
|
2232
2708
|
recoveryReminder: {
|
|
@@ -2235,7 +2711,16 @@ const pt = {
|
|
|
2235
2711
|
dismiss: "Dispensar",
|
|
2236
2712
|
},
|
|
2237
2713
|
pendingDrafts: {
|
|
2238
|
-
|
|
2714
|
+
// objectui#12602 — the drafts row in Home's "My work" section: the
|
|
2715
|
+
// count, then the first draft names joined by `nameSeparator`, in
|
|
2716
|
+
// their package when they share one.
|
|
2717
|
+
title: "{{count}} alteração(ões) não publicada(s)",
|
|
2718
|
+
title_one: "{{count}} alteração não publicada",
|
|
2719
|
+
title_many: "{{count}} alterações não publicadas",
|
|
2720
|
+
title_other: "{{count}} alterações não publicadas",
|
|
2721
|
+
inPackage: "{{names}} aguardando publicação em {{package}}",
|
|
2722
|
+
waiting: "{{names}} aguardando publicação",
|
|
2723
|
+
nameSeparator: ", ",
|
|
2239
2724
|
cta: "Publicar",
|
|
2240
2725
|
publishing: "Publicando…",
|
|
2241
2726
|
published: "Publicado! Suas alterações estão ativas.",
|
|
@@ -2250,20 +2735,24 @@ const pt = {
|
|
|
2250
2735
|
capabilityWarn: "Verificação de autoria: {{count}} referência(s) de capacidade não apontam para nada.",
|
|
2251
2736
|
},
|
|
2252
2737
|
title: "Início",
|
|
2253
|
-
subtitle: "Painel do seu espaço de trabalho",
|
|
2254
2738
|
nav: "Início",
|
|
2255
2739
|
allApps: "Todas as aplicações",
|
|
2256
2740
|
yourApps: "As suas aplicações",
|
|
2257
2741
|
showMoreApps: "Mais",
|
|
2258
2742
|
showLess: "Mostrar menos",
|
|
2259
2743
|
continueEmpty: "Os itens que abrir aparecerão aqui.",
|
|
2260
|
-
|
|
2261
|
-
|
|
2262
|
-
|
|
2744
|
+
// objectui#12602 — Home's "My work" section: its heading, the link to the
|
|
2745
|
+
// full inbox, each column's title, "view all" link and empty line.
|
|
2746
|
+
myWork: {
|
|
2747
|
+
title: "Meu trabalho",
|
|
2748
|
+
openInbox: "Abrir caixa de entrada",
|
|
2749
|
+
viewAll: "Ver tudo",
|
|
2750
|
+
approvals: "Aguardando aprovação",
|
|
2751
|
+
approvalsEmpty: "Nada aguardando sua aprovação",
|
|
2752
|
+
notifications: "Notificações",
|
|
2753
|
+
notificationsEmpty: "Nenhuma notificação não lida",
|
|
2263
2754
|
},
|
|
2264
|
-
loading: "Carregando
|
|
2265
|
-
recent: "Recentes",
|
|
2266
|
-
starred: "Favoritos",
|
|
2755
|
+
loading: "Carregando…",
|
|
2267
2756
|
welcome: "Bem-vindo ao ObjectUI",
|
|
2268
2757
|
welcomeDescription: "Comece criando sua primeira aplicação ou configurando as preferências do sistema.",
|
|
2269
2758
|
createFirstApp: "Crie sua primeira app",
|
|
@@ -2271,12 +2760,10 @@ const pt = {
|
|
|
2271
2760
|
browseMarketplace: "Explorar marketplace de apps",
|
|
2272
2761
|
quickActions: {
|
|
2273
2762
|
title: "Ações rápidas",
|
|
2274
|
-
createApp: "Criar app",
|
|
2275
|
-
createAppDesc: "Comece com uma nova aplicação",
|
|
2276
2763
|
manageObjects: "Gerenciar objetos",
|
|
2277
2764
|
manageObjectsDesc: "Configure modelos de dados",
|
|
2278
2765
|
systemSettings: "Configurações do sistema",
|
|
2279
|
-
systemSettingsDesc: "Configure seu
|
|
2766
|
+
systemSettingsDesc: "Configure seu sistema",
|
|
2280
2767
|
},
|
|
2281
2768
|
appCard: {
|
|
2282
2769
|
noDescription: "Sem descrição",
|
|
@@ -2286,20 +2773,30 @@ const pt = {
|
|
|
2286
2773
|
greetingAfternoon: "Boa tarde",
|
|
2287
2774
|
greetingEvening: "Boa noite",
|
|
2288
2775
|
greetingNight: "Turno da noite",
|
|
2289
|
-
|
|
2776
|
+
greetingSeparator: ", ",
|
|
2777
|
+
greetingEnd: ".",
|
|
2778
|
+
search: "Pesquisar aplicativos, registros, páginas…",
|
|
2779
|
+
summary: {
|
|
2780
|
+
approvals: "Hoje você tem {{count}} aprovações pendentes",
|
|
2781
|
+
approvals_one: "Hoje você tem {{count}} aprovação pendente",
|
|
2782
|
+
approvals_many: "Hoje você tem {{count}} aprovações pendentes",
|
|
2783
|
+
approvals_other: "Hoje você tem {{count}} aprovações pendentes",
|
|
2784
|
+
none: "Nada aguardando você hoje",
|
|
2785
|
+
},
|
|
2786
|
+
addApp: "Adicionar aplicativo",
|
|
2787
|
+
appOpened: "{{time}}",
|
|
2290
2788
|
open: "Abrir",
|
|
2291
|
-
stats: {
|
|
2292
|
-
apps: "Aplicativos",
|
|
2293
|
-
starred: "Favoritos",
|
|
2294
|
-
recent: "Recentes",
|
|
2295
|
-
},
|
|
2296
2789
|
recentApps: {
|
|
2297
2790
|
title: "Abertos recentemente",
|
|
2298
2791
|
itemType: {
|
|
2299
2792
|
object: "Objeto",
|
|
2300
2793
|
dashboard: "Painel",
|
|
2301
2794
|
page: "Página",
|
|
2795
|
+
report: "Relatório",
|
|
2796
|
+
package: "Pacote",
|
|
2797
|
+
view: "Visualização de lista",
|
|
2302
2798
|
record: "Registro",
|
|
2799
|
+
metadata: "Metadados",
|
|
2303
2800
|
},
|
|
2304
2801
|
},
|
|
2305
2802
|
starredApps: {
|
|
@@ -2321,7 +2818,6 @@ const pt = {
|
|
|
2321
2818
|
organizations: "Organizações",
|
|
2322
2819
|
roles: "Perfis",
|
|
2323
2820
|
configuration: "Configuração",
|
|
2324
|
-
createApp: "Criar aplicativo",
|
|
2325
2821
|
administration: "Administração",
|
|
2326
2822
|
datasources: "Fontes de dados",
|
|
2327
2823
|
documentation: "Documentação",
|
|
@@ -2336,16 +2832,23 @@ const pt = {
|
|
|
2336
2832
|
manageAllApps: "Gerenciar todos os aplicativos",
|
|
2337
2833
|
systemConsole: "Console do sistema",
|
|
2338
2834
|
noAppsConfigured: "Nenhum aplicativo configurado",
|
|
2835
|
+
allApps: "Todos os aplicativos",
|
|
2836
|
+
editAppInStudio: "Editar {{app}} no Studio",
|
|
2837
|
+
backToHome: "Voltar ao início",
|
|
2838
|
+
settings: "Configurações",
|
|
2839
|
+
productHome: "Início do {{product}}",
|
|
2339
2840
|
},
|
|
2340
2841
|
activityFeed: {
|
|
2341
2842
|
title: "Atividade recente",
|
|
2342
2843
|
filter: "Filtrar",
|
|
2343
2844
|
empty: "Sem atividade recente",
|
|
2845
|
+
accessDenied: "Você não tem permissão para ver a atividade.",
|
|
2344
2846
|
ariaLabel: "Feed de atividade",
|
|
2345
2847
|
typeCreate: "Criar",
|
|
2346
2848
|
typeUpdate: "Atualizar",
|
|
2347
2849
|
typeDelete: "Excluir",
|
|
2348
2850
|
typeComment: "Comentário",
|
|
2851
|
+
typeSystem: "Sistema",
|
|
2349
2852
|
relativeJustNow: "agora mesmo",
|
|
2350
2853
|
relativeSecondsAgo: "há {{count}}s",
|
|
2351
2854
|
relativeMinutesAgo: "há {{count}}m",
|
|
@@ -2367,8 +2870,13 @@ const pt = {
|
|
|
2367
2870
|
placeholder: "Pesquisar objetos, painéis, páginas, relatórios…",
|
|
2368
2871
|
inputAriaLabel: "Pesquisar objetos, painéis, páginas, relatórios",
|
|
2369
2872
|
resultsCount: "{{count}} resultado para \"{{query}}\"",
|
|
2370
|
-
|
|
2873
|
+
resultsCount_one: "{{count}} resultado para \"{{query}}\"",
|
|
2874
|
+
resultsCount_many: "{{count}} de resultados para \"{{query}}\"",
|
|
2875
|
+
resultsCount_other: "{{count}} resultados para \"{{query}}\"",
|
|
2371
2876
|
itemsAvailable: "{{count}} itens disponíveis",
|
|
2877
|
+
itemsAvailable_one: "{{count}} item disponível",
|
|
2878
|
+
itemsAvailable_many: "{{count}} de itens disponíveis",
|
|
2879
|
+
itemsAvailable_other: "{{count}} itens disponíveis",
|
|
2372
2880
|
noResults: "Nenhum resultado encontrado",
|
|
2373
2881
|
noResultsHint: "Tente ajustar seus termos de pesquisa",
|
|
2374
2882
|
typeObjects: "Objetos",
|
|
@@ -2393,26 +2901,38 @@ const pt = {
|
|
|
2393
2901
|
noAppsConfigured: "Nenhum aplicativo configurado",
|
|
2394
2902
|
noAppsConfiguredDescription: "Nenhum aplicativo está registrado. Crie seu primeiro aplicativo ou visite as configurações do sistema.",
|
|
2395
2903
|
appNotAvailable: "Aplicativo indisponível",
|
|
2396
|
-
appNotAvailableDescription: "Este aplicativo
|
|
2904
|
+
appNotAvailableDescription: "Este aplicativo não está disponível — tente novamente em instantes.",
|
|
2905
|
+
appNotFound: "Não é possível abrir este aplicativo",
|
|
2906
|
+
appNotFoundDescription: "O servidor não retornou este aplicativo para a sua conta.",
|
|
2907
|
+
appUnreachable: "Não foi possível acessar o servidor",
|
|
2908
|
+
appUnreachableDescription: "Não foi possível verificar este aplicativo. Tente novamente em instantes.",
|
|
2397
2909
|
appAccessDenied: "Você não tem acesso a este aplicativo",
|
|
2398
2910
|
appAccessDeniedDescription: "Este aplicativo existe, mas sua conta não tem autorização para abri-lo. Peça acesso a um administrador.",
|
|
2399
2911
|
appAccessDeniedHome: "Voltar ao início",
|
|
2912
|
+
appNothingAvailable: "Ainda não há nada disponível para você em {{app}}",
|
|
2913
|
+
appNothingAvailableDescription: "Este aplicativo não tem páginas que sua conta possa abrir. Peça acesso a um administrador.",
|
|
2914
|
+
appNothingAvailableGrantDescription: "Este aplicativo não tem páginas que sua conta possa abrir. Você pode conceder acesso na configuração.",
|
|
2915
|
+
openSetup: "Abrir a configuração",
|
|
2400
2916
|
createFirstApp: "Criar primeiro aplicativo",
|
|
2401
2917
|
systemSettings: "Configurações do sistema",
|
|
2402
2918
|
back: "Voltar",
|
|
2403
2919
|
recordNotFound: "Registro não encontrado",
|
|
2404
2920
|
recordNotFoundDescription: "O registro que você está procurando não existe ou pode ter sido excluído.",
|
|
2921
|
+
recordAccessDenied: "Você não tem acesso aos registros de {{object}}",
|
|
2922
|
+
recordAccessDeniedDescription: "Você não tem permissão para ver registros deste tipo. Contate seu administrador se acha que deveria ter acesso.",
|
|
2923
|
+
recordLoadFailed: "Não foi possível carregar este registro",
|
|
2924
|
+
recordLoadFailedDescription: "Algo deu errado ao carregá-lo. Verifique sua conexão e tente novamente.",
|
|
2405
2925
|
},
|
|
2406
2926
|
actionDialog: {
|
|
2407
2927
|
title: "Parâmetros de ação",
|
|
2408
2928
|
description: "Insira as informações necessárias para continuar.",
|
|
2409
2929
|
selectPlaceholder: "Selecionar {{label}}",
|
|
2410
2930
|
requiredError: "{{label}} é obrigatório",
|
|
2931
|
+
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.',
|
|
2932
|
+
carryOverHint: 'Mantido sem alterações (somente leitura)',
|
|
2411
2933
|
cancel: "Cancelar",
|
|
2412
2934
|
confirm: "Confirmar",
|
|
2413
2935
|
uploading: "Enviando…",
|
|
2414
|
-
defaultActionTitle: "Ação",
|
|
2415
|
-
ok: "OK",
|
|
2416
2936
|
lookupPlaceholder: "ID do registro para {{label}}",
|
|
2417
2937
|
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
2938
|
},
|
|
@@ -2421,11 +2941,6 @@ const pt = {
|
|
|
2421
2941
|
confirm: "Continuar",
|
|
2422
2942
|
cancel: "Cancelar",
|
|
2423
2943
|
},
|
|
2424
|
-
rowAction: {
|
|
2425
|
-
openMenu: "Abrir menu",
|
|
2426
|
-
edit: "Editar",
|
|
2427
|
-
delete: "Excluir",
|
|
2428
|
-
},
|
|
2429
2944
|
navigationSync: {
|
|
2430
2945
|
addedPage: "Navegação atualizada: página \"{{name}}\" adicionada",
|
|
2431
2946
|
addedDashboard: "Navegação atualizada: painel \"{{name}}\" adicionado",
|
|
@@ -2439,13 +2954,20 @@ const pt = {
|
|
|
2439
2954
|
updateFailed: "Não foi possível atualizar a navegação",
|
|
2440
2955
|
},
|
|
2441
2956
|
objectActions: {
|
|
2442
|
-
resetPackageSetConfirm: "Este conjunto de permissões acompanha um pacote instalado e não pode ser removido. Excluí-lo o redefine para a versão original do pacote e descarta suas personalizações neste ambiente. Continuar?",
|
|
2443
|
-
resetPackageSetSuccess: "Conjunto de permissões redefinido para a versão original do pacote",
|
|
2444
2957
|
deleteSuccess: "{{label}} excluído com sucesso",
|
|
2445
2958
|
deleteFailed: "Não foi possível excluir {{label}}",
|
|
2446
2959
|
noRecordId: "Nenhum ID de registro fornecido",
|
|
2447
2960
|
deleteConfirm: "Excluir este registro?",
|
|
2961
|
+
deleteConfirmTitle: "Excluir {{label}} \"{{name}}\"?",
|
|
2962
|
+
bulkDeleteConfirmTitle: "Excluir {{count}} registros de {{label}}?",
|
|
2963
|
+
bulkDeleteConfirmTitle_one: "Excluir {{count}} registro de {{label}}?",
|
|
2964
|
+
bulkDeleteConfirmTitle_many: "Excluir {{count}} de registros de {{label}}?",
|
|
2965
|
+
bulkDeleteConfirmTitle_other: "Excluir {{count}} registros de {{label}}?",
|
|
2966
|
+
deleteConfirmButton: "Excluir",
|
|
2448
2967
|
bulkDeleteSuccess: "{{count}} registros de {{label}} excluídos",
|
|
2968
|
+
bulkDeleteSuccess_one: "{{count}} registro de {{label}} excluído",
|
|
2969
|
+
bulkDeleteSuccess_many: "{{count}} de registros de {{label}} excluídos",
|
|
2970
|
+
bulkDeleteSuccess_other: "{{count}} registros de {{label}} excluídos",
|
|
2449
2971
|
bulkDeletePartial: "{{succeeded}} excluídos, {{failed}} com falha",
|
|
2450
2972
|
},
|
|
2451
2973
|
objectViewActions: {
|
|
@@ -2457,15 +2979,6 @@ const pt = {
|
|
|
2457
2979
|
exportFailed: "Falha na exportação: {{message}}",
|
|
2458
2980
|
forecastSoon: "A exibição de previsão está chegando em breve",
|
|
2459
2981
|
},
|
|
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
2982
|
user: {
|
|
2470
2983
|
profile: "Perfil",
|
|
2471
2984
|
settings: "Configurações",
|
|
@@ -2487,6 +3000,7 @@ const pt = {
|
|
|
2487
3000
|
loading: "Carregando…",
|
|
2488
3001
|
failedToLoad: "Falha ao carregar a matriz: {{message}}",
|
|
2489
3002
|
needsAcross: "O relatório de matriz requer pelo menos um campo `groupingsAcross`.",
|
|
3003
|
+
forbiddenMessage: "Você não tem permissão para ver os dados deste relatório.",
|
|
2490
3004
|
aggregate: {
|
|
2491
3005
|
count: "Contar",
|
|
2492
3006
|
countDistinct: "Contar distintos",
|
|
@@ -2501,18 +3015,18 @@ const pt = {
|
|
|
2501
3015
|
},
|
|
2502
3016
|
},
|
|
2503
3017
|
organizations: {
|
|
2504
|
-
create: "Criar
|
|
2505
|
-
mine: "
|
|
2506
|
-
title: "
|
|
2507
|
-
heading: "
|
|
2508
|
-
subtitle: "Selecione
|
|
2509
|
-
searchPlaceholder: "Pesquisar
|
|
2510
|
-
new: "
|
|
2511
|
-
current: "
|
|
3018
|
+
create: "Criar organização",
|
|
3019
|
+
mine: "Minhas organizações",
|
|
3020
|
+
title: "Organizações",
|
|
3021
|
+
heading: "Suas organizações",
|
|
3022
|
+
subtitle: "Selecione uma organização para continuar ou crie uma nova.",
|
|
3023
|
+
searchPlaceholder: "Pesquisar uma organização",
|
|
3024
|
+
new: "Nova organização",
|
|
3025
|
+
current: "Organização atual",
|
|
2512
3026
|
manage: "Gerenciar",
|
|
2513
|
-
emptyTitle: "
|
|
2514
|
-
emptyDescription: "Crie
|
|
2515
|
-
noMatches: "
|
|
3027
|
+
emptyTitle: "Nenhuma organização ainda",
|
|
3028
|
+
emptyDescription: "Crie sua primeira organização para começar.",
|
|
3029
|
+
noMatches: "Nenhuma organização corresponde à sua pesquisa.",
|
|
2516
3030
|
},
|
|
2517
3031
|
organization: {
|
|
2518
3032
|
roles: {
|
|
@@ -2597,6 +3111,7 @@ const pt = {
|
|
|
2597
3111
|
readOnlyNote: "Somente proprietários podem alterar as configurações.",
|
|
2598
3112
|
nameLabel: "Nome da organização",
|
|
2599
3113
|
slugLabel: "Slug",
|
|
3114
|
+
slugLockedNote: "Esta organização tem ambientes ativos, por isso o slug não pode ser alterado aqui: renomeá-la também move os subdomínios deles.",
|
|
2600
3115
|
logoLabel: "Logo",
|
|
2601
3116
|
logoUpload: "Enviar",
|
|
2602
3117
|
logoReplace: "Substituir",
|
|
@@ -2655,18 +3170,43 @@ const pt = {
|
|
|
2655
3170
|
regionLabel: "Notificações",
|
|
2656
3171
|
groupCount: "{{count}} notificações",
|
|
2657
3172
|
groupUnread: "{{count}} não lidas",
|
|
3173
|
+
groupUnread_one: "{{count}} não lida",
|
|
3174
|
+
groupUnread_many: "{{count}} não lidas",
|
|
3175
|
+
groupUnread_other: "{{count}} não lidas",
|
|
2658
3176
|
groupMarkRead: "Marcar como lidas",
|
|
2659
3177
|
groupMarkReadTitle: "Marcar todas deste tipo como lidas",
|
|
2660
3178
|
empty: "Sem notificações",
|
|
2661
3179
|
markAllRead: "Marcar tudo como lido",
|
|
2662
3180
|
viewAll: "Ver todas as notificações",
|
|
2663
3181
|
approvalsPending: "{{count}} aprovações pendentes",
|
|
3182
|
+
approvalsPending_one: "{{count}} aprovação pendente",
|
|
3183
|
+
approvalsPending_many: "{{count}} de aprovações pendentes",
|
|
3184
|
+
approvalsPending_other: "{{count}} aprovações pendentes",
|
|
2664
3185
|
viewApprovals: "Ver aprovações",
|
|
2665
3186
|
noPendingApprovals: "Sem aprovações pendentes",
|
|
2666
3187
|
openApprovalsInbox: "Abrir caixa de aprovações",
|
|
2667
3188
|
badgeTotal: "{{total}} no total",
|
|
2668
|
-
badgeNotifications: "{{
|
|
2669
|
-
|
|
3189
|
+
badgeNotifications: "{{count}} notificações",
|
|
3190
|
+
badgeNotifications_one: "{{count}} notificação",
|
|
3191
|
+
badgeNotifications_many: "{{count}} de notificações",
|
|
3192
|
+
badgeNotifications_other: "{{count}} notificações",
|
|
3193
|
+
badgeApprovals: "{{count}} aprovações pendentes",
|
|
3194
|
+
badgeApprovals_one: "{{count}} aprovação pendente",
|
|
3195
|
+
badgeApprovals_many: "{{count}} de aprovações pendentes",
|
|
3196
|
+
badgeApprovals_other: "{{count}} aprovações pendentes",
|
|
3197
|
+
arrivalMany: "{{count}} novas mensagens",
|
|
3198
|
+
arrivalMany_one: "{{count}} nova mensagem",
|
|
3199
|
+
arrivalMany_many: "{{count}} de novas mensagens",
|
|
3200
|
+
arrivalMany_other: "{{count}} novas mensagens",
|
|
3201
|
+
arrivalRepeats: "{{count}} novas mensagens sobre este tópico",
|
|
3202
|
+
arrivalRepeats_one: "{{count}} nova mensagem sobre este tópico",
|
|
3203
|
+
arrivalRepeats_many: "{{count}} de novas mensagens sobre este tópico",
|
|
3204
|
+
arrivalRepeats_other: "{{count}} novas mensagens sobre este tópico",
|
|
3205
|
+
arrivalOpen: "Ver",
|
|
3206
|
+
toastEnabled: "Avisos no aplicativo",
|
|
3207
|
+
desktopEnabled: "Notificações da área de trabalho",
|
|
3208
|
+
desktopBlocked: "Bloqueado. Permita notificações deste site nas configurações do navegador.",
|
|
3209
|
+
desktopUnsupported: "Este navegador não oferece suporte a notificações da área de trabalho.",
|
|
2670
3210
|
emptyUnread: "Tudo lido",
|
|
2671
3211
|
filterUnread: "Não lidos",
|
|
2672
3212
|
filterAll: "Todos",
|
|
@@ -2680,12 +3220,14 @@ const pt = {
|
|
|
2680
3220
|
thankYouTitle: "Obrigado!",
|
|
2681
3221
|
thankYouMessage: "Seu envio foi recebido com sucesso.",
|
|
2682
3222
|
redirecting: "Redirecionando em {{seconds}} segundo(s)…",
|
|
3223
|
+
redirectPending: "Redirecionando…",
|
|
2683
3224
|
unavailableTitle: "Formulário indisponível",
|
|
2684
3225
|
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
3226
|
tryDemo: "Experimentar demo",
|
|
2686
3227
|
retry: "Tentar novamente",
|
|
2687
3228
|
loading: "Carregando formulário…",
|
|
2688
3229
|
requiredHint: "* Campo obrigatório",
|
|
3230
|
+
requiredFields: "Campos obrigatórios: {{fields}}",
|
|
2689
3231
|
consentLabelDefault: "Aceito a política de privacidade e consinto com o processamento dos meus dados para esta solicitação.",
|
|
2690
3232
|
consentLink: "Política de privacidade",
|
|
2691
3233
|
consentRequired: "Por favor, aceite a política de privacidade para continuar.",
|
|
@@ -2698,10 +3240,10 @@ const pt = {
|
|
|
2698
3240
|
body: 'A superfície MCP está desligada (OS_MCP_SERVER_ENABLED=false). Peça ao operador para reativá-la.',
|
|
2699
3241
|
},
|
|
2700
3242
|
url: {
|
|
2701
|
-
title: 'Endpoint MCP deste
|
|
3243
|
+
title: 'Endpoint MCP deste sistema',
|
|
2702
3244
|
body: 'Qualquer cliente de IA compatível com MCP conecta-se com esta URL. A identidade é autosserviço: a implantação é seu próprio servidor de autorização OAuth 2.1 — você entra como você mesmo e cada chamada corre sob suas permissões e segurança em nível de linha.',
|
|
2703
3245
|
downloadSkill: 'Baixar SKILL.md',
|
|
2704
|
-
skillHint: 'A skill portátil do agente: ensina qualquer agente compatível a trabalhar com este
|
|
3246
|
+
skillHint: 'A skill portátil do agente: ensina qualquer agente compatível a trabalhar com este sistema.',
|
|
2705
3247
|
},
|
|
2706
3248
|
claude: {
|
|
2707
3249
|
body: 'Configurações → Conectores → Adicionar conector personalizado, cole esta URL e faça login no navegador.',
|
|
@@ -2736,18 +3278,86 @@ const pt = {
|
|
|
2736
3278
|
noImportableFields: "Esse objeto não tem campos importáveis.",
|
|
2737
3279
|
schemaReadFailed: "Não foi possível ler o esquema do objeto.",
|
|
2738
3280
|
imported: "{{count}} linha(s) importada(s) para {{object}}.",
|
|
3281
|
+
imported_one: "{{count}} linha importada para {{object}}.",
|
|
3282
|
+
imported_many: "{{count}} de linhas importadas para {{object}}.",
|
|
3283
|
+
imported_other: "{{count}} linhas importadas para {{object}}.",
|
|
2739
3284
|
importFrom: "Importar as linhas reais de",
|
|
2740
3285
|
into: "para",
|
|
2741
3286
|
opening: "Abrindo…",
|
|
2742
3287
|
importAction: "Importar",
|
|
2743
3288
|
dismiss: "Dispensar",
|
|
2744
3289
|
},
|
|
2745
|
-
|
|
2746
|
-
|
|
2747
|
-
|
|
2748
|
-
|
|
2749
|
-
|
|
2750
|
-
|
|
3290
|
+
cloudWorkspaceTimezoneNotice: {
|
|
3291
|
+
seeded: "O fuso horário do ambiente foi definido como {{zone}} com base no seu navegador quando ele foi criado. Você pode alterá-lo em Configurações → Localização.",
|
|
3292
|
+
},
|
|
3293
|
+
ai: {
|
|
3294
|
+
nlQuery: {
|
|
3295
|
+
placeholder: "Faça uma pergunta sobre seus dados…",
|
|
3296
|
+
ask: "Perguntar",
|
|
3297
|
+
results: "Resultados",
|
|
3298
|
+
match: "Correspondência: {{percent}}",
|
|
3299
|
+
simulatedSummary: "Resultados para: {{query}}",
|
|
3300
|
+
noResults: "Nenhum registro correspondente encontrado",
|
|
3301
|
+
recentQueries: "Consultas recentes",
|
|
3302
|
+
},
|
|
3303
|
+
formAssist: {
|
|
3304
|
+
title: "Sugestões de IA",
|
|
3305
|
+
suggestionCount: "{{count}} sugestões",
|
|
3306
|
+
suggestionCount_one: "{{count}} sugestão",
|
|
3307
|
+
suggestionCount_many: "{{count}} de sugestões",
|
|
3308
|
+
suggestionCount_other: "{{count}} sugestões",
|
|
3309
|
+
applyAll: "Aplicar tudo",
|
|
3310
|
+
confidence: "Confiança: {{percent}}",
|
|
3311
|
+
appliedCount: "{{count}} sugestões aplicadas",
|
|
3312
|
+
appliedCount_one: "{{count}} sugestão aplicada",
|
|
3313
|
+
appliedCount_many: "{{count}} de sugestões aplicadas",
|
|
3314
|
+
appliedCount_other: "{{count}} sugestões aplicadas",
|
|
3315
|
+
},
|
|
3316
|
+
recommendations: {
|
|
3317
|
+
title: "Recomendações",
|
|
3318
|
+
generating: "Gerando recomendações…",
|
|
3319
|
+
empty: "Nenhuma recomendação disponível",
|
|
3320
|
+
},
|
|
3321
|
+
},
|
|
3322
|
+
aiApprovals: {
|
|
3323
|
+
title: "Aprovações de IA",
|
|
3324
|
+
description: "Ações propostas por um agente de IA que precisam de revisão humana antes da execução.",
|
|
3325
|
+
tabPending: "Pendentes",
|
|
3326
|
+
tabDecided: "Decididas",
|
|
3327
|
+
tabAll: "Todas",
|
|
3328
|
+
statusPending: "Pendente",
|
|
3329
|
+
statusApproved: "Aprovada",
|
|
3330
|
+
statusExecuted: "Executada",
|
|
3331
|
+
statusFailed: "Falhou",
|
|
3332
|
+
statusRejected: "Rejeitada",
|
|
3333
|
+
colTool: "Ferramenta",
|
|
3334
|
+
colAction: "Ação",
|
|
3335
|
+
colObject: "Objeto",
|
|
3336
|
+
colStatus: "Status",
|
|
3337
|
+
colProposed: "Proposta",
|
|
3338
|
+
colDecision: "Decisão",
|
|
3339
|
+
emptyTitle: "Nenhuma ação aguardando",
|
|
3340
|
+
emptyDescription: "Quando a IA propuser uma ação sensível, ela aparecerá aqui para revisão.",
|
|
3341
|
+
view: "Ver",
|
|
3342
|
+
approve: "Aprovar",
|
|
3343
|
+
reject: "Rejeitar",
|
|
3344
|
+
working: "Processando…",
|
|
3345
|
+
approveAndExecute: "Aprovar e executar",
|
|
3346
|
+
outcomeApprove: "Aprovação de {{id}}: {{message}}",
|
|
3347
|
+
outcomeReject: "Rejeição de {{id}}: {{message}}",
|
|
3348
|
+
outcomeExecuteFailed: "A ação falhou durante a execução",
|
|
3349
|
+
drawerFallbackTitle: "Ação pendente",
|
|
3350
|
+
drawerSubtitle: "Ferramenta {{tool}} em {{object}}",
|
|
3351
|
+
fieldProposedBy: "Proposta por",
|
|
3352
|
+
fieldDecidedBy: "Decidida por",
|
|
3353
|
+
fieldConversation: "Conversa",
|
|
3354
|
+
fieldToolInput: "Entrada da ferramenta",
|
|
3355
|
+
fieldResult: "Resultado",
|
|
3356
|
+
fieldError: "Erro",
|
|
3357
|
+
fieldRejectionReason: "Motivo da rejeição",
|
|
3358
|
+
rejectTitle: "Rejeitar esta ação?",
|
|
3359
|
+
rejectBody: "O motivo é devolvido à IA para que ela ajuste a próxima resposta.",
|
|
3360
|
+
rejectPlaceholder: "Motivo opcional (ex.: «ID de registro incorreto — confirme antes com a pessoa usuária.»)",
|
|
2751
3361
|
},
|
|
2752
3362
|
aiModelStatus: {
|
|
2753
3363
|
summary: "Criar / Perguntar usa {{conversational}} ({{conversationalSource}}); estruturado usa {{structured}} ({{structuredSource}}).",
|
|
@@ -2757,8 +3367,8 @@ const pt = {
|
|
|
2757
3367
|
rowConversational: "Modelo Build / Ask",
|
|
2758
3368
|
rowStructured: "Estruturado (blueprint / seed)",
|
|
2759
3369
|
rowReasoning: "Esforço de raciocínio",
|
|
2760
|
-
readFailed: "Não foi possível ler o modelo de IA efetivo. Este
|
|
2761
|
-
readFailedWithStatus: "Não foi possível ler o modelo de IA efetivo (HTTP {{status}}). Este
|
|
3370
|
+
readFailed: "Não foi possível ler o modelo de IA efetivo. Este sistema pode não executar um serviço de IA, ou você pode não ter a permissão ai:read.",
|
|
3371
|
+
readFailedWithStatus: "Não foi possível ler o modelo de IA efetivo (HTTP {{status}}). Este sistema pode não executar um serviço de IA, ou você pode não ter a permissão ai:read.",
|
|
2762
3372
|
overridesInEffect: "Substituições em vigor: ",
|
|
2763
3373
|
noOverrides: "nenhuma — usando os padrões do código implantado.",
|
|
2764
3374
|
adapter: "Adaptador: ",
|
|
@@ -2766,6 +3376,181 @@ const pt = {
|
|
|
2766
3376
|
sourceInherits: "igual a build/ask",
|
|
2767
3377
|
sourcePinned: "fixado por {{source}}",
|
|
2768
3378
|
},
|
|
3379
|
+
// objectui#7254 — the AI copilot's tool cards. Three families, all of them
|
|
3380
|
+
// English-only until this landed while every other string on the same screen
|
|
3381
|
+
// was translated:
|
|
3382
|
+
//
|
|
3383
|
+
// `tool.*` — one entry per PLATFORM-PROVIDED tool name
|
|
3384
|
+
// (@objectstack/spec `PLATFORM_TOOLS_BY_PACKAGE`, the
|
|
3385
|
+
// closed registry those runtimes are conformance-tested
|
|
3386
|
+
// against). `humanizeToolName` looks each up as
|
|
3387
|
+
// `chatbot.tool.<tool_name>` and falls back to its English
|
|
3388
|
+
// title-caser for a custom / third-party tool, so a name
|
|
3389
|
+
// missing here is degraded, never broken. Every value, `en`
|
|
3390
|
+
// included, is a short sentence in the pack's language
|
|
3391
|
+
// saying what the step does (cloud#2927 Target 3, ruled
|
|
3392
|
+
// 「同意」; objectui#12724): never the tool id, and never
|
|
3393
|
+
// the title-caser's output for it, which is how the step
|
|
3394
|
+
// reads for a tool the pack has no entry for.
|
|
3395
|
+
// `toolLabels-locale-parity-7481` holds both.
|
|
3396
|
+
// `toolState.*` — the card-header badge + activity-chip vocabulary. ONE
|
|
3397
|
+
// set for both surfaces (they used to carry separate
|
|
3398
|
+
// tables and disagreed on casing).
|
|
3399
|
+
// `plan.*` — the "N objects · N views · N dashboards" strip. Plural
|
|
3400
|
+
// FAMILIES: one slot per CLDR category the pack's language
|
|
3401
|
+
// selects (objectui#11432), plus the base key for a call
|
|
3402
|
+
// made without a count. `all-locales-key-parity.test.ts`
|
|
3403
|
+
// derives the required slots from `Intl.PluralRules`.
|
|
3404
|
+
//
|
|
3405
|
+
// objectui#7481 — five `tool.*` entries are NEWER than the registry above:
|
|
3406
|
+
// `get_authoring_rules` (cloud#1837), `load_tools`, `open_record`, `test_flow`
|
|
3407
|
+
// and `toggle_flow` are registered by cloud `service-ai-studio` but the pinned
|
|
3408
|
+
// `@objectstack/spec` snapshot does not list them yet. They are kept here on
|
|
3409
|
+
// purpose: a step label the user reads must not wait on a pin bump. When the
|
|
3410
|
+
// pin advances, `chatbotToolLabels-locale-parity-7481` starts checking them
|
|
3411
|
+
// against the registry instead of against its own hand-held list.
|
|
3412
|
+
chatbot: {
|
|
3413
|
+
answer: {
|
|
3414
|
+
showFull: 'Mostrar resposta completa',
|
|
3415
|
+
collapse: 'Recolher',
|
|
3416
|
+
expandTable: 'Expandir',
|
|
3417
|
+
exitExpandedTable: 'Fechar',
|
|
3418
|
+
},
|
|
3419
|
+
tool: {
|
|
3420
|
+
aggregate_data: "Resumir os dados",
|
|
3421
|
+
get_record: "Ler o registro",
|
|
3422
|
+
query_data: "Consultar os dados necessários",
|
|
3423
|
+
query_records: "Buscar os registros",
|
|
3424
|
+
search_knowledge: "Consultar a base de conhecimento",
|
|
3425
|
+
visualize_data: "Mostrar os dados em um gráfico",
|
|
3426
|
+
add_field: "Adicionar um campo",
|
|
3427
|
+
apply_blueprint: "Construir o aplicativo conforme o plano",
|
|
3428
|
+
apply_edit: "Aplicar a alteração",
|
|
3429
|
+
create_metadata: "Criar um item de metadados",
|
|
3430
|
+
create_object: "Criar um objeto",
|
|
3431
|
+
create_package: "Criar um pacote",
|
|
3432
|
+
create_seed: "Gerar dados de exemplo para os objetos",
|
|
3433
|
+
delete_field: "Excluir um campo",
|
|
3434
|
+
describe_metadata: "Revisar os metadados",
|
|
3435
|
+
describe_object: "Revisar a estrutura do objeto",
|
|
3436
|
+
get_active_package: "Verificar o pacote ativo",
|
|
3437
|
+
get_authoring_rules: "Consultar as regras de autoria",
|
|
3438
|
+
get_metadata_schema: "Consultar o formato dos metadados",
|
|
3439
|
+
get_package: "Revisar o pacote",
|
|
3440
|
+
list_metadata: "Listar os metadados existentes",
|
|
3441
|
+
list_objects: "Listar os objetos existentes",
|
|
3442
|
+
list_packages: "Listar os pacotes existentes",
|
|
3443
|
+
load_tools: "Carregar mais ferramentas",
|
|
3444
|
+
modify_field: "Modificar um campo",
|
|
3445
|
+
open_record: "Abrir o registro",
|
|
3446
|
+
propose_blueprint: "Redigir o plano do aplicativo",
|
|
3447
|
+
set_active_package: "Mudar para o pacote de destino",
|
|
3448
|
+
suggest_builder: "Sugerir construir com IA",
|
|
3449
|
+
test_flow: "Fazer um teste do fluxo",
|
|
3450
|
+
todo_write: "Anotar verificações pendentes",
|
|
3451
|
+
toggle_flow: "Ligar ou desligar o fluxo",
|
|
3452
|
+
update_metadata: "Atualizar um item de metadados",
|
|
3453
|
+
validate_expression: "Verificar a expressão",
|
|
3454
|
+
verify_build: "Verificar o resultado da construção",
|
|
3455
|
+
},
|
|
3456
|
+
toolState: {
|
|
3457
|
+
agentActivity: "Atividade do agente",
|
|
3458
|
+
pending: "Pendente",
|
|
3459
|
+
running: "Em execução",
|
|
3460
|
+
awaitingApproval: "Aguardando aprovação",
|
|
3461
|
+
responded: "Respondido",
|
|
3462
|
+
completed: "Concluído",
|
|
3463
|
+
error: "Erro",
|
|
3464
|
+
denied: "Negado",
|
|
3465
|
+
failed: "Falhou",
|
|
3466
|
+
},
|
|
3467
|
+
phase: {
|
|
3468
|
+
build: "Criação",
|
|
3469
|
+
design: "Desenho do plano",
|
|
3470
|
+
stepCount: "{{count}} etapas",
|
|
3471
|
+
stepCount_one: "{{count}} etapa",
|
|
3472
|
+
stepCount_many: "{{count}} de etapas",
|
|
3473
|
+
stepCount_other: "{{count}} etapas",
|
|
3474
|
+
expand: "Mostrar etapas",
|
|
3475
|
+
collapse: "Ocultar etapas",
|
|
3476
|
+
},
|
|
3477
|
+
plan: {
|
|
3478
|
+
countObjects: "{{count}} objetos",
|
|
3479
|
+
countObjects_one: "{{count}} objeto",
|
|
3480
|
+
countObjects_many: "{{count}} de objetos",
|
|
3481
|
+
countObjects_other: "{{count}} objetos",
|
|
3482
|
+
countViews: "{{count}} visões",
|
|
3483
|
+
countViews_one: "{{count}} visão",
|
|
3484
|
+
countViews_many: "{{count}} de visões",
|
|
3485
|
+
countViews_other: "{{count}} visões",
|
|
3486
|
+
countDashboards: "{{count}} painéis",
|
|
3487
|
+
countDashboards_one: "{{count}} painel",
|
|
3488
|
+
countDashboards_many: "{{count}} de painéis",
|
|
3489
|
+
countDashboards_other: "{{count}} painéis",
|
|
3490
|
+
countSeedData: "dados de exemplo",
|
|
3491
|
+
extendTarget: "Adicionando ao app existente: {{app}}",
|
|
3492
|
+
awaitingConfirm: "Aguardando confirmação",
|
|
3493
|
+
objectsAndFields: "Objetos e campos",
|
|
3494
|
+
views: "Visões",
|
|
3495
|
+
suggestedField: "sugerido",
|
|
3496
|
+
nameField: "Nome: {{field}}",
|
|
3497
|
+
},
|
|
3498
|
+
build: {
|
|
3499
|
+
building: "Criando {{app}}…",
|
|
3500
|
+
built: "Criação de {{app}} concluída",
|
|
3501
|
+
builtAndLive: "Criado e publicado · {{app}}",
|
|
3502
|
+
appFallback: "seu aplicativo",
|
|
3503
|
+
addingSampleData: "adicionando dados de exemplo",
|
|
3504
|
+
group: {
|
|
3505
|
+
object: "Objetos",
|
|
3506
|
+
view: "Visões",
|
|
3507
|
+
dashboard: "Painéis",
|
|
3508
|
+
app: "Aplicativo",
|
|
3509
|
+
seed: "Dados de exemplo",
|
|
3510
|
+
},
|
|
3511
|
+
moreArtifacts: "+{{n}} mais",
|
|
3512
|
+
verifying: "Verificando a alteração…",
|
|
3513
|
+
verifyStep: "etapa {{n}}",
|
|
3514
|
+
verified: "Alteração verificada",
|
|
3515
|
+
unknownPhase: "Fase de criação desconhecida",
|
|
3516
|
+
nextStepsLead: "Em seguida, você pode dizer: {{steps}}",
|
|
3517
|
+
nextStepQuote: "“{{step}}”",
|
|
3518
|
+
draftPosture: "As alterações seguintes ficam salvas como rascunho, e você as publica no Studio.",
|
|
3519
|
+
checksPassed: "Verificações aprovadas {{passed}}/{{total}}",
|
|
3520
|
+
},
|
|
3521
|
+
changes: {
|
|
3522
|
+
planTitle: "Plano de alterações · {{count}} alterações",
|
|
3523
|
+
planTitle_one: "Plano de alterações · {{count}} alteração",
|
|
3524
|
+
planTitle_many: "Plano de alterações · {{count}} de alterações",
|
|
3525
|
+
planTitle_other: "Plano de alterações · {{count}} alterações",
|
|
3526
|
+
saveDraft: "Salvar como rascunho",
|
|
3527
|
+
reviewAndPublish: "Revisar alterações e publicar",
|
|
3528
|
+
undo: "Desfazer",
|
|
3529
|
+
undoWithOthers: "Desfazer (e mais {{count}} rascunhos)",
|
|
3530
|
+
undoWithOthers_one: "Desfazer (e mais {{count}} rascunho)",
|
|
3531
|
+
undoWithOthers_many: "Desfazer (e mais {{count}} de rascunhos)",
|
|
3532
|
+
undoWithOthers_other: "Desfazer (e mais {{count}} rascunhos)",
|
|
3533
|
+
undoConfirm: "Desfazer descarta todos os {{total}} rascunhos não publicados deste pacote, incluindo {{count}} que não fazem parte desta alteração.",
|
|
3534
|
+
undoConfirm_one: "Desfazer descarta todos os {{total}} rascunhos não publicados deste pacote, incluindo {{count}} que não faz parte desta alteração.",
|
|
3535
|
+
undoConfirm_many: "Desfazer descarta todos os {{total}} rascunhos não publicados deste pacote, incluindo {{count}} de rascunhos que não fazem parte desta alteração.",
|
|
3536
|
+
undoConfirm_other: "Desfazer descarta todos os {{total}} rascunhos não publicados deste pacote, incluindo {{count}} que não fazem parte desta alteração.",
|
|
3537
|
+
undoConfirmUnknown: "Desfazer descarta todos os rascunhos não publicados deste pacote, não só esta alteração.",
|
|
3538
|
+
undoConfirmAction: "Desfazer tudo",
|
|
3539
|
+
undoCancel: "Cancelar",
|
|
3540
|
+
undoing: "Desfazendo…",
|
|
3541
|
+
undone: "Desfeito",
|
|
3542
|
+
undoFailed: "Não foi possível desfazer",
|
|
3543
|
+
kind: {
|
|
3544
|
+
field: "Campo",
|
|
3545
|
+
object: "Objeto",
|
|
3546
|
+
view: "Visão",
|
|
3547
|
+
dashboard: "Painel",
|
|
3548
|
+
app: "Aplicativo",
|
|
3549
|
+
seed: "Dados de exemplo",
|
|
3550
|
+
package: "Pacote do aplicativo",
|
|
3551
|
+
},
|
|
3552
|
+
},
|
|
3553
|
+
},
|
|
2769
3554
|
chatbotError: {
|
|
2770
3555
|
title: "Falha na resposta",
|
|
2771
3556
|
fallbackDetail: "Algo deu errado. Tente novamente.",
|
|
@@ -2779,10 +3564,13 @@ const pt = {
|
|
|
2779
3564
|
buyCredits: "Comprar um pacote de créditos",
|
|
2780
3565
|
upgradePlan: "Fazer upgrade do plano",
|
|
2781
3566
|
},
|
|
3567
|
+
planTier: {
|
|
3568
|
+
teamAndUp: "A partir do plano Team",
|
|
3569
|
+
},
|
|
2782
3570
|
environment: {
|
|
2783
|
-
addEnvironment: "Adicionar ambiente",
|
|
2784
3571
|
setUpProduction: "Configure seu ambiente de produção",
|
|
2785
3572
|
addDevelopment: "Adicionar ambiente de desenvolvimento",
|
|
3573
|
+
developmentLocked: "Ambientes de desenvolvimento · {{tier}}",
|
|
2786
3574
|
// Plan/capacity dialog (EnvironmentEntitlementDialog) — cloud#959.
|
|
2787
3575
|
entitlement: {
|
|
2788
3576
|
productionLimitTitle: "Você já tem seu ambiente de produção",
|
|
@@ -2830,7 +3618,7 @@ const pt = {
|
|
|
2830
3618
|
},
|
|
2831
3619
|
unbound: {
|
|
2832
3620
|
title: "Não conectado",
|
|
2833
|
-
body: "
|
|
3621
|
+
body: "Este runtime não está conectado a nenhum plano de controle. “Conectar” abre sua conta da nuvem em uma nova janela, onde um único clique aprova a conexão — nenhum id ou credencial é digitado nesta página.",
|
|
2834
3622
|
connect: "Conectar",
|
|
2835
3623
|
},
|
|
2836
3624
|
},
|
|
@@ -2843,10 +3631,17 @@ const pt = {
|
|
|
2843
3631
|
dismiss: "Dispensar",
|
|
2844
3632
|
confirmedToast: "\"{{set}}\" agora está concedido a {{anchor}}.",
|
|
2845
3633
|
dismissedToast: "Sugestão de \"{{set}}\" dispensada.",
|
|
3634
|
+
guestUnsupported: "Não é possível conceder aqui: os conjuntos da posição Guest não são derivados de sugestões aceitas.",
|
|
3635
|
+
acceptedState: "\"{{set}}\" foi aceito para todos os usuários autenticados (a posição Everyone).",
|
|
3636
|
+
notInForceState: "\"{{set}}\" foi aceito, mas ainda não está em vigor: a posição Everyone não mudou nesta solicitação. O log do servidor informa o motivo.",
|
|
3637
|
+
dismissedState: "\"{{set}}\" não está concedido: a sugestão foi dispensada ou revogada.",
|
|
3638
|
+
revoke: "Revogar",
|
|
3639
|
+
revoking: "Revogando…",
|
|
3640
|
+
revokedToast: "Aceitação de \"{{set}}\" revogada.",
|
|
2846
3641
|
},
|
|
2847
3642
|
title: "Marketplace de aplicativos",
|
|
2848
3643
|
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:
|
|
3644
|
+
searchPlaceholder: 'Pesquisar aplicativos por nome ou ID do aplicativo…',
|
|
2850
3645
|
searchAria: "Pesquisar aplicativos do marketplace",
|
|
2851
3646
|
installed: "Instalado",
|
|
2852
3647
|
installedCount: "Instalados ({{count}})",
|
|
@@ -2856,21 +3651,26 @@ const pt = {
|
|
|
2856
3651
|
noMatchFilters: "Nenhum aplicativo corresponde aos seus filtros.",
|
|
2857
3652
|
noDescription: "Sem descrição disponível.",
|
|
2858
3653
|
back: "Voltar ao marketplace",
|
|
2859
|
-
installedTitle: "Aplicativos instalados",
|
|
2860
|
-
installedSubtitle: "Pacotes do marketplace atualmente instalados no kernel deste runtime.",
|
|
2861
|
-
installedEmpty: "Nenhum aplicativo do marketplace instalado neste runtime ainda.",
|
|
2862
3654
|
browseLink: "Explorar marketplace →",
|
|
2863
|
-
installedAdditiveNote: "
|
|
2864
|
-
installedAt: "Instalado {{when}}",
|
|
2865
|
-
installedBy: "por {{user}}",
|
|
2866
|
-
installedPackageId: "Pacote",
|
|
2867
|
-
cachedAs: "Armazenado em cache como <code>{{path}}</code>",
|
|
3655
|
+
installedAdditiveNote: "A desinstalação remove o aplicativo do kernel em execução imediatamente, junto com seus conjuntos de permissões e as respectivas atribuições, e exclui o manifesto em cache para que o pacote não seja carregado na próxima inicialização. Os registros armazenados em seus objetos permanecem no banco de dados.",
|
|
2868
3656
|
versionBadge: "v{{version}}",
|
|
2869
3657
|
installedBadge: "Instalado v{{version}}",
|
|
3658
|
+
// objectui#11645 — an install-local entry this runtime refused to load at
|
|
3659
|
+
// startup (the listing's `notLoaded` marker), read on Installed Apps.
|
|
3660
|
+
notLoaded: {
|
|
3661
|
+
badge: "Não carregado",
|
|
3662
|
+
protocolIncompatible: "Este runtime não carregou este pacote: ele é destinado ao protocolo {{requiredRange}}, que este runtime não suporta.",
|
|
3663
|
+
otherReason: "Este runtime não carregou este pacote ({{code}}).",
|
|
3664
|
+
},
|
|
2870
3665
|
load: {
|
|
2871
3666
|
failed: "Não foi possível carregar o marketplace",
|
|
2872
3667
|
failedHintConfigured: "Este runtime acessa o marketplace através do plano de controle em {{url}}. Verifique se ele está online e acessível a partir daqui.",
|
|
2873
|
-
failedHintSameOrigin: "
|
|
3668
|
+
failedHintSameOrigin: "O catálogo do marketplace é acessado através deste runtime. Verifique se o runtime está online e consegue acessar o catálogo.",
|
|
3669
|
+
loading: "Carregando o catálogo do marketplace…",
|
|
3670
|
+
slow: "Ainda carregando — o catálogo do marketplace está demorando para responder.",
|
|
3671
|
+
retry: "Tentar novamente",
|
|
3672
|
+
unreachable: "Não foi possível acessar o catálogo do marketplace.",
|
|
3673
|
+
answeredError: "O catálogo do marketplace respondeu com um erro (HTTP {{status}}).",
|
|
2874
3674
|
packageFailed: "Não foi possível carregar o pacote",
|
|
2875
3675
|
notFound: "Não encontrado.",
|
|
2876
3676
|
},
|
|
@@ -2894,10 +3694,17 @@ const pt = {
|
|
|
2894
3694
|
purgeSampleData: 'Remover dados de exemplo',
|
|
2895
3695
|
purgeConfirm: 'Excluir todos os registros de exemplo criados por este pacote? Os registros adicionados pelo usuário NÃO serão afetados.',
|
|
2896
3696
|
purgeSuccess: '{{count}} registro(s) de exemplo removido(s).',
|
|
3697
|
+
purgeSuccess_one: '{{count}} registro de exemplo removido.',
|
|
3698
|
+
purgeSuccess_many: '{{count}} de registros de exemplo removidos.',
|
|
3699
|
+
purgeSuccess_other: '{{count}} registros de exemplo removidos.',
|
|
2897
3700
|
purgeNoData: 'Nenhum registro de exemplo encontrado para remover.',
|
|
2898
3701
|
reseedQueued: 'Os dados de exemplo serão recarregados no próximo acesso ao ambiente.',
|
|
2899
3702
|
reseedLocalSuccess: 'Dados de exemplo recarregados: {{inserted}} inseridos, {{updated}} atualizados.',
|
|
2900
3703
|
reseedPartialErrors: '({{count}} registro(s) não puderam ser gravados)',
|
|
3704
|
+
reseedPartialErrors_one: '({{count}} registro não pôde ser gravado)',
|
|
3705
|
+
reseedPartialErrors_many: '({{count}} de registros não puderam ser gravados)',
|
|
3706
|
+
reseedPartialErrors_other: '({{count}} registros não puderam ser gravados)',
|
|
3707
|
+
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
3708
|
updateAvailable: 'Atualização disponível',
|
|
2902
3709
|
},
|
|
2903
3710
|
action: {
|
|
@@ -2907,6 +3714,7 @@ const pt = {
|
|
|
2907
3714
|
working: "Processando…",
|
|
2908
3715
|
installToCloud: "Instalar na nuvem…",
|
|
2909
3716
|
installing: "Instalando…",
|
|
3717
|
+
updating: "Atualizando…",
|
|
2910
3718
|
uninstall: "Desinstalar",
|
|
2911
3719
|
uninstalling: "Desinstalando…",
|
|
2912
3720
|
details: "Detalhes",
|
|
@@ -2924,15 +3732,45 @@ const pt = {
|
|
|
2924
3732
|
environmentPlaceholder: "Selecionar ambiente",
|
|
2925
3733
|
includeSampleData: "Incluir dados de amostra",
|
|
2926
3734
|
noEnvs: "Nenhum ambiente encontrado em sua organização ativa.",
|
|
2927
|
-
noPermission: "Você não tem permissão para instalar aplicativos em um ambiente. Somente proprietários e administradores da organização podem instalar.",
|
|
3735
|
+
noPermission: "Você não tem permissão para instalar aplicativos em um ambiente. Somente proprietários e administradores da organização podem instalar — fale com o administrador da sua organização.",
|
|
2928
3736
|
signInFirst: "Você deve primeiro fazer login no ObjectStack Cloud.",
|
|
2929
3737
|
success: "Instalado com sucesso. Abra o ambiente para ver o novo aplicativo.",
|
|
2930
3738
|
localSuccess: "v{{version}} instalado neste runtime. \"{{name}}\" deve aparecer no seletor de aplicativos agora.",
|
|
3739
|
+
localLoadsAtRestart: "v{{version}} instalado neste runtime. \"{{name}}\" será carregado na próxima reinicialização do runtime e não aparecerá no seletor de aplicativos até lá.",
|
|
2931
3740
|
localManifestConflict: "{{message}}\nNota: Um aplicativo local já possui este manifest_id. Remova-o primeiro de objectstack.config.ts.",
|
|
2932
3741
|
localUnauthorized: "Faça login neste runtime primeiro.",
|
|
2933
3742
|
localMarketplaceUnavailable: "Este runtime não tem OS_CLOUD_URL configurado.",
|
|
2934
3743
|
updateTo: "Atualizar → v{{version}}",
|
|
2935
3744
|
installedVersion: "Instalado v{{version}}",
|
|
3745
|
+
deploying: "Implantando o aplicativo…",
|
|
3746
|
+
deployed: "O aplicativo foi implantado e está pronto.",
|
|
3747
|
+
openApp: "Abrir {{name}}",
|
|
3748
|
+
deployTimeout: "A instalação foi registrada, mas este ambiente ainda não está servindo o aplicativo. Ele pode ainda estar sendo implantado — verifique novamente em instantes. Se nunca aparecer, o pacote pode não ter sido carregado, pode não incluir nenhum aplicativo ou o aplicativo pode exigir uma permissão que você não tem.",
|
|
3749
|
+
checkAgain: "Verificar novamente",
|
|
3750
|
+
// ADR-0131 D6 — the install modes a package's manifest permits, and
|
|
3751
|
+
// what an unmanaged install answers (MarketplacePackagePage).
|
|
3752
|
+
mode: {
|
|
3753
|
+
label: "Modo de instalação",
|
|
3754
|
+
managed: "Gerenciado",
|
|
3755
|
+
managedHint: "O pacote continua sendo a autoridade: é registrado como código, recebe suas atualizações e seus itens não são editados aqui.",
|
|
3756
|
+
unmanaged: "Cópia não gerenciada",
|
|
3757
|
+
unmanagedHint: "Copiado uma única vez para este runtime como seus próprios metadados: cada item pode ser editado aqui, e a cópia não recebe atualizações.",
|
|
3758
|
+
required: "Escolha um modo de instalação para instalar este pacote.",
|
|
3759
|
+
},
|
|
3760
|
+
unmanagedSuccess: "v{{version}} de \"{{name}}\" copiado para este runtime como seus próprios metadados, na base {{base}}. A cópia pode ser editada e não recebe atualizações.",
|
|
3761
|
+
unmanagedStrippedLocks: "O pacote bloqueava estes itens. A cópia pode ser editada, então seus bloqueios não foram copiados:",
|
|
3762
|
+
unmanagedIgnored: "Este runtime não oferece suporte a instalações não gerenciadas, então \"{{name}}\" foi instalado como gerenciado (registrado como código) em vez de copiado. Atualize o runtime, depois desinstale o pacote e instale-o novamente como cópia não gerenciada.",
|
|
3763
|
+
},
|
|
3764
|
+
// objectui#12146 — the install dialog opened as an UPDATE of the copy
|
|
3765
|
+
// this environment holds (MarketplacePackagePage).
|
|
3766
|
+
update: {
|
|
3767
|
+
dialogTitle: "Atualizar {{name}}",
|
|
3768
|
+
dialogDescCurrent: "Atualizar a cópia instalada neste ambiente ({{host}}).",
|
|
3769
|
+
dialogDescPicker: "Escolha o ambiente cuja cópia instalada deseja atualizar. Você deve estar conectado ao ObjectStack Cloud.",
|
|
3770
|
+
majorNotice: "Esta é uma atualização de versão principal (v{{fromMajor}} → v{{toMajor}}), que pode incluir alterações incompatíveis.",
|
|
3771
|
+
releaseNotes: "Ler as notas da versão v{{version}}",
|
|
3772
|
+
success: "Atualizado para a v{{version}}.",
|
|
3773
|
+
deployTimeout: "A atualização foi registrada, mas este ambiente ainda não está servindo a v{{version}}. Ela pode ainda estar sendo implantada — verifique novamente em instantes.",
|
|
2936
3774
|
},
|
|
2937
3775
|
// objectui#3546 — the MarketplacePage "Your organization" strip.
|
|
2938
3776
|
org: {
|
|
@@ -2950,7 +3788,8 @@ const pt = {
|
|
|
2950
3788
|
reviewed: "Revisado e aprovado",
|
|
2951
3789
|
unreviewed: "Ainda não revisado",
|
|
2952
3790
|
signed: "Assinado",
|
|
2953
|
-
grantsIntro: "
|
|
3791
|
+
grantsIntro: "Este pacote solicita:",
|
|
3792
|
+
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
3793
|
services: "Serviços da plataforma",
|
|
2955
3794
|
hooks: "Hooks de ciclo de vida",
|
|
2956
3795
|
network: "Acesso à rede",
|
|
@@ -2964,9 +3803,11 @@ const pt = {
|
|
|
2964
3803
|
},
|
|
2965
3804
|
},
|
|
2966
3805
|
uninstall: {
|
|
2967
|
-
confirm: "Desinstalar {{manifestId}} v{{version}} deste runtime?\n\nO manifesto em cache será removido.",
|
|
2968
|
-
successInList: "{{manifestId}} removido.
|
|
2969
|
-
successInDetail: "
|
|
3806
|
+
confirm: "Desinstalar {{manifestId}} v{{version}} deste runtime?\n\nO aplicativo será removido do kernel em execução imediatamente, junto com seus conjuntos de permissões e as respectivas atribuições, e o manifesto em cache será removido. Os registros armazenados em seus objetos permanecem no banco de dados.",
|
|
3807
|
+
successInList: "{{manifestId}} removido: o aplicativo saiu do kernel em execução, junto com seus conjuntos de permissões e as respectivas atribuições. Os registros armazenados em seus objetos permanecem no banco de dados.",
|
|
3808
|
+
successInDetail: "{{manifestId}} e seu manifesto em cache removidos: o aplicativo saiu do kernel em execução, junto com seus conjuntos de permissões e as respectivas atribuições. Os registros armazenados em seus objetos permanecem no banco de dados.",
|
|
3809
|
+
confirmNotLoaded: "Desinstalar {{manifestId}} v{{version}} deste runtime?\n\nO manifesto em cache será removido. Este runtime não carregou o pacote, então nenhuma parte dele está em execução.",
|
|
3810
|
+
successNotLoaded: "{{manifestId}} removido. Não estava carregado, então não é necessário reiniciar.",
|
|
2970
3811
|
},
|
|
2971
3812
|
accessDenied: {
|
|
2972
3813
|
title: "Marketplace somente para administradores",
|
|
@@ -2989,30 +3830,21 @@ const pt = {
|
|
|
2989
3830
|
storage: "Armazenamento",
|
|
2990
3831
|
other: "Outro",
|
|
2991
3832
|
},
|
|
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
3833
|
relativeTime: {
|
|
3001
3834
|
today: "hoje",
|
|
3002
3835
|
daysAgo: "há {{count}}d",
|
|
3003
3836
|
monthsAgo: "há {{count}} meses",
|
|
3837
|
+
monthsAgo_one: "há {{count}} mês",
|
|
3838
|
+
monthsAgo_many: "há {{count}} meses",
|
|
3839
|
+
monthsAgo_other: "há {{count}} meses",
|
|
3004
3840
|
yearsAgo: "há {{count}} anos",
|
|
3841
|
+
yearsAgo_one: "há {{count}} ano",
|
|
3842
|
+
yearsAgo_many: "há {{count}} anos",
|
|
3843
|
+
yearsAgo_other: "há {{count}} anos",
|
|
3005
3844
|
},
|
|
3006
3845
|
},
|
|
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
3846
|
approvalsInbox: {
|
|
3847
|
+
recordUnresolvable: 'Este registro não pode ser aberto',
|
|
3016
3848
|
loadMore: 'Carregar mais',
|
|
3017
3849
|
loadingMore: 'Carregando…',
|
|
3018
3850
|
loadedOf: '{{loaded}} de {{total}} carregadas',
|
|
@@ -3031,6 +3863,9 @@ const pt = {
|
|
|
3031
3863
|
requestInfoSent: 'Devolvida ao solicitante para complemento',
|
|
3032
3864
|
remindBtn: 'Lembrar',
|
|
3033
3865
|
remindSuccess: 'Lembrete enviado a {{count}} aprovador(es)',
|
|
3866
|
+
remindSuccess_one: 'Lembrete enviado a {{count}} aprovador',
|
|
3867
|
+
remindSuccess_many: 'Lembrete enviado a {{count}} de aprovadores',
|
|
3868
|
+
remindSuccess_other: 'Lembrete enviado a {{count}} aprovadores',
|
|
3034
3869
|
remindThrottled: 'Um lembrete já foi enviado há pouco — tente mais tarde.',
|
|
3035
3870
|
replyPlaceholder: 'Responder nesta solicitação…',
|
|
3036
3871
|
slaRemaining: 'SLA: faltam {{dur}}',
|
|
@@ -3047,8 +3882,12 @@ const pt = {
|
|
|
3047
3882
|
progressApprovals: 'Aprovações — {{got}} de {{need}}',
|
|
3048
3883
|
progressGroups: 'Progresso de assinaturas — {{got}} de {{need}} grupos',
|
|
3049
3884
|
progressEligible: '{{count}} aprovador(es) elegível(eis)',
|
|
3885
|
+
progressEligible_one: '{{count}} aprovador elegível',
|
|
3886
|
+
progressEligible_many: '{{count}} de aprovadores elegíveis',
|
|
3887
|
+
progressEligible_other: '{{count}} aprovadores elegíveis',
|
|
3050
3888
|
progressBar: 'Progresso da decisão',
|
|
3051
3889
|
declaredActions: 'Ações',
|
|
3890
|
+
decisionPanelOffRequestPage: 'O painel de decisão de aprovação só funciona nas páginas de solicitações de aprovação.',
|
|
3052
3891
|
attachmentChip: 'Anexo',
|
|
3053
3892
|
attachmentOpenFailed: 'Não foi possível abrir o anexo — tente novamente',
|
|
3054
3893
|
approveOneTitle: 'Aprovar "{{title}}"?',
|
|
@@ -3078,6 +3917,9 @@ const pt = {
|
|
|
3078
3917
|
filterCount: '{{shown}} de {{total}}',
|
|
3079
3918
|
selected: 'selecionadas',
|
|
3080
3919
|
actionableCount: '({{count}} acionáveis)',
|
|
3920
|
+
actionableCount_one: '({{count}} acionável)',
|
|
3921
|
+
actionableCount_many: '({{count}} acionáveis)',
|
|
3922
|
+
actionableCount_other: '({{count}} acionáveis)',
|
|
3081
3923
|
selectAll: 'Selecionar tudo',
|
|
3082
3924
|
selectRow: 'Selecionar solicitação',
|
|
3083
3925
|
colRequest: 'Solicitação',
|
|
@@ -3112,6 +3954,10 @@ const pt = {
|
|
|
3112
3954
|
emptyPending: 'Tudo em dia — nada aguarda sua aprovação.',
|
|
3113
3955
|
emptyOther: 'Nada por aqui ainda.',
|
|
3114
3956
|
emptyViewAll: 'Ver todas as solicitações',
|
|
3957
|
+
waitingOnOthers: "{{count}} solicitações aguardam outros aprovadores",
|
|
3958
|
+
waitingOnOthers_one: "{{count}} solicitação aguarda outros aprovadores",
|
|
3959
|
+
waitingOnOthers_many: "{{count}} de solicitações aguardam outros aprovadores",
|
|
3960
|
+
waitingOnOthers_other: "{{count}} solicitações aguardam outros aprovadores",
|
|
3115
3961
|
noMatches: 'Nenhum resultado com os filtros atuais.',
|
|
3116
3962
|
keyboardHint: 'Teclado: j/k mover · Enter abrir · x selecionar · a aprovar · r rejeitar',
|
|
3117
3963
|
drawerTitle: 'Solicitação de aprovação',
|
|
@@ -3129,12 +3975,12 @@ const pt = {
|
|
|
3129
3975
|
overrideActionLabel: '{{action}} (substituição)',
|
|
3130
3976
|
overrideNotice: 'Você não ocupa nenhuma vaga de aprovador nesta etapa. Ao continuar, será usada a sua substituição de administrador: a etapa é finalizada imediatamente e qualquer aprovador que ainda não agiu é ignorado. A decisão é registrada como substituição de administrador.',
|
|
3131
3977
|
overrideNoticeWho: 'Você não ocupa nenhuma vaga de aprovador nesta etapa. Ao continuar, será usada a sua substituição de administrador: a etapa é finalizada imediatamente e os aprovadores que ainda não agiram são ignorados — {{who}}. A decisão é registrada como substituição de administrador.',
|
|
3978
|
+
overrideReassignNotice: 'Você não ocupa nenhuma vaga de aprovador nesta etapa. Ao continuar, será usada a sua substituição de administrador: a etapa passa para o novo aprovador que você escolher, que substitui qualquer aprovador que ainda não agiu. A solicitação continua pendente, aguardando o novo aprovador. A reatribuição é registrada como substituição de administrador.',
|
|
3979
|
+
overrideReassignNoticeWho: 'Você não ocupa nenhuma vaga de aprovador nesta etapa. Ao continuar, será usada a sua substituição de administrador: a etapa passa para o novo aprovador que você escolher, que substitui os aprovadores que ainda não agiram — {{who}}. A solicitação continua pendente, aguardando o novo aprovador. A reatribuição é registrada como substituição de administrador.',
|
|
3980
|
+
overrideRecallNotice: 'Você não enviou esta solicitação. Ao continuar, será usada a sua substituição de administrador: a solicitação é retirada, nenhum aprovador que ainda não agiu poderá mais agir sobre ela e o registro é desbloqueado.',
|
|
3981
|
+
overrideRecallNoticeWho: 'Você não enviou esta solicitação. Ao continuar, será usada a sua substituição de administrador: a solicitação é retirada, o registro é desbloqueado e os aprovadores que ainda não agiram não poderão mais agir sobre ela — {{who}}.',
|
|
3132
3982
|
viaOverrideChip: 'Substituição de administrador',
|
|
3133
3983
|
viaOverrideHint: 'Quem agiu não ocupava vaga de aprovador nesta etapa — admitido pela via de substituição de administrador.',
|
|
3134
|
-
rawData: 'Dados brutos (JSON)',
|
|
3135
|
-
copy: 'Copiar',
|
|
3136
|
-
copied: 'Copiado',
|
|
3137
|
-
copyFailed: 'Falha ao copiar',
|
|
3138
3984
|
overrideActor: 'Agir como outra identidade (admin)',
|
|
3139
3985
|
actor: 'Ator',
|
|
3140
3986
|
auto: 'Auto',
|
|
@@ -3151,11 +3997,23 @@ const pt = {
|
|
|
3151
3997
|
approveN: 'Aprovar {{count}}',
|
|
3152
3998
|
rejectN: 'Rejeitar {{count}}',
|
|
3153
3999
|
bulkApproveTitle: 'Aprovar {{count}} solicitações?',
|
|
4000
|
+
bulkApproveTitle_one: 'Aprovar {{count}} solicitação?',
|
|
4001
|
+
bulkApproveTitle_many: 'Aprovar {{count}} de solicitações?',
|
|
4002
|
+
bulkApproveTitle_other: 'Aprovar {{count}} solicitações?',
|
|
3154
4003
|
bulkApproveBody: 'Cada solicitação é aprovada com sua identidade e o fluxo segue pelo ramo de aprovação.',
|
|
3155
4004
|
bulkRejectTitle: 'Rejeitar {{count}} solicitações?',
|
|
4005
|
+
bulkRejectTitle_one: 'Rejeitar {{count}} solicitação?',
|
|
4006
|
+
bulkRejectTitle_many: 'Rejeitar {{count}} de solicitações?',
|
|
4007
|
+
bulkRejectTitle_other: 'Rejeitar {{count}} solicitações?',
|
|
3156
4008
|
bulkRejectBody: 'As solicitações selecionadas serão rejeitadas e os solicitantes notificados.',
|
|
3157
4009
|
bulkApproved: '{{count}} solicitações aprovadas',
|
|
4010
|
+
bulkApproved_one: '{{count}} solicitação aprovada',
|
|
4011
|
+
bulkApproved_many: '{{count}} de solicitações aprovadas',
|
|
4012
|
+
bulkApproved_other: '{{count}} solicitações aprovadas',
|
|
3158
4013
|
bulkRejected: '{{count}} solicitações rejeitadas',
|
|
4014
|
+
bulkRejected_one: '{{count}} solicitação rejeitada',
|
|
4015
|
+
bulkRejected_many: '{{count}} de solicitações rejeitadas',
|
|
4016
|
+
bulkRejected_other: '{{count}} solicitações rejeitadas',
|
|
3159
4017
|
bulkPartial: '{{ok}} com sucesso, {{fail}} falharam: {{which}}',
|
|
3160
4018
|
rejectOneTitle: 'Rejeitar "{{title}}"?',
|
|
3161
4019
|
rejectOneBody: 'A solicitação será rejeitada e o solicitante notificado.',
|
|
@@ -3180,8 +4038,17 @@ const pt = {
|
|
|
3180
4038
|
alreadyDecided: 'Esta solicitação já foi decidida. Atualize a lista.',
|
|
3181
4039
|
justNow: 'agora mesmo',
|
|
3182
4040
|
minutesAgo: 'há {{count}} min',
|
|
4041
|
+
minutesAgo_one: 'há {{count}} min',
|
|
4042
|
+
minutesAgo_many: 'há {{count}} min',
|
|
4043
|
+
minutesAgo_other: 'há {{count}} min',
|
|
3183
4044
|
hoursAgo: 'há {{count}} h',
|
|
4045
|
+
hoursAgo_one: 'há {{count}} h',
|
|
4046
|
+
hoursAgo_many: 'há {{count}} h',
|
|
4047
|
+
hoursAgo_other: 'há {{count}} h',
|
|
3184
4048
|
daysAgo: 'há {{count}} dias',
|
|
4049
|
+
daysAgo_one: 'há {{count}} dia',
|
|
4050
|
+
daysAgo_many: 'há {{count}} dias',
|
|
4051
|
+
daysAgo_other: 'há {{count}} dias',
|
|
3185
4052
|
},
|
|
3186
4053
|
preview: {
|
|
3187
4054
|
empty: {
|
|
@@ -3202,6 +4069,10 @@ const pt = {
|
|
|
3202
4069
|
publishing: 'Publicando…',
|
|
3203
4070
|
exit: 'Sair da pré-visualização',
|
|
3204
4071
|
changes: 'Alterações',
|
|
4072
|
+
pendingHere: 'Pré-visualização do rascunho · {{count}} alterações não publicadas nesta página',
|
|
4073
|
+
pendingHere_one: 'Pré-visualização do rascunho · {{count}} alteração não publicada nesta página',
|
|
4074
|
+
pendingHere_many: 'Pré-visualização do rascunho · {{count}} de alterações não publicadas nesta página',
|
|
4075
|
+
pendingHere_other: 'Pré-visualização do rascunho · {{count}} alterações não publicadas nesta página',
|
|
3205
4076
|
},
|
|
3206
4077
|
changes: {
|
|
3207
4078
|
title: 'Alterações pendentes',
|
|
@@ -3216,11 +4087,81 @@ const pt = {
|
|
|
3216
4087
|
detailNone: 'Nenhuma diferença detectada — o rascunho corresponde à versão publicada.',
|
|
3217
4088
|
detailChangedKeys: 'Também alterado:',
|
|
3218
4089
|
confirmNote: 'Publicar libera atomicamente todos os {{count}} rascunhos pendentes deste pacote.',
|
|
4090
|
+
confirmNote_one: 'Publicar libera atomicamente {{count}} rascunho pendente deste pacote.',
|
|
4091
|
+
confirmNote_many: 'Publicar libera atomicamente todos os {{count}} de rascunhos pendentes deste pacote.',
|
|
4092
|
+
confirmNote_other: 'Publicar libera atomicamente todos os {{count}} rascunhos pendentes deste pacote.',
|
|
4093
|
+
// objectui#11591 — the package-less sheet: no package to batch, so each
|
|
4094
|
+
// draft publishes by itself and one that fails stays pending.
|
|
4095
|
+
confirmNoteSeparate: 'Publicar libera os {{count}} rascunhos pendentes um a um: o que falhar continua pendente e os demais são publicados mesmo assim.',
|
|
4096
|
+
confirmNoteSeparate_one: 'Publicar libera {{count}} rascunho pendente isoladamente: se falhar, continua pendente.',
|
|
4097
|
+
confirmNoteSeparate_many: 'Publicar libera os {{count}} de rascunhos pendentes um a um: o que falhar continua pendente e os demais são publicados mesmo assim.',
|
|
4098
|
+
confirmNoteSeparate_other: 'Publicar libera os {{count}} rascunhos pendentes um a um: o que falhar continua pendente e os demais são publicados mesmo assim.',
|
|
3219
4099
|
publishConfirm: 'Publicar tudo',
|
|
3220
|
-
|
|
4100
|
+
summaryItems: '{{count}} itens',
|
|
4101
|
+
summaryItems_one: '{{count}} item',
|
|
4102
|
+
summaryItems_many: '{{count}} de itens',
|
|
4103
|
+
summaryItems_other: '{{count}} itens',
|
|
4104
|
+
summaryType: '{{n}} {{type}}',
|
|
4105
|
+
typeCount: {
|
|
4106
|
+
object: '{{count}} objetos',
|
|
4107
|
+
object_one: '{{count}} objeto',
|
|
4108
|
+
object_many: '{{count}} de objetos',
|
|
4109
|
+
object_other: '{{count}} objetos',
|
|
4110
|
+
view: '{{count}} visualizações',
|
|
4111
|
+
view_one: '{{count}} visualização',
|
|
4112
|
+
view_many: '{{count}} de visualizações',
|
|
4113
|
+
view_other: '{{count}} visualizações',
|
|
4114
|
+
page: '{{count}} páginas',
|
|
4115
|
+
page_one: '{{count}} página',
|
|
4116
|
+
page_many: '{{count}} de páginas',
|
|
4117
|
+
page_other: '{{count}} páginas',
|
|
4118
|
+
dashboard: '{{count}} painéis',
|
|
4119
|
+
dashboard_one: '{{count}} painel',
|
|
4120
|
+
dashboard_many: '{{count}} de painéis',
|
|
4121
|
+
dashboard_other: '{{count}} painéis',
|
|
4122
|
+
app: '{{count}} aplicativos',
|
|
4123
|
+
app_one: '{{count}} aplicativo',
|
|
4124
|
+
app_many: '{{count}} de aplicativos',
|
|
4125
|
+
app_other: '{{count}} aplicativos',
|
|
4126
|
+
action: '{{count}} ações',
|
|
4127
|
+
action_one: '{{count}} ação',
|
|
4128
|
+
action_many: '{{count}} de ações',
|
|
4129
|
+
action_other: '{{count}} ações',
|
|
4130
|
+
report: '{{count}} relatórios',
|
|
4131
|
+
report_one: '{{count}} relatório',
|
|
4132
|
+
report_many: '{{count}} de relatórios',
|
|
4133
|
+
report_other: '{{count}} relatórios',
|
|
4134
|
+
flow: '{{count}} fluxos',
|
|
4135
|
+
flow_one: '{{count}} fluxo',
|
|
4136
|
+
flow_many: '{{count}} de fluxos',
|
|
4137
|
+
flow_other: '{{count}} fluxos',
|
|
4138
|
+
permission: '{{count}} conjuntos de permissões',
|
|
4139
|
+
permission_one: '{{count}} conjunto de permissões',
|
|
4140
|
+
permission_many: '{{count}} de conjuntos de permissões',
|
|
4141
|
+
permission_other: '{{count}} conjuntos de permissões',
|
|
4142
|
+
agent: '{{count}} agentes',
|
|
4143
|
+
agent_one: '{{count}} agente',
|
|
4144
|
+
agent_many: '{{count}} de agentes',
|
|
4145
|
+
agent_other: '{{count}} agentes',
|
|
4146
|
+
email_template: '{{count}} modelos de e-mail',
|
|
4147
|
+
email_template_one: '{{count}} modelo de e-mail',
|
|
4148
|
+
email_template_many: '{{count}} de modelos de e-mail',
|
|
4149
|
+
email_template_other: '{{count}} modelos de e-mail',
|
|
4150
|
+
},
|
|
4151
|
+
// objectui#12929 — the unchecked choice under an added object field whose
|
|
4152
|
+
// literal default the batch publish can write into the existing records.
|
|
4153
|
+
backfillOption: 'Preencher o valor padrão ({{count}} registros existentes)',
|
|
4154
|
+
backfillOption_one: 'Preencher o valor padrão ({{count}} registro existente)',
|
|
4155
|
+
backfillOption_many: 'Preencher o valor padrão ({{count}} de registros existentes)',
|
|
4156
|
+
backfillOption_other: 'Preencher o valor padrão ({{count}} registros existentes)',
|
|
4157
|
+
backfillOptionNoCount: 'Preencher o valor padrão',
|
|
4158
|
+
// [`7a90afdf9`] Pre-publish security-posture findings, shown next to
|
|
3221
4159
|
// the confirm button so a refusal the door would issue is read BEFORE
|
|
3222
4160
|
// the click rather than as a toast after the batch rolled back.
|
|
3223
4161
|
securityBlockTitle: 'A publicação será recusada — {{count}} item(ns) precisam de uma decisão primeiro',
|
|
4162
|
+
securityBlockTitle_one: 'A publicação será recusada — {{count}} item precisa de uma decisão primeiro',
|
|
4163
|
+
securityBlockTitle_many: 'A publicação será recusada — {{count}} de itens precisam de uma decisão primeiro',
|
|
4164
|
+
securityBlockTitle_other: 'A publicação será recusada — {{count}} itens precisam de uma decisão primeiro',
|
|
3224
4165
|
securityBlockWhere: 'Corrija no objeto em Configurações → Compartilhamento de registros e publique novamente.',
|
|
3225
4166
|
},
|
|
3226
4167
|
// ADR-0045 — the materialized-but-unlisted app banner
|
|
@@ -3245,7 +4186,7 @@ const pt = {
|
|
|
3245
4186
|
revertLabel: 'Uma alteração foi desfeita',
|
|
3246
4187
|
applyLabel: 'Alteração de compilação',
|
|
3247
4188
|
revert: 'desfazer',
|
|
3248
|
-
items: '
|
|
4189
|
+
items: 'Itens: {{count}}',
|
|
3249
4190
|
revertAction: 'Desfazer',
|
|
3250
4191
|
reverted: 'Desfeito — a alteração foi revertida.',
|
|
3251
4192
|
revertFailed: 'Falha ao desfazer',
|
|
@@ -3274,28 +4215,32 @@ const pt = {
|
|
|
3274
4215
|
rangeEnd: "Até",
|
|
3275
4216
|
operators: {
|
|
3276
4217
|
equals: "Igual a",
|
|
3277
|
-
|
|
4218
|
+
not_equals: "Diferente de",
|
|
3278
4219
|
contains: "Contém",
|
|
3279
|
-
|
|
3280
|
-
|
|
3281
|
-
|
|
3282
|
-
|
|
3283
|
-
|
|
3284
|
-
|
|
3285
|
-
|
|
3286
|
-
|
|
4220
|
+
icontains: "Contém (ignorar maiúsculas)",
|
|
4221
|
+
not_contains: "Não contém",
|
|
4222
|
+
is_empty: "Está vazio",
|
|
4223
|
+
is_not_empty: "Não está vazio",
|
|
4224
|
+
greater_than: "Maior que",
|
|
4225
|
+
less_than: "Menor que",
|
|
4226
|
+
greater_than_or_equal: "Maior ou igual",
|
|
4227
|
+
less_than_or_equal: "Menor ou igual",
|
|
3287
4228
|
before: "Antes de",
|
|
3288
4229
|
after: "Depois de",
|
|
3289
4230
|
between: "Entre",
|
|
3290
4231
|
in: "Em",
|
|
3291
|
-
|
|
3292
|
-
|
|
3293
|
-
|
|
3294
|
-
|
|
3295
|
-
|
|
4232
|
+
not_in: "Não em",
|
|
4233
|
+
starts_with: "Começa com",
|
|
4234
|
+
ends_with: "Termina com",
|
|
4235
|
+
is_null: "É null",
|
|
4236
|
+
is_not_null: "Não é null",
|
|
3296
4237
|
exists: "Está definido",
|
|
3297
4238
|
notExists: "Não está definido",
|
|
3298
4239
|
},
|
|
4240
|
+
emptyCheckHint: {
|
|
4241
|
+
text: '"{{isEmpty}}" também corresponde a texto em branco; "{{isNull}}" apenas a um valor ausente.',
|
|
4242
|
+
list: '"{{isEmpty}}" também corresponde a uma lista vazia; "{{isNull}}" apenas a um valor ausente.',
|
|
4243
|
+
},
|
|
3299
4244
|
},
|
|
3300
4245
|
sortBuilder: {
|
|
3301
4246
|
sortBy: "Ordenar por",
|
|
@@ -3308,7 +4253,9 @@ const pt = {
|
|
|
3308
4253
|
},
|
|
3309
4254
|
collaboration: {
|
|
3310
4255
|
commentCount: "{{count}} comentários",
|
|
3311
|
-
|
|
4256
|
+
commentCount_one: "{{count}} comentário",
|
|
4257
|
+
commentCount_many: "{{count}} de comentários",
|
|
4258
|
+
commentCount_other: "{{count}} comentários",
|
|
3312
4259
|
resolvedSuffix: " · Resolvido",
|
|
3313
4260
|
sortComments: "Ordenar comentários",
|
|
3314
4261
|
sortOldest: "Mais antigos",
|
|
@@ -3317,11 +4264,22 @@ const pt = {
|
|
|
3317
4264
|
reopen: "Reabrir",
|
|
3318
4265
|
justNow: "agora mesmo",
|
|
3319
4266
|
minutesAgo: "há {{count}} min",
|
|
4267
|
+
minutesAgo_one: "há {{count}} min",
|
|
4268
|
+
minutesAgo_many: "há {{count}} min",
|
|
4269
|
+
minutesAgo_other: "há {{count}} min",
|
|
3320
4270
|
hoursAgo: "há {{count}} h",
|
|
4271
|
+
hoursAgo_one: "há {{count}} h",
|
|
4272
|
+
hoursAgo_many: "há {{count}} h",
|
|
4273
|
+
hoursAgo_other: "há {{count}} h",
|
|
3321
4274
|
daysAgo: "há {{count}} d",
|
|
4275
|
+
daysAgo_one: "há {{count}} d",
|
|
4276
|
+
daysAgo_many: "há {{count}} d",
|
|
4277
|
+
daysAgo_other: "há {{count}} d",
|
|
3322
4278
|
edited: "(editado)",
|
|
3323
4279
|
reactionCount: "{{count}} reações",
|
|
3324
|
-
|
|
4280
|
+
reactionCount_one: "{{count}} reação",
|
|
4281
|
+
reactionCount_many: "{{count}} de reações",
|
|
4282
|
+
reactionCount_other: "{{count}} reações",
|
|
3325
4283
|
addThumbsUp: "Adicionar curtida",
|
|
3326
4284
|
reply: "Responder",
|
|
3327
4285
|
reactThumbsUp: "Reagir com curtida",
|
|
@@ -3332,9 +4290,13 @@ const pt = {
|
|
|
3332
4290
|
commentPlaceholder: "Adicionar um comentário… (use @ para mencionar)",
|
|
3333
4291
|
send: "Enviar",
|
|
3334
4292
|
presentUserCount: "{{count}} usuários presentes",
|
|
3335
|
-
|
|
4293
|
+
presentUserCount_one: "{{count}} usuário presente",
|
|
4294
|
+
presentUserCount_many: "{{count}} de usuários presentes",
|
|
4295
|
+
presentUserCount_other: "{{count}} usuários presentes",
|
|
3336
4296
|
moreUserCount: "mais {{count}} usuários",
|
|
3337
|
-
|
|
4297
|
+
moreUserCount_one: "mais {{count}} usuário",
|
|
4298
|
+
moreUserCount_many: "mais {{count}} de usuários",
|
|
4299
|
+
moreUserCount_other: "mais {{count}} usuários",
|
|
3338
4300
|
userStatusTitle: "{{name}} ({{status}})",
|
|
3339
4301
|
statusActive: "ativo",
|
|
3340
4302
|
statusIdle: "inativo",
|
|
@@ -3342,6 +4304,11 @@ const pt = {
|
|
|
3342
4304
|
},
|
|
3343
4305
|
wizard: {
|
|
3344
4306
|
missingRequired: "Preencha os campos obrigatórios: {{fields}}",
|
|
4307
|
+
back: "Voltar",
|
|
4308
|
+
submitting: "Enviando…",
|
|
4309
|
+
stepFallback: "Etapa {{n}}",
|
|
4310
|
+
progressLabel: "Progresso",
|
|
4311
|
+
emptyStep: "Nenhum campo configurado para esta etapa",
|
|
3345
4312
|
},
|
|
3346
4313
|
flowRunner: {
|
|
3347
4314
|
title: 'Entrada',
|
|
@@ -3391,6 +4358,8 @@ const pt = {
|
|
|
3391
4358
|
setDefaultFailed: "Falha ao definir o aplicativo padrão: {{reason}}",
|
|
3392
4359
|
appDeleted: "{{name}} excluído",
|
|
3393
4360
|
deleteFailed: "Falha ao excluir o aplicativo: {{reason}}",
|
|
4361
|
+
nothingToDelete: "Nada a excluir para {{name}}: {{reason}}",
|
|
4362
|
+
alreadyAtDefault: "ele já está no padrão do seu pacote",
|
|
3394
4363
|
bulkEnabled: "{{n}} aplicativos habilitados",
|
|
3395
4364
|
bulkDisabled: "{{n}} aplicativos desabilitados",
|
|
3396
4365
|
bulkFailed: "Falha em {{n}}: {{details}}",
|
|
@@ -3399,5 +4368,131 @@ const pt = {
|
|
|
3399
4368
|
bulkOperationFailed: "Falha na operação em massa: {{reason}}",
|
|
3400
4369
|
},
|
|
3401
4370
|
},
|
|
4371
|
+
// objectui#6301 — Configuração › Automação de pacotes (ADR-0126 §7.4).
|
|
4372
|
+
// Terminologia do pack: `common.package` = Pacote, `flowRunner.completed` =
|
|
4373
|
+
// Fluxo, aspas "…". ⛔ Nenhuma formulação de linhagem ou desvio neste
|
|
4374
|
+
// grupo (§9).
|
|
4375
|
+
packagedAutomation: {
|
|
4376
|
+
title: "Automação de pacotes",
|
|
4377
|
+
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.",
|
|
4378
|
+
refresh: "Atualizar",
|
|
4379
|
+
flowsHeading: "Fluxos de pacote",
|
|
4380
|
+
actionsHeading: "Ações de pacote",
|
|
4381
|
+
colFlow: "Fluxo",
|
|
4382
|
+
colActivation: "Ativação",
|
|
4383
|
+
colActions: "Ações",
|
|
4384
|
+
toggleLabel: "Ativação de {{label}}",
|
|
4385
|
+
on: "Ativado",
|
|
4386
|
+
off: "Desativado",
|
|
4387
|
+
notRunning: "Não está em execução aqui",
|
|
4388
|
+
clone: "Clonar",
|
|
4389
|
+
cloneTitle: "Clonar fluxo do pacote",
|
|
4390
|
+
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.",
|
|
4391
|
+
cloneName: "Novo nome de máquina",
|
|
4392
|
+
cloneLabel: "Novo rótulo",
|
|
4393
|
+
cancel: "Cancelar",
|
|
4394
|
+
cloneConfirm: "Criar clone",
|
|
4395
|
+
cloneCreated: 'Fluxo "{{name}}" criado.',
|
|
4396
|
+
cloneSwitchSourceOff: 'Desativar "{{label}}"',
|
|
4397
|
+
cloneSourceOff: 'O fluxo empacotado "{{label}}" está desativado.',
|
|
4398
|
+
cloneOpen: 'Abrir a cópia no Studio',
|
|
4399
|
+
emptyTitle: "Nenhum fluxo de pacote",
|
|
4400
|
+
emptyBody: "Nenhum pacote instalado fornece um fluxo de automação nesta implantação. Os fluxos que você mesmo cria ficam no Studio.",
|
|
4401
|
+
loadFailed: "Não foi possível carregar a automação de pacotes.",
|
|
4402
|
+
toggleFailedHttp: "Não foi possível alterar a ativação (HTTP {{status}}).",
|
|
4403
|
+
toggleFailed: "Não foi possível alterar a ativação.",
|
|
4404
|
+
cloneFailedHttp: "Não foi possível clonar este fluxo (HTTP {{status}}).",
|
|
4405
|
+
cloneFailed: "Não foi possível clonar este fluxo.",
|
|
4406
|
+
reasonDetails: "Detalhes",
|
|
4407
|
+
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.",
|
|
4408
|
+
colAction: "Ação",
|
|
4409
|
+
colObject: "Objeto",
|
|
4410
|
+
actionToggleLabel: "Ativação de {{label}} em {{object}}",
|
|
4411
|
+
actionsEmptyTitle: "Nenhuma ação de pacote",
|
|
4412
|
+
actionsEmptyBody: "Nenhum pacote instalado declara uma ação nesta implantação. As ações que você mesmo cria ficam no Studio.",
|
|
4413
|
+
actionsLoadFailed: "Não foi possível carregar as ações de pacote.",
|
|
4414
|
+
},
|
|
4415
|
+
element: {
|
|
4416
|
+
number: {
|
|
4417
|
+
noObject: "Nenhum objeto indicado: defina dataSource.object.",
|
|
4418
|
+
sourceUnresolved: "Não foi possível resolver a fonte de dados desta métrica",
|
|
4419
|
+
},
|
|
4420
|
+
image: {
|
|
4421
|
+
noSource: "Sem fonte de imagem",
|
|
4422
|
+
},
|
|
4423
|
+
recordPicker: {
|
|
4424
|
+
sourceUnresolved: "Não foi possível resolver a fonte de dados deste seletor de registros",
|
|
4425
|
+
},
|
|
4426
|
+
calendar: {
|
|
4427
|
+
sourceUnresolved: "Não foi possível resolver a fonte de dados deste calendário",
|
|
4428
|
+
},
|
|
4429
|
+
chart: {
|
|
4430
|
+
sourceUnresolved: "Não foi possível resolver a fonte de dados deste gráfico",
|
|
4431
|
+
},
|
|
4432
|
+
pivotTable: {
|
|
4433
|
+
sourceUnresolved: "Não foi possível resolver a fonte de dados desta tabela dinâmica",
|
|
4434
|
+
},
|
|
4435
|
+
detailView: {
|
|
4436
|
+
sourceUnresolved: "Não foi possível resolver a fonte de dados desta visualização de detalhes",
|
|
4437
|
+
},
|
|
4438
|
+
relatedList: {
|
|
4439
|
+
sourceUnresolved: "Não foi possível resolver a fonte de dados desta lista relacionada",
|
|
4440
|
+
parentUnreadable: "Não foi possível ler o registro pai desta lista relacionada",
|
|
4441
|
+
},
|
|
4442
|
+
form: {
|
|
4443
|
+
sourceUnresolved: "Não foi possível resolver a fonte de dados deste formulário",
|
|
4444
|
+
},
|
|
4445
|
+
lineItems: {
|
|
4446
|
+
sourceUnresolved: "Não foi possível resolver a fonte de dados deste painel de itens",
|
|
4447
|
+
},
|
|
4448
|
+
gantt: {
|
|
4449
|
+
sourceUnresolved: "Não foi possível resolver a fonte de dados deste gráfico de Gantt",
|
|
4450
|
+
},
|
|
4451
|
+
grid: {
|
|
4452
|
+
sourceUnresolved: "Não foi possível resolver a fonte de dados desta grade",
|
|
4453
|
+
},
|
|
4454
|
+
board: {
|
|
4455
|
+
sourceUnresolved: "Não foi possível resolver a fonte de dados deste quadro",
|
|
4456
|
+
},
|
|
4457
|
+
listView: {
|
|
4458
|
+
sourceUnresolved: "Não foi possível resolver a fonte de dados desta visualização de lista",
|
|
4459
|
+
},
|
|
4460
|
+
map: {
|
|
4461
|
+
sourceUnresolved: "Não foi possível resolver a fonte de dados deste mapa",
|
|
4462
|
+
},
|
|
4463
|
+
timeline: {
|
|
4464
|
+
sourceUnresolved: "Não foi possível resolver a fonte de dados desta linha do tempo",
|
|
4465
|
+
},
|
|
4466
|
+
component: {
|
|
4467
|
+
sourceUnresolved: "Não foi possível resolver a fonte de dados deste componente",
|
|
4468
|
+
noDataSource: "Nenhuma fonte de dados resolvida",
|
|
4469
|
+
apiRefused: "A fonte de dados de API deste componente foi recusada",
|
|
4470
|
+
apiUnreadable: "Não foi possível ler a fonte de dados de API deste componente",
|
|
4471
|
+
},
|
|
4472
|
+
metadataViewer: {
|
|
4473
|
+
missingKey: "Falta {{key}} nesta visualização.",
|
|
4474
|
+
loading: "Carregando {{name}}…",
|
|
4475
|
+
loadFailed: "Falha ao carregar {{name}}: {{message}}",
|
|
4476
|
+
notFound: "{{name}} não encontrado.",
|
|
4477
|
+
stateMachine: "Máquina de estados",
|
|
4478
|
+
flow: "Fluxo",
|
|
4479
|
+
permission: "Permissão",
|
|
4480
|
+
noStateMachine: "Nenhuma máquina de estados em {{object}}.",
|
|
4481
|
+
noStateMachineNamed: "Nenhuma máquina de estados chamada “{{name}}” em {{object}}.",
|
|
4482
|
+
lifecycle: "Ciclo de vida de {{object}}",
|
|
4483
|
+
field: "campo {{field}}",
|
|
4484
|
+
initial: "início",
|
|
4485
|
+
final: "fim",
|
|
4486
|
+
steps: "Etapas: {{count}}",
|
|
4487
|
+
noSteps: "Nenhuma etapa para mostrar.",
|
|
4488
|
+
untitledStep: "(etapa)",
|
|
4489
|
+
hiddenSteps: "Etapas técnicas ocultas: {{count}} · defina {{setting}} para mostrar todas",
|
|
4490
|
+
objectAccess: "Acesso a objetos: {{count}}",
|
|
4491
|
+
noPermissions: "Nenhuma permissão de objeto declarada.",
|
|
4492
|
+
object: "Objeto",
|
|
4493
|
+
unknownType: "Tipo de visualização de metadados desconhecido. Esperado {{a}}, {{b}} ou {{c}}.",
|
|
4494
|
+
unknownTypeNamed: "Tipo de visualização de metadados desconhecido “{{type}}”. Esperado {{a}}, {{b}} ou {{c}}.",
|
|
4495
|
+
},
|
|
4496
|
+
},
|
|
3402
4497
|
};
|
|
3403
4498
|
export default pt;
|