pgkiln 0.83.0 → 0.85.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/db/migrations/154_notifications.sql +186 -0
- package/docs/apex-feature-parity.md +3 -2
- package/docs/guide/03-builder.md +16 -5
- package/docs/guide/04-pages-and-regions.md +42 -0
- package/docs/guide/06-processing.md +22 -1
- package/docs/guide/07-dynamic-actions.md +1 -0
- package/docs/guide/09-reference.md +15 -0
- package/docs/guide/11-from-apex.md +1 -0
- package/docs/guide/12-development.md +13 -1
- package/package.json +1 -1
- package/public/app.css +29 -0
- package/public/app.js +78 -0
- package/public/sw.js +5 -1
- package/src/app.ts +11 -0
- package/src/builder/ai-agents.ts +86 -85
- package/src/builder/ai-builder.ts +30 -30
- package/src/builder/ai.ts +93 -92
- package/src/builder/api.ts +47 -47
- package/src/builder/app-groups.ts +33 -32
- package/src/builder/appfromfile.ts +57 -58
- package/src/builder/appsheets.ts +33 -32
- package/src/builder/appwizard.ts +65 -65
- package/src/builder/arrange.ts +23 -22
- package/src/builder/assistant.ts +39 -38
- package/src/builder/automations.ts +32 -31
- package/src/builder/availability.ts +24 -24
- package/src/builder/backups.ts +30 -31
- package/src/builder/blueprints.ts +62 -61
- package/src/builder/code-editor.ts +1 -1
- package/src/builder/components.ts +10 -6
- package/src/builder/create-page.ts +52 -50
- package/src/builder/cross-app.ts +37 -35
- package/src/builder/dataload.ts +2 -2
- package/src/builder/datasets.ts +107 -106
- package/src/builder/dependencies.ts +20 -19
- package/src/builder/designer.ts +36 -36
- package/src/builder/diagnostics.ts +58 -57
- package/src/builder/features.ts +39 -35
- package/src/builder/feedback.ts +23 -20
- package/src/builder/find-workspace.ts +28 -24
- package/src/builder/form-designer.ts +36 -35
- package/src/builder/gallery.ts +25 -29
- package/src/builder/globalization.ts +50 -49
- package/src/builder/i18n/de.ts +3461 -0
- package/src/builder/i18n/en.ts +3461 -0
- package/src/builder/i18n/es.ts +3461 -0
- package/src/builder/i18n/fr.ts +3461 -0
- package/src/builder/i18n/it.ts +3461 -0
- package/src/builder/i18n/ja.ts +3461 -0
- package/src/builder/i18n/ko.ts +3461 -0
- package/src/builder/i18n/nl.ts +3461 -0
- package/src/builder/i18n/pt.ts +3461 -0
- package/src/builder/i18n/zh-cn.ts +3461 -0
- package/src/builder/i18n/zh-tw.ts +3461 -0
- package/src/builder/i18n.ts +17 -3
- package/src/builder/json-sources.ts +63 -62
- package/src/builder/layouts.ts +12 -11
- package/src/builder/locks.ts +29 -28
- package/src/builder/login-page.ts +26 -25
- package/src/builder/mail.ts +148 -147
- package/src/builder/newapp.ts +15 -12
- package/src/builder/notification-settings.ts +27 -0
- package/src/builder/plugins.ts +47 -44
- package/src/builder/process-jobs.ts +11 -10
- package/src/builder/pwa.ts +22 -21
- package/src/builder/remote-databases.ts +55 -56
- package/src/builder/report-settings.ts +1 -1
- package/src/builder/reporter.ts +43 -42
- package/src/builder/rest-catalogs.ts +87 -86
- package/src/builder/rest.ts +9 -8
- package/src/builder/routes.ts +30 -27
- package/src/builder/search.ts +14 -13
- package/src/builder/static-files.ts +31 -32
- package/src/builder/subscriptions.ts +47 -45
- package/src/builder/supporting.ts +23 -18
- package/src/builder/team.ts +179 -179
- package/src/builder/telemetry.ts +59 -62
- package/src/builder/templates.ts +66 -65
- package/src/builder/themeroller.ts +60 -63
- package/src/builder/ui-defaults.ts +21 -20
- package/src/builder/ui.ts +2 -1
- package/src/builder/upgrade.ts +25 -24
- package/src/builder/utilities.ts +48 -47
- package/src/builder/vector-providers.ts +67 -66
- package/src/builder/websources.ts +43 -42
- package/src/builder/wizards.ts +95 -89
- package/src/builder/workflow-migrate.ts +30 -31
- package/src/builder/workflows.ts +40 -39
- package/src/builder/workingcopies.ts +41 -49
- package/src/builder/workspace-backups.ts +21 -20
- package/src/builder/workspace-mail.ts +17 -16
- package/src/builder/workspace-resources.ts +104 -112
- package/src/builder/workspace-transfer.ts +34 -26
- package/src/cli/replace.ts +2 -0
- package/src/i18n/ar.ts +9 -0
- package/src/i18n/cs.ts +9 -0
- package/src/i18n/da.ts +9 -0
- package/src/i18n/de.ts +9 -0
- package/src/i18n/el.ts +9 -0
- package/src/i18n/es.ts +9 -0
- package/src/i18n/fi.ts +9 -0
- package/src/i18n/fr.ts +9 -0
- package/src/i18n/he.ts +9 -0
- package/src/i18n/it.ts +9 -0
- package/src/i18n/ja.ts +9 -0
- package/src/i18n/ko.ts +9 -0
- package/src/i18n/nb.ts +9 -0
- package/src/i18n/pl.ts +9 -0
- package/src/i18n/pt.ts +9 -0
- package/src/i18n/ru.ts +9 -0
- package/src/i18n/sv.ts +9 -0
- package/src/i18n/tr.ts +9 -0
- package/src/i18n/uk.ts +9 -0
- package/src/i18n/zh.ts +9 -0
- package/src/i18n.ts +18 -0
- package/src/metadata.ts +9 -3
- package/src/runtime/engine.ts +2 -1
- package/src/runtime/feedback.ts +1 -1
- package/src/runtime/lists.ts +43 -11
- package/src/runtime/notifications.ts +237 -0
- package/src/runtime/processes.ts +45 -1
- package/src/runtime/regions.ts +11 -15
- package/src/runtime/render.ts +12 -3
- package/src/runtime/routes.ts +12 -4
- package/src/runtime/signin.ts +2 -1
- package/src/session.ts +13 -4
package/src/builder/i18n/pt.ts
CHANGED
|
@@ -4049,4 +4049,3465 @@ export const pt: BuilderMessages = {
|
|
|
4049
4049
|
'docv.view': 'View',
|
|
4050
4050
|
'docv.doc_column': 'Coluna do documento',
|
|
4051
4051
|
'docv.intro': 'Uma view de documentos mostra cada linha de {table} com as suas linhas filhas como um único documento JSON, como uma JSON Relational Duality View da Oracle. Relatórios, REST (AutoREST sobre a view) e MCP leem documentos inteiros; um update da coluna do documento escreve a linha e os seus filhos numa instrução. Aplicam-se a segurança em nível de linha e as permissões da tabela (a view é security_invoker e recebe as permissões da tabela).',
|
|
4052
|
+
// ------------------------------------------------------------ Team Development (sprint 164)
|
|
4053
|
+
'tm.team_development': 'Desenvolvimento em Equipe',
|
|
4054
|
+
'tm.you_are_not_a_developer': 'Você não é desenvolvedor de nenhum workspace: o Desenvolvimento em Equipe pertence a um workspace.',
|
|
4055
|
+
'tm.search': 'Pesquisar',
|
|
4056
|
+
'tm.clear': 'Limpar',
|
|
4057
|
+
'tm.title': 'Título',
|
|
4058
|
+
'tm.description': 'Descrição',
|
|
4059
|
+
'tm.milestone': 'Marco',
|
|
4060
|
+
'tm.application': 'Aplicação',
|
|
4061
|
+
'tm.page_number': 'Número da página',
|
|
4062
|
+
'tm.a_page_of_the_application': 'Uma página da aplicação.',
|
|
4063
|
+
'tm.labels': 'Rótulos',
|
|
4064
|
+
'tm.set_up_team_development': 'configurar o Desenvolvimento em Equipe',
|
|
4065
|
+
'tm.add_labels': 'adicionar rótulos',
|
|
4066
|
+
'tm.assignees': 'Responsáveis',
|
|
4067
|
+
'tm.set_up_team_development_2': 'Configurar o Desenvolvimento em Equipe',
|
|
4068
|
+
'tm.mentions_of_you': 'Menções a você',
|
|
4069
|
+
'tm.nobody_mentioned_you_in_an': 'Ninguém mencionou você em um comentário não visto.',
|
|
4070
|
+
'tm.saved_views': 'Visões salvas',
|
|
4071
|
+
'tm.save_the_filters_you_use': 'Salve os filtros que você usa com frequência.',
|
|
4072
|
+
'tm.name_of_the_view': 'Nome da visão',
|
|
4073
|
+
'tm.quick_filters': 'Filtros rápidos',
|
|
4074
|
+
'tm.assigned_to_me': 'Atribuídas a mim',
|
|
4075
|
+
'tm.not_assigned': 'Não atribuídas',
|
|
4076
|
+
'tm.closed': 'Fechadas',
|
|
4077
|
+
'tm.board_by_label': 'Quadro por rótulo',
|
|
4078
|
+
'tm.board_by_milestone': 'Quadro por marco',
|
|
4079
|
+
'tm.move': 'Mover',
|
|
4080
|
+
'tm.no_issues': 'Nenhum issue.',
|
|
4081
|
+
'tm.start_from_a_template': 'Começar a partir de um modelo',
|
|
4082
|
+
'tm.use_template': 'Usar modelo',
|
|
4083
|
+
'tm.create_issue': 'Criar issue',
|
|
4084
|
+
'tm.cancel': 'Cancelar',
|
|
4085
|
+
'tm.no_description': 'Sem descrição.',
|
|
4086
|
+
'tm.activity': 'Atividade',
|
|
4087
|
+
'tm.canned_response': 'Resposta pronta',
|
|
4088
|
+
'tm.insert': 'Inserir',
|
|
4089
|
+
'tm.add_a_comment': 'Adicionar um comentário',
|
|
4090
|
+
'tm.markdown_name_mentions_a_developer': 'Markdown; @nome menciona um desenvolvedor deste workspace.',
|
|
4091
|
+
'tm.comment': 'Comentar',
|
|
4092
|
+
'tm.status': 'Status',
|
|
4093
|
+
'tm.none': 'Nenhum',
|
|
4094
|
+
'tm.nobody': 'Ninguém',
|
|
4095
|
+
'tm.from_feedback': 'A partir de feedback',
|
|
4096
|
+
'tm.from_a_developer_comment': 'A partir de um comentário de desenvolvedor',
|
|
4097
|
+
'tm.delete': 'Excluir',
|
|
4098
|
+
'tm.save': 'Salvar',
|
|
4099
|
+
'tm.name': 'Nome',
|
|
4100
|
+
'tm.colour': 'Cor',
|
|
4101
|
+
'tm.group': 'Grupo',
|
|
4102
|
+
'tm.edit': 'Editar',
|
|
4103
|
+
'tm.no_labels_in_this_group': 'Nenhum rótulo neste grupo.',
|
|
4104
|
+
'tm.delete_group': 'Excluir grupo',
|
|
4105
|
+
'tm.add_group': 'Adicionar grupo',
|
|
4106
|
+
'tm.the_board_groups_issues_by': 'O quadro agrupa as issues pelos rótulos de um grupo. Só os administradores do workspace excluem rótulos e grupos.',
|
|
4107
|
+
'tm.due': 'Prazo',
|
|
4108
|
+
'tm.no_milestones_yet': 'Ainda não há marcos.',
|
|
4109
|
+
'tm.kind': 'Tipo',
|
|
4110
|
+
'tm.issue_title': 'Título da issue',
|
|
4111
|
+
'tm.issue_templates_only': 'Só modelos de issue.',
|
|
4112
|
+
'tm.issue_templates_label_names_separated': 'Modelos de issue: nomes de rótulos separados por vírgulas.',
|
|
4113
|
+
'tm.text': 'Texto',
|
|
4114
|
+
'tm.markdown': 'Markdown.',
|
|
4115
|
+
'tm.use': 'Usar',
|
|
4116
|
+
'tm.none_yet': 'Ainda nenhum.',
|
|
4117
|
+
'tm.language': 'Idioma',
|
|
4118
|
+
'tm.install': 'Instalar',
|
|
4119
|
+
'tm.set_up': 'Configurar',
|
|
4120
|
+
'tm.new_issue': 'Nova issue',
|
|
4121
|
+
'tm.make_an_issue': 'Criar um issue',
|
|
4122
|
+
'tm.show': 'Mostrar',
|
|
4123
|
+
'tm.mark_all_as_seen': 'Marcar tudo como visto',
|
|
4124
|
+
'tm.save_view': 'Salvar visão',
|
|
4125
|
+
'tm.label': 'Rótulo',
|
|
4126
|
+
'tm.delete_issue': 'Excluir issue',
|
|
4127
|
+
'tm.edit_the_issue': 'Editar a issue',
|
|
4128
|
+
'tm.delete_label': 'Excluir rótulo',
|
|
4129
|
+
'tm.delete_milestone': 'Excluir marco',
|
|
4130
|
+
'tm.delete_template': 'Excluir modelo',
|
|
4131
|
+
'tm.filter_the_issues': 'Filtrar as issues',
|
|
4132
|
+
'tm.title_text_or_number': 'Título, texto ou #número',
|
|
4133
|
+
'tm.name_of_this_view': 'Nome desta visão',
|
|
4134
|
+
'tm.label_group': 'Grupo de rótulos',
|
|
4135
|
+
'tm.group_the_board_by': 'Agrupar o quadro por',
|
|
4136
|
+
'tm.e_g_area': 'p. ex. Área',
|
|
4137
|
+
'tm.open_issues_of_this_page': 'Issues abertas desta página',
|
|
4138
|
+
'tm.issue_saved': 'Issue salva.',
|
|
4139
|
+
'tm.a_comment_has_1_to': 'Um comentário tem de 1 a 20000 caracteres.',
|
|
4140
|
+
'tm.comment_added': 'Comentário adicionado.',
|
|
4141
|
+
'tm.a_view_has_a_name': 'Uma visão tem um nome de 1 a 40 caracteres.',
|
|
4142
|
+
'tm.view_deleted': 'Visão excluída.',
|
|
4143
|
+
'tm.mentions_marked_as_seen': 'Menções marcadas como vistas.',
|
|
4144
|
+
'tm.a_label_has_a_name': 'Um rótulo tem um nome de 1 a 40 caracteres.',
|
|
4145
|
+
'tm.a_group_has_a_name': 'Um grupo tem um nome de 1 a 40 caracteres.',
|
|
4146
|
+
'tm.a_milestone_has_a_name': 'Um marco tem um nome de 1 a 40 caracteres e uma data opcional.',
|
|
4147
|
+
'tm.a_template_has_a_name': 'Um modelo tem um nome de 1 a 60 caracteres e até 20000 caracteres de texto.',
|
|
4148
|
+
'tm.template_deleted': 'O modelo foi excluído.',
|
|
4149
|
+
'tm.an_issue_needs_a_title': 'Uma issue precisa de um título.',
|
|
4150
|
+
'tm.the_title_is_at_most': 'O título tem no máximo 200 caracteres.',
|
|
4151
|
+
'tm.the_text_is_at_most': 'O texto tem no máximo 20000 caracteres.',
|
|
4152
|
+
'tm.unknown_label': 'Rótulo desconhecido.',
|
|
4153
|
+
'tm.unknown_milestone': 'Marco desconhecido.',
|
|
4154
|
+
'tm.assignees_are_developers_of_this': 'Os responsáveis são desenvolvedores deste workspace.',
|
|
4155
|
+
'tm.the_application_is_not_one': 'A aplicação não é deste workspace.',
|
|
4156
|
+
'tm.the_page_is_a_page': 'A página é um número de página.',
|
|
4157
|
+
'tm.choose_the_application_of_the': 'Escolha a aplicação da página.',
|
|
4158
|
+
'tm.add_a_label': 'Adicionar um rótulo',
|
|
4159
|
+
'tm.add_a_label_group': 'Adicionar um grupo de rótulos',
|
|
4160
|
+
'tm.milestones': 'Marcos',
|
|
4161
|
+
'tm.add_a_milestone': 'Adicionar um marco',
|
|
4162
|
+
'tm.issue_templates': 'Modelos de issue',
|
|
4163
|
+
'tm.canned_responses': 'Respostas prontas',
|
|
4164
|
+
'tm.add_a_template': 'Adicionar um modelo',
|
|
4165
|
+
'tm.board': 'Quadro',
|
|
4166
|
+
'tm.templates': 'Modelos',
|
|
4167
|
+
'tm.counts_open': '{n} issues abertas',
|
|
4168
|
+
'tm.counts_open_1': '1 issue aberta',
|
|
4169
|
+
'tm.counts_mine': '{n} atribuídos a você',
|
|
4170
|
+
'tm.counts_mentions': '{n} menções a você',
|
|
4171
|
+
'tm.counts_mentions_1': '1 menção a você',
|
|
4172
|
+
'tm.tab.issues': 'Issues',
|
|
4173
|
+
'tm.tab.board': 'Quadro',
|
|
4174
|
+
'tm.tab.labels': 'Rótulos',
|
|
4175
|
+
'tm.tab.milestones': 'Marcos',
|
|
4176
|
+
'tm.tab.templates': 'Modelos',
|
|
4177
|
+
'tm.tab.setup': 'Configurar',
|
|
4178
|
+
'tm.body_help': 'Markdown: títulos, listas, `code`, links. Mencione um desenvolvedor com @nome: ele vê isso em Desenvolvimento em Equipe.',
|
|
4179
|
+
'tm.no_labels_or': 'Ainda não há rótulos: {setup} ou {add}.',
|
|
4180
|
+
'tm.no_labels': 'Ainda não há rótulos: {setup}.',
|
|
4181
|
+
'tm.new_here': 'Novo aqui? {setup}: rótulos de exemplo (Bug, Feature, Task; prioridades), modelos e marcos.',
|
|
4182
|
+
'tm.blank_issue': 'Issue em branco',
|
|
4183
|
+
'tm.status_closed': 'Fechado',
|
|
4184
|
+
'tm.status_open': 'Aberto',
|
|
4185
|
+
'tm.comment_reopen': 'Comentar e reabrir',
|
|
4186
|
+
'tm.comment_close': 'Comentar e fechar',
|
|
4187
|
+
'tm.reopen_issue': 'Reabrir issue',
|
|
4188
|
+
'tm.close_issue': 'Fechar issue',
|
|
4189
|
+
'tm.add_label': 'Adicionar rótulo',
|
|
4190
|
+
'tm.labels_no_group': 'Rótulos sem grupo',
|
|
4191
|
+
'tm.delete_label_confirm': 'Excluir o rótulo {name}? As issues perdem-no.',
|
|
4192
|
+
'tm.delete_group_confirm': 'Excluir o grupo {name}? Os rótulos ficam, sem grupo.',
|
|
4193
|
+
'tm.add_milestone': 'Adicionar marco',
|
|
4194
|
+
'tm.kind_issue': 'Modelo de issue',
|
|
4195
|
+
'tm.kind_response': 'Resposta pronta',
|
|
4196
|
+
'tm.add_template': 'Adicionar modelo',
|
|
4197
|
+
'tm.page_issues': '{n} issues abertas:',
|
|
4198
|
+
'tm.page_issues_1': '1 issue aberta:',
|
|
4199
|
+
'tm.all_n': 'todos os {n}',
|
|
4200
|
+
'tm.no_page': 'A aplicação não tem a página {page}.',
|
|
4201
|
+
'tm.created': 'Issue #{id} criada.',
|
|
4202
|
+
'tm.reopened': 'Issue #{id} reaberta.',
|
|
4203
|
+
'tm.deleted': 'Issue #{id} excluída.',
|
|
4204
|
+
'tm.view_saved': 'Visão {name} salva.',
|
|
4205
|
+
'tm.label_saved': 'Rótulo {name} salvo.',
|
|
4206
|
+
'tm.group_added': 'Grupo {name} adicionado.',
|
|
4207
|
+
'tm.group_exists': 'Já existe um grupo {name}.',
|
|
4208
|
+
'tm.label_deleted': 'O rótulo foi excluído.',
|
|
4209
|
+
'tm.group_deleted': 'O grupo de rótulos foi excluído.',
|
|
4210
|
+
'tm.milestone_deleted': 'O marco foi excluído.',
|
|
4211
|
+
'tm.milestone_saved': 'Marco {name} salvo.',
|
|
4212
|
+
'tm.template_saved': 'Modelo {name} salvo.',
|
|
4213
|
+
'tm.setup_done': 'Configurado: {groups} grupo(s) de rótulos, {labels} rótulo(s), {templates} modelo(s) e {milestones} marco(s) adicionados.',
|
|
4214
|
+
'tm.created_feedback': 'Issue #{id} criada a partir do feedback.',
|
|
4215
|
+
'tm.created_comment': 'Issue #{id} criada a partir do comentário.',
|
|
4216
|
+
'tm.no_milestone': 'Sem marco',
|
|
4217
|
+
'tm.none_of_these': 'Nenhum destes',
|
|
4218
|
+
'tm.other_labels': 'Outros rótulos',
|
|
4219
|
+
'tm.setup_intro': 'Instala dados de exemplo para {workspace}; o que já existe (pelo nome) é mantido, por isso pode executá-lo de novo.',
|
|
4220
|
+
'tm.this_workspace': 'este workspace',
|
|
4221
|
+
'tm.setup_labels': 'Grupos de rótulos e rótulos: {list}',
|
|
4222
|
+
'tm.setup_templates': 'Modelos: {list}; respostas prontas ({n})',
|
|
4223
|
+
'tm.setup_milestones': 'Marcos: {list}',
|
|
4224
|
+
'tm.issue_closed': 'Issue #{id} fechada.',
|
|
4225
|
+
// ------------------------------------------------------------ Mail services (sprint 164)
|
|
4226
|
+
'ml.only_with_sign_in_oauth2': '(só com Login: OAuth2)',
|
|
4227
|
+
'ml.advanced': 'Avançado',
|
|
4228
|
+
'ml.choose_another_provider': 'Escolher outro provedor',
|
|
4229
|
+
'ml.queued_utc': 'Na fila (UTC)',
|
|
4230
|
+
'ml.application': 'Aplicação',
|
|
4231
|
+
'ml.to': 'Para',
|
|
4232
|
+
'ml.subject': 'Assunto',
|
|
4233
|
+
'ml.from': 'De',
|
|
4234
|
+
'ml.attempts': 'Tentativas',
|
|
4235
|
+
'ml.status': 'Status',
|
|
4236
|
+
'ml.actions': 'Ações',
|
|
4237
|
+
'ml.no_mail_yet': 'Ainda não há e-mails.',
|
|
4238
|
+
'ml.only_administrators_configure_mail_services': 'Só administradores configuram serviços de e-mail.',
|
|
4239
|
+
'ml.mail_services': 'Serviços de e-mail',
|
|
4240
|
+
'ml.send_e_mail': 'Enviar e-mail',
|
|
4241
|
+
'ml.service': 'Serviço',
|
|
4242
|
+
'ml.provider': 'Provedor',
|
|
4243
|
+
'ml.senders': 'Remetentes',
|
|
4244
|
+
'ml.secret': 'Segredo',
|
|
4245
|
+
'ml.applications': 'Aplicações',
|
|
4246
|
+
'ml.its_applications_without_a_service': 'as suas aplicações sem serviço próprio',
|
|
4247
|
+
'ml.no_mail_services_yet': 'Ainda não há serviços de e-mail.',
|
|
4248
|
+
'ml.add_a_mail_service': 'Adicionar um serviço de e-mail',
|
|
4249
|
+
'ml.step_1_of_2_how': 'Passo 1 de 2: como as aplicações devem enviar e-mail?',
|
|
4250
|
+
'ml.change': 'Alterar',
|
|
4251
|
+
'ml.delete_service': 'Excluir serviço',
|
|
4252
|
+
'ml.the_applications_that_send_through': 'As aplicações que enviam por este serviço (cada aplicação tem um), o seu endereço De (vazio: o padrão do serviço) e um limite por dia (UTC; vazio: nenhum). Uma aplicação com outro serviço mostra-o.',
|
|
4253
|
+
'ml.sends_through_this_service': 'Envia por este serviço',
|
|
4254
|
+
'ml.from_address': 'Endereço De',
|
|
4255
|
+
'ml.mails_per_day': 'E-mails por dia',
|
|
4256
|
+
'ml.no_applications': 'Nenhuma aplicação.',
|
|
4257
|
+
'ml.save': 'Salvar',
|
|
4258
|
+
'ml.send_again': 'Enviar de novo',
|
|
4259
|
+
'ml.cancel': 'Cancelar',
|
|
4260
|
+
'ml.no_from_address': 'sem endereço De',
|
|
4261
|
+
'ml.it_may_not_send_mail': 'Ainda não pode enviar e-mail',
|
|
4262
|
+
'ml.show': 'Mostrar',
|
|
4263
|
+
'ml.find_my_workspace': 'Encontrar meu workspace',
|
|
4264
|
+
'ml.test_connection': 'Testar a conexão',
|
|
4265
|
+
'ml.send_test_mail': 'Enviar e-mail de teste',
|
|
4266
|
+
'ml.add_service': 'Adicionar serviço',
|
|
4267
|
+
'ml.tenant_id_microsoft_entra': 'ID do locatário (Microsoft Entra)',
|
|
4268
|
+
'ml.client_application_id': 'ID do cliente (aplicação)',
|
|
4269
|
+
'ml.token_url': 'URL do token',
|
|
4270
|
+
'ml.scope': 'Escopo',
|
|
4271
|
+
'ml.host': 'Host',
|
|
4272
|
+
'ml.port': 'Porta',
|
|
4273
|
+
'ml.security': 'Segurança',
|
|
4274
|
+
'ml.sign_in': 'Login',
|
|
4275
|
+
'ml.user_name': 'Nome de usuário',
|
|
4276
|
+
'ml.check_the_server_s_certificate': 'Verificar o certificado do servidor',
|
|
4277
|
+
'ml.keep_a_copy_in_the': 'Guardar uma cópia nos Itens enviados da caixa de correio',
|
|
4278
|
+
'ml.aws_region': 'Região da AWS',
|
|
4279
|
+
'ml.access_key_id': 'ID da chave de acesso',
|
|
4280
|
+
'ml.sending_domain': 'Domínio de envio',
|
|
4281
|
+
'ml.region': 'Região',
|
|
4282
|
+
'ml.message_stream': 'Fluxo de mensagens',
|
|
4283
|
+
'ml.remove_the_stored_secret': 'Remover o segredo guardado',
|
|
4284
|
+
'ml.name': 'Nome',
|
|
4285
|
+
'ml.description': 'Descrição',
|
|
4286
|
+
'ml.enabled': 'Ativado',
|
|
4287
|
+
'ml.allowed_senders': 'Remetentes permitidos',
|
|
4288
|
+
'ml.default_from_address': 'Endereço De padrão',
|
|
4289
|
+
'ml.api_base_url': 'URL base da API',
|
|
4290
|
+
'ml.send_a_test_mail_to': 'Enviar um e-mail de teste para',
|
|
4291
|
+
'ml.smtp_server': 'Servidor SMTP',
|
|
4292
|
+
'ml.microsoft_entra_application': 'Aplicação do Microsoft Entra',
|
|
4293
|
+
'ml.amazon_ses': 'Amazon SES',
|
|
4294
|
+
'ml.mailgun': 'Mailgun',
|
|
4295
|
+
'ml.postmark': 'Postmark',
|
|
4296
|
+
'ml.check_before_saving': 'Verificar antes de salvar',
|
|
4297
|
+
'ml.contoso_onmicrosoft_com_or_its': 'contoso.onmicrosoft.com ou o seu GUID',
|
|
4298
|
+
'ml.empty_microsoft_entra_of_the': 'vazio: Microsoft Entra do locatário',
|
|
4299
|
+
'ml.another_identity_provider_s_token': 'O endpoint de token de outro provedor de identidade (client credentials grant), p. ex. o do Google.',
|
|
4300
|
+
'ml.empty_587_starttls_or_465': 'Vazio: 587 (STARTTLS) ou 465 (TLS).',
|
|
4301
|
+
'ml.the_mailbox_e_g_noreply': 'a caixa de correio, p. ex. noreply@example.com',
|
|
4302
|
+
'ml.eu_west_1': 'eu-west-1',
|
|
4303
|
+
'ml.e_g_office365': 'p. ex. OFFICE365',
|
|
4304
|
+
'ml.upper_case_letters_digits_and': 'Letras maiúsculas, dígitos e _.',
|
|
4305
|
+
'ml.noreply_example_com_example_com': 'noreply@example.com, @example.com',
|
|
4306
|
+
'ml.the_from_addresses_this_service': 'Os endereços De com que este serviço pode enviar: um endereço, ou @domínio para todos os endereços de um domínio (o provedor também tem de os aceitar).',
|
|
4307
|
+
'ml.noreply_example_com': 'noreply@example.com',
|
|
4308
|
+
'ml.for_applications_that_set_none': 'Para aplicações que não definem nenhum.',
|
|
4309
|
+
'ml.empty_the_provider_s_own': 'vazio: a API do próprio provedor',
|
|
4310
|
+
'ml.a_gateway_or_proxy_that': 'Um gateway ou proxy que fala a API do provedor. Só administradores.',
|
|
4311
|
+
'ml.you_example_com': 'voce@example.com',
|
|
4312
|
+
'ml.one_of_the_allowed_senders': 'Um dos remetentes permitidos.',
|
|
4313
|
+
'ml.pgkiln_example_com': 'pgkiln@example.com',
|
|
4314
|
+
'ml.one_of_the_service_s': 'Um dos remetentes do serviço.',
|
|
4315
|
+
'ml.any_smtp_server_or_relay': 'Qualquer servidor ou relay SMTP. Login com senha ou com OAuth2 (Exchange Online, Google Workspace).',
|
|
4316
|
+
'ml.microsoft_365_through_the_graph': 'Microsoft 365 pela Graph API, como aplicação Entra com Mail.Send.',
|
|
4317
|
+
'ml.amazon_simple_email_service_api': 'Amazon Simple Email Service (API v2), com uma chave de acesso IAM.',
|
|
4318
|
+
'ml.resend_s_http_api_with': 'A API HTTP do Resend, com uma chave de API.',
|
|
4319
|
+
'ml.postmark_s_http_api_with': 'A API HTTP do Postmark, com um token de servidor.',
|
|
4320
|
+
'ml.sendgrid_s_http_api_with': 'A API HTTP do SendGrid, com uma chave de API.',
|
|
4321
|
+
'ml.mailgun_s_http_api_with': 'A API HTTP do Mailgun, com uma chave de API e um domínio de envio.',
|
|
4322
|
+
'ml.for_development_and_demos_the': 'Para desenvolvimento e demos: o servidor escreve cada e-mail no seu log e não envia nada.',
|
|
4323
|
+
'ml.starttls_required': 'STARTTLS (obrigatório)',
|
|
4324
|
+
'ml.tls_from_the_start_port': 'TLS desde o início (porta 465)',
|
|
4325
|
+
'ml.none_a_local_relay_only': 'Nenhuma (só um relay local)',
|
|
4326
|
+
'ml.user_name_and_password': 'Usuário e senha',
|
|
4327
|
+
'ml.oauth2_xoauth2_client_credentials': 'OAuth2 (XOAUTH2, client credentials)',
|
|
4328
|
+
'ml.none': 'Nenhum',
|
|
4329
|
+
'ml.all': 'Todos',
|
|
4330
|
+
'ml.queued': 'Na fila',
|
|
4331
|
+
'ml.sending': 'Enviando',
|
|
4332
|
+
'ml.sent': 'Enviado',
|
|
4333
|
+
'ml.error': 'Erro',
|
|
4334
|
+
'ml.cancelled': 'Cancelado',
|
|
4335
|
+
'ml.password_or_the_client_secret': 'Senha ou segredo do cliente (OAuth2)',
|
|
4336
|
+
'ml.client_secret': 'Segredo do cliente',
|
|
4337
|
+
'ml.secret_access_key': 'Chave de acesso secreta',
|
|
4338
|
+
'ml.server_token': 'Token de servidor',
|
|
4339
|
+
'ml.secret_not_used': 'Segredo (não usado)',
|
|
4340
|
+
'ml.stored_encrypted_never_shown_again': 'Guardado cifrado; nunca mais é mostrado.',
|
|
4341
|
+
'ml.the_check_failed': 'A verificação falhou.',
|
|
4342
|
+
'ml.builder_mail_saved_find_my': 'E-mail do builder salvo: «Encontrar meu workspace» envia por ele.',
|
|
4343
|
+
'ml.the_builder_sends_no_mail': 'O builder não envia e-mail agora.',
|
|
4344
|
+
'ml.not_saved_yet_fill_in': 'Ainda não salvo: preencha as configurações abaixo e salve para mudar.',
|
|
4345
|
+
'ml.add': 'Adicionar',
|
|
4346
|
+
'ml.the_mail_is_queued_again': 'O e-mail voltou para a fila.',
|
|
4347
|
+
'ml.the_mail_is_cancelled': 'O e-mail foi cancelado.',
|
|
4348
|
+
'ml.the_mail_has_changed_meanwhile': 'O e-mail mudou entretanto.',
|
|
4349
|
+
'ml.switch_off_only_for_a': 'Desligue só para um relay com certificado autoassinado na sua própria rede.',
|
|
4350
|
+
'ml.mail_service_added_choose_the': 'Serviço de e-mail adicionado. Escolha abaixo as aplicações que enviam por ele e teste-o.',
|
|
4351
|
+
'ml.mail_service_saved': 'Serviço de e-mail salvo.',
|
|
4352
|
+
'ml.applications_saved': 'Aplicações salvas.',
|
|
4353
|
+
'ml.mail_service_deleted': 'Serviço de e-mail excluído.',
|
|
4354
|
+
'ml.name_at_least_one_allowed': 'Indique pelo menos um remetente permitido (um endereço ou @domínio).',
|
|
4355
|
+
'ml.the_default_from_address_must': 'O endereço De padrão tem de ser um com que o serviço pode enviar.',
|
|
4356
|
+
'ml.choose_one_of_the_mail': 'Escolha um dos serviços de e-mail.',
|
|
4357
|
+
'ml.the_from_address_is_an': 'O endereço De é um endereço de e-mail, p. ex. pgkiln@example.com.',
|
|
4358
|
+
'ml.the_name_is_upper_case': 'O nome são letras maiúsculas, dígitos e _ (p. ex. OFFICE365).',
|
|
4359
|
+
'ml.not_found': 'Não encontrado.',
|
|
4360
|
+
'ml.mails_per_day_a_whole': 'E-mails por dia: um número inteiro de 0 ou mais (vazio: sem limite).',
|
|
4361
|
+
'ml.services': 'Serviços',
|
|
4362
|
+
'ml.recent_mail': 'E-mails recentes',
|
|
4363
|
+
'ml.settings': 'Configurações',
|
|
4364
|
+
'ml.mail': 'E-mail',
|
|
4365
|
+
'ml.builder_mail': 'E-mail do builder',
|
|
4366
|
+
'ml.mail_service': 'Serviço de e-mail',
|
|
4367
|
+
'ml.app_builder': 'App Builder',
|
|
4368
|
+
'ml.workspace_utilities': 'Utilitários do workspace',
|
|
4369
|
+
'ml.activity': 'Atividade',
|
|
4370
|
+
'ml.api_key': 'Chave de API',
|
|
4371
|
+
'ml.no_secret_key': 'O servidor não tem `PGKILN_SECRET_KEY`: os segredos não podem ser guardados até ser definida.',
|
|
4372
|
+
'ml.check_help': 'Usa as configurações acima tal como estão preenchidas, sem as salvar. Testar a conexão faz login (SMTP) ou uma chamada só de leitura com a chave; um e-mail de teste é realmente enviado.',
|
|
4373
|
+
'ml.check_help_secret': 'Usa as configurações acima tal como estão preenchidas, sem as salvar. Um campo de segredo vazio usa o segredo guardado. Testar a conexão faz login (SMTP) ou uma chamada só de leitura com a chave; um e-mail de teste é realmente enviado.',
|
|
4374
|
+
'ml.secret_unreadable': 'Não é possível ler o segredo guardado: {error}',
|
|
4375
|
+
'ml.test_to_missing': 'Indique o endereço para onde enviar o e-mail de teste.',
|
|
4376
|
+
'ml.from_not_allowed': 'O endereço De tem de ser um dos remetentes permitidos.',
|
|
4377
|
+
'ml.test_handed': 'O e-mail de teste foi entregue a {provider}. Verifique a caixa de correio de {to}.',
|
|
4378
|
+
'ml.test_handed_id': 'O e-mail de teste foi entregue a {provider} (o seu id: {id}). Verifique a caixa de correio de {to}.',
|
|
4379
|
+
'ml.intro': 'Como as aplicações desta instalação enviam e-mail (`meta.send_mail()` a partir de SQL, o processo {process}, modelos de e-mail). O e-mail é posto na fila na transação da aplicação e enviado pelo servidor após o commit. Escolha o serviço de cada aplicação na página do serviço.',
|
|
4380
|
+
'ml.may_not_send_as': 'O serviço {name} não pode enviar como {from}: adicione-o primeiro aos seus remetentes.',
|
|
4381
|
+
'ml.delete_confirm': 'Excluir o serviço de e-mail {name}? As suas aplicações não podem enviar e-mail até terem outro.',
|
|
4382
|
+
'ml.aria_from': 'Endereço De para {app}',
|
|
4383
|
+
'ml.aria_max': 'E-mails por dia para {app}',
|
|
4384
|
+
'ml.queue_intro': 'Os e-mails que esta aplicação pôs na fila (`meta.send_mail()`, o processo Enviar e-mail), guardados 30 dias.',
|
|
4385
|
+
'ml.sends_through': 'Envia por {service} ({provider}) como {from}; hoje: {today}.',
|
|
4386
|
+
'ml.sends_through_max': 'Envia por {service} ({provider}) como {from}; hoje: {today} de {max}.',
|
|
4387
|
+
'ml.disabled_l': 'desativado',
|
|
4388
|
+
'ml.no_service_admin': '{none}: um administrador escolhe o seu serviço de e-mail em {link}.',
|
|
4389
|
+
'ml.no_service': '{none}: um administrador escolhe o seu serviço de e-mail.',
|
|
4390
|
+
'ml.mail_of': 'E-mail · {app}',
|
|
4391
|
+
'ml.builder_intro': 'O serviço pelo qual o próprio builder envia: {find} na página de login envia aos desenvolvedores os seus workspaces (para o endereço da conta). Nenhum: o builder não envia e-mail.',
|
|
4392
|
+
// ------------------------------------------------------------ Workspace mail service (sprint 164)
|
|
4393
|
+
'wml.workspace_mail_service': 'Serviço de e-mail do workspace',
|
|
4394
|
+
'wml.only_the_workspace_s_administrators': 'Só os administradores do workspace gerem o seu serviço de e-mail.',
|
|
4395
|
+
'wml.network_access': 'acesso à rede',
|
|
4396
|
+
'wml.change': 'Alterar',
|
|
4397
|
+
'wml.delete_service': 'Excluir serviço',
|
|
4398
|
+
'wml.application': 'Aplicação',
|
|
4399
|
+
'wml.sends_through': 'Envia por',
|
|
4400
|
+
'wml.chosen_by_an_administrator': '(escolhido por um administrador)',
|
|
4401
|
+
'wml.nothing_yet': 'nada ainda',
|
|
4402
|
+
'wml.no_applications': 'Nenhuma aplicação.',
|
|
4403
|
+
'wml.delete_this_workspace_s_mail': 'Excluir o serviço de e-mail deste workspace? As suas aplicações sem serviço próprio não poderão enviar e-mail.',
|
|
4404
|
+
'wml.provider': 'Provedor',
|
|
4405
|
+
'wml.not_saved_yet_fill_in': 'Ainda não salvo: preencha as configurações abaixo e salve para mudar.',
|
|
4406
|
+
'wml.mail_service_saved': 'Serviço de e-mail salvo.',
|
|
4407
|
+
'wml.mail_service_added_send_a': 'Serviço de e-mail adicionado: envie um e-mail de teste para o verificar.',
|
|
4408
|
+
'wml.mail_service_deleted': 'Serviço de e-mail excluído.',
|
|
4409
|
+
'wml.there_was_no_mail_service': 'Não havia serviço de e-mail.',
|
|
4410
|
+
'wml.settings': 'Configurações',
|
|
4411
|
+
'wml.applications': 'Aplicações',
|
|
4412
|
+
'wml.administration': 'Administração',
|
|
4413
|
+
'wml.mail_service': 'Serviço de e-mail',
|
|
4414
|
+
'wml.title': 'Serviço de e-mail · {workspace}',
|
|
4415
|
+
'wml.intro': 'O serviço de e-mail próprio deste workspace: as suas aplicações a que um administrador não deu serviço próprio enviam por ele ({fn}, o processo Enviar e-mail). O segredo é guardado cifrado e nunca mais é mostrado. Usa a API do próprio provedor; um servidor SMTP tem de estar na lista de permissões da instalação e na lista de {network} deste workspace.',
|
|
4416
|
+
// ------------------------------------------------------------ Data Reporter datasets (sprint 164)
|
|
4417
|
+
'dts.data_reporter': 'Data Reporter',
|
|
4418
|
+
'dts.dataset': 'Conjunto de dados',
|
|
4419
|
+
'dts.schema': 'Esquema',
|
|
4420
|
+
'dts.tables_and_views': 'Tabelas e views',
|
|
4421
|
+
'dts.columns': 'Colunas',
|
|
4422
|
+
'dts.updated_utc': 'Atualizado (UTC)',
|
|
4423
|
+
'dts.actions': 'Ações',
|
|
4424
|
+
'dts.no_datasets_yet_create_one': 'Ainda não há conjuntos de dados: crie um sobre tabelas e views de um esquema ou importe um arquivo de conjunto de dados.',
|
|
4425
|
+
'dts.application': 'Aplicação',
|
|
4426
|
+
'dts.datasets': 'Conjuntos de dados',
|
|
4427
|
+
'dts.users': 'Usuários',
|
|
4428
|
+
'dts.published_reports': 'Relatórios publicados',
|
|
4429
|
+
'dts.no_reporting_applications_yet_choose': 'Ainda não há aplicações de relatórios: escolha Criar aplicação de relatórios num conjunto de dados.',
|
|
4430
|
+
'dts.new_dataset': 'Novo conjunto de dados',
|
|
4431
|
+
'dts.show_its_tables_and_views': 'Mostrar as suas tabelas e views',
|
|
4432
|
+
'dts.tables_and_views_the_first': 'Tabelas e views (a primeira é a principal)',
|
|
4433
|
+
'dts.the_schema_has_no_tables': 'O esquema não tem tabelas nem views que possa usar.',
|
|
4434
|
+
'dts.joins_are_proposed_from_foreign': 'Os joins são propostos a partir das chaves estrangeiras; de início cada coluna é oferecida, rotulada pelo nome. Altera tudo na página seguinte.',
|
|
4435
|
+
'dts.cancel': 'Cancelar',
|
|
4436
|
+
'dts.the_dataset_doesn_t_match': 'O conjunto de dados não corresponde (mais) ao banco de dados:',
|
|
4437
|
+
'dts.description_shown_to_users': 'Descrição (mostrada aos usuários)',
|
|
4438
|
+
'dts.alias': 'Alias',
|
|
4439
|
+
'dts.table_or_view': 'Tabela ou view',
|
|
4440
|
+
'dts.joins_to': 'Liga-se a',
|
|
4441
|
+
'dts.join': 'Join',
|
|
4442
|
+
'dts.remove': 'Remover',
|
|
4443
|
+
'dts.the_main_table': 'a tabela principal',
|
|
4444
|
+
'dts.add_a_table_or_view': 'Adicionar uma tabela ou view',
|
|
4445
|
+
'dts.joined_to': 'Ligada a',
|
|
4446
|
+
'dts.on': 'Condição',
|
|
4447
|
+
'dts.empty_proposed_from_a_foreign': 'Vazio: proposto a partir de uma chave estrangeira.',
|
|
4448
|
+
'dts.business_users_see_only_the': 'Os usuários de negócio veem só as colunas oferecidas, com os seus rótulos. O nome é como os relatórios se referem a uma coluna: alterá-lo quebra os relatórios salvos que a usam.',
|
|
4449
|
+
'dts.offer': 'Oferecer',
|
|
4450
|
+
'dts.column': 'Coluna',
|
|
4451
|
+
'dts.name': 'Nome',
|
|
4452
|
+
'dts.label': 'Rótulo',
|
|
4453
|
+
'dts.format_mask': 'Máscara de formato',
|
|
4454
|
+
'dts.description': 'Descrição',
|
|
4455
|
+
'dts.only_rows_that_match_every': 'Só as linhas que cumprem todas as condições estão no conjunto de dados (além da segurança em nível de linha da função da aplicação).',
|
|
4456
|
+
'dts.the_query_reports_run_on': 'A consulta em que os relatórios correm (com a função da aplicação). A pré-visualização executa-a só de leitura pela sua conexão do SQL Workshop.',
|
|
4457
|
+
'dts.no_rows': 'Nenhuma linha.',
|
|
4458
|
+
'dts.import_datasets': 'Importar conjuntos de dados',
|
|
4459
|
+
'dts.file': 'Arquivo',
|
|
4460
|
+
'dts.or_paste_it': 'Ou cole-o',
|
|
4461
|
+
'dts.replace_datasets_with_the_same': 'Substituir conjuntos de dados com o mesmo nome',
|
|
4462
|
+
'dts.create_a_reporting_application': 'Criar uma aplicação de relatórios',
|
|
4463
|
+
'dts.the_first_dataset_s_schema': 'O esquema do primeiro conjunto de dados é o esquema de análise da aplicação.',
|
|
4464
|
+
'dts.import': 'Importar',
|
|
4465
|
+
'dts.export_all': 'Exportar tudo',
|
|
4466
|
+
'dts.create_reporting_application': 'Criar aplicação de relatórios',
|
|
4467
|
+
'dts.run': 'Executar',
|
|
4468
|
+
'dts.users_and_roles': 'Usuários e funções',
|
|
4469
|
+
'dts.create_dataset': 'Criar conjunto de dados',
|
|
4470
|
+
'dts.download': 'Baixar',
|
|
4471
|
+
'dts.save_dataset': 'Salvar conjunto de dados',
|
|
4472
|
+
'dts.delete_dataset': 'Excluir conjunto de dados',
|
|
4473
|
+
'dts.create': 'Criar',
|
|
4474
|
+
'dts.from_a_foreign_key': 'a partir de uma chave estrangeira',
|
|
4475
|
+
'dts.first_administrator': 'Primeiro administrador',
|
|
4476
|
+
'dts.password': 'Senha',
|
|
4477
|
+
'dts.e_g_sales': 'p. ex. sales',
|
|
4478
|
+
'dts.lower_case_letters_digits_and': 'Letras minúsculas, dígitos e _ (no máximo 40): relatórios e arquivos usam-no. Não pode ser alterado depois.',
|
|
4479
|
+
'dts.e_g_sales_2': 'p. ex. Vendas',
|
|
4480
|
+
'dts.what_business_users_see': 'O que os usuários de negócio veem.',
|
|
4481
|
+
'dts.its_address_a_alias_its': 'O seu endereço: /a/<alias>. A sua função de banco de dados é app_<alias>, que só pode ler as tabelas e views dos conjuntos de dados.',
|
|
4482
|
+
'dts.an_account_of_the_user': 'Uma conta do diretório de usuários (os usuários fazem login com as contas do workspace).',
|
|
4483
|
+
'dts.only_for_a_new_account': 'Só para uma conta nova.',
|
|
4484
|
+
'dts.the_dataset_offers_no_columns': 'O conjunto de dados não oferece colunas.',
|
|
4485
|
+
'dts.no_reporting_application_uses_it': 'Nenhuma aplicação de relatórios o usa.',
|
|
4486
|
+
'dts.dataset_saved': 'Conjunto de dados salvo.',
|
|
4487
|
+
'dts.create_a_dataset_first': 'Crie primeiro um conjunto de dados.',
|
|
4488
|
+
'dts.reporting_applications': 'Aplicações de relatórios',
|
|
4489
|
+
'dts.1_schema': '1. Esquema',
|
|
4490
|
+
'dts.2_tables_and_views': '2. Tabelas e views',
|
|
4491
|
+
'dts.row_filter': 'Filtro de linhas',
|
|
4492
|
+
'dts.query_and_preview': 'Consulta e pré-visualização',
|
|
4493
|
+
'dts.delete': 'Excluir',
|
|
4494
|
+
'dts.a_dataset_file': 'Um arquivo de conjunto de dados',
|
|
4495
|
+
'dts.app_builder': 'App Builder',
|
|
4496
|
+
'dts.choose_one_of_the_schemas': 'Escolha um dos esquemas da lista.',
|
|
4497
|
+
'dts.choose_at_least_one_table': 'Escolha pelo menos uma tabela ou view.',
|
|
4498
|
+
'dts.roles_help': 'Funções: {viewer} executa relatórios publicados (qualquer usuário com acesso), {editor} também cria, salva, publica e despublica relatórios, {administrator} também despublica e exclui os de qualquer pessoa. Dê acesso e funções às contas em Usuários e funções.',
|
|
4499
|
+
'dts.exists': 'Já existe um conjunto de dados {name}.',
|
|
4500
|
+
'dts.created': 'Conjunto de dados {name} criado: verifique as colunas e os rótulos.',
|
|
4501
|
+
'dts.created_errors': 'Conjunto de dados {name} criado. {errors}',
|
|
4502
|
+
'dts.on_header': 'Condição (coluna = a sua coluna)',
|
|
4503
|
+
'dts.join_left': 'Left (manter linhas sem correspondência)',
|
|
4504
|
+
'dts.join_inner': 'Inner (só linhas correspondentes)',
|
|
4505
|
+
'dts.aria_join_type': 'Tipo de join de {table}',
|
|
4506
|
+
'dts.aria_join_cols': 'Colunas do join de {table}',
|
|
4507
|
+
'dts.aria_remove': 'Remover {table}',
|
|
4508
|
+
'dts.aria_offer': 'Oferecer {column}',
|
|
4509
|
+
'dts.aria_name': 'Nome de {column}',
|
|
4510
|
+
'dts.aria_label': 'Rótulo de {column}',
|
|
4511
|
+
'dts.aria_format': 'Máscara de formato de {column}',
|
|
4512
|
+
'dts.aria_desc': 'Descrição de {column}',
|
|
4513
|
+
'dts.aria_filter_col': 'Filtro {n}: coluna',
|
|
4514
|
+
'dts.aria_filter_op': 'Filtro {n}: operador',
|
|
4515
|
+
'dts.aria_filter_value': 'Filtro {n}: valor',
|
|
4516
|
+
'dts.value': 'valor',
|
|
4517
|
+
'dts.none_opt': '- nenhuma -',
|
|
4518
|
+
'dts.used_by': 'As aplicações de relatórios que o usam ({apps}) perdem esta origem de dados: os seus relatórios sobre ela deixam de funcionar.',
|
|
4519
|
+
'dts.delete_confirm': 'Excluir o conjunto de dados {name}?',
|
|
4520
|
+
'dts.schema_refused': 'A sua conexão do SQL Workshop não pode usar o esquema {schema}.',
|
|
4521
|
+
'dts.deleted': 'Conjunto de dados {name} excluído.',
|
|
4522
|
+
'dts.import_intro': 'Um arquivo baixado de um Data Reporter (`*.dataset.json`, formato pgkiln-dataset/1), com um ou vários conjuntos de dados. Cada um é verificado contra o banco de dados desta instalação: o esquema, tabelas, views e colunas têm de existir aqui.',
|
|
4523
|
+
'dts.import_title': 'Importar conjuntos de dados',
|
|
4524
|
+
'dts.too_large': 'O arquivo tem mais de 2 MB.',
|
|
4525
|
+
'dts.no_file': 'Escolha um arquivo ou cole um.',
|
|
4526
|
+
'dts.no_schema': 'Conjunto de dados {name}: o esquema «{schema}» não existe aqui, ou a sua conexão do SQL Workshop não o pode usar.',
|
|
4527
|
+
'dts.import_errors': 'Conjunto de dados {name}: {errors}',
|
|
4528
|
+
'dts.no_columns': 'não oferece colunas.',
|
|
4529
|
+
'dts.nothing_imported': 'Nada foi importado. {error}',
|
|
4530
|
+
'dts.create_app_title': 'Criar aplicação de relatórios',
|
|
4531
|
+
'dts.choose_one': 'Escolha pelo menos um conjunto de dados.',
|
|
4532
|
+
'dts.choose_max': 'Escolha no máximo {n} conjuntos de dados.',
|
|
4533
|
+
'dts.app_created': 'Aplicação de relatórios {name} criada: execute-a em {path} e dê às contas acesso e as funções viewer, editor ou administrator em Usuários e funções.',
|
|
4534
|
+
'dts.new_dataset_title': 'Novo conjunto de dados',
|
|
4535
|
+
// ------------------------------------------------------------ Team Development (2) (sprint 164)
|
|
4536
|
+
'tm.changed_the_title': 'alterou o título',
|
|
4537
|
+
'tm.problem': 'Problema',
|
|
4538
|
+
'tm.idea': 'Ideia',
|
|
4539
|
+
'tm.feedback': 'Feedback',
|
|
4540
|
+
'tm.untitled': 'Sem título',
|
|
4541
|
+
'tm.ev.created': 'criou a issue',
|
|
4542
|
+
'tm.ev.closed': 'fechou a issue',
|
|
4543
|
+
'tm.ev.reopened': 'reabriu a issue',
|
|
4544
|
+
'tm.ev.body': 'editou a descrição',
|
|
4545
|
+
'tm.ev.labels': 'alterou os rótulos',
|
|
4546
|
+
'tm.ev.assignees': 'alterou os responsáveis',
|
|
4547
|
+
'tm.ev.milestone': 'definiu o marco',
|
|
4548
|
+
'tm.ev.link': 'vinculou',
|
|
4549
|
+
'tm.ev.commented': 'comentou',
|
|
4550
|
+
'tm.someone': 'alguém',
|
|
4551
|
+
'tm.f.status': 'Status',
|
|
4552
|
+
'tm.f.open': 'Abertas',
|
|
4553
|
+
'tm.f.all': 'Todas',
|
|
4554
|
+
'tm.f.any': 'Qualquer',
|
|
4555
|
+
'tm.f.assignee': 'Responsável',
|
|
4556
|
+
'tm.f.anyone': 'Qualquer pessoa',
|
|
4557
|
+
'tm.f.me': 'Eu',
|
|
4558
|
+
'tm.delete_view_confirm': 'Excluir a visão {name}?',
|
|
4559
|
+
'tm.delete_named': 'Excluir {name}',
|
|
4560
|
+
'tm.delete_issue_confirm': 'Excluir a issue #{id} com os seus comentários e histórico?',
|
|
4561
|
+
'tm.delete_milestone_confirm': 'Excluir o marco {name}? As suas issues ficam sem marco.',
|
|
4562
|
+
'tm.delete_template_confirm': 'Excluir o modelo {name}?',
|
|
4563
|
+
// ------------------------------------------------------------ REST data sources and web credentials (sprint 164)
|
|
4564
|
+
'wsrc.secrets': 'Segredos',
|
|
4565
|
+
'wsrc.a_secret_is_stored': 'Há um segredo guardado',
|
|
4566
|
+
'wsrc.no_secret_yet': 'Ainda não há segredo.',
|
|
4567
|
+
'wsrc.a_password_is_stored': 'Há uma senha guardada',
|
|
4568
|
+
'wsrc.no_password_yet': 'Ainda não há senha.',
|
|
4569
|
+
'wsrc.a_refresh_token_is_stored': 'Há um refresh token guardado',
|
|
4570
|
+
'wsrc.no_refresh_token_yet': 'Ainda não há refresh token.',
|
|
4571
|
+
'wsrc.synchronisation': 'Sincronização',
|
|
4572
|
+
'wsrc.set_a_local_table_above': 'Defina acima uma tabela local para copiar as linhas desta origem para uma tabela (a pedido, a partir de SQL ou por agendamento).',
|
|
4573
|
+
'wsrc.the_scheduler_is_off_on': '(o agendador está desligado neste servidor: AUTOMATIONS=off)',
|
|
4574
|
+
'wsrc.requested': 'Pedido',
|
|
4575
|
+
'wsrc.took': 'Duração',
|
|
4576
|
+
'wsrc.by': 'Por',
|
|
4577
|
+
'wsrc.status': 'Status',
|
|
4578
|
+
'wsrc.rows': 'Linhas',
|
|
4579
|
+
'wsrc.inserted': 'Inseridas',
|
|
4580
|
+
'wsrc.updated': 'Atualizadas',
|
|
4581
|
+
'wsrc.deleted': 'Excluídas',
|
|
4582
|
+
'wsrc.message': 'Mensagem',
|
|
4583
|
+
'wsrc.no_runs_yet': 'Ainda não há execuções.',
|
|
4584
|
+
'wsrc.test': 'Testar',
|
|
4585
|
+
'wsrc.suggested_columns': 'Colunas sugeridas',
|
|
4586
|
+
'wsrc.use_these_columns': 'Usar estas colunas',
|
|
4587
|
+
'wsrc.response': 'Resposta',
|
|
4588
|
+
'wsrc.synchronise_now': 'Sincronizar agora',
|
|
4589
|
+
'wsrc.the_secret': 'o segredo',
|
|
4590
|
+
'wsrc.the_password': 'a senha',
|
|
4591
|
+
'wsrc.the_refresh_token': 'o refresh token',
|
|
4592
|
+
'wsrc.not_found': 'Não encontrado.',
|
|
4593
|
+
'wsrc.the_synchronisation_failed': 'A sincronização falhou.',
|
|
4594
|
+
'wsrc.the_columns_are_not_valid': 'As colunas não são JSON válido.',
|
|
4595
|
+
'wsrc.columns_saved': 'Colunas salvas.',
|
|
4596
|
+
'wsrc.remove_confirm': 'Remover {what}?',
|
|
4597
|
+
'wsrc.remove': 'Remover {what}',
|
|
4598
|
+
'wsrc.secret_stored': '{stored} (cifrado). Nunca é mostrado; escreva um novo acima para o substituir.',
|
|
4599
|
+
'wsrc.secret_missing': '{none} Os pedidos com esta credencial falham até ser introduzido um.',
|
|
4600
|
+
'wsrc.no_client_secret': 'Sem segredo do cliente (um cliente público).',
|
|
4601
|
+
'wsrc.password_stored': '{stored} (cifrada).',
|
|
4602
|
+
'wsrc.password_missing': '{none} O fluxo de senha falha até ser introduzida uma.',
|
|
4603
|
+
'wsrc.refresh_stored': '{stored} (cifrado). O pgkiln usa-o para renovar o token de acesso e guarda o mais recente que o serviço envia.',
|
|
4604
|
+
'wsrc.refresh_stored_at': '{stored} (cifrado), recebido {at} UTC. O pgkiln usa-o para renovar o token de acesso e guarda o mais recente que o serviço envia.',
|
|
4605
|
+
'wsrc.refresh_missing': '{none} Introduza um acima.',
|
|
4606
|
+
'wsrc.no_refresh': 'Ainda não há refresh token (guardado quando o endpoint de token envia um).',
|
|
4607
|
+
'wsrc.no_secret_key': 'O servidor não tem `PGKILN_SECRET_KEY`: os segredos não podem ser guardados nem usados até ser definida (pelo menos 32 caracteres).',
|
|
4608
|
+
'wsrc.sync_into': 'Em {table} ({mode}). Próxima execução: {next}',
|
|
4609
|
+
'wsrc.deleting_missing': 'excluindo as linhas em falta',
|
|
4610
|
+
'wsrc.sync_from_code': 'A partir do código da aplicação: {call} põe uma execução na fila para a próxima passagem do agendador.',
|
|
4611
|
+
'wsrc.answered': 'O serviço web respondeu {status}.',
|
|
4612
|
+
'wsrc.the_source': 'A origem',
|
|
4613
|
+
'wsrc.synced': '{rows} linha(s) sincronizada(s): {inserted} inserida(s), {updated} atualizada(s), {deleted} excluída(s).',
|
|
4614
|
+
// ------------------------------------------------------------ Workspace files, remote servers and web credentials (sprint 164)
|
|
4615
|
+
'wres.you_are_not_a_developer': 'Você ainda não é desenvolvedor de nenhum workspace.',
|
|
4616
|
+
'wres.only_the_workspace_s_administrators': 'Só os administradores do workspace os alteram.',
|
|
4617
|
+
'wres.you_can_see_these_the': 'Pode vê-los; os administradores do workspace alteram-nos.',
|
|
4618
|
+
'wres.content': 'Conteúdo',
|
|
4619
|
+
'wres.cancel': 'Cancelar',
|
|
4620
|
+
'wres.static_workspace_files': 'Arquivos estáticos do workspace',
|
|
4621
|
+
'wres.name': 'Nome',
|
|
4622
|
+
'wres.type': 'Tipo',
|
|
4623
|
+
'wres.size': 'Tamanho',
|
|
4624
|
+
'wres.loaded_by': 'Carregado por',
|
|
4625
|
+
'wres.changed_utc': 'Alterado (UTC)',
|
|
4626
|
+
'wres.actions': 'Ações',
|
|
4627
|
+
'wres.edit': 'Editar',
|
|
4628
|
+
'wres.no_files_yet': 'Ainda não há arquivos.',
|
|
4629
|
+
'wres.a_file_with_the_same': 'Um arquivo com o mesmo nome é substituído.',
|
|
4630
|
+
'wres.not_a_valid_url': 'URL inválida',
|
|
4631
|
+
'wres.may_be_called': 'pode ser chamada',
|
|
4632
|
+
'wres.description': 'Descrição',
|
|
4633
|
+
'wres.delete_server': 'Excluir servidor',
|
|
4634
|
+
'wres.remote_servers': 'Servidores remotos',
|
|
4635
|
+
'wres.network_access': 'acesso à rede',
|
|
4636
|
+
'wres.server': 'Servidor',
|
|
4637
|
+
'wres.url_now': 'URL atual',
|
|
4638
|
+
'wres.network_access_2': 'Acesso à rede',
|
|
4639
|
+
'wres.default_credential': 'Credencial padrão',
|
|
4640
|
+
'wres.used_by': 'Usado por',
|
|
4641
|
+
'wres.nothing_yet': 'nada ainda',
|
|
4642
|
+
'wres.no_remote_servers_yet': 'Ainda não há servidores remotos.',
|
|
4643
|
+
'wres.delete_credential': 'Excluir credencial',
|
|
4644
|
+
'wres.workspace_web_credentials': 'Credenciais web do workspace',
|
|
4645
|
+
'wres.authentication': 'Autenticação',
|
|
4646
|
+
'wres.secret': 'Segredo',
|
|
4647
|
+
'wres.valid_for': 'Válida para',
|
|
4648
|
+
'wres.overridden_by': 'Substituída por',
|
|
4649
|
+
'wres.none_yet': 'nenhum ainda',
|
|
4650
|
+
'wres.any_url': 'qualquer URL',
|
|
4651
|
+
'wres.no_workspace_web_credentials_yet': 'Ainda não há credenciais web do workspace.',
|
|
4652
|
+
'wres.save': 'Salvar',
|
|
4653
|
+
'wres.new_file': 'Novo arquivo',
|
|
4654
|
+
'wres.upload': 'Carregar',
|
|
4655
|
+
'wres.new_server': 'Novo servidor',
|
|
4656
|
+
'wres.new_credential': 'Nova credencial',
|
|
4657
|
+
'wres.changed': 'Alterado',
|
|
4658
|
+
'wres.files_to_upload': 'Arquivos a carregar',
|
|
4659
|
+
'wres.file_name': 'Nome do arquivo',
|
|
4660
|
+
'wres.static_id': 'Id estático',
|
|
4661
|
+
'wres.base_url_this_installation': 'URL base (esta instalação)',
|
|
4662
|
+
'wres.or_from_the_environment_variable': 'Ou a partir da variável de ambiente',
|
|
4663
|
+
'wres.default_web_credential': 'Credencial web padrão',
|
|
4664
|
+
'wres.user_name_client_id_access': 'Usuário / id do cliente / id da chave de acesso',
|
|
4665
|
+
'wres.grant_type_oauth2': 'Tipo de concessão (oauth2)',
|
|
4666
|
+
'wres.oauth2_user_name_password_grant': 'Usuário OAuth2 (password grant)',
|
|
4667
|
+
'wres.header_name_header': 'Nome do cabeçalho (header)',
|
|
4668
|
+
'wres.token_url_oauth2': 'URL do token (oauth2)',
|
|
4669
|
+
'wres.scope_oauth2_region_aws_sigv4': 'Escopo (oauth2) / região (aws_sigv4)',
|
|
4670
|
+
'wres.valid_for_urls': 'Válida para URLs',
|
|
4671
|
+
'wres.letters_digits_and_e_g': 'Letras, dígitos, _, - e . (p. ex. brand.css, common.js).',
|
|
4672
|
+
'wres.upper_case_letters_digits_and': 'Letras maiúsculas, dígitos e _: as origens de dados REST, catálogos e serviços de IA nomeiam o servidor por ele. Renomeá-lo move também as origens e catálogos deste workspace.',
|
|
4673
|
+
'wres.crm_system': 'Sistema CRM',
|
|
4674
|
+
'wres.https_crm_example_com_api': 'https://crm.example.com/api',
|
|
4675
|
+
'wres.no_trailing_slash_query_or': 'Sem barra final, consulta nem fragmento. As origens acrescentam o seu caminho a seguir.',
|
|
4676
|
+
'wres.e_g_crm_api': 'p. ex. CRM_API',
|
|
4677
|
+
'wres.sources_on_this_server_that': 'As origens neste servidor que não nomeiam credencial própria usam esta (a credencial de uma aplicação com esse nome, senão a do workspace).',
|
|
4678
|
+
'wres.the_applications_of_the_workspace': 'As aplicações do workspace usam-na com este nome (a credencial própria de uma aplicação com o mesmo nome tem prioridade).',
|
|
4679
|
+
'wres.x_api_key': 'X-API-Key',
|
|
4680
|
+
'wres.https_login_example_com_oauth': 'https://login.example.com/oauth/token',
|
|
4681
|
+
'wres.https_crm_example_com_api_2': 'https://crm.example.com/api/',
|
|
4682
|
+
'wres.comma_separated_url_prefixes_the': 'Prefixos de URL separados por vírgulas: a credencial só é enviada para estes. Recomendado.',
|
|
4683
|
+
'wres.new_remote_server': 'Novo servidor remoto',
|
|
4684
|
+
'wres.one_is_stored_encrypted_it': 'Há um guardado (cifrado): nunca é mostrado; escreva um novo para o substituir.',
|
|
4685
|
+
'wres.write_only_never_shown_again': 'Só escrita: nunca mais mostrado nem exportado.',
|
|
4686
|
+
'wres.new_web_credential': 'Nova credencial web',
|
|
4687
|
+
'wres.no_such_file': 'Arquivo inexistente.',
|
|
4688
|
+
'wres.no_such_remote_server': 'Servidor remoto inexistente.',
|
|
4689
|
+
'wres.no_such_web_credential': 'Credencial web inexistente.',
|
|
4690
|
+
'wres.the_password_header_value_token': 'A senha, o valor do cabeçalho, o token, o segredo do cliente ou a chave de acesso secreta.',
|
|
4691
|
+
'wres.the_password_grant_the_oauth2': 'O password grant: a senha do usuário OAuth2.',
|
|
4692
|
+
'wres.the_refresh_token_grant_a': 'O refresh token grant: um refresh token para começar.',
|
|
4693
|
+
'wres.choose_one_or_more_files': 'Escolha um ou mais arquivos.',
|
|
4694
|
+
'wres.the_name_must_end_in': 'O nome tem de terminar num tipo de texto (.js, .css, .json, .txt, .csv, .md, .map) e usar só letras, dígitos, _, - e ..',
|
|
4695
|
+
'wres.files': 'Arquivos',
|
|
4696
|
+
'wres.servers': 'Servidores',
|
|
4697
|
+
'wres.credentials': 'Credenciais',
|
|
4698
|
+
'wres.app_builder': 'App Builder',
|
|
4699
|
+
'wres.workspace_utilities': 'Utilitários do workspace',
|
|
4700
|
+
'wres.the_name_is_upper_case': 'O nome são letras maiúsculas, dígitos e _, começando por uma letra, p. ex. CRM_API.',
|
|
4701
|
+
'wres.server_title': 'Servidor remoto {id}',
|
|
4702
|
+
'wres.env_help': 'Quando o ambiente do servidor a define, prevalece sobre a URL base (um valor por ambiente: desenvolvimento, teste, produção). Só nomes {prefix}….',
|
|
4703
|
+
'wres.delete_server_confirm': 'Excluir o servidor remoto {id}? As origens nele falham até um servidor voltar a ter o seu id estático.',
|
|
4704
|
+
'wres.servers_intro': 'URLs base com nome de {workspace}: uma origem de dados REST, um catálogo de origens REST ou um serviço de IA nomeia um servidor e um caminho em vez de uma URL completa, por isso passar de desenvolvimento para produção altera um valor aqui (ou uma variável de ambiente) e todas as origens do servidor acompanham de imediato. A URL continua a passar todas as verificações de uma URL completa: a lista de permissões da instalação, a lista de {network} deste workspace e as verificações de endereço quando a chamada é feita.',
|
|
4705
|
+
'wres.credential_title': 'Credencial web {name}',
|
|
4706
|
+
'wres.no_secret_key': 'O servidor não tem `PGKILN_SECRET_KEY`: os segredos não podem ser guardados até ser definida.',
|
|
4707
|
+
'wres.refresh_token': 'Refresh token',
|
|
4708
|
+
'wres.delete_credential_confirm': 'Excluir a credencial web {name}? As aplicações que a usam falham até existir uma com esse nome.',
|
|
4709
|
+
'wres.files_title': 'Arquivos estáticos do workspace',
|
|
4710
|
+
'wres.servers_title': 'Servidores remotos',
|
|
4711
|
+
'wres.credentials_title': 'Credenciais web do workspace',
|
|
4712
|
+
'wres.too_large': 'O arquivo tem mais de {size}.',
|
|
4713
|
+
'wres.file_exists': 'Já existe um arquivo {name}.',
|
|
4714
|
+
'wres.server_saved': 'Servidor remoto {id} salvo.',
|
|
4715
|
+
'wres.server_exists': 'Este workspace já tem um servidor remoto {id}.',
|
|
4716
|
+
'wres.server_deleted': 'Servidor remoto {id} excluído.',
|
|
4717
|
+
'wres.credential_saved': 'Credencial web {name} salva.',
|
|
4718
|
+
'wres.credential_exists': 'Este workspace já tem uma credencial web {name}.',
|
|
4719
|
+
'wres.credential_deleted': 'Credencial web {name} excluída.',
|
|
4720
|
+
'wres.files_intro': 'CSS, JavaScript, JSON, imagens e fontes que qualquer aplicação de {workspace} pode usar: uma aplicação carrega um em cada página com {tag} em Componentes Compartilhados → Arquivos estáticos da aplicação → Cada página carrega (uma página: Página → Aparência), e os modelos, HTML e links usam {sub} para a sua URL. Cada aplicação serve-os a partir do seu próprio endereço ({path}), nunca os de outro workspace. Até {size} por arquivo; sem HTML. Acompanham a exportação do workspace.',
|
|
4721
|
+
'wres.type_help': 'basic: usuário + senha · header: um cabeçalho HTTP com o segredo (chave de API) · bearer: Authorization: Bearer <secret> · oauth2: client credentials, password ou refresh token grant · aws_sigv4: um armazenamento de objetos compatível com S3.',
|
|
4722
|
+
'wres.credentials_intro': 'Credenciais web de {workspace} que as suas aplicações usam pelo nome em origens de dados REST, no processo Invocar API, em servidores remotos e no armazenamento de objetos, por isso uma chave é introduzida uma vez para o workspace. A credencial própria de uma aplicação (Componentes Compartilhados → Credenciais web) com o mesmo nome tem prioridade. Os segredos são cifrados com a chave do servidor, nunca mais são mostrados e nunca são exportados.',
|
|
4723
|
+
'wres.edit_named': 'Editar {name}',
|
|
4724
|
+
'wres.delete_file_confirm': 'Excluir {name}? As aplicações que o carregam omitem-no.',
|
|
4725
|
+
'wres.delete_named': 'Excluir {name}',
|
|
4726
|
+
// ------------------------------------------------------------ Template components (sprint 164)
|
|
4727
|
+
'tpl.custom_attributes': 'Atributos personalizados',
|
|
4728
|
+
'tpl.name': 'Nome',
|
|
4729
|
+
'tpl.label': 'Rótulo',
|
|
4730
|
+
'tpl.type': 'Tipo',
|
|
4731
|
+
'tpl.default': 'Padrão',
|
|
4732
|
+
'tpl.none_the_template_uses_the': 'Nenhum: o modelo usa só as colunas da linha.',
|
|
4733
|
+
'tpl.preview': 'Pré-visualização',
|
|
4734
|
+
'tpl.sample_rows': 'Linhas de exemplo',
|
|
4735
|
+
'tpl.one_name_value_per_line': 'Um NAME=value por linha; uma linha em branco começa a linha seguinte. Os atributos usam os seus padrões; #LINK# é "#".',
|
|
4736
|
+
'tpl.as_multiple_in_the_wrapper': 'Como "multiple" (no contentor)',
|
|
4737
|
+
'tpl.plug_in': 'Plug-in',
|
|
4738
|
+
'tpl.share_this_component_with_other': 'Partilhe este componente com outras aplicações e instalações como um arquivo JSON; importe-o em Componentes Compartilhados → Componentes de modelo → Adicionar.',
|
|
4739
|
+
'tpl.download_plug_in_file': 'Baixar arquivo de plug-in',
|
|
4740
|
+
'tpl.built_in_components': 'Componentes integrados',
|
|
4741
|
+
'tpl.every_application_can_use_these': 'Qualquer aplicação pode usá-los numa região de componente de modelo ou como modelo de coluna de um relatório. Para alterar um, copie-o para esta aplicação: a cópia (mesmo id estático) toma o seu lugar.',
|
|
4742
|
+
'tpl.component': 'Componente',
|
|
4743
|
+
'tpl.static_id': 'Id estático',
|
|
4744
|
+
'tpl.actions': 'Ações',
|
|
4745
|
+
'tpl.copy_into_this_application': 'Copiar para esta aplicação',
|
|
4746
|
+
'tpl.import_a_plug_in': 'Importar um plug-in',
|
|
4747
|
+
'tpl.plug_in_file_json': 'Arquivo de plug-in (JSON)',
|
|
4748
|
+
'tpl.paste_the_contents_of_a': 'Cole o conteúdo de um arquivo .plugin.json, p. ex. um de examples/plugins/. O modelo é verificado antes de ser salvo.',
|
|
4749
|
+
'tpl.replace_a_component_with_the': 'Substituir um componente com o mesmo id estático',
|
|
4750
|
+
'tpl.import_plug_in': 'Importar plug-in',
|
|
4751
|
+
'tpl.choose_a_component_and_save': 'Escolha um componente e salve para definir os seus atributos.',
|
|
4752
|
+
'tpl.template_component_settings': 'Configurações do componente de modelo',
|
|
4753
|
+
'tpl.these_fields_write_the_region': 'Estes campos escrevem o JSON de configurações da região acima (as outras chaves mantêm-se).',
|
|
4754
|
+
'tpl.no_query_the_component_shows': 'Sem consulta: o componente aparece uma vez, a partir dos atributos.',
|
|
4755
|
+
'tpl.template_component': 'Componente de modelo',
|
|
4756
|
+
'tpl.shared_components_template_components': 'Componentes Compartilhados → Componentes de modelo',
|
|
4757
|
+
'tpl.display': 'Exibição',
|
|
4758
|
+
'tpl.at_most_rows': 'No máximo linhas',
|
|
4759
|
+
'tpl.text_when_there_are_no': 'Texto quando não há linhas',
|
|
4760
|
+
'tpl.attributes': 'Atributos',
|
|
4761
|
+
'tpl.link_link': 'Link (#LINK#)',
|
|
4762
|
+
'tpl.each_instance_links_to_page': 'Cada instância liga à página',
|
|
4763
|
+
'tpl.the_template_puts_it_in': 'O modelo põe-no em href="#LINK#"; os valores dos itens recebem um checksum. Vazio para usuários que não podem abrir a página.',
|
|
4764
|
+
'tpl.set_items': 'Definir itens',
|
|
4765
|
+
'tpl.item_column_comma_separated': 'ITEM=#column#, separados por vírgulas.',
|
|
4766
|
+
'tpl.save_template_component_settings': 'Salvar configurações do componente de modelo',
|
|
4767
|
+
'tpl.not_in_the_query': 'não está na consulta',
|
|
4768
|
+
'tpl.column_templates': 'Modelos de coluna',
|
|
4769
|
+
'tpl.render_a_column_s_cells': 'Mostrar as células de uma coluna através de um componente de modelo. O seu modelo vê cada coluna da linha como #NAME# (também as ocultas), e #LINK# é o link do relatório. Atributos: NAME=value por linha, com substituições #column# e &ITEM..',
|
|
4770
|
+
'tpl.column': 'Coluna',
|
|
4771
|
+
'tpl.no_columns_yet': 'Ainda não há colunas.',
|
|
4772
|
+
'tpl.save_column_templates': 'Salvar modelos de coluna',
|
|
4773
|
+
'tpl.no_data_found': 'Nenhum dado encontrado',
|
|
4774
|
+
'tpl.p3_id_id': 'P3_ID=#id#',
|
|
4775
|
+
'tpl.template_component_settings_saved': 'Configurações do componente de modelo salvas.',
|
|
4776
|
+
'tpl.column_templates_saved': 'Modelos de coluna salvos.',
|
|
4777
|
+
'tpl.import_failed_the_plug_in': 'A importação falhou: o arquivo de plug-in não é JSON válido.',
|
|
4778
|
+
'tpl.tc_list': 'tc-list',
|
|
4779
|
+
'tpl.choose': '- escolher -',
|
|
4780
|
+
'tpl.each_row_as_an_instance': 'Cada linha como uma instância',
|
|
4781
|
+
'tpl.multiple_all_rows_in_the': 'Múltiplo: todas as linhas no contentor',
|
|
4782
|
+
'tpl.no_link': '- sem link -',
|
|
4783
|
+
'tpl.plain_value': '- valor simples -',
|
|
4784
|
+
'tpl.builtin_help': 'Os integrados (avatar, badge, comments, media list, metric card, timeline) e os da própria aplicação em {link}.',
|
|
4785
|
+
'tpl.aria_component': 'Componente de modelo de {column}',
|
|
4786
|
+
'tpl.aria_attrs': 'Atributos de {column}',
|
|
4787
|
+
'tpl.missing': '{name} (em falta!)',
|
|
4788
|
+
'tpl.import_failed': 'A importação falhou: {error}',
|
|
4789
|
+
'tpl.imported': 'Componente de modelo {name} importado.',
|
|
4790
|
+
'tpl.copy_failed': 'A cópia falhou: {error}',
|
|
4791
|
+
'tpl.built_in': 'integrado',
|
|
4792
|
+
// ------------------------------------------------------------ Vector providers (sprint 164)
|
|
4793
|
+
'vp.pgvector_is_not_installed_in': 'O pgvector não está instalado neste banco de dados.',
|
|
4794
|
+
'vp.vector_provider': 'Provedor de vetores',
|
|
4795
|
+
'vp.ai_service': 'Serviço de IA',
|
|
4796
|
+
'vp.workspace_utilities_ai_services': 'Utilitários do workspace → Serviços de IA',
|
|
4797
|
+
'vp.model_in_the_database': 'Modelo no banco de dados',
|
|
4798
|
+
'vp.function': 'Função',
|
|
4799
|
+
'vp.used_by': 'Usado por',
|
|
4800
|
+
'vp.no_search_configuration_or_vector': 'Nenhuma configuração de pesquisa nem coluna vetorial usa ainda este provedor.',
|
|
4801
|
+
'vp.delete_vector_provider': 'Excluir provedor de vetores',
|
|
4802
|
+
'vp.vector_providers': 'Provedores de vetores',
|
|
4803
|
+
'vp.a_vector_provider_turns_text': 'Um provedor de vetores transforma texto num embedding: uma lista de números cuja distância diz quão próximos dois textos estão em significado. As colunas vetoriais guardam os embeddings das linhas de uma tabela (SQL Workshop › Propriedades da tabela › Adicionar coluna vetorial), e as configurações de pesquisa do tipo vector ou hybrid e as ferramentas Retrieve dos agentes de IA encontram linhas pelo significado. Os textos vão para o serviço de IA do provedor.',
|
|
4804
|
+
'vp.name': 'Nome',
|
|
4805
|
+
'vp.type': 'Tipo',
|
|
4806
|
+
'vp.model_or_function': 'Modelo ou função',
|
|
4807
|
+
'vp.dimensions': 'Dimensões',
|
|
4808
|
+
'vp.no_vector_providers_yet': 'Ainda não há provedores de vetores.',
|
|
4809
|
+
'vp.the_vector_providers_of_this': 'Os provedores de vetores das aplicações deste workspace (cada aplicação define os seus em Componentes Compartilhados → Provedores de vetores) e as colunas vetoriais que mantêm atualizadas.',
|
|
4810
|
+
'vp.application': 'Aplicação',
|
|
4811
|
+
'vp.column': 'Coluna',
|
|
4812
|
+
'vp.provider': 'Provedor',
|
|
4813
|
+
'vp.source_columns': 'Colunas de origem',
|
|
4814
|
+
'vp.kept_by': 'Mantida por',
|
|
4815
|
+
'vp.no_vector_columns_yet_sql': 'Ainda não há colunas vetoriais (SQL Workshop › Propriedades da tabela › Adicionar coluna vetorial).',
|
|
4816
|
+
'vp.test_embed_a_sample_text': 'Testar: incorporar um texto de exemplo',
|
|
4817
|
+
'vp.add_vector_provider': 'Adicionar provedor de vetores',
|
|
4818
|
+
'vp.name_static_id': 'Nome (id estático)',
|
|
4819
|
+
'vp.description': 'Descrição',
|
|
4820
|
+
'vp.embedding_model': 'Modelo de embeddings',
|
|
4821
|
+
'vp.texts_per_request': 'Textos por pedido',
|
|
4822
|
+
'vp.requests_per_minute': 'Pedidos por minuto',
|
|
4823
|
+
'vp.engine': 'Motor',
|
|
4824
|
+
'vp.model': 'Modelo',
|
|
4825
|
+
'vp.e_g_doc_embeddings': 'p. ex. DOC_EMBEDDINGS',
|
|
4826
|
+
'vp.upper_case_letters_digits_and': 'Letras maiúsculas, dígitos e _. As configurações de pesquisa nomeiam-no; em SQL: meta.embed(text, \'DOC_EMBEDDINGS\') (provedores de função e de modelo no banco de dados).',
|
|
4827
|
+
'vp.e_g_text_embedding_3': 'p. ex. text-embedding-3-small',
|
|
4828
|
+
'vp.exactly_as_the_provider_names': 'Exatamente como o provedor o nomeia: text-embedding-3-small, gemini-embedding-001, nomic-embed-text, mxbai-embed-large …',
|
|
4829
|
+
'vp.when_the_server_embeds_queued': 'Quando o servidor incorpora linhas na fila (colunas vetoriais).',
|
|
4830
|
+
'vp.at_most_this_many_background': 'No máximo este número de pedidos em segundo plano por minuto (por servidor), abaixo do limite do provedor.',
|
|
4831
|
+
'vp.e_g_intfloat_e5_small': 'p. ex. intfloat/e5-small-v2',
|
|
4832
|
+
'vp.a_model_the_engine_loads': 'Um modelo que o motor carrega (a primeira chamada descarrega-o): intfloat/e5-small-v2 (384), Alibaba-NLP/gte-base-en-v1.5 (768), mixedbread-ai/mxbai-embed-large-v1 (1024) …',
|
|
4833
|
+
'vp.e_g_sales_embed': 'p. ex. sales.embed',
|
|
4834
|
+
'vp.schema_name_of_a_function': 'schema.nome de uma função (text) que devolve vector, real[] ou float8[]. O meta.embed chama-a com a função que executa a consulta (aplicam-se as suas permissões): conceda execute sobre ela à função da aplicação.',
|
|
4835
|
+
'vp.ai_service_with_an_embedding': 'Serviço de IA com um modelo de embeddings',
|
|
4836
|
+
'vp.model_in_the_database_postgresml': 'Modelo no banco de dados (PostgresML)',
|
|
4837
|
+
'vp.sql_or_pl_pgsql_function': 'Função SQL ou PL/pgSQL',
|
|
4838
|
+
'vp.postgresml_pgml_embed_model_text': 'PostgresML: pgml.embed(model, text)',
|
|
4839
|
+
'vp.save': 'Salvar',
|
|
4840
|
+
'vp.where_the_embeddings_come_from': 'De onde vêm os embeddings.',
|
|
4841
|
+
'vp.its_key_base_url_and': 'Aplicam-se a sua chave, URL base e limites diários; os textos a incorporar vão para o seu provedor.',
|
|
4842
|
+
'vp.the_extension_that_runs_the': 'A extensão que executa o modelo. Nada sai do banco de dados; conceda usage sobre o seu esquema (pgml) à função da aplicação.',
|
|
4843
|
+
'vp.vector_provider_saved': 'Provedor de vetores salvo.',
|
|
4844
|
+
'vp.the_pgvector_extension_is_installed': 'A extensão pgvector está instalada.',
|
|
4845
|
+
'vp.providers': 'Provedores',
|
|
4846
|
+
'vp.vector_columns': 'Colunas vetoriais',
|
|
4847
|
+
'vp.app_builder': 'App Builder',
|
|
4848
|
+
'vp.shared_components': 'Componentes Compartilhados',
|
|
4849
|
+
'vp.the_quick_brown_fox_jumps': 'Um pequeno jabuti xereta viu dez cegonhas felizes.',
|
|
4850
|
+
'vp.workspace_utilities': 'Utilitários do workspace',
|
|
4851
|
+
'vp.installed': 'O pgvector {version} está instalado (esquema {schema}).',
|
|
4852
|
+
'vp.not_installed_detail': 'Podem ser definidos provedores de vetores, mas as colunas vetoriais, a pesquisa vetorial e as ferramentas Retrieve precisam da extensão.',
|
|
4853
|
+
'vp.create_extension': 'Criar a extensão vector {version}',
|
|
4854
|
+
'vp.has_pgvector': 'O servidor do banco de dados tem o pgvector {version}: {who} executa {sql} neste banco de dados.',
|
|
4855
|
+
'vp.a_superuser': 'um superusuário',
|
|
4856
|
+
'vp.an_administrator': 'um administrador',
|
|
4857
|
+
'vp.no_package': 'O servidor do banco de dados não tem o pacote pgvector: instale-o (por exemplo {apt}, a imagem Docker {docker} ou a extensão {vector} do seu provedor de nuvem) e depois crie a extensão.',
|
|
4858
|
+
'vp.eg_1536': 'p. ex. 1536',
|
|
4859
|
+
'vp.dimensions_help': 'O comprimento de cada vetor: text-embedding-3-small 1536 (ou menos: a OpenAI encurta-os), text-embedding-3-large 3072, nomic-embed-text 768, gemini-embedding-001 3072. Uma coluna vetorial é vector(n) com este n; um índice HNSW aceita até {max}.',
|
|
4860
|
+
'vp.no_service': 'Esta aplicação ainda não pode usar um serviço de IA OpenAI, Gemini ou compatível com OpenAI: um administrador adiciona um em {link} (o Claude não tem embeddings) e permite que esta aplicação o use.',
|
|
4861
|
+
'vp.no_pgml': 'O PostgresML ({pgml}) não está instalado neste banco de dados: instale-o no servidor do banco de dados e depois {sql}. Executa modelos Hugging Face (entre eles ONNX) dentro do PostgreSQL.',
|
|
4862
|
+
'vp.used_config': 'Configuração de pesquisa {link} ({type})',
|
|
4863
|
+
'vp.used_column': 'Coluna vetorial {link} ({mode})',
|
|
4864
|
+
'vp.set_by_trigger': 'definida por um trigger',
|
|
4865
|
+
'vp.queued_server': 'na fila para o servidor',
|
|
4866
|
+
'vp.delete_confirm': 'Excluir o provedor de vetores {name}? As configurações de pesquisa e colunas vetoriais que o usam deixam de funcionar.',
|
|
4867
|
+
'vp.whole_number': '{what} é um número inteiro.',
|
|
4868
|
+
'vp.f_dimensions': 'Dimensões',
|
|
4869
|
+
'vp.f_batch': 'Textos por pedido',
|
|
4870
|
+
'vp.f_per_minute': 'Pedidos por minuto',
|
|
4871
|
+
'vp.gone': 'O provedor de vetores {name} já não existe.',
|
|
4872
|
+
'vp.exists': 'Já existe um provedor de vetores {name}.',
|
|
4873
|
+
'vp.deleted': 'Provedor de vetores {name} excluído.',
|
|
4874
|
+
// ------------------------------------------------------------ AI assistant (sprint 164)
|
|
4875
|
+
'asst.workspace_utilities_ai_services': 'Utilitários do workspace → Serviços de IA',
|
|
4876
|
+
'asst.ai_assistant_settings': 'Configurações do assistente de IA',
|
|
4877
|
+
'asst.a_chat_with_an_ai': 'Um chat com um serviço de IA. O que os usuários escrevem, as linhas de contexto e os resultados das ferramentas vão para o provedor do serviço (Claude, OpenAI, Gemini ou o endpoint compatível com OpenAI na sua URL base). As consultas de contexto e ferramentas SQL executam com a função de banco de dados da aplicação; as ferramentas SQL são revertidas salvo se puderem alterar dados.',
|
|
4878
|
+
'asst.assistant': 'Assistente',
|
|
4879
|
+
'asst.ai_agent': 'Agente de IA',
|
|
4880
|
+
'asst.shared_components_ai_agents': 'Componentes Compartilhados → Agentes de IA',
|
|
4881
|
+
'asst.ai_service': 'Serviço de IA',
|
|
4882
|
+
'asst.tool_rounds_per_question': 'Rondas de ferramentas por pergunta',
|
|
4883
|
+
'asst.questions_per_conversation': 'Perguntas por conversa',
|
|
4884
|
+
'asst.system_prompt': 'Prompt do sistema',
|
|
4885
|
+
'asst.welcome_text': 'Texto de boas-vindas',
|
|
4886
|
+
'asst.placeholder': 'Espaço reservado',
|
|
4887
|
+
'asst.error_message': 'Mensagem de erro',
|
|
4888
|
+
'asst.also_for_users_who_are': 'Também para usuários sem sessão iniciada (cada pergunta custa tokens)',
|
|
4889
|
+
'asst.context_and_tools': 'Contexto e ferramentas',
|
|
4890
|
+
'asst.context_queries_json': 'Consultas de contexto (JSON)',
|
|
4891
|
+
'asst.tools_json': 'Ferramentas (JSON)',
|
|
4892
|
+
'asst.save_ai_assistant_settings': 'Salvar configurações do assistente de IA',
|
|
4893
|
+
'asst.ask_in_your_own_words': 'Perguntar com as suas palavras (IA)',
|
|
4894
|
+
'asst.built_in_phrases': 'frases integradas',
|
|
4895
|
+
'asst.also_for_users_who_are_2': 'Também para usuários sem sessão iniciada',
|
|
4896
|
+
'asst.save': 'Salvar',
|
|
4897
|
+
'asst.the_service_s_message': 'a mensagem do serviço',
|
|
4898
|
+
'asst.none_the_service_prompt_and': '- nenhum: o serviço, prompt e ferramentas abaixo -',
|
|
4899
|
+
'asst.choose': '- escolher -',
|
|
4900
|
+
'asst.off': '- desligado -',
|
|
4901
|
+
'asst.built_in_phrases_no_ai': 'Frases integradas (sem IA)',
|
|
4902
|
+
'asst.tools': 'Ferramentas',
|
|
4903
|
+
'asst.context_queries': 'Consultas de contexto',
|
|
4904
|
+
'asst.settings_saved': 'Configurações salvas.',
|
|
4905
|
+
'asst.no_service': 'Esta aplicação ainda não pode usar nenhum serviço de IA: um administrador adiciona um em {link} e permite que esta aplicação o use.',
|
|
4906
|
+
'asst.who_the_assistant_is_and': 'Quem é o assistente e o que pode responder. `&ITEM.` é substituído pelo valor do item como dados delimitados (nunca o id da sessão nem senhas).',
|
|
4907
|
+
'asst.run_before_each_question_their': 'Executadas antes de cada pergunta; as suas linhas vão para o modelo como dados. `[{"name": "policy", "sql": "select title, body from hr.policy where body @@ plainto_tsquery(:AI_PROMPT)", "max_rows": 5}]` (`:AI_PROMPT` é a pergunta, `:APP_USER` e itens como habitual).',
|
|
4908
|
+
'asst.the_model_calls_them_when': 'O modelo chama-as quando precisa. SQL: `{"name": "my_leave", "description": "…", "sql": "select … where status = :STATUS", "parameters": {"STATUS": {"type": "string", "enum": ["PENDING", "APPROVED"]}}}`; acrescente `"writes": true` para uma ferramenta que altera dados e `"authz": "SCHEME"` para a oferecer só a alguns usuários. REST: `{"name": "department", "type": "rest", "source": "DEPARTMENT", "description": "…", "parameters": {"dname": {"type": "string"}}}`. Tipos de parâmetro: string, integer, number, boolean, date; `"optional": true` permite nenhum.',
|
|
4909
|
+
'asst.agent_help': 'Um agente de {link} define o serviço, prompt do sistema, esforço de raciocínio, ferramentas e passos; salvar com um agente remove o serviço, prompt do sistema, ferramentas e rondas próprios da região.',
|
|
4910
|
+
'asst.no_rest_source': 'Ferramenta «{tool}»: não há origem de dados REST {source}.',
|
|
4911
|
+
'asst.no_authz': 'Ferramenta «{tool}»: não há esquema de autorização {scheme}.',
|
|
4912
|
+
'asst.no_agent': 'Não há agente de IA {agent}.',
|
|
4913
|
+
'asst.filter_intro': 'Os usuários escrevem uma pergunta; ela torna-se as configurações próprias do relatório (filtros, destaques, ordenação, quebras de controle, totais, agrupamento, pivot, gráfico, colunas calculadas; só colunas que o relatório mostra, só os seus operadores), mostradas como chips que podem editar, remover ou desfazer. Com um serviço de IA a pergunta e os nomes das colunas vão para o provedor do serviço; sem ele ({builtin}) o pgkiln lê frases comuns por si, em inglês, neerlandês e alemão.',
|
|
4914
|
+
// ------------------------------------------------------------ AI services (sprint 164)
|
|
4915
|
+
'aisv.service': 'Serviço',
|
|
4916
|
+
'aisv.api_key': 'Chave de API',
|
|
4917
|
+
'aisv.when_utc': 'Quando (UTC)',
|
|
4918
|
+
'aisv.application': 'Aplicação',
|
|
4919
|
+
'aisv.page': 'Página',
|
|
4920
|
+
'aisv.user': 'Usuário',
|
|
4921
|
+
'aisv.model': 'Modelo',
|
|
4922
|
+
'aisv.source': 'Origem',
|
|
4923
|
+
'aisv.input': 'Entrada',
|
|
4924
|
+
'aisv.output': 'Saída',
|
|
4925
|
+
'aisv.status': 'Status',
|
|
4926
|
+
'aisv.no_ai_requests_yet': 'Ainda não há pedidos de IA.',
|
|
4927
|
+
'aisv.only_administrators_configure_ai_services': 'Só administradores configuram serviços de IA.',
|
|
4928
|
+
'aisv.ai_services': 'Serviços de IA',
|
|
4929
|
+
'aisv.generate_text_with_ai': 'Gerar texto com IA',
|
|
4930
|
+
'aisv.provider': 'Provedor',
|
|
4931
|
+
'aisv.applications': 'Aplicações',
|
|
4932
|
+
'aisv.no_ai_services_yet': 'Ainda não há serviços de IA.',
|
|
4933
|
+
'aisv.requests': 'Pedidos',
|
|
4934
|
+
'aisv.input_tokens': 'Tokens de entrada',
|
|
4935
|
+
'aisv.output_tokens': 'Tokens de saída',
|
|
4936
|
+
'aisv.not_ok': 'Não ok',
|
|
4937
|
+
'aisv.builder_tests': 'testes do builder',
|
|
4938
|
+
'aisv.no_ai_requests_in_the': 'Nenhum pedido de IA nos últimos 30 dias.',
|
|
4939
|
+
'aisv.tokens_model_duration_and_status': 'Tokens, modelo, duração e status de cada chamada. Os prompts e respostas nunca são registados (as mensagens de depuração de uma aplicação no nível 9 mostram-nos).',
|
|
4940
|
+
'aisv.delete_service': 'Excluir serviço',
|
|
4941
|
+
'aisv.instead_of_the_base_url': 'Em vez da URL base: a URL de um servidor remoto (Utilitários do workspace → Servidores remotos) mais um caminho, para que mudar o endpoint altere um só valor. A chave de API é enviada para lá: escolha um servidor em cujos administradores do workspace confie.',
|
|
4942
|
+
'aisv.save': 'Salvar',
|
|
4943
|
+
'aisv.sends_a_prompt_to_the': 'Envia um prompt ao serviço (contado no registo de utilização como teste do builder).',
|
|
4944
|
+
'aisv.prompt': 'Prompt',
|
|
4945
|
+
'aisv.may_use': 'Pode usar',
|
|
4946
|
+
'aisv.requests_per_day': 'Pedidos por dia',
|
|
4947
|
+
'aisv.tokens_per_day': 'Tokens por dia',
|
|
4948
|
+
'aisv.no_applications': 'Nenhuma aplicação.',
|
|
4949
|
+
'aisv.save_access': 'Salvar acesso',
|
|
4950
|
+
'aisv.requests_today': 'Pedidos hoje',
|
|
4951
|
+
'aisv.tokens_today': 'Tokens hoje',
|
|
4952
|
+
'aisv.this_application_may_not_use': 'Esta aplicação ainda não pode usar nenhum serviço de IA.',
|
|
4953
|
+
'aisv.test': 'Testar',
|
|
4954
|
+
'aisv.when': 'Quando',
|
|
4955
|
+
'aisv.name': 'Nome',
|
|
4956
|
+
'aisv.description': 'Descrição',
|
|
4957
|
+
'aisv.effort_claude': 'Esforço (Claude)',
|
|
4958
|
+
'aisv.maximum_output_tokens': 'Tokens de saída máximos',
|
|
4959
|
+
'aisv.time_limit_seconds': 'Limite de tempo (segundos)',
|
|
4960
|
+
'aisv.base_url': 'URL base',
|
|
4961
|
+
'aisv.refusal_fallbacks_claude': 'Alternativas em caso de recusa (Claude)',
|
|
4962
|
+
'aisv.enabled': 'Ativado',
|
|
4963
|
+
'aisv.remove_the_stored_key_use': 'Remover a chave guardada (usar a padrão do servidor)',
|
|
4964
|
+
'aisv.remote_server': 'Servidor remoto',
|
|
4965
|
+
'aisv.path': 'Caminho',
|
|
4966
|
+
'aisv.e_g_claude': 'p. ex. CLAUDE',
|
|
4967
|
+
'aisv.upper_case_letters_digits_and': 'Letras maiúsculas, dígitos e _. Os processos referem-se ao serviço por este nome.',
|
|
4968
|
+
'aisv.per_request_1_128000_a': 'Por pedido (1 – 128000); um processo pode pedir menos.',
|
|
4969
|
+
'aisv.5_600_pages_wait_for': '5 – 600. As páginas esperam pela resposta.',
|
|
4970
|
+
'aisv.empty_the_provider_s_own': 'vazio: a API do próprio provedor',
|
|
4971
|
+
'aisv.after_the_server_s_base': 'Após a URL base do servidor, p. ex. /v1; vazio: a própria URL base.',
|
|
4972
|
+
'aisv.claude_anthropic': 'Claude (Anthropic)',
|
|
4973
|
+
'aisv.openai': 'OpenAI',
|
|
4974
|
+
'aisv.gemini_google_openai_compatible_endpoint': 'Gemini (Google, endpoint compatível com OpenAI)',
|
|
4975
|
+
'aisv.openai_compatible_ollama_vllm_azure': 'Compatível com OpenAI (Ollama, vLLM, Azure OpenAI, um gateway)',
|
|
4976
|
+
'aisv.model_default': 'Padrão do modelo',
|
|
4977
|
+
'aisv.none_the_base_url_above': 'nenhum: a URL base acima',
|
|
4978
|
+
'aisv.add_service': 'Adicionar serviço',
|
|
4979
|
+
'aisv.not_found': 'Não encontrado.',
|
|
4980
|
+
'aisv.the_service_now_calls_its': 'O serviço chama agora o seu servidor remoto: teste-o.',
|
|
4981
|
+
'aisv.the_service_calls_its_base': 'O serviço volta a chamar a sua URL base.',
|
|
4982
|
+
'aisv.an_openai_compatible_service_needs': 'Um serviço compatível com OpenAI precisa de uma URL base ou de um servidor remoto.',
|
|
4983
|
+
'aisv.the_test_failed': 'O teste falhou.',
|
|
4984
|
+
'aisv.prompts_and_the_item_values': 'Os prompts, e os valores de itens que contêm, são enviados para este provedor. Os endpoints Gemini e compatíveis com OpenAI falam o Chat Completions da OpenAI.',
|
|
4985
|
+
'aisv.how_deeply_claude_thinks_thinking': 'Quão profundamente o Claude pensa (o raciocínio está sempre ativo nos modelos Claude atuais): menos é mais rápido e barato; high ou mais para tarefas difíceis. Padrão do modelo: medium para o Claude Opus 5.5.',
|
|
4986
|
+
'aisv.when_claude_declines_a_request': 'Quando o Claude recusa um pedido por motivos de segurança, a Anthropic volta a executá-lo no modelo alternativo recomendado. O registo de utilização mostra o modelo que respondeu.',
|
|
4987
|
+
'aisv.access_saved': 'Acesso salvo.',
|
|
4988
|
+
'aisv.ai_service_added_allow_applications': 'Serviço de IA adicionado. Permita abaixo que as aplicações o usem e teste-o.',
|
|
4989
|
+
'aisv.ai_service_deleted': 'Serviço de IA excluído.',
|
|
4990
|
+
'aisv.the_model_is_a_name': 'O modelo é um nome como claude-opus-5-5 (letras, dígitos e . _ : / @ -).',
|
|
4991
|
+
'aisv.maximum_output_tokens_1_to': 'Tokens de saída máximos: de 1 a 128000.',
|
|
4992
|
+
'aisv.time_limit_5_to_600': 'Limite de tempo: de 5 a 600 segundos.',
|
|
4993
|
+
'aisv.the_base_url_starts_with': 'A URL base começa com http:// ou https://.',
|
|
4994
|
+
'aisv.an_openai_compatible_service_needs_2': 'Um serviço compatível com OpenAI precisa de uma URL base (p. ex. http://localhost:11434/v1 para o Ollama).',
|
|
4995
|
+
'aisv.the_name_is_upper_case': 'O nome são letras maiúsculas, dígitos e _ (p. ex. CLAUDE).',
|
|
4996
|
+
'aisv.the_path_starts_with_without': 'O caminho começa com /, sem espaços, p. ex. /v1.',
|
|
4997
|
+
'aisv.no_such_remote_server': 'Servidor remoto inexistente.',
|
|
4998
|
+
'aisv.limits_are_whole_numbers_of': 'Os limites são números inteiros de 0 ou mais (vazio: sem limite).',
|
|
4999
|
+
'aisv.services': 'Serviços',
|
|
5000
|
+
'aisv.usage_30_days': 'Utilização (30 dias)',
|
|
5001
|
+
'aisv.recent_requests': 'Pedidos recentes',
|
|
5002
|
+
'aisv.settings': 'Configurações',
|
|
5003
|
+
'aisv.app_builder': 'App Builder',
|
|
5004
|
+
'aisv.workspace_utilities': 'Utilitários do workspace',
|
|
5005
|
+
'aisv.activity': 'Atividade',
|
|
5006
|
+
'aisv.ai_usage': 'Utilização de IA',
|
|
5007
|
+
'aisv.the_server_has_no_pgkiln': 'O servidor não tem `PGKILN_SECRET_KEY`: as chaves de API não podem ser guardadas até ser definida (as variáveis de ambiente do servidor continuam a funcionar).',
|
|
5008
|
+
'aisv.model_help': 'Exatamente como o provedor o nomeia, p. ex. {model} (Claude) ou o modelo da OpenAI que a sua conta usa. O pgkiln nunca o altera.',
|
|
5009
|
+
'aisv.intro': 'Modelos de linguagem grandes que as aplicações desta instalação podem usar (processos e ações dinâmicas {process}, e {fn} a partir de SQL). Os prompts, incluindo os valores de itens que contêm, são enviados para o provedor escolhido. Permita cada aplicação na página do serviço.',
|
|
5010
|
+
'aisv.delete_confirm': 'Excluir o serviço de IA {name}? Os processos que o usam falham até outro serviço receber o seu nome.',
|
|
5011
|
+
'aisv.test_prompt': 'Responde com uma frase curta para confirmar que consegues ler isto.',
|
|
5012
|
+
'aisv.apps_intro': 'Que aplicações podem usar este serviço, com limites diários opcionais (UTC). Limites vazios: sem limite. Os pedidos acima de um limite falham com uma mensagem e são registados como {limited}.',
|
|
5013
|
+
'aisv.limited': 'limitado',
|
|
5014
|
+
'aisv.aria_req': 'Pedidos por dia para {app}',
|
|
5015
|
+
'aisv.aria_tok': 'Tokens por dia para {app}',
|
|
5016
|
+
'aisv.answered_by': 'Respondido por {model}: {input} tokens de entrada e {output} de saída.',
|
|
5017
|
+
// ------------------------------------------------------------ REST source catalogs (sprint 164)
|
|
5018
|
+
'rcat.what_the_document_had_that': 'O que o documento tinha que o catálogo não usa:',
|
|
5019
|
+
'rcat.openapi_3': 'OpenAPI 3',
|
|
5020
|
+
'rcat.swagger_2_0': 'Swagger 2.0',
|
|
5021
|
+
'rcat.file': 'Arquivo',
|
|
5022
|
+
'rcat.or_paste_it': 'Ou cole-o',
|
|
5023
|
+
'rcat.method': 'Método',
|
|
5024
|
+
'rcat.description': 'Descrição',
|
|
5025
|
+
'rcat.rest_source_catalogs': 'Catálogos de origens REST',
|
|
5026
|
+
'rcat.catalog': 'Catálogo',
|
|
5027
|
+
'rcat.base_url': 'URL base',
|
|
5028
|
+
'rcat.services': 'Serviços',
|
|
5029
|
+
'rcat.from': 'De',
|
|
5030
|
+
'rcat.updated_utc': 'Atualizado (UTC)',
|
|
5031
|
+
'rcat.no_catalogs_yet_import_an': 'Ainda não há catálogos: importe um documento OpenAPI ou crie um abaixo.',
|
|
5032
|
+
'rcat.service': 'Serviço',
|
|
5033
|
+
'rcat.path': 'Caminho',
|
|
5034
|
+
'rcat.parameters': 'Parâmetros',
|
|
5035
|
+
'rcat.columns': 'Colunas',
|
|
5036
|
+
'rcat.write_back': 'Escrita',
|
|
5037
|
+
'rcat.no_services_yet': 'Ainda não há serviços.',
|
|
5038
|
+
'rcat.delete_service': 'Excluir serviço',
|
|
5039
|
+
'rcat.delete_catalog': 'Excluir catálogo',
|
|
5040
|
+
'rcat.web_credential': 'Credencial web',
|
|
5041
|
+
'rcat.create': 'Criar',
|
|
5042
|
+
'rcat.download': 'Baixar',
|
|
5043
|
+
'rcat.add_a_service': 'Adicionar um serviço',
|
|
5044
|
+
'rcat.save': 'Salvar',
|
|
5045
|
+
'rcat.create_from_the_catalog': 'Criar a partir do catálogo',
|
|
5046
|
+
'rcat.updated': 'Atualizado',
|
|
5047
|
+
'rcat.or_read_it_from_a': 'Ou lê-lo a partir de uma URL',
|
|
5048
|
+
'rcat.name': 'Nome',
|
|
5049
|
+
'rcat.row_selector': 'Seletor de linhas',
|
|
5050
|
+
'rcat.parameters_json': 'Parâmetros (JSON)',
|
|
5051
|
+
'rcat.columns_json': 'Colunas (JSON)',
|
|
5052
|
+
'rcat.headers_json': 'Cabeçalhos (JSON)',
|
|
5053
|
+
'rcat.body_template': 'Modelo do corpo',
|
|
5054
|
+
'rcat.key_columns': 'Colunas-chave',
|
|
5055
|
+
'rcat.operations_json': 'Operações (JSON)',
|
|
5056
|
+
'rcat.remote_server': 'Servidor remoto',
|
|
5057
|
+
'rcat.api_version': 'Versão da API',
|
|
5058
|
+
'rcat.https_api_example_com_openapi': 'https://api.example.com/openapi.json',
|
|
5059
|
+
'rcat.the_server_reads_it_the': 'O servidor lê-o; o host tem de estar na sua lista de permissões (PGKILN_REST_ALLOWED_HOSTS).',
|
|
5060
|
+
'rcat.from_the_document': 'do documento',
|
|
5061
|
+
'rcat.instead_of_the_document_s': 'Em vez do servidor do documento, p. ex. https://test.api.example.com/v1.',
|
|
5062
|
+
'rcat.the_document_s_title': 'o título do documento',
|
|
5063
|
+
'rcat.the_data_source_s_name': 'O nome da origem de dados quando uma aplicação cria uma a partir deste serviço.',
|
|
5064
|
+
'rcat.pets_pet_id': '/pets/{pet_id}',
|
|
5065
|
+
'rcat.after_the_catalog_s_base': 'Após a URL base do catálogo; {name} é um parâmetro de caminho.',
|
|
5066
|
+
'rcat.where_the_rows_are_in': 'Onde estão as linhas na resposta; vazio: a resposta.',
|
|
5067
|
+
'rcat.e_g_weather_service': 'p. ex. Serviço meteorológico',
|
|
5068
|
+
'rcat.https_api_example_com_v1': 'https://api.example.com/v1',
|
|
5069
|
+
'rcat.e_g_a_test_system': 'p. ex. a URL de um sistema de teste (opcional num servidor remoto). As origens de dados criadas antes mantêm a URL com que foram criadas.',
|
|
5070
|
+
'rcat.e_g_crm': 'p. ex. CRM',
|
|
5071
|
+
'rcat.the_static_id_of_a': 'O id estático de um servidor remoto deste workspace (Utilitários do workspace → Servidores remotos): as origens de dados criadas a partir do catálogo nomeiam então o servidor e o caminho do serviço, e acompanham-no.',
|
|
5072
|
+
'rcat.the_service_s_name': 'o nome do serviço',
|
|
5073
|
+
'rcat.replace_the_services': 'Substituir os serviços',
|
|
5074
|
+
'rcat.import': 'Importar',
|
|
5075
|
+
'rcat.this_application_has_a_rest': 'Esta aplicação já tem uma origem de dados REST com esse nome: escolha outro nome.',
|
|
5076
|
+
'rcat.catalog_created_add_its_services': 'Catálogo criado: adicione os seus serviços.',
|
|
5077
|
+
'rcat.catalog_saved': 'Catálogo salvo.',
|
|
5078
|
+
'rcat.service_deleted': 'Serviço excluído.',
|
|
5079
|
+
'rcat.the_file_is_larger_than': 'O arquivo tem mais de 5 MB.',
|
|
5080
|
+
'rcat.choose_a_file_paste_a': 'Escolha um arquivo, cole um documento ou indique a sua URL.',
|
|
5081
|
+
'rcat.the_url_starts_with_http': 'A URL começa com http:// ou https://.',
|
|
5082
|
+
'rcat.choose_a_service_of_one': 'Escolha um serviço de um dos catálogos deste workspace.',
|
|
5083
|
+
'rcat.the_name_is_upper_case': 'O nome são letras maiúsculas, dígitos e _, começando por uma letra, p. ex. COUNTRIES.',
|
|
5084
|
+
'rcat.catalogs': 'Catálogos',
|
|
5085
|
+
'rcat.import_a_catalog': 'Importar um catálogo',
|
|
5086
|
+
'rcat.create_a_catalog_by_hand': 'Criar um catálogo à mão',
|
|
5087
|
+
'rcat.new_service': 'Novo serviço',
|
|
5088
|
+
'rcat.replace_from_a_document': 'Substituir a partir de um documento',
|
|
5089
|
+
'rcat.from_a_rest_source_catalog': 'A partir de um catálogo de origens REST',
|
|
5090
|
+
'rcat.app_builder': 'App Builder',
|
|
5091
|
+
'rcat.workspace_utilities': 'Utilitários do workspace',
|
|
5092
|
+
'rcat.doc_intro': 'Um documento {openapi} ou {swagger} em JSON (p. ex. {file}), ou um arquivo de catálogo baixado do pgkiln.',
|
|
5093
|
+
'rcat.doc_replacing': 'Os serviços do catálogo são substituídos pelos do documento; as origens de dados criadas antes a partir dele ficam como estão.',
|
|
5094
|
+
'rcat.url_answered': 'A URL respondeu HTTP {status}.',
|
|
5095
|
+
'rcat.headers_help': 'Cabeçalhos de pedido extra, não segredos: quem faz login é a credencial web de uma aplicação.',
|
|
5096
|
+
'rcat.unusable': 'O catálogo não pode ser usado tal como está: {problems}',
|
|
5097
|
+
'rcat.and_more': '(e mais {n})',
|
|
5098
|
+
'rcat.imported': 'Catálogo {name} importado com {n} serviço(s).',
|
|
5099
|
+
'rcat.import_failed': 'A importação falhou: {error}',
|
|
5100
|
+
'rcat.on_server': 'No servidor remoto {server}',
|
|
5101
|
+
'rcat.from_openapi': 'de um documento OpenAPI',
|
|
5102
|
+
'rcat.from_openapi_version': 'de um documento OpenAPI (versão {version})',
|
|
5103
|
+
'rcat.updated_when': 'atualizado {when} UTC',
|
|
5104
|
+
'rcat.add': 'Adicionar',
|
|
5105
|
+
'rcat.service_title': 'Serviço {name}',
|
|
5106
|
+
'rcat.url': 'URL:',
|
|
5107
|
+
'rcat.delete_service_confirm': 'Excluir o serviço {name}?',
|
|
5108
|
+
'rcat.delete_catalog_confirm': 'Excluir o catálogo {name} e os seus serviços? As origens de dados criadas a partir dele ficam.',
|
|
5109
|
+
'rcat.no_server': 'Catálogo salvo. Este workspace ainda não tem o servidor remoto {server}: adicione-o em Utilitários do workspace → Servidores remotos.',
|
|
5110
|
+
'rcat.replaced': 'Os serviços de {name} foram substituídos: {n} serviço(s).',
|
|
5111
|
+
'rcat.deleted': 'Catálogo {name} excluído.',
|
|
5112
|
+
'rcat.service_saved': 'Serviço {name} salvo.',
|
|
5113
|
+
'rcat.no_credential': 'Esta aplicação não tem a credencial web {name} (nem o seu workspace).',
|
|
5114
|
+
'rcat.copy_of': 'Uma cópia de um serviço dos {link} deste workspace: a URL, parâmetros, colunas e operações de escrita.',
|
|
5115
|
+
'rcat.catalogs_link': 'catálogos',
|
|
5116
|
+
// ------------------------------------------------------------ Blueprints (sprint 164)
|
|
5117
|
+
'bp.review': 'Rever',
|
|
5118
|
+
'bp.describe_the_application': 'Descreva a aplicação',
|
|
5119
|
+
'bp.draft_a_blueprint': 'Esboçar um blueprint',
|
|
5120
|
+
'bp.sql_workshop_ai': 'SQL Workshop → IA',
|
|
5121
|
+
'bp.name': 'Nome',
|
|
5122
|
+
'bp.save': 'Salvar',
|
|
5123
|
+
'bp.this_is_what_the_blueprint': 'Isto é o que o blueprint cria. Verifique-o; volte atrás para o alterar ou crie a aplicação.',
|
|
5124
|
+
'bp.alias': 'Alias',
|
|
5125
|
+
'bp.schema': 'Esquema',
|
|
5126
|
+
'bp.sign_in': 'Login',
|
|
5127
|
+
'bp.table': 'Tabela',
|
|
5128
|
+
'bp.columns': 'Colunas',
|
|
5129
|
+
'bp.sample_rows': 'Linhas de exemplo',
|
|
5130
|
+
'bp.the_sql': 'O SQL',
|
|
5131
|
+
'bp.a_dashboard_with_charts_per': 'Um painel com gráficos por tabela',
|
|
5132
|
+
'bp.menu_home_and_the_pages': 'Menu: Início e as entradas próprias das páginas.',
|
|
5133
|
+
'bp.first_user_admin_role': 'Primeiro usuário (função admin)',
|
|
5134
|
+
'bp.password_for_a_new_account': 'Senha (para uma conta nova)',
|
|
5135
|
+
'bp.back_to_the_editor': 'Voltar ao editor',
|
|
5136
|
+
'bp.the_blueprint_can_t_be': 'O blueprint ainda não pode ser criado:',
|
|
5137
|
+
'bp.blueprints': 'Blueprints',
|
|
5138
|
+
'bp.blueprint': 'Blueprint',
|
|
5139
|
+
'bp.application_created': 'Aplicação criada',
|
|
5140
|
+
'bp.changed': 'Alterado',
|
|
5141
|
+
'bp.delete': 'Excluir',
|
|
5142
|
+
'bp.no_saved_blueprints_yet': 'Ainda não há blueprints salvos.',
|
|
5143
|
+
'bp.a_blueprint_of_an_application': 'Um blueprint de uma aplicação deste workspace: as tabelas que as suas páginas usam, as suas páginas e o seu menu, para rever e alterar no editor (para uma cópia, uma nova versão ou um sistema de teste). Nada é criado até confirmar a revisão.',
|
|
5144
|
+
'bp.application': 'Aplicação',
|
|
5145
|
+
'bp.sample_rows_up_to_20': 'Linhas de exemplo: até 20 por tabela',
|
|
5146
|
+
'bp.the_rows_are_copied_into': 'As linhas são copiadas tal como estão para o blueprint: deixe isto desligado para dados pessoais ou confidenciais.',
|
|
5147
|
+
'bp.drafted_by_ai_review_it': 'Esboçado por IA: reveja-o antes de criar algo.',
|
|
5148
|
+
'bp.create_the_application': 'Criar a aplicação',
|
|
5149
|
+
'bp.new_blueprint': 'Novo blueprint',
|
|
5150
|
+
'bp.create_a_blueprint': 'Criar um blueprint',
|
|
5151
|
+
'bp.e_g_track_projects_with': 'p. ex. Acompanhar projetos com tarefas e prazos, e as horas que as pessoas lhes dedicam',
|
|
5152
|
+
'bp.projects': 'Projetos',
|
|
5153
|
+
'bp.blueprint_deleted_applications_created_from': 'Blueprint excluído (as aplicações criadas a partir dele ficam).',
|
|
5154
|
+
'bp.there_is_no_such_blueprint': 'Esse blueprint não existe.',
|
|
5155
|
+
'bp.the_app_builder_has_no': 'O App Builder ainda não tem serviço de IA.',
|
|
5156
|
+
'bp.describe_the_application_2': 'Descreva a aplicação.',
|
|
5157
|
+
'bp.draft_with_ai': 'Esboçar com IA',
|
|
5158
|
+
'bp.tables': 'Tabelas',
|
|
5159
|
+
'bp.pages': 'Páginas',
|
|
5160
|
+
'bp.from_an_application': 'A partir de uma aplicação',
|
|
5161
|
+
'bp.app_builder': 'App Builder',
|
|
5162
|
+
'bp.create': 'Criar',
|
|
5163
|
+
'bp.too_long': 'O blueprint é demasiado longo (no máximo {n} caracteres).',
|
|
5164
|
+
'bp.bad_json': 'JSON inválido: {error}',
|
|
5165
|
+
'bp.title': 'Blueprint: {name}',
|
|
5166
|
+
'bp.intro': 'Um blueprint descreve uma aplicação: as suas tabelas (cada tabela recebe um {id}; {references} cria uma chave estrangeira), páginas ({pages}), menu e linhas de exemplo. {review} mostra o que vai criar; nada é criado antes de confirmar lá.',
|
|
5167
|
+
'bp.no_service': 'O App Builder não tem serviço de IA: um administrador escolhe um em {link}. Pode escrever o blueprint você mesmo.',
|
|
5168
|
+
'bp.db_role': '(função de banco de dados {role})',
|
|
5169
|
+
'bp.alias_taken': 'Já existe uma aplicação com o alias {alias}: altere "alias" e "schema" no blueprint.',
|
|
5170
|
+
'bp.alias_taken_short': 'Já existe uma aplicação com o alias {alias}.',
|
|
5171
|
+
'bp.review_title': 'Rever',
|
|
5172
|
+
'bp.list_intro': 'Descreva uma aplicação como blueprint (tabelas, páginas, menu, linhas de exemplo), reveja-a e crie-a.',
|
|
5173
|
+
'bp.saved': 'Blueprint {name} salvo.',
|
|
5174
|
+
'bp.created': 'Aplicação {alias} criada a partir do blueprint: {tables} tabela(s), {rows} linha(s) de exemplo.',
|
|
5175
|
+
'bp.admin_role': 'A conta existente {user} recebeu a função admin.',
|
|
5176
|
+
'bp.not_created': 'Nenhuma aplicação foi criada: {error}',
|
|
5177
|
+
// ------------------------------------------------------------ JSON sources (sprint 164)
|
|
5178
|
+
'jsrc.a_column_per_path_in': 'Uma coluna por caminho no documento (chaves separadas por pontos, p. ex. `address.city`). Um valor que não se lê como o tipo aparece vazio. Salvar uma linha escreve só os caminhos cujos valores mudaram: as chaves que esta lista não nomeia ficam no documento. Esvazie um nome para remover uma coluna.',
|
|
5179
|
+
'jsrc.column': 'Coluna',
|
|
5180
|
+
'jsrc.path': 'Caminho',
|
|
5181
|
+
'jsrc.type': 'Tipo',
|
|
5182
|
+
'jsrc.read_only': 'Só leitura',
|
|
5183
|
+
'jsrc.json_source': 'Origem JSON',
|
|
5184
|
+
'jsrc.table_and_jsonb_column': 'Tabela e coluna jsonb',
|
|
5185
|
+
'jsrc.a_column_of_a_table': 'Uma coluna de uma tabela, ou a coluna de documento de uma tabela de documentos. A tabela precisa de uma chave primária.',
|
|
5186
|
+
'jsrc.the_view_also_adds_and': 'A view também adiciona e exclui linhas da tabela',
|
|
5187
|
+
'jsrc.for_a_table_of_documents': 'Para uma tabela de documentos: um insert na view adiciona uma linha, um delete remove-a. Desligado: a view só altera os documentos das linhas existentes.',
|
|
5188
|
+
'jsrc.columns': 'Colunas',
|
|
5189
|
+
'jsrc.remove_this_array': 'Remover este array',
|
|
5190
|
+
'jsrc.add_an_array': 'Adicionar um array',
|
|
5191
|
+
'jsrc.add_the_array_then_propose': 'Adicione o array e depois Propor a partir dos dados preenche as colunas (ou escreva-as após salvar).',
|
|
5192
|
+
'jsrc.json_sources': 'Origens JSON',
|
|
5193
|
+
'jsrc.a_json_source_describes_a': 'Uma origem JSON descreve uma coluna jsonb: uma coluna por caminho nos seus documentos e os arrays de objetos como linhas próprias. O pgkiln cria views atualizáveis a partir dela, para que formulários, relatórios, grelhas interativas, REST e MCP leiam e escrevam os documentos como tabelas. Salvar uma linha altera só os caminhos que mudou: as chaves que a origem não conhece ficam. Para uma tabela com as suas tabelas filhas como um documento, veja SQL Workshop › Propriedades da tabela › View de documentos.',
|
|
5194
|
+
'jsrc.name': 'Nome',
|
|
5195
|
+
'jsrc.views': 'Views',
|
|
5196
|
+
'jsrc.not_made': 'não criadas',
|
|
5197
|
+
'jsrc.no_json_sources_yet': 'Ainda não há origens JSON.',
|
|
5198
|
+
'jsrc.delete_json_source': 'Excluir origem JSON',
|
|
5199
|
+
'jsrc.proposed_from_up_to_200': 'Proposto a partir de até 200 documentos: verifique os nomes e tipos e depois salve.',
|
|
5200
|
+
'jsrc.propose_from_the_data': 'Propor a partir dos dados',
|
|
5201
|
+
'jsrc.add_json_source': 'Adicionar origem JSON',
|
|
5202
|
+
'jsrc.open_in_the_sql_worksheet': 'Abrir na folha de trabalho SQL',
|
|
5203
|
+
'jsrc.create_page': 'Criar página',
|
|
5204
|
+
'jsrc.the_element_itself': '(o próprio elemento)',
|
|
5205
|
+
'jsrc.name_static_id': 'Nome (id estático)',
|
|
5206
|
+
'jsrc.description': 'Descrição',
|
|
5207
|
+
'jsrc.view': 'View',
|
|
5208
|
+
'jsrc.page_number': 'Número da página',
|
|
5209
|
+
'jsrc.title': 'Título',
|
|
5210
|
+
'jsrc.e_g_emp_profile': 'p. ex. EMP_PROFILE',
|
|
5211
|
+
'jsrc.upper_case_letters_digits_and': 'Letras maiúsculas, dígitos e _.',
|
|
5212
|
+
'jsrc.e_g_emp_profile_2': 'p. ex. emp_profile',
|
|
5213
|
+
'jsrc.made_in_the_table_s': 'Criada no esquema da tabela. As regiões, REST e MCP usam-na como uma tabela.',
|
|
5214
|
+
'jsrc.the_array_in_the_document': 'O array no documento, p. ex. skills.',
|
|
5215
|
+
'jsrc.e_g_skills': 'p. ex. skills',
|
|
5216
|
+
'jsrc.e_g_emp_profile_skills': 'p. ex. emp_profile_skills',
|
|
5217
|
+
'jsrc.save': 'Salvar',
|
|
5218
|
+
'jsrc.the_views_are_not_made': 'As views ainda não foram criadas.',
|
|
5219
|
+
'jsrc.make_the_views_again': 'Recriar as views',
|
|
5220
|
+
'jsrc.create_views': 'Criar views',
|
|
5221
|
+
'jsrc.check_the_statements_then_run': 'Verifique as instruções e depois execute-as como script.',
|
|
5222
|
+
'jsrc.json_source_saved': 'Origem JSON salva.',
|
|
5223
|
+
'jsrc.the_page_number_is_a': 'O número da página é um número inteiro a partir de 1.',
|
|
5224
|
+
'jsrc.choose_a_table_and_its': 'Escolha uma tabela e a sua coluna json ou jsonb.',
|
|
5225
|
+
'jsrc.create_page_needs_a_table': 'Criar página precisa de uma tabela com chave de uma coluna; use as views em regiões próprias.',
|
|
5226
|
+
'jsrc.sources': 'Origens',
|
|
5227
|
+
'jsrc.app_builder': 'App Builder',
|
|
5228
|
+
'jsrc.shared_components': 'Componentes Compartilhados',
|
|
5229
|
+
'jsrc.aria_name': 'Coluna {n}: nome',
|
|
5230
|
+
'jsrc.aria_path': 'Coluna {n}: caminho',
|
|
5231
|
+
'jsrc.aria_type': 'Coluna {n}: tipo',
|
|
5232
|
+
'jsrc.aria_readonly': 'Coluna {n}: só leitura',
|
|
5233
|
+
'jsrc.no_json_table': '(nenhuma tabela com coluna json ou jsonb)',
|
|
5234
|
+
'jsrc.array_view_help': 'Uma linha por elemento: a chave da tabela, {rowkey} (a chave do elemento) e {position} (1, 2 …), depois estas colunas. Use-a como grelha de detalhe.',
|
|
5235
|
+
'jsrc.page_exists': 'A página {n} já existe.',
|
|
5236
|
+
'jsrc.form_on': 'Um formulário sobre {view}. Abra-o com a chave na URL ({item}), p. ex. a partir do link de um relatório.',
|
|
5237
|
+
'jsrc.form_on_grid': 'Um formulário sobre {view} com uma grelha de detalhe para {arrays}. Abra-o com a chave na URL ({item}), p. ex. a partir do link de um relatório.',
|
|
5238
|
+
'jsrc.form_on_grids': 'Um formulário sobre {view} com grelhas de detalhe para {arrays}. Abra-o com a chave na URL ({item}), p. ex. a partir do link de um relatório.',
|
|
5239
|
+
'jsrc.delete_confirm': 'Excluir a origem JSON {name}? As suas views ficam no banco de dados (elimine-as no SQL Workshop).',
|
|
5240
|
+
'jsrc.view_taken': 'A view {view} pertence à origem JSON {source}.',
|
|
5241
|
+
'jsrc.key_changed': 'A chave primária de {table} mudou: volte a salvar a origem.',
|
|
5242
|
+
'jsrc.nothing_changed': 'Nada foi alterado: {error}',
|
|
5243
|
+
'jsrc.views_made': 'As views de {name} foram criadas: {views}.',
|
|
5244
|
+
'jsrc.page_made': 'Página {n} criada: um formulário sobre {view}.',
|
|
5245
|
+
'jsrc.page_made_grids': 'Página {n} criada: um formulário sobre {view} com grelhas de detalhe.',
|
|
5246
|
+
// ------------------------------------------------------------ REST API (PostgREST, OAuth clients) (sprint 164)
|
|
5247
|
+
'apip.for_development_and_trusted_scripts': 'Para desenvolvimento e scripts confiáveis: o token age como a conta até expirar. As funções são lidas a cada pedido; desativar a conta ou revogar o seu acesso para o token de imediato (`meta.api_check`). Para invalidar todos os tokens, altere `API_JWT_SECRET`.',
|
|
5248
|
+
'apip.roles': 'Funções',
|
|
5249
|
+
'apip.create_client': 'Criar cliente',
|
|
5250
|
+
'apip.client_id': 'ID do cliente',
|
|
5251
|
+
'apip.client_secret': 'Segredo do cliente',
|
|
5252
|
+
'apip.client': 'Cliente',
|
|
5253
|
+
'apip.token': 'Token',
|
|
5254
|
+
'apip.secret_changed': 'Segredo alterado',
|
|
5255
|
+
'apip.last_used': 'Último uso',
|
|
5256
|
+
'apip.actions': 'Ações',
|
|
5257
|
+
'apip.save': 'Salvar',
|
|
5258
|
+
'apip.no_clients_yet': 'Ainda não há clientes.',
|
|
5259
|
+
'apip.not_reachable': 'inacessível',
|
|
5260
|
+
'apip.users_create_their_own_tokens': 'Os usuários criam os seus próprios tokens',
|
|
5261
|
+
'apip.my_account': 'Minha conta',
|
|
5262
|
+
'apip.issue_token': 'Emitir token',
|
|
5263
|
+
'apip.path': 'Caminho',
|
|
5264
|
+
'apip.kind': 'Tipo',
|
|
5265
|
+
'apip.try_it': 'Experimentar',
|
|
5266
|
+
'apip.new_client': 'Novo cliente',
|
|
5267
|
+
'apip.comma_separated_or_pick_below': 'separados por vírgulas, ou escolha abaixo',
|
|
5268
|
+
'apip.no_roles': 'sem funções',
|
|
5269
|
+
'apip.keep_the_old_secret': 'Manter o segredo antigo',
|
|
5270
|
+
'apip.status': 'Status',
|
|
5271
|
+
'apip.methods': 'Métodos',
|
|
5272
|
+
'apip.name': 'Nome',
|
|
5273
|
+
'apip.token_lifetime_minutes': 'Duração do token (minutos)',
|
|
5274
|
+
'apip.description': 'Descrição',
|
|
5275
|
+
'apip.api_database_role': 'Função de banco de dados da API',
|
|
5276
|
+
'apip.account': 'Conta',
|
|
5277
|
+
'apip.valid_for_hours': 'Válido durante (horas)',
|
|
5278
|
+
'apip.e_g_payroll_sync': 'p. ex. payroll-sync',
|
|
5279
|
+
'apip.lower_case_letters_digits': 'Letras minúsculas, dígitos, . _ -',
|
|
5280
|
+
'apip.5_to_1440': 'De 5 a 1440.',
|
|
5281
|
+
'apip.who_uses_it': 'quem o usa',
|
|
5282
|
+
'apip.e_g_myapp_api': 'p. ex. myapp_api',
|
|
5283
|
+
'apip.grant_it_only_the_api': 'Conceda-lhe só as views e funções do esquema api, e conceda-a a pgkiln_authenticator. Vazio: os tokens só funcionam para os módulos REST que o pgkiln serve (Componentes Compartilhados → Módulos REST).',
|
|
5284
|
+
'apip.revoke': 'Revogar',
|
|
5285
|
+
'apip.reactivate': 'Reativar',
|
|
5286
|
+
'apip.problem': 'Problema:',
|
|
5287
|
+
'apip.check_the_name_lower_case': 'Verifique o nome (letras minúsculas, dígitos, . _ -) e a duração do token (5–1440 minutos).',
|
|
5288
|
+
'apip.setup': 'Configuração',
|
|
5289
|
+
'apip.issue_a_token': 'Emitir um token',
|
|
5290
|
+
'apip.endpoints': 'Endpoints',
|
|
5291
|
+
'apip.app_builder': 'App Builder',
|
|
5292
|
+
'apip.rest_api': 'API REST',
|
|
5293
|
+
'apip.oauth_intro': 'Para sistemas que chamam a API (como o {ords} do ORDS): um cliente troca o seu id e segredo por um token de acesso em {url} ({grant}) e age como {client} com as suas funções, lidas a cada pedido.',
|
|
5294
|
+
'apip.new_secret_for': 'Novo segredo para {name}',
|
|
5295
|
+
'apip.client_created': 'Cliente {name} criado',
|
|
5296
|
+
'apip.copy_now': 'Copie o segredo agora: só é mostrado uma vez.',
|
|
5297
|
+
'apip.grace': 'O segredo anterior continua a funcionar durante {n} horas.',
|
|
5298
|
+
'apip.aria_roles': 'Funções de {name}',
|
|
5299
|
+
'apip.add': 'Adicionar',
|
|
5300
|
+
'apip.minutes': '{n} min',
|
|
5301
|
+
'apip.old_valid_until': 'segredo antigo válido até {when}',
|
|
5302
|
+
'apip.never': 'nunca',
|
|
5303
|
+
'apip.new_secret': 'Novo segredo',
|
|
5304
|
+
'apip.old_24h': 'antigo válido 24 h',
|
|
5305
|
+
'apip.old_7d': 'antigo válido 7 dias',
|
|
5306
|
+
'apip.old_now': 'antigo inválido já',
|
|
5307
|
+
'apip.delete': 'Excluir',
|
|
5308
|
+
'apip.ok': 'OK:',
|
|
5309
|
+
'apip.intro': 'O PostgREST corre ao lado do pgkiln e serve o esquema {schema} por HTTP. Os pedidos levam um JWT cuja claim {role} é a função de API desta aplicação; a segurança em nível de linha usa os mesmos {user} e {has} que as páginas web.',
|
|
5310
|
+
'apip.at': 'PostgREST em {url}:',
|
|
5311
|
+
'apip.dedicated': '{role} é uma função dedicada',
|
|
5312
|
+
'apip.no_role': 'Sem função de API: os tokens são só para os módulos REST que o pgkiln serve',
|
|
5313
|
+
'apip.may_switch': 'pgkiln_authenticator pode mudar para {role}',
|
|
5314
|
+
'apip.run_grant': '{run} {sql}',
|
|
5315
|
+
'apip.run': 'execute',
|
|
5316
|
+
'apip.self_help': 'Em {account}, os usuários com sessão iniciada criam um token que age como eles. Um usuário a quem a aplicação exige login em dois fatores passa primeiro por um segundo passo (se o último tiver mais de 15 minutos).',
|
|
5317
|
+
'apip.methods_for': 'Métodos para {role}',
|
|
5318
|
+
'apip.none': 'nenhum',
|
|
5319
|
+
'apip.nothing_yet': 'Ainda nada no esquema {schema}. Crie lá views e funções e conceda-as à função de API.',
|
|
5320
|
+
'apip.nothing_yet_no_role': 'Ainda nada no esquema {schema}, ou nenhuma função de API definida. Crie lá views e funções e conceda-as à função de API.',
|
|
5321
|
+
'apip.reload': 'Após alterações ao esquema execute {sql} para que o PostgREST as receba. Descrição OpenAPI: {link}.',
|
|
5322
|
+
'apip.roles_saved': 'Funções de {name} salvas.',
|
|
5323
|
+
// ------------------------------------------------------------ AI agents and tools (sprint 164)
|
|
5324
|
+
'agt.this_application_may_not_use': 'Esta aplicação ainda não pode usar nenhum serviço de IA: um administrador adiciona um em Utilitários do workspace → Serviços de IA e permite que esta aplicação o use.',
|
|
5325
|
+
'agt.agent': 'Agente',
|
|
5326
|
+
'agt.tools': 'Ferramentas',
|
|
5327
|
+
'agt.the_agent_acts_only_through': 'O agente age só através das ferramentas que marcar.',
|
|
5328
|
+
'agt.add_one': 'adicione uma',
|
|
5329
|
+
'agt.used_by': 'Usado por',
|
|
5330
|
+
'agt.no_ai_assistant_region_uses': 'Nenhuma região de assistente de IA usa ainda este agente (Page Designer → uma região de assistente de IA → Agente de IA).',
|
|
5331
|
+
'agt.delete_agent': 'Excluir agente',
|
|
5332
|
+
'agt.tool': 'Ferramenta',
|
|
5333
|
+
'agt.no_agent_uses_this_tool': 'Nenhum agente usa ainda esta ferramenta.',
|
|
5334
|
+
'agt.delete_tool': 'Excluir ferramenta',
|
|
5335
|
+
'agt.every_tool_call_of_the': 'Cada chamada de ferramenta dos assistentes e agentes de IA da aplicação, com os argumentos que o modelo deu (guardados 30 dias).',
|
|
5336
|
+
'agt.when_utc': 'Quando (UTC)',
|
|
5337
|
+
'agt.page': 'Página',
|
|
5338
|
+
'agt.user': 'Usuário',
|
|
5339
|
+
'agt.arguments': 'Argumentos',
|
|
5340
|
+
'agt.status': 'Status',
|
|
5341
|
+
'agt.no_tool_calls_yet': 'Ainda não há chamadas de ferramentas.',
|
|
5342
|
+
'agt.ai_agents': 'Agentes de IA',
|
|
5343
|
+
'agt.ai_usage': 'Utilização de IA',
|
|
5344
|
+
'agt.ai_service': 'Serviço de IA',
|
|
5345
|
+
'agt.authorization': 'Autorização',
|
|
5346
|
+
'agt.no_ai_agents_yet': 'Ainda não há agentes de IA.',
|
|
5347
|
+
'agt.type': 'Tipo',
|
|
5348
|
+
'agt.no_ai_tools_yet': 'Ainda não há ferramentas de IA.',
|
|
5349
|
+
'agt.add_agent': 'Adicionar agente',
|
|
5350
|
+
'agt.add_tool': 'Adicionar ferramenta',
|
|
5351
|
+
'agt.when': 'Quando',
|
|
5352
|
+
'agt.authorization_scheme': 'Esquema de autorização',
|
|
5353
|
+
'agt.name': 'Nome',
|
|
5354
|
+
'agt.description': 'Descrição',
|
|
5355
|
+
'agt.reasoning_effort': 'Esforço de raciocínio',
|
|
5356
|
+
'agt.maximum_steps': 'Passos máximos',
|
|
5357
|
+
'agt.maximum_output_tokens': 'Tokens de saída máximos',
|
|
5358
|
+
'agt.system_prompt': 'Prompt do sistema',
|
|
5359
|
+
'agt.sql_query_sql': 'Consulta SQL (SQL)',
|
|
5360
|
+
'agt.function_pl_pgsql': 'Função (PL/pgSQL)',
|
|
5361
|
+
'agt.rest_data_source_rest': 'Origem de dados REST (REST)',
|
|
5362
|
+
'agt.action_javascript': 'Ação (JavaScript)',
|
|
5363
|
+
'agt.pages_navigate': 'Páginas (Navigate)',
|
|
5364
|
+
'agt.search_configuration_retrieve': 'Configuração de pesquisa (Retrieve)',
|
|
5365
|
+
'agt.parameters_json_not_for_navigate': 'Parâmetros (JSON; não para Navigate nem Retrieve)',
|
|
5366
|
+
'agt.maximum_rows': 'Linhas máximas',
|
|
5367
|
+
'agt.time_limit_seconds': 'Limite de tempo (segundos)',
|
|
5368
|
+
'agt.e_g_sales_agent': 'p. ex. SALES_AGENT',
|
|
5369
|
+
'agt.upper_case_letters_digits_and': 'Letras maiúsculas, dígitos e _. As regiões de assistente de IA nomeiam o agente.',
|
|
5370
|
+
'agt.rounds_of_tool_calls_per': 'Rondas de chamadas de ferramentas por pergunta (1 – 20); depois o modelo tem de responder.',
|
|
5371
|
+
'agt.the_service_s': 'o do serviço',
|
|
5372
|
+
'agt.per_call_to_the_model': 'Por chamada ao modelo (nunca acima do máximo do serviço).',
|
|
5373
|
+
'agt.e_g_top_earners': 'p. ex. top_earners',
|
|
5374
|
+
'agt.letters_digits_and_the_model': 'Letras, dígitos e _: o modelo chama a ferramenta por este nome.',
|
|
5375
|
+
'agt.e_g_sales_give_discount': 'p. ex. sales.give_discount',
|
|
5376
|
+
'agt.schema_name_called_as_the': 'schema.nome, chamada com a função da aplicação com argumentos nomeados: cada nome de parâmetro em minúsculas é um nome de argumento (P_ORDER → p_order). Pode alterar dados.',
|
|
5377
|
+
'agt.e_g_highlightorder': 'p. ex. highlightOrder',
|
|
5378
|
+
'agt.after_the_answer_the_browser': 'Após a resposta, o navegador chama a função registada com pgkiln.actions.register(name) com {value: the arguments}, e as ações dinâmicas do evento personalizado com esse nome.',
|
|
5379
|
+
'agt.the_page_numbers_the_agent': 'Os números de página para os quais o agente pode fazer links. O pgkiln oferece só os que o usuário pode abrir e constrói a URL (valores de itens com o seu checksum).',
|
|
5380
|
+
'agt.rows_the_model_gets_back': 'Linhas que o modelo recebe (1 – 500).',
|
|
5381
|
+
'agt.sql_and_function_tools_1': 'Ferramentas SQL e de função (1 – 60).',
|
|
5382
|
+
'agt.none_everyone_who_may_use': '- nenhum: todos os que podem usar a página -',
|
|
5383
|
+
'agt.must_not_be_the_public': 'Não pode ser o usuário público',
|
|
5384
|
+
'agt.choose': '- escolher -',
|
|
5385
|
+
'agt.the_service_s_2': 'O do serviço',
|
|
5386
|
+
'agt.save': 'Salvar',
|
|
5387
|
+
'agt.the_conversation_the_tools_results': 'A conversa, os resultados das ferramentas e o prompt do sistema vão para o provedor deste serviço.',
|
|
5388
|
+
'agt.only_users_who_pass_it': 'Só os usuários que o cumprem podem usar o agente (as regiões mostram uma mensagem aos outros).',
|
|
5389
|
+
'agt.what_the_tool_does_each': 'O que a ferramenta faz; cada tipo usa os campos abaixo que o nomeiam.',
|
|
5390
|
+
'agt.tells_the_model_what_the': 'Diz ao modelo o que a ferramenta faz e quando usá-la.',
|
|
5391
|
+
'agt.the_parameters_become_the_source': 'Os parâmetros tornam-se os parâmetros da origem.',
|
|
5392
|
+
'agt.only_users_who_pass_it_2': 'A ferramenta só é oferecida aos usuários que o cumprem.',
|
|
5393
|
+
'agt.ai_agent_saved': 'Agente de IA salvo.',
|
|
5394
|
+
'agt.ai_tool_saved': 'Ferramenta de IA salva.',
|
|
5395
|
+
'agt.parameters_not_valid_json': 'Parâmetros: JSON inválido.',
|
|
5396
|
+
'agt.tool_calls': 'Chamadas de ferramentas',
|
|
5397
|
+
'agt.agents': 'Agentes',
|
|
5398
|
+
'agt.ai_agent': 'Agente de IA',
|
|
5399
|
+
'agt.ai_tool': 'Ferramenta de IA',
|
|
5400
|
+
'agt.app_builder': 'App Builder',
|
|
5401
|
+
'agt.shared_components': 'Componentes Compartilhados',
|
|
5402
|
+
'agt.type.sql': 'Consulta SQL (só leitura, com a função da aplicação)',
|
|
5403
|
+
'agt.type.function': 'Função PL/pgSQL (pode alterar dados)',
|
|
5404
|
+
'agt.type.rest': 'Origem de dados REST',
|
|
5405
|
+
'agt.type.javascript': 'Ação JavaScript no navegador',
|
|
5406
|
+
'agt.type.navigate': 'Navigate: um link para uma página',
|
|
5407
|
+
'agt.type.retrieve': 'Retrieve (RAG): linhas de uma configuração de pesquisa',
|
|
5408
|
+
'agt.effort_help': 'Claude: o esforço de saída (profundidade de raciocínio). OpenAI, Gemini e compatíveis com OpenAI: reasoning_effort (deixe vazio para modelos sem raciocínio).',
|
|
5409
|
+
'agt.system_help': 'Quem é o agente, o que pode responder e quando usar cada ferramenta. &ITEM. é substituído pelo valor do item como dados delimitados.',
|
|
5410
|
+
'agt.no_tools': 'Ainda não há ferramentas de IA: {link}.',
|
|
5411
|
+
'agt.delete_agent_confirm': 'Excluir o agente {name}? As regiões que o usam mostram que o assistente não está configurado.',
|
|
5412
|
+
'agt.sql_help': 'Um SELECT com os parâmetros como valores de bind :NAME (e :APP_USER, itens). Executa com a função de banco de dados da aplicação (aplicam-se permissões e segurança em nível de linha) numa transação só de leitura.',
|
|
5413
|
+
'agt.delete_tool_confirm': 'Excluir a ferramenta {name}?',
|
|
5414
|
+
'agt.whole_number': '{what} é um número inteiro.',
|
|
5415
|
+
'agt.f_steps': 'Passos máximos',
|
|
5416
|
+
'agt.f_tokens': 'Tokens de saída máximos',
|
|
5417
|
+
'agt.f_rows': 'Linhas máximas',
|
|
5418
|
+
'agt.f_timeout': 'Limite de tempo',
|
|
5419
|
+
'agt.intro': 'Um agente responde numa região de assistente de IA e age só através das ferramentas que lhe der: consultas SQL (só leitura, com a função de banco de dados da aplicação, por isso aplica-se a segurança em nível de linha), funções PL/pgSQL, origens de dados REST, ações JavaScript no navegador e links para páginas (o pgkiln constrói a URL e o seu checksum, só para páginas que o usuário pode abrir). Uma ferramenta Retrieve dá ao agente as linhas de uma configuração de pesquisa que correspondem a um texto pelo significado (RAG), de novo com a função da aplicação. O que os usuários escrevem e os resultados das ferramentas vão para o serviço de IA do agente. {usage} lista cada chamada de ferramenta.',
|
|
5420
|
+
'agt.agent_gone': 'O agente {name} já não existe.',
|
|
5421
|
+
'agt.agent_exists': 'Já existe um agente {name}.',
|
|
5422
|
+
'agt.no_rest_source': 'Não há origem de dados REST {name}.',
|
|
5423
|
+
'agt.no_search_config': 'Não há configuração de pesquisa {name} com origem de tabela ou SQL.',
|
|
5424
|
+
'agt.no_page': 'Não há página {n}.',
|
|
5425
|
+
'agt.tool_gone': 'A ferramenta {name} já não existe.',
|
|
5426
|
+
'agt.tool_used': 'A ferramenta {name} é usada por {agents}: retire-a primeiro desses agentes.',
|
|
5427
|
+
// ------------------------------------------------------------ Data Reporter settings (sprint 164)
|
|
5428
|
+
'drep.static_id': 'Id estático',
|
|
5429
|
+
'drep.label': 'Rótulo',
|
|
5430
|
+
'drep.description_shown_to_users': 'Descrição (mostrada aos usuários)',
|
|
5431
|
+
'drep.app_builder_data_reporter': 'App Builder → Data Reporter',
|
|
5432
|
+
'drep.remove_this_data_source_users': 'Remover esta origem de dados (os relatórios dos usuários sobre ela deixam de funcionar)',
|
|
5433
|
+
'drep.offer': 'Oferecer',
|
|
5434
|
+
'drep.column': 'Coluna',
|
|
5435
|
+
'drep.format_mask': 'Máscara de formato',
|
|
5436
|
+
'drep.not_in_the_table': 'não está na tabela',
|
|
5437
|
+
'drep.data_reporter_settings': 'Configurações do Data Reporter',
|
|
5438
|
+
'drep.signed_in_users_build_their': 'Os usuários com sessão iniciada criam os seus próprios relatórios a partir das origens de dados abaixo: escolhem colunas oferecidas, filtram, agrupam com totais, ordenam e desenham um gráfico, e salvam relatórios privados ou partilhados. Os relatórios executam com a função de banco de dados da aplicação, por isso aplicam-se as permissões e a segurança em nível de linha.',
|
|
5439
|
+
'drep.reports': 'Relatórios',
|
|
5440
|
+
'drep.who_may_share_reports': 'Quem pode partilhar relatórios',
|
|
5441
|
+
'drep.rows_per_page': 'Linhas por página',
|
|
5442
|
+
'drep.who_may_build_and_save': 'Quem pode criar e salvar relatórios',
|
|
5443
|
+
'drep.others_only_run_shared_reports': 'Os outros só executam relatórios partilhados.',
|
|
5444
|
+
'drep.who_may_unpublish_and_delete': 'Quem pode despublicar e excluir relatórios de qualquer pessoa',
|
|
5445
|
+
'drep.shared_reports_are_published_a': 'Os relatórios partilhados são publicados: uma URL estável, pins',
|
|
5446
|
+
'drep.text_when_there_are_no': 'Texto quando não há linhas',
|
|
5447
|
+
'drep.add_a_data_source': 'Adicionar uma origem de dados',
|
|
5448
|
+
'drep.table_or_view': 'Tabela ou view',
|
|
5449
|
+
'drep.all_columns_are_offered_at': 'De início todas as colunas são oferecidas (exceto as binárias); desmarque as que os usuários não devem ver. Prefira uma view que mostre exatamente aquilo sobre que os usuários de negócio podem fazer relatórios.',
|
|
5450
|
+
'drep.or_a_dataset_of_the': 'Ou um conjunto de dados do workspace',
|
|
5451
|
+
'drep.save_data_reporter_settings': 'Salvar configurações do Data Reporter',
|
|
5452
|
+
'drep.the_dataset_s': 'os do conjunto de dados',
|
|
5453
|
+
'drep.no_data_found': 'Nenhum dado encontrado',
|
|
5454
|
+
'drep.from_the_name': 'a partir do nome',
|
|
5455
|
+
'drep.every_signed_in_user': 'Qualquer usuário com sessão iniciada',
|
|
5456
|
+
'drep.nobody_private_reports_only': 'Ninguém (só relatórios privados)',
|
|
5457
|
+
'drep.every_user': 'Qualquer usuário',
|
|
5458
|
+
'drep.nobody': 'Ninguém',
|
|
5459
|
+
'drep.settings_saved': 'Configurações salvas.',
|
|
5460
|
+
'drep.choose_a_table_or_view': 'Escolha uma tabela ou view para a nova origem de dados.',
|
|
5461
|
+
'drep.choose_one_of_the_workspace': 'Escolha um dos conjuntos de dados do workspace.',
|
|
5462
|
+
'drep.no_columns': 'A origem de dados {id} não oferece colunas.',
|
|
5463
|
+
'drep.exists': 'Já existe uma origem de dados {id}.',
|
|
5464
|
+
'drep.dataset_note': 'As tabelas, colunas, rótulos, máscaras e filtro de linhas são os do conjunto de dados: {link}.',
|
|
5465
|
+
'drep.aria_offer': 'Oferecer {column}',
|
|
5466
|
+
'drep.aria_label': 'Rótulo de {column}',
|
|
5467
|
+
'drep.aria_format': 'Máscara de formato de {column}',
|
|
5468
|
+
// ------------------------------------------------------------ Globalization (sprint 164)
|
|
5469
|
+
'glob.for_texts_pgkiln_derives_itself': 'Para textos que o pgkiln deriva por si, como cabeçalhos de coluna a partir dos nomes das colunas (`hiredate` → «Hiredate»).',
|
|
5470
|
+
'glob.use_them_in_sql_with': 'Use-os em SQL com `meta.message(\'NAME\', param0, …)` (marcadores `%0`…`%9`) e em textos como `&APP_TEXT$NAME.`, como o APEX_LANG.MESSAGE. Uma mensagem com o nome de um texto do pgkiln (p. ex. `login.title`, `report.no_data`) substitui-o. Os idiomas em falta recorrem ao idioma principal.',
|
|
5471
|
+
'glob.automatic_time_zone': 'Fuso horário automático',
|
|
5472
|
+
'glob.each_user_sees_times_in': 'Cada usuário vê as horas no seu próprio fuso horário: o do navegador (enviado uma vez por sessão) ou o que escolher em Minha conta. Sem JavaScript aplica-se o fuso horário da aplicação (APEX: Automatic Time Zone).',
|
|
5473
|
+
'glob.shared_components': 'Componentes Compartilhados',
|
|
5474
|
+
'glob.none_yet': 'nenhum ainda',
|
|
5475
|
+
'glob.change_languages_in_settings': 'Alterar idiomas em Configurações',
|
|
5476
|
+
'glob.give_translators_an_xliff_file': 'Dê aos tradutores um arquivo XLIFF (como no APEX) ou um arquivo CSV e depois importe-o aqui. Os destinos vazios são ignorados na importação.',
|
|
5477
|
+
'glob.file': 'Arquivo',
|
|
5478
|
+
'glob.or_paste_xliff_csv': '…ou cole XLIFF / CSV',
|
|
5479
|
+
'glob.used_in': 'Usado em',
|
|
5480
|
+
'glob.save_translations': 'Salvar traduções',
|
|
5481
|
+
'glob.add_a_text': 'Adicionar um texto',
|
|
5482
|
+
'glob.add': 'Adicionar',
|
|
5483
|
+
'glob.settings_globalization': 'Configurações → Globalização',
|
|
5484
|
+
'glob.name': 'Nome',
|
|
5485
|
+
'glob.language': 'Idioma',
|
|
5486
|
+
'glob.text': 'Texto',
|
|
5487
|
+
'glob.save': 'Salvar',
|
|
5488
|
+
'glob.delete': 'Excluir',
|
|
5489
|
+
'glob.no_text_messages': 'Nenhuma mensagem de texto.',
|
|
5490
|
+
'glob.add_a_text_message': 'Adicionar uma mensagem de texto',
|
|
5491
|
+
'glob.add_message': 'Adicionar mensagem',
|
|
5492
|
+
'glob.currency': 'Moeda',
|
|
5493
|
+
'glob.time_zone': 'Fuso horário',
|
|
5494
|
+
'glob.e_g_eur_empty_per': 'p. ex. EUR (vazio: por idioma)',
|
|
5495
|
+
'glob.iso_4217_code_for_l': 'Código ISO 4217 para L (símbolo) e C (código) em máscaras de formato numérico como FML999G990D00. Uma mensagem de texto FORMAT.CURRENCY substitui-o por idioma.',
|
|
5496
|
+
'glob.e_g_greeting_or_login': 'p. ex. GREETING ou login.title',
|
|
5497
|
+
'glob.hello_0': 'Olá %0!',
|
|
5498
|
+
'glob.names_start_with_a_letter': 'Os nomes começam por uma letra e contêm letras, dígitos, _ . $ ou -.',
|
|
5499
|
+
'glob.queries_run_in_this_time': 'As consultas executam neste fuso horário (SET LOCAL timezone), por isso os valores timestamp with time zone aparecem nele.',
|
|
5500
|
+
'glob.text_message_saved': 'Mensagem de texto salva.',
|
|
5501
|
+
'glob.text_message_deleted': 'Mensagem de texto excluída.',
|
|
5502
|
+
'glob.currency_a_three_letter_iso': 'Moeda: um código ISO 4217 de três letras como EUR ou USD.',
|
|
5503
|
+
'glob.languages': 'Idiomas',
|
|
5504
|
+
'glob.export_and_import': 'Exportar e importar',
|
|
5505
|
+
'glob.translate': 'Traduzir',
|
|
5506
|
+
'glob.text_messages': 'Mensagens de texto',
|
|
5507
|
+
'glob.app_builder': 'App Builder',
|
|
5508
|
+
'glob.globalization': 'Globalização',
|
|
5509
|
+
'glob.unknown_zone': 'Fuso horário desconhecido «{zone}».',
|
|
5510
|
+
'glob.primary': 'Idioma principal: {lang}',
|
|
5511
|
+
'glob.derived': 'Idioma derivado de: {from}',
|
|
5512
|
+
'glob.from.browser': 'o navegador',
|
|
5513
|
+
'glob.from.user': 'a preferência do usuário, depois o navegador',
|
|
5514
|
+
'glob.from.primary': 'sempre o idioma principal',
|
|
5515
|
+
'glob.translated_into': 'Traduzido para: {langs}',
|
|
5516
|
+
'glob.builtin': 'Os textos próprios do pgkiln (login, relatórios, mensagens) existem em {list} e {last}; substitua qualquer um com uma mensagem de texto com o mesmo nome.',
|
|
5517
|
+
'glob.translate_into': 'Traduzir para {lang}',
|
|
5518
|
+
'glob.aria_translation': 'Tradução de: {text}',
|
|
5519
|
+
'glob.text_lang': 'Texto ({lang})',
|
|
5520
|
+
'glob.translation_lang': 'Tradução ({lang})',
|
|
5521
|
+
'glob.add_lang_first': 'Adicione primeiro um idioma traduzido em {link} (por exemplo {example}).',
|
|
5522
|
+
'glob.aria_text_of': 'Texto de {name} ({lang})',
|
|
5523
|
+
'glob.delete_confirm': 'Excluir {name} ({lang})?',
|
|
5524
|
+
'glob.import_failed': 'A importação falhou: {error}',
|
|
5525
|
+
// ------------------------------------------------------------ Remote databases (sprint 164)
|
|
5526
|
+
'rdb.grant_to_the_applications_database': 'Conceder às funções de banco de dados das aplicações',
|
|
5527
|
+
'rdb.no_application_has_a_database': 'Nenhuma aplicação tem ainda função de banco de dados (Configurações da aplicação → Função de banco de dados).',
|
|
5528
|
+
'rdb.also_insert_update_and_delete': 'Também INSERT, UPDATE e DELETE (senão só SELECT)',
|
|
5529
|
+
'rdb.test_the_connection': 'Testar a conexão',
|
|
5530
|
+
'rdb.cancel': 'Cancelar',
|
|
5531
|
+
'rdb.another_postgresql_database_s_tables': 'As tabelas de outro banco de dados PostgreSQL como tabelas externas (postgres_fdw) num esquema local: regiões, relatórios, formulários e listas de valores usam-nas como as tabelas próprias da aplicação, com a sua função de banco de dados e as permissões dadas aqui.',
|
|
5532
|
+
'rdb.postgres_fdw_is_not_installed': 'O postgres_fdw não está instalado neste banco de dados.',
|
|
5533
|
+
'rdb.create_extension_postgres_fdw': 'Criar a extensão postgres_fdw',
|
|
5534
|
+
'rdb.name': 'Nome',
|
|
5535
|
+
'rdb.connection': 'Conexão',
|
|
5536
|
+
'rdb.local_schema': 'Esquema local',
|
|
5537
|
+
'rdb.tables': 'Tabelas',
|
|
5538
|
+
'rdb.granted_to': 'Concedido a',
|
|
5539
|
+
'rdb.imported': 'Importado',
|
|
5540
|
+
'rdb.actions': 'Ações',
|
|
5541
|
+
'rdb.edit': 'Editar',
|
|
5542
|
+
'rdb.import_again': 'Importar de novo',
|
|
5543
|
+
'rdb.delete': 'Excluir',
|
|
5544
|
+
'rdb.no_remote_databases_yet': 'Ainda não há bancos de dados remotos.',
|
|
5545
|
+
'rdb.description': 'Descrição',
|
|
5546
|
+
'rdb.host': 'Host',
|
|
5547
|
+
'rdb.port': 'Porta',
|
|
5548
|
+
'rdb.database': 'Banco de dados',
|
|
5549
|
+
'rdb.user': 'Usuário',
|
|
5550
|
+
'rdb.password': 'Senha',
|
|
5551
|
+
'rdb.remote_schema': 'Esquema remoto',
|
|
5552
|
+
'rdb.a_static_id_e_g': 'Um id estático, p. ex. CRM. O servidor é pgkiln_rdb_<name>.',
|
|
5553
|
+
'rdb.as_the_database_server_reaches': 'Tal como o servidor do banco de dados a alcança (é ele que faz a conexão, não o pgkiln).',
|
|
5554
|
+
'rdb.a_user_of_the_remote': 'Um usuário do banco de dados remoto: o que pode ler ou alterar lá é o que as aplicações podem.',
|
|
5555
|
+
'rdb.a_new_schema_here_for': 'Um esquema novo aqui para as tabelas externas, p. ex. crm: as regiões consultam crm.<table>.',
|
|
5556
|
+
'rdb.add_a_remote_database': 'Adicionar um banco de dados remoto',
|
|
5557
|
+
'rdb.kept_by_postgresql_in_the': 'Guardada pelo PostgreSQL no user mapping e nunca mostrada; escreva uma nova para a substituir.',
|
|
5558
|
+
'rdb.kept_by_postgresql_in_the_2': 'Guardada pelo PostgreSQL no user mapping (o pgkiln nunca a guarda).',
|
|
5559
|
+
'rdb.save_and_import_again': 'Salvar e importar de novo',
|
|
5560
|
+
'rdb.add_and_import': 'Adicionar e importar',
|
|
5561
|
+
'rdb.the_test_failed': 'O teste falhou',
|
|
5562
|
+
'rdb.nothing_was_changed': 'Nada foi alterado',
|
|
5563
|
+
'rdb.the_postgres_fdw_extension_is': 'A extensão postgres_fdw está instalada.',
|
|
5564
|
+
'rdb.no_such_remote_database': 'Banco de dados remoto inexistente.',
|
|
5565
|
+
'rdb.the_password_has_at_most': 'A senha tem no máximo 1000 caracteres.',
|
|
5566
|
+
'rdb.renaming_it_or_moving_it': 'Renomeá-la, ou movê-la para outro esquema local, precisa de novo da senha.',
|
|
5567
|
+
'rdb.rolled_back': 'revertido',
|
|
5568
|
+
'rdb.remote_databases': 'Bancos de dados remotos',
|
|
5569
|
+
'rdb.app_builder': 'App Builder',
|
|
5570
|
+
'rdb.workspace_utilities': 'Utilitários do workspace',
|
|
5571
|
+
'rdb.title': 'Bancos de dados remotos',
|
|
5572
|
+
'rdb.edit_named': 'Editar {name}',
|
|
5573
|
+
'rdb.tables_help': 'Tabelas e views remotas a importar, separadas por vírgulas (no máximo {n}); vazio: todas as do esquema remoto.',
|
|
5574
|
+
'rdb.fdw_superuser': 'Um superusuário executa {create} e {grant} a função proprietária do pgkiln.',
|
|
5575
|
+
'rdb.fdw_missing': 'O servidor precisa do pacote contrib do PostgreSQL; depois um superusuário executa {create} e {grant} a função proprietária do pgkiln.',
|
|
5576
|
+
'rdb.delete_confirm': 'Excluir {name}? O seu esquema {schema} e as suas tabelas externas são eliminados.',
|
|
5577
|
+
'rdb.test_ok': 'A conexão funciona: {n} tabela(s) seriam importadas para {schema}. Nada foi salvo.',
|
|
5578
|
+
'rdb.name_taken': 'Já existe um banco de dados remoto {name}.',
|
|
5579
|
+
'rdb.schema_taken': 'Outro banco de dados remoto usa o esquema {schema}.',
|
|
5580
|
+
// ------------------------------------------------------------ Debug messages and installation log (sprint 164)
|
|
5581
|
+
'diag.no_runs_recorded_yet_runs': 'Ainda não há execuções registadas: são registadas a partir da versão 0.25 (cada `db:migrate` ou `pgkiln migrate` que aplica ou falha um arquivo). As migrações aplicadas abaixo mostram quando cada arquivo foi aplicado.',
|
|
5582
|
+
'diag.save': 'Salvar',
|
|
5583
|
+
'diag.page': 'Página',
|
|
5584
|
+
'diag.user': 'Usuário',
|
|
5585
|
+
'diag.only_with_errors_or_warnings': 'Só com erros ou avisos',
|
|
5586
|
+
'diag.when': 'Quando',
|
|
5587
|
+
'diag.request': 'Pedido',
|
|
5588
|
+
'diag.status': 'Status',
|
|
5589
|
+
'diag.entries': 'Entradas',
|
|
5590
|
+
'diag.view': 'Ver',
|
|
5591
|
+
'diag.older_page_views': 'Visualizações de página mais antigas',
|
|
5592
|
+
'diag.back_to_activity': 'Voltar a Atividade',
|
|
5593
|
+
'diag.total_time': 'tempo total',
|
|
5594
|
+
'diag.http_status': 'Status HTTP',
|
|
5595
|
+
'diag.previous': '◂ Anterior',
|
|
5596
|
+
'diag.all_page_views': 'Todas as visualizações de página',
|
|
5597
|
+
'diag.next': 'Seguinte ▸',
|
|
5598
|
+
'diag.elapsed_ms': 'Decorrido ms',
|
|
5599
|
+
'diag.duration_ms': 'Duração ms',
|
|
5600
|
+
'diag.until_next': 'Até ao seguinte',
|
|
5601
|
+
'diag.level': 'Nível',
|
|
5602
|
+
'diag.component': 'Componente',
|
|
5603
|
+
'diag.message': 'Mensagem',
|
|
5604
|
+
'diag.installation': 'Instalação',
|
|
5605
|
+
'diag.only_administrators_see_the_installation': 'Só administradores veem o registo de instalação.',
|
|
5606
|
+
'diag.pgkiln_version_of_this_server': 'versão do pgkiln deste servidor',
|
|
5607
|
+
'diag.migrations_not_applied': 'migrações não aplicadas',
|
|
5608
|
+
'diag.started': 'Iniciado',
|
|
5609
|
+
'diag.kind': 'Tipo',
|
|
5610
|
+
'diag.version': 'Versão',
|
|
5611
|
+
'diag.files': 'Arquivos',
|
|
5612
|
+
'diag.applied': 'Aplicado',
|
|
5613
|
+
'diag.by': 'Por',
|
|
5614
|
+
'diag.file': 'Arquivo',
|
|
5615
|
+
'diag.filter': 'Filtrar',
|
|
5616
|
+
'diag.delete_all_debug_messages': 'Excluir todas as mensagens de depuração',
|
|
5617
|
+
'diag.debug_level': 'Nível de depuração',
|
|
5618
|
+
'diag.keep_messages_for': 'Guardar mensagens durante',
|
|
5619
|
+
'diag.debug_messages_off': 'Mensagens de depuração desligadas.',
|
|
5620
|
+
'diag.level_9_records_posted_item': 'O nível 9 regista os valores de itens enviados (nunca os de itens de senha).',
|
|
5621
|
+
'diag.choose_a_debug_level_and': 'Escolha um nível de depuração e uma retenção de 1 a 90 dias.',
|
|
5622
|
+
'diag.page_views': 'Visualizações de página',
|
|
5623
|
+
'diag.install_and_upgrade_runs': 'Execuções de instalação e atualização',
|
|
5624
|
+
'diag.applied_migrations': 'Migrações aplicadas',
|
|
5625
|
+
'diag.example_and_seed_scripts': 'Scripts de exemplo e de dados iniciais',
|
|
5626
|
+
'diag.app_builder': 'App Builder',
|
|
5627
|
+
'diag.activity': 'Atividade',
|
|
5628
|
+
'diag.debug_messages': 'Mensagens de depuração',
|
|
5629
|
+
'diag.workspace_utilities': 'Utilitários do workspace',
|
|
5630
|
+
'diag.on': '{state}: cada pedido desta aplicação regista os seus passos com tempos, e o SQL pode adicionar mensagens com {fn}. Isto custa tempo e espaço: desligue-o quando terminar.',
|
|
5631
|
+
'diag.on_state': 'As mensagens de depuração estão ligadas (nível {level})',
|
|
5632
|
+
'diag.off': 'As mensagens de depuração estão desligadas: os pedidos não registam nada e {fn} regressa de imediato. Escolha um nível para registar os pedidos desta aplicação.',
|
|
5633
|
+
'diag.delete_confirm': 'Excluir todas as mensagens de depuração de {app}?',
|
|
5634
|
+
'diag.title': 'Mensagens de depuração · {app}',
|
|
5635
|
+
'diag.page_view': 'Visualização de página {id}',
|
|
5636
|
+
'diag.view_title': 'Depuração {id} · {app}',
|
|
5637
|
+
'diag.on_flash': 'Mensagens de depuração ligadas (nível {level}).',
|
|
5638
|
+
'diag.applied_n': 'migrações aplicadas',
|
|
5639
|
+
'diag.applied_latest': 'migrações aplicadas, a mais recente {name}',
|
|
5640
|
+
'diag.missing': 'Faltam a este banco de dados {n} migrações deste servidor ({list}). Execute {npm} ou {cli}.',
|
|
5641
|
+
'diag.missing_1': 'Falta a este banco de dados 1 migração deste servidor ({list}). Execute {npm} ou {cli}.',
|
|
5642
|
+
// ------------------------------------------------------------ Login page and two-factor settings (sprint 164)
|
|
5643
|
+
'lgp.not_offered_yet': 'Ainda não oferecido:',
|
|
5644
|
+
'lgp.login_page': 'Página de login',
|
|
5645
|
+
'lgp.login': 'Login',
|
|
5646
|
+
'lgp.minimal': 'Mínimo',
|
|
5647
|
+
'lgp.create_a_login_page': 'Criar uma página de login',
|
|
5648
|
+
'lgp.offer_forgot_password': 'Oferecer «Esqueceu a senha?»',
|
|
5649
|
+
'lgp.second_step': 'Segundo passo',
|
|
5650
|
+
'lgp.my_account': 'Minha conta',
|
|
5651
|
+
'lgp.not_available_yet': 'Ainda não disponível:',
|
|
5652
|
+
'lgp.required_for_roles': 'Obrigatório para as funções',
|
|
5653
|
+
'lgp.required_for_some_roles': 'Obrigatório para algumas funções',
|
|
5654
|
+
'lgp.offer_a_code_by_e': 'Oferecer um código por e-mail',
|
|
5655
|
+
'lgp.multi_factor_sign_in': 'Login multifator',
|
|
5656
|
+
'lgp.second_step_within_minutes': 'Segundo passo em (minutos)',
|
|
5657
|
+
'lgp.admin_manager': 'admin, manager',
|
|
5658
|
+
'lgp.the_built_in_sign_in': '- a página de login integrada -',
|
|
5659
|
+
'lgp.off': 'Desligado',
|
|
5660
|
+
'lgp.optional_users_may_add_an': 'Opcional (os usuários podem adicionar uma app)',
|
|
5661
|
+
'lgp.required': 'Obrigatório',
|
|
5662
|
+
'lgp.two_factor_sign_in_a': 'Login em dois fatores: um nome de função é demasiado longo.',
|
|
5663
|
+
'lgp.two_factor_sign_in_name': 'Login em dois fatores: indique as funções que o devem usar.',
|
|
5664
|
+
'lgp.two_factor_sign_in_the': 'Login em dois fatores: o servidor precisa de PGKILN_SECRET_KEY antes de o poder exigir.',
|
|
5665
|
+
'lgp.requires_signin': '{page} (requer login: não utilizável)',
|
|
5666
|
+
'lgp.page_help': 'Uma página pública com uma região {login} (APEX: a página de login); o modelo de página {minimal} oculta o cabeçalho e a navegação.',
|
|
5667
|
+
'lgp.reset_help': 'Os usuários com senha e endereço de e-mail no diretório de usuários recebem um link de uso único, válido 30 minutos, para escolher uma nova senha. Só para as senhas próprias do diretório de usuários.',
|
|
5668
|
+
'lgp.sent_through': 'Enviado pelo serviço de e-mail {service} como {from}.',
|
|
5669
|
+
'lgp.mfa_help': 'Após a senha ou um diretório LDAP: um código de uma app de autenticação, uma passkey ou um código de recuperação, adicionados em {account} ou ao fazer login.',
|
|
5670
|
+
'lgp.needs_key': '{na} o servidor precisa de {key} para guardar os segredos das apps.',
|
|
5671
|
+
'lgp.roles_help': 'Com {some}: os usuários com uma destas funções têm de o usar, os outros podem.',
|
|
5672
|
+
'lgp.email_help': 'Os usuários que já têm uma app ou uma passkey podem receber um código de uso único por e-mail (válido {minutes} minutos, no máximo {per_hour} por hora); nunca como único fator.',
|
|
5673
|
+
'lgp.passkeys_note': 'As passkeys precisam da aplicação num nome de host, não num endereço IP. Os provedores de identidade pedem o seu próprio segundo fator (veja {mfa} do provedor). Para pedir de novo antes de uma página abrir (step-up), dê ao seu esquema de autorização {within} em Componentes Compartilhados.',
|
|
5674
|
+
'lgp.no_page': 'Página de login: não há página {n}.',
|
|
5675
|
+
'lgp.created': 'Página {n} «Login» criada e definida como página de login. Adicione regiões à volta do formulário de login no Page Designer.',
|
|
5676
|
+
// ------------------------------------------------------------ Create page wizards (sprint 164)
|
|
5677
|
+
'wiz.kind.report_form': 'Relatório e formulário',
|
|
5678
|
+
'wiz.kind_help.report_form': 'Um relatório interativo e um formulário modal para criar, atualizar e excluir.',
|
|
5679
|
+
'wiz.kind.grid': 'Grade interativa',
|
|
5680
|
+
'wiz.kind_help.grid': 'Uma página com uma grade editável.',
|
|
5681
|
+
'wiz.kind.form': 'Formulário',
|
|
5682
|
+
'wiz.kind_help.form': 'Um formulário para uma linha: criar, atualizar e excluir, voltando a uma página à sua escolha.',
|
|
5683
|
+
'wiz.kind.cards': 'Cartões',
|
|
5684
|
+
'wiz.kind_help.cards': 'Um cartão por linha com título, subtítulo, corpo e selo, opcionalmente ligado a um formulário.',
|
|
5685
|
+
'wiz.kind.calendar': 'Calendário',
|
|
5686
|
+
'wiz.kind_help.calendar': 'Linhas com uma data como eventos nas vistas de mês, semana, dia e lista.',
|
|
5687
|
+
'wiz.kind.chart': 'Gráfico',
|
|
5688
|
+
'wiz.kind_help.chart': 'O número de linhas, ou uma soma, média, mínimo ou máximo, por rótulo.',
|
|
5689
|
+
'wiz.kind.map': 'Mapa',
|
|
5690
|
+
'wiz.kind_help.map': 'Linhas com uma posição como marcadores num mapa, com uma lista filtrada pela área do mapa.',
|
|
5691
|
+
'wiz.kind.facets': 'Pesquisa facetada',
|
|
5692
|
+
'wiz.kind_help.facets': 'Um relatório com um painel de filtros: valores com contagens, intervalos e um campo de pesquisa.',
|
|
5693
|
+
'wiz.kind.master_detail': 'Mestre-detalhe',
|
|
5694
|
+
'wiz.kind_help.master_detail': 'Uma grade da tabela e, abaixo, uma grade editável com os detalhes da linha selecionada.',
|
|
5695
|
+
'wiz.kind.report': 'Relatório interativo',
|
|
5696
|
+
'wiz.kind_help.report': 'Um relatório interativo da tabela na sua própria página, opcionalmente com uma página de formulário modal.',
|
|
5697
|
+
'wiz.kind.smart_filters': 'Filtros inteligentes',
|
|
5698
|
+
'wiz.kind_help.smart_filters': 'Um relatório interativo com um campo de pesquisa acima que sugere filtros (chips) a partir das colunas.',
|
|
5699
|
+
'wiz.kind.search': 'Página de pesquisa',
|
|
5700
|
+
'wiz.kind_help.search': 'Uma região de pesquisa sobre as configurações de pesquisa da aplicação, ou uma nova sobre uma tabela.',
|
|
5701
|
+
'wiz.kind.data_load': 'Carregamento de dados',
|
|
5702
|
+
'wiz.kind_help.data_load': 'Uma definição de carregamento de dados para a tabela e uma página onde os usuários enviam um arquivo CSV, Excel, JSON ou XML.',
|
|
5703
|
+
'wiz.kind.tree': 'Árvore',
|
|
5704
|
+
'wiz.kind_help.tree': 'As linhas como árvore: um id, um pai (de uma chave estrangeira para a própria tabela) e um rótulo.',
|
|
5705
|
+
'wiz.kind.timeline': 'Linha do tempo',
|
|
5706
|
+
'wiz.kind_help.timeline': 'Linhas como eventos numa linha vertical: quando, quem, um título e um texto (componente de modelo Timeline).',
|
|
5707
|
+
'wiz.kind.media_list': 'Lista de mídia',
|
|
5708
|
+
'wiz.kind_help.media_list': 'Linhas com iniciais, um título, uma descrição e um selo (componente de modelo Media list).',
|
|
5709
|
+
'wiz.kind.content_row': 'Linha de conteúdo',
|
|
5710
|
+
'wiz.kind_help.content_row': 'Linhas com iniciais, um título e uma descrição, e à direita um texto secundário e um selo (componente de modelo Content row).',
|
|
5711
|
+
'wiz.kind.comments': 'Comentários',
|
|
5712
|
+
'wiz.kind_help.comments': 'Linhas como conversa: quem escreveu o quê e quando (componente de modelo Comments).',
|
|
5713
|
+
'wiz.kind.dashboard': 'Painel',
|
|
5714
|
+
'wiz.kind_help.dashboard': 'Gráficos das tabelas da aplicação, escolhidos a partir dos dados como o painel de uma nova aplicação.',
|
|
5715
|
+
'wiz.kind.wizard': 'Assistente',
|
|
5716
|
+
'wiz.kind_help.wizard': 'Um formulário em vários passos, uma página por passo com lista de progresso, Anterior e Seguinte; Concluir adiciona a linha.',
|
|
5717
|
+
'wiz.kind.tasks': 'Lista unificada de tarefas',
|
|
5718
|
+
'wiz.kind_help.tasks': 'As tarefas de aprovação e de ação do usuário com sessão iniciada (uma região de lista de tarefas).',
|
|
5719
|
+
'wiz.kind.workflows': 'Consola de workflows',
|
|
5720
|
+
'wiz.kind_help.workflows': 'Os workflows que o usuário iniciou ou administra, com o seu estado e histórico.',
|
|
5721
|
+
'wiz.kind_on': '{kind} sobre {table}',
|
|
5722
|
+
'wiz.search_configurations': 'Configurações de pesquisa',
|
|
5723
|
+
'wiz.shared_components_search_configurations': 'Componentes Compartilhados → Configurações de pesquisa',
|
|
5724
|
+
'wiz.tasks_come_from_task_definitions': 'As tarefas vêm das definições de tarefas (Componentes Compartilhados → Definições de tarefas) e de aprovações iniciadas em processos ou workflows.',
|
|
5725
|
+
'wiz.tables': 'Tabelas',
|
|
5726
|
+
'wiz.a_chart_per_table_at': 'Um gráfico por tabela (no máximo seis) das linhas por linha pai ou por valor repetido, lido dos dados; as tabelas com segurança ao nível da linha ficam de fora.',
|
|
5727
|
+
'wiz.the_application_s_database_role': 'A função de banco de dados da aplicação não consegue ler nenhuma tabela.',
|
|
5728
|
+
'wiz.cancel': 'Cancelar',
|
|
5729
|
+
'wiz.create_page': 'Criar página',
|
|
5730
|
+
'wiz.form_page': 'Página de formulário',
|
|
5731
|
+
'wiz.page_mode': 'Modo da página',
|
|
5732
|
+
'wiz.after_saving_or_cancelling_go': 'Após guardar ou cancelar, ir para a página',
|
|
5733
|
+
'wiz.title': 'Título',
|
|
5734
|
+
'wiz.subtitle': 'Subtítulo',
|
|
5735
|
+
'wiz.body': 'Corpo',
|
|
5736
|
+
'wiz.badge': 'Selo',
|
|
5737
|
+
'wiz.start_date': 'Data de início',
|
|
5738
|
+
'wiz.end_date': 'Data de fim',
|
|
5739
|
+
'wiz.event_title': 'Título do evento',
|
|
5740
|
+
'wiz.drag_and_drop': 'Arrastar e largar',
|
|
5741
|
+
'wiz.chart_type': 'Tipo de gráfico',
|
|
5742
|
+
'wiz.label_one_bar_slice_or': 'Rótulo (uma barra, fatia ou ponto por valor)',
|
|
5743
|
+
'wiz.value': 'Valor',
|
|
5744
|
+
'wiz.of_column': 'Da coluna',
|
|
5745
|
+
'wiz.position': 'Posição',
|
|
5746
|
+
'wiz.latitude': 'Latitude',
|
|
5747
|
+
'wiz.longitude': 'Longitude',
|
|
5748
|
+
'wiz.popup_title': 'Título do popup',
|
|
5749
|
+
'wiz.popup_text': 'Texto do popup',
|
|
5750
|
+
'wiz.a_list_below_the_map': 'Uma lista abaixo do mapa',
|
|
5751
|
+
'wiz.a_search_field_above_the': 'Um campo de pesquisa acima das facetas',
|
|
5752
|
+
'wiz.node_id': 'Id do nó',
|
|
5753
|
+
'wiz.parent': 'Pai',
|
|
5754
|
+
'wiz.label': 'Rótulo',
|
|
5755
|
+
'wiz.levels_open_at_first': 'Níveis abertos no início',
|
|
5756
|
+
'wiz.when': 'Quando',
|
|
5757
|
+
'wiz.who': 'Quem',
|
|
5758
|
+
'wiz.text': 'Texto',
|
|
5759
|
+
'wiz.description': 'Descrição',
|
|
5760
|
+
'wiz.secondary_text_on_the_right': 'Texto secundário (à direita)',
|
|
5761
|
+
'wiz.who_wrote_it': 'Quem o escreveu',
|
|
5762
|
+
'wiz.comment': 'Comentário',
|
|
5763
|
+
'wiz.data_load_definition': 'Definição de carregamento de dados',
|
|
5764
|
+
'wiz.mode': 'Modo',
|
|
5765
|
+
'wiz.skip_rows_with_errors': 'Ignorar linhas com erros',
|
|
5766
|
+
'wiz.steps': 'Passos',
|
|
5767
|
+
'wiz.after_finish_or_cancel_go': 'Após Concluir ou Cancelar, ir para a página',
|
|
5768
|
+
'wiz.and_a_new_configuration_on': 'E uma nova configuração sobre',
|
|
5769
|
+
'wiz.show': 'Mostrar',
|
|
5770
|
+
'wiz.also_completed_tasks': 'Também as tarefas concluídas',
|
|
5771
|
+
'wiz.detail_table': 'Tabela de detalhe',
|
|
5772
|
+
'wiz.page_number': 'Número da página',
|
|
5773
|
+
'wiz.name': 'Nome',
|
|
5774
|
+
'wiz.menu_icon': 'Ícone do menu',
|
|
5775
|
+
'wiz.add_a_navigation_entry': 'Adicionar uma entrada de navegação',
|
|
5776
|
+
'wiz.the_modal_form_page_opened': 'A página de formulário modal aberta a partir do relatório.',
|
|
5777
|
+
'wiz.cancel_create_apply_changes_and': 'Cancelar, Criar, Aplicar alterações e Excluir regressam lá.',
|
|
5778
|
+
'wiz.one_page_per_step_numbered': 'Uma página por passo, numerada a partir do número da página; as colunas são distribuídas por ordem.',
|
|
5779
|
+
'wiz.the_page_title_and_the': 'O título da página e a entrada de navegação.',
|
|
5780
|
+
'wiz.my_tasks_to_act_on': 'As minhas tarefas (para agir ou reclamar)',
|
|
5781
|
+
'wiz.tasks_i_requested': 'Tarefas que pedi',
|
|
5782
|
+
'wiz.tasks_i_administer': 'Tarefas que administro',
|
|
5783
|
+
'wiz.count': 'Contagem',
|
|
5784
|
+
'wiz.sum': 'Soma',
|
|
5785
|
+
'wiz.average': 'Média',
|
|
5786
|
+
'wiz.minimum': 'Mínimo',
|
|
5787
|
+
'wiz.maximum': 'Máximo',
|
|
5788
|
+
'wiz.none': '- nenhuma -',
|
|
5789
|
+
'wiz.normal_page': 'Página normal',
|
|
5790
|
+
'wiz.modal_dialog': 'Diálogo modal',
|
|
5791
|
+
'wiz.append_add_the_rows': 'Acrescentar: adicionar as linhas',
|
|
5792
|
+
'wiz.merge_update_rows_with_the': 'Juntar: atualizar as linhas com a mesma chave, adicionar as outras',
|
|
5793
|
+
'wiz.replace_delete_all_rows_first': 'Substituir: excluir primeiro todas as linhas',
|
|
5794
|
+
'wiz.the_workflows_the_user_started': 'Os workflows que o usuário iniciou',
|
|
5795
|
+
'wiz.the_workflows_the_user_administers': 'Os workflows que o usuário administra',
|
|
5796
|
+
'wiz.choose_a_table_or_view': 'Escolha uma tabela ou vista.',
|
|
5797
|
+
'wiz.choose_a_page_type': 'Escolha um tipo de página.',
|
|
5798
|
+
'wiz.the_proposals_come_from_the': 'As propostas vêm das colunas, da chave e das chaves estrangeiras da tabela; altere-as abaixo.',
|
|
5799
|
+
'wiz.users_who_see_the_calendar': 'Os usuários que veem o calendário podem mover eventos para outro dia ou hora (um UPDATE das colunas de início e fim com a função da app; aplica-se a segurança ao nível da linha). Defina uma autorização em "move_authz" da região para o limitar.',
|
|
5800
|
+
'wiz.count_empty_counts_the_rows': 'Contagem: vazio conta as linhas. Soma, média, mínimo e máximo precisam de uma coluna numérica.',
|
|
5801
|
+
'wiz.an_interactive_report_of_the': 'Um relatório interativo das mesmas linhas; mover o mapa oferece "Mostrar esta área na lista".',
|
|
5802
|
+
'wiz.what_identifies_a_node_usually': 'O que identifica um nó: normalmente a chave primária.',
|
|
5803
|
+
'wiz.the_column_with_the_parent': 'A coluna com o id do nó pai; proposta a partir de uma chave estrangeira para a própria tabela. As linhas cujo pai não está na tabela formam o nível superior.',
|
|
5804
|
+
'wiz.the_events_come_newest_first': 'Os eventos aparecem do mais recente para o mais antigo.',
|
|
5805
|
+
'wiz.its_first_two_letters_are': 'As duas primeiras letras são as iniciais.',
|
|
5806
|
+
'wiz.the_newest_first': 'Os mais recentes primeiro.',
|
|
5807
|
+
'wiz.load_the_good_rows_and': 'Carregar as linhas corretas e listar as outras; caso contrário nada é carregado quando uma linha falha.',
|
|
5808
|
+
'wiz.searches_the_table_s_text': 'Pesquisa as colunas de texto da tabela e mostra a coluna de nome (ou o primeiro texto) como título do resultado.',
|
|
5809
|
+
'wiz.tables_with_a_foreign_key': 'Tabelas com uma chave estrangeira para esta tabela. Selecionar uma linha mestre mostra os seus detalhes; as novas linhas de detalhe recebem a chave do mestre.',
|
|
5810
|
+
'wiz.enter_a_page_number': 'Introduza um número de página.',
|
|
5811
|
+
'wiz.this_application_does_not_exist': 'Esta aplicação não existe.',
|
|
5812
|
+
'wiz.enter_the_form_page_number': 'Introduza o número da página de formulário.',
|
|
5813
|
+
'wiz.choose_at_least_one_table': 'Escolha pelo menos uma tabela que a aplicação consiga ler.',
|
|
5814
|
+
'wiz.none_of_these_tables_has': 'Nenhuma destas tabelas tem uma coluna que mereça um gráfico (uma chave estrangeira ou valores repetidos).',
|
|
5815
|
+
'wiz.app_builder': 'App Builder',
|
|
5816
|
+
'wiz.col_columns': 'Colunas',
|
|
5817
|
+
'wiz.col_report_columns': 'Colunas do relatório',
|
|
5818
|
+
'wiz.col_facets': 'Facetas',
|
|
5819
|
+
'wiz.col_filters': 'Filtros (sugeridos no campo de pesquisa)',
|
|
5820
|
+
'wiz.note_required': ', obrigatória: sempre incluída',
|
|
5821
|
+
'wiz.note_select_list': ', uma lista de seleção de {table}',
|
|
5822
|
+
'wiz.note_key': ', chave: sempre incluída',
|
|
5823
|
+
'wiz.note_with': ', com {col}',
|
|
5824
|
+
'wiz.note_values_of': ': valores de {col}',
|
|
5825
|
+
'wiz.note_range': ': um intervalo (de / até)',
|
|
5826
|
+
'wiz.note_counts': ': valores com contagens',
|
|
5827
|
+
'wiz.note_ranges': ': intervalos',
|
|
5828
|
+
'wiz.note_values': ': valores',
|
|
5829
|
+
'wiz.form_page_ph': 'ex. {n} (vazio: sem formulário)',
|
|
5830
|
+
'wiz.return_home': 'vazio: a página inicial ({n})',
|
|
5831
|
+
'wiz.return_this': 'vazio: esta página',
|
|
5832
|
+
'wiz.form_map': 'Uma página de formulário modal, ligada a partir dos popups e da lista.',
|
|
5833
|
+
'wiz.form_rows': 'Uma página de formulário modal, ligada a partir de cada linha, e um botão Criar.',
|
|
5834
|
+
'wiz.form_search': 'Com uma tabela: uma página de formulário modal para a qual cada resultado aponta.',
|
|
5835
|
+
'wiz.def_help': 'Em maiúsculas, ex. ORDERS_LOAD. Uma nova definição para {table}; uma existente com esse nome é usada tal como está.',
|
|
5836
|
+
'wiz.def_help_has': 'Em maiúsculas, ex. ORDERS_LOAD. Uma nova definição para {table}; uma existente com esse nome é usada tal como está (esta aplicação tem {list}).',
|
|
5837
|
+
'wiz.the_table': 'a tabela',
|
|
5838
|
+
'wiz.no_search_configs': 'Esta aplicação ainda não tem configurações de pesquisa ({link}): escolha abaixo uma tabela onde pesquisar.',
|
|
5839
|
+
'wiz.no_fk': 'Nenhuma tabela tem uma chave estrangeira para {table}: uma página mestre-detalhe precisa de uma.',
|
|
5840
|
+
'wiz.back_choose': 'Voltar para escolher outro tipo',
|
|
5841
|
+
'wiz.back_choose_table': 'Voltar para escolher outro tipo ou outra tabela',
|
|
5842
|
+
'wiz.no_pk': '{table} não tem uma chave primária de uma só coluna, de que este tipo de página precisa.',
|
|
5843
|
+
'wiz.role_read_only': 'A função de banco de dados {role} da aplicação consegue ler {table} mas não alterá-la: conceda-lhe os privilégios de que a página precisa ({privs}).',
|
|
5844
|
+
'wiz.role_no_access': 'A função de banco de dados {role} da aplicação não tem acesso a {table}: conceda-lhe os privilégios de que a página precisa ({privs}).',
|
|
5845
|
+
'wiz.privs_merge': 'select, insert, update, delete para juntar ou substituir',
|
|
5846
|
+
'wiz.page_title': 'Criar página · {app}',
|
|
5847
|
+
'wiz.created_pages': 'Páginas {list} criadas.',
|
|
5848
|
+
'wiz.created_page': 'Página {n} criada.',
|
|
5849
|
+
'wiz.created_pages_for': 'Páginas {list} criadas para {table}. Garanta que a função de banco de dados da app tem privilégios sobre ela.',
|
|
5850
|
+
'wiz.created_page_for': 'Página {n} criada para {table}. Garanta que a função de banco de dados da app tem privilégios sobre ela.',
|
|
5851
|
+
// ------------------------------------------------------------ Create page and copy page (sprint 164)
|
|
5852
|
+
'cpg.blank_page': 'Página em branco',
|
|
5853
|
+
'cpg.an_empty_page_to_build': 'Uma página vazia para construir no Page Designer.',
|
|
5854
|
+
'cpg.back': 'Voltar',
|
|
5855
|
+
'cpg.create_page': 'Criar página',
|
|
5856
|
+
'cpg.next': 'Seguinte',
|
|
5857
|
+
'cpg.choose_a_page_type_types': 'Escolha um tipo de página. Os tipos sobre uma tabela pedem-na a seguir; cada tipo propõe as suas definições e abre a nova página no Page Designer.',
|
|
5858
|
+
'cpg.create_pages_with_ai': 'Criar páginas com IA',
|
|
5859
|
+
'cpg.describe_the_pages_in_your': 'Descreva as páginas pelas suas próprias palavras; verifique as propostas antes de serem criadas.',
|
|
5860
|
+
'cpg.features_add_pages_and_settings': 'As funcionalidades adicionam páginas e definições à aplicação. Cada uma lista o que adiciona antes de criar algo; uma funcionalidade instalada fica a cinzento.',
|
|
5861
|
+
'cpg.installed': 'Instalada',
|
|
5862
|
+
'cpg.not_available': 'Indisponível',
|
|
5863
|
+
'cpg.shared_components': 'Componentes Compartilhados',
|
|
5864
|
+
'cpg.kind': 'Tipo',
|
|
5865
|
+
'cpg.name': 'Nome',
|
|
5866
|
+
'cpg.in_this_application': 'Nesta aplicação',
|
|
5867
|
+
'cpg.the_page_uses_no_shared': 'A página não usa componentes compartilhados.',
|
|
5868
|
+
'cpg.copy_page': 'Copiar página',
|
|
5869
|
+
'cpg.copy_a_page_of_this': 'Copie uma página desta ou de outra aplicação do workspace, com um novo número e um novo nome. Os componentes compartilhados que usa (listas de valores, esquemas de autorização, listas…) são associados aos desta aplicação ou copiados.',
|
|
5870
|
+
'cpg.page_number': 'Número da página',
|
|
5871
|
+
'cpg.page_mode': 'Modo da página',
|
|
5872
|
+
'cpg.breadcrumb_parent': 'Pai na navegação estrutural',
|
|
5873
|
+
'cpg.table_or_view': 'Tabela ou vista',
|
|
5874
|
+
'cpg.new_page_number': 'Novo número de página',
|
|
5875
|
+
'cpg.copy_from_application': 'Copiar da aplicação',
|
|
5876
|
+
'cpg.component': 'Componente',
|
|
5877
|
+
'cpg.feature': 'Funcionalidade',
|
|
5878
|
+
'cpg.copy': 'Cópia',
|
|
5879
|
+
'cpg.normal_page': 'Página normal',
|
|
5880
|
+
'cpg.modal_dialog': 'Diálogo modal',
|
|
5881
|
+
'cpg.copy_it_into_this_application': 'Copiá-lo para esta aplicação',
|
|
5882
|
+
'cpg.in_the_same_application_they': 'Na mesma aplicação ficam como estão, ou apontam para outro do mesmo tipo.',
|
|
5883
|
+
'cpg.use_one_of_this_application': 'Use um desta aplicação, ou copie-o da outra aplicação.',
|
|
5884
|
+
'cpg.choose_an_application_of_this': 'Escolha uma aplicação deste workspace.',
|
|
5885
|
+
'cpg.enter_a_page_number': 'Introduza um número de página.',
|
|
5886
|
+
'cpg.enter_a_name': 'Introduza um nome.',
|
|
5887
|
+
'cpg.create_page_as_copy': 'Criar página como cópia',
|
|
5888
|
+
'cpg.app_builder': 'App Builder',
|
|
5889
|
+
'cpg.page_title': 'Criar página · {app}',
|
|
5890
|
+
'cpg.copy_title': 'Copiar página · {app}',
|
|
5891
|
+
'cpg.page_of': 'Página de {app}',
|
|
5892
|
+
'cpg.use_name': 'Usar {name}',
|
|
5893
|
+
'cpg.copy_intro': 'Página {n} {name} de {app}: as suas regiões, itens, botões, ações dinâmicas, validações, processos, cálculos e ramificações. Os itens chamados {prefix}… são renomeados para o novo número, também onde o código da página se refere a eles.',
|
|
5894
|
+
'cpg.refers_by_name': 'A página refere-se a estes pelo nome.',
|
|
5895
|
+
'cpg.sql_runs_as': 'O seu SQL corre com a função de banco de dados {role} desta aplicação: conceda-lhe o que a função de {app} pode ler e alterar.',
|
|
5896
|
+
'cpg.none': '(nenhum)',
|
|
5897
|
+
'cpg.copied': 'Página {n} "{name}" criada como cópia da página {page}.',
|
|
5898
|
+
'cpg.copied_from': 'Página {n} "{name}" criada como cópia da página {page} de {app}.',
|
|
5899
|
+
'cpg.k.authz_scheme': 'Esquema de autorização',
|
|
5900
|
+
'cpg.k.build_option': 'Opção de build',
|
|
5901
|
+
'cpg.k.lov': 'Lista de valores',
|
|
5902
|
+
'cpg.k.list': 'Lista',
|
|
5903
|
+
'cpg.k.template_component': 'Componente de modelo',
|
|
5904
|
+
'cpg.k.search_config': 'Configuração de pesquisa',
|
|
5905
|
+
'cpg.k.data_load_def': 'Definição de carregamento de dados',
|
|
5906
|
+
// ------------------------------------------------------------ Create pages with AI (sprint 164)
|
|
5907
|
+
'aib.sql_workshop_ai': 'SQL Workshop → IA',
|
|
5908
|
+
'aib.description': 'Descrição',
|
|
5909
|
+
'aib.propose_pages': 'Propor páginas',
|
|
5910
|
+
'aib.create': 'Criar',
|
|
5911
|
+
'aib.page_type': 'Tipo de página',
|
|
5912
|
+
'aib.table_or_view': 'Tabela ou vista',
|
|
5913
|
+
'aib.page': 'Página',
|
|
5914
|
+
'aib.form_page': 'Página de formulário',
|
|
5915
|
+
'aib.label': 'Rótulo',
|
|
5916
|
+
'aib.why': 'Porquê',
|
|
5917
|
+
'aib.create_the_ticked_pages': 'Criar as páginas assinaladas',
|
|
5918
|
+
'aib.no_pages_were_proposed_describe': 'Não foi proposta nenhuma página: descreva-as de outra forma, ou verifique se a função da aplicação pode ler as tabelas.',
|
|
5919
|
+
'aib.e_g_a_page_to': 'ex. Uma página para gerir funcionários, um calendário de férias e um gráfico de salários por departamento',
|
|
5920
|
+
'aib.the_ai_request_failed': 'O pedido à IA falhou.',
|
|
5921
|
+
'aib.tick_the_pages_to_create': 'Assinale as páginas a criar.',
|
|
5922
|
+
'aib.the_app_builder_has_no': 'O App Builder ainda não tem serviço de IA (um administrador escolhe-o em SQL Workshop → IA).',
|
|
5923
|
+
'aib.describe_the_pages_you_want': 'Descreva as páginas que pretende.',
|
|
5924
|
+
'aib.create_pages_with_ai': 'Criar páginas com IA',
|
|
5925
|
+
'aib.proposed_pages': 'Páginas propostas',
|
|
5926
|
+
'aib.app_builder': 'App Builder',
|
|
5927
|
+
'aib.intro': 'Descreva as páginas que pretende. O serviço de IA do App Builder propõe páginas dos assistentes de criação de página para as tabelas e vistas que a função da aplicação ({role}) consegue ler; você verifica as propostas e cria as que assinalar. São enviados ao serviço nomes de tabelas e colunas, tipos e {descriptions}, nunca linhas.',
|
|
5928
|
+
'aib.the_owner': 'o proprietário',
|
|
5929
|
+
'aib.descriptions': 'descrições',
|
|
5930
|
+
'aib.no_service': 'O App Builder ainda não tem serviço de IA: um administrador escolhe-o em {link}.',
|
|
5931
|
+
'aib.thinking': 'A pensar…',
|
|
5932
|
+
'aib.p_create': 'Criar a proposta {n}',
|
|
5933
|
+
'aib.p_kind': 'Tipo de página da proposta {n}',
|
|
5934
|
+
'aib.p_table': 'Tabela da proposta {n}',
|
|
5935
|
+
'aib.p_page': 'Número da página da proposta {n}',
|
|
5936
|
+
'aib.p_form': 'Página de formulário da proposta {n} (relatório e formulário)',
|
|
5937
|
+
'aib.p_label': 'Rótulo da proposta {n}',
|
|
5938
|
+
'aib.admins_only': 'Só os administradores escolhem o serviço de IA do App Builder.',
|
|
5939
|
+
'aib.no_tables': 'A função {role} da aplicação ainda não consegue ler nenhuma tabela ou vista.',
|
|
5940
|
+
'aib.p_invalid': 'Proposta {n}: escolha um tipo de página, uma tabela que a aplicação consiga ler e números de página livres.',
|
|
5941
|
+
'aib.created': 'Páginas {list} criadas. Garanta que a função de banco de dados da aplicação tem os privilégios de que precisam.',
|
|
5942
|
+
'aib.not_created': 'Não foi criada nenhuma página: {error}',
|
|
5943
|
+
// ------------------------------------------------------------ New applications (sprint 164)
|
|
5944
|
+
'nwa.push_off': 'As notificações push estão desligadas: precisam de PGKILN_SECRET_KEY no ambiente do servidor.',
|
|
5945
|
+
'nwa.no_workspace': 'Ainda não é desenvolvedor de nenhum workspace: peça a um administrador que o adicione a um.',
|
|
5946
|
+
'nwa.bad_alias': 'O alias tem de começar por uma letra e conter apenas a-z, 0-9, _ e - (no máximo 50 caracteres).',
|
|
5947
|
+
'nwa.enter_name': 'Introduza um nome para a aplicação.',
|
|
5948
|
+
'nwa.bad_schema': 'O esquema {schema} não pode ser o esquema de análise de uma aplicação.',
|
|
5949
|
+
'nwa.first_user': 'As apps com página de login precisam de um primeiro usuário.',
|
|
5950
|
+
'nwa.choose_icon': 'Escolha um dos ícones da lista.',
|
|
5951
|
+
'nwa.choose_language': 'Escolha um dos idiomas da lista.',
|
|
5952
|
+
'nwa.role_exists': 'A função de banco de dados {role} já existe: escolha outro alias.',
|
|
5953
|
+
'nwa.schema_foreign': 'O esquema {schema} já existe e não pertence a este workspace: escolha outro esquema.',
|
|
5954
|
+
'nwa.choose_boilerplate': 'Escolha uma aplicação base (uma aplicação do tipo Boilerplate).',
|
|
5955
|
+
'nwa.alias_taken': 'Já existe uma aplicação com o alias {alias}.',
|
|
5956
|
+
'nwa.f.about': 'Página Sobre',
|
|
5957
|
+
'nwa.fh.about': 'Uma página Sobre num menu Ajuda do cabeçalho.',
|
|
5958
|
+
'nwa.f.access': 'Controlo de acesso',
|
|
5959
|
+
'nwa.fh.access': 'Esquemas de autorização para as funções admin, contributor e reader, para páginas, regiões e botões.',
|
|
5960
|
+
'nwa.f.activity': 'Relatórios de atividade',
|
|
5961
|
+
'nwa.fh.activity': 'Uma página para administradores com as visualizações de página por dia e a atividade mais recente.',
|
|
5962
|
+
'nwa.f.feedback': 'Feedback',
|
|
5963
|
+
'nwa.fh.feedback': 'Os usuários enviam feedback a partir do cabeçalho; você lê-o em Atividade → Feedback.',
|
|
5964
|
+
'nwa.f.theme': 'Escolha do estilo do tema',
|
|
5965
|
+
'nwa.fh.theme': 'Os usuários podem escolher o tema claro ou o escuro.',
|
|
5966
|
+
'nwa.f.pwa': 'Instalar como app (PWA)',
|
|
5967
|
+
'nwa.fh.pwa': 'Instalável em telefones e computadores, com páginas offline.',
|
|
5968
|
+
'nwa.f.push': 'Notificações push',
|
|
5969
|
+
'nwa.fh.push': 'Notificações nos dispositivos dos usuários (com Instalar como app).',
|
|
5970
|
+
// ------------------------------------------------------------ Create Application wizard (sprint 164)
|
|
5971
|
+
'aw.k.report_form': 'Relatório interativo com formulário',
|
|
5972
|
+
'aw.k.facets': 'Pesquisa facetada',
|
|
5973
|
+
'aw.k.cards': 'Cartões',
|
|
5974
|
+
'aw.k.calendar': 'Calendário',
|
|
5975
|
+
'aw.k.master_detail': 'Mestre-detalhe',
|
|
5976
|
+
'aw.k.grid': 'Grade interativa',
|
|
5977
|
+
'aw.k.report': 'Relatório',
|
|
5978
|
+
'aw.k.none': 'Sem página',
|
|
5979
|
+
'aw.at_most_tables': 'Escolha no máximo {n} tabelas e vistas.',
|
|
5980
|
+
'aw.no_dashboard': 'Sem painel: nenhuma tabela tem uma chave estrangeira, ou uma coluna de texto, sim/não ou data cujas estatísticas mostrem poucos valores repetidos (execute primeiro ANALYZE nas tabelas).',
|
|
5981
|
+
'aw.not_on_dashboard': 'Fora do painel: {tables} (segurança ao nível da linha: a função da aplicação pode não ver nenhuma linha).',
|
|
5982
|
+
'aw.paste_title': 'Criar aplicação a partir de dados colados',
|
|
5983
|
+
'aw.pasted_data': 'Dados colados',
|
|
5984
|
+
'aw.paste_the_data': 'Cole os dados.',
|
|
5985
|
+
'aw.paste_max': 'Só se podem colar no máximo {mb} MB de texto; envie antes um arquivo.',
|
|
5986
|
+
'aw.created': 'Aplicação {alias} criada.',
|
|
5987
|
+
'aw.created_pages': 'Aplicação {alias} criada com {n} página(s) além de Home.',
|
|
5988
|
+
'aw.existing_account': 'A conta existente {user} recebeu a função admin (a senha não foi alterada).',
|
|
5989
|
+
'aw.src.file': 'A partir de um arquivo',
|
|
5990
|
+
'aw.srch.file': 'CSV, Excel, JSON ou XML: uma tabela por folha com as suas linhas',
|
|
5991
|
+
'aw.src.paste': 'A partir de dados colados',
|
|
5992
|
+
'aw.srch.paste': 'Linhas copiadas de uma folha de cálculo, ou texto CSV',
|
|
5993
|
+
'aw.src.blueprints': 'A partir de um blueprint',
|
|
5994
|
+
'aw.srch.blueprints': 'Tabelas, páginas, menu e linhas de exemplo descritas uma vez (ou esboçadas pela IA)',
|
|
5995
|
+
'aw.src.gallery': 'A partir da App Gallery',
|
|
5996
|
+
'aw.srch.gallery': 'Uma aplicação inicial',
|
|
5997
|
+
'aw.rls_on': 'A segurança ao nível da linha está ligada ({n} políticas): cada usuário só vê as linhas que as políticas permitem',
|
|
5998
|
+
'aw.rls_on_1': 'A segurança ao nível da linha está ligada (1 política): cada usuário só vê as linhas que as políticas permitem',
|
|
5999
|
+
'aw.icon': 'Ícone',
|
|
6000
|
+
'aw.not_analyzed': 'não analisada',
|
|
6001
|
+
'aw.about_rows': 'cerca de {n} linha(s)',
|
|
6002
|
+
'aw.view': 'vista',
|
|
6003
|
+
'aw.no_key': ', sem chave de uma só coluna: sem formulário',
|
|
6004
|
+
'aw.paged_grid': ': uma grade paginada',
|
|
6005
|
+
'aw.no_relations': '{schema} não tem tabelas nem vistas.',
|
|
6006
|
+
'aw.paste_intro': 'Cole linhas copiadas de uma folha de cálculo, ou texto CSV ou TSV: o delimitador (tabulação, vírgula, ponto e vírgula ou |) é detetado. Depois verifica a tabela proposta e as suas colunas, como para um arquivo. Ou {link}.',
|
|
6007
|
+
'aw.upload_a_file': 'envie um arquivo',
|
|
6008
|
+
'aw.bp_option': '{name} (base)',
|
|
6009
|
+
'aw.create_an_application_from_pasted': 'Criar uma aplicação a partir de dados colados',
|
|
6010
|
+
'aw.data': 'Dados',
|
|
6011
|
+
'aw.first_row_contains_column_names': 'A primeira linha contém os nomes das colunas',
|
|
6012
|
+
'aw.cancel': 'Cancelar',
|
|
6013
|
+
'aw.create_an_application': 'Criar uma aplicação',
|
|
6014
|
+
'aw.choose_one_of_the_schemas': 'Escolha um dos esquemas da lista.',
|
|
6015
|
+
'aw.name': 'Nome',
|
|
6016
|
+
'aw.a_hero_with_the_name': 'um destaque com o nome e o ícone, e um cartão por página',
|
|
6017
|
+
'aw.choose_a_schema_under_data': 'Escolha um esquema em Dados para ter uma página por tabela, ou adicione páginas mais tarde com os assistentes de página.',
|
|
6018
|
+
'aw.alias_url': 'Alias (URL)',
|
|
6019
|
+
'aw.lowercase_e_g_inventory_a': 'em minúsculas, ex. inventory → /a/inventory; segue o nome até o alterar',
|
|
6020
|
+
'aw.advanced': 'Avançado',
|
|
6021
|
+
'aw.create_application': 'Criar aplicação',
|
|
6022
|
+
'aw.next': 'Seguinte',
|
|
6023
|
+
'aw.rls_no_policies': 'RLS, sem políticas',
|
|
6024
|
+
'aw.show_its_tables': 'Mostrar as tabelas',
|
|
6025
|
+
'aw.home': 'Início',
|
|
6026
|
+
'aw.row_level_security_is_on': 'A segurança ao nível da linha está ligada sem políticas: a função da aplicação não vê linhas (a menos que seja dona da tabela ou ignore a segurança ao nível da linha)',
|
|
6027
|
+
'aw.other_ways_to_start': 'Outras formas de começar',
|
|
6028
|
+
'aw.pages_on_the_tables_of': 'Páginas sobre as tabelas de',
|
|
6029
|
+
'aw.description': 'Descrição',
|
|
6030
|
+
'aw.theme_style': 'Estilo do tema',
|
|
6031
|
+
'aw.navigation': 'Navegação',
|
|
6032
|
+
'aw.accent_colour': 'Cor de destaque',
|
|
6033
|
+
'aw.dashboard_a_chart_per_table': 'Painel: um gráfico por tabela com o número de linhas por linha pai (uma chave estrangeira) ou por valor de uma coluna cujos valores se repetem',
|
|
6034
|
+
'aw.authentication': 'Autenticação',
|
|
6035
|
+
'aw.first_user': 'Primeiro usuário',
|
|
6036
|
+
'aw.password': 'Senha',
|
|
6037
|
+
'aw.language': 'Idioma',
|
|
6038
|
+
'aw.start_from': 'Começar a partir de',
|
|
6039
|
+
'aw.names_the_application_and_the': 'Dá nome à aplicação e à tabela (pode alterar ambos no passo seguinte).',
|
|
6040
|
+
'aw.one_line_for_the_home': 'Uma linha para as páginas inicial e Sobre',
|
|
6041
|
+
'aw.of_the_theme_style_the': 'Do estilo do tema; o valor predefinido não guarda nada.',
|
|
6042
|
+
'aw.e_g_your_name': 'ex. o seu nome',
|
|
6043
|
+
'aw.gets_the_admin_role_an': 'Recebe a função admin. Uma conta existente em Usuários é reutilizada.',
|
|
6044
|
+
'aw.for_a_new_account_at': 'Para uma conta nova; pelo menos 8 caracteres.',
|
|
6045
|
+
'aw.a_new_empty_schema_home': '- um esquema novo e vazio (só Início) -',
|
|
6046
|
+
'aw.iris_light_body_dark_header': 'Iris (corpo claro, cabeçalho e menu escuros)',
|
|
6047
|
+
'aw.lavender_rounded_indigo': 'Lavender (arredondado, índigo)',
|
|
6048
|
+
'aw.standard_blue_navy_header': 'Standard (azul, cabeçalho azul-marinho)',
|
|
6049
|
+
'aw.side_menu': 'Menu lateral',
|
|
6050
|
+
'aw.top_menu': 'Menu superior',
|
|
6051
|
+
'aw.app_users_login_page': 'Usuários da app (página de login)',
|
|
6052
|
+
'aw.none_public': 'Nenhuma (pública)',
|
|
6053
|
+
'aw.a_blank_application': '- uma aplicação em branco -',
|
|
6054
|
+
'aw.paste_delimited_text_csv_or': 'Cole texto delimitado (CSV ou TSV); envie os arquivos JSON, XML ou Excel com A partir de um arquivo.',
|
|
6055
|
+
'aw.the_data_has_column_names': 'Os dados têm nomes de colunas mas nenhuma linha.',
|
|
6056
|
+
'aw.choose_a_boilerplate_application_an': 'Escolha uma aplicação base (uma aplicação do tipo Boilerplate).',
|
|
6057
|
+
'aw.choose_at_least_one_table': 'Escolha pelo menos uma tabela ou vista.',
|
|
6058
|
+
'aw.a_boilerplate_application_brings_its': 'Uma aplicação base traz as suas próprias páginas: não escolha tabelas, ou não escolha base.',
|
|
6059
|
+
'aw.application': 'Aplicação',
|
|
6060
|
+
'aw.appearance': 'Aparência',
|
|
6061
|
+
'aw.pages': 'Páginas',
|
|
6062
|
+
'aw.features': 'Funcionalidades',
|
|
6063
|
+
'aw.settings': 'Definições',
|
|
6064
|
+
'aw.app_builder': 'App Builder',
|
|
6065
|
+
'aw.create': 'Criar',
|
|
6066
|
+
// ------------------------------------------------------------ Create application from a file (sprint 164)
|
|
6067
|
+
'aff.table_exists': 'A tabela {table} já existe: escolha outro nome.',
|
|
6068
|
+
'aff.no_dashboard': 'Sem painel: nenhuma coluna de texto, sim/não ou data tem poucos valores repetidos para contar as linhas.',
|
|
6069
|
+
'aff.no_facets': 'Sem pesquisa facetada: nenhuma coluna serve de filtro.',
|
|
6070
|
+
'aff.choose_file': 'Escolha um arquivo.',
|
|
6071
|
+
'aff.too_large': 'O arquivo tem mais de {mb} MB.',
|
|
6072
|
+
'aff.col_name_head': 'Nome da coluna (vazio = ignorar)',
|
|
6073
|
+
'aff.col_name_for': 'Nome da coluna para {col}',
|
|
6074
|
+
'aff.type_of': 'Tipo de {col}',
|
|
6075
|
+
'aff.bad_schema': 'O esquema {schema} não pode ser o esquema de análise de uma aplicação.',
|
|
6076
|
+
'aff.loaded': '{table}: {n} linha(s) carregada(s).',
|
|
6077
|
+
'aff.loaded_skipped': '{table}: {n} linha(s) carregada(s), {skipped} ignorada(s).',
|
|
6078
|
+
'aff.created': 'Aplicação {alias} criada.',
|
|
6079
|
+
'aff.existing_account': 'A conta existente {user} recebeu a função admin (a senha não foi alterada).',
|
|
6080
|
+
'aff.page_item': 'Página {n}: {label}',
|
|
6081
|
+
'aff.intro': 'Envie uma folha de cálculo: CSV ou TSV (UTF-8 ou Windows-1252; o delimitador é detetado), Excel .xlsx (cada folha torna-se uma tabela, até {sheets}), JSON (um array de objetos; um objeto com vários arrays dá várias tabelas) ou XML, até {mb} MB. Depois verifica as tabelas propostas e as suas colunas. A aplicação recebe o seu próprio esquema e função de banco de dados, uma tabela com as linhas, um relatório com formulário e, opcionalmente, um painel e uma pesquisa facetada. Em alternativa: {paste} ou {tables}.',
|
|
6082
|
+
'aff.schema_help_1': 'É criada uma função de banco de dados app_<alias> com acesso apenas a este esquema; a app corre com essa função. A tabela é criada neste esquema.',
|
|
6083
|
+
'aff.schema_help_n': 'É criada uma função de banco de dados app_<alias> com acesso apenas a este esquema; a app corre com essa função. As tabelas são criadas neste esquema.',
|
|
6084
|
+
'aff.sheets_info': '{file}: {n} folhas ({list}).',
|
|
6085
|
+
'aff.arrays_info': '{file}: {n} arrays ({list}).',
|
|
6086
|
+
'aff.sheet_rows': '{name}: {n} linha(s)',
|
|
6087
|
+
'aff.info': '{file}: {rows} linha(s), {cols} coluna(s)',
|
|
6088
|
+
'aff.delimiter': ', delimitador {d}',
|
|
6089
|
+
'aff.tab': 'tabulação',
|
|
6090
|
+
'aff.xml_rows': ', linhas XML {path}',
|
|
6091
|
+
'aff.first_10': '(mostradas as 10 primeiras)',
|
|
6092
|
+
'aff.application_created': 'Aplicação criada',
|
|
6093
|
+
'aff.table': 'Tabela',
|
|
6094
|
+
'aff.row': 'Linha',
|
|
6095
|
+
'aff.error': 'Erro',
|
|
6096
|
+
'aff.the_first_errors_are_shown': 'São mostrados os primeiros erros.',
|
|
6097
|
+
'aff.create_an_application_from_a': 'Criar uma aplicação a partir de um arquivo',
|
|
6098
|
+
'aff.paste_data': 'Colar dados',
|
|
6099
|
+
'aff.start_from_existing_tables': 'começar a partir de tabelas existentes',
|
|
6100
|
+
'aff.file': 'Arquivo',
|
|
6101
|
+
'aff.first_row_contains_column_names': 'A primeira linha contém os nomes das colunas',
|
|
6102
|
+
'aff.cancel': 'Cancelar',
|
|
6103
|
+
'aff.paste_other_data': 'Colar outros dados',
|
|
6104
|
+
'aff.choose_another_file': 'Escolher outro arquivo',
|
|
6105
|
+
'aff.page_1_is_the_home': 'A página 1 é a inicial; cada tabela recebe um relatório interativo com um formulário modal para criar, alterar e excluir linhas, e uma entrada de navegação. Podem adicionar-se mais páginas depois com os assistentes de página.',
|
|
6106
|
+
'aff.create_application': 'Criar aplicação',
|
|
6107
|
+
'aff.file_column': 'Coluna do arquivo',
|
|
6108
|
+
'aff.values': 'Valores',
|
|
6109
|
+
'aff.type': 'Tipo',
|
|
6110
|
+
'aff.page_1_is_the_home_2': 'A página 1 é a inicial; a página 2 um relatório interativo da tabela com um formulário modal (página 3) para criar, alterar e excluir linhas. Cada página recebe uma entrada de navegação. Podem adicionar-se mais páginas depois com os assistentes de página.',
|
|
6111
|
+
'aff.edit_the_application': 'Editar a aplicação',
|
|
6112
|
+
'aff.run': 'Executar',
|
|
6113
|
+
'aff.create_another': 'Criar outra',
|
|
6114
|
+
'aff.next': 'Seguinte',
|
|
6115
|
+
'aff.name': 'Nome',
|
|
6116
|
+
'aff.alias_url': 'Alias (URL)',
|
|
6117
|
+
'aff.parsing_schema': 'Esquema de análise',
|
|
6118
|
+
'aff.authentication': 'Autenticação',
|
|
6119
|
+
'aff.first_user': 'Primeiro usuário',
|
|
6120
|
+
'aff.password': 'Senha',
|
|
6121
|
+
'aff.dashboard_a_chart_per_table': 'Painel: um gráfico por tabela com o número de linhas por linha pai (uma chave estrangeira) ou por valor de uma coluna de texto, sim/não ou data',
|
|
6122
|
+
'aff.skip_rows_with_errors_otherwise': 'Ignorar linhas com erros (caso contrário nada é criado quando uma linha falha)',
|
|
6123
|
+
'aff.table_name': 'Nome da tabela',
|
|
6124
|
+
'aff.dashboard_a_chart_with_the': 'Painel: um gráfico com o número de linhas por valor de uma coluna de texto, sim/não ou data',
|
|
6125
|
+
'aff.faceted_search_a_report_with': 'Pesquisa facetada: um relatório com um painel de filtros (valores com contagens, intervalos e um campo de pesquisa)',
|
|
6126
|
+
'aff.lowercase_e_g_inventory_a': 'em minúsculas, ex. inventory → /a/inventory',
|
|
6127
|
+
'aff.e_g_your_name': 'ex. o seu nome',
|
|
6128
|
+
'aff.gets_the_admin_role_an': 'Recebe a função admin. Uma conta existente em Usuários é reutilizada.',
|
|
6129
|
+
'aff.for_a_new_account_at': 'Para uma conta nova; pelo menos 8 caracteres.',
|
|
6130
|
+
'aff.in_the_application_s_schema': 'No esquema da aplicação; a tabela recebe uma chave primária de identidade id.',
|
|
6131
|
+
'aff.new_schema_named_after_the': '- esquema novo com o nome do alias -',
|
|
6132
|
+
'aff.app_users_login_page': 'Usuários da app (página de login)',
|
|
6133
|
+
'aff.none_public': 'Nenhuma (pública)',
|
|
6134
|
+
'aff.give_at_least_one_column': 'Dê nome a pelo menos uma coluna.',
|
|
6135
|
+
'aff.table_name_a_lower_case': 'Nome da tabela: um nome em minúsculas (letras, dígitos e _) sem esquema; a tabela vai para o esquema da aplicação.',
|
|
6136
|
+
'aff.the_file_has_column_names': 'O arquivo tem nomes de colunas mas nenhuma linha.',
|
|
6137
|
+
'aff.skipped_rows': 'Linhas ignoradas',
|
|
6138
|
+
'aff.foreign_keys': 'Chaves estrangeiras',
|
|
6139
|
+
'aff.pages': 'Páginas',
|
|
6140
|
+
'aff.application': 'Aplicação',
|
|
6141
|
+
'aff.preview': 'Pré-visualização',
|
|
6142
|
+
'aff.create_application_from_a_file': 'Criar aplicação a partir de um arquivo',
|
|
6143
|
+
'aff.app_builder': 'App Builder',
|
|
6144
|
+
'aff.create': 'Criar',
|
|
6145
|
+
'aff.from_a_file': 'A partir de um arquivo',
|
|
6146
|
+
// ------------------------------------------------------------ Workbooks with several sheets (sprint 164)
|
|
6147
|
+
'ash.bad_xlsx': 'Não é um arquivo Excel (.xlsx) legível: {error}',
|
|
6148
|
+
'ash.sheet_error': 'Folha {sheet}: {error}',
|
|
6149
|
+
'ash.too_many_sheets': 'O livro tem {n} folhas com linhas; no máximo {max} tornam-se tabelas de uma vez.',
|
|
6150
|
+
'ash.too_many_rows_wb': 'O livro tem {n} linhas; no máximo {max} podem ser carregadas de uma vez.',
|
|
6151
|
+
'ash.too_many_arrays': 'O JSON tem {n} arrays; no máximo {max} tornam-se tabelas de uma vez.',
|
|
6152
|
+
'ash.too_many_rows': 'O arquivo tem {n} linhas; no máximo {max} podem ser carregadas de uma vez.',
|
|
6153
|
+
'ash.sheet': 'Folha {name}',
|
|
6154
|
+
'ash.bad_table_name': '{where}: o nome da tabela tem de estar em minúsculas (letras, dígitos e _) sem esquema; a tabela vai para o esquema da aplicação.',
|
|
6155
|
+
'ash.no_columns': '{where}: dê nome a pelo menos uma coluna.',
|
|
6156
|
+
'ash.bad_column': '{where}: "{col}" não é um nome de coluna válido.',
|
|
6157
|
+
'ash.bad_type': '{where}: tipo de coluna desconhecido {type}.',
|
|
6158
|
+
'ash.dup_columns': '{where}: os nomes das colunas têm de ser únicos.',
|
|
6159
|
+
'ash.id_taken': '{where}: "id" é o nome da nova coluna chave; renomeie a coluna do arquivo ou escolha-a como chave primária.',
|
|
6160
|
+
'ash.table_exists': 'A tabela {table} já existe: escolha outro nome.',
|
|
6161
|
+
'ash.fk_failed': 'Chave estrangeira {fk}: {error} Desmarque-a ou corrija os dados.',
|
|
6162
|
+
'ash.no_dashboard': 'Sem painel: nenhuma tabela tem uma chave estrangeira ou uma coluna de texto, sim/não ou data com poucos valores repetidos para contar as linhas.',
|
|
6163
|
+
'ash.create_from_sheet': 'Criar uma tabela a partir desta folha ({rows} linha(s), {cols} coluna(s))',
|
|
6164
|
+
'ash.col_name_head': 'Nome da coluna (vazio = ignorar)',
|
|
6165
|
+
'ash.col_name_for': 'Nome da coluna para {col} ({sheet})',
|
|
6166
|
+
'ash.type_of': 'Tipo de {col} ({sheet})',
|
|
6167
|
+
'ash.missing': '{n} linha(s) têm um valor que {key} não tem.',
|
|
6168
|
+
'ash.fk_intro': 'Propostas onde uma coluna corresponde à chave primária de outra tabela; assinaladas quando todos os valores são encontrados. Os formulários recebem uma lista de seleção para cada chave estrangeira.',
|
|
6169
|
+
'ash.table_name': 'Nome da tabela',
|
|
6170
|
+
'ash.primary_key': 'Chave primária',
|
|
6171
|
+
'ash.a_whole_number_key_column': 'Uma coluna chave de números inteiros torna-se uma chave de identidade; outra coluna chave fica única, ao lado de um novo id.',
|
|
6172
|
+
'ash.file_column': 'Coluna do arquivo',
|
|
6173
|
+
'ash.values': 'Valores',
|
|
6174
|
+
'ash.type': 'Tipo',
|
|
6175
|
+
'ash.no_column_matches_another_table': 'Nenhuma coluna corresponde à chave de outra tabela. Uma coluna corresponde quando tem o nome da coluna chave (dept_id), ou o da outra tabela e da sua chave (department_id, department_code), com o mesmo tipo.',
|
|
6176
|
+
'ash.update_the_proposals': 'Atualizar as propostas',
|
|
6177
|
+
'ash.a_new_column_id_identity': '- uma nova coluna id (identidade) -',
|
|
6178
|
+
'ash.the_file_has_column_names': 'O arquivo tem nomes de colunas mas nenhuma linha.',
|
|
6179
|
+
'ash.choose_at_least_one_sheet': 'Escolha pelo menos uma folha.',
|
|
6180
|
+
'ash.each_sheet_needs_a_table': 'Cada folha precisa do seu próprio nome de tabela.',
|
|
6181
|
+
'ash.foreign_keys': 'Chaves estrangeiras',
|
|
6182
|
+
// ------------------------------------------------------------ Theme Roller (sprint 164)
|
|
6183
|
+
'thr.as_base': '- como a base -',
|
|
6184
|
+
'thr.as_app': '- como a aplicação -',
|
|
6185
|
+
'thr.default_base_style': 'Predefinido (cabeçalho e menu do estilo base)',
|
|
6186
|
+
'thr.preview_text': 'Texto com uma {link} e um {badge}.',
|
|
6187
|
+
'thr.link': 'ligação',
|
|
6188
|
+
'thr.badge': 'selo',
|
|
6189
|
+
'thr.value': 'Valor',
|
|
6190
|
+
'thr.c_accent': 'Cor de destaque',
|
|
6191
|
+
'thr.c_header': 'Cor do cabeçalho',
|
|
6192
|
+
'thr.c_accent_dark': 'Cor de destaque no modo escuro',
|
|
6193
|
+
'thr.c_header_dark': 'Cor do cabeçalho no modo escuro',
|
|
6194
|
+
'thr.c_strip': 'Cor da faixa do cabeçalho',
|
|
6195
|
+
'thr.c_strip_dark': 'Cor da faixa do cabeçalho no modo escuro',
|
|
6196
|
+
'thr.delete_confirm': 'Excluir o estilo {name}?',
|
|
6197
|
+
'thr.edit_style': 'Editar o estilo {name}',
|
|
6198
|
+
'thr.max_styles': 'No máximo {n} estilos por aplicação.',
|
|
6199
|
+
'thr.options_intro': 'As regiões e os botões têm {options} no Page Designer (grupo Aparência): classes CSS de uma lista fixa, que estes estilos também afetam.',
|
|
6200
|
+
'thr.regions_list': 'Regiões: {list}',
|
|
6201
|
+
'thr.buttons_list': 'Botões: {list}',
|
|
6202
|
+
'thr.title': 'Theme Roller de {app}',
|
|
6203
|
+
'thr.gone': 'O estilo {name} já não existe.',
|
|
6204
|
+
'thr.exists': 'Já existe um estilo chamado {name}.',
|
|
6205
|
+
'thr.saved': 'Estilo {name} guardado.',
|
|
6206
|
+
'thr.deleted': 'Estilo {name} excluído.',
|
|
6207
|
+
'thr.variants_intro': 'Vários estilos guardados para esta aplicação (APEX: estilos de tema). O estilo base ({base}) e as cores em {settings} são o que os usuários veem sem estilo; cada estilo abaixo muda as cores e pode definir tipo de letra, tamanho de letra e cantos. As cores aplicam-se ao tema claro, as cores do modo escuro ao tema escuro (escolha aí cores claras); tipos de letra, tamanhos e cantos a ambos.',
|
|
6208
|
+
'thr.use_this_colour_else_the': 'Usar esta cor (senão a cor base)',
|
|
6209
|
+
'thr.or_the_value_of_an': '…ou o valor de um item',
|
|
6210
|
+
'thr.a_dynamic_colour_the_item': 'Uma cor dinâmica: o valor do item quando é #rrggbb (senão a cor base).',
|
|
6211
|
+
'thr.preview': 'Pré-visualização',
|
|
6212
|
+
'thr.employees': 'Funcionários',
|
|
6213
|
+
'thr.employee_list': 'Lista de funcionários',
|
|
6214
|
+
'thr.directory': 'Diretório',
|
|
6215
|
+
'thr.reports': 'Relatórios',
|
|
6216
|
+
'thr.a_region': 'Uma região',
|
|
6217
|
+
'thr.a_field': 'Um campo',
|
|
6218
|
+
'thr.cancel': 'Cancelar',
|
|
6219
|
+
'thr.save': 'Guardar',
|
|
6220
|
+
'thr.condition_sql': 'Condição (SQL)',
|
|
6221
|
+
'thr.optional_a_boolean_expression_with': 'Opcional. Uma expressão booleana com variáveis de ligação, executada com a função da aplicação em cada página: os usuários que não escolheram estilo recebem o primeiro estilo cuja condição se verifica, senão o estilo predefinido (APEX: estilos de tema condicionais).',
|
|
6222
|
+
'thr.use_this_colour_else_the_2': 'Usar esta cor (senão a cor de destaque)',
|
|
6223
|
+
'thr.settings_theme': 'Definições → Tema',
|
|
6224
|
+
'thr.name': 'Nome',
|
|
6225
|
+
'thr.accent': 'Destaque',
|
|
6226
|
+
'thr.header': 'Cabeçalho',
|
|
6227
|
+
'thr.dark_accent': 'Destaque escuro',
|
|
6228
|
+
'thr.dark_header': 'Cabeçalho escuro',
|
|
6229
|
+
'thr.navigation': 'Navegação',
|
|
6230
|
+
'thr.strip': 'Faixa',
|
|
6231
|
+
'thr.font': 'Tipo de letra',
|
|
6232
|
+
'thr.font_size': 'Tamanho de letra',
|
|
6233
|
+
'thr.corners': 'Cantos',
|
|
6234
|
+
'thr.actions': 'Ações',
|
|
6235
|
+
'thr.delete': 'Excluir',
|
|
6236
|
+
'thr.no_styles_yet_the_application': 'Ainda não há estilos: a aplicação usa as suas cores base.',
|
|
6237
|
+
'thr.users_may_choose_a_style': 'Os usuários podem escolher um estilo',
|
|
6238
|
+
'thr.adds_the_styles_to_the': 'Adiciona os estilos ao menu do usuário e a A minha conta (APEX: "Enable End Users to Choose Theme Style"). A escolha de um usuário é guardada por aplicação na conta; só os estilos desta aplicação podem ser escolhidos.',
|
|
6239
|
+
'thr.template_options': 'Opções de modelo',
|
|
6240
|
+
'thr.edit': 'Editar',
|
|
6241
|
+
'thr.preview_of_the_style': 'Pré-visualização do estilo',
|
|
6242
|
+
'thr.sample_menu': 'Menu de exemplo',
|
|
6243
|
+
'thr.navigation_appearance': 'Aparência da navegação',
|
|
6244
|
+
'thr.default_style': 'Estilo predefinido',
|
|
6245
|
+
'thr.e_g_ocean': 'ex. Ocean',
|
|
6246
|
+
'thr.shown_to_users_who_may': 'Mostrado aos usuários que podem escolher um estilo. 1–30 letras, dígitos, espaços, - ou _.',
|
|
6247
|
+
'thr.as_the_application': '- como a aplicação -',
|
|
6248
|
+
'thr.default_the_base_style_s': 'Predefinido (cabeçalho e menu do estilo base)',
|
|
6249
|
+
'thr.as_the_base': '- como a base -',
|
|
6250
|
+
'thr.none_the_base_style_and': 'Nenhum (o estilo e as cores base)',
|
|
6251
|
+
'thr.default': 'Predefinido',
|
|
6252
|
+
'thr.save_style': 'Guardar estilo',
|
|
6253
|
+
'thr.add_style': 'Adicionar estilo',
|
|
6254
|
+
'thr.add_a_style': 'Adicionar um estilo',
|
|
6255
|
+
'thr.theme_roller_settings_saved': 'Definições do Theme Roller guardadas.',
|
|
6256
|
+
'thr.what_everyone_sees_unless_they': 'O que todos veem, a menos que tenham escolhido outro estilo.',
|
|
6257
|
+
'thr.theme_roller_style_variants': 'Theme Roller: variantes de estilo',
|
|
6258
|
+
'thr.app_builder': 'App Builder',
|
|
6259
|
+
'thr.settings': 'Definições',
|
|
6260
|
+
'thr.theme_roller': 'Theme Roller',
|
|
6261
|
+
// ------------------------------------------------------------ Features (sprint 164)
|
|
6262
|
+
'feat.f.access': 'Controlo de acesso',
|
|
6263
|
+
'feat.h.access': 'Esquemas de autorização para as funções admin, contributor e reader, para páginas, regiões e botões.',
|
|
6264
|
+
'feat.f.activity': 'Relatórios de atividade',
|
|
6265
|
+
'feat.h.activity': 'Uma página para administradores com as visualizações de página por dia e a atividade mais recente.',
|
|
6266
|
+
'feat.f.config': 'Opções de configuração',
|
|
6267
|
+
'feat.h.config': 'Uma página onde os administradores da aplicação ligam e desligam opções de build enquanto ela corre.',
|
|
6268
|
+
'feat.f.email': 'Relatórios por e-mail',
|
|
6269
|
+
'feat.h.email': 'Um e-mail semanal aos administradores com a atividade da aplicação, as linhas como arquivo CSV.',
|
|
6270
|
+
'feat.f.feedback': 'Feedback',
|
|
6271
|
+
'feat.h.feedback': 'Os usuários enviam feedback a partir do cabeçalho; você lê-o em Atividade → Feedback da aplicação.',
|
|
6272
|
+
'feat.f.about': 'Página Sobre',
|
|
6273
|
+
'feat.h.about': 'Uma página Sobre num menu Ajuda do cabeçalho.',
|
|
6274
|
+
'feat.f.login': 'Página de login',
|
|
6275
|
+
'feat.h.login': 'A página de login própria da aplicação em vez da integrada, editável no Page Designer.',
|
|
6276
|
+
'feat.f.theme': 'Escolha do estilo do tema',
|
|
6277
|
+
'feat.h.theme': 'Os usuários escolhem o tema claro ou escuro no menu do usuário (Aparência).',
|
|
6278
|
+
'feat.f.push': 'Notificações push',
|
|
6279
|
+
'feat.h.push': 'Notificações nos dispositivos dos usuários, a partir de processos e SQL (meta.send_push); a aplicação torna-se instalável.',
|
|
6280
|
+
'feat.a.access_1': 'Esquemas de autorização CONTRIBUTOR (função admin ou contributor) e READER (admin, contributor ou reader), e ADMIN quando a aplicação não tem nenhum',
|
|
6281
|
+
'feat.a.access_2': 'Dê aos usuários as suas funções em Componentes Compartilhados → Usuários (acesso à aplicação)',
|
|
6282
|
+
'feat.a.activity_1': 'Página {page} "Activity" (autorização ADMIN): um gráfico das visualizações de página por dia e um relatório da atividade mais recente, a partir de meta.app_activity()',
|
|
6283
|
+
'feat.a.activity_2': 'Uma entrada de navegação Activity para administradores',
|
|
6284
|
+
'feat.a.activity_3': 'Esquema de autorização ADMIN (função admin) quando a aplicação não tem nenhum',
|
|
6285
|
+
'feat.page_in_use': 'A página {page} está a ser usada por outra página.',
|
|
6286
|
+
'feat.a.config_1': 'Página {page} "Configuration" (autorização ADMIN): as opções de build configuráveis como interruptores, e Guardar',
|
|
6287
|
+
'feat.a.config_2': 'As opções de build assinaladas abaixo ficam configuráveis (Componentes Compartilhados → Opções de build → Configurável)',
|
|
6288
|
+
'feat.a.config_3': 'Uma entrada de navegação Configuration para administradores',
|
|
6289
|
+
'feat.a.email_1': 'Definição da aplicação EMAIL_REPORT_TO: os endereços para onde vai o relatório (Componentes Compartilhados → Definições da aplicação)',
|
|
6290
|
+
'feat.a.email_2': 'Automatização EMAIL_REPORTING, todas as segundas-feiras às 07:00 UTC: meta.send_activity_report() com os últimos 7 dias (Componentes Compartilhados → Automatizações)',
|
|
6291
|
+
'feat.a.email_3': 'O correio sai pelo serviço de e-mail da aplicação (Utilitários do workspace → Serviços de e-mail); sem endereços nada é enviado',
|
|
6292
|
+
'feat.not_email': '"{address}" não é um endereço de e-mail.',
|
|
6293
|
+
'feat.too_many': 'Demasiados endereços.',
|
|
6294
|
+
'feat.a.feedback_1': 'Uma entrada Feedback no cabeçalho para usuários com sessão iniciada (Definições → Feedback)',
|
|
6295
|
+
'feat.a.feedback_2': 'O feedback deles, com a página, em Atividade → Feedback no builder',
|
|
6296
|
+
'feat.a.about_1': 'Página {page} "About" com o nome da aplicação e as páginas do seu menu',
|
|
6297
|
+
'feat.a.about_2': 'Um menu Ajuda com About na barra de navegação (lista NAVBAR), a menos que a aplicação já tenha uma lista de barra de navegação',
|
|
6298
|
+
'feat.a.login_1': 'Página 9999 (ou o próximo número livre) "Login": pública, modelo de página Minimal, com uma região Login',
|
|
6299
|
+
'feat.a.login_2': 'Passa a ser a página de login (Definições → Métodos de login)',
|
|
6300
|
+
'feat.no_signin': 'A aplicação não tem login (autenticação none).',
|
|
6301
|
+
'feat.a.theme_1': 'Aparência no menu do usuário: claro, escuro ou a definição do dispositivo (Definições → Tema → Os usuários podem escolher)',
|
|
6302
|
+
'feat.a.push_1': 'Instalar como app (PWA): um manifesto, um service worker e um botão Instalar',
|
|
6303
|
+
'feat.a.push_2': 'Notificações push: os usuários subscrevem em A minha conta; envio com o processo send_push ou meta.send_push',
|
|
6304
|
+
'feat.a.push_3': 'O par de chaves push da aplicação (guardado cifrado)',
|
|
6305
|
+
'feat.push_needs_key': 'As notificações push precisam de PGKILN_SECRET_KEY no ambiente do servidor.',
|
|
6306
|
+
'feat.send_to': 'Enviar para',
|
|
6307
|
+
'feat.send_to_help': 'Separados por vírgulas; pode ficar vazio e ser definido mais tarde em Componentes Compartilhados → Definições da aplicação (EMAIL_REPORT_TO).',
|
|
6308
|
+
'feat.cbo': 'Opções de build configuráveis',
|
|
6309
|
+
'feat.no_build_options': 'A aplicação ainda não tem opções de build: adicione-as em Componentes Compartilhados → Opções de build e assinale {configurable}; a página mostra-as à medida que aparecem.',
|
|
6310
|
+
'feat.configurable': 'Configurável',
|
|
6311
|
+
'feat.installed_already': '{feature} já está instalado nesta aplicação.',
|
|
6312
|
+
'feat.add': 'Adicionar {feature}',
|
|
6313
|
+
'feat.title': '{feature} · {app}',
|
|
6314
|
+
'feat.added': '{feature} adicionado.',
|
|
6315
|
+
'feat.back_to_the_features': 'Voltar às funcionalidades',
|
|
6316
|
+
'feat.cancel': 'Cancelar',
|
|
6317
|
+
'feat.it_added': 'Adicionou',
|
|
6318
|
+
'feat.it_adds': 'Adiciona',
|
|
6319
|
+
'feat.app_builder': 'App Builder',
|
|
6320
|
+
'feat.create_page': 'Criar página',
|
|
6321
|
+
// ------------------------------------------------------------ OpenTelemetry (sprint 164)
|
|
6322
|
+
'tel.o.builder': 'definido aqui',
|
|
6323
|
+
'tel.o.environment': 'variável de ambiente',
|
|
6324
|
+
'tel.o.default': 'predefinido',
|
|
6325
|
+
'tel.intro': 'Traces e registos das aplicações deste workspace. {state} Um coletor próprio do workspace é alcançado pela lista de permitidos da instalação e pela lista de {network} deste workspace.',
|
|
6326
|
+
'tel.endpoint_help': 'O endereço base OTLP/HTTP; são acrescentados /v1/traces, /v1/logs e /v1/metrics. Em vigor: {value} {origin} ({env}).',
|
|
6327
|
+
'tel.none': 'nenhum',
|
|
6328
|
+
'tel.service_help': 'service.name de tudo o que é enviado (OTEL_SERVICE_NAME). Em vigor: {value}.',
|
|
6329
|
+
'tel.new_token': 'O novo token (mostrado uma vez): {token}',
|
|
6330
|
+
'tel.test_failed': 'O coletor não aceitou o span de teste: {problem}',
|
|
6331
|
+
'tel.send_traces_logs_and_metrics': 'Envie traces, registos e métricas das aplicações para a sua própria monitorização (Grafana, Jaeger, Datadog, Honeycomb, OCI APM, ou qualquer coisa que fale OTLP) através de um OpenTelemetry Collector. Um trace por pedido de página, com um span para cada instrução SQL, chamada a fonte de dados REST, pedido de IA e chamada a ferramenta; os passos de e-mail e de workflow como traces próprios. O pgkiln envia OTLP por HTTP como JSON. As variáveis de ambiente padrão `OTEL_*` também funcionam; um valor definido aqui prevalece. O capítulo 1 do guia (Monitorização com OpenTelemetry) explica cada escolha.',
|
|
6332
|
+
'tel.headers': 'Cabeçalhos',
|
|
6333
|
+
'tel.remove_the_headers': 'Remover os cabeçalhos',
|
|
6334
|
+
'tel.opentelemetry': 'OpenTelemetry',
|
|
6335
|
+
'tel.only_administrators_set_up_opentelemetry': 'Só os administradores configuram o OpenTelemetry para a instalação.',
|
|
6336
|
+
'tel.send': 'Enviar',
|
|
6337
|
+
'tel.save': 'Guardar',
|
|
6338
|
+
'tel.send_a_test_span': 'Enviar um span de teste',
|
|
6339
|
+
'tel.since_this_server_started_each': 'Desde que este servidor arrancou. Cada servidor da instalação envia os seus.',
|
|
6340
|
+
'tel.collector': 'Coletor',
|
|
6341
|
+
'tel.sending': 'Envio',
|
|
6342
|
+
'tel.off': '(desligado)',
|
|
6343
|
+
'tel.remove_the_token': 'Remover o token',
|
|
6344
|
+
'tel.a_workspace_s_administrators_may': 'Os administradores de um workspace podem desligar as suas aplicações, ou enviá-las também para um coletor próprio.',
|
|
6345
|
+
'tel.workspace': 'Workspace',
|
|
6346
|
+
'tel.applications': 'Aplicações',
|
|
6347
|
+
'tel.sends': 'Envia',
|
|
6348
|
+
'tel.no_workspaces': 'Não há workspaces.',
|
|
6349
|
+
'tel.only_the_workspace_s_administrators': 'Só os administradores do workspace alteram a sua definição de OpenTelemetry.',
|
|
6350
|
+
'tel.network_access': 'acesso de rede',
|
|
6351
|
+
'tel.the_applications_send': 'As aplicações enviam',
|
|
6352
|
+
'tel.remove_the_metrics_token_scrapers': 'Remover o token de métricas? Os scrapers que o usam recebem 401.',
|
|
6353
|
+
'tel.send_to_this_collector': 'Enviar para este coletor',
|
|
6354
|
+
'tel.collector_url': 'URL do coletor',
|
|
6355
|
+
'tel.service_name': 'Nome do serviço',
|
|
6356
|
+
'tel.sample_ratio': 'Taxa de amostragem',
|
|
6357
|
+
'tel.user': 'Usuário',
|
|
6358
|
+
'tel.traces': 'Traces',
|
|
6359
|
+
'tel.logs_errors_refused_access_and': 'Registos: erros, acessos recusados e logins falhados',
|
|
6360
|
+
'tel.include_values': 'Incluir valores',
|
|
6361
|
+
'tel.trace_builder_requests_too': 'Rastrear também os pedidos do builder',
|
|
6362
|
+
'tel.browser_spans': 'Spans do navegador',
|
|
6363
|
+
'tel.prometheus_endpoint_metrics': 'Endpoint do Prometheus /metrics',
|
|
6364
|
+
'tel.as_the_instance_does': 'Como a instância',
|
|
6365
|
+
'tel.nothing': 'Nada',
|
|
6366
|
+
'tel.also_to_our_own_collector': 'Também para o nosso próprio coletor',
|
|
6367
|
+
'tel.own_collector_url': 'URL do coletor próprio',
|
|
6368
|
+
'tel.include_values_for_the_own': 'Incluir valores para o coletor próprio',
|
|
6369
|
+
'tel.share_of_traces_sent_0': 'Proporção de traces enviados, de 0 a 1 (OTEL_TRACES_SAMPLER_ARG). Um trace com erro é sempre enviado. O traceparent de quem chama decide para o seu trace.',
|
|
6370
|
+
'tel.https_otlp_example_com': 'https://otlp.example.com',
|
|
6371
|
+
'tel.the_otlp_http_base_address': 'O endereço base OTLP/HTTP; são acrescentados /v1/traces e /v1/logs.',
|
|
6372
|
+
'tel.hashed_the_same_user_gives': 'Com hash (o mesmo usuário dá o mesmo valor, o nome não é enviado)',
|
|
6373
|
+
'tel.user_name': 'Nome de usuário',
|
|
6374
|
+
'tel.not_sent': 'Não enviado',
|
|
6375
|
+
'tel.off_switch_it_on_above': 'Desligado: ligue-o acima.',
|
|
6376
|
+
'tel.the_token_is_pgkiln_metrics': 'O token é PGKILN_METRICS_TOKEN.',
|
|
6377
|
+
'tel.no_token_is_set': 'Não há nenhum token definido.',
|
|
6378
|
+
'tel.replace_the_token': 'Substituir o token',
|
|
6379
|
+
'tel.make_a_token': 'Criar um token',
|
|
6380
|
+
'tel.opentelemetry_settings_saved': 'Definições de OpenTelemetry guardadas.',
|
|
6381
|
+
'tel.the_collector_took_the_test': 'O coletor aceitou o span de teste ("pgkiln test span").',
|
|
6382
|
+
'tel.the_instance_sends_them_to': 'A instância envia-os para o seu coletor.',
|
|
6383
|
+
'tel.the_instance_sends_nothing_at': 'A instância não envia nada de momento.',
|
|
6384
|
+
'tel.saved': 'Guardado.',
|
|
6385
|
+
'tel.the_workspace_has_no_collector': 'O workspace não tem coletor próprio.',
|
|
6386
|
+
'tel.off_nothing_leaves_the_server': 'Desligado: nada sai do servidor (os workspaces com coletor próprio continuam a enviar para ele).',
|
|
6387
|
+
'tel.sent_with_every_request_to': 'Enviado com cada pedido ao coletor, name=value, um por linha ou separados por vírgulas (OTEL_EXPORTER_OTLP_HEADERS). Guardado cifrado.',
|
|
6388
|
+
'tel.applications_only_by_default': 'Por predefinição, só aplicações.',
|
|
6389
|
+
'tel.pages_report_their_load_time': 'As páginas comunicam o seu tempo de carregamento e chamadas Ajax ao pgkiln, que as acrescenta ao trace da página. O navegador nunca vê o coletor nem os seus cabeçalhos.',
|
|
6390
|
+
'tel.for_administrators_signed_in_to': 'Para administradores com sessão no builder, ou um scraper com o token de métricas abaixo (PGKILN_METRICS, PGKILN_METRICS_TOKEN).',
|
|
6391
|
+
'tel.the_metrics_token_is_removed': 'O token de métricas foi removido.',
|
|
6392
|
+
'tel.sent_with_every_request_to_2': 'Enviado com cada pedido ao coletor próprio (uma chave de API). Guardado cifrado.',
|
|
6393
|
+
'tel.status': 'Estado',
|
|
6394
|
+
'tel.prometheus': 'Prometheus',
|
|
6395
|
+
'tel.workspaces': 'Workspaces',
|
|
6396
|
+
'tel.setting': 'Definição',
|
|
6397
|
+
'tel.app_builder': 'App Builder',
|
|
6398
|
+
'tel.workspace_utilities': 'Utilitários do workspace',
|
|
6399
|
+
'tel.administration': 'Administração',
|
|
6400
|
+
'tel.unreadable': '(ilegível)',
|
|
6401
|
+
// ------------------------------------------------------------ Page Designer layout (sprint 164)
|
|
6402
|
+
'arr.spans': 'A região ocupa {n} de 12 colunas.',
|
|
6403
|
+
'arr.nothing_undo': 'Nada para anular.',
|
|
6404
|
+
'arr.nothing_redo': 'Nada para refazer.',
|
|
6405
|
+
'arr.undone': 'Anulado',
|
|
6406
|
+
'arr.redone': 'Refeito',
|
|
6407
|
+
'arr.that_region_is_not_on': 'Essa região não está nesta página.',
|
|
6408
|
+
'arr.unknown_position': 'Posição desconhecida.',
|
|
6409
|
+
'arr.unknown_button_position': 'Posição de botão desconhecida.',
|
|
6410
|
+
'arr.unknown_direction': 'Direção desconhecida.',
|
|
6411
|
+
'arr.the_place_to_move_to': 'O local de destino não está nessa região.',
|
|
6412
|
+
'arr.region_not_found_on_this': 'Região não encontrada nesta página.',
|
|
6413
|
+
'arr.the_column_span_is_1': 'A largura em colunas é de 1 a 12.',
|
|
6414
|
+
'arr.page_not_found': 'Página não encontrada.',
|
|
6415
|
+
'arr.unknown_region_type': 'Tipo de região desconhecido.',
|
|
6416
|
+
'arr.unknown_item_type': 'Tipo de item desconhecido.',
|
|
6417
|
+
'arr.unknown_button_action': 'Ação de botão desconhecida.',
|
|
6418
|
+
'arr.that_page_is_not_in': 'Essa página não está nesta aplicação.',
|
|
6419
|
+
'arr.unknown_component': 'Componente desconhecido.',
|
|
6420
|
+
'arr.unknown_region': 'Região desconhecida.',
|
|
6421
|
+
'arr.unknown_component_type': 'Tipo de componente desconhecido.',
|
|
6422
|
+
'arr.unknown_component_or_page': 'Componente ou página desconhecidos.',
|
|
6423
|
+
// ------------------------------------------------------------ Earlier pages, second pass (sprint 164)
|
|
6424
|
+
'glob.progress': '{done} de {total} textos traduzidos. Deixe uma tradução vazia para mostrar o texto em {language}.',
|
|
6425
|
+
'rdb.fdw_installed': 'O postgres_fdw está instalado.',
|
|
6426
|
+
'diag.unknown': 'O banco de dados tem migrações que este servidor não conhece ({list}): o servidor é mais antigo do que o banco de dados.',
|
|
6427
|
+
'tm.issues_of_page': 'Issues da página {page} de {app}.',
|
|
6428
|
+
'tm.the_application': 'a aplicação',
|
|
6429
|
+
'tm.n_issues': '{n} issues.',
|
|
6430
|
+
'tm.n_issues_1': '1 issue.',
|
|
6431
|
+
'tm.n_issues_500': '{n} issues (as primeiras 500).',
|
|
6432
|
+
'tm.move_to': 'Mover #{id} para',
|
|
6433
|
+
'tm.feedback_of': 'Feedback de {user}',
|
|
6434
|
+
'tm.comment_of': 'Comentário de {author}',
|
|
6435
|
+
'tm.page_n': ', página {n}',
|
|
6436
|
+
'dts.intro': 'Os datasets são vistas de confiança dos dados de {workspace} para usuários de negócio: tabelas e vistas de um esquema, juntas, com as colunas que podem ver, rótulos, máscaras de formato e descrições, e um filtro de linhas. Uma aplicação de relatórios sobre um ou mais datasets permite aos seus usuários criar, guardar, publicar e partilhar relatórios; cada relatório corre com a função de banco de dados da aplicação, por isso aplicam-se as permissões e a segurança ao nível da linha.',
|
|
6437
|
+
'dts.this_workspace': 'este workspace',
|
|
6438
|
+
'wres.remove_stored': 'Remover {what} guardado',
|
|
6439
|
+
'tpl.no_wrapper': '{name} não tem invólucro, por isso as linhas aparecem umas a seguir às outras.',
|
|
6440
|
+
'rcat.params_help': '[{"name": "page_size", "in": "query", "key": "pageSize", "default": "20"}] · in: path, query, header, body; "key": o nome que o serviço lhe dá quando não está em minúsculas com _.',
|
|
6441
|
+
'rcat.intro': 'Serviços web descritos uma vez para {workspace}: o URL base e os serviços. Uma aplicação cria uma fonte de dados REST a partir de um serviço em Componentes Compartilhados → Fontes de dados REST → Nova. A fonte de dados é uma cópia; as credenciais ficam na aplicação.',
|
|
6442
|
+
'rcat.this_workspace': 'este workspace',
|
|
6443
|
+
'rcat.described_once': 'Serviços descritos uma vez para o workspace: {link}.',
|
|
6444
|
+
'bp.ai_help': 'O serviço de IA {service} escreve um blueprint no editor abaixo (substituindo o que lá estiver). Só a sua descrição é enviada.',
|
|
6445
|
+
'bp.thinking': 'A pensar…',
|
|
6446
|
+
'bp.spec_help': 'Tipos de coluna: {types}; {required}, {unique}, {values} (textos permitidos). Tipos de página: {kinds} e em branco ({text}). Opcional: {dashboard}, {navigation}, {sample}.',
|
|
6447
|
+
'bp.of_app': 'Um blueprint de {app}: reveja-o, mude o nome, o alias e o esquema, e depois {review}.',
|
|
6448
|
+
'bp.notes': '{n} notas sobre o que não foi transposto',
|
|
6449
|
+
'bp.notes_1': '1 nota sobre o que não foi transposto',
|
|
6450
|
+
'drep.no_object': 'A tabela ou vista {object} não existe (já).',
|
|
6451
|
+
'drep.no_select': 'A função de banco de dados da aplicação não pode ler {object}: conceda-lhe SELECT.',
|
|
6452
|
+
'rs.json_columns_help': 'name=column:path[:type]; separe-os com ";". Um caminho são chaves separadas por pontos; um número escolhe um elemento de um array. Tipos: {types} (texto se omitido); um valor que não se lê como o tipo aparece vazio. São colunas como as outras: pesquisa, filtros, ordenação, cabeçalhos e transferências. Para editar documentos, use uma fonte JSON (Componentes Compartilhados).',
|
|
6453
|
+
'dl.load_with_def': 'Carregar um arquivo com esta definição',
|
|
6454
|
+
'aw.schema_help': 'O esquema de análise da aplicação. Escolha um esquema para ter uma página por tabela e vista; um esquema novo recebe o nome do alias.',
|
|
6455
|
+
'aw.bp_help': 'As páginas, os componentes compartilhados e as definições de uma aplicação base são copiados; a nova aplicação mantém o seu próprio nome, alias, função e autenticação.',
|
|
6456
|
+
// ------------------------------------------------------------ Page Designer, Form Designer, utilities, subscriptions, working copies (sprint 164)
|
|
6457
|
+
'rte.refused_pgkiln_auth_header_proxies': 'recusado: PGKILN_AUTH_HEADER_PROXIES não está definido',
|
|
6458
|
+
'rte.no_roles_allowed': 'nenhuma função permitida',
|
|
6459
|
+
'rte.no_check_configured_nobody_can': 'nenhuma verificação configurada: ninguém pode iniciar sessão',
|
|
6460
|
+
'rte.no_method_enabled': 'nenhum método ativado',
|
|
6461
|
+
'rte.page_views_24h': 'visualizações de página (24 h)',
|
|
6462
|
+
'rte.distinct_users_24h': 'utilizadores distintos (24 h)',
|
|
6463
|
+
'rte.average_page_time': 'tempo médio de página',
|
|
6464
|
+
'rte.failed_locked_sign_ins_24h': 'inícios de sessão falhados / bloqueados (24 h)',
|
|
6465
|
+
'rte.errors_access_denied_24h': 'erros / acesso negado (24 h)',
|
|
6466
|
+
'rte.the_slowest_statements_of_this': 'as instruções mais lentas da função de base de dados desta aplicação',
|
|
6467
|
+
'rte.the_ai_services_this_application': 'os serviços de IA que esta aplicação pode usar e os seus pedidos',
|
|
6468
|
+
'rte.what_users_sent_from_the': 'o que os utilizadores enviaram pela ligação de feedback da aplicação e as suas respostas',
|
|
6469
|
+
'rte.the_mail_this_application_queued': 'o correio que esta aplicação colocou em fila e enviou, com nova tentativa e cancelamento',
|
|
6470
|
+
'rte.page': 'Página',
|
|
6471
|
+
'rte.name': 'Nome',
|
|
6472
|
+
'rte.views': 'Visualizações',
|
|
6473
|
+
'rte.avg_ms': 'ms médio',
|
|
6474
|
+
'rte.max_ms': 'ms máx.',
|
|
6475
|
+
'rte.hide_page_views': 'Ocultar visualizações de página',
|
|
6476
|
+
'rte.include_page_views': 'Incluir visualizações de página',
|
|
6477
|
+
'rte.when': 'Quando',
|
|
6478
|
+
'rte.event': 'Evento',
|
|
6479
|
+
'rte.user': 'Utilizador',
|
|
6480
|
+
'rte.detail': 'Detalhe',
|
|
6481
|
+
'rte.top_sql': 'Top SQL',
|
|
6482
|
+
'rte.ai_usage': 'Utilização de IA',
|
|
6483
|
+
'rte.feedback': 'Feedback',
|
|
6484
|
+
'rte.mail': 'Correio',
|
|
6485
|
+
'rte.debug_messages': 'Mensagens de depuração',
|
|
6486
|
+
'rte.definition': 'Definição',
|
|
6487
|
+
'rte.security': 'Segurança',
|
|
6488
|
+
'rte.sign_in': 'Início de sessão',
|
|
6489
|
+
'rte.user_interface': 'Interface do utilizador',
|
|
6490
|
+
'rte.globalization': 'Globalização',
|
|
6491
|
+
'rte.errors_and_sessions': 'Erros e sessões',
|
|
6492
|
+
'rte.progressive_web_app': 'Progressive Web App',
|
|
6493
|
+
'rte.you_are_not_a_developer': 'ainda não é programador de nenhum espaço de trabalho: peça a um administrador que o adicione a um.',
|
|
6494
|
+
'rte.page_views_by_page_7': 'Visualizações por página (7 dias)',
|
|
6495
|
+
'rte.recent_events': 'Eventos recentes',
|
|
6496
|
+
'rte.activity': 'Atividade',
|
|
6497
|
+
'rte.app_builder': 'App Builder',
|
|
6498
|
+
'rte.settings': 'Definições',
|
|
6499
|
+
'rte.developers': 'Programadores',
|
|
6500
|
+
'wcp.lines_with_are_the_main': 'As linhas com `-` são da aplicação principal; as linhas com `+`, da cópia de trabalho.',
|
|
6501
|
+
'wcp.change_it_like_any_application': 'Altere-a como qualquer aplicação: é executada sobre o esquema e os dados da aplicação principal, com as automatizações e sincronizações desativadas. Depois compare-a com a aplicação principal e funda-a de volta.',
|
|
6502
|
+
'wcp.delete_working_copy': 'Eliminar cópia de trabalho',
|
|
6503
|
+
'wcp.a_working_copy_is_a': 'Uma cópia de trabalho é uma segunda aplicação criada a partir desta, para alterações isoladas (APEX: working copies). Compare-a com esta aplicação e funda-a de volta componente a componente; os componentes alterados em ambos os lados são mostrados como conflitos a resolver.',
|
|
6504
|
+
'wcp.name': 'Nome',
|
|
6505
|
+
'wcp.application': 'Aplicação',
|
|
6506
|
+
'wcp.made_by': 'Criada por',
|
|
6507
|
+
'wcp.made': 'Criada',
|
|
6508
|
+
'wcp.last_merged': 'Última fusão',
|
|
6509
|
+
'wcp.actions': 'Ações',
|
|
6510
|
+
'wcp.no_working_copies': 'Sem cópias de trabalho.',
|
|
6511
|
+
'wcp.component': 'Componente',
|
|
6512
|
+
'wcp.main_application': 'Aplicação principal',
|
|
6513
|
+
'wcp.working_copy': 'Cópia de trabalho',
|
|
6514
|
+
'wcp.result': 'Resultado',
|
|
6515
|
+
'wcp.differences': 'Diferenças',
|
|
6516
|
+
'wcp.main': 'Principal',
|
|
6517
|
+
'wcp.copy': 'Cópia',
|
|
6518
|
+
'wcp.show': 'Mostrar',
|
|
6519
|
+
'wcp.merging_writes_the_result_into': 'A fusão escreve o resultado na aplicação principal e na cópia de trabalho. A atualização escreve-o apenas na cópia de trabalho (trazendo as alterações da aplicação principal). Utilizadores, sessões, relatórios guardados, segredos e os interruptores de automatização da aplicação principal ficam como estão.',
|
|
6520
|
+
'wcp.the_working_copy_and_the': 'A cópia de trabalho e a aplicação principal são iguais: nada para fundir.',
|
|
6521
|
+
'wcp.compare_and_merge': 'Comparar e fundir',
|
|
6522
|
+
'wcp.create_working_copy': 'Criar cópia de trabalho',
|
|
6523
|
+
'wcp.changed_components': 'Componentes alterados',
|
|
6524
|
+
'wcp.e_g_new_dashboard': 'p. ex. novo-painel',
|
|
6525
|
+
'wcp.changed_in_the_copy': 'Alterado na cópia',
|
|
6526
|
+
'wcp.changed_in_the_main_application': 'Alterado na aplicação principal',
|
|
6527
|
+
'wcp.conflict_changed_on_both_sides': 'Conflito: alterado em ambos os lados',
|
|
6528
|
+
'wcp.this_application_is_not_a': 'Esta aplicação não é uma cópia de trabalho.',
|
|
6529
|
+
'wcp.choose_main_or_copy_for': 'Escolha principal ou cópia para cada conflito.',
|
|
6530
|
+
'wcp.working_copies': 'Cópias de trabalho',
|
|
6531
|
+
'wcp.create_a_working_copy': 'Criar uma cópia de trabalho',
|
|
6532
|
+
'wcp.app_builder': 'App Builder',
|
|
6533
|
+
'wcp.compare': 'Comparar',
|
|
6534
|
+
'wcp.side.added': 'adicionado',
|
|
6535
|
+
'wcp.side.deleted': 'eliminado',
|
|
6536
|
+
'wcp.side.changed': 'alterado',
|
|
6537
|
+
'wcp.unchanged': 'inalterado',
|
|
6538
|
+
'wcp.is_copy': 'Esta aplicação é a cópia de trabalho {name} de {main} ({path}), criada por {by} em {at}.',
|
|
6539
|
+
'wcp.last_refreshed': 'Última atualização {at}.',
|
|
6540
|
+
'wcp.last_merged_by': 'Última fusão {at} por {by}.',
|
|
6541
|
+
'wcp.delete_confirm': 'Eliminar a cópia de trabalho {name} e as suas alterações não fundidas?',
|
|
6542
|
+
'wcp.created': 'Cópia de trabalho {name} criada: altere-a, depois compare-a e funda-a de volta.',
|
|
6543
|
+
'wcp.counts': '{copy} alterados na cópia, {main} alterados na aplicação principal, {conflicts} conflitos.',
|
|
6544
|
+
'wcp.counts_1': '{copy} alterados na cópia, {main} alterados na aplicação principal, 1 conflito.',
|
|
6545
|
+
'wcp.keep_for': 'Manter para {label}',
|
|
6546
|
+
'wcp.merge_confirm': 'Fundir a cópia de trabalho em {main}?',
|
|
6547
|
+
'wcp.merge_into': 'Fundir em {main}',
|
|
6548
|
+
'wcp.refresh_from': 'Atualizar a cópia a partir de {main}',
|
|
6549
|
+
'wcp.compare_title': 'Comparar com {main}',
|
|
6550
|
+
'wcp.compare_intro': 'Cópia de trabalho {copy} de {main}, comparada por componente com a aplicação principal tal como era quando a cópia foi criada.',
|
|
6551
|
+
'wcp.compare_intro_since': 'Cópia de trabalho {copy} de {main}, comparada por componente com a aplicação principal tal como era quando a cópia foi criada, atualizada ou fundida.',
|
|
6552
|
+
'wcp.diff_title': 'Diferenças: {label}',
|
|
6553
|
+
'wcp.merged': 'Cópia de trabalho {name} fundida ({n} componentes).',
|
|
6554
|
+
'wcp.refreshed': 'Cópia de trabalho {name} atualizada a partir da aplicação principal.',
|
|
6555
|
+
'wcp.deleted': 'Cópia de trabalho {name} eliminada.',
|
|
6556
|
+
'wcp.not_a_copy': 'Não é uma cópia de trabalho',
|
|
6557
|
+
'sub.subscription': 'Assinatura',
|
|
6558
|
+
'sub.publish_to_subscribers': 'Publicar para os assinantes',
|
|
6559
|
+
'sub.subscribers': 'Assinantes…',
|
|
6560
|
+
'sub.in_sync': 'sincronizado',
|
|
6561
|
+
'sub.settings': 'Definições',
|
|
6562
|
+
'sub.components_of_this_application_that': 'Componentes desta aplicação que são cópias de um componente de uma aplicação de tema ou de biblioteca. A atualização volta a copiar a definição do mestre, substituindo as alterações feitas aqui.',
|
|
6563
|
+
'sub.component': 'Componente',
|
|
6564
|
+
'sub.from': 'De',
|
|
6565
|
+
'sub.refreshed': 'Atualizado',
|
|
6566
|
+
'sub.state': 'Estado',
|
|
6567
|
+
'sub.actions': 'Ações',
|
|
6568
|
+
'sub.refresh': 'Atualizar',
|
|
6569
|
+
'sub.unsubscribe': 'Cancelar assinatura',
|
|
6570
|
+
'sub.refresh_all': 'Atualizar tudo',
|
|
6571
|
+
'sub.no_subscriptions': 'Sem assinaturas.',
|
|
6572
|
+
'sub.subscribe': 'Assinar',
|
|
6573
|
+
'sub.the_component_is_copied_now': 'O componente é copiado agora. Um componente desta aplicação com o mesmo nome é substituído.',
|
|
6574
|
+
'sub.no_theme_or_library_applications': 'Nenhuma aplicação de tema ou de biblioteca oferece componentes. Defina o tipo de uma aplicação nas suas Definições.',
|
|
6575
|
+
'sub.subscribe_to_a_component_group': 'Assinar um grupo de componentes',
|
|
6576
|
+
'sub.component_group': 'Grupo de componentes',
|
|
6577
|
+
'sub.every_component_of_the_group': 'Cada componente do grupo é copiado agora e assinado (Componentes Compartilhados → Grupos de componentes de uma aplicação de tema ou de biblioteca).',
|
|
6578
|
+
'sub.subscribe_to_the_group': 'Assinar o grupo',
|
|
6579
|
+
'sub.application': 'Aplicação',
|
|
6580
|
+
'sub.publish': 'Publicar',
|
|
6581
|
+
'sub.publishing_refreshes_every_subscriber_of': 'A publicação atualiza cada assinante de um componente com a versão desta aplicação. As aplicações bloqueadas por outro programador são ignoradas.',
|
|
6582
|
+
'sub.no_application_subscribes_to_this': 'Nenhuma aplicação assina ainda os componentes desta aplicação.',
|
|
6583
|
+
'sub.unsubscribe_the_component_stays_as': 'Cancelar a assinatura? O componente fica como está.',
|
|
6584
|
+
'sub.theme': 'Tema',
|
|
6585
|
+
'sub.application_type': 'Tipo de aplicação',
|
|
6586
|
+
'sub.subscriptions': 'Assinaturas',
|
|
6587
|
+
'sub.subscribers_2': 'Assinantes',
|
|
6588
|
+
'sub.app_builder': 'App Builder',
|
|
6589
|
+
'sub.shared_components': 'Componentes Compartilhados',
|
|
6590
|
+
'sub.th.standard': 'Uma aplicação normal.',
|
|
6591
|
+
'sub.th.theme': 'O seu tema (cores, navegação, estilos do Theme Roller) e os componentes de modelo são oferecidos a outras aplicações.',
|
|
6592
|
+
'sub.th.library': 'As suas listas de valores, esquemas de autorização, opções de build, componentes de modelo e listas são oferecidos a outras aplicações.',
|
|
6593
|
+
'sub.th.boilerplate': 'Um ponto de partida: Criar aplicação pode copiá-la.',
|
|
6594
|
+
'sub.th.reporting': 'Criada pelo App Builder → Data Reporter sobre conjuntos de dados do espaço de trabalho: os seus utilizadores criam, publicam e partilham relatórios.',
|
|
6595
|
+
'sub.k.lov': 'Lista de valores',
|
|
6596
|
+
'sub.k.authz_scheme': 'Esquema de autorização',
|
|
6597
|
+
'sub.k.build_option': 'Opção de build',
|
|
6598
|
+
'sub.k.template_component': 'Componente de modelo',
|
|
6599
|
+
'sub.k.list': 'Lista',
|
|
6600
|
+
'sub.what': '{kind} {name}',
|
|
6601
|
+
'sub.subscribed_from': 'Assinado a partir de {master}. As alterações feitas aqui são substituídas na próxima atualização.',
|
|
6602
|
+
'sub.subscribed_from_at': 'Assinado a partir de {master}, atualizado {at}. As alterações feitas aqui são substituídas na próxima atualização.',
|
|
6603
|
+
'sub.refresh_from': 'Atualizar a partir de {master}',
|
|
6604
|
+
'sub.subscribers_1': '1 aplicação assina este {kind}.',
|
|
6605
|
+
'sub.subscribers_n': '{n} aplicações assinam este {kind}.',
|
|
6606
|
+
'sub.type_line': '{type}: {help} Altere-o em {settings}.',
|
|
6607
|
+
'sub.choose_dash': '- escolher -',
|
|
6608
|
+
'sub.choose_component': 'Escolha um componente.',
|
|
6609
|
+
'sub.choose_group': 'Escolha um grupo de componentes.',
|
|
6610
|
+
'sub.subscribed': 'Assinado: {what} copiado.',
|
|
6611
|
+
'sub.subscribed_group': 'Assinado {group}: {n} componentes copiados.',
|
|
6612
|
+
'sub.subscribed_group_1': 'Assinado {group}: 1 componente copiado.',
|
|
6613
|
+
'sub.subscribed_group_skipped': 'Assinado {group}: {n} componentes copiados; ignorados: {skipped}.',
|
|
6614
|
+
'sub.subscribed_group_skipped_1': 'Assinado {group}: 1 componente copiado; ignorados: {skipped}.',
|
|
6615
|
+
'sub.not_subscribed': 'Não assinado.',
|
|
6616
|
+
'sub.no_subscriber': 'Nenhuma aplicação o assina.',
|
|
6617
|
+
'sub.published': 'Publicado em {n} aplicações.',
|
|
6618
|
+
'sub.published_1': 'Publicado em 1 aplicação.',
|
|
6619
|
+
'sub.published_skipped': 'Publicado em {n} aplicações; {skipped} ignorada(s) (bloqueada(s) por outro programador).',
|
|
6620
|
+
'sub.published_skipped_1': 'Publicado em 1 aplicação; {skipped} ignorada(s) (bloqueada(s) por outro programador).',
|
|
6621
|
+
'sub.title': 'Assinaturas de {app}',
|
|
6622
|
+
'util.pages': 'Páginas',
|
|
6623
|
+
'util.regions': 'Regiões',
|
|
6624
|
+
'util.items': 'Itens',
|
|
6625
|
+
'util.processes': 'Processos',
|
|
6626
|
+
'util.lists_of_values': 'Listas de valores',
|
|
6627
|
+
'util.changes_in_7_days': 'Alterações em 7 dias',
|
|
6628
|
+
'util.page': 'Página',
|
|
6629
|
+
'util.last_change': 'Última alteração',
|
|
6630
|
+
'util.by': 'Por',
|
|
6631
|
+
'util.changes': 'Alterações',
|
|
6632
|
+
'util.no_recorded_changes_yet_the': 'Ainda sem alterações registadas: o histórico de alterações começa com a primeira alteração após a atualização para esta versão.',
|
|
6633
|
+
'util.the_checksum_of_the_application': 'A soma de verificação da definição da aplicação (a sua exportação sem o alias): a mesma definição dá a mesma soma em qualquer instalação, por isso duas instalações, ou uma aplicação e a sua cópia de trabalho, comparam-se num relance.',
|
|
6634
|
+
'util.checksum': 'Soma de verificação',
|
|
6635
|
+
'util.every_change_made_in_the': 'Cada alteração feita no builder (e cada importação, restauro ou fusão) é comparada com a aplicação anterior: cada componente adicionado, alterado ou eliminado é listado aqui com quem e quando. As alterações pela linha de comandos ou pelo servidor MCP não têm programador.',
|
|
6636
|
+
'util.from': 'De',
|
|
6637
|
+
'util.to': 'Até',
|
|
6638
|
+
'util.component': 'Componente',
|
|
6639
|
+
'util.when': 'Quando',
|
|
6640
|
+
'util.developer': 'Programador',
|
|
6641
|
+
'util.change': 'Alteração',
|
|
6642
|
+
'util.differences': 'Diferenças',
|
|
6643
|
+
'util.show': 'Mostrar',
|
|
6644
|
+
'util.icons': 'Ícones',
|
|
6645
|
+
'util.search': 'Pesquisar',
|
|
6646
|
+
'util.no_lucide_icon_matches': 'Nenhum ícone Lucide corresponde.',
|
|
6647
|
+
'util.search_to_see_the_matching': 'Pesquise para ver os ícones Lucide correspondentes.',
|
|
6648
|
+
'util.e_g_p3_id': 'p. ex. P3_ID',
|
|
6649
|
+
'util.e_g_truck_money_arrow': 'p. ex. truck, money, arrow',
|
|
6650
|
+
'util.all': 'Todos',
|
|
6651
|
+
'util.plans_every_sql_statement_as': 'Planeia cada instrução SQL como a função da aplicação e verifica cada referência.',
|
|
6652
|
+
'util.the_tables_views_sequences_and': 'As tabelas, vistas, sequências e funções que a aplicação usa, as que faltam e as permissões em falta.',
|
|
6653
|
+
'util.who_changed_which_component_and': 'Quem alterou que componente e quando, com as diferenças.',
|
|
6654
|
+
'util.components_that_can_use_a': 'Componentes que podem usar um padrão mais recente desta versão do pgkiln.',
|
|
6655
|
+
'util.labels_format_masks_help_and': 'Etiquetas, máscaras de formato, ajuda e listas de valores por coluna de tabela, usadas pelos assistentes de página.',
|
|
6656
|
+
'util.names_sql_conditions_settings_and': 'Nomes, SQL, condições, definições e textos de ajuda de cada componente.',
|
|
6657
|
+
'util.timed_steps_of_each_request': 'Passos cronometrados de cada pedido e mensagens de meta.debug().',
|
|
6658
|
+
'util.page_views_errors_sign_ins': 'Visualizações de página, erros, inícios de sessão e os registos da aplicação.',
|
|
6659
|
+
'util.back_up_now_download_and': 'Fazer cópia agora, transferir e restaurar versões anteriores.',
|
|
6660
|
+
'util.change_a_copy_compare_it': 'Alterar uma cópia, compará-la e fundi-la de volta.',
|
|
6661
|
+
'util.browse_the_icons_the_icon': 'Explorar os ícones que o seletor de ícones oferece.',
|
|
6662
|
+
'util.application_dashboard': 'Painel da aplicação',
|
|
6663
|
+
'util.recently_updated_pages': 'Páginas atualizadas recentemente',
|
|
6664
|
+
'util.application_checksum': 'Soma de verificação da aplicação',
|
|
6665
|
+
'util.change_history': 'Histórico de alterações',
|
|
6666
|
+
'util.icon_browser': 'Explorador de ícones',
|
|
6667
|
+
'util.app_builder': 'App Builder',
|
|
6668
|
+
'util.utilities': 'Utilitários',
|
|
6669
|
+
'util.workspace_utilities': 'Utilitários do espaço de trabalho',
|
|
6670
|
+
'util.c_advisor': 'Consultor',
|
|
6671
|
+
'util.c_deps': 'Dependências de objetos de base de dados',
|
|
6672
|
+
'util.c_history': 'Histórico de alterações',
|
|
6673
|
+
'util.c_upgrade': 'Atualizar a aplicação',
|
|
6674
|
+
'util.c_ui_defaults': 'Padrões da interface',
|
|
6675
|
+
'util.c_search': 'Pesquisar',
|
|
6676
|
+
'util.c_debug': 'Mensagens de depuração',
|
|
6677
|
+
'util.c_activity': 'Atividade',
|
|
6678
|
+
'util.c_backups': 'Backups',
|
|
6679
|
+
'util.c_wc': 'Cópias de trabalho',
|
|
6680
|
+
'util.c_export': 'Exportar',
|
|
6681
|
+
'util.c_icons': 'Ícones',
|
|
6682
|
+
'util.export_text': 'A aplicação como ficheiro (soma de verificação {sum}).',
|
|
6683
|
+
'util.title': 'Utilitários · {app}',
|
|
6684
|
+
'util.cmd_line': 'Linha de comandos / importação',
|
|
6685
|
+
'util.import': 'importação',
|
|
6686
|
+
'util.command_line': 'linha de comandos',
|
|
6687
|
+
'util.the_command_line': 'a linha de comandos',
|
|
6688
|
+
'util.no_changes': 'Ainda sem alterações registadas.',
|
|
6689
|
+
'util.no_changes_filtered': 'Sem alterações com estes filtros.',
|
|
6690
|
+
'util.diff_title': 'Diferenças: {label}',
|
|
6691
|
+
'util.diff_intro': '{op} por {who}, {when}. As linhas com {minus} são de antes da alteração; as linhas com {plus}, de depois.',
|
|
6692
|
+
'util.history_title': 'Histórico de alterações · {app}',
|
|
6693
|
+
'util.icons_intro': 'Os ícones do seletor de ícones: o conjunto próprio do pgkiln e {n} ícones Lucide ({version}, licença ISC). Use o nome num campo de ícone; podem seguir-se modificadores como {lg}, {spin} ou {success} (p. ex. {example}), e os nomes Font APEX funcionam quando o Lucide tem o mesmo ícone ({fa}).',
|
|
6694
|
+
'util.op.added': 'adicionado',
|
|
6695
|
+
'util.op.changed': 'alterado',
|
|
6696
|
+
'util.op.deleted': 'eliminado',
|
|
6697
|
+
'fdz.static_id': 'Id estático',
|
|
6698
|
+
'fdz.label': 'Etiqueta',
|
|
6699
|
+
'fdz.description_shown_to_designers': 'Descrição (mostrada aos designers)',
|
|
6700
|
+
'fdz.key_column_identifies_a_row': 'Coluna-chave (identifica uma linha)',
|
|
6701
|
+
'fdz.forms_on_it_may': 'Os formulários sobre ela podem',
|
|
6702
|
+
'fdz.offer': 'Oferecer',
|
|
6703
|
+
'fdz.column': 'Coluna',
|
|
6704
|
+
'fdz.list_of_values': 'Lista de valores',
|
|
6705
|
+
'fdz.not_in_the_table': 'não está na tabela',
|
|
6706
|
+
'fdz.remove_this_data_source_forms': 'Remover esta origem de dados (os formulários sobre ela deixam de funcionar)',
|
|
6707
|
+
'fdz.form_designer_settings': 'Definições do Designer de Formulários',
|
|
6708
|
+
'fdz.users_that_pass_the_designers': 'Os utilizadores que cumprem o esquema de autorização dos designers criam formulários de introdução de dados sobre as tabelas e vistas abaixo: escolhem colunas oferecidas, etiquetas, textos de ajuda, campos obrigatórios e valores predefinidos, e publicam formulários para todos os que veem esta região. Os formulários leem e escrevem linhas como a função de base de dados da aplicação, por isso aplicam-se as permissões e a segurança ao nível da linha.',
|
|
6709
|
+
'fdz.forms': 'Formulários',
|
|
6710
|
+
'fdz.who_may_design_forms': 'Quem pode desenhar formulários',
|
|
6711
|
+
'fdz.rows_per_page': 'Linhas por página',
|
|
6712
|
+
'fdz.text_when_there_are_no': 'Texto quando não há linhas',
|
|
6713
|
+
'fdz.add_a_data_source': 'Adicionar uma origem de dados',
|
|
6714
|
+
'fdz.table_or_view': 'Tabela ou vista',
|
|
6715
|
+
'fdz.all_columns_are_offered_at': 'Inicialmente são oferecidas todas as colunas (exceto as binárias e JSON), a chave primária é a coluna-chave e os formulários podem adicionar e alterar linhas, não eliminá-las. Desmarque as colunas que os designers não devem pôr em formulários, como chaves geradas e colunas de auditoria.',
|
|
6716
|
+
'fdz.save_form_designer_settings': 'Guardar as definições do Designer de Formulários',
|
|
6717
|
+
'fdz.no_data_found': 'Nenhum dado encontrado',
|
|
6718
|
+
'fdz.from_the_name': 'a partir do nome',
|
|
6719
|
+
'fdz.nobody_choose_an_authorization_scheme': 'Ninguém (escolha um esquema de autorização)',
|
|
6720
|
+
'fdz.add_rows': 'adicionar linhas',
|
|
6721
|
+
'fdz.change_rows': 'alterar linhas',
|
|
6722
|
+
'fdz.delete_rows': 'eliminar linhas',
|
|
6723
|
+
'fdz.settings_saved': 'Definições guardadas.',
|
|
6724
|
+
'fdz.choose_a_table_or_view': 'Escolha uma tabela ou vista para a nova origem de dados.',
|
|
6725
|
+
'fdz.no_authz': 'Não existe o esquema de autorização {name}.',
|
|
6726
|
+
'fdz.no_columns': 'A origem de dados {id} não oferece colunas.',
|
|
6727
|
+
'fdz.dup_source': 'Já existe uma origem de dados {id}.',
|
|
6728
|
+
'fdz.needs_key': '(precisa de uma coluna-chave)',
|
|
6729
|
+
'fdz.no_key': '- nenhuma: os formulários só adicionam linhas -',
|
|
6730
|
+
'fdz.offer_col': 'Oferecer {col}',
|
|
6731
|
+
'fdz.label_of': 'Etiqueta de {col}',
|
|
6732
|
+
'fdz.lov_of': 'Lista de valores de {col}',
|
|
6733
|
+
'fdz.no_object': 'A tabela ou vista {object} não existe (já).',
|
|
6734
|
+
'fdz.lacks': 'À função de base de dados da aplicação falta {privs} sobre {object}: conceda-o, ou os formulários não o podem fazer.',
|
|
6735
|
+
'pdz.p1_item_binds_an_item': '`:P1_ITEM` associa o valor de um item em qualquer SQL (sempre escapado). `:APP_USER`, `:APP_PAGE_ID`, `:REQUEST` estão incorporados.',
|
|
6736
|
+
'pdz.p1_item_substitutes_into_titles': '`&P1_ITEM.` é substituído em títulos, HTML estático e destinos de ligações (com escape HTML).',
|
|
6737
|
+
'pdz.in_sql_pl_pgsql_and': 'Em SQL, PL/pgSQL e políticas RLS: `meta.app_user()`, `meta.has_role(\'admin\')`, `meta.v(\'P1_ITEM\')`, `meta.page_url(3, \'{"P3_ID": 7}\')`.',
|
|
6738
|
+
'pdz.a_pl_pgsql_raise_exception': 'Um `raise exception \'Message\' using column = \'sal\'` de PL/pgSQL mostra a mensagem no item cuja coluna de origem é `sal`.',
|
|
6739
|
+
'pdz.layout': 'Esquema',
|
|
6740
|
+
'pdz.column_span': 'colunas ocupadas',
|
|
6741
|
+
'pdz.drag_a_region_by_its': 'Arraste uma região pelo cabeçalho para a mover, ou arraste a margem direita para a tornar mais larga ou mais estreita.',
|
|
6742
|
+
'pdz.drag_items_and_buttons_to': 'Arraste itens e botões para outro lugar ou outra região.',
|
|
6743
|
+
'pdz.drag_a_region_item_or': 'Arraste uma região, item ou botão da galeria para o esquema para o criar; ou abra uma entrada da galeria para o criar com um formulário.',
|
|
6744
|
+
'pdz.alt': 'Alt',
|
|
6745
|
+
'pdz.shift': 'Shift',
|
|
6746
|
+
'pdz.arrange': 'Organizar',
|
|
6747
|
+
'pdz.undo': 'Anular',
|
|
6748
|
+
'pdz.redo': 'Refazer',
|
|
6749
|
+
'pdz.cheat_sheet': 'Cábula',
|
|
6750
|
+
'pdz.identification': 'Identificação',
|
|
6751
|
+
'pdz.appearance': 'Aparência',
|
|
6752
|
+
'pdz.warn_on_unsaved_changes': 'Avisar de alterações não guardadas',
|
|
6753
|
+
'pdz.ask_before_the_user_leaves': 'Perguntar antes de o utilizador sair da página (uma ligação, um botão de redirecionamento, fechar o separador) enquanto um item tem um valor alterado. Submeter não pergunta. Exclua um item com {"warn_unsaved": false} nos seus atributos.',
|
|
6754
|
+
'pdz.security': 'Segurança',
|
|
6755
|
+
'pdz.requires_authentication': 'Requer autenticação',
|
|
6756
|
+
'pdz.help': 'Ajuda',
|
|
6757
|
+
'pdz.help_text': 'Texto de ajuda',
|
|
6758
|
+
'pdz.markdown_with_amp_item_substitutions': 'Markdown com substituições &ITEM. Uma região do tipo Texto de ajuda na página mostra-o (APEX: Page → Help).',
|
|
6759
|
+
'pdz.page_number': 'Número da página',
|
|
6760
|
+
'pdz.name': 'Nome',
|
|
6761
|
+
'pdz.title': 'Título',
|
|
6762
|
+
'pdz.page_mode': 'Modo da página',
|
|
6763
|
+
'pdz.page_group': 'Grupo de páginas',
|
|
6764
|
+
'pdz.page_template': 'Modelo de página',
|
|
6765
|
+
'pdz.dialog_position': 'Posição do diálogo',
|
|
6766
|
+
'pdz.dialog_size': 'Tamanho do diálogo',
|
|
6767
|
+
'pdz.javascript_and_css_files': 'Ficheiros JavaScript e CSS',
|
|
6768
|
+
'pdz.breadcrumb_parent': 'Pai na trilha de navegação',
|
|
6769
|
+
'pdz.authorization_scheme': 'Esquema de autorização',
|
|
6770
|
+
'pdz.page_access_protection': 'Proteção de acesso à página',
|
|
6771
|
+
'pdz.build_option': 'Opção de build',
|
|
6772
|
+
'pdz.e_g_page_3_js': 'p. ex. page-3.js, page-3.css',
|
|
6773
|
+
'pdz.static_application_files_js_css': 'Ficheiros estáticos da aplicação (.js, .css) que esta página carrega depois dos da aplicação, por esta ordem; #WORKSPACE_FILES#name para um ficheiro estático do espaço de trabalho.',
|
|
6774
|
+
'pdz.normal': 'Normal',
|
|
6775
|
+
'pdz.modal_dialog': 'Diálogo modal',
|
|
6776
|
+
'pdz.none': '- nenhum -',
|
|
6777
|
+
'pdz.standard': 'Padrão',
|
|
6778
|
+
'pdz.left_side_column': 'Coluna lateral esquerda',
|
|
6779
|
+
'pdz.right_side_column': 'Coluna lateral direita',
|
|
6780
|
+
'pdz.minimal_no_navigation': 'Mínimo (sem navegação)',
|
|
6781
|
+
'pdz.centred_dialog': 'Diálogo centrado',
|
|
6782
|
+
'pdz.drawer_from_the_right': 'Gaveta a partir da direita',
|
|
6783
|
+
'pdz.drawer_from_the_left': 'Gaveta a partir da esquerda',
|
|
6784
|
+
'pdz.drawer_from_the_top': 'Gaveta a partir de cima',
|
|
6785
|
+
'pdz.drawer_from_the_bottom': 'Gaveta a partir de baixo',
|
|
6786
|
+
'pdz.small': 'Pequeno',
|
|
6787
|
+
'pdz.medium': 'Médio',
|
|
6788
|
+
'pdz.large': 'Grande',
|
|
6789
|
+
'pdz.arguments_must_have_checksum': 'Os argumentos devem ter soma de verificação',
|
|
6790
|
+
'pdz.unrestricted': 'Sem restrições',
|
|
6791
|
+
'pdz.organises_the_pages_in_the': 'Organiza as páginas no App Builder (Componentes Compartilhados → Grupos de páginas). Não altera nada quando a aplicação é executada.',
|
|
6792
|
+
'pdz.side_column_regions_with_position': 'Coluna lateral: as regiões com posição esquerda (ou direita) aparecem numa coluna ao lado do corpo (por baixo em ecrãs estreitos). Mínimo: sem cabeçalho nem menu de navegação, p. ex. para uma página de início de sessão (Definições da aplicação → Página de início de sessão).',
|
|
6793
|
+
'pdz.modal_pages_only_on_phones': 'Apenas páginas modais. Nos telemóveis, diálogos e gavetas laterais ocupam o ecrã.',
|
|
6794
|
+
'pdz.the_width_the_height_of': 'A largura (a altura nas gavetas de cima e de baixo).',
|
|
6795
|
+
'pdz.app_builder': 'App Builder',
|
|
6796
|
+
'pdz.grid_help': 'As regiões ficam numa grelha de 12 colunas por ordem de sequência; as {span} de uma região definem a sua largura, e as regiões passam para uma nova linha quando a linha está cheia.',
|
|
6797
|
+
'pdz.keyboard_help': 'Teclado: foque um componente no esquema e prima {move} para o mover, {resize} para alterar a largura de uma região. Os botões {arrange} acima das propriedades fazem o mesmo.',
|
|
6798
|
+
'pdz.undo_help': '{undo} e {redo} na barra de ferramentas revertem alterações de esquema.',
|
|
6799
|
+
'pdz.title_help': 'Suporta substituições &ITEM.',
|
|
6800
|
+
'pdz.not_authz': 'Não {name}',
|
|
6801
|
+
// ------------------------------------------------------------ Application groups, Find my workspace, static application files (sprint 164 part 11)
|
|
6802
|
+
'agr.exists': 'Já existe um grupo com este nome.',
|
|
6803
|
+
'agr.bad_name': 'O nome tem de 1 a 60 caracteres, sem espaços no início ou no fim.',
|
|
6804
|
+
'agr.intro': 'Os grupos organizam as aplicações deste espaço de trabalho ({workspace}) na página inicial do App Builder, que pode mostrar um grupo de cada vez. Não alteram nada nas aplicações.',
|
|
6805
|
+
'agr.groups': 'Grupos',
|
|
6806
|
+
'agr.group': 'Grupo',
|
|
6807
|
+
'agr.applications': 'Aplicações',
|
|
6808
|
+
'agr.application': 'Aplicação',
|
|
6809
|
+
'agr.rename': 'Mudar o nome',
|
|
6810
|
+
'agr.new_name_for': 'Novo nome para {name}',
|
|
6811
|
+
'agr.delete_confirm': 'Eliminar o grupo {name}? As suas aplicações ficam, sem grupo.',
|
|
6812
|
+
'agr.delete_name': 'Eliminar {name}',
|
|
6813
|
+
'agr.no_groups': 'Ainda não há grupos.',
|
|
6814
|
+
'agr.add_title': 'Adicionar um grupo',
|
|
6815
|
+
'agr.name': 'Nome',
|
|
6816
|
+
'agr.name_ph': 'Finanças',
|
|
6817
|
+
'agr.description': 'Descrição',
|
|
6818
|
+
'agr.add': 'Adicionar grupo',
|
|
6819
|
+
'agr.group_of': 'Grupo de {name}',
|
|
6820
|
+
'agr.no_group': '(sem grupo)',
|
|
6821
|
+
'agr.save': 'Guardar grupos',
|
|
6822
|
+
'agr.no_apps': 'Não há aplicações neste espaço de trabalho.',
|
|
6823
|
+
'agr.added': 'Grupo {name} adicionado.',
|
|
6824
|
+
'agr.renamed': 'Grupo renomeado para {name}.',
|
|
6825
|
+
'agr.deleted': 'Grupo {name} eliminado.',
|
|
6826
|
+
'agr.saved': 'Grupos guardados.',
|
|
6827
|
+
'fw.mail_admin': 'administrador: todos os espaços de trabalho',
|
|
6828
|
+
'fw.mail_no_ws': 'Ainda nenhum espaço de trabalho: pergunte a um administrador.',
|
|
6829
|
+
'fw.mail_intro': 'Perguntou em que espaços de trabalho do pgkiln pode iniciar sessão.',
|
|
6830
|
+
'fw.mail_sign_in': 'Inicie sessão em {url}',
|
|
6831
|
+
'fw.mail_ignore': 'Se não pediu, pode ignorar este e-mail: nada foi alterado.',
|
|
6832
|
+
'fw.mail_subject': 'Os seus espaços de trabalho do pgkiln',
|
|
6833
|
+
'fw.back': 'Voltar ao início de sessão',
|
|
6834
|
+
'fw.no_mail': 'Esta instalação não envia e-mail aos programadores. Pergunte a um administrador a que espaços de trabalho pertence, ou inicie sessão apenas com o nome de utilizador e a palavra-passe: o espaço de trabalho é opcional.',
|
|
6835
|
+
'fw.check_mail': 'Verifique o seu e-mail',
|
|
6836
|
+
'fw.intro': 'Introduza o endereço de e-mail da sua conta de programador: enviamos-lhe o seu nome de utilizador e os espaços de trabalho em que pode iniciar sessão.',
|
|
6837
|
+
'fw.send': 'Enviar',
|
|
6838
|
+
'fw.bad_email': 'Introduza um endereço de e-mail, p. ex. ann@example.com.',
|
|
6839
|
+
'fw.sent': 'Se uma conta de programador tiver o endereço {email}, recebe dentro de alguns minutos um e-mail com o nome de utilizador e os espaços de trabalho. Não recebeu? Pergunte a um administrador.',
|
|
6840
|
+
'sf.edit_title': 'Editar {name}',
|
|
6841
|
+
'sf.new_file': 'Novo ficheiro',
|
|
6842
|
+
'sf.file_name': 'Nome do ficheiro',
|
|
6843
|
+
'sf.file_name_help': 'Letras, algarismos, _, - e . (p. ex. app.js, styles.css, data.json).',
|
|
6844
|
+
'sf.content': 'Conteúdo',
|
|
6845
|
+
'sf.content_help': 'O JavaScript regista funções para a ação dinâmica "Execute JavaScript" com `pgkiln.actions.register(\'name\', (da) => { … })`; pode também usar `pgkiln.getValue`, `setValue`, `showSuccess` e `showError`. Sem scripts inline: tudo é executado a partir destes ficheiros.',
|
|
6846
|
+
'sf.title': 'Ficheiros estáticos da aplicação',
|
|
6847
|
+
'sf.intro': 'JavaScript, CSS, JSON, imagens e tipos de letra desta aplicação, servidos em {path} e exportados com ela. As páginas carregam os scripts e folhas de estilo escolhidos abaixo (e os que uma página acrescenta nas suas propriedades), por isso o código é executado a partir de ficheiros, nunca inline. Até {max} por ficheiro; sem HTML.',
|
|
6848
|
+
'sf.name': 'Nome',
|
|
6849
|
+
'sf.type': 'Tipo',
|
|
6850
|
+
'sf.size': 'Tamanho',
|
|
6851
|
+
'sf.loaded_by': 'Carregado por',
|
|
6852
|
+
'sf.changed': 'Alterado',
|
|
6853
|
+
'sf.actions': 'Ações',
|
|
6854
|
+
'sf.every_page': 'todas as páginas',
|
|
6855
|
+
'sf.pages': 'página {pages}',
|
|
6856
|
+
'sf.edit': 'Editar',
|
|
6857
|
+
'sf.delete_confirm': 'Eliminar {name}?',
|
|
6858
|
+
'sf.delete_name': 'Eliminar {name}',
|
|
6859
|
+
'sf.no_files': 'Ainda não há ficheiros.',
|
|
6860
|
+
'sf.files_to_upload': 'Ficheiros a carregar',
|
|
6861
|
+
'sf.upload': 'Carregar',
|
|
6862
|
+
'sf.replaced': 'Um ficheiro com o mesmo nome é substituído.',
|
|
6863
|
+
'sf.every_page_loads': 'Todas as páginas carregam',
|
|
6864
|
+
'sf.includes': 'Scripts e folhas de estilo, por ordem',
|
|
6865
|
+
'sf.includes_ph': 'p. ex. library.js, app.js, app-styles.css',
|
|
6866
|
+
'sf.includes_help': 'Até {max} ficheiros .js e .css, carregados por esta ordem depois dos do pgkiln (scripts diferidos). #WORKSPACE_FILES#name é um ficheiro estático do espaço de trabalho (Utilitários do espaço de trabalho). Uma página acrescenta os seus ficheiros em Página → Aparência.',
|
|
6867
|
+
'sf.choose_files': 'Escolha um ou mais ficheiros.',
|
|
6868
|
+
'sf.too_large_name': '{name} é maior do que {max}.',
|
|
6869
|
+
'sf.bad_type': '{name}: nome ou tipo não permitido (letras, algarismos, _, - e .; {types}).',
|
|
6870
|
+
'sf.uploaded': 'Carregados: {names}.',
|
|
6871
|
+
'sf.bad_text_name': 'O nome deve terminar num tipo de texto (.js, .css, .json, .txt, .csv, .md, .map) e usar apenas letras, algarismos, _, - e .',
|
|
6872
|
+
'sf.too_large': 'O ficheiro é maior do que {max}.',
|
|
6873
|
+
'sf.saved_name': '{name} guardado.',
|
|
6874
|
+
'sf.deleted': '{name} eliminado.',
|
|
6875
|
+
'sf.no_such_file': 'O ficheiro não existe.',
|
|
6876
|
+
'sf.saved_missing': 'Guardado. Ainda não carregados (omitidos até estarem): {names}.',
|
|
6877
|
+
'sf.saved': 'Guardado.',
|
|
6878
|
+
// ------------------------------------------------------------ Notifications and live badges (sprint 165)
|
|
6879
|
+
'nfy.heading': 'Notificações',
|
|
6880
|
+
'nfy.bell': 'Sino de notificações no cabeçalho',
|
|
6881
|
+
'nfy.bell_help': 'Os utilizadores com sessão veem as notificações por ler e as mais recentes; abrir uma marca-a como lida e vai para a sua página. Adicione-as a partir de SQL com `meta.notify(user, title, body, page, items)` ou com um processo do tipo send_notification; `meta.unread_notifications()` é o número, p. ex. para um distintivo.',
|
|
6882
|
+
'nfy.live': 'Distintivos em direto (segundos)',
|
|
6883
|
+
'nfy.live_ph': 'p. ex. 60 (vazio: desligado)',
|
|
6884
|
+
'nfy.live_help': 'A cada tantos segundos (10 a 3600) uma página aberta atualiza os seus distintivos no lugar: o menu e a barra de navegação, os botões com consulta de distintivo e o sino. Não enquanto o separador está oculto; não mantém a sessão viva.',
|
|
6885
|
+
'nfy.live_invalid': 'Distintivos em direto: um número inteiro de segundos de 10 a 3600, ou vazio.',
|
|
6886
|
+
// ------------------------------------------------------------ Page and application locks, developer comments (sprint 164 part 12)
|
|
6887
|
+
'lk.run_only': 'A aplicação é "Só executar" (Disponibilidade → Estado de compilação).',
|
|
6888
|
+
'lk.page_locked_by': 'A página {page} está bloqueada por {user} desde {since}{note}.',
|
|
6889
|
+
'lk.app_locked_by': 'A aplicação está bloqueada por {user} desde {since}{note}.',
|
|
6890
|
+
'lk.run_only_refused': 'Volte a colocá-la em "Executar e compilar" para a alterar.',
|
|
6891
|
+
'lk.refused': 'As alterações são recusadas até ser desbloqueada.',
|
|
6892
|
+
'lk.break_confirm_page': 'Quebrar o bloqueio de {user} na página {page}?',
|
|
6893
|
+
'lk.break_confirm_app': 'Quebrar o bloqueio de {user} na aplicação?',
|
|
6894
|
+
'lk.unlock': 'Desbloquear',
|
|
6895
|
+
'lk.break': 'Quebrar bloqueio (administrador)',
|
|
6896
|
+
'lk.only_owner': 'Só {user} ou um administrador o pode desbloquear.',
|
|
6897
|
+
'lk.not_locked_page': 'Não bloqueada: qualquer programador pode alterar a página {page}.',
|
|
6898
|
+
'lk.not_locked_app': 'Não bloqueada: qualquer programador pode alterar a aplicação.',
|
|
6899
|
+
'lk.note': 'Nota',
|
|
6900
|
+
'lk.note_ph': 'Nota (opcional), p. ex. a refazer o formulário',
|
|
6901
|
+
'lk.lock_page': 'Bloquear a página {page}',
|
|
6902
|
+
'lk.lock_app': 'Bloquear a aplicação',
|
|
6903
|
+
'lk.lock': 'Bloqueio',
|
|
6904
|
+
'lk.comments': 'Comentários',
|
|
6905
|
+
'lk.comment_on_page': 'Adicionar um comentário sobre a página {page}',
|
|
6906
|
+
'lk.comment_on_app': 'Adicionar um comentário sobre a aplicação',
|
|
6907
|
+
'lk.add_comment': 'Adicionar comentário',
|
|
6908
|
+
'lk.delete_comment_confirm': 'Eliminar este comentário?',
|
|
6909
|
+
'lk.delete': 'Eliminar',
|
|
6910
|
+
'lk.issue': 'Problema n.º {n}',
|
|
6911
|
+
'lk.make_issue': 'Criar um problema',
|
|
6912
|
+
'lk.no_comments': 'Ainda não há comentários.',
|
|
6913
|
+
'lk.locked_page': 'A página {page} está bloqueada: outros programadores não a podem alterar até a desbloquear.',
|
|
6914
|
+
'lk.locked_app': 'A aplicação está bloqueada: outros programadores não a podem alterar até a desbloquear.',
|
|
6915
|
+
'lk.already': 'Já está bloqueado.',
|
|
6916
|
+
'lk.not_locked': 'Não está bloqueado.',
|
|
6917
|
+
'lk.only_unlocker': 'Só o programador que o bloqueou ou um administrador o pode desbloquear.',
|
|
6918
|
+
'lk.unlocked': 'Desbloqueado.',
|
|
6919
|
+
'lk.broken': 'O bloqueio de {user} foi quebrado.',
|
|
6920
|
+
'lk.comment_length': 'Um comentário tem de 1 a 4000 caracteres.',
|
|
6921
|
+
'lk.comment_added': 'Comentário adicionado.',
|
|
6922
|
+
'lk.only_author': 'Só o autor ou um administrador pode eliminar um comentário.',
|
|
6923
|
+
'lk.comment_deleted': 'Comentário eliminado.',
|
|
6924
|
+
// ------------------------------------------------------------ Automations: actions and runs (sprint 164 part 12)
|
|
6925
|
+
'au.back_to': 'Voltar a {name}',
|
|
6926
|
+
'au.failed_rows': '{n} linha(s) com falha',
|
|
6927
|
+
'au.first': '(primeiras {n})',
|
|
6928
|
+
'au.row_action': 'Linha {row}, ação {action}',
|
|
6929
|
+
'au.not_scheduled': 'não agendada (desativada)',
|
|
6930
|
+
'au.never': 'nunca: {message}',
|
|
6931
|
+
'au.scheduler_off': '(o agendador está desligado neste servidor: AUTOMATIONS=off)',
|
|
6932
|
+
'au.actions': 'Ações',
|
|
6933
|
+
'au.order_once': 'Executadas por esta ordem, uma vez, numa transação.',
|
|
6934
|
+
'au.order_rows': 'Executadas por esta ordem, para cada linha da consulta, numa transação.',
|
|
6935
|
+
'au.order_rows_skip': 'Executadas por esta ordem, para cada linha da consulta, numa transação por execução; uma linha com falha é revertida e ignorada.',
|
|
6936
|
+
'au.seq': 'Seq.',
|
|
6937
|
+
'au.action': 'Ação',
|
|
6938
|
+
'au.condition': 'Condição',
|
|
6939
|
+
'au.order': 'Ordem',
|
|
6940
|
+
'au.always': 'sempre',
|
|
6941
|
+
'au.move_up': 'Subir {name}',
|
|
6942
|
+
'au.move_down': 'Descer {name}',
|
|
6943
|
+
'au.no_actions': 'Ainda não há ações: uma execução não faz nada.',
|
|
6944
|
+
'au.add_action': 'Adicionar ação',
|
|
6945
|
+
'au.runs': 'Execuções',
|
|
6946
|
+
'au.next_run': 'Próxima execução: {when}',
|
|
6947
|
+
'au.from_code': 'A partir do código da aplicação: {call} executa-a agora, na transação de quem chama.',
|
|
6948
|
+
'au.run_now': 'Executar agora',
|
|
6949
|
+
'au.started': 'Início',
|
|
6950
|
+
'au.took': 'Duração',
|
|
6951
|
+
'au.by': 'Por',
|
|
6952
|
+
'au.status': 'Estado',
|
|
6953
|
+
'au.rows': 'Linhas',
|
|
6954
|
+
'au.failed': 'Com falha',
|
|
6955
|
+
'au.message': 'Mensagem',
|
|
6956
|
+
'au.no_runs': 'Ainda não há execuções.',
|
|
6957
|
+
'au.ran': 'Executada com êxito.',
|
|
6958
|
+
'au.ran_rows': 'Executada com êxito para {n} linha(s).',
|
|
6959
|
+
'au.ran_errors': 'Executada com erros: {message}. Veja o histórico de execuções.',
|
|
6960
|
+
'au.failed_run': 'A automatização falhou.',
|
|
6961
|
+
// ------------------------------------------------------------ Workflow versions and instances (sprint 164 part 12)
|
|
6962
|
+
'wfv.draft_new': 'Os passos de rascunho pertencem a uma versão de desenvolvimento: crie o fluxo de trabalho sem eles e depois uma nova versão para modelar com rascunhos.',
|
|
6963
|
+
'wfv.draft_active': 'A versão {version} está ativa: os passos de rascunho pertencem a uma versão de desenvolvimento.',
|
|
6964
|
+
'wfv.active_fixed': 'A versão {version} está ativa e não pode ser alterada. Crie uma nova versão para editar os seus passos.',
|
|
6965
|
+
'wfv.running': '({n} em execução)',
|
|
6966
|
+
'wfv.versions': 'Versões',
|
|
6967
|
+
'wfv.intro': 'As novas instâncias iniciam a versão {active}; as que estão em execução mantêm a versão com que começaram. Edite uma versão {development} e depois ative-a.',
|
|
6968
|
+
'wfv.state.active': 'ativa',
|
|
6969
|
+
'wfv.state.development': 'desenvolvimento',
|
|
6970
|
+
'wfv.state.inactive': 'inativa',
|
|
6971
|
+
'wfv.version': 'Versão',
|
|
6972
|
+
'wfv.state': 'Estado',
|
|
6973
|
+
'wfv.activated': 'Ativada',
|
|
6974
|
+
'wfv.instances': 'Instâncias',
|
|
6975
|
+
'wfv.activate_confirm': 'Ativar a versão {version}? As novas instâncias iniciam-na; as que estão em execução mantêm a sua versão.',
|
|
6976
|
+
'wfv.activate': 'Ativar',
|
|
6977
|
+
'wfv.discard_confirm': 'Descartar a versão {version} e as suas alterações?',
|
|
6978
|
+
'wfv.discard': 'Descartar',
|
|
6979
|
+
'wfv.diagram': 'Diagrama',
|
|
6980
|
+
'wfv.new_label': 'Etiqueta da nova versão',
|
|
6981
|
+
'wfv.new': 'Criar nova versão',
|
|
6982
|
+
'wfv.new_help': 'Uma cópia da versão {version} para editar; a etiqueta é opcional ({next}).',
|
|
6983
|
+
'wfv.diagram_dev': 'Diagrama da versão {version} (desenvolvimento)',
|
|
6984
|
+
'wfv.diagram_of': 'Diagrama da versão {version}',
|
|
6985
|
+
'wfv.drafts': 'Os passos de rascunho ({steps}) são marcadores: substitua-os antes de ativar a versão {version}.',
|
|
6986
|
+
'wfv.svg': 'Transferir SVG',
|
|
6987
|
+
'wfv.png': 'Transferir PNG',
|
|
6988
|
+
'wfv.counts': 'Instâncias: {counts}. As instâncias em execução mantêm os passos da versão com que começaram.',
|
|
6989
|
+
'wfv.none_yet': 'ainda nenhuma',
|
|
6990
|
+
'wfv.migrate_title': 'Migrar as instâncias em execução para uma versão mais recente',
|
|
6991
|
+
'wfv.migrate': 'Migrar instâncias…',
|
|
6992
|
+
'wfv.id': 'Id',
|
|
6993
|
+
'wfv.title': 'Título',
|
|
6994
|
+
'wfv.at': 'Em',
|
|
6995
|
+
'wfv.started': 'Início',
|
|
6996
|
+
'wfv.instance_at': 'Instância {id}, versão {version}: em {steps}',
|
|
6997
|
+
'wfv.instance': 'Instância {id}, versão {version}',
|
|
6998
|
+
'wfv.pick': 'Escolha uma instância para ver onde está no diagrama da sua versão.',
|
|
6999
|
+
'wfv.bad_label': 'Uma etiqueta de versão tem letras, algarismos, pontos, hífenes e sublinhados (no máximo 30).',
|
|
7000
|
+
'wfv.created': 'Versão {version} criada (desenvolvimento): edite os passos e depois ative-a.',
|
|
7001
|
+
'wfv.no_dev': 'Não há nenhuma versão em desenvolvimento.',
|
|
7002
|
+
'wfv.cant_activate': 'A versão {version} não pode ser ativada: {problems}',
|
|
7003
|
+
'wfv.activated_flash': 'A versão {version} está ativa: as novas instâncias iniciam-na.',
|
|
7004
|
+
'wfv.discarded': 'Versão {version} descartada.',
|
|
7005
|
+
'wfv.was_no_dev': 'Não havia nenhuma versão em desenvolvimento.',
|
|
7006
|
+
// ------------------------------------------------------------ Workflow migration (sprint 164 part 12)
|
|
7007
|
+
'wfm.no_steps': 'Esta versão não tem passos para desenhar.',
|
|
7008
|
+
'wfm.choose_instances': 'Escolha as instâncias a migrar.',
|
|
7009
|
+
'wfm.title': 'Migrar instâncias em execução',
|
|
7010
|
+
'wfm.none_running': '{name} não tem instâncias em execução.',
|
|
7011
|
+
'wfm.back_to': 'Voltar a {name}',
|
|
7012
|
+
'wfm.all_current': 'Todas as instâncias em execução de {name} usam a versão ativa {version}: não há uma versão mais recente para onde as mover.',
|
|
7013
|
+
'wfm.intro': 'Mova as instâncias em execução para uma versão mais recente: cada uma continua no passo da nova versão para onde o seu passo atual está mapeado, mantendo as variáveis e a tarefa que aguarda. Uma instância dentro de ramos paralelos move-se por inteiro: o caminho principal na sua junção e cada ramo aberto no seu próprio passo, cada um mapeado (uma junção continua a ser uma junção). Cada posição tem de ter um mapeamento, ou nada se move.',
|
|
7014
|
+
'wfm.to_version': 'Para a versão',
|
|
7015
|
+
'wfm.to_help': 'Se a alterar: pré-visualize de novo para ver os passos.',
|
|
7016
|
+
'wfm.older': 'Instâncias numa versão anterior',
|
|
7017
|
+
'wfm.migrate': 'Migrar',
|
|
7018
|
+
'wfm.migrate_instance': 'Migrar a instância {id}',
|
|
7019
|
+
'wfm.branches_at': 'ramos em {steps}',
|
|
7020
|
+
'wfm.none_older': 'Nenhuma instância em execução é anterior à versão {version}.',
|
|
7021
|
+
'wfm.map': 'Mapear os passos atuais para passos da versão {version}',
|
|
7022
|
+
'wfm.no_mapping': '— sem mapeamento —',
|
|
7023
|
+
'wfm.preview': 'Pré-visualizar',
|
|
7024
|
+
'wfm.path': 'Caminho',
|
|
7025
|
+
'wfm.from': 'De',
|
|
7026
|
+
'wfm.to': 'Para',
|
|
7027
|
+
'wfm.result': 'Resultado',
|
|
7028
|
+
'wfm.branch': 'ramo {name}',
|
|
7029
|
+
'wfm.main': 'principal',
|
|
7030
|
+
'wfm.ready': 'pronta',
|
|
7031
|
+
'wfm.confirm': 'Migrar {n} instância(s) para a versão {version}?',
|
|
7032
|
+
'wfm.do': 'Migrar {n} instância(s)',
|
|
7033
|
+
'wfm.not_ready': 'Mapeie um passo para cada instância e ramo (ou deixe as instâncias de fora) e pré-visualize de novo: nada é migrado enquanto uma não se puder mover.',
|
|
7034
|
+
'wfm.version': 'Versão {version}',
|
|
7035
|
+
'wfm.page_title': 'Migrar {name}',
|
|
7036
|
+
'wfm.crumb': 'Migrar instâncias',
|
|
7037
|
+
'wfm.choose_version': 'Escolha a versão para onde migrar.',
|
|
7038
|
+
'wfm.done': '{n} instância(s) de {name} migrada(s) para a versão {version}.',
|
|
7039
|
+
// ------------------------------------------------------------ Upgrade application (sprint 164 part 13)
|
|
7040
|
+
'upg.rule_nav_title': 'Aparência da navegação',
|
|
7041
|
+
'upg.rule_nav_since': 'As aparências de navegação (Pillar Light, Pillar Dark) chegaram com o sprint 117.',
|
|
7042
|
+
'upg.rule_date_title': 'Seletor de data para colunas de data',
|
|
7043
|
+
'upg.rule_date_since': 'Os itens de data e de data-hora têm o seletor de data do pgkiln desde o sprint 84.',
|
|
7044
|
+
'upg.rule_popup_title': 'Lista de valores paginada para tabelas grandes',
|
|
7045
|
+
'upg.rule_popup_since': 'As listas de valores pop-up pesquisam e paginam no servidor.',
|
|
7046
|
+
'upg.label_theme': 'Configurações da aplicação › Tema',
|
|
7047
|
+
'upg.reason_nav': 'A aplicação não tem aparência de navegação: o Pillar Light dá-lhe a faixa de cabeçalho e a página atual preenchida das novas aplicações.',
|
|
7048
|
+
'upg.label_item': 'Página {page} › item {name}',
|
|
7049
|
+
'upg.reason_date': '{column} é uma coluna {type} mostrada como campo de texto: um item de data tem o seletor de data e lê a data no formato da aplicação.',
|
|
7050
|
+
'upg.reason_datetime': '{column} é uma coluna {type} mostrada como campo de texto: um item de data-hora tem o seletor de data e lê a data no formato da aplicação.',
|
|
7051
|
+
'upg.reason_popup': 'A sua lista de valores lê {table} (cerca de {n} linhas): uma lista de seleção envia todas as linhas com a página; uma lista de valores pop-up pesquisa e pagina no servidor.',
|
|
7052
|
+
'upg.col_component': 'Componente',
|
|
7053
|
+
'upg.col_why': 'Motivo',
|
|
7054
|
+
'upg.col_actions': 'Ações',
|
|
7055
|
+
'upg.preview': 'Pré-visualizar',
|
|
7056
|
+
'upg.upgrade': 'Atualizar',
|
|
7057
|
+
'upg.upgrade_all': 'Atualizar os {n}',
|
|
7058
|
+
'upg.nothing': 'Nada a atualizar.',
|
|
7059
|
+
'upg.intro': 'Componentes criados antes de uma versão do pgkiln que trouxe uma predefinição melhor. Pré-visualize uma alteração e depois atualize um componente ou todos de um tipo; cada atualização fica no histórico de alterações (e nas cópias de segurança) se quiser voltar atrás.',
|
|
7060
|
+
'upg.preview_title': 'Pré-visualização: {label}',
|
|
7061
|
+
'upg.title': 'Atualizar a aplicação · {name}',
|
|
7062
|
+
'upg.gone': 'Nada a atualizar: o componente foi alterado ou atualizado entretanto.',
|
|
7063
|
+
'upg.done_one': '{label} atualizado.',
|
|
7064
|
+
'upg.done_n': '{n} componentes atualizados.',
|
|
7065
|
+
// ------------------------------------------------------------ Report layouts: logo (sprint 164 part 13)
|
|
7066
|
+
'lay.logo_image': 'Imagem do logótipo',
|
|
7067
|
+
'lay.logo_alt': 'Logótipo deste layout',
|
|
7068
|
+
'lay.no_logo': 'Sem logótipo. É impresso no canto superior direito da primeira página.',
|
|
7069
|
+
'lay.logo_file': 'Logótipo (PNG ou JPEG)',
|
|
7070
|
+
'lay.upload': 'Carregar',
|
|
7071
|
+
'lay.remove': 'Remover o logótipo',
|
|
7072
|
+
'lay.preview_pdf': 'Pré-visualizar PDF',
|
|
7073
|
+
'lay.removed': 'Logótipo removido.',
|
|
7074
|
+
'lay.choose': 'Escolha um ficheiro PNG ou JPEG.',
|
|
7075
|
+
'lay.too_large': 'O logótipo tem mais de {mb} MB.',
|
|
7076
|
+
'lay.not_image': 'O logótipo tem de ser uma imagem PNG ou JPEG.',
|
|
7077
|
+
'lay.saved': 'Logótipo guardado.',
|
|
7078
|
+
// ------------------------------------------------------------ Object dependencies (sprint 164 part 13)
|
|
7079
|
+
'dep.not_parsed': 'Não analisado (só SELECT, INSERT, UPDATE, DELETE e MERGE são analisados): {statements}',
|
|
7080
|
+
'dep.page_tag': 'página {n}',
|
|
7081
|
+
'dep.col_object': 'Objeto',
|
|
7082
|
+
'dep.col_type': 'Tipo',
|
|
7083
|
+
'dep.col_status': 'Estado',
|
|
7084
|
+
'dep.col_pages': 'Páginas',
|
|
7085
|
+
'dep.col_used_by': 'Usado por',
|
|
7086
|
+
'dep.missing': 'Em falta',
|
|
7087
|
+
'dep.no_grant': 'Sem privilégio',
|
|
7088
|
+
'dep.lacks': '{role} não tem {privileges}',
|
|
7089
|
+
'dep.ok': 'OK',
|
|
7090
|
+
'dep.n_component': '{n} componente',
|
|
7091
|
+
'dep.n_components': '{n} componentes',
|
|
7092
|
+
'dep.no_objects': 'Sem objetos.',
|
|
7093
|
+
'dep.no_match': 'Nenhum objeto corresponde.',
|
|
7094
|
+
'dep.intro': 'As tabelas, vistas, sequências e funções que o SQL da aplicação usa ({n} instruções analisadas como a função {role}; nada é executado), com os componentes que as usam. Os objetos em falta e os privilégios que faltam à função estão assinalados.',
|
|
7095
|
+
'dep.runtime_connection': '(a ligação de execução)',
|
|
7096
|
+
'dep.n_objects': '{n} objetos',
|
|
7097
|
+
'dep.n_missing': '{n} em falta',
|
|
7098
|
+
'dep.n_without_grants': '{n} sem os privilégios de que precisam',
|
|
7099
|
+
'dep.filter': 'Filtrar',
|
|
7100
|
+
'dep.filter_ph': 'p. ex. sales.orders',
|
|
7101
|
+
'dep.all_objects': 'Todos os objetos',
|
|
7102
|
+
'dep.only_problems': 'Só problemas',
|
|
7103
|
+
'dep.not_scanned': 'Não analisado',
|
|
7104
|
+
'dep.note': 'Nota',
|
|
7105
|
+
'dep.title': 'Dependências de objetos · {name}',
|
|
7106
|
+
'dep.crumb': 'Dependências de objetos',
|
|
7107
|
+
// ------------------------------------------------------------ UI defaults (sprint 164 part 13)
|
|
7108
|
+
'uid.schema': 'Esquema',
|
|
7109
|
+
'uid.choose_schema': 'Escolha um esquema',
|
|
7110
|
+
'uid.table_or_view': 'Tabela ou vista',
|
|
7111
|
+
'uid.choose_table': 'Escolha uma tabela',
|
|
7112
|
+
'uid.col_column': 'Coluna',
|
|
7113
|
+
'uid.col_label': 'Rótulo',
|
|
7114
|
+
'uid.col_mask': 'Máscara de formato',
|
|
7115
|
+
'uid.col_alignment': 'Alinhamento',
|
|
7116
|
+
'uid.col_help': 'Ajuda',
|
|
7117
|
+
'uid.col_lov': 'Lista de valores',
|
|
7118
|
+
'uid.label_of': 'Rótulo de {column}',
|
|
7119
|
+
'uid.mask_of': 'Máscara de formato de {column}',
|
|
7120
|
+
'uid.alignment_of': 'Alinhamento de {column}',
|
|
7121
|
+
'uid.help_of': 'Ajuda de {column}',
|
|
7122
|
+
'uid.lov_of': 'Lista de valores de {column}',
|
|
7123
|
+
'uid.seed': 'Preencher a partir dos comentários',
|
|
7124
|
+
'uid.help': 'Uma linha vazia não tem padrão da interface. O marcador de posição de um rótulo mostra o que os assistentes usam sem ele. Listas de valores: `LOV:NAME` (uma lista de valores partilhada da aplicação), `STATIC:Yes;Y,No;N` ou uma consulta (`select name d, id r from sales.status`).',
|
|
7125
|
+
'uid.per_column': 'Padrões da interface por coluna',
|
|
7126
|
+
'uid.intro': 'Rótulo, máscara de formato, texto de ajuda, alinhamento e lista de valores por coluna de tabela (APEX: Attribute Dictionary). Os assistentes de páginas e o assistente Criar aplicação usam o rótulo em cada cabeçalho de relatório e item de formulário gerados, e um item de formulário gerado recebe também a máscara de formato, a ajuda e a lista de valores. Aplicam-se às páginas geradas depois da alteração, em todas as aplicações.',
|
|
7127
|
+
'uid.seeded_one': 'Padrões da interface de {n} coluna criados a partir do seu comentário.',
|
|
7128
|
+
'uid.seeded': 'Padrões da interface de {n} colunas criados a partir dos seus comentários.',
|
|
7129
|
+
'uid.no_comments': 'Nenhuma coluna sem padrão da interface tem comentário.',
|
|
7130
|
+
'uid.bad_mask': 'Máscara de formato de {column}: só letras, dígitos e . , : / - (p. ex. 999G990D00 ou DD.MM.YYYY).',
|
|
7131
|
+
'uid.bad_alignment': 'Alinhamento de {column}: start, center ou end.',
|
|
7132
|
+
'uid.saved': 'Padrões da interface de {table} guardados.',
|
|
7133
|
+
// ------------------------------------------------------------ Supporting objects (sprint 164 part 13)
|
|
7134
|
+
'sup.statement': 'Instrução',
|
|
7135
|
+
'sup.rows': '{command}, {n} linha(s)',
|
|
7136
|
+
'sup.ran_install': 'Os scripts de instalação foram executados: {n} instrução(ões), confirmadas.',
|
|
7137
|
+
'sup.ran_upgrade': 'Os scripts de atualização foram executados: {n} instrução(ões), confirmadas.',
|
|
7138
|
+
'sup.ran_deinstall': 'Os scripts de desinstalação foram executados: {n} instrução(ões), confirmadas.',
|
|
7139
|
+
'sup.failed_install': 'Os scripts de instalação falharam: tudo o que fizeram foi desfeito (rollback).',
|
|
7140
|
+
'sup.failed_upgrade': 'Os scripts de atualização falharam: tudo o que fizeram foi desfeito (rollback).',
|
|
7141
|
+
'sup.failed_deinstall': 'Os scripts de desinstalação falharam: tudo o que fizeram foi desfeito (rollback).',
|
|
7142
|
+
'sup.error': 'Erro: {message}',
|
|
7143
|
+
'sup.imported': 'Esta aplicação veio com objetos de suporte. {b}Não{b_end} foram executados: leia-os abaixo e execute-os só se confiar neles.',
|
|
7144
|
+
'sup.result_install': 'Resultado: scripts de instalação',
|
|
7145
|
+
'sup.result_upgrade': 'Resultado: scripts de atualização',
|
|
7146
|
+
'sup.result_deinstall': 'Resultado: scripts de desinstalação',
|
|
7147
|
+
'sup.intro': 'Scripts que instalam, atualizam ou removem o que a aplicação precisa na base de dados. Viajam com a exportação e só são executados a partir daqui, quando escolher: como a função de base de dados da aplicação {role}, instrução a instrução numa transação (um erro desfaz toda a execução). {add} em Componentes Compartilhados.',
|
|
7148
|
+
'sup.no_role': '(nenhuma: a ligação de execução)',
|
|
7149
|
+
'sup.add_script': 'Adicionar um script',
|
|
7150
|
+
'sup.h_install': 'Scripts de instalação ({n})',
|
|
7151
|
+
'sup.h_upgrade': 'Scripts de atualização ({n})',
|
|
7152
|
+
'sup.h_deinstall': 'Scripts de desinstalação ({n})',
|
|
7153
|
+
'sup.edit': 'Editar',
|
|
7154
|
+
'sup.run_install': 'Executar os scripts de instalação',
|
|
7155
|
+
'sup.run_upgrade': 'Executar os scripts de atualização',
|
|
7156
|
+
'sup.run_deinstall': 'Executar os scripts de desinstalação',
|
|
7157
|
+
'sup.confirm_install': 'Executar os scripts de instalação de {app} como {role}?',
|
|
7158
|
+
'sup.confirm_upgrade': 'Executar os scripts de atualização de {app} como {role}?',
|
|
7159
|
+
'sup.confirm_deinstall': 'Executar os scripts de desinstalação de {app} como {role}?',
|
|
7160
|
+
'sup.runtime_connection': 'a ligação de execução',
|
|
7161
|
+
'sup.none': 'Nenhum.',
|
|
7162
|
+
'sup.unknown_kind': 'Tipo de script desconhecido',
|
|
7163
|
+
// ------------------------------------------------------------ Cross-application reports (sprint 164 part 13)
|
|
7164
|
+
'xap.attributes.title': 'Atributos do aplicativo',
|
|
7165
|
+
'xap.attributes.about': 'As principais configurações de cada aplicativo: tipo, login, disponibilidade, status de build, nível de depuração, idioma e função do banco de dados.',
|
|
7166
|
+
'xap.build_options.title': 'Opções de build',
|
|
7167
|
+
'xap.build_options.about': 'As opções de build de cada aplicativo e se seus componentes estão incluídos.',
|
|
7168
|
+
'xap.comments.title': 'Comentários dos desenvolvedores',
|
|
7169
|
+
'xap.comments.about': 'Os comentários dos desenvolvedores sobre aplicativos e páginas, os mais recentes primeiro.',
|
|
7170
|
+
'xap.authentication.title': 'Autenticação',
|
|
7171
|
+
'xap.authentication.about': 'Como as pessoas fazem login em cada aplicativo: o método de login, o login com senha, provedores de identidade e diretórios LDAP, o controle de acesso, a página de login e Esqueci a senha.',
|
|
7172
|
+
'xap.authorization.title': 'Esquemas de autorização',
|
|
7173
|
+
'xap.authorization.about': 'Os esquemas de autorização de cada aplicativo: seu tipo e o que verificam.',
|
|
7174
|
+
'xap.password_items.title': 'Itens de senha',
|
|
7175
|
+
'xap.password_items.about': 'Cada item de senha: o pgkiln nunca mais mostra seus valores, nunca os mantém no estado da sessão para a próxima página e nunca os grava no log de depuração.',
|
|
7176
|
+
'xap.theme.title': 'Resumo de temas',
|
|
7177
|
+
'xap.theme.about': 'A aparência de cada aplicativo: estilo base, estilo do Theme Roller, navegação e as cores que define.',
|
|
7178
|
+
'xap.col.alias': 'Alias',
|
|
7179
|
+
'xap.col.type': 'Tipo',
|
|
7180
|
+
'xap.col.sign_in': 'Login',
|
|
7181
|
+
'xap.col.availability': 'Disponibilidade',
|
|
7182
|
+
'xap.col.build_status': 'Status de build',
|
|
7183
|
+
'xap.col.debug': 'Depuração',
|
|
7184
|
+
'xap.col.language': 'Idioma',
|
|
7185
|
+
'xap.col.database_role': 'Função do banco de dados',
|
|
7186
|
+
'xap.col.updated': 'Atualizado',
|
|
7187
|
+
'xap.col.build_option': 'Opção de build',
|
|
7188
|
+
'xap.col.status': 'Status',
|
|
7189
|
+
'xap.col.description': 'Descrição',
|
|
7190
|
+
'xap.col.page': 'Página',
|
|
7191
|
+
'xap.col.author': 'Autor',
|
|
7192
|
+
'xap.col.written': 'Escrito',
|
|
7193
|
+
'xap.col.comment': 'Comentário',
|
|
7194
|
+
'xap.col.passwords': 'Senhas',
|
|
7195
|
+
'xap.col.identity_providers': 'Provedores de identidade',
|
|
7196
|
+
'xap.col.ldap_directories': 'Diretórios LDAP',
|
|
7197
|
+
'xap.col.access': 'Acesso',
|
|
7198
|
+
'xap.col.keep_me_signed_in_days': 'Manter conectado (dias)',
|
|
7199
|
+
'xap.col.login_page': 'Página de login',
|
|
7200
|
+
'xap.col.forgot_password': 'Esqueci a senha',
|
|
7201
|
+
'xap.col.scheme': 'Esquema',
|
|
7202
|
+
'xap.col.checks': 'Verifica',
|
|
7203
|
+
'xap.col.error_message': 'Mensagem de erro',
|
|
7204
|
+
'xap.col.item': 'Item',
|
|
7205
|
+
'xap.col.label': 'Rótulo',
|
|
7206
|
+
'xap.col.show_button': 'Botão Mostrar',
|
|
7207
|
+
'xap.col.required': 'Obrigatório',
|
|
7208
|
+
'xap.col.base_style': 'Estilo base',
|
|
7209
|
+
'xap.col.style': 'Estilo',
|
|
7210
|
+
'xap.col.navigation': 'Navegação',
|
|
7211
|
+
'xap.col.colours_set': 'Cores definidas',
|
|
7212
|
+
'xap.col.installable_pwa': 'Instalável (PWA)',
|
|
7213
|
+
'xap.of_workspace': 'Aplicativos do espaço de trabalho {name}.',
|
|
7214
|
+
'xap.nav': 'Relatórios entre aplicativos',
|
|
7215
|
+
'xap.application': 'Aplicativo',
|
|
7216
|
+
'xap.nothing': 'Nada a relatar neste espaço de trabalho.',
|
|
7217
|
+
// ------------------------------------------------------------ Workspace export and import (sprint 164 part 13)
|
|
7218
|
+
'wtr.admins_only': 'Somente administradores e os administradores do espaço de trabalho exportam ou importam os componentes de um espaço de trabalho.',
|
|
7219
|
+
'wtr.components': 'Componentes',
|
|
7220
|
+
'wtr.in_file': 'no arquivo',
|
|
7221
|
+
'wtr.issues': '{n} issue(s)',
|
|
7222
|
+
'wtr.intro': 'Os componentes do espaço de trabalho {name} em um único arquivo: para copiá-los para outro espaço de trabalho ou instalação, ou para mantê-los com os arquivos dos seus aplicativos. Os aplicativos são exportados separadamente (App Builder → um aplicativo → Exportar).',
|
|
7223
|
+
'wtr.imported_into': 'Importado em {name}:',
|
|
7224
|
+
'wtr.export': 'Exportar',
|
|
7225
|
+
'wtr.import': 'Importar',
|
|
7226
|
+
'wtr.not_in_file': 'Não incluídos no arquivo: o nome do espaço de trabalho, seu isolamento e funções do banco de dados, senhas e segredos, execuções de scripts e outro histórico.',
|
|
7227
|
+
'wtr.import_intro': 'Um arquivo exportado de um espaço de trabalho, importado em {name}. Nada é excluído; os desenvolvedores são adicionados somente quando esta instalação tem um desenvolvedor com esse nome.',
|
|
7228
|
+
'wtr.file': 'Arquivo do espaço de trabalho',
|
|
7229
|
+
'wtr.replace': 'Substituir componentes com o mesmo nome (caso contrário, os deste espaço de trabalho são mantidos)',
|
|
7230
|
+
'wtr.choose_part': 'Escolha pelo menos um tipo de componente.',
|
|
7231
|
+
'wtr.too_big': 'O arquivo é maior que {n} MB.',
|
|
7232
|
+
'wtr.choose_file': 'Escolha um arquivo de espaço de trabalho.',
|
|
7233
|
+
'wtr.not_json': 'O arquivo não é um JSON válido.',
|
|
7234
|
+
'wtr.failed': 'Falha na importação, nada foi alterado: {reason}',
|
|
7235
|
+
'wtr.refused_value': 'o arquivo tem um valor que esta instalação recusa ({detail}).',
|
|
7236
|
+
'wtr.duplicate': 'o arquivo tem dois componentes com o mesmo nome ({detail}).',
|
|
7237
|
+
'wtr.part.settings': 'Configurações: descrição, mensagem, banner e preferências',
|
|
7238
|
+
'wtr.part.developers': 'Desenvolvedores e administradores do espaço de trabalho',
|
|
7239
|
+
'wtr.part.app_groups': 'Grupos de aplicativos',
|
|
7240
|
+
'wtr.part.extension_links': 'Links de extensão',
|
|
7241
|
+
'wtr.part.rest_catalogs': 'Catálogos de origens REST',
|
|
7242
|
+
'wtr.part.sql_scripts': 'Scripts SQL',
|
|
7243
|
+
'wtr.part.blueprints': 'Blueprints',
|
|
7244
|
+
'wtr.part.data_generators': 'Geradores de dados',
|
|
7245
|
+
'wtr.part.datasets': 'Conjuntos de dados do Data Reporter',
|
|
7246
|
+
'wtr.part.team': 'Team Development: rótulos, marcos, modelos e issues',
|
|
7247
|
+
'wtr.part.workspace_files': 'Arquivos estáticos do espaço de trabalho',
|
|
7248
|
+
'wtr.part.remote_servers': 'Servidores remotos (um servidor existente mantém sua URL base)',
|
|
7249
|
+
'wtr.part.web_credentials': 'Credenciais web (sem seus segredos)',
|
|
7250
|
+
// ------------------------------------------------------------ Application backups (sprint 164 part 13)
|
|
7251
|
+
'bkp.reason.import': 'antes de uma importação',
|
|
7252
|
+
'bkp.reason.merge': 'antes da mesclagem de uma cópia de trabalho',
|
|
7253
|
+
'bkp.reason.restore': 'antes de uma restauração',
|
|
7254
|
+
'bkp.reason.daily': 'diário',
|
|
7255
|
+
'bkp.reason.manual': 'feito manualmente',
|
|
7256
|
+
'bkp.intro': 'Exportações deste aplicativo mantidas por esta instalação: uma antes de cada importação que o substitui (também pela linha de comando e pelo servidor MCP), antes da mesclagem de uma cópia de trabalho e de uma restauração, uma por dia quando ele mudou, e as feitas aqui. Os {n} mais recentes são mantidos. Os backups não são exportados.',
|
|
7257
|
+
'bkp.made_utc': 'Feito (UTC)',
|
|
7258
|
+
'bkp.made': 'Feito',
|
|
7259
|
+
'bkp.why': 'Motivo',
|
|
7260
|
+
'bkp.by': 'Por',
|
|
7261
|
+
'bkp.note': 'Nota',
|
|
7262
|
+
'bkp.size': 'Tamanho',
|
|
7263
|
+
'bkp.actions': 'Ações',
|
|
7264
|
+
'bkp.download': 'Baixar',
|
|
7265
|
+
'bkp.restore_confirm': 'Restaurar o aplicativo como estava em {when}? Suas páginas, componentes compartilhados e configurações passam a ser os do backup; antes é feito um backup da versão atual.',
|
|
7266
|
+
'bkp.restore': 'Restaurar',
|
|
7267
|
+
'bkp.delete_confirm': 'Excluir este backup?',
|
|
7268
|
+
'bkp.delete': 'Excluir',
|
|
7269
|
+
'bkp.none': 'Nenhum backup ainda.',
|
|
7270
|
+
'bkp.back_up_now': 'Fazer backup agora',
|
|
7271
|
+
'bkp.note_placeholder': 'ex.: antes do novo painel',
|
|
7272
|
+
'bkp.keep': 'Manter',
|
|
7273
|
+
'bkp.to_keep': 'Backups a manter',
|
|
7274
|
+
'bkp.to_keep_help': 'De 0 a 500; 0 não faz nenhum backup (nem antes de uma importação).',
|
|
7275
|
+
'bkp.page_title': 'Backups de {name}',
|
|
7276
|
+
'bkp.made_flash': 'Backup feito.',
|
|
7277
|
+
'bkp.none_kept': 'Nenhum backup feito: este aplicativo não mantém nenhum (defina "Backups a manter").',
|
|
7278
|
+
'bkp.keep_invalid': 'Backups a manter: um número inteiro de 0 a 500.',
|
|
7279
|
+
'bkp.saved': 'Salvo.',
|
|
7280
|
+
'bkp.not_found': 'Backup não encontrado.',
|
|
7281
|
+
'bkp.restored': 'Aplicativo restaurado como estava em {when}. A versão substituída é o backup mais recente.',
|
|
7282
|
+
'bkp.restore_failed': 'Falha na restauração: {message}',
|
|
7283
|
+
'bkp.deleted': 'Backup excluído.',
|
|
7284
|
+
'bkp.not_found_short': 'Não encontrado.',
|
|
7285
|
+
// ------------------------------------------------------------ Manage backups (sprint 164 part 13)
|
|
7286
|
+
'wbk.intro': 'Os backups dos aplicativos de {name}: um antes de cada importação que substitui um aplicativo, uma mesclagem ou uma restauração, um por dia quando ele mudou, e os feitos manualmente. Abra os backups de um aplicativo para baixar, restaurar ou excluir um.',
|
|
7287
|
+
'wbk.intro_this': 'Os backups dos aplicativos deste espaço de trabalho: um antes de cada importação que substitui um aplicativo, uma mesclagem ou uma restauração, um por dia quando ele mudou, e os feitos manualmente. Abra os backups de um aplicativo para baixar, restaurar ou excluir um.',
|
|
7288
|
+
'wbk.applications': 'Aplicativos',
|
|
7289
|
+
'wbk.application': 'Aplicativo',
|
|
7290
|
+
'wbk.backups': 'Backups',
|
|
7291
|
+
'wbk.storage': 'Armazenamento',
|
|
7292
|
+
'wbk.changed_since_newest': 'Alterados desde o backup mais recente',
|
|
7293
|
+
'wbk.kept': 'Mantidos',
|
|
7294
|
+
'wbk.newest_utc': 'Mais recente (UTC)',
|
|
7295
|
+
'wbk.newest': 'Mais recente',
|
|
7296
|
+
'wbk.size': 'Tamanho',
|
|
7297
|
+
'wbk.none': 'nenhum',
|
|
7298
|
+
'wbk.never': 'nunca',
|
|
7299
|
+
'wbk.changed_since': 'alterado desde então',
|
|
7300
|
+
'wbk.no_apps': 'Nenhum aplicativo.',
|
|
7301
|
+
'wbk.back_up_all': 'Fazer backup de todos os aplicativos',
|
|
7302
|
+
'wbk.back_up_all_text': 'Faz um backup de cada aplicativo deste espaço de trabalho que mantém backups.',
|
|
7303
|
+
'wbk.note': 'Nota',
|
|
7304
|
+
'wbk.note_placeholder': 'ex.: antes da atualização',
|
|
7305
|
+
'wbk.only_changed': 'Somente aplicativos alterados desde o backup mais recente',
|
|
7306
|
+
'wbk.back_up_now': 'Fazer backup agora',
|
|
7307
|
+
'wbk.failed_one': '{n} backup(s) feito(s); sem backup: aplicativo {ids}.',
|
|
7308
|
+
'wbk.failed_many': '{n} backup(s) feito(s); sem backup: aplicativos {ids}.',
|
|
7309
|
+
'wbk.made_one': '{n} backup feito.',
|
|
7310
|
+
'wbk.made_many': '{n} backups feitos.',
|
|
7311
|
+
'wbk.nothing': 'Nada para fazer backup: cada aplicativo está inalterado desde o backup mais recente ou não mantém nenhum.',
|
|
7312
|
+
// ------------------------------------------------------------ Availability (sprint 164 part 13)
|
|
7313
|
+
'avl.mode.available': 'Disponível',
|
|
7314
|
+
'avl.mode.developers': 'Disponível somente para desenvolvedores',
|
|
7315
|
+
'avl.mode.restricted': 'Restrito aos usuários abaixo (e desenvolvedores)',
|
|
7316
|
+
'avl.mode.unavailable': 'Indisponível',
|
|
7317
|
+
'avl.intro': 'Quem pode usar o aplicativo em execução. Desenvolvedores são aqueles conectados ao builder no mesmo navegador (eles veem a barra de ferramentas do desenvolvedor). Páginas, downloads de arquivos, módulos REST e a API REST seguem esta configuração; automações, fluxos de trabalho, jobs em segundo plano e e-mails na fila continuam em execução. Ela pertence a esta instalação: as exportações a omitem e uma importação sobre o aplicativo a mantém.',
|
|
7318
|
+
'avl.status': 'Status',
|
|
7319
|
+
'avl.message': 'Mensagem',
|
|
7320
|
+
'avl.message_help': 'Mostrada quando o aplicativo está indisponível ou somente para desenvolvedores, ex.: "Estamos atualizando o aplicativo; voltamos às 14:00." Vazio: uma mensagem padrão no idioma do usuário.',
|
|
7321
|
+
'avl.users': 'Usuários (restrito)',
|
|
7322
|
+
'avl.users_help': 'Nomes de usuário separados por vírgulas ou espaços. Eles fazem login normalmente; os outros recebem "não disponível para sua conta".',
|
|
7323
|
+
'avl.build_status': 'Estado de compilação',
|
|
7324
|
+
'avl.run_and_build': 'Executar e construir',
|
|
7325
|
+
'avl.run_only': 'Só executar',
|
|
7326
|
+
'avl.build_status_help': 'Só executar: o builder recusa alterações no aplicativo (páginas, componentes compartilhados, configurações, restaurações) até que seja redefinido aqui. pgkiln import --replace ainda o implanta.',
|
|
7327
|
+
'avl.page_title': 'Disponibilidade de {name}',
|
|
7328
|
+
'avl.users_invalid': 'Os nomes de usuário têm no máximo 100 caracteres, sem espaços ou dois-pontos.',
|
|
7329
|
+
'avl.saved': 'Disponibilidade salva.',
|
|
7330
|
+
'avl.not_found': 'Não encontrado.',
|
|
7331
|
+
// ------------------------------------------------------------ Feedback (sprint 164 part 13)
|
|
7332
|
+
'fbk.title': 'Feedback',
|
|
7333
|
+
'fbk.status.open': 'Aberto',
|
|
7334
|
+
'fbk.status.in_progress': 'Em andamento',
|
|
7335
|
+
'fbk.status.done': 'Concluído',
|
|
7336
|
+
'fbk.status.declined': 'Recusado',
|
|
7337
|
+
'fbk.kind.comment': 'Comentário',
|
|
7338
|
+
'fbk.kind.idea': 'Ideia',
|
|
7339
|
+
'fbk.kind.problem': 'Problema',
|
|
7340
|
+
'fbk.enable': 'Os usuários podem enviar feedback',
|
|
7341
|
+
'fbk.enable_help': 'Um link {link} na barra de navegação do aplicativo abre uma página para um comentário, uma ideia ou um problema sobre a página de onde o usuário veio, com o feedback anterior dele e as suas respostas.',
|
|
7342
|
+
'fbk.counts': '{open} abertos, {in_progress} em andamento, {done} concluídos, {declined} recusados.',
|
|
7343
|
+
'fbk.status': 'Status',
|
|
7344
|
+
'fbk.kind': 'Tipo',
|
|
7345
|
+
'fbk.all': 'Todos',
|
|
7346
|
+
'fbk.page': 'página {n}',
|
|
7347
|
+
'fbk.answer': 'Resposta (o usuário a vê)',
|
|
7348
|
+
'fbk.answered_by': 'Por {user}, {when}',
|
|
7349
|
+
'fbk.none': 'Nenhum feedback ainda.',
|
|
7350
|
+
'fbk.none_filtered': 'Nenhum feedback com estes filtros.',
|
|
7351
|
+
'fbk.page_title': 'Feedback de {name}',
|
|
7352
|
+
'fbk.saved': 'Salvo.',
|
|
7353
|
+
'fbk.not_found': 'Não encontrado.',
|
|
7354
|
+
// ------------------------------------------------------------ Plug-ins (plugins.ts) (sprint 164 part 13)
|
|
7355
|
+
'plg.type.region': 'Região',
|
|
7356
|
+
'plg.type.item': 'Item',
|
|
7357
|
+
'plg.type.dynamic_action': 'Ação dinâmica',
|
|
7358
|
+
'plg.type.process': 'Processo',
|
|
7359
|
+
'plg.heading.region': '{label} (plug-in de região)',
|
|
7360
|
+
'plg.heading.item': '{label} (plug-in de item)',
|
|
7361
|
+
'plg.heading.dynamic_action': '{label} (plug-in de ação dinâmica)',
|
|
7362
|
+
'plg.heading.process': '{label} (plug-in de processo)',
|
|
7363
|
+
'plg.use.region': 'página {page}: região {name}',
|
|
7364
|
+
'plg.use.item': 'página {page}: item {name}',
|
|
7365
|
+
'plg.use.process': 'página {page}: processo {name}',
|
|
7366
|
+
'plg.use.dynamic_action': 'página {page}: ação dinâmica {name}',
|
|
7367
|
+
'plg.how.dynamic_action': 'Use-o como ação dinâmica com a ação `plugin`, Código `{name}` e atributos de plug-in `{"attributes": {…}}`.',
|
|
7368
|
+
'plg.how.region': 'Use-o como região do tipo `plugin` com a configuração `{"plugin": "{name}", "attributes": {…}}`.',
|
|
7369
|
+
'plg.how.item': 'Use-o como item do tipo `plugin` com a configuração `{"plugin": "{name}", "attributes": {…}}`.',
|
|
7370
|
+
'plg.how.process': 'Use-o como processo do tipo `plugin` com a configuração `{"plugin": "{name}", "attributes": {…}}`.',
|
|
7371
|
+
'plg.name': 'Nome',
|
|
7372
|
+
'plg.version_n': 'versão {version}',
|
|
7373
|
+
'plg.help': 'Ajuda',
|
|
7374
|
+
'plg.used_by': 'Usado por',
|
|
7375
|
+
'plg.nothing_yet': 'nada ainda',
|
|
7376
|
+
'plg.files': 'Arquivos',
|
|
7377
|
+
'plg.missing': 'ausente',
|
|
7378
|
+
'plg.none': 'nenhum',
|
|
7379
|
+
'plg.template': 'Modelo',
|
|
7380
|
+
'plg.function': 'Função',
|
|
7381
|
+
'plg.attributes': 'Atributos',
|
|
7382
|
+
'plg.label': 'Rótulo',
|
|
7383
|
+
'plg.type': 'Tipo',
|
|
7384
|
+
'plg.default': 'Padrão',
|
|
7385
|
+
'plg.install_sql': 'SQL de instalação',
|
|
7386
|
+
'plg.install_help': 'Não é executado na importação. Leia-o e depois execute-o como a role de banco de dados da aplicação {role}, em uma transação.',
|
|
7387
|
+
'plg.role_none': '(nenhuma: a conexão de runtime)',
|
|
7388
|
+
'plg.confirm_install': 'Executar o SQL de instalação de {label} como {role}?',
|
|
7389
|
+
'plg.confirm_install_runtime': 'Executar o SQL de instalação de {label} com a conexão de runtime?',
|
|
7390
|
+
'plg.run_install': 'Executar o SQL de instalação',
|
|
7391
|
+
'plg.download': 'Baixar arquivo de plug-in',
|
|
7392
|
+
'plg.confirm_remove': 'Remover o plug-in {label}? Seus arquivos e o componente de modelo permanecem.',
|
|
7393
|
+
'plg.remove': 'Remover',
|
|
7394
|
+
'plg.result': 'Resultado: SQL de instalação de {name}',
|
|
7395
|
+
'plg.title': 'Plug-ins',
|
|
7396
|
+
'plg.intro': 'Tipos de região, item, ação dinâmica e processo que trazem seu próprio código: JavaScript e CSS como {files} (registrados com {register}), um componente de modelo, uma função PL/pgSQL.',
|
|
7397
|
+
'plg.intro_trust': 'O código de um plug-in é executado com os direitos desta aplicação: importe apenas plug-ins confiáveis e leia seus arquivos.',
|
|
7398
|
+
'plg.static_files': 'arquivos estáticos da aplicação',
|
|
7399
|
+
'plg.plugin': 'Plug-in',
|
|
7400
|
+
'plg.version': 'Versão',
|
|
7401
|
+
'plg.no_plugins': 'Nenhum plug-in ainda.',
|
|
7402
|
+
'plg.import_title': 'Importar um plug-in',
|
|
7403
|
+
'plg.file_label': 'Arquivo de plug-in (JSON `pgkiln-plugin/2`)',
|
|
7404
|
+
'plg.or_paste': '…ou cole-o',
|
|
7405
|
+
'plg.replace': 'Substituir plug-in, arquivos e componente de modelo com os mesmos nomes',
|
|
7406
|
+
'plg.import': 'Importar',
|
|
7407
|
+
'plg.import_help': 'Componentes de modelo de arquivos de plug-in antigos (`pgkiln-plugin/1`) são importados em Componentes de modelo. `examples/plugins/` tem exemplos.',
|
|
7408
|
+
'plg.not_json': 'Falha na importação: o arquivo de plug-in não é um JSON válido.',
|
|
7409
|
+
'plg.choose_file': 'Escolha um arquivo de plug-in ou cole um.',
|
|
7410
|
+
'plg.imported': 'Plug-in {label} importado.',
|
|
7411
|
+
'plg.imported_install': 'Plug-in {label} importado. Leia o SQL de instalação abaixo antes de executá-lo.',
|
|
7412
|
+
'plg.import_failed': 'Falha na importação: {message}',
|
|
7413
|
+
'plg.removed': 'Plug-in removido. Seus arquivos e o componente de modelo permanecem (exclua-os nas próprias páginas).',
|
|
7414
|
+
'plg.no_such': 'Plug-in inexistente.',
|
|
7415
|
+
// ------------------------------------------------------------ App Gallery (gallery.ts) (sprint 164 part 13)
|
|
7416
|
+
'gal.tab.samples': 'Apps de exemplo',
|
|
7417
|
+
'gal.tab.starters': 'Apps iniciais',
|
|
7418
|
+
'gal.tab.utilities': 'Apps utilitários',
|
|
7419
|
+
'gal.tab.custom': 'Apps personalizados',
|
|
7420
|
+
'gal.kinds': 'Tipos de aplicações',
|
|
7421
|
+
'gal.install': 'Instalar',
|
|
7422
|
+
'gal.installed': 'Instalada',
|
|
7423
|
+
'gal.edit': 'Editar',
|
|
7424
|
+
'gal.other_workspace': 'em outro workspace',
|
|
7425
|
+
'gal.confirm_install': 'Instalar {title}? Adiciona seu próprio schema, dados e contas de demonstração com senhas conhecidas: não é para uma instância de produção.',
|
|
7426
|
+
'gal.admin_installs': 'Um administrador a instala.',
|
|
7427
|
+
'gal.this_workspace': 'Este workspace',
|
|
7428
|
+
'gal.boilerplate_desc': 'Uma aplicação boilerplate: uma nova aplicação começa com suas páginas, componentes compartilhados e configurações.',
|
|
7429
|
+
'gal.create_from': 'Criar a partir dela',
|
|
7430
|
+
'gal.no_match': 'Nenhum app corresponde a {q}.',
|
|
7431
|
+
'gal.show_all': 'Mostrar tudo',
|
|
7432
|
+
'gal.no_custom': 'Nenhum app personalizado ainda: crie uma aplicação do tipo {type} (Configurações da aplicação → Tipo de aplicação) e ela aparecerá aqui.',
|
|
7433
|
+
'gal.boilerplate': 'Boilerplate',
|
|
7434
|
+
'gal.empty': 'A galeria está vazia.',
|
|
7435
|
+
'gal.intro.samples': 'Aplicações que mostram o que o pgkiln pode fazer, cada uma com seu próprio schema, dados e conta de demonstração: a vitrine, o tutorial, um app por área funcional e o UX Pattern Catalog. Um administrador as instala em uma instância de desenvolvimento ou demonstração.',
|
|
7436
|
+
'gal.intro.starters': 'Aplicações pequenas e prontas para usar. Instalar mostra o que será criado (tabelas, páginas, dados de exemplo) antes que algo aconteça; a aplicação recebe sua própria role e schema neste workspace.',
|
|
7437
|
+
'gal.intro.utilities': 'Aplicações que um workspace usa em vez de aprender com elas: listas de consulta compartilhadas, notas de versão, comunicados. Como nos apps iniciais, Instalar mostra primeiro o que será criado, e a aplicação recebe sua própria role e schema neste workspace.',
|
|
7438
|
+
'gal.intro.custom': 'As aplicações boilerplate deste workspace: comece uma nova aplicação a partir de uma delas.',
|
|
7439
|
+
'gal.search': 'Pesquisar apps',
|
|
7440
|
+
'gal.err_alias': 'já existe uma aplicação com o alias {alias}.',
|
|
7441
|
+
'gal.err_no_app': 'os scripts foram executados, mas não há aplicação {alias}.',
|
|
7442
|
+
'gal.err_nothing': 'a entrada da galeria não indica nada para instalar.',
|
|
7443
|
+
'gal.installed_flash': '{title} instalada (/a/{alias}).',
|
|
7444
|
+
'gal.not_installed': '{title} não foi instalada: {message}',
|
|
7445
|
+
// ------------------------------------------------------------ Progressive Web App settings (pwa.ts) (sprint 164 part 13)
|
|
7446
|
+
'pwa.installable': 'Instalável (Progressive Web App)',
|
|
7447
|
+
'pwa.installable_help': 'Telefones e computadores podem instalar o app: ícone próprio, tela cheia, e o app continua funcionando com conexão ruim ou sem conexão.',
|
|
7448
|
+
'pwa.short_name': 'Nome sob o ícone',
|
|
7449
|
+
'pwa.short_name_ph': 'no máximo 12 caracteres é o ideal',
|
|
7450
|
+
'pwa.offline_pages': 'Manter as páginas visitadas no dispositivo para uso offline',
|
|
7451
|
+
'pwa.offline_pages_help': 'As páginas que um usuário abriu são exibidas quando não há conexão. Elas contêm dados pessoais: são removidas quando alguém entra ou sai no dispositivo.',
|
|
7452
|
+
'pwa.offline_submit': 'Manter formulários enviados sem conexão e enviá-los depois',
|
|
7453
|
+
'pwa.offline_submit_help': 'Para trabalho de campo: os formulários (com fotos) são mantidos no dispositivo e enviados quando a conexão voltar, com o mesmo usuário, no máximo uma vez.',
|
|
7454
|
+
'pwa.push': 'Notificações push',
|
|
7455
|
+
'pwa.push_help': 'Os usuários as ativam por dispositivo em Minha conta (ou com a ação dinâmica push_subscribe); o código da aplicação as envia com meta.send_push(user, title, body, page, items) ou um processo send_push. No iPhone e iPad somente depois de adicionar o app à tela de início. Requer PGKILN_SECRET_KEY: a chave que as assina é armazenada criptografada.',
|
|
7456
|
+
'pwa.icon': 'Ícone (PNG, quadrado, pelo menos 512 × 512)',
|
|
7457
|
+
'pwa.icon_alt': 'O ícone do app',
|
|
7458
|
+
'pwa.icon_stored': 'Há um ícone armazenado.',
|
|
7459
|
+
'pwa.remove_icon': 'Removê-lo',
|
|
7460
|
+
'pwa.no_icon': 'Sem ícone, o app recebe um bloco com sua inicial na cor de destaque.',
|
|
7461
|
+
'pwa.stats_devices': '{devices} dispositivo(s) de {users} usuário(s) recebem notificações.',
|
|
7462
|
+
'pwa.stats_week': 'Últimos 7 dias: {sent} enviadas, {no_device} para usuários sem dispositivo, {failed} com falha.',
|
|
7463
|
+
'pwa.stats_week_waiting': 'Últimos 7 dias: {sent} enviadas, {no_device} para usuários sem dispositivo, {failed} com falha, {waiting} aguardando.',
|
|
7464
|
+
'pwa.test_to': 'Enviar uma notificação de teste para',
|
|
7465
|
+
'pwa.user_name': 'nome de usuário',
|
|
7466
|
+
'pwa.send_test': 'Enviar teste',
|
|
7467
|
+
'pwa.new_keys': 'Novas chaves',
|
|
7468
|
+
'pwa.new_keys_help': 'Cria um novo par de chaves (por exemplo, se a chave privada pode ter vazado). Todo dispositivo deixa de receber notificações até que seu usuário as ative novamente.',
|
|
7469
|
+
'pwa.icon_too_large': 'O ícone tem mais de {mb} MB.',
|
|
7470
|
+
'pwa.icon_not_png': 'O ícone deve ser uma imagem PNG.',
|
|
7471
|
+
'pwa.icon_size': 'O ícone deve ser quadrado e ter pelo menos 512 × 512 pixels (este tem {width} × {height}).',
|
|
7472
|
+
'pwa.push_needs_key': 'As notificações push exigem PGKILN_SECRET_KEY no ambiente do servidor (a chave que as assina é armazenada criptografada).',
|
|
7473
|
+
'pwa.saved_not_installable': 'Salvo. As notificações push só funcionam quando o app é instalável.',
|
|
7474
|
+
'pwa.saved': 'Configurações do Progressive Web App salvas.',
|
|
7475
|
+
'pwa.test_queued': 'Notificação de teste na fila para {n} dispositivo(s) de {user}.',
|
|
7476
|
+
'pwa.test_no_device': '{user} não ativou notificações em nenhum dispositivo (Minha conta → Notificações).',
|
|
7477
|
+
'pwa.keys_made': 'Novas chaves criadas. Os usuários precisam ativar as notificações novamente em cada dispositivo.',
|
|
7478
|
+
// ------------------------------------------------------------ Application search and Used in (search.ts) (sprint 164 part 13)
|
|
7479
|
+
'srch.page_tag': 'página {n}',
|
|
7480
|
+
'srch.used_in': 'Usado em ({n})',
|
|
7481
|
+
'srch.not_referenced': 'Não é referenciado em nenhum lugar desta aplicação.',
|
|
7482
|
+
'srch.not_referenced_item': 'Não é referenciado em nenhum lugar desta aplicação (fora da própria definição).',
|
|
7483
|
+
'srch.found_in': 'Procurado no SQL, substituições, links e configurações desta aplicação. O código do banco de dados (views, funções, políticas) não é pesquisado.',
|
|
7484
|
+
'srch.placeholder': 'Texto em nomes, títulos, SQL, configurações…',
|
|
7485
|
+
'srch.aria': 'Pesquisar na aplicação',
|
|
7486
|
+
'srch.matches': '{n} correspondências',
|
|
7487
|
+
'srch.matches_more': '{n}+ correspondências',
|
|
7488
|
+
'srch.nothing': 'Nada encontrado para “{q}”.',
|
|
7489
|
+
'srch.intro': 'Pesquisa todas as páginas e componentes de {name}: nomes, títulos, SQL, condições, configurações e textos de ajuda.',
|
|
7490
|
+
'srch.page_title': 'Pesquisar · {name}',
|
|
7491
|
+
// ------------------------------------------------------------ REST module endpoints (rest.ts) (sprint 164 part 13)
|
|
7492
|
+
'rst.endpoints': 'Endpoints',
|
|
7493
|
+
'rst.disabled': 'O módulo está desativado: seus endpoints respondem 404.',
|
|
7494
|
+
'rst.method': 'Método',
|
|
7495
|
+
'rst.url': 'URL',
|
|
7496
|
+
'rst.type': 'Tipo',
|
|
7497
|
+
'rst.access': 'Acesso',
|
|
7498
|
+
'rst.try_it': 'Experimente com um token de {link}:',
|
|
7499
|
+
'rst.rest_api': 'API REST',
|
|
7500
|
+
'rst.edit_in': 'Edite e teste seus modelos e handlers em {link}.',
|
|
7501
|
+
'rst.modules_path': 'SQL Workshop › Serviços RESTful › Módulos',
|
|
7502
|
+
'rst.openapi': 'Descrição OpenAPI:',
|
|
7503
|
+
// ------------------------------------------------------------ Background process jobs (process-jobs.ts) (sprint 164 part 13)
|
|
7504
|
+
'pjb.off': 'Os processos em segundo plano estão desativados neste servidor (BACKGROUND_PROCESSES=off).',
|
|
7505
|
+
'pjb.job': 'Job',
|
|
7506
|
+
'pjb.state': 'Estado',
|
|
7507
|
+
'pjb.by': 'Por',
|
|
7508
|
+
'pjb.queued': 'Na fila',
|
|
7509
|
+
'pjb.took': 'Duração',
|
|
7510
|
+
'pjb.steps': 'Etapas',
|
|
7511
|
+
'pjb.message': 'Mensagem',
|
|
7512
|
+
'pjb.no_runs': 'Nenhuma execução ainda.',
|
|
4052
7513
|
};
|