@object-ui/i18n 17.7.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.
@@ -13,18 +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 sys_capability registry).
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_org_presentation: "Gerenciar a apresentação da organização",
22
+ manage_mailboxes: "Gerenciar caixas de correio",
23
23
  manage_platform_settings: "Gerenciar configurações da plataforma",
24
24
  setup_access: "Acesso à configuração",
25
25
  setup_write: "Gravação de configurações",
26
26
  studio_access: "Acesso ao Studio",
27
27
  manage_sharing: "Gerenciar compartilhamento",
28
+ view_all_audit_log: "Ver todo o registro de auditoria",
28
29
  },
29
30
  group: {
30
31
  platform: 'Plataforma',
@@ -32,33 +33,6 @@ const pt = {
32
33
  other: 'Outro',
33
34
  },
34
35
  },
35
- // objectui#3546 slice six — o resumo somente leitura das facetas de
36
- // autorização de PermissionFacetLink. "aba" como em list.tabs.
37
- perm: {
38
- facet: {
39
- none: "Nenhum",
40
- more: "+{{count}} mais",
41
- objects: "{{count}} objetos",
42
- objects_one: "{{count}} objeto",
43
- objects_many: "{{count}} de objetos",
44
- objects_other: "{{count}} objetos",
45
- fields: "{{count}} regras de campo",
46
- fields_one: "{{count}} regra de campo",
47
- fields_many: "{{count}} de regras de campo",
48
- fields_other: "{{count}} regras de campo",
49
- rls: "{{count}} políticas RLS",
50
- rls_one: "{{count}} política RLS",
51
- rls_many: "{{count}} de políticas RLS",
52
- rls_other: "{{count}} políticas RLS",
53
- tabs: "{{count}} regras de aba",
54
- tabs_one: "{{count}} regra de aba",
55
- tabs_many: "{{count}} de regras de aba",
56
- tabs_other: "{{count}} regras de aba",
57
- adminScope: "Administração delegada configurada",
58
- designInStudio: "Projetar no Studio →",
59
- designInStudioHint: "Projetar no Studio",
60
- },
61
- },
62
36
  lookup: {
63
37
  recentlyUsed: 'Usados recentemente',
64
38
  allResults: 'Todos os resultados',
@@ -131,6 +105,7 @@ const pt = {
131
105
  itemCount_many: "{{count}} de itens",
132
106
  itemCount_other: "{{count}} itens",
133
107
  toggleSidebar: "Alternar barra lateral",
108
+ breadcrumb: "Trilha de navegação",
134
109
  package: "Pacote",
135
110
  done: "Concluído",
136
111
  editInStudio: "Editar no Studio",
@@ -159,6 +134,7 @@ const pt = {
159
134
  copyAll: 'Copiar tudo',
160
135
  },
161
136
  notAvailableHere: '"{{action}}" não está disponível na página atual.',
137
+ notAvailableForRecord: 'Não disponível para este registro',
162
138
  completedSuccessfully: 'A ação foi concluída com sucesso',
163
139
  failed: 'A ação falhou',
164
140
  parallelFailed: 'Uma ou mais ações paralelas falharam',
@@ -195,6 +171,8 @@ const pt = {
195
171
  // description, used when the form declares no `description` of its own.
196
172
  dialogDescriptionFallback: "Preencha os campos do formulário e depois envie ou cancele.",
197
173
  deniedDescription: "Você não tem permissão para editar este campo.",
174
+ serverDefaultHint: "Definido automaticamente ao salvar.",
175
+ maxFileSize: "Tamanho máximo: {{size}}",
198
176
  masterDetail: {
199
177
  loadingColumns: "Carregando colunas…",
200
178
  subtotal: "Subtotal",
@@ -263,10 +241,14 @@ const pt = {
263
241
  remove: "Remover a imagem {{index}}",
264
242
  enlarge: "Ampliar {{name}}",
265
243
  preview: "Pré-visualização da imagem",
244
+ cropPreview: "Pré-visualização do recorte da imagem",
266
245
  previous: "Imagem anterior",
267
246
  next: "Próxima imagem",
268
247
  counter: "{{current}} / {{total}}",
269
248
  },
249
+ percent: {
250
+ slider: "Porcentagem",
251
+ },
270
252
  relativeDate: {
271
253
  overdue: "Atrasado {{count}} d",
272
254
  overdue_one: "Atrasado {{count}} d",
@@ -289,6 +271,8 @@ const pt = {
289
271
  exceedsMaxSize: '"{{name}}" excede o tamanho máximo ({{max}} MB)',
290
272
  uploadFailed: 'Falha ao enviar "{{name}}": {{error}}',
291
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',
292
276
  },
293
277
  richText: {
294
278
  format: "Formato: {{format}}",
@@ -305,6 +289,10 @@ const pt = {
305
289
  search: "Pesquisar objetos…",
306
290
  empty: "Nenhum objeto encontrado",
307
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
+ },
308
296
  recipient: {
309
297
  selectTypeFirst: "Selecione primeiro um tipo de destinatário.",
310
298
  loading: "Carregando…",
@@ -346,6 +334,13 @@ const pt = {
346
334
  dateTime: {
347
335
  impossibleDay: "O valor salvo “{{value}}” não é uma data real. Escolha uma data e uma hora para substituí-lo.",
348
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
+ },
349
344
  number: {
350
345
  badInput: "Não salvo: o texto deste campo não é um número. Informe um decimal simples (exemplo: {{example}}).",
351
346
  },
@@ -360,6 +355,11 @@ const pt = {
360
355
  postalCode: "Código postal",
361
356
  country: "País",
362
357
  },
358
+ boolean: {
359
+ offBadge: "{{label}} — Desativado",
360
+ completed: "Concluído",
361
+ notCompleted: "Não concluído",
362
+ },
363
363
  textarea: {
364
364
  characterCount: "Contagem de caracteres: {{count}} de {{max}}",
365
365
  charactersRemaining: "Caracteres restantes: {{count}}",
@@ -389,10 +389,15 @@ const pt = {
389
389
  selectAllRows: "Selecionar todas as linhas",
390
390
  expandRow: "Expandir linha",
391
391
  collapseRow: "Recolher linha",
392
+ rowActions: "Ações da linha",
392
393
  hideColumn: "Ocultar coluna",
393
394
  freezeColumn: "Fixar coluna",
394
395
  unfreezeColumn: "Soltar coluna",
395
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",
396
401
  totalRecords: "{{count}} no total",
397
402
  noResults: "Sem resultados",
398
403
  noResultsHint: "Tente ajustar seus filtros ou termos de pesquisa.",
@@ -405,6 +410,10 @@ const pt = {
405
410
  modified_one: "{{count}} linha modificada",
406
411
  modified_many: "{{count}} de linhas modificadas",
407
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",
408
417
  saveFailed: 'Falha ao salvar',
409
418
  selected: "{{count}} selecionado(s)",
410
419
  selected_one: "{{count}} selecionado",
@@ -426,6 +435,7 @@ const pt = {
426
435
  bulkAllOnPage_other: "Os {{count}} desta página estão selecionados.",
427
436
  bulkSelectAllMatching: "Selecionar todas as {{count}} correspondências",
428
437
  bulkAllMatchingSelected: "Todos os {{count}} registros correspondentes estão selecionados.",
438
+ bulkActions: "Ações em massa",
429
439
  bulk: {
430
440
  confirmDefault: "Isto será aplicado a {{count}} registro(s).",
431
441
  confirmDefault_one: "Isto será aplicado a {{count}} registro.",
@@ -466,6 +476,7 @@ const pt = {
466
476
  pullToRefresh: "Puxe para atualizar",
467
477
  refreshing: "Atualizando…",
468
478
  openRecord: "Abrir registro",
479
+ recordUnavailable: "{{object}} · registro indisponível",
469
480
  rowHeight: "Altura da linha: {{mode}}",
470
481
  openMenu: "Abrir menu",
471
482
  empty: "Vazio",
@@ -485,6 +496,7 @@ const pt = {
485
496
  // pack controls its own separator and word order.
486
497
  summary: {
487
498
  pattern: "{{label}}: {{value}}",
499
+ pagePattern: "{{label}} (esta página): {{value}}",
488
500
  count: "Contagem",
489
501
  countEmpty: "Vazios",
490
502
  countFilled: "Preenchidos",
@@ -552,9 +564,6 @@ const pt = {
552
564
  needMatchFields: "Selecione pelo menos um campo de correspondência.",
553
565
  matchOnlyField: "(somente correspondência)",
554
566
  optCreateOptions: "Manter valores de opção desconhecidos",
555
- optRunAutomations: "Executar automações e gatilhos",
556
- optTreatHistorical: "Importar como dados históricos",
557
- 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)",
558
567
  optSkipBlankKey: "Ignorar linhas com valor de correspondência em branco",
559
568
  optBackground: "Importar em segundo plano",
560
569
  optBackgroundHint: "(executa como um trabalho reversível)",
@@ -569,6 +578,7 @@ const pt = {
569
578
  invalidBoolean: "\"{{value}}\" não é um valor verdadeiro/falso válido",
570
579
  invalidNumber: "\"{{value}}\" não é um número válido",
571
580
  invalidDate: "\"{{value}}\" não é uma data válida",
581
+ invalidTime: "\"{{value}}\" não é uma hora válida",
572
582
  invalidOption: "\"{{value}}\" não está entre as opções permitidas",
573
583
  requiredValue: "Este campo é obrigatório",
574
584
  matchAmbiguous: "Corresponde a mais de um registro existente — use um valor único ou o id do registro",
@@ -592,6 +602,10 @@ const pt = {
592
602
  undoing: "Desfazendo…",
593
603
  undoConfirm: "Desfazer esta importação? Os registros criados serão excluídos e os registros atualizados voltarão aos valores anteriores.",
594
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.",
595
609
  jobStatus: {
596
610
  pending: "Pendente",
597
611
  running: "Em execução",
@@ -659,6 +673,8 @@ const pt = {
659
673
  showingRows: "Mostrando {{shown}} de {{total}} linhas",
660
674
  importing: "Importando… {{progress}}%",
661
675
  importComplete: "Importação concluída",
676
+ importPartial: "Importação concluída com erros",
677
+ importFailed: "Falha na importação",
662
678
  imported: "{{count}} importado(s)",
663
679
  skippedCount: "{{count}} pulado(s)",
664
680
  moreErrors: "…e {{count}} erro(s) a mais",
@@ -722,6 +738,7 @@ const pt = {
722
738
  firstRunMessage: "Crie seu primeiro registro para começar.",
723
739
  noMatches: "Nenhum registro correspondente",
724
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.",
725
742
  loadErrorTitle: "Não foi possível carregar os registros",
726
743
  loadErrorMessage: "Algo deu errado ao carregar estes dados. Verifique sua conexão e tente novamente.",
727
744
  loadErrorForbiddenTitle: "Você não tem acesso",
@@ -762,15 +779,22 @@ const pt = {
762
779
  recordCount_many: "{{count}} de registros",
763
780
  recordCount_other: "{{count}} registros",
764
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",
765
784
  tabs: "Abas",
766
785
  allRecords: "Todos os registros",
767
786
  search: "Pesquisar",
768
787
  filter: "Filtrar",
769
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",
770
793
  sort: "Ordenar",
771
794
  sortRecords: "Ordenar registros",
772
795
  sortByIdSuffix: "(por ID)",
773
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.",
774
798
  resetSortToDefault: "Restaurar o padrão da exibição",
775
799
  group: "Agrupar",
776
800
  groupBy: "Agrupar por",
@@ -791,14 +815,15 @@ const pt = {
791
815
  print: "Imprimir",
792
816
  hideFieldsTitle: "Ocultar campos",
793
817
  dataLimitReached: "Os primeiros {{limit}} registros estão sendo exibidos. Pode haver mais dados disponíveis.",
794
- viewSettings: "Configurações de exibição",
795
- viewSettingsHint: "Agrupamento, cor, densidade e campos visíveis. Aplica-se a todos os usuários desta exibição.",
818
+ display: "Exibição",
819
+ layout: "Layout",
820
+ rowNumbers: "Números de linha",
821
+ resetToViewDefault: "Restaurar o padrão da exibição",
796
822
  addGroup: "Adicionar campo de grupo",
797
823
  collapsedByDefault: "Recolhido por padrão",
798
824
  removeGroup: "Remover",
799
825
  inlineEditShort: "Edição em linha",
800
826
  inlineEditLabel: "Editar registros em linha (clique em uma célula para editar)",
801
- recordEditingTitle: "Edição de registros",
802
827
  },
803
828
  managedByBadge: {
804
829
  systemWritable: {
@@ -829,6 +854,7 @@ const pt = {
829
854
  },
830
855
  kanban: {
831
856
  uncategorized: "Sem categoria",
857
+ loadMore: "Carregar mais",
832
858
  columns: "colunas",
833
859
  addCard: "Adicionar cartão",
834
860
  addColumn: "Adicionar coluna",
@@ -836,13 +862,28 @@ const pt = {
836
862
  deleteCard: "Excluir cartão",
837
863
  deleteColumn: "Excluir coluna",
838
864
  noCards: "Sem cartões",
865
+ columnCards: "Cartões da coluna {{column}}",
866
+ laneCards: "Cartões de {{column}} - {{lane}}",
839
867
  cardTitlePlaceholder: "Digite o título do cartão…",
840
868
  requiredFieldsTitle: "Preencha os campos obrigatórios",
841
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
+ },
842
883
  },
843
884
  timeline: {
844
885
  bucket: {
845
- overdue: "Atrasado",
886
+ earlier: "Antes",
846
887
  today: "Hoje",
847
888
  tomorrow: "Amanhã",
848
889
  thisWeek: "Esta semana",
@@ -1026,10 +1067,13 @@ const pt = {
1026
1067
  readonlyAriaLabel: "Exibição somente leitura",
1027
1068
  readonlyTooltip: "Exibição do sistema — definida no código, somente leitura.",
1028
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.",
1029
1071
  },
1030
1072
  designer: {
1031
1073
  undo: "Desfazer",
1032
1074
  redo: "Refazer",
1075
+ canvasMinimap: "Minimapa da tela",
1076
+ versionHistory: "Histórico de versões",
1033
1077
  },
1034
1078
  detail: {
1035
1079
  editInlineHint: "Clique duas vezes para editar",
@@ -1116,6 +1160,7 @@ const pt = {
1116
1160
  noAttachments: "Ainda não há anexos. Envie um arquivo para começar.",
1117
1161
  downloadAttachment: "Baixar",
1118
1162
  deleteAttachment: "Excluir anexo",
1163
+ deleteAttachmentConfirm: "Tem certeza de que deseja excluir o anexo \"{{name}}\"?",
1119
1164
  attachmentDeleteDenied: "Somente quem enviou ou alguém que pode editar este registro pode excluir este anexo.",
1120
1165
  attachmentParentAccessDenied: "Você não tem acesso para anexar arquivos a este registro.",
1121
1166
  attachmentDownloadDenied: "Você não tem acesso para baixar este anexo.",
@@ -1180,10 +1225,12 @@ const pt = {
1180
1225
  lockedByApproval: "Bloqueado para aprovação",
1181
1226
  lockedTooltip: "Este registro tem uma solicitação de aprovação pendente; a edição está bloqueada",
1182
1227
  writeStrippedTitle: "Salvo, mas alguns campos não foram aplicados",
1228
+ writeWarningsTitle: "Salvo, com avisos",
1183
1229
  writeStrippedReadonly: "Somente leitura, portanto não foi aplicado: {{fields}}",
1184
1230
  writeStrippedByState: "Não editável no estado atual deste registro, portanto não foi aplicado: {{fields}}",
1185
1231
  writeStrippedPrimaryKey: "O identificador do registro não pode ser alterado ao salvar, portanto não foi aplicado: {{fields}}",
1186
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}}",
1187
1234
  writeStrippedUnknownReason: "Não aplicado pelo servidor: {{fields}}",
1188
1235
  approvalPendingEditable: "Em aprovação · editável",
1189
1236
  approvalPendingTooltip: "Este registro tem uma solicitação de aprovação pendente; esta etapa ainda permite a edição",
@@ -1207,6 +1254,11 @@ const pt = {
1207
1254
  linkCopied: "Link copiado para a área de transferência",
1208
1255
  commentFailed: "Seu comentário não foi publicado. Nada foi salvo — tente novamente.",
1209
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.",
1210
1262
  linkCopyFailed: "Falha ao copiar o link",
1211
1263
  cancel: "Cancelar",
1212
1264
  cancelEdit: "Descartar alterações",
@@ -1621,7 +1673,8 @@ const pt = {
1621
1673
  },
1622
1674
  console: {
1623
1675
  studio: {
1624
- backToHome: "Voltar ao início",
1676
+ title: "Studio",
1677
+ accessRequired: "Você precisa de acesso ao Studio para abrir o Studio.",
1625
1678
  },
1626
1679
  saveAdvisoryTitle: "Salvo — a verificação de criação gerou {{count}} recomendação(ões)",
1627
1680
  saveAdvisoryTitle_one: "Salvo — a verificação de criação gerou {{count}} recomendação",
@@ -1639,13 +1692,13 @@ const pt = {
1639
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.",
1640
1693
  settingsHub: {
1641
1694
  title: "Configurações",
1642
- subtitle: "Configure seu workspace, integrações e sinalizadores de recursos.",
1695
+ subtitle: "Configure seu sistema, integrações e sinalizadores de recursos.",
1643
1696
  loadError: "Falha ao carregar as configurações",
1644
1697
  empty: "Nenhuma configuração registrada. Os plugins podem registrar manifestos de configuração pelo SettingsService.",
1645
1698
  settingsCount: "{{n}} configurações",
1646
1699
  beta: "Beta",
1647
1700
  categories: {
1648
- Workspace: "Workspace",
1701
+ Workspace: "Geral",
1649
1702
  Communication: "Comunicação",
1650
1703
  Security: "Segurança",
1651
1704
  Infrastructure: "Infraestrutura",
@@ -1690,8 +1743,7 @@ const pt = {
1690
1743
  },
1691
1744
  usage: {
1692
1745
  title: "Uso de IA",
1693
- meterBuild: "Criar",
1694
- meterAsk: "Perguntar",
1746
+ poolUsed: "{{percent}} usado",
1695
1747
  statusOk: "Ainda há bastante",
1696
1748
  statusLow: "Está acabando",
1697
1749
  statusFull: "Limite atingido",
@@ -1708,7 +1760,6 @@ const pt = {
1708
1760
  ctaUpgrade: "Faça upgrade para continuar",
1709
1761
  ctaTopUp: "Adicione créditos para continuar",
1710
1762
  ariaLabel: "Uso de IA: {{status}}",
1711
- breakdownTitle: "Usado até agora",
1712
1763
  },
1713
1764
  workspaceTitle: "Workspace de IA",
1714
1765
  workspaceSubtitle: "Pergunte, inspecione e retome conversas",
@@ -1765,6 +1816,8 @@ const pt = {
1765
1816
  liveCanvasUnlisted: "Aplicativo ao vivo — {{app}} (não listado até ser publicado)",
1766
1817
  loadingAgents: "Carregando agentes…",
1767
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…",
1768
1821
  emptyTitle: "Iniciar uma conversa",
1769
1822
  emptyDescription: "Pergunte qualquer coisa — o assistente tem acesso ao contexto do seu aplicativo atual.",
1770
1823
  switchAssistant: "Trocar de assistente",
@@ -1786,12 +1839,17 @@ const pt = {
1786
1839
  },
1787
1840
  clearConversation: "Limpar",
1788
1841
  sendHint: "para enviar",
1842
+ newlineHint: "para uma nova linha",
1789
1843
  agentActivity: "Atividade do agente",
1790
1844
  toolCompleted: "Concluído",
1791
1845
  toolRunning: "Em execução",
1792
1846
  toolAwaitingApproval: "Aguardando aprovação",
1793
1847
  toolFailed: "Falhou",
1794
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",
1795
1853
  copy: "Copiar",
1796
1854
  copied: "Copiado",
1797
1855
  regenerate: "Gerar novamente",
@@ -1806,7 +1864,7 @@ const pt = {
1806
1864
  publishOk: "Publicado — os objetos já estão ativos.",
1807
1865
  seedWarn: "Publicado, mas alguns dados de exemplo não puderam ser carregados.",
1808
1866
  openBuiltApp: "Abrir o aplicativo",
1809
- designBuiltApp: "Projetar no Studio",
1867
+ viewBuiltAppInStudio: "Ver no Studio",
1810
1868
  previewDraft: "Pré-visualizar",
1811
1869
  previewApp: "Pré-visualizar o aplicativo",
1812
1870
  resizeSplit: "Redimensionar a conversa e a pré-visualização",
@@ -1933,6 +1991,7 @@ const pt = {
1933
1991
  collapse: "Recolher a conversa",
1934
1992
  maximize: "Abrir como página inteira",
1935
1993
  open: "Abrir o assistente",
1994
+ planAwaitingApproval: "Um plano proposto aguarda sua aprovação",
1936
1995
  },
1937
1996
  group: {
1938
1997
  today: "Hoje",
@@ -1943,12 +2002,9 @@ const pt = {
1943
2002
  },
1944
2003
  },
1945
2004
  title: "Console ObjectStack",
1946
- initializing: "Inicializando aplicação…",
1947
- loadingHint: "Configurar um novo ambiente pode levar alguns instantes.",
2005
+ initializing: "Abrindo seu console…",
2006
+ skipToContent: "Pular para o conteúdo",
1948
2007
  breadcrumb: {
1949
- dashboards: "Painéis",
1950
- pages: "Páginas",
1951
- reports: "Relatórios",
1952
2008
  system: "Sistema",
1953
2009
  marketplace: "Marketplace",
1954
2010
  settings: 'Configurações',
@@ -1978,16 +2034,31 @@ const pt = {
1978
2034
  unsavedCount_one: "{{count}} alteração não salva",
1979
2035
  unsavedCount_many: "{{count}} de alterações não salvas",
1980
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}}",
1981
2041
  cryptoRefusalTitle: "Esta implantação não consegue criptografar segredos",
1982
2042
  cryptoRefusalSubjectSuffix: "está declarado como criptografado, portanto nada foi gravado.",
1983
2043
  cryptoRefusalNoSubject: "O valor declarado como criptografado foi recusado, portanto nada foi gravado.",
1984
2044
  cryptoRefusalToast: "Não é possível criptografar segredos: {{subject}}",
1985
2045
  cryptoRefusalToastNoSubject: "Não é possível criptografar segredos",
1986
- },
1987
- loadingSteps: {
1988
- connecting: "Conectando à fonte de dados",
1989
- loadingConfig: "Carregando configuração",
1990
- preparingWorkspace: "Preparando espaço de trabalho",
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}}",
1991
2062
  },
1992
2063
  error: {
1993
2064
  connectionFailed: "Não é possível conectar ao servidor",
@@ -2012,27 +2083,28 @@ const pt = {
2012
2083
  groups: {
2013
2084
  general: "Geral",
2014
2085
  navigation: "Navegação",
2015
- dataViews: "Visualizações de dados",
2016
2086
  aiChat: "Assistente de IA",
2017
- preferences: "Preferências",
2018
2087
  },
2019
2088
  openCommandPalette: "Abrir paleta de comandos",
2020
2089
  showShortcuts: "Mostrar atalhos de teclado",
2021
2090
  closeDialog: "Fechar diálogo / painel",
2022
2091
  toggleSidebar: "Alternar barra lateral",
2023
- focusSearch: "Focar na pesquisa",
2024
- createRecord: "Criar novo registro",
2025
- refreshData: "Atualizar dados",
2026
- editRecord: "Editar registro selecionado",
2027
2092
  newChat: "Nova conversa",
2028
2093
  toggleChatsList: "Alternar lista de conversas",
2029
- toggleDarkMode: "Alternar modo escuro",
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.",
2030
2100
  },
2031
2101
  commandPalette: {
2032
2102
  title: "Paleta de comandos",
2033
2103
  placeholder: "Digite um comando ou pesquise…",
2034
2104
  noResults: "Nenhum resultado encontrado.",
2035
2105
  objects: "Objetos",
2106
+ packages: "Pacotes",
2107
+ flows: "Fluxos",
2036
2108
  dashboards: "Painéis",
2037
2109
  pages: "Páginas",
2038
2110
  reports: "Relatórios",
@@ -2051,9 +2123,9 @@ const pt = {
2051
2123
  },
2052
2124
  // objectui#9954 — see the `en` pack for what raises each case.
2053
2125
  readRate: {
2054
- ratioTitle: 'Volume de leitura incomum neste ambiente',
2126
+ ratioTitle: 'Volume de leitura incomum neste sistema',
2055
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.',
2056
- noWritesTitle: 'Leituras sem nenhuma gravação neste ambiente',
2128
+ noWritesTitle: 'Leituras sem nenhuma gravação neste sistema',
2057
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.',
2058
2130
  },
2059
2131
  // objectui#10439 — see the `en` pack for what raises each case.
@@ -2094,12 +2166,14 @@ const pt = {
2094
2166
  viewNameInvalid: "Use letras minúsculas, números e sublinhados; comece com uma letra ou sublinhado.",
2095
2167
  systemViewReadonly: "Exibição do sistema definida no código — somente leitura.",
2096
2168
  cannotEditMetaView: "Esta exibição é integrada e definida no código — não é possível alterá-la.",
2097
- viewConfigPermissionDenied: "As configurações da exibição se aplicam a todos os usuários que a utilizam, portanto alterá-las exige a permissão 'Gerenciar metadados'. Peça a um administrador para fazer essa alteração.",
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.",
2098
2171
  cannotDeleteMetaView: "Esta exibição é integrada e definida no código — não é possível excluí-la.",
2099
2172
  expandToPage: "Abrir como página inteira",
2100
2173
  objectNotFound: "Objeto não encontrado",
2101
2174
  objectNotFoundDescription: "O objeto \"{{objectName}}\" não existe na configuração atual.",
2102
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.",
2103
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.",
2104
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.",
2105
2179
  allRecords: "Todos os registros",
@@ -2190,6 +2264,10 @@ const pt = {
2190
2264
  ufAddField: "+ Adicionar campo de filtro…",
2191
2265
  ufShowAllRecords: "Mostrar aba \"Todos os registros\"",
2192
2266
  },
2267
+ runtimeDraft: {
2268
+ publishFailed: "Falha ao publicar",
2269
+ discardFailed: "Falha ao descartar o rascunho",
2270
+ },
2193
2271
  localeSwitcher: {
2194
2272
  label: "Idioma",
2195
2273
  },
@@ -2197,17 +2275,22 @@ const pt = {
2197
2275
  nav: {
2198
2276
  pinItem: "Fixar {{name}}",
2199
2277
  unpinItem: "Desafixar {{name}}",
2200
- dragToReorder: "Arrastar para reordenar",
2201
2278
  favorites: "Favoritos",
2202
2279
  launcherLabel: "Iniciador de aplicativos",
2203
2280
  menuLabel: "Navegação do aplicativo",
2204
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",
2205
2288
  },
2206
2289
  },
2207
2290
  auth: {
2208
2291
  setPassword: {
2209
2292
  title: "Definir uma senha de recuperação",
2210
- description: "Você entrou por logon único. Defina uma senha local para continuar conseguindo acessar este ambiente diretamente caso o SSO fique indisponível.",
2293
+ description: "Você entrou por logon único. Defina uma senha local para continuar conseguindo entrar diretamente caso o SSO fique indisponível.",
2211
2294
  email: "E-mail",
2212
2295
  newPassword: "Nova senha",
2213
2296
  confirmPassword: "Confirmar a senha",
@@ -2223,9 +2306,8 @@ const pt = {
2223
2306
  signingIn: "Entrando…",
2224
2307
  ssoHandoff: "Continuar para {{target}}",
2225
2308
  devAdminHint: {
2226
- title: "Instância de desenvolvimento",
2227
- body: "Entre com o administrador de desenvolvimento pré-configurado:",
2228
- dismiss: "Dispensar",
2309
+ title: "Instância de desenvolvimento local",
2310
+ signIn: "Entrar como administrador de desenvolvimento",
2229
2311
  },
2230
2312
  title: "Entre na sua conta",
2231
2313
  description: "Digite seu e-mail e senha para continuar",
@@ -2257,6 +2339,20 @@ const pt = {
2257
2339
  usePasswordSignInText: "Entrar com senha em vez disso",
2258
2340
  socialButton: "Continuar com {provider}",
2259
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
+ },
2260
2356
  },
2261
2357
  register: {
2262
2358
  title: "Criar uma conta",
@@ -2279,7 +2375,7 @@ const pt = {
2279
2375
  orText: "ou continue com e-mail",
2280
2376
  errors: {
2281
2377
  userExists: "Já existe uma conta com esse e-mail. Tente fazer login.",
2282
- selfRegistrationClosed: "O cadastro por conta própria não está aberto neste ambiente. Peça um convite a um administrador.",
2378
+ selfRegistrationClosed: "O cadastro por conta própria não está aberto neste sistema. Peça um convite a um administrador.",
2283
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.",
2284
2380
  },
2285
2381
  verifyInbox: {
@@ -2356,7 +2452,7 @@ const pt = {
2356
2452
  checkSpam: "Não recebeu o e-mail? Verifique sua pasta de spam ou entre em contato com o suporte.",
2357
2453
  or: "Ou",
2358
2454
  // objectui#3546 slice three.
2359
- resendUnavailable: "O envio de e-mails pode não estar configurado neste ambiente. Entre em contato com o suporte se o problema persistir.",
2455
+ resendUnavailable: "O envio de e-mails pode não estar configurado neste sistema. Entre em contato com o suporte se o problema persistir.",
2360
2456
  },
2361
2457
  setup: {
2362
2458
  welcomeTitle: "Bem-vindo ao ObjectStack",
@@ -2400,7 +2496,7 @@ const pt = {
2400
2496
  disabledDescription: "Esta implantação não tem a autorização de dispositivo habilitada, por isso este dispositivo não pode ser aprovado aqui.",
2401
2497
  },
2402
2498
  shell: {
2403
- tenantHostHint: "Você está fazendo login neste espaço de trabalho",
2499
+ tenantHostHint: "Você está fazendo login neste sistema",
2404
2500
  },
2405
2501
  layout: {
2406
2502
  headline: "Crie aplicativos de negócios poderosos, com mais rapidez.",
@@ -2410,6 +2506,7 @@ const pt = {
2410
2506
  signOut: "Sair da conta",
2411
2507
  password: {
2412
2508
  title: "Sua senha expirou",
2509
+ resetTitle: "Você precisa alterar sua senha",
2413
2510
  fallbackMessage: "Defina uma nova senha para continuar.",
2414
2511
  current: "Senha atual",
2415
2512
  next: "Nova senha",
@@ -2435,6 +2532,11 @@ const pt = {
2435
2532
  verifying: "Verificando…",
2436
2533
  invalidCode: "Código inválido. Tente novamente.",
2437
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
+ },
2438
2540
  },
2439
2541
  },
2440
2542
  // objectui#3546 slice three — the /oauth/consent screen.
@@ -2443,12 +2545,17 @@ const pt = {
2443
2545
  title: "{{appName}} quer acessar sua conta",
2444
2546
  request: "{{appName}} está solicitando permissão{{suffix}}.",
2445
2547
  unknownApp: "um aplicativo",
2548
+ unidentified: "Não foi possível identificar este aplicativo.",
2549
+ clientId: "ID do cliente",
2446
2550
  willAllow: "Este aplicativo poderá:",
2447
2551
  scope: {
2448
2552
  openid: "Confirmar sua identidade",
2449
2553
  profile: "Ler seu perfil básico (nome, foto)",
2450
2554
  email: "Ler seu endereço de e-mail",
2451
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)",
2452
2559
  },
2453
2560
  deny: "Negar",
2454
2561
  authorize: "Autorizar",
@@ -2491,8 +2598,8 @@ const pt = {
2491
2598
  password: {
2492
2599
  changeTitle: "Alterar senha",
2493
2600
  setTitle: "Definir senha local",
2494
- changeDescription: "Atualize a senha que você usa para entrar neste ambiente.",
2495
- setDescription: "Você entrou via logon único (SSO). Defina uma senha local para também poder entrar com e-mail e senha neste ambiente.",
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.",
2496
2603
  current: "Senha atual",
2497
2604
  new: "Nova senha",
2498
2605
  password: "Senha",
@@ -2501,7 +2608,7 @@ const pt = {
2501
2608
  mismatch: "As senhas não coincidem",
2502
2609
  enterCurrent: "Digite sua senha atual",
2503
2610
  changed: "Senha alterada.",
2504
- localSet: "Senha local definida. Agora você pode entrar com e-mail e senha neste ambiente.",
2611
+ localSet: "Senha local definida. Agora você pode entrar com e-mail e senha.",
2505
2612
  changeAction: "Alterar senha",
2506
2613
  setAction: "Definir senha",
2507
2614
  },
@@ -2516,21 +2623,21 @@ const pt = {
2516
2623
  unknown: "Ocorreu um erro inesperado.",
2517
2624
  },
2518
2625
  workspace: {
2519
- label: "Espaços de trabalho",
2520
- default: "Meu espaço de trabalho",
2521
- switch: "Trocar de espaço de trabalho",
2522
- createTitle: "Criar um espaço de trabalho",
2523
- createDescription: "Um espaço de trabalho é um espaço compartilhado para colaboração da equipe.",
2524
- createButton: "Criar espaço de trabalho",
2525
- 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",
2526
2633
  namePlaceholder: "p.ex., Acme Inc",
2527
2634
  slugLabel: "Slug de URL",
2528
2635
  slugHint: "Usado em URLs. Apenas letras minúsculas, números e hifens.",
2529
2636
  invite: "Convidar membro",
2530
2637
  members: "Membros",
2531
- settings: "Configurações do espaço de trabalho",
2638
+ settings: "Configurações da organização",
2532
2639
  multiOrgDisabled: "A criação de novas organizações está desativada nesta instância.",
2533
- createFailed: 'Falha ao criar o espaço de trabalho',
2640
+ createFailed: 'Falha ao criar a organização',
2534
2641
  },
2535
2642
  help: {
2536
2643
  onThisPage: "Nesta página",
@@ -2538,6 +2645,12 @@ const pt = {
2538
2645
  appDocs: 'Documentação deste app',
2539
2646
  allDocs: 'Toda a documentação',
2540
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)',
2541
2654
  },
2542
2655
  sidebar: {
2543
2656
  packageManagement: "Gerenciamento de pacotes",
@@ -2552,18 +2665,16 @@ const pt = {
2552
2665
  area: "Área",
2553
2666
  scope: "Escopo",
2554
2667
  recent: "Recente",
2555
- favorites: "Favoritos",
2556
2668
  starred: "Favoritos",
2557
2669
  removeFromFavorites: "Remover {{name}} dos favoritos",
2670
+ allReports: "Todos os relatórios",
2558
2671
  },
2559
2672
  topbar: {
2560
2673
  openAssistant: "Abrir o assistente {{name}}",
2561
2674
  offline: "Off-line",
2562
2675
  usersOnline: "Usuários on-line no momento",
2563
2676
  switchView: "Trocar de visão",
2564
- switchObject: "Trocar de objeto",
2565
2677
  connection: {
2566
- connected: "Conectado",
2567
2678
  connecting: "Conectando…",
2568
2679
  reconnecting: "Reconectando…",
2569
2680
  disconnected: "Desconectado",
@@ -2576,23 +2687,22 @@ const pt = {
2576
2687
  },
2577
2688
  aiAssistant: "Assistente de IA",
2578
2689
  designInStudio: "Projetar no Studio",
2690
+ editApp: "Editar aplicativo",
2579
2691
  },
2580
2692
  home: {
2581
2693
  build: {
2582
2694
  title: "Criar um aplicativo",
2583
- subtitle: "Comece do zero — projete objetos, formulários, automações e interfaces.",
2584
- 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.",
2585
2696
  },
2586
2697
  template: {
2587
2698
  title: "Comece com um modelo",
2588
- subtitle: "Instale um aplicativo modelo do marketplace e personalize-o.",
2589
2699
  marketplaceDisabled: "Este runtime não tem um marketplace de aplicativos configurado, portanto não há modelos para instalar aqui.",
2590
2700
  },
2591
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.",
2592
2702
  welcomeAdminDescriptionNoBuild: "Configure seu primeiro aplicativo pelo menu de Administração à esquerda. Quando houver dados, o assistente de IA poderá ajudar a explorá-los.",
2593
2703
  welcomeAdminDescriptionNoAi: "Configure seu primeiro aplicativo pelo menu de Administração à esquerda.",
2594
2704
  noAppsTitle: "Ainda não há aplicativos",
2595
- noAppsDescription: "Seu workspace está sendo preparado — os aplicativos que seu administrador compartilhar aparecerão aqui.",
2705
+ noAppsDescription: "O sistema está sendo preparado — os aplicativos que seu administrador compartilhar aparecerão aqui.",
2596
2706
  buildWithAI: "Criar com IA",
2597
2707
  askAI: "Perguntar à IA",
2598
2708
  recoveryReminder: {
@@ -2601,10 +2711,16 @@ const pt = {
2601
2711
  dismiss: "Dispensar",
2602
2712
  },
2603
2713
  pendingDrafts: {
2604
- message: "Você tem {{count}} alteração(ões) não publicada(s) — publique para ativá-las.",
2605
- message_one: "Você tem {{count}} alteração não publicada — publique para ativá-la.",
2606
- message_many: "Você tem {{count}} de alterações não publicadas — publique para ativá-las.",
2607
- message_other: "Você tem {{count}} alterações não publicadas — publique para ativá-las.",
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: ", ",
2608
2724
  cta: "Publicar",
2609
2725
  publishing: "Publicando…",
2610
2726
  published: "Publicado! Suas alterações estão ativas.",
@@ -2625,11 +2741,18 @@ const pt = {
2625
2741
  showMoreApps: "Mais",
2626
2742
  showLess: "Mostrar menos",
2627
2743
  continueEmpty: "Os itens que abrir aparecerão aqui.",
2628
- actionCenter: {
2629
- title: "Requer a sua atenção",
2630
- empty: "Está tudo em dia",
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",
2631
2754
  },
2632
- loading: "Carregando espaço de trabalho…",
2755
+ loading: "Carregando…",
2633
2756
  welcome: "Bem-vindo ao ObjectUI",
2634
2757
  welcomeDescription: "Comece criando sua primeira aplicação ou configurando as preferências do sistema.",
2635
2758
  createFirstApp: "Crie sua primeira app",
@@ -2640,7 +2763,7 @@ const pt = {
2640
2763
  manageObjects: "Gerenciar objetos",
2641
2764
  manageObjectsDesc: "Configure modelos de dados",
2642
2765
  systemSettings: "Configurações do sistema",
2643
- systemSettingsDesc: "Configure seu espaço de trabalho",
2766
+ systemSettingsDesc: "Configure seu sistema",
2644
2767
  },
2645
2768
  appCard: {
2646
2769
  noDescription: "Sem descrição",
@@ -2650,7 +2773,18 @@ const pt = {
2650
2773
  greetingAfternoon: "Boa tarde",
2651
2774
  greetingEvening: "Boa noite",
2652
2775
  greetingNight: "Turno da noite",
2653
- heroTagline: "Continue de onde parou ou descubra algo novo.",
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}}",
2654
2788
  open: "Abrir",
2655
2789
  recentApps: {
2656
2790
  title: "Abertos recentemente",
@@ -2659,6 +2793,8 @@ const pt = {
2659
2793
  dashboard: "Painel",
2660
2794
  page: "Página",
2661
2795
  report: "Relatório",
2796
+ package: "Pacote",
2797
+ view: "Visualização de lista",
2662
2798
  record: "Registro",
2663
2799
  metadata: "Metadados",
2664
2800
  },
@@ -2696,11 +2832,17 @@ const pt = {
2696
2832
  manageAllApps: "Gerenciar todos os aplicativos",
2697
2833
  systemConsole: "Console do sistema",
2698
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}}",
2699
2840
  },
2700
2841
  activityFeed: {
2701
2842
  title: "Atividade recente",
2702
2843
  filter: "Filtrar",
2703
2844
  empty: "Sem atividade recente",
2845
+ accessDenied: "Você não tem permissão para ver a atividade.",
2704
2846
  ariaLabel: "Feed de atividade",
2705
2847
  typeCreate: "Criar",
2706
2848
  typeUpdate: "Atualizar",
@@ -2767,11 +2909,19 @@ const pt = {
2767
2909
  appAccessDenied: "Você não tem acesso a este aplicativo",
2768
2910
  appAccessDeniedDescription: "Este aplicativo existe, mas sua conta não tem autorização para abri-lo. Peça acesso a um administrador.",
2769
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",
2770
2916
  createFirstApp: "Criar primeiro aplicativo",
2771
2917
  systemSettings: "Configurações do sistema",
2772
2918
  back: "Voltar",
2773
2919
  recordNotFound: "Registro não encontrado",
2774
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.",
2775
2925
  },
2776
2926
  actionDialog: {
2777
2927
  title: "Parâmetros de ação",
@@ -2804,12 +2954,16 @@ const pt = {
2804
2954
  updateFailed: "Não foi possível atualizar a navegação",
2805
2955
  },
2806
2956
  objectActions: {
2807
- 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?",
2808
- resetPackageSetSuccess: "Conjunto de permissões redefinido para a versão original do pacote",
2809
2957
  deleteSuccess: "{{label}} excluído com sucesso",
2810
2958
  deleteFailed: "Não foi possível excluir {{label}}",
2811
2959
  noRecordId: "Nenhum ID de registro fornecido",
2812
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",
2813
2967
  bulkDeleteSuccess: "{{count}} registros de {{label}} excluídos",
2814
2968
  bulkDeleteSuccess_one: "{{count}} registro de {{label}} excluído",
2815
2969
  bulkDeleteSuccess_many: "{{count}} de registros de {{label}} excluídos",
@@ -2846,6 +3000,7 @@ const pt = {
2846
3000
  loading: "Carregando…",
2847
3001
  failedToLoad: "Falha ao carregar a matriz: {{message}}",
2848
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.",
2849
3004
  aggregate: {
2850
3005
  count: "Contar",
2851
3006
  countDistinct: "Contar distintos",
@@ -2860,18 +3015,18 @@ const pt = {
2860
3015
  },
2861
3016
  },
2862
3017
  organizations: {
2863
- create: "Criar workspace",
2864
- mine: "Meus workspaces",
2865
- title: "Workspaces",
2866
- heading: "Seus workspaces",
2867
- subtitle: "Selecione um workspace para continuar ou crie um novo.",
2868
- searchPlaceholder: "Pesquisar um workspace",
2869
- new: "Novo workspace",
2870
- current: "Workspace atual",
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",
2871
3026
  manage: "Gerenciar",
2872
- emptyTitle: "Nenhum workspace ainda",
2873
- emptyDescription: "Crie seu primeiro workspace para começar.",
2874
- noMatches: "Nenhum workspace corresponde à sua pesquisa.",
3027
+ emptyTitle: "Nenhuma organização ainda",
3028
+ emptyDescription: "Crie sua primeira organização para começar.",
3029
+ noMatches: "Nenhuma organização corresponde à sua pesquisa.",
2875
3030
  },
2876
3031
  organization: {
2877
3032
  roles: {
@@ -2956,6 +3111,7 @@ const pt = {
2956
3111
  readOnlyNote: "Somente proprietários podem alterar as configurações.",
2957
3112
  nameLabel: "Nome da organização",
2958
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.",
2959
3115
  logoLabel: "Logo",
2960
3116
  logoUpload: "Enviar",
2961
3117
  logoReplace: "Substituir",
@@ -3030,8 +3186,14 @@ const pt = {
3030
3186
  noPendingApprovals: "Sem aprovações pendentes",
3031
3187
  openApprovalsInbox: "Abrir caixa de aprovações",
3032
3188
  badgeTotal: "{{total}} no total",
3033
- badgeNotifications: "{{unread}} notificações",
3034
- badgeApprovals: "{{approvals}} aprovações pendentes",
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",
3035
3197
  arrivalMany: "{{count}} novas mensagens",
3036
3198
  arrivalMany_one: "{{count}} nova mensagem",
3037
3199
  arrivalMany_many: "{{count}} de novas mensagens",
@@ -3078,10 +3240,10 @@ const pt = {
3078
3240
  body: 'A superfície MCP está desligada (OS_MCP_SERVER_ENABLED=false). Peça ao operador para reativá-la.',
3079
3241
  },
3080
3242
  url: {
3081
- title: 'Endpoint MCP deste ambiente',
3243
+ title: 'Endpoint MCP deste sistema',
3082
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.',
3083
3245
  downloadSkill: 'Baixar SKILL.md',
3084
- skillHint: 'A skill portátil do agente: ensina qualquer agente compatível a trabalhar com este ambiente.',
3246
+ skillHint: 'A skill portátil do agente: ensina qualquer agente compatível a trabalhar com este sistema.',
3085
3247
  },
3086
3248
  claude: {
3087
3249
  body: 'Configurações → Conectores → Adicionar conector personalizado, cole esta URL e faça login no navegador.',
@@ -3125,15 +3287,8 @@ const pt = {
3125
3287
  importAction: "Importar",
3126
3288
  dismiss: "Dispensar",
3127
3289
  },
3128
- cloudOnboarding: {
3129
- hintCreate: "Crie seu primeiro ambiente — um espaço de trabalho privado com URL, banco de dados e plano próprios. A construção acontece dentro dele.",
3130
- hintReady: "Seu ambiente de produção está pronto. Abra-o para criar e executar seus aplicativos — tudo acontece dentro do ambiente.",
3131
- createEnvironment: "Crie seu ambiente",
3132
- openProduction: "Abrir produção",
3133
- manageEnvironments: "Gerenciar ambientes",
3134
- },
3135
- cloudPlanStatus: {
3136
- current: "Plano atual",
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.",
3137
3292
  },
3138
3293
  ai: {
3139
3294
  nlQuery: {
@@ -3212,8 +3367,8 @@ const pt = {
3212
3367
  rowConversational: "Modelo Build / Ask",
3213
3368
  rowStructured: "Estruturado (blueprint / seed)",
3214
3369
  rowReasoning: "Esforço de raciocínio",
3215
- readFailed: "Não foi possível ler o modelo de IA efetivo. Este ambiente pode não executar um serviço de IA, ou você pode não ter a permissão ai:read.",
3216
- readFailedWithStatus: "Não foi possível ler o modelo de IA efetivo (HTTP {{status}}). Este ambiente pode não executar um serviço de IA, ou você pode não ter a permissão ai:read.",
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.",
3217
3372
  overridesInEffect: "Substituições em vigor: ",
3218
3373
  noOverrides: "nenhuma — usando os padrões do código implantado.",
3219
3374
  adapter: "Adaptador: ",
@@ -3231,9 +3386,13 @@ const pt = {
3231
3386
  // against). `humanizeToolName` looks each up as
3232
3387
  // `chatbot.tool.<tool_name>` and falls back to its English
3233
3388
  // title-caser for a custom / third-party tool, so a name
3234
- // missing here is degraded, never broken. The `en` values
3235
- // are deliberately EQUAL to what that title-caser produces:
3236
- // adding the key must not silently reword the English UI.
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.
3237
3396
  // `toolState.*` — the card-header badge + activity-chip vocabulary. ONE
3238
3397
  // set for both surfaces (they used to carry separate
3239
3398
  // tables and disagreed on casing).
@@ -3251,42 +3410,48 @@ const pt = {
3251
3410
  // pin advances, `chatbotToolLabels-locale-parity-7481` starts checking them
3252
3411
  // against the registry instead of against its own hand-held list.
3253
3412
  chatbot: {
3413
+ answer: {
3414
+ showFull: 'Mostrar resposta completa',
3415
+ collapse: 'Recolher',
3416
+ expandTable: 'Expandir',
3417
+ exitExpandedTable: 'Fechar',
3418
+ },
3254
3419
  tool: {
3255
- aggregate_data: "Resumir dados",
3256
- get_record: "Obter registro",
3257
- query_data: "Consultar dados",
3258
- query_records: "Consultar registros",
3259
- search_knowledge: "Pesquisar na base de conhecimento",
3260
- visualize_data: "Criar gráfico",
3261
- add_field: "Adicionar campo",
3262
- apply_blueprint: "Construir o aplicativo",
3263
- apply_edit: "Aplicar alterações",
3264
- create_metadata: "Criar metadados",
3265
- create_object: "Criar objeto",
3266
- create_package: "Criar pacote",
3267
- create_seed: "Gerar dados de exemplo",
3268
- delete_field: "Excluir campo",
3269
- describe_metadata: "Consultar metadados",
3270
- describe_object: "Consultar a estrutura do objeto",
3271
- get_active_package: "Obter o pacote ativo",
3272
- get_authoring_rules: "Ler as regras de autoria",
3273
- get_metadata_schema: "Obter o esquema de metadados",
3274
- get_package: "Obter pacote",
3275
- list_metadata: "Listar metadados",
3276
- list_objects: "Listar objetos",
3277
- list_packages: "Listar pacotes",
3278
- load_tools: "Carregar ferramentas",
3279
- modify_field: "Modificar campo",
3280
- open_record: "Abrir registro",
3281
- propose_blueprint: "Projetar o plano do aplicativo",
3282
- set_active_package: "Trocar o pacote ativo",
3283
- suggest_builder: "Sugerir como construir",
3284
- test_flow: "Testar o fluxo",
3285
- todo_write: "Anotar tarefas",
3286
- toggle_flow: "Ativar ou desativar o fluxo",
3287
- update_metadata: "Atualizar metadados",
3288
- validate_expression: "Validar expressão",
3289
- verify_build: "Verificar a construção",
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",
3290
3455
  },
3291
3456
  toolState: {
3292
3457
  agentActivity: "Atividade do agente",
@@ -3299,6 +3464,16 @@ const pt = {
3299
3464
  denied: "Negado",
3300
3465
  failed: "Falhou",
3301
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
+ },
3302
3477
  plan: {
3303
3478
  countObjects: "{{count}} objetos",
3304
3479
  countObjects_one: "{{count}} objeto",
@@ -3313,10 +3488,17 @@ const pt = {
3313
3488
  countDashboards_many: "{{count}} de painéis",
3314
3489
  countDashboards_other: "{{count}} painéis",
3315
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}}",
3316
3497
  },
3317
3498
  build: {
3318
3499
  building: "Criando {{app}}…",
3319
3500
  built: "Criação de {{app}} concluída",
3501
+ builtAndLive: "Criado e publicado · {{app}}",
3320
3502
  appFallback: "seu aplicativo",
3321
3503
  addingSampleData: "adicionando dados de exemplo",
3322
3504
  group: {
@@ -3327,6 +3509,46 @@ const pt = {
3327
3509
  seed: "Dados de exemplo",
3328
3510
  },
3329
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
+ },
3330
3552
  },
3331
3553
  },
3332
3554
  chatbotError: {
@@ -3342,10 +3564,13 @@ const pt = {
3342
3564
  buyCredits: "Comprar um pacote de créditos",
3343
3565
  upgradePlan: "Fazer upgrade do plano",
3344
3566
  },
3567
+ planTier: {
3568
+ teamAndUp: "A partir do plano Team",
3569
+ },
3345
3570
  environment: {
3346
- addEnvironment: "Adicionar ambiente",
3347
3571
  setUpProduction: "Configure seu ambiente de produção",
3348
3572
  addDevelopment: "Adicionar ambiente de desenvolvimento",
3573
+ developmentLocked: "Ambientes de desenvolvimento · {{tier}}",
3349
3574
  // Plan/capacity dialog (EnvironmentEntitlementDialog) — cloud#959.
3350
3575
  entitlement: {
3351
3576
  productionLimitTitle: "Você já tem seu ambiente de produção",
@@ -3393,7 +3618,7 @@ const pt = {
3393
3618
  },
3394
3619
  unbound: {
3395
3620
  title: "Não conectado",
3396
- body: "Conecte este runtime a um plano de controle do ObjectStack para explorar os pacotes privados da sua organização e instalá-los aqui. A aprovação é um único clique na sua conta da nuvem — nenhum id ou credencial é digitado nesta página.",
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.",
3397
3622
  connect: "Conectar",
3398
3623
  },
3399
3624
  },
@@ -3406,6 +3631,13 @@ const pt = {
3406
3631
  dismiss: "Dispensar",
3407
3632
  confirmedToast: "\"{{set}}\" agora está concedido a {{anchor}}.",
3408
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.",
3409
3641
  },
3410
3642
  title: "Marketplace de aplicativos",
3411
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.",
@@ -3419,21 +3651,26 @@ const pt = {
3419
3651
  noMatchFilters: "Nenhum aplicativo corresponde aos seus filtros.",
3420
3652
  noDescription: "Sem descrição disponível.",
3421
3653
  back: "Voltar ao marketplace",
3422
- installedTitle: "Aplicativos instalados",
3423
- installedSubtitle: "Pacotes do marketplace atualmente instalados no kernel deste runtime.",
3424
- installedEmpty: "Nenhum aplicativo do marketplace instalado neste runtime ainda.",
3425
3654
  browseLink: "Explorar marketplace →",
3426
- installedAdditiveNote: "<strong>Nota:</strong> A API do kernel é apenas aditiva — desinstalar remove o manifesto do disco para que o pacote não seja carregado na próxima inicialização, mas o kernel em execução mantém o aplicativo registrado até reiniciar.",
3427
- installedAt: "Instalado {{when}}",
3428
- installedBy: "por {{user}}",
3429
- installedPackageId: "Pacote",
3430
- 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.",
3431
3656
  versionBadge: "v{{version}}",
3432
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
+ },
3433
3665
  load: {
3434
3666
  failed: "Não foi possível carregar o marketplace",
3435
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.",
3436
- failedHintSameOrigin: "Este runtime serve o catálogo do marketplace por conta própria. Verifique se o runtime está online.",
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}}).",
3437
3674
  packageFailed: "Não foi possível carregar o pacote",
3438
3675
  notFound: "Não encontrado.",
3439
3676
  },
@@ -3477,6 +3714,7 @@ const pt = {
3477
3714
  working: "Processando…",
3478
3715
  installToCloud: "Instalar na nuvem…",
3479
3716
  installing: "Instalando…",
3717
+ updating: "Atualizando…",
3480
3718
  uninstall: "Desinstalar",
3481
3719
  uninstalling: "Desinstalando…",
3482
3720
  details: "Detalhes",
@@ -3494,15 +3732,45 @@ const pt = {
3494
3732
  environmentPlaceholder: "Selecionar ambiente",
3495
3733
  includeSampleData: "Incluir dados de amostra",
3496
3734
  noEnvs: "Nenhum ambiente encontrado em sua organização ativa.",
3497
- 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.",
3498
3736
  signInFirst: "Você deve primeiro fazer login no ObjectStack Cloud.",
3499
3737
  success: "Instalado com sucesso. Abra o ambiente para ver o novo aplicativo.",
3500
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á.",
3501
3740
  localManifestConflict: "{{message}}\nNota: Um aplicativo local já possui este manifest_id. Remova-o primeiro de objectstack.config.ts.",
3502
3741
  localUnauthorized: "Faça login neste runtime primeiro.",
3503
3742
  localMarketplaceUnavailable: "Este runtime não tem OS_CLOUD_URL configurado.",
3504
3743
  updateTo: "Atualizar → v{{version}}",
3505
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.",
3506
3774
  },
3507
3775
  // objectui#3546 — the MarketplacePage "Your organization" strip.
3508
3776
  org: {
@@ -3535,9 +3803,11 @@ const pt = {
3535
3803
  },
3536
3804
  },
3537
3805
  uninstall: {
3538
- confirm: "Desinstalar {{manifestId}} v{{version}} deste runtime?\n\nO manifesto em cache será removido.",
3539
- successInList: "{{manifestId}} removido. Reinicie o runtime para descarregá-lo completamente.",
3540
- successInDetail: "Manifesto em cache para {{manifestId}} removido.",
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.",
3541
3811
  },
3542
3812
  accessDenied: {
3543
3813
  title: "Marketplace somente para administradores",
@@ -3617,6 +3887,7 @@ const pt = {
3617
3887
  progressEligible_other: '{{count}} aprovadores elegíveis',
3618
3888
  progressBar: 'Progresso da decisão',
3619
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.',
3620
3891
  attachmentChip: 'Anexo',
3621
3892
  attachmentOpenFailed: 'Não foi possível abrir o anexo — tente novamente',
3622
3893
  approveOneTitle: 'Aprovar "{{title}}"?',
@@ -3683,6 +3954,10 @@ const pt = {
3683
3954
  emptyPending: 'Tudo em dia — nada aguarda sua aprovação.',
3684
3955
  emptyOther: 'Nada por aqui ainda.',
3685
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",
3686
3961
  noMatches: 'Nenhum resultado com os filtros atuais.',
3687
3962
  keyboardHint: 'Teclado: j/k mover · Enter abrir · x selecionar · a aprovar · r rejeitar',
3688
3963
  drawerTitle: 'Solicitação de aprovação',
@@ -3700,12 +3975,12 @@ const pt = {
3700
3975
  overrideActionLabel: '{{action}} (substituição)',
3701
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.',
3702
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}}.',
3703
3982
  viaOverrideChip: 'Substituição de administrador',
3704
3983
  viaOverrideHint: 'Quem agiu não ocupava vaga de aprovador nesta etapa — admitido pela via de substituição de administrador.',
3705
- rawData: 'Dados brutos (JSON)',
3706
- copy: 'Copiar',
3707
- copied: 'Copiado',
3708
- copyFailed: 'Falha ao copiar',
3709
3984
  overrideActor: 'Agir como outra identidade (admin)',
3710
3985
  actor: 'Ator',
3711
3986
  auto: 'Auto',
@@ -3794,6 +4069,10 @@ const pt = {
3794
4069
  publishing: 'Publicando…',
3795
4070
  exit: 'Sair da pré-visualização',
3796
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',
3797
4076
  },
3798
4077
  changes: {
3799
4078
  title: 'Alterações pendentes',
@@ -3811,7 +4090,71 @@ const pt = {
3811
4090
  confirmNote_one: 'Publicar libera atomicamente {{count}} rascunho pendente deste pacote.',
3812
4091
  confirmNote_many: 'Publicar libera atomicamente todos os {{count}} de rascunhos pendentes deste pacote.',
3813
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.',
3814
4099
  publishConfirm: 'Publicar tudo',
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',
3815
4158
  // [`7a90afdf9`] Pre-publish security-posture findings, shown next to
3816
4159
  // the confirm button so a refusal the door would issue is read BEFORE
3817
4160
  // the click rather than as a toast after the batch rolled back.
@@ -3894,6 +4237,10 @@ const pt = {
3894
4237
  exists: "Está definido",
3895
4238
  notExists: "Não está definido",
3896
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
+ },
3897
4244
  },
3898
4245
  sortBuilder: {
3899
4246
  sortBy: "Ordenar por",
@@ -4011,6 +4358,8 @@ const pt = {
4011
4358
  setDefaultFailed: "Falha ao definir o aplicativo padrão: {{reason}}",
4012
4359
  appDeleted: "{{name}} excluído",
4013
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",
4014
4363
  bulkEnabled: "{{n}} aplicativos habilitados",
4015
4364
  bulkDisabled: "{{n}} aplicativos desabilitados",
4016
4365
  bulkFailed: "Falha em {{n}}: {{details}}",
@@ -4035,6 +4384,7 @@ const pt = {
4035
4384
  toggleLabel: "Ativação de {{label}}",
4036
4385
  on: "Ativado",
4037
4386
  off: "Desativado",
4387
+ notRunning: "Não está em execução aqui",
4038
4388
  clone: "Clonar",
4039
4389
  cloneTitle: "Clonar fluxo do pacote",
4040
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.",
@@ -4043,6 +4393,9 @@ const pt = {
4043
4393
  cancel: "Cancelar",
4044
4394
  cloneConfirm: "Criar clone",
4045
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',
4046
4399
  emptyTitle: "Nenhum fluxo de pacote",
4047
4400
  emptyBody: "Nenhum pacote instalado fornece um fluxo de automação nesta implantação. Os fluxos que você mesmo cria ficam no Studio.",
4048
4401
  loadFailed: "Não foi possível carregar a automação de pacotes.",
@@ -4050,6 +4403,7 @@ const pt = {
4050
4403
  toggleFailed: "Não foi possível alterar a ativação.",
4051
4404
  cloneFailedHttp: "Não foi possível clonar este fluxo (HTTP {{status}}).",
4052
4405
  cloneFailed: "Não foi possível clonar este fluxo.",
4406
+ reasonDetails: "Detalhes",
4053
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.",
4054
4408
  colAction: "Ação",
4055
4409
  colObject: "Objeto",
@@ -4060,7 +4414,84 @@ const pt = {
4060
4414
  },
4061
4415
  element: {
4062
4416
  number: {
4063
- noObject: "Nenhum objeto indicado: defina object ou dataSource.object.",
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}}.",
4064
4495
  },
4065
4496
  },
4066
4497
  };