diff --git a/apps/common/const/choices.py b/apps/common/const/choices.py index 804ab7b1a..18e74dd62 100644 --- a/apps/common/const/choices.py +++ b/apps/common/const/choices.py @@ -3,6 +3,7 @@ import pycountry from django.db import models from django.utils.translation import gettext_lazy as _ from phonenumbers import PhoneMetadata +from common.utils import lazyproperty ADMIN = 'Admin' USER = 'User' @@ -72,7 +73,38 @@ class Language(models.TextChoices): en = 'en', 'English' zh_hans = 'zh-hans', '中文(简体)' zh_hant = 'zh-hant', '中文(繁體)' - jp = 'ja', '日本語', + ja = 'ja', '日本語', + pt_br = 'pt-br', 'Português (Brasil)' + + @classmethod + def get_code_mapper(cls): + code_mapper = {code: code for code, name in cls.choices} + code_mapper.update({ + 'zh': cls.zh_hans.value, + 'zh-cn': cls.zh_hans.value, + 'zh-tw': cls.zh_hant.value, + 'zh-hk': cls.zh_hant.value, + }) + return code_mapper + + @classmethod + def to_internal_code(cls, code: str, default='en', with_filename=False): + code_mapper = cls.get_code_mapper() + code = code.lower() + code = code_mapper.get(code) or code_mapper.get(default) + if with_filename: + cf_mapper = { + cls.zh_hans.value: 'zh', + } + code = cf_mapper.get(code, code) + code = code.replace('-', '_') + return code + + @classmethod + def get_other_codes(cls, code): + code_mapper = cls.get_code_mapper() + other_codes = [other_code for other_code, _code in code_mapper.items() if code == _code] + return other_codes COUNTRY_CALLING_CODES = get_country_phone_choices() diff --git a/apps/i18n/_translator/base.py b/apps/i18n/_translator/base.py index cc6959ed0..420b1bee2 100644 --- a/apps/i18n/_translator/base.py +++ b/apps/i18n/_translator/base.py @@ -11,7 +11,8 @@ class BaseTranslateManager: SEPARATOR = "" LANG_MAPPER = { 'ja': 'Japanese', - 'zh_hant': 'Traditional Chinese', + 'zh_Hant': 'Traditional Chinese', + 'pt_BR': 'Portuguese (Brazil)', # 'en': 'English', } diff --git a/apps/i18n/_translator/core.py b/apps/i18n/_translator/core.py index 7e8067589..6a576de94 100644 --- a/apps/i18n/_translator/core.py +++ b/apps/i18n/_translator/core.py @@ -37,7 +37,6 @@ class CoreTranslateManager(BaseTranslateManager): zh_dict = {entry.msgid: entry.msgstr for entry in po.translated_entries()} for file_prefix, target_lang in self.LANG_MAPPER.items(): - file_prefix = 'zh_Hant' if file_prefix == 'zh_hant' else file_prefix po_file_path = os.path.join(self._dir, file_prefix, 'LC_MESSAGES', 'django.po') trans_po = polib.pofile(po_file_path) need_trans_dict = self.get_need_trans_dict(zh_dict, trans_po) diff --git a/apps/i18n/_translator/other.py b/apps/i18n/_translator/other.py index 24e88db5e..2be732abe 100644 --- a/apps/i18n/_translator/other.py +++ b/apps/i18n/_translator/other.py @@ -36,6 +36,7 @@ class OtherTranslateManager(BaseTranslateManager): zh_dict = self.load_json_as_dict() for file_prefix, target_lang in self.LANG_MAPPER.items(): + file_prefix = file_prefix.lower() other_dict = self.load_json_as_dict(file_prefix) need_trans_dict = self.get_need_trans_dict(zh_dict, other_dict) print(f'{GREEN}Translate: {self.dir_name} {file_prefix} need to translate ' diff --git a/apps/i18n/chen/pt_br.json b/apps/i18n/chen/pt_br.json new file mode 100644 index 000000000..ca5363b84 --- /dev/null +++ b/apps/i18n/chen/pt_br.json @@ -0,0 +1,77 @@ +{ + "ACLRejectError": "Este comando não é permitido ser executado", + "AffectedRows": "Linhas afetadas", + "AlreadyFirstPageError": "Já é a primeira página", + "AlreadyLastPageError": "Já é a última página", + "Cancel": "Cancelar", + "ChangeContextError": "Falha ao alternar o contexto", + "CommandReview": "Revisão de Comando", + "CommandReviewMessage": "O comando que você digitou precisa ser revisado antes de executar, gostaria de iniciar a solicitação de revisão?", + "CommandReviewRejectBy": "O comando de revisão foi recusado por %s", + "CommandReviewTimeoutError": "Tempo limite para revisão de comando", + "CommandWarningDialogMessage": "O comando que você está tentando executar tem riscos, um aviso será enviado para o administrador. Deseja continuar?", + "Confirm": "Confirmar", + "ConnectError": "Falha na conexão", + "ConnectSuccess": "Conectado com sucesso", + "Connected": "Conectado", + "CopyNotAllowed": "Cópia não permitida, por favor contate o administrador para liberar a permissão!", + "Current": "Atual", + "DatabaseExplorer": "Navegador de Banco de Dados", + "DatabaseProperties": "Propriedades da fonte de dados", + "DriverClass": "Classe do driver", + "DriverVersion": "Versão do driver", + "ErrorMessage": "Mensagem de erro", + "ExecuteError": "Falha na execução", + "ExecuteSuccess": "Execução bem-sucedida", + "ExecutionCanceled": "Execução cancelada", + "ExportALL": "Exportar todos os dados", + "ExportAll": "Exportar tudo", + "ExportCurrent": "Exportar página atual", + "ExportData": "Exportar dados", + "FetchError": "Falha ao obter os dados", + "FormatHotKey": "Formatar (Ctrl + L)", + "InitializeDatasource": "Inicializar fonte de dados", + "InitializeDatasourceFailed": "Falha ao inicializar a fonte de dados", + "InitializingDatasourceMessage": "Inicializando a fonte de dados, por favor aguarde...", + "JDBCURL": "URL JDBC", + "LogOutput": "Log de saída", + "Name": "Nome", + "NewQuery": "Nova consulta", + "NoPermissionError": "Não tem permissão para executar esta Action", + "NumRow": "{num} linhas", + "Open": "Aberto", + "OverMaxIdleTimeError": "Esta sessão foi encerrada pois o tempo ocioso foi maior que %d minutos", + "OverMaxSessionTimeError": "Esta sessão foi encerrada por ter excedido %d horas", + "ParseError": "Falha ao processar", + "PasteNotAllowed": "Colagem não permitida, por favor contate o administrador para liberar a permissão!", + "PermissionAlreadyExpired": "Autorização expirada", + "PermissionExpiredDialogMessage": "A autorização expirou, a sessão expira em dez minutos, por favor entre em contato com o administrador para renovação", + "PermissionExpiredDialogTitle": "A autorização expirou", + "PermissionsExpiredOn": "As permissões associadas a esta sessão expiraram em %s", + "Properties": "Propriedades", + "Refresh": "Atualizar", + "Run": "Executar", + "RunHotKey": "Executar (Ctrl + Enter)", + "RunSelected": "Executar selecionado", + "Save": "Salvar", + "SaveSQL": "Salve o SQL", + "SaveSucceed": "Salvo com sucesso", + "SelectSQL": "Selecionar SQL", + "SessionClosedBy": "A sessão foi fechada por %s", + "SessionFinished": "A sessão terminou", + "SessionLockedError": "A sessão atual está bloqueada, não é possível continuar com o comando", + "SessionLockedMessage": "Esta sessão foi bloqueada por %s, não é possível continuar com a ação", + "SessionUnlockedMessage": "Esta sessão foi desbloqueada por %s, comandos agora podem ser executados", + "ShowProperties": "Propriedades", + "StopHotKey": "Parar (Ctrl + C)", + "Submit": "Submeter", + "Total": "Total", + "Type": "Escrever", + "User": "Usuário", + "UserCancelCommandReviewError": "O usuário cancelou a revisão do comando", + "Version": "Versão", + "ViewData": "Ver dados", + "WaitCommandReviewMessage": "Solicitação de revisão enviada, aguarde os resultados da revisão", + "Warning": "Aviso", + "initializingDatasourceFailedMessage": "Falha na conexão, verifique se a configuração de conexão do banco de dados está correta" +} \ No newline at end of file diff --git a/apps/i18n/core/pt_BR/LC_MESSAGES/django.po b/apps/i18n/core/pt_BR/LC_MESSAGES/django.po new file mode 100644 index 000000000..fae2716f3 --- /dev/null +++ b/apps/i18n/core/pt_BR/LC_MESSAGES/django.po @@ -0,0 +1,10929 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-12-03 15:42+0800\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: accounts/api/automations/base.py:79 tickets/api/ticket.py:132 +msgid "The parameter 'action' must be [{}]" +msgstr "O parâmetro 'action' deve ser [{}]" + +#: accounts/automations/backup_account/handlers.py:21 +msgid "The account key will be split into two parts and sent" +msgstr "A chave da conta será enviada em duas partes, frente e verso" + +#: accounts/automations/backup_account/handlers.py:119 +msgid "Number of backup accounts" +msgstr "Número de contas de backup" + +#: accounts/automations/backup_account/handlers.py:131 +msgid "Generating asset or application related backup information files" +msgstr "" +"Gerar arquivo de informações de backup relacionadas a ativos ou aplicativos" + +#: accounts/automations/backup_account/handlers.py:156 +#: accounts/automations/backup_account/handlers.py:295 +#: accounts/automations/backup_account/manager.py:40 ops/serializers/job.py:94 +#: settings/templates/ldap/_msg_import_ldap_user.html:7 +msgid "Time cost" +msgstr "Tempo gasto" + +#: accounts/automations/backup_account/handlers.py:157 +msgid "Backup file creation completed" +msgstr "Criação de arquivo de backup concluída" + +#: accounts/automations/backup_account/handlers.py:179 +msgid "Email sent to" +msgstr "O email foi enviado para" + +#: accounts/automations/backup_account/handlers.py:194 +msgid "Encrypting files using encryption password" +msgstr "Usando senha criptografada para criptografar o arquivo" + +#: accounts/automations/backup_account/handlers.py:204 +msgid "The backup file will be sent to" +msgstr "O arquivo de backup será enviado para" + +#: accounts/automations/backup_account/handlers.py:213 +#: users/forms/profile.py:76 +msgid "Finish" +msgstr "Concluído" + +#: accounts/automations/backup_account/handlers.py:219 +#: accounts/const/automation.py:110 +#: accounts/serializers/automations/change_secret.py:173 +#: assets/serializers/automations/base.py:52 audits/const.py:64 +#: audits/models.py:64 audits/signal_handlers/activity_log.py:33 +#: common/const/choices.py:66 ops/const.py:74 ops/serializers/celery.py:48 +#: terminal/const.py:80 terminal/models/session/sharing.py:121 +#: tickets/views/approve.py:128 +msgid "Success" +msgstr "Sucesso" + +#: accounts/automations/backup_account/handlers.py:221 +#: accounts/const/account.py:34 accounts/const/automation.py:109 +#: accounts/serializers/automations/change_secret.py:174 audits/const.py:65 +#: audits/signal_handlers/activity_log.py:33 common/const/choices.py:67 +#: ops/const.py:76 terminal/const.py:81 xpack/plugins/cloud/const.py:47 +msgid "Failed" +msgstr "Fracasso" + +#: accounts/automations/backup_account/handlers.py:248 +msgid "The backup task has no assigned sftp server" +msgstr "A tarefa de backup não foi alocada ao servidor sftp" + +#: accounts/automations/backup_account/handlers.py:270 +msgid "The backup task has no assigned recipient" +msgstr "A tarefa de backup não especificou um destinatário" + +#: accounts/automations/backup_account/handlers.py:293 +msgid "Plan start" +msgstr "Tarefa iniciada" + +#: accounts/automations/backup_account/handlers.py:294 +msgid "Plan end" +msgstr "Tarefa concluída" + +#: accounts/automations/backup_account/handlers.py:296 +msgid "An exception occurred during task execution" +msgstr "Erro durante a execução da tarefa" + +#: accounts/automations/backup_account/manager.py:23 +msgid "The account backup plan is being executed" +msgstr "Plano de backup da conta em andamento" + +#: accounts/automations/backup_account/manager.py:37 +msgid "Plan execution end" +msgstr "Execução do plano concluída" + +#: accounts/automations/change_secret/manager.py:97 +msgid "No pending accounts found" +msgstr "Conta pendente não encontrada" + +#: accounts/automations/change_secret/manager.py:225 +msgid "Success: %s, Failed: %s, Total: %s" +msgstr "Sucesso: %s, Falha: %s, Total: %s" + +#: accounts/automations/verify_gateway_account/manager.py:18 +msgid ">>> Start executing the task to test gateway account connectivity" +msgstr ">>> Iniciando teste de conectividade da conta do gateway" + +#: accounts/const/account.py:6 +#: accounts/serializers/automations/change_secret.py:34 +#: audits/signal_handlers/login_log.py:34 authentication/confirm/password.py:9 +#: authentication/confirm/password.py:24 authentication/confirm/password.py:26 +#: authentication/forms.py:28 +#: authentication/templates/authentication/login.html:362 +#: settings/serializers/auth/ldap.py:26 settings/serializers/auth/ldap.py:52 +#: settings/serializers/auth/ldap_ha.py:34 settings/serializers/msg.py:37 +#: settings/serializers/terminal.py:28 terminal/serializers/storage.py:123 +#: terminal/serializers/storage.py:142 users/forms/profile.py:22 +#: users/serializers/user.py:148 +#: users/templates/users/_msg_user_created.html:13 +#: users/templates/users/user_password_verify.html:18 +#: xpack/plugins/cloud/serializers/account_attrs.py:28 +msgid "Password" +msgstr "Senha" + +#: accounts/const/account.py:7 +#: accounts/serializers/automations/change_secret.py:35 +#: authentication/models/ssh_key.py:27 terminal/serializers/storage.py:124 +msgid "SSH key" +msgstr "Chave SSH" + +#: accounts/const/account.py:8 authentication/models/access_key.py:42 +msgid "Access key" +msgstr "Chave de acesso" + +#: accounts/const/account.py:9 authentication/backends/passkey/models.py:16 +#: authentication/models/sso_token.py:14 settings/serializers/feature.py:83 +msgid "Token" +msgstr "Token" + +#: accounts/const/account.py:10 +msgid "API key" +msgstr "Chave API" + +#: accounts/const/account.py:14 common/db/fields.py:230 +#: settings/serializers/terminal.py:14 +msgid "All" +msgstr "Todos" + +#: accounts/const/account.py:15 accounts/models/virtual.py:27 +msgid "Manual input" +msgstr "Entrada manual" + +#: accounts/const/account.py:16 +msgid "Dynamic user" +msgstr "Conta de mesmo nome" + +#: accounts/const/account.py:17 +msgid "Anonymous account" +msgstr "Conta anônima" + +#: accounts/const/account.py:18 +msgid "Specified account" +msgstr "Conta especificada" + +#: accounts/const/account.py:26 users/models/user/_source.py:11 +msgid "Local" +msgstr "Banco de dados" + +#: accounts/const/account.py:27 +msgid "Collected" +msgstr "Coletar" + +#: accounts/const/account.py:28 accounts/serializers/account/account.py:28 +#: settings/serializers/auth/sms.py:84 +msgid "Template" +msgstr "Modelo" + +#: accounts/const/account.py:32 ops/const.py:46 +#: xpack/plugins/cloud/const.py:68 +msgid "Skip" +msgstr "Pular" + +#: accounts/const/account.py:33 audits/const.py:24 rbac/tree.py:269 +#: templates/_csv_import_export.html:18 templates/_csv_update_modal.html:6 +msgid "Update" +msgstr "Atualizar" + +#: accounts/const/automation.py:24 rbac/tree.py:52 +msgid "Push account" +msgstr "Impulsão de conta" + +#: accounts/const/automation.py:25 +msgid "Change secret" +msgstr "Alterar senha" + +#: accounts/const/automation.py:26 +msgid "Verify account" +msgstr "Verificar conta" + +#: accounts/const/automation.py:27 accounts/tasks/remove_account.py:25 +#: accounts/tasks/remove_account.py:38 +msgid "Remove account" +msgstr "Remover conta" + +#: accounts/const/automation.py:28 +msgid "Gather accounts" +msgstr "Coleção de contas" + +#: accounts/const/automation.py:29 +msgid "Verify gateway account" +msgstr "Verificar conta do gateway" + +#: accounts/const/automation.py:47 +msgid "Specific secret" +msgstr "Especificado" + +#: accounts/const/automation.py:48 +msgid "Random generate" +msgstr "Gerado aleatoriamente" + +#: accounts/const/automation.py:52 ops/const.py:15 +msgid "Replace (Replace only keys pushed by JumpServer) " +msgstr "Substituir (substitui apenas a chave enviada pelo JumpServer)" + +#: accounts/const/automation.py:53 ops/const.py:14 +msgid "Empty and append SSH KEY" +msgstr "Apagar tudo e adicionar" + +#: accounts/const/automation.py:54 ops/const.py:13 +msgid "Append SSH KEY" +msgstr "Adicionar " + +#: accounts/const/automation.py:59 +msgid "On asset create" +msgstr "Quando o ativo é criado" + +#: accounts/const/automation.py:62 +msgid "On perm add user" +msgstr "Adicionar usuário quando a autorização é alterada" + +#: accounts/const/automation.py:64 +msgid "On perm add user group" +msgstr "Adicionar grupo de usuários quando a autorização é alterada" + +#: accounts/const/automation.py:66 +msgid "On perm add asset" +msgstr "Adicionar ativo quando a autorização é alterada" + +#: accounts/const/automation.py:68 +msgid "On perm add node" +msgstr "Adicionar nó quando a autorização é alterada" + +#: accounts/const/automation.py:70 +msgid "On perm add account" +msgstr "Adicionar conta quando a autorização é alterada" + +#: accounts/const/automation.py:72 +msgid "On asset join node" +msgstr "Adicionar ao nó quando o ativo é alterado" + +#: accounts/const/automation.py:74 +msgid "On user join group" +msgstr "Adicionar ao grupo de usuários quando o usuário é alterado" + +#: accounts/const/automation.py:82 +msgid "On perm change" +msgstr "Quando a autorização é alterada" + +#: accounts/const/automation.py:89 +msgid "Inherit from group or node" +msgstr "Herdado do grupo de usuários ou nó de ativo" + +#: accounts/const/automation.py:97 +msgid "Create and push" +msgstr "Criar e enviar" + +#: accounts/const/automation.py:98 +msgid "Only create" +msgstr "Criar apenas" + +#: accounts/const/automation.py:103 +#: authentication/serializers/password_mfa.py:17 +#: authentication/serializers/password_mfa.py:25 +#: notifications/backends/__init__.py:10 settings/serializers/msg.py:21 +#: settings/serializers/msg.py:61 users/forms/profile.py:101 +#: users/forms/profile.py:111 users/models/user/__init__.py:65 +#: users/templates/users/forgot_password.html:162 +#: users/views/profile/reset.py:94 +msgid "Email" +msgstr "E-mail" + +#: accounts/const/automation.py:105 terminal/const.py:89 +msgid "SFTP" +msgstr "SFTP" + +#: accounts/const/automation.py:111 assets/serializers/automations/base.py:54 +#: common/const/choices.py:64 terminal/const.py:79 tickets/const.py:29 +#: tickets/const.py:38 +msgid "Pending" +msgstr "Pendente" + +#: accounts/const/vault.py:8 assets/const/category.py:12 +#: assets/models/asset/database.py:10 assets/models/asset/database.py:29 +msgid "Database" +msgstr "Banco de dados" + +#: accounts/const/vault.py:9 settings/serializers/feature.py:78 +msgid "HCP Vault" +msgstr "HashiCorp Vault" + +#: accounts/const/vault.py:10 settings/serializers/feature.py:91 +msgid "Azure Key Vault" +msgstr "Azure Key Vault" + +#: accounts/const/vault.py:11 settings/serializers/feature.py:107 +msgid "Amazon Secrets Manager" +msgstr "" + +#: accounts/mixins.py:35 +msgid "Export all" +msgstr "Exportar tudo" + +#: accounts/mixins.py:37 +msgid "Export only selected items" +msgstr "Exportar apenas itens selecionados" + +#: accounts/mixins.py:42 +msgid "Export filtered: %s" +msgstr "Exportar pesquisa: %s" + +#: accounts/mixins.py:48 +msgid "User %s view/export secret" +msgstr "O usuário %s visualizou/exportou a senha" + +#: accounts/models/account.py:49 +#: accounts/models/automations/gather_account.py:16 +#: accounts/serializers/account/account.py:226 +#: accounts/serializers/account/account.py:272 +#: accounts/serializers/account/gathered_account.py:10 +#: accounts/serializers/automations/change_secret.py:118 +#: accounts/serializers/automations/change_secret.py:150 +#: accounts/templates/accounts/asset_account_change_info.html:7 +#: accounts/templates/accounts/change_secret_failed_info.html:11 +#: acls/serializers/base.py:123 assets/models/asset/common.py:102 +#: assets/models/asset/common.py:362 assets/models/cmd_filter.py:36 +#: audits/models.py:58 authentication/models/connection_token.py:36 +#: perms/models/asset_permission.py:69 terminal/backends/command/models.py:17 +#: terminal/models/session/session.py:32 terminal/notifications.py:156 +#: terminal/serializers/command.py:17 terminal/serializers/session.py:30 +#: terminal/templates/terminal/_msg_command_warning.html:4 +#: terminal/templates/terminal/_msg_session_sharing.html:4 +#: tickets/models/ticket/apply_asset.py:16 xpack/plugins/cloud/models.py:290 +msgid "Asset" +msgstr "Ativo" + +#: accounts/models/account.py:53 accounts/models/template.py:16 +#: accounts/serializers/account/account.py:233 +#: accounts/serializers/account/account.py:282 +#: accounts/serializers/account/template.py:37 +#: authentication/serializers/connect_token_secret.py:50 +msgid "Su from" +msgstr "Alternar de" + +#: accounts/models/account.py:55 assets/const/protocol.py:195 +#: settings/serializers/auth/cas.py:25 terminal/models/applet/applet.py:36 +#: terminal/models/virtualapp/virtualapp.py:21 +msgid "Version" +msgstr "Versão" + +#: accounts/models/account.py:57 +msgid "historical Account" +msgstr "Histórico de Conta" + +#: accounts/models/account.py:58 accounts/serializers/account/account.py:228 +#: users/models/user/__init__.py:126 +msgid "Source" +msgstr "Origem" + +#: accounts/models/account.py:59 +msgid "Source ID" +msgstr "ID de origem" + +#: accounts/models/account.py:62 +#: accounts/serializers/automations/change_secret.py:120 +#: accounts/serializers/automations/change_secret.py:151 +#: accounts/templates/accounts/change_secret_failed_info.html:12 +#: acls/serializers/base.py:124 +#: acls/templates/acls/asset_login_reminder.html:10 +#: assets/serializers/gateway.py:33 audits/models.py:59 +#: authentication/api/connection_token.py:411 ops/models/base.py:18 +#: perms/models/asset_permission.py:75 settings/serializers/msg.py:33 +#: terminal/backends/command/models.py:18 +#: terminal/models/session/session.py:34 terminal/serializers/command.py:72 +#: terminal/templates/terminal/_msg_command_warning.html:8 +#: terminal/templates/terminal/_msg_session_sharing.html:8 +#: tickets/models/ticket/command_confirm.py:13 +#: xpack/plugins/cloud/models.py:101 xpack/plugins/cloud/ws.py:37 +msgid "Account" +msgstr "Conta" + +#: accounts/models/account.py:68 +msgid "Can view asset account secret" +msgstr "Pode ver a senha da conta do ativo" + +#: accounts/models/account.py:69 +msgid "Can view asset history account" +msgstr "Pode ver o histórico da conta do ativo" + +#: accounts/models/account.py:70 +msgid "Can view asset history account secret" +msgstr "Pode ver a senha do histórico da conta do ativo" + +#: accounts/models/account.py:71 +msgid "Can verify account" +msgstr "Pode verificar a conta" + +#: accounts/models/account.py:72 +msgid "Can push account" +msgstr "Pode empurrar a conta" + +#: accounts/models/account.py:73 +msgid "Can remove account" +msgstr "Pode remover a conta" + +#: accounts/models/automations/backup_account.py:27 +msgid "Backup type" +msgstr "Tipo de backup" + +#: accounts/models/automations/backup_account.py:28 +#: accounts/models/automations/backup_account.py:29 +msgid "Password divided" +msgstr "A chave é dividida em duas partes?" + +#: accounts/models/automations/backup_account.py:32 +msgid "Recipient part one" +msgstr "Parte do destinatário um" + +#: accounts/models/automations/backup_account.py:36 +msgid "Recipient part two" +msgstr "Parte do destinatário dois" + +#: accounts/models/automations/backup_account.py:40 +msgid "Object storage recipient part one" +msgstr "Servidor de recebimento um" + +#: accounts/models/automations/backup_account.py:44 +msgid "Object storage recipient part two" +msgstr "Servidor de recepimento dois" + +#: accounts/models/automations/backup_account.py:47 +msgid "Zip encrypt password" +msgstr "Senha de criptografia de arquivo" + +#: accounts/models/automations/backup_account.py:56 +#: accounts/models/automations/backup_account.py:139 +msgid "Account backup plan" +msgstr "Plano de Backup de Conta" + +#: accounts/models/automations/backup_account.py:120 +#: assets/models/automations/base.py:115 audits/models.py:65 +#: ops/models/base.py:55 ops/models/celery.py:89 ops/models/job.py:243 +#: ops/templates/ops/celery_task_log.html:101 +#: perms/models/asset_permission.py:78 settings/serializers/feature.py:26 +#: settings/templates/ldap/_msg_import_ldap_user.html:5 +#: terminal/models/applet/host.py:141 terminal/models/session/session.py:45 +#: tickets/models/ticket/apply_application.py:30 +#: tickets/models/ticket/apply_asset.py:19 +msgid "Date start" +msgstr "Data de Início" + +#: accounts/models/automations/backup_account.py:123 +#: authentication/templates/authentication/_msg_oauth_bind.html:11 +#: notifications/notifications.py:202 +#: settings/templates/ldap/_msg_import_ldap_user.html:3 +msgid "Time" +msgstr "Horário" + +#: accounts/models/automations/backup_account.py:127 +msgid "Account backup snapshot" +msgstr "Snapshot de Backup de Conta" + +#: accounts/models/automations/backup_account.py:131 +#: accounts/serializers/account/backup.py:48 +#: accounts/serializers/automations/base.py:56 +#: assets/models/automations/base.py:122 +#: assets/serializers/automations/base.py:40 xpack/plugins/cloud/models.py:242 +#: xpack/plugins/cloud/serializers/task.py:247 +msgid "Trigger mode" +msgstr "Modo de Acionamento" + +#: accounts/models/automations/backup_account.py:134 audits/models.py:203 +#: terminal/models/session/sharing.py:125 xpack/plugins/cloud/manager.py:176 +#: xpack/plugins/cloud/models.py:231 +msgid "Reason" +msgstr "Motivo" + +#: accounts/models/automations/backup_account.py:136 +#: accounts/serializers/automations/change_secret.py:117 +#: accounts/serializers/automations/change_secret.py:152 +#: ops/serializers/job.py:92 terminal/serializers/session.py:54 +msgid "Is success" +msgstr "Sucesso" + +#: accounts/models/automations/backup_account.py:144 +msgid "Account backup execution" +msgstr "Execução de Backup de Conta" + +#: accounts/models/automations/base.py:18 +msgid "Account automation task" +msgstr "Tarefas Automatizadas de Conta" + +#: accounts/models/automations/base.py:32 +msgid "Automation execution" +msgstr "Execução Automática" + +#: accounts/models/automations/base.py:33 +msgid "Automation executions" +msgstr "Execução Automática" + +#: accounts/models/automations/base.py:35 +msgid "Can view change secret execution" +msgstr "Visualizar Execução de Alteração de Senha" + +#: accounts/models/automations/base.py:36 +msgid "Can add change secret execution" +msgstr "Criar Execução de Alteração de Senha" + +#: accounts/models/automations/base.py:38 +msgid "Can view gather accounts execution" +msgstr "Visualizar Execução de Coleta de Conta" + +#: accounts/models/automations/base.py:39 +msgid "Can add gather accounts execution" +msgstr "Criar Execução de Coleta de Conta" + +#: accounts/models/automations/base.py:41 +msgid "Can view push account execution" +msgstr "Visualizar ação da conta de notificações" + +#: accounts/models/automations/base.py:42 +msgid "Can add push account execution" +msgstr "Criar ação da conta de notificações" + +#: accounts/models/automations/base.py:54 +msgid "SSH key change strategy" +msgstr "Método de notificações por chave SSH" + +#: accounts/models/automations/change_secret.py:15 +#: accounts/models/automations/gather_account.py:58 +#: accounts/serializers/account/backup.py:40 +#: accounts/serializers/automations/change_secret.py:58 +#: settings/serializers/auth/ldap.py:100 +#: settings/serializers/auth/ldap_ha.py:82 settings/serializers/msg.py:45 +msgid "Recipient" +msgstr "Destinatário" + +#: accounts/models/automations/change_secret.py:22 +msgid "Change secret automation" +msgstr "Automação de mudança de senha" + +#: accounts/models/automations/change_secret.py:39 +msgid "Old secret" +msgstr "Senha anterior" + +#: accounts/models/automations/change_secret.py:40 +msgid "New secret" +msgstr "Nova senha" + +#: accounts/models/automations/change_secret.py:41 +msgid "Date started" +msgstr "Data de início" + +#: accounts/models/automations/change_secret.py:42 +#: assets/models/automations/base.py:116 ops/models/base.py:56 +#: ops/models/celery.py:90 ops/models/job.py:244 +#: terminal/models/applet/host.py:142 +msgid "Date finished" +msgstr "Data de fim" + +#: accounts/models/automations/change_secret.py:44 +#: assets/models/automations/base.py:113 +#: assets/serializers/automations/base.py:39 audits/models.py:208 +#: audits/serializers.py:78 ops/models/base.py:49 ops/models/job.py:235 +#: terminal/models/applet/applet.py:331 terminal/models/applet/host.py:140 +#: terminal/models/component/status.py:30 +#: terminal/models/virtualapp/virtualapp.py:99 +#: terminal/serializers/applet.py:18 terminal/serializers/applet_host.py:148 +#: terminal/serializers/virtualapp.py:35 tickets/models/ticket/general.py:284 +#: tickets/serializers/super_ticket.py:13 +#: tickets/serializers/ticket/ticket.py:20 xpack/plugins/cloud/models.py:227 +#: xpack/plugins/cloud/models.py:294 +msgid "Status" +msgstr "Status" + +#: accounts/models/automations/change_secret.py:46 +#: accounts/serializers/account/account.py:274 +#: accounts/templates/accounts/change_secret_failed_info.html:13 +#: assets/const/automation.py:8 +#: authentication/templates/authentication/passkey.html:173 +#: authentication/views/base.py:42 authentication/views/base.py:43 +#: authentication/views/base.py:44 common/const/choices.py:68 +#: settings/templates/ldap/_msg_import_ldap_user.html:26 +msgid "Error" +msgstr "Erro" + +#: accounts/models/automations/change_secret.py:50 +msgid "Change secret record" +msgstr "Registro de mudança de senha" + +#: accounts/models/automations/gather_account.py:14 +msgid "Present" +msgstr "Existente" + +#: accounts/models/automations/gather_account.py:15 +msgid "Date login" +msgstr "Data do último login" + +#: accounts/models/automations/gather_account.py:17 +#: accounts/models/automations/push_account.py:15 accounts/models/base.py:65 +#: accounts/serializers/account/virtual.py:21 acls/serializers/base.py:19 +#: acls/serializers/base.py:50 audits/models.py:188 authentication/forms.py:21 +#: authentication/forms.py:23 authentication/models/temp_token.py:9 +#: authentication/templates/authentication/_msg_different_city.html:9 +#: authentication/templates/authentication/_msg_oauth_bind.html:9 +#: terminal/serializers/storage.py:136 users/forms/profile.py:32 +#: users/forms/profile.py:117 users/models/user/__init__.py:63 +#: users/templates/users/_msg_user_created.html:12 +#: xpack/plugins/cloud/serializers/account_attrs.py:26 +msgid "Username" +msgstr "Nome de usuário" + +#: accounts/models/automations/gather_account.py:18 +msgid "Address login" +msgstr "Último endereço de login" + +#: accounts/models/automations/gather_account.py:44 +#: accounts/tasks/gather_accounts.py:30 +msgid "Gather asset accounts" +msgstr "Coleta de conta" + +#: accounts/models/automations/gather_account.py:56 +msgid "Is sync account" +msgstr "Conta sincronizada" + +#: accounts/models/automations/gather_account.py:75 +msgid "Gather account automation" +msgstr "Coleta automatizada de contas" + +#: accounts/models/automations/push_account.py:14 +msgid "Triggers" +msgstr "Mecanismo de disparo" + +#: accounts/models/automations/push_account.py:16 acls/models/base.py:41 +#: acls/serializers/base.py:57 assets/models/cmd_filter.py:81 +#: audits/models.py:92 audits/serializers.py:108 +#: authentication/serializers/connect_token_secret.py:119 +#: authentication/templates/authentication/_access_key_modal.html:34 +#: perms/serializers/permission.py:52 perms/serializers/permission.py:74 +#: tickets/serializers/ticket/ticket.py:21 +msgid "Action" +msgstr "Action" + +#: accounts/models/automations/push_account.py:58 +msgid "Push asset account" +msgstr "Envio de conta" + +#: accounts/models/automations/verify_account.py:15 +msgid "Verify asset account" +msgstr "Verificação de conta" + +#: accounts/models/base.py:37 accounts/models/base.py:67 +#: accounts/serializers/account/account.py:464 +#: accounts/serializers/account/base.py:17 +#: accounts/serializers/automations/change_secret.py:47 +#: authentication/serializers/connect_token_secret.py:42 +#: authentication/serializers/connect_token_secret.py:51 +#: terminal/serializers/storage.py:140 +msgid "Secret type" +msgstr "Tipo de texto cifrado" + +#: accounts/models/base.py:39 accounts/models/mixins/vault.py:49 +#: accounts/serializers/account/base.py:20 +#: authentication/models/temp_token.py:10 +#: authentication/templates/authentication/_access_key_modal.html:31 +#: settings/serializers/auth/radius.py:20 +msgid "Secret" +msgstr "Texto cifrado" + +#: accounts/models/base.py:42 +#: accounts/serializers/automations/change_secret.py:41 +msgid "Secret strategy" +msgstr "Estratégia de texto cifrado" + +#: accounts/models/base.py:44 accounts/serializers/account/template.py:34 +#: accounts/serializers/automations/change_secret.py:46 +msgid "Password rules" +msgstr "Regras de senha" + +#: accounts/models/base.py:64 accounts/serializers/account/virtual.py:20 +#: acls/models/base.py:35 acls/models/base.py:96 acls/models/command_acl.py:21 +#: acls/serializers/base.py:35 assets/models/asset/common.py:100 +#: assets/models/asset/common.py:166 assets/models/cmd_filter.py:21 +#: assets/models/domain.py:19 assets/models/label.py:18 +#: assets/models/platform.py:15 assets/models/platform.py:94 +#: assets/serializers/asset/common.py:169 assets/serializers/platform.py:157 +#: assets/serializers/platform.py:277 +#: authentication/backends/passkey/models.py:10 +#: authentication/models/ssh_key.py:12 +#: authentication/serializers/connect_token_secret.py:113 +#: authentication/serializers/connect_token_secret.py:169 labels/models.py:11 +#: ops/mixin.py:28 ops/models/adhoc.py:19 ops/models/celery.py:15 +#: ops/models/celery.py:81 ops/models/job.py:145 ops/models/playbook.py:28 +#: ops/models/variable.py:9 ops/serializers/job.py:19 +#: ops/serializers/variable.py:20 orgs/models.py:82 +#: perms/models/asset_permission.py:61 rbac/models/role.py:29 +#: rbac/serializers/role.py:28 settings/models.py:35 settings/models.py:184 +#: settings/serializers/msg.py:89 settings/serializers/terminal.py:9 +#: terminal/models/applet/applet.py:34 +#: terminal/models/component/endpoint.py:13 +#: terminal/models/component/endpoint.py:112 +#: terminal/models/component/storage.py:26 +#: terminal/models/component/task.py:13 +#: terminal/models/component/terminal.py:85 +#: terminal/models/virtualapp/provider.py:10 +#: terminal/models/virtualapp/virtualapp.py:19 tickets/api/ticket.py:87 +#: users/forms/profile.py:33 users/models/group.py:13 +#: users/models/preference.py:11 users/models/user/__init__.py:64 +#: xpack/plugins/cloud/models.py:34 xpack/plugins/cloud/models.py:310 +#: xpack/plugins/cloud/serializers/task.py:75 +msgid "Name" +msgstr "Nome" + +#: accounts/models/base.py:69 +msgid "Privileged" +msgstr "Conta privilegiada" + +#: accounts/models/base.py:70 assets/models/automations/base.py:21 +#: assets/models/cmd_filter.py:39 assets/models/label.py:22 +#: authentication/serializers/connect_token_secret.py:117 +#: terminal/models/applet/applet.py:41 +#: terminal/models/virtualapp/virtualapp.py:23 users/serializers/user.py:274 +msgid "Is active" +msgstr "Ativação" + +#: accounts/models/template.py:18 +msgid "Auto push" +msgstr "Envio automático" + +#: accounts/models/template.py:21 +msgid "Platforms" +msgstr "Plataforma" + +#: accounts/models/template.py:23 +msgid "Push params" +msgstr "Parâmetros de Envio de Conta" + +#: accounts/models/template.py:26 xpack/plugins/cloud/models.py:391 +msgid "Account template" +msgstr "Template de Conta" + +#: accounts/models/template.py:31 +msgid "Can view asset account template secret" +msgstr "Pode visualizar a senha do template da conta de ativos" + +#: accounts/models/virtual.py:13 +msgid "Alias" +msgstr "Alias" + +#: accounts/models/virtual.py:14 +msgid "Secret from login" +msgstr "Idêntico ao login do usuário" + +#: accounts/models/virtual.py:18 +msgid "Virtual account" +msgstr "Conta Virtual" + +#: accounts/models/virtual.py:28 +msgid "Same with user" +msgstr "O nome de usuário é o mesmo que o do usuário" + +#: accounts/models/virtual.py:37 +msgid "Non-asset account, Input username/password on connect" +msgstr "" +"Conta para a qual se deve inserir manualmente o nome de usuário/senha " +"durante o login" + +#: accounts/models/virtual.py:38 +msgid "The account username name same with user on connect" +msgstr "" +"Conta com o mesmo nome de usuário que o utilizador ao aceder aos ativos" + +#: accounts/models/virtual.py:39 +msgid "" +"Connect asset without using a username and password, and it only supports " +"web-based and custom-type assets" +msgstr "" +"Conta que não usa nome de usuário e senha ao se conectar ao ativo, suporta " +"apenas ativos do tipo web e customizados" + +#: accounts/notifications.py:12 accounts/notifications.py:37 +msgid "Notification of account backup route task results" +msgstr "Notificação de Resultado da Tarefa de Backup da Conta" + +#: accounts/notifications.py:22 accounts/notifications.py:46 +msgid "" +"{} - The account backup passage task has been completed. See the attachment " +"for details" +msgstr "{} - A tarefa de backup da conta foi concluída, detalhes no anexo" + +#: accounts/notifications.py:25 +msgid "" +"{} - The account backup passage task has been completed: the encryption " +"password has not been set - please go to personal information -> Basic file " +"encryption password for preference settings" +msgstr "" +"{} - A tarefa de backup da conta está concluída: senha de criptografia não " +"configurada - Por favor, vá para Informações pessoais -> Configurações de " +"preferências para definir a senha de criptografia do arquivo" + +#: accounts/notifications.py:56 +msgid "Notification of implementation result of encryption change plan" +msgstr "Notificação de resultado da tarefa de mudança de senha" + +#: accounts/notifications.py:67 +msgid "" +"{} - The encryption change task has been completed. See the attachment for " +"details" +msgstr "{} - Tarefa de mudança de senha concluída, veja os detalhes no anexo" + +#: accounts/notifications.py:71 +msgid "" +"{} - The encryption change task has been completed: the encryption password " +"has not been set - please go to personal information -> set encryption " +"password in preferences" +msgstr "" +"{} - Tarefa de mudança de senha concluída: Senha de criptografia não " +"definida - Por favor, vá para informações pessoais -> configurações de " +"preferências para definir a senha de criptografia" + +#: accounts/notifications.py:83 +msgid "Gather account change information" +msgstr "Informações de alteração de conta" + +#: accounts/notifications.py:105 +msgid "Change secret or push account failed information" +msgstr "Informações de falha na mudança de senha ou envio de conta" + +#: accounts/serializers/account/account.py:31 +msgid "Push now" +msgstr "Enviar agora" + +#: accounts/serializers/account/account.py:36 +msgid "Params" +msgstr "Parâmetros" + +#: accounts/serializers/account/account.py:40 +msgid "Exist policy" +msgstr "Existencia de estratégia de conta" + +#: accounts/serializers/account/account.py:181 +#: accounts/serializers/account/account.py:340 +msgid "Account already exists" +msgstr "Conta já existente" + +#: accounts/serializers/account/account.py:206 assets/models/label.py:21 +#: assets/models/platform.py:95 assets/serializers/asset/common.py:145 +#: assets/serializers/cagegory.py:12 assets/serializers/platform.py:172 +#: assets/serializers/platform.py:278 perms/serializers/user_permission.py:26 +#: settings/models.py:37 tickets/models/ticket/apply_application.py:13 +#: users/models/preference.py:12 +msgid "Category" +msgstr "Categoria" + +#: accounts/serializers/account/account.py:207 +#: accounts/serializers/automations/base.py:55 acls/models/command_acl.py:24 +#: acls/serializers/command_acl.py:19 assets/models/automations/base.py:20 +#: assets/models/cmd_filter.py:74 assets/models/platform.py:96 +#: assets/serializers/asset/common.py:146 assets/serializers/platform.py:159 +#: assets/serializers/platform.py:171 audits/serializers.py:77 +#: audits/serializers.py:194 +#: authentication/serializers/connect_token_secret.py:126 +#: ops/models/job.py:153 perms/serializers/user_permission.py:27 +#: terminal/models/applet/applet.py:40 terminal/models/component/storage.py:58 +#: terminal/models/component/storage.py:152 terminal/serializers/applet.py:29 +#: terminal/serializers/session.py:25 terminal/serializers/storage.py:281 +#: terminal/serializers/storage.py:294 tickets/models/comment.py:26 +#: tickets/models/flow.py:42 tickets/models/ticket/apply_application.py:16 +#: tickets/models/ticket/general.py:276 tickets/serializers/flow.py:25 +#: tickets/serializers/ticket/ticket.py:19 +msgid "Type" +msgstr "Tipo" + +#: accounts/serializers/account/account.py:222 +msgid "Asset not found" +msgstr "Ativo não existe" + +#: accounts/serializers/account/account.py:263 +msgid "Has secret" +msgstr "Senha gerenciada" + +#: accounts/serializers/account/account.py:273 ops/models/celery.py:84 +#: tickets/models/comment.py:13 tickets/models/ticket/general.py:49 +#: tickets/models/ticket/general.py:280 tickets/serializers/super_ticket.py:14 +msgid "State" +msgstr "Status" + +#: accounts/serializers/account/account.py:275 +msgid "Changed" +msgstr "Modificado" + +#: accounts/serializers/account/account.py:285 +#: accounts/serializers/automations/base.py:22 acls/models/base.py:97 +#: acls/templates/acls/asset_login_reminder.html:9 +#: assets/models/automations/base.py:19 +#: assets/serializers/automations/base.py:20 assets/serializers/domain.py:34 +#: assets/serializers/platform.py:180 assets/serializers/platform.py:212 +#: authentication/api/connection_token.py:410 ops/models/base.py:17 +#: ops/models/job.py:155 ops/serializers/job.py:20 +#: perms/serializers/permission.py:46 +#: terminal/templates/terminal/_msg_command_execute_alert.html:16 +#: xpack/plugins/cloud/manager.py:89 +msgid "Assets" +msgstr "Ativos" + +#: accounts/serializers/account/account.py:390 +msgid "Asset does not support this secret type: %s" +msgstr "Ativos não suportam o tipo de conta: %s" + +#: accounts/serializers/account/account.py:422 +msgid "Account has exist" +msgstr "A conta já existe" + +#: accounts/serializers/account/account.py:459 +#: accounts/serializers/account/base.py:93 +#: accounts/serializers/account/template.py:83 +#: assets/serializers/asset/common.py:418 +msgid "Spec info" +msgstr "Informações especiais" + +#: accounts/serializers/account/account.py:465 +#: authentication/serializers/connect_token_secret.py:159 +#: authentication/templates/authentication/_access_key_modal.html:30 +#: perms/models/perm_node.py:21 users/serializers/group.py:33 +msgid "ID" +msgstr "ID" + +#: accounts/serializers/account/account.py:475 acls/serializers/base.py:116 +#: acls/templates/acls/asset_login_reminder.html:8 +#: acls/templates/acls/user_login_reminder.html:8 +#: assets/models/cmd_filter.py:24 assets/models/label.py:16 +#: audits/models.py:54 audits/models.py:90 audits/models.py:172 +#: audits/models.py:271 audits/serializers.py:195 +#: authentication/models/connection_token.py:32 +#: authentication/models/ssh_key.py:22 authentication/models/sso_token.py:16 +#: notifications/models/notification.py:12 +#: perms/api/user_permission/mixin.py:55 perms/models/asset_permission.py:63 +#: rbac/builtin.py:125 rbac/models/rolebinding.py:49 +#: rbac/serializers/rolebinding.py:17 terminal/backends/command/models.py:16 +#: terminal/models/session/session.py:30 terminal/models/session/sharing.py:34 +#: terminal/notifications.py:157 terminal/notifications.py:217 +#: terminal/serializers/command.py:16 +#: terminal/templates/terminal/_msg_command_warning.html:6 +#: terminal/templates/terminal/_msg_session_sharing.html:6 +#: tickets/models/comment.py:21 tickets/serializers/flow.py:15 +#: users/const.py:14 users/models/user/__init__.py:291 +#: users/models/user/__init__.py:318 +msgid "User" +msgstr "Usuário" + +#: accounts/serializers/account/account.py:476 +#: authentication/templates/authentication/_access_key_modal.html:33 +#: terminal/notifications.py:159 terminal/notifications.py:219 +msgid "Date" +msgstr "Data" + +#: accounts/serializers/account/backup.py:20 +msgid "Zip Encrypt Password" +msgstr "Senha de criptografia do arquivo" + +#: accounts/serializers/account/backup.py:38 +#: accounts/serializers/automations/base.py:38 +msgid "Executions" +msgstr "Número de execuções" + +#: accounts/serializers/account/backup.py:41 +#: accounts/serializers/automations/change_secret.py:59 +msgid "Currently only mail sending is supported" +msgstr "No momento, apenas o envio de emails é suportado" + +#: accounts/serializers/account/backup.py:43 +msgid "Asset type" +msgstr "Tipo de ativo" + +#: accounts/serializers/account/base.py:33 terminal/serializers/storage.py:149 +msgid "Passphrase" +msgstr "Senha da chave" + +#: accounts/serializers/account/base.py:96 +msgid "" +"* If no username is required for authentication, enter null. For AD " +"accounts, use the format username@domain." +msgstr "" +"Dica: se a autenticação não requer um nome de usuário, pode ser preenchido " +"como null, se for uma conta AD, use o formato username@domain" + +#: accounts/serializers/account/template.py:13 +msgid "Password length" +msgstr "Comprimento da senha" + +#: accounts/serializers/account/template.py:14 +#: settings/serializers/security.py:44 +msgid "Lowercase" +msgstr "Letra minúscula" + +#: accounts/serializers/account/template.py:15 +#: settings/serializers/security.py:41 +msgid "Uppercase" +msgstr "Letras maiúsculas" + +#: accounts/serializers/account/template.py:16 +msgid "Digit" +msgstr "Números" + +#: accounts/serializers/account/template.py:17 +msgid "Special symbol" +msgstr "Caracteres especiais" + +#: accounts/serializers/account/template.py:19 +msgid "Exclude symbol" +msgstr "Excluir caracteres" + +#: accounts/serializers/account/template.py:24 +msgid "" +"length is the length of the password, and the range is 8 to 30.\n" +"lowercase indicates whether the password contains lowercase letters, \n" +"uppercase indicates whether it contains uppercase letters,\n" +"digit indicates whether it contains numbers, and symbol indicates whether it contains special symbols.\n" +"exclude_symbols is used to exclude specific symbols. You can fill in the symbol characters to be excluded (up to 16). \n" +"If you do not need to exclude symbols, you can leave it blank.\n" +"default: {\"length\": 16, \"lowercase\": true, \"uppercase\": true, \"digit\": true, \"symbol\": true, \"exclude_symbols\": \"\"}" +msgstr "" +"O \"length\" é o comprimento da senha, com um alcance de 8 a 30. " +"\"Lowercase\" indica se a senha contém letras minúsculas, \"uppercase\" " +"indica se contém letras maiúsculas, \"digit\" indica se contém números, " +"\"symbol\" indica se contém símbolos especiais. \"Exclude_symbols\" é usado " +"para excluir símbolos específicos, você pode digitar os caracteres de " +"símbolo que deseja excluir (no máximo 16). Se não precisar excluir símbolos," +" pode deixá-lo em branco. Padrão: {\"length\": 16, \"lowercase\": true, " +"\"uppercase\": true, \"digit\": true, \"symbol\": true, \"exclude_symbols\":" +" \"\"}" + +#: accounts/serializers/account/template.py:49 +msgid "Secret generation strategy for account creation" +msgstr "" +"Estratégia de geração de senha, usada na criação de contas para definir a " +"senha" + +#: accounts/serializers/account/template.py:50 +msgid "Whether to automatically push the account to the asset" +msgstr "Se deve ou não empurrar a conta automaticamente para o ativo" + +#: accounts/serializers/account/template.py:53 +msgid "" +"Associated platform, you can configure push parameters. If not associated, " +"default parameters will be used" +msgstr "" +"Plataformas relacionadas, pode configurar parâmetros de envio, se não " +"desassociar, usará parâmetros padrão" + +#: accounts/serializers/account/virtual.py:19 assets/models/cmd_filter.py:40 +#: assets/models/cmd_filter.py:88 common/db/models.py:36 +#: ops/models/adhoc.py:25 ops/models/job.py:163 ops/models/playbook.py:31 +#: rbac/models/role.py:37 settings/models.py:40 +#: terminal/models/applet/applet.py:46 terminal/models/applet/applet.py:332 +#: terminal/models/applet/host.py:143 terminal/models/component/endpoint.py:27 +#: terminal/models/component/endpoint.py:122 +#: terminal/models/session/session.py:47 +#: terminal/models/virtualapp/virtualapp.py:28 tickets/models/comment.py:32 +#: tickets/models/ticket/general.py:298 users/models/user/__init__.py:98 +#: xpack/plugins/cloud/models.py:41 xpack/plugins/cloud/models.py:124 +msgid "Comment" +msgstr "Notas" + +#: accounts/serializers/account/virtual.py:24 +msgid "" +"Current only support login from AD/LDAP. Secret priority: Same account in " +"asset secret > Login secret > Manual input.
For security, please set " +"config CACHE_LOGIN_PASSWORD_ENABLED to true" +msgstr "" +"Atualmente, apenas usuários com login via AD/LDAP são suportados. Ordem de " +"validade da senha da conta com o mesmo nome: Senha de conta com o mesmo nome" +" existente no ativo > Senha de login > Entrada manual
Para segurança, " +"defina o item de configuração CACHE_LOGIN_PASSWORD_ENABLED=true e reinicie o" +" serviço para ativá-lo" + +#: accounts/serializers/automations/base.py:23 +#: assets/models/asset/common.py:176 assets/serializers/asset/common.py:172 +#: assets/serializers/automations/base.py:21 ops/serializers/job.py:21 +#: perms/serializers/permission.py:47 +msgid "Nodes" +msgstr "Gestão de nós" + +#: accounts/serializers/automations/base.py:24 +msgid "Periodic perform" +msgstr "Execução programada" + +#: accounts/serializers/automations/base.py:45 +msgid "Name already exists" +msgstr "O nome já existe" + +#: accounts/serializers/automations/base.py:54 +#: assets/models/automations/base.py:118 +#: assets/serializers/automations/base.py:38 +msgid "Automation snapshot" +msgstr "Snapshot de automação" + +#: accounts/serializers/automations/change_secret.py:44 +msgid "SSH Key strategy" +msgstr "Método de alteração de chave SSH." + +#: accounts/serializers/automations/change_secret.py:57 +msgid "Please enter your account username" +msgstr "Por favor, insira o nome de usuário da sua conta" + +#: accounts/serializers/automations/change_secret.py:62 +msgid "" +"Secret parameter settings, currently only effective for assets of the host " +"type." +msgstr "" +"Configuração de parâmetros, atualmente válidos apenas para ativos do tipo " +"AIX LINUX UNIX." + +#: accounts/serializers/automations/change_secret.py:124 +#: assets/models/automations/base.py:127 +msgid "Automation task execution" +msgstr "Histórico da execução da tarefa automatizada" + +#: accounts/signal_handlers.py:51 +msgid "Push related accounts to assets: %s, by system" +msgstr "Push da conta para os ativos: %s, executado pelo sistema" + +#: accounts/signal_handlers.py:60 +msgid "Add account: %s" +msgstr "Adicionar conta: %s" + +#: accounts/signal_handlers.py:62 +msgid "Delete account: %s" +msgstr "Deletar conta: %s" + +#: accounts/tasks/automation.py:32 +msgid "Account execute automation" +msgstr "Execução automatizada da conta" + +#: accounts/tasks/automation.py:35 +msgid "" +"Unified execution entry for account automation tasks: when the system performs tasks \n" +" such as account push, password change, account verification, account collection, \n" +" and gateway account verification, all tasks are executed through this unified entry" +msgstr "" +"Entrada unificada para a execução da tarefa automatizada da conta. Quando o " +"sistema realiza o push da conta, altera a senha, valida a conta, coleta a " +"conta, valida a tarefa da conta do gateway, tudo é executado através da " +"tarefa atual" + +#: accounts/tasks/automation.py:64 accounts/tasks/automation.py:72 +msgid "Execute automation record" +msgstr "Registro da execução automatizada" + +#: accounts/tasks/automation.py:67 +msgid "When manually executing password change records, this task is used" +msgstr "" +"Quando a mudança de senha é executada manualmente, ela é realizada através " +"desta tarefa" + +#: accounts/tasks/automation.py:96 +msgid "Clean change secret and push record period" +msgstr "" +"Limpeza periódica dos registros de alteração de senha e dos registros de " +"push" + +#: accounts/tasks/automation.py:98 +msgid "" +"The system will periodically clean up unnecessary password change and push records, \n" +" including their associated change tasks, execution logs, assets, and accounts. When any \n" +" of these associated items are deleted, the corresponding password change and push records \n" +" become invalid. Therefore, to maintain a clean and efficient database, the system will \n" +" clean up expired records at 2 a.m daily, based on the interval specified by \n" +" PERM_EXPIRED_CHECK_PERIODIC in the config.txt configuration file. This periodic cleanup \n" +" mechanism helps free up storage space and enhances the security and overall performance \n" +" of data management" +msgstr "" +"O sistema irá regularmente limpar os registros de alteração de senha e de " +"push que não são mais necessários, incluindo aquelas tarefas, registros, " +"ativos e contas associadas. Quando qualquer um desses itens associados é " +"deletado, os registros correspondentes de alteração de senha e de push " +"tornam-se inválidos. Portanto, para manter a base de dados limpa e " +"funcionando de forma eficiente, a limpeza é realizada às 2 da madrugada " +"todos os dias, para itens que excederam o intervalo " +"PERM_EXPIRED_CHECK_PERIODIC no arquivo de configuração do sistema " +"(config.txt). Este mecanismo de limpeza periódica não apenas ajuda a liberar" +" espaço de armazenamento, mas também melhora a segurança e a performance " +"geral da gestão de dados" + +#: accounts/tasks/backup_account.py:26 +msgid "Execute account backup plan" +msgstr "Executar o plano de backup da conta" + +#: accounts/tasks/backup_account.py:29 +msgid "When performing scheduled or manual account backups, this task is used" +msgstr "" +"Quando a execução do backup da conta é realizada de forma programada ou " +"manual, ela é feita através desta tarefa" + +#: accounts/tasks/gather_accounts.py:32 assets/tasks/automation.py:27 +#: orgs/tasks.py:11 terminal/tasks.py:33 +msgid "Unused" +msgstr "Não utilizado" + +#: accounts/tasks/gather_accounts.py:36 +msgid "Gather assets accounts" +msgstr "Coletar contas de ativos" + +#: accounts/tasks/push_account.py:16 accounts/tasks/push_account.py:27 +msgid "Push accounts to assets" +msgstr "Enviar contas para ativos" + +#: accounts/tasks/push_account.py:19 +msgid "" +"When creating or modifying an account requires account push, this task is " +"executed" +msgstr "" +"Quando criar ou modificar contas, esse Action será executado se for " +"necessária a publicação de contas" + +#: accounts/tasks/remove_account.py:28 +msgid "" +"When clicking \"Sync deletion\" in 'Console - Gather Account - Gathered accounts' this \n" +" task will be executed" +msgstr "" +"O Action é executado quando no console 'Automático - Coleta de conta - " +"Contas coletadas - Sincronizar' é clicado para deletar" + +#: accounts/tasks/remove_account.py:50 +msgid "Clean historical accounts" +msgstr "Limpar contas históricas" + +#: accounts/tasks/remove_account.py:52 +msgid "" +"Each time an asset account is updated, a historical account is generated, so it is \n" +" necessary to clean up the asset account history. The system will clean up excess account \n" +" records at 2 a.m. daily based on the configuration in the \"System settings - Features - \n" +" Account storage - Record limit" +msgstr "" +"Visto que cada atualização de contas de ativos gera contas históricas, é " +"necessário limpar históricos de contas de ativos. O sistema irá limpar as " +"entradas de contas excedentes com base na configuração do armazenamento de " +"contas - Limite de registros às 2 da manhã todos os dias" + +#: accounts/tasks/remove_account.py:89 +msgid "Remove historical accounts that are out of range." +msgstr "Deleting out-of-range historical accounts." + +#: accounts/tasks/template.py:11 +msgid "Template sync info to related accounts" +msgstr "Synch information to associated accounts" + +#: accounts/tasks/template.py:14 +msgid "" +"When clicking 'Sync new secret to accounts' in 'Console - Account - Templates - \n" +" Accounts' this task will be executed" +msgstr "" +"O Action é executado quando na conta do console - Modelo de conta - Conta - " +"Sincronizar informações atualizadas da conta o botão 'sincronizar' é clicado" + +#: accounts/tasks/vault.py:33 +msgid "Sync secret to vault" +msgstr "Sincronizando texto cifrado para o vault" + +#: accounts/tasks/vault.py:35 +msgid "" +"When clicking 'Sync' in 'System Settings - Features - Account Storage' this " +"task will be executed" +msgstr "" +"O Action é executado quando, nas configurações do sistema - Configurações de" +" função - armazenamento de contas clica em 'sincronizar'" + +#: accounts/tasks/verify_account.py:49 +msgid "Verify asset account availability" +msgstr "Verificar a disponibilidade da conta de ativos" + +#: accounts/tasks/verify_account.py:52 +msgid "" +"When clicking 'Test' in 'Console - Asset details - Accounts' this task will " +"be executed" +msgstr "" +"O Action é executado quando, no console - detalhes do ativo - conta - teste " +"é clicado" + +#: accounts/tasks/verify_account.py:58 +msgid "Verify accounts connectivity" +msgstr "Testar a conectividade da conta" + +#: accounts/templates/accounts/asset_account_change_info.html:10 +msgid "Added account" +msgstr "Adicionar nova conta" + +#: accounts/templates/accounts/asset_account_change_info.html:13 +msgid "Deleted account" +msgstr "Excluir conta" + +#: accounts/templates/accounts/change_secret_failed_info.html:3 +#: terminal/serializers/task.py:10 +msgid "Task name" +msgstr "Nome da tarefa" + +#: accounts/templates/accounts/change_secret_failed_info.html:4 +msgid "Task execution id" +msgstr "ID da execução da tarefa" + +#: accounts/templates/accounts/change_secret_failed_info.html:5 +msgid "Respectful" +msgstr "Respeitável" + +#: accounts/templates/accounts/change_secret_failed_info.html:6 +msgid "" +"Hello! The following is the failure of changing the password of your assets " +"or pushing the account. Please check and handle it in time." +msgstr "" +"Olá! A seguir, estão as situações em que a alteração da senha do ativo ou o " +"envio da conta falharam. Por favor, verifique e lidar com isso em tempo " +"hábil." + +#: accounts/utils.py:52 +msgid "" +"If the password starts with {{` and ends with }} `, then the password is not" +" allowed." +msgstr "" +"Se a senha começar com `{{` e terminar com `}}`, então essa senha não é " +"permitida." + +#: accounts/utils.py:59 +msgid "private key invalid or passphrase error" +msgstr "Chave inválida ou senha da chave errada" + +#: acls/apps.py:7 +msgid "App Acls" +msgstr "Controle de acesso" + +#: acls/const.py:6 audits/const.py:36 terminal/const.py:11 tickets/const.py:44 +#: tickets/templates/tickets/approve_check_password.html:47 +msgid "Reject" +msgstr "Negar" + +#: acls/const.py:7 audits/const.py:33 terminal/const.py:9 +msgid "Accept" +msgstr "Aceitar" + +#: acls/const.py:8 audits/const.py:34 +msgid "Review" +msgstr "Aprovação" + +#: acls/const.py:9 +msgid "Warn" +msgstr "Alarme" + +#: acls/const.py:10 +msgid "Notify" +msgstr "Notificação" + +#: acls/const.py:11 +msgid "Notify and warn" +msgstr "Alerta e alarme" + +#: acls/models/base.py:37 assets/models/cmd_filter.py:76 +#: terminal/models/component/endpoint.py:115 xpack/plugins/cloud/models.py:316 +msgid "Priority" +msgstr "Prioridade" + +#: acls/models/base.py:38 assets/models/cmd_filter.py:76 +#: terminal/models/component/endpoint.py:116 xpack/plugins/cloud/models.py:317 +msgid "1-100, the lower the value will be match first" +msgstr "" +"A gama opcional de prioridade é de 1-100 (quanto menor o valor, maior a " +"prioridade)" + +#: acls/models/base.py:42 assets/models/cmd_filter.py:86 +#: authentication/serializers/connect_token_secret.py:91 +msgid "Reviewers" +msgstr "Aprovador" + +#: acls/models/base.py:43 assets/models/asset/common.py:178 +#: authentication/models/access_key.py:25 +#: authentication/models/connection_token.py:53 +#: authentication/models/ssh_key.py:13 +#: authentication/templates/authentication/_access_key_modal.html:32 +#: perms/models/asset_permission.py:82 +#: terminal/models/component/endpoint.py:28 +#: terminal/models/component/endpoint.py:123 +#: terminal/models/session/sharing.py:29 terminal/serializers/terminal.py:44 +#: tickets/const.py:36 +msgid "Active" +msgstr "Ativado" + +#: acls/models/base.py:81 perms/serializers/permission.py:42 +#: tickets/models/flow.py:23 users/models/preference.py:16 +#: users/serializers/group.py:21 users/serializers/user.py:437 +msgid "Users" +msgstr "Usuário" + +#: acls/models/base.py:98 assets/models/automations/base.py:17 +#: assets/models/cmd_filter.py:38 assets/serializers/asset/common.py:148 +#: assets/serializers/asset/common.py:417 perms/serializers/permission.py:55 +#: perms/serializers/user_permission.py:75 rbac/tree.py:35 +msgid "Accounts" +msgstr "Conta" + +#: acls/models/command_acl.py:16 assets/models/cmd_filter.py:60 +#: audits/serializers.py:38 ops/serializers/job.py:91 terminal/const.py:88 +#: terminal/models/session/session.py:43 terminal/serializers/command.py:18 +#: terminal/templates/terminal/_msg_command_alert.html:12 +#: terminal/templates/terminal/_msg_command_execute_alert.html:10 +#: terminal/templates/terminal/_msg_command_warning.html:23 +msgid "Command" +msgstr "Comando" + +#: acls/models/command_acl.py:17 assets/models/cmd_filter.py:59 +#: xpack/plugins/cloud/models.py:357 +msgid "Regex" +msgstr "Expressão Regular" + +#: acls/models/command_acl.py:26 assets/models/cmd_filter.py:79 +#: settings/models.py:185 settings/serializers/feature.py:21 +#: settings/serializers/msg.py:78 xpack/plugins/license/models.py:31 +msgid "Content" +msgstr "Conteúdo" + +#: acls/models/command_acl.py:26 assets/models/cmd_filter.py:79 +msgid "One command per line" +msgstr "Um comando por linha" + +#: acls/models/command_acl.py:27 assets/models/cmd_filter.py:80 +msgid "Ignore case" +msgstr "Ignorar maiúsculas e minúsculas" + +#: acls/models/command_acl.py:33 acls/models/command_acl.py:97 +#: acls/serializers/command_acl.py:29 +#: authentication/serializers/connect_token_secret.py:88 +#: terminal/templates/terminal/_msg_command_warning.html:14 +msgid "Command group" +msgstr "Grupo de comandos" + +#: acls/models/command_acl.py:86 +msgid "The generated regular expression is incorrect: {}" +msgstr "A expressão regular gerada está errada" + +#: acls/models/command_acl.py:103 +#: terminal/templates/terminal/_msg_command_warning.html:12 +msgid "Command acl" +msgstr "Filtro de comandos" + +#: acls/models/command_acl.py:112 tickets/const.py:12 +msgid "Command confirm" +msgstr "Revisão de comandos" + +#: acls/models/connect_method.py:10 +msgid "Connect methods" +msgstr "Método de conexão" + +#: acls/models/connect_method.py:13 +msgid "Connect method acl" +msgstr "Controle de modo de conexão" + +#: acls/models/login_acl.py:11 acls/models/login_asset_acl.py:9 +#: acls/serializers/login_acl.py:15 acls/serializers/login_asset_acl.py:13 +msgid "Rule" +msgstr "Regra" + +#: acls/models/login_acl.py:14 +msgid "Login acl" +msgstr "Controle de acesso de login" + +#: acls/models/login_acl.py:27 tickets/const.py:11 +msgid "Login confirm" +msgstr "Revisão de login" + +#: acls/models/login_asset_acl.py:12 +msgid "Login asset acl" +msgstr "Controle de acesso de ativos de login" + +#: acls/models/login_asset_acl.py:22 tickets/const.py:13 +msgid "Login asset confirm" +msgstr "Revisão de ativos de login" + +#: acls/notifications.py:12 +msgid "User login reminder" +msgstr "Alerta de login do usuário" + +#: acls/notifications.py:42 +msgid "User login alert for asset" +msgstr "Alerta de login de ativos" + +#: acls/serializers/base.py:11 acls/serializers/login_acl.py:11 +msgid "With * indicating a match all. " +msgstr "* Indica correspondência com todos. " + +#: acls/serializers/base.py:26 +msgid "" +"With * indicating a match all. Such as: 192.168.10.1, 192.168.1.0/24, " +"10.1.1.1-10.1.1.20, 2001:db8:2de::e13, 2001:db8:1a:1110::/64 (Domain name " +"support)" +msgstr "" +"* Indica correspondência com todos. Exemplo: 192.168.10.1, 192.168.1.0/24, " +"10.1.1.1-10.1.1.20, 2001:db8:2de::e13, 2001:db8:1a:1110::/64 (suporte de " +"domínio)" + +#: acls/serializers/base.py:41 assets/serializers/asset/host.py:19 +msgid "IP/Host" +msgstr "IP/Host" + +#: acls/serializers/base.py:91 +msgid "Recipients" +msgstr "Destinatário" + +#: acls/serializers/base.py:103 tickets/serializers/ticket/ticket.py:77 +msgid "The organization `{}` does not exist" +msgstr "A organização `{}` não existe" + +#: acls/serializers/base.py:109 +msgid "None of the reviewers belong to Organization `{}`" +msgstr "Todos os revisores não pertencem à organização `{}`" + +#: acls/serializers/rules/rules.py:20 +#: xpack/plugins/cloud/serializers/task.py:150 +msgid "IP address invalid: `{}`" +msgstr "Endereço IP inválido: `{}`" + +#: acls/serializers/rules/rules.py:25 +msgid "" +"With * indicating a match all. Such as: 192.168.10.1, 192.168.1.0/24, " +"10.1.1.1-10.1.1.20, 2001:db8:2de::e13, 2001:db8:1a:1110::/64 " +msgstr "" +"* Indica correspondência com tudo. Por exemplo: 192.168.10.1, " +"192.168.1.0/24, 10.1.1.1-10.1.1.20, 2001:db8:2de::e13, 2001:db8:1a:1110::/64" + +#: acls/serializers/rules/rules.py:33 +#: authentication/templates/authentication/_msg_oauth_bind.html:12 +#: authentication/templates/authentication/_msg_rest_password_success.html:8 +#: authentication/templates/authentication/_msg_rest_public_key_success.html:8 +#: common/drf/renders/base.py:150 xpack/plugins/cloud/models.py:392 +msgid "IP" +msgstr "IP" + +#: acls/serializers/rules/rules.py:35 +msgid "Time Period" +msgstr "Período" + +#: acls/templates/acls/asset_login_reminder.html:3 +#: acls/templates/acls/user_login_reminder.html:3 +#: authentication/templates/authentication/_msg_rest_password_success.html:2 +#: authentication/templates/authentication/_msg_rest_public_key_success.html:2 +#: perms/templates/perms/_msg_permed_items_expire.html:3 +#: users/templates/users/_msg_reset_mfa.html:4 +msgid "Dear" +msgstr "Respeitado" + +#: acls/templates/acls/asset_login_reminder.html:5 +msgid "" +"We would like to inform you that a user has recently logged into the " +"following asset:" +msgstr "" +"Queremos informar que recentemente houve um acesso em seus ativos a seguir:" + +#: acls/templates/acls/asset_login_reminder.html:6 +msgid "Asset details" +msgstr "Detalhes do Ativo" + +#: acls/templates/acls/asset_login_reminder.html:14 +#: acls/templates/acls/user_login_reminder.html:15 +msgid "" +"Please review the login activity to ensure the security and proper usage of " +"the asset. If you did not authorize this login or if you notice any " +"suspicious activity, please take the necessary actions immediately." +msgstr "" +"Por favor, verifique esta ação de entrada para garantir a segurança e o uso " +"adequado do ativo. Se este acesso não foi autorizado por você ou se você " +"perceber qualquer atividade suspeita, tome as medidas necessárias " +"imediatamente." + +#: acls/templates/acls/asset_login_reminder.html:16 +#: acls/templates/acls/user_login_reminder.html:16 +msgid "Thank you for your attention to this matter" +msgstr "Obrigado por sua atenção a este assunto." + +#: acls/templates/acls/user_login_reminder.html:5 +msgid "We would like to inform you that a user has recently logged:" +msgstr "Queremos informar que recentemente houve um acesso:" + +#: acls/templates/acls/user_login_reminder.html:6 +msgid "User details" +msgstr "Detalhes do usuário" + +#: acls/templates/acls/user_login_reminder.html:10 audits/models.py:194 +#: audits/models.py:265 +#: authentication/templates/authentication/_msg_different_city.html:11 +#: tickets/models/ticket/login_confirm.py:11 +msgid "Login city" +msgstr "Cidade de Entrada" + +#: acls/templates/acls/user_login_reminder.html:11 audits/models.py:197 +#: audits/models.py:266 audits/serializers.py:92 +msgid "User agent" +msgstr "Agente do usuário" + +#: assets/api/asset/asset.py:194 +msgid "Cannot create asset directly, you should create a host or other" +msgstr "" +"Não é possível criar ativos diretamente, você deve criar um host ou outros " +"ativos" + +#: assets/api/asset/asset.py:198 +msgid "The number of assets exceeds the limit of 5000" +msgstr "O número de ativos excedeu o limite de 5000" + +#: assets/api/domain.py:67 +msgid "Number required" +msgstr "Deve ser numérico" + +#: assets/api/node.py:58 +msgid "You can't update the root node name" +msgstr "Não é possível modificar o nome do nó raiz" + +#: assets/api/node.py:65 +msgid "You can't delete the root node ({})" +msgstr "Não é possível excluir o nó raiz ({})" + +#: assets/api/node.py:68 +msgid "Deletion failed and the node contains assets" +msgstr "Falha ao excluir, o nó contém ativos" + +#: assets/api/tree.py:48 assets/serializers/node.py:42 +msgid "The same level node name cannot be the same" +msgstr "O nome do nó no mesmo nível não pode ser repetido" + +#: assets/apps.py:9 +msgid "App Assets" +msgstr "Gestão de ativos" + +#: assets/automations/base/manager.py:188 +msgid "{} disabled" +msgstr "{} foi desativado" + +#: assets/automations/base/manager.py:251 +msgid " - Platform {} ansible disabled" +msgstr "" +"- A plataforma {} Ansible foi desativada, não é possível executar tarefas" + +#: assets/automations/base/manager.py:324 +msgid ">>> Task preparation phase" +msgstr ">>> Etapa de preparação da tarefa" + +#: assets/automations/base/manager.py:327 +msgid ">>> Executing tasks in batches, total {runner_count}" +msgstr ">>> Execução da tarefa em partes, total de {runner_count}" + +#: assets/automations/base/manager.py:329 +msgid ">>> Start executing tasks" +msgstr ">>> Início da execução da tarefa" + +#: assets/automations/base/manager.py:331 +msgid ">>> No tasks need to be executed" +msgstr ">>> Não há tarefas a serem executadas" + +#: assets/automations/base/manager.py:336 +msgid ">>> Begin executing batch {index} of tasks" +msgstr ">>> Início da execução do lote de tarefas {index}" + +#: assets/automations/ping_gateway/manager.py:33 +#: authentication/models/connection_token.py:131 +msgid "No account" +msgstr "Sem conta" + +#: assets/automations/ping_gateway/manager.py:36 +msgid "Asset, {}, using account {}" +msgstr "Ativos, {}, usando conta {}" + +#: assets/automations/ping_gateway/manager.py:55 +msgid "Unable to connect to port {port} on {address}" +msgstr "Não é possível conectar ao porto {port} no endereço {address" + +#: assets/automations/ping_gateway/manager.py:58 +#: authentication/middleware.py:94 xpack/plugins/cloud/providers/fc.py:47 +msgid "Authentication failed" +msgstr "Falha na autenticação" + +#: assets/automations/ping_gateway/manager.py:60 +#: assets/automations/ping_gateway/manager.py:86 terminal/const.py:104 +msgid "Connect failed" +msgstr "Falha na conexão" + +#: assets/automations/ping_gateway/manager.py:118 +msgid ">>> Start executing the task to test gateway connectivity" +msgstr ">>> Iniciando tarefa de testar a conexão do gateway" + +#: assets/const/automation.py:6 audits/const.py:6 audits/const.py:47 +#: audits/signal_handlers/activity_log.py:62 common/utils/ip/geoip/utils.py:31 +#: common/utils/ip/geoip/utils.py:37 common/utils/ip/utils.py:104 +msgid "Unknown" +msgstr "Desconhecido" + +#: assets/const/automation.py:7 +msgid "OK" +msgstr "Sucesso" + +#: assets/const/automation.py:12 +msgid "Ping" +msgstr "Teste" + +#: assets/const/automation.py:13 +msgid "Ping gateway" +msgstr "Testar Gateway" + +#: assets/const/automation.py:14 +msgid "Gather facts" +msgstr "Coletar informações de ativos" + +#: assets/const/base.py:32 audits/const.py:58 +#: terminal/serializers/applet_host.py:32 users/models/user/_auth.py:32 +msgid "Disabled" +msgstr "Desativado" + +#: assets/const/base.py:33 settings/serializers/basic.py:8 +#: users/serializers/preference/koko.py:19 +#: users/serializers/preference/luna.py:85 +msgid "Basic" +msgstr "Básico" + +#: assets/const/base.py:34 assets/const/protocol.py:298 +#: assets/models/asset/web.py:13 +msgid "Script" +msgstr "Script" + +#: assets/const/category.py:10 assets/models/asset/host.py:8 +#: settings/serializers/auth/radius.py:17 settings/serializers/auth/sms.py:76 +#: settings/serializers/feature.py:80 settings/serializers/feature.py:93 +#: settings/serializers/msg.py:30 terminal/models/component/endpoint.py:14 +#: terminal/serializers/applet.py:17 xpack/plugins/cloud/manager.py:89 +#: xpack/plugins/cloud/serializers/account_attrs.py:72 +msgid "Host" +msgstr "Host" + +#: assets/const/category.py:11 assets/models/asset/device.py:8 +msgid "Device" +msgstr "Equipamento de rede" + +#: assets/const/category.py:13 +msgid "Cloud service" +msgstr "Serviço de nuvem" + +#: assets/const/category.py:14 assets/models/asset/gpt.py:11 +#: assets/models/asset/web.py:16 audits/const.py:45 +#: terminal/models/applet/applet.py:28 users/const.py:64 +msgid "Web" +msgstr "Web" + +#: assets/const/category.py:15 common/sdk/sms/endpoint.py:20 +msgid "Custom type" +msgstr "Personalizar" + +#: assets/const/cloud.py:7 +msgid "Public cloud" +msgstr "Nuvem Pública" + +#: assets/const/cloud.py:8 +msgid "Private cloud" +msgstr "Nuvem Privada" + +#: assets/const/cloud.py:9 +msgid "Kubernetes" +msgstr "Kubernetes" + +#: assets/const/device.py:7 terminal/models/applet/applet.py:27 +#: tickets/const.py:9 +msgid "General" +msgstr "Gerar" + +#: assets/const/device.py:8 +msgid "Switch" +msgstr "Switch" + +#: assets/const/device.py:9 +msgid "Router" +msgstr "Roteador" + +#: assets/const/device.py:10 +msgid "Firewall" +msgstr "Firewall" + +#: assets/const/gpt.py:7 +msgid "ChatGPT" +msgstr "ChatGPT" + +#: assets/const/host.py:12 rbac/tree.py:28 rbac/tree.py:66 +#: xpack/plugins/cloud/const.py:69 +msgid "Other" +msgstr "Outros" + +#: assets/const/protocol.py:46 +msgid "Old SSH version" +msgstr "Versão antiga do SSH" + +#: assets/const/protocol.py:47 +msgid "Old SSH version like openssh 5.x or 6.x" +msgstr "Versões antigas do SSH, como openssh 5.x ou 6.x" + +#: assets/const/protocol.py:53 +msgid "Netcat help text" +msgstr "" +"Usar netcat (nc) como uma ferramenta de proxy, encaminhando a conexão do " +"servidor proxy para o host de destino. Isso é apropriado para ambientes que " +"não suportam a opção de proxy nativo SSH (-W), ou que necessitam de maior " +"flexibilidade e controle de tempo limite." + +#: assets/const/protocol.py:64 +msgid "SFTP root" +msgstr "Caminho Raiz do SFTP" + +#: assets/const/protocol.py:66 +msgid "" +"SFTP root directory, Support variable:
- ${ACCOUNT} The connected " +"account username
- ${HOME} The home directory of the connected account " +"
- ${USER} The username of the user" +msgstr "" +"Diretório raiz do SFTP, suporta as seguintes variáveis:
-${ACCOUNT} " +"nome de usuário da conta conectada
-${HOME} diretório principal da conta" +" conectada
-${USER} nome de usuário do usuário" + +#: assets/const/protocol.py:81 +msgid "Console" +msgstr "Console" + +#: assets/const/protocol.py:82 +msgid "Connect to console session" +msgstr "Conectar à sessão do console" + +#: assets/const/protocol.py:86 +msgid "Any" +msgstr "Qualquer" + +#: assets/const/protocol.py:88 rbac/tree.py:62 +#: settings/serializers/security.py:241 +msgid "Security" +msgstr "Seguro" + +#: assets/const/protocol.py:89 +msgid "" +"Security layer to use for the connection:
Any
Automatically select the" +" security mode based on the security protocols supported by both the client " +"and the server
RDP
Legacy RDP encryption. This mode is generally only " +"used for older Windows servers or in cases where a standard Windows login " +"screen is desired
TLS
RDP authentication and encryption implemented " +"via TLS.
NLA
This mode uses TLS encryption and requires the username " +"and password to be given in advance" +msgstr "" +"Camada de segurança da conexão:
Any
Seleciona automaticamente o modo " +"de segurança de acordo com os protocolos de segurança suportados pelo " +"cliente e o servidor
RDP
Modo de criptografia RDP tradicional. Usado " +"geralmente para servidores Windows mais antigos ou situações que exigem a " +"tela de login padrão do Windows
TLS
Autenticação e criptografia RDP " +"implementadas através do TLS
NLA
Este modo usa criptografia TLS e " +"requer a apresentação de nome de usuário e senha com antecedência" + +#: assets/const/protocol.py:106 +msgid "AD domain" +msgstr " Domínio AD" + +#: assets/const/protocol.py:121 +msgid "Username prompt" +msgstr "Prompt de nome de usuário" + +#: assets/const/protocol.py:122 +msgid "We will send username when we see this prompt" +msgstr "Quando vemos este prompt, nós enviamos o nome de usuário" + +#: assets/const/protocol.py:127 +msgid "Password prompt" +msgstr "Prompt de senha" + +#: assets/const/protocol.py:128 +msgid "We will send password when we see this prompt" +msgstr "Quando vemos este prompt, nós enviamos a senha" + +#: assets/const/protocol.py:133 +msgid "Success prompt" +msgstr "Prompt de sucesso" + +#: assets/const/protocol.py:134 +msgid "We will consider login success when we see this prompt" +msgstr "Quando vemos este prompt, nós consideramos o login bem sucedido" + +#: assets/const/protocol.py:145 assets/models/asset/database.py:11 +#: settings/serializers/msg.py:49 +msgid "Use SSL" +msgstr "Usar SSL" + +#: assets/const/protocol.py:180 +msgid "SYSDBA" +msgstr "SYSDBA" + +#: assets/const/protocol.py:181 +msgid "Connect as SYSDBA" +msgstr "Conectar como SYSDBA" + +#: assets/const/protocol.py:196 +msgid "" +"SQL Server version, Different versions have different connection drivers" +msgstr "" +"Versão do SQL Server, diferentes versões possuem diferentes drivers de " +"conexão " + +#: assets/const/protocol.py:226 +msgid "Auth source" +msgstr " Banco de Dados de Autenticação " + +#: assets/const/protocol.py:227 +msgid "The database to authenticate against" +msgstr " Banco de Dados para autenticação" + +#: assets/const/protocol.py:232 authentication/models/connection_token.py:43 +msgid "Connect options" +msgstr " Opções de Conexão " + +#: assets/const/protocol.py:233 +msgid "The connection specific options eg. retryWrites=false&retryReads=false" +msgstr "" +" Opções específicas de conexão, por exemplo " +"retryWrites=false&retryReads=false " + +#: assets/const/protocol.py:245 +msgid "Auth username" +msgstr " Autenticar por Nome de Usuário " + +#: assets/const/protocol.py:268 +msgid "Safe mode" +msgstr " Modo de Segurança " + +#: assets/const/protocol.py:270 +msgid "" +"When safe mode is enabled, some operations will be disabled, such as: New " +"tab, right click, visit other website, etc." +msgstr "" +" Quando o modo de segurança está habilitado, algumas operações serão " +"desativadas, como: abrir nova aba, clique direito, acessar outros sites, etc" +" " + +#: assets/const/protocol.py:275 assets/models/asset/web.py:9 +#: assets/serializers/asset/info/spec.py:16 +msgid "Autofill" +msgstr " Autocompletar " + +#: assets/const/protocol.py:283 assets/models/asset/web.py:10 +msgid "Username selector" +msgstr " Seletor de Nome de Usuário " + +#: assets/const/protocol.py:288 assets/models/asset/web.py:11 +msgid "Password selector" +msgstr " Seletor de Senha " + +#: assets/const/protocol.py:293 assets/models/asset/web.py:12 +msgid "Submit selector" +msgstr " Seletor de botão de confirmação " + +#: assets/const/protocol.py:316 +msgid "API mode" +msgstr " Modo API " + +#: assets/const/types.py:249 +msgid "All types" +msgstr " Todos os tipos " + +#: assets/const/web.py:7 +msgid "Website" +msgstr " Site" + +#: assets/exceptions.py:12 +msgid "This function is not supported temporarily" +msgstr "Não suporta esta função temporariamente" + +#: assets/models/asset/cloud.py:11 +msgid "Cloud" +msgstr "Serviço em nuvem" + +#: assets/models/asset/common.py:101 assets/models/platform.py:16 +#: settings/serializers/auth/radius.py:18 settings/serializers/auth/sms.py:77 +#: settings/serializers/msg.py:31 terminal/serializers/storage.py:133 +#: xpack/plugins/cloud/serializers/account_attrs.py:73 +msgid "Port" +msgstr "Porta" + +#: assets/models/asset/common.py:167 assets/serializers/asset/common.py:170 +#: settings/serializers/terminal.py:10 +msgid "Address" +msgstr "Endereço" + +#: assets/models/asset/common.py:169 assets/models/platform.py:149 +#: authentication/backends/passkey/models.py:12 +#: authentication/serializers/connect_token_secret.py:118 +#: perms/serializers/user_permission.py:25 xpack/plugins/cloud/models.py:387 +msgid "Platform" +msgstr "Plataforma" + +#: assets/models/asset/common.py:173 assets/models/domain.py:22 +msgid "Zone" +msgstr "Domínio" + +#: assets/models/asset/common.py:179 assets/serializers/asset/common.py:419 +#: assets/serializers/asset/host.py:11 +msgid "Gathered info" +msgstr "Coletar informações de hardware do ativo" + +#: assets/models/asset/common.py:180 assets/serializers/asset/custom.py:14 +msgid "Custom info" +msgstr "Atributos personalizados" + +#: assets/models/asset/common.py:365 +msgid "Can refresh asset hardware info" +msgstr "Pode atualizar informações de hardware do ativo" + +#: assets/models/asset/common.py:366 +msgid "Can test asset connectivity" +msgstr "Pode testar a conectividade do ativo" + +#: assets/models/asset/common.py:367 +msgid "Can match asset" +msgstr "Pode combinar ativos" + +#: assets/models/asset/common.py:368 +msgid "Can change asset nodes" +msgstr "Pode modificar nós de ativos" + +#: assets/models/asset/custom.py:8 +msgid "Custom asset" +msgstr "Ativos personalizados" + +#: assets/models/asset/database.py:12 +msgid "CA cert" +msgstr "Certificado CA" + +#: assets/models/asset/database.py:13 +msgid "Client cert" +msgstr "Certificado de cliente" + +#: assets/models/asset/database.py:14 +msgid "Client key" +msgstr "Chave do cliente" + +#: assets/models/asset/database.py:15 +msgid "Allow invalid cert" +msgstr "Ignorar verificação de certificado" + +#: assets/models/asset/database.py:18 +msgid "Postgresql SSL mode" +msgstr "Modo SSL PostgreSQL" + +#: assets/models/asset/gpt.py:8 settings/serializers/feature.py:137 +msgid "Proxy" +msgstr "Proxy" + +#: assets/models/automations/base.py:18 assets/models/cmd_filter.py:32 +#: assets/models/node.py:553 ops/models/job.py:156 +#: perms/models/asset_permission.py:72 tickets/models/ticket/apply_asset.py:14 +#: xpack/plugins/cloud/models.py:388 +msgid "Node" +msgstr "Nó" + +#: assets/models/automations/base.py:22 ops/models/job.py:238 +#: ops/serializers/job.py:23 settings/serializers/auth/sms.py:108 +msgid "Parameters" +msgstr "Parâmetros" + +#: assets/models/automations/base.py:29 assets/models/automations/base.py:111 +msgid "Automation task" +msgstr "Tarefas automatizadas" + +#: assets/models/automations/base.py:104 +msgid "Asset automation task" +msgstr "Tarefas automáticas de ativos" + +#: assets/models/automations/base.py:114 assets/models/cmd_filter.py:41 +#: common/db/models.py:34 ops/models/base.py:54 ops/models/job.py:242 +#: users/models/user/__init__.py:321 +msgid "Date created" +msgstr "Data de criação" + +#: assets/models/automations/gather_facts.py:15 +msgid "Gather asset facts" +msgstr "Coletar informações de ativos" + +#: assets/models/automations/ping.py:15 +msgid "Ping asset" +msgstr "Testar ativos" + +#: assets/models/base.py:19 terminal/notifications.py:243 +msgid "Connectivity" +msgstr "Conectividade" + +#: assets/models/base.py:21 authentication/models/temp_token.py:12 +msgid "Date verified" +msgstr "Data de verificação" + +#: assets/models/cmd_filter.py:28 perms/models/asset_permission.py:66 +#: users/models/group.py:25 users/models/user/__init__.py:70 +msgid "User group" +msgstr "Grupo de usuários" + +#: assets/models/cmd_filter.py:42 common/db/models.py:35 +#: users/models/user/__init__.py:149 +msgid "Date updated" +msgstr "Data de atualização" + +#: assets/models/cmd_filter.py:44 assets/models/cmd_filter.py:91 +#: common/db/models.py:32 users/models/user/__init__.py:108 +#: users/serializers/group.py:32 +msgid "Created by" +msgstr "Criador" + +#: assets/models/cmd_filter.py:52 +msgid "Command filter" +msgstr "Filtro de Comando" + +#: assets/models/cmd_filter.py:66 +msgid "Deny" +msgstr "Recusar" + +#: assets/models/cmd_filter.py:67 +msgid "Allow" +msgstr "Permitir" + +#: assets/models/cmd_filter.py:68 +msgid "Reconfirm" +msgstr "Revisar" + +#: assets/models/cmd_filter.py:72 +msgid "Filter" +msgstr "Filtro" + +#: assets/models/cmd_filter.py:95 +msgid "Command filter rule" +msgstr "Regras de Filtro de Comando" + +#: assets/models/favorite_asset.py:17 +msgid "Favorite asset" +msgstr "Ativos Favoritos" + +#: assets/models/gateway.py:34 assets/serializers/domain.py:19 +msgid "Gateway" +msgstr "Gateway" + +#: assets/models/label.py:15 rbac/const.py:6 +msgid "System" +msgstr "Sistema" + +#: assets/models/label.py:19 assets/models/node.py:539 +#: assets/serializers/cagegory.py:11 assets/serializers/cagegory.py:18 +#: assets/serializers/cagegory.py:24 +#: authentication/models/connection_token.py:29 +#: authentication/serializers/connect_token_secret.py:125 +#: common/serializers/common.py:86 labels/models.py:12 settings/models.py:36 +#: users/models/preference.py:13 +msgid "Value" +msgstr "Valor" + +#: assets/models/label.py:40 assets/serializers/cagegory.py:10 +#: assets/serializers/cagegory.py:17 assets/serializers/cagegory.py:23 +#: assets/serializers/platform.py:158 +#: authentication/serializers/connect_token_secret.py:124 +#: common/serializers/common.py:85 labels/serializers.py:45 +#: settings/serializers/msg.py:90 +msgid "Label" +msgstr "Etiqueta" + +#: assets/models/my_asset.py:12 assets/serializers/my_asset.py:16 +msgid "Custom Name" +msgstr "Nome Personalizado" + +#: assets/models/my_asset.py:13 assets/serializers/my_asset.py:17 +msgid "Custom Comment" +msgstr "Observação Personalizada" + +#: assets/models/my_asset.py:18 rbac/tree.py:54 +msgid "My assets" +msgstr "Meus Ativos" + +#: assets/models/node.py:168 +msgid "New node" +msgstr "Novo nó" + +#: assets/models/node.py:467 audits/backends/db.py:85 audits/backends/db.py:86 +msgid "empty" +msgstr "Vazio" + +#: assets/models/node.py:538 perms/models/perm_node.py:28 +msgid "Key" +msgstr "Chave" + +#: assets/models/node.py:540 assets/serializers/node.py:20 +msgid "Full value" +msgstr "Nome completo" + +#: assets/models/node.py:544 perms/models/perm_node.py:30 +msgid "Parent key" +msgstr "ssh chave privada" + +#: assets/models/node.py:556 +msgid "Can match node" +msgstr "Pode combinar com nó" + +#: assets/models/platform.py:17 +msgid "Primary" +msgstr "Principal" + +#: assets/models/platform.py:18 ops/models/variable.py:20 +msgid "Required" +msgstr "Essencial" + +#: assets/models/platform.py:19 assets/serializers/platform.py:160 +#: terminal/models/component/storage.py:28 +#: xpack/plugins/cloud/providers/nutanix.py:30 +msgid "Default" +msgstr "Padrão" + +#: assets/models/platform.py:20 +msgid "Public" +msgstr "Público" + +#: assets/models/platform.py:21 assets/serializers/platform.py:84 +#: settings/serializers/settings.py:95 +#: users/templates/users/reset_password.html:29 +msgid "Setting" +msgstr "Configurações" + +#: assets/models/platform.py:38 audits/const.py:59 +#: authentication/backends/passkey/models.py:11 settings/models.py:39 +#: terminal/serializers/applet_host.py:33 users/models/user/_auth.py:33 +msgid "Enabled" +msgstr "Ativar" + +#: assets/models/platform.py:39 +msgid "Ansible config" +msgstr "Configuração de Ansible" + +#: assets/models/platform.py:41 assets/serializers/platform.py:35 +msgid "Ping enabled" +msgstr "Ativar Detecção de Ativos" + +#: assets/models/platform.py:42 assets/serializers/platform.py:36 +msgid "Ping method" +msgstr "Método de detecção de ativos" + +#: assets/models/platform.py:43 +msgid "Ping params" +msgstr "Parâmetros de Verificação de Ativos" + +#: assets/models/platform.py:45 assets/models/platform.py:69 +#: assets/serializers/platform.py:38 +msgid "Gather facts enabled" +msgstr "Habilitar Coleta de Informações de Ativos" + +#: assets/models/platform.py:47 assets/models/platform.py:71 +#: assets/serializers/platform.py:42 +msgid "Gather facts method" +msgstr "Método de Coleta de Informações" + +#: assets/models/platform.py:49 assets/models/platform.py:73 +msgid "Gather facts params" +msgstr "Parâmetros de Coleta de Informações" + +#: assets/models/platform.py:51 assets/serializers/platform.py:52 +msgid "Change secret enabled" +msgstr "Habilitar Mudança de Senha" + +#: assets/models/platform.py:53 assets/serializers/platform.py:56 +msgid "Change secret method" +msgstr "Método de Mudança de Senha" + +#: assets/models/platform.py:55 +msgid "Change secret params" +msgstr "Parâmetros de Mudança de Senha" + +#: assets/models/platform.py:57 assets/serializers/platform.py:59 +msgid "Push account enabled" +msgstr "Habilitar Envio de Contas" + +#: assets/models/platform.py:59 assets/serializers/platform.py:63 +msgid "Push account method" +msgstr "Método de Envio de Contas" + +#: assets/models/platform.py:61 +msgid "Push account params" +msgstr "Parâmetros de Envio de Contas" + +#: assets/models/platform.py:63 assets/serializers/platform.py:45 +msgid "Verify account enabled" +msgstr "Habilitar Verificação de Conta" + +#: assets/models/platform.py:65 assets/serializers/platform.py:49 +msgid "Verify account method" +msgstr "Método de Verificação de Conta" + +#: assets/models/platform.py:67 +msgid "Verify account params" +msgstr "Parâmetros de Verificação de Conta" + +#: assets/models/platform.py:75 +msgid "Remove account enabled" +msgstr "Habilitar Remoção de Contas" + +#: assets/models/platform.py:77 assets/serializers/platform.py:73 +msgid "Remove account method" +msgstr "Método de Remoção de Contas" + +#: assets/models/platform.py:79 +msgid "Remove account params" +msgstr "Remover Parâmetro de Conta" + +#: assets/models/platform.py:97 tickets/models/ticket/general.py:301 +msgid "Meta" +msgstr "Metadados" + +#: assets/models/platform.py:98 labels/models.py:13 +msgid "Internal" +msgstr "Embutido" + +#: assets/models/platform.py:102 assets/serializers/platform.py:170 +msgid "Charset" +msgstr "Codificação" + +#: assets/models/platform.py:104 assets/serializers/platform.py:208 +msgid "Gateway enabled" +msgstr "Habilitar Domínio" + +#: assets/models/platform.py:106 assets/serializers/platform.py:201 +msgid "Su enabled" +msgstr "Habilitar Troca de Conta" + +#: assets/models/platform.py:107 assets/serializers/platform.py:176 +msgid "Su method" +msgstr "Método de Troca de Conta" + +#: assets/models/platform.py:108 assets/serializers/platform.py:179 +msgid "Custom fields" +msgstr "Propriedades Personalizadas" + +#: assets/models/utils.py:18 +msgid "%(value)s is not an even number" +msgstr "%(value)s não é um número par" + +#: assets/notifications.py:12 +msgid "" +"Batch update platform in assets, skipping assets that do not meet platform " +"type" +msgstr "" +"Atualização em massa na plataforma de ativos, ativos ignorados que não " +"correspondem ao tipo de plataforma" + +#: assets/serializers/asset/common.py:36 assets/serializers/platform.py:152 +msgid "Protocols, format is [\"protocol/port\"]" +msgstr "Protocolo, formato como [\"Protocolo/Porta\"]" + +#: assets/serializers/asset/common.py:38 +msgid "Protocol, format is name/port" +msgstr "Protocolo, formato como Nome/Porta" + +#: assets/serializers/asset/common.py:107 +msgid "" +"Accounts, format [{\"name\": \"x\", \"username\": \"x\", \"secret\": \"x\", " +"\"secret_type\": \"password\"}]" +msgstr "" +"Conta, formato como [{\"name\": \"x\", \"username\": \"x\", \"secret\": " +"\"x\", \"secret_type\": \"password\"}]" + +#: assets/serializers/asset/common.py:135 +msgid "" +"Node path, format [\"/org_name/node_name\"], if node not exist, will create " +"it" +msgstr "" +"Caminho do Nó, formato como [\"/Organização/Nome do Nó\"], se o Nó não " +"existir, ele será criado" + +#: assets/serializers/asset/common.py:147 assets/serializers/platform.py:173 +#: authentication/serializers/connect_token_secret.py:30 +#: authentication/serializers/connect_token_secret.py:75 +#: perms/models/asset_permission.py:76 perms/serializers/permission.py:56 +#: perms/serializers/user_permission.py:74 xpack/plugins/cloud/models.py:390 +#: xpack/plugins/cloud/serializers/task.py:35 +msgid "Protocols" +msgstr "Grupo de protocolo" + +#: assets/serializers/asset/common.py:149 +#: assets/serializers/asset/common.py:171 +msgid "Node path" +msgstr "Caminho do nó" + +#: assets/serializers/asset/common.py:168 +#: assets/serializers/asset/common.py:420 +msgid "Auto info" +msgstr "Informação automatizada" + +#: assets/serializers/asset/common.py:265 +msgid "Platform not exist" +msgstr "Plataforma não encontrada" + +#: assets/serializers/asset/common.py:301 +msgid "port out of range (0-65535)" +msgstr "Porta fora do alcance (0-65535)" + +#: assets/serializers/asset/common.py:308 +msgid "Protocol is required: {}" +msgstr "O protocolo é obrigatório: {}" + +#: assets/serializers/asset/common.py:347 +msgid "Invalid data" +msgstr "Dados inválidos" + +#: assets/serializers/asset/database.py:13 +msgid "Default database" +msgstr "Banco de dados padrão" + +#: assets/serializers/asset/database.py:23 +msgid "CA cert help text" +msgstr "" +"O campo Common Name (CN) foi descontinuado, por favor, de acordo com o RFC " +"5280, utilize o campo Subject Alternative Name (SAN) para verificar o " +"domínio e aumentar a segurança." + +#: assets/serializers/asset/database.py:24 +msgid "Postgresql ssl model help text" +msgstr "" +"Preferir: Não me importo com a criptografia, mas se o servidor suportar, estou disposto a arcar com o custo da criptografia.\n" +"Exigir: Quero que meus dados sejam criptografados, aceito o custo. Confio que a rede garante que estou sempre conectado ao servidor desejado.\n" +"Verificar CA: Quero que meus dados sejam criptografados, aceito o custo. Quero ter certeza de que estou conectado a um servidor em que confio.\n" +"Verificar integralmente: Quero que meus dados sejam criptografados, aceito o custo. Quero ter certeza de que estou conectado a um servidor em que confio e que é o servidor que especifiquei." + +#: assets/serializers/asset/gpt.py:20 +msgid "" +"If the server cannot directly connect to the API address, you need set up an" +" HTTP proxy. e.g. http(s)://host:port" +msgstr "" +"Se o servidor não consegue acessar diretamente o endereço da API, você " +"precisa definir um proxy HTTP. Por exemplo, http(s)://host:port" + +#: assets/serializers/asset/gpt.py:24 +msgid "HTTP proxy" +msgstr "Proxy HTTP(s)" + +#: assets/serializers/asset/gpt.py:31 +msgid "Proxy must start with http:// or https://" +msgstr "O proxy deve começar com http:// ou https://" + +#: assets/serializers/asset/info/gathered.py:6 +msgid "Vendor" +msgstr "Fabricante" + +#: assets/serializers/asset/info/gathered.py:7 +msgid "Model" +msgstr "Modelo" + +#: assets/serializers/asset/info/gathered.py:8 +#: tickets/models/ticket/general.py:300 +msgid "Serial number" +msgstr "Número de série" + +#: assets/serializers/asset/info/gathered.py:9 +msgid "CPU model" +msgstr "Modelo CPU" + +#: assets/serializers/asset/info/gathered.py:10 +msgid "CPU count" +msgstr "Quantidade de CPU" + +#: assets/serializers/asset/info/gathered.py:11 +msgid "CPU cores" +msgstr "Núcleos da CPU" + +#: assets/serializers/asset/info/gathered.py:12 +msgid "CPU vcpus" +msgstr "Total de CPUs" + +#: assets/serializers/asset/info/gathered.py:13 +msgid "Memory" +msgstr "Memória" + +#: assets/serializers/asset/info/gathered.py:14 +msgid "Disk total" +msgstr "Tamanho do disco rígido" + +#: assets/serializers/asset/info/gathered.py:16 +#: authentication/serializers/connect_token_secret.py:115 +msgid "OS" +msgstr "Sistema Operacional" + +#: assets/serializers/asset/info/gathered.py:17 +msgid "OS version" +msgstr "Versão do sistema" + +#: assets/serializers/asset/info/gathered.py:18 +msgid "OS arch" +msgstr "Arquitetura do sistema" + +#: assets/serializers/cagegory.py:13 +msgid "Constraints" +msgstr "Restrições" + +#: assets/serializers/cagegory.py:19 +msgid "Types" +msgstr "Tipo" + +#: assets/serializers/domain.py:21 +msgid "" +"A gateway is a network proxy for a zone, and when connecting assets within " +"the zone, the connection is routed through the gateway." +msgstr "" +"O gateway é o agente de rede do domínio da web, quando conectando ativos " +"dentro do domínio da web, a conexão será roteada através do gateway." + +#: assets/serializers/domain.py:24 assets/serializers/platform.py:181 +#: orgs/serializers.py:13 perms/serializers/permission.py:50 +msgid "Assets amount" +msgstr "Quantidade de ativos" + +#: assets/serializers/gateway.py:19 +msgid "The platform must start with Gateway" +msgstr "A plataforma deve começar pelo Gateway" + +#: assets/serializers/gateway.py:28 common/validators.py:34 +msgid "This field must be unique." +msgstr "O campo deve ser único" + +#: assets/serializers/node.py:17 +msgid "value" +msgstr "Valor" + +#: assets/serializers/node.py:31 +msgid "Can't contains: /" +msgstr "não pode conter: /" + +#: assets/serializers/platform.py:35 +msgid "Enable asset detection" +msgstr "Habilite a detecção de ativos" + +#: assets/serializers/platform.py:39 +msgid "Enable asset information collection" +msgstr "Ativar coleta de informações de ativos" + +#: assets/serializers/platform.py:46 +msgid "Enable account verification" +msgstr "Ativar verificação de conta" + +#: assets/serializers/platform.py:53 +msgid "Enable account secret auto change" +msgstr "Ativar alteração de senha" + +#: assets/serializers/platform.py:60 +msgid "Enable account auto push" +msgstr "Ativar envio de conta" + +#: assets/serializers/platform.py:66 +msgid "Gather accounts enabled" +msgstr "Ativar coleta de conta" + +#: assets/serializers/platform.py:67 +msgid "Enable account collection" +msgstr "Coleta automatizada de conta" + +#: assets/serializers/platform.py:70 +msgid "Gather accounts method" +msgstr "Método de coleta de conta" + +#: assets/serializers/platform.py:76 +msgid "Remove accounts enabled" +msgstr "Ativar remoção de conta" + +#: assets/serializers/platform.py:77 +msgid "Enable account remove" +msgstr "Iniciar remoção de conta" + +#: assets/serializers/platform.py:85 +msgid "Port from addr" +msgstr "Porta de origem do endereço" + +#: assets/serializers/platform.py:97 +msgid "" +"This protocol is primary, and it must be set when adding assets. " +"Additionally, there can only be one primary protocol." +msgstr "" +"Este protocolo é primário, deve ser definido ao adicionar ativos e só pode " +"haver um protocolo principal" + +#: assets/serializers/platform.py:102 +msgid "This protocol is required, and it must be set when adding assets." +msgstr "Este protocolo é obrigatório, deve ser definido ao adicionar ativos." + +#: assets/serializers/platform.py:105 +msgid "" +"This protocol is default, when adding assets, it will be displayed by " +"default." +msgstr "" +"Este acordo é o padrão, ao adicionar ativos, será mostrado por default" + +#: assets/serializers/platform.py:108 +msgid "This protocol is public, asset will show this protocol to user" +msgstr "" +"Este acordo é público, os ativos mostrarão este acordo e poderão se conectar" +" e utilizar" + +#: assets/serializers/platform.py:161 +msgid "Help text" +msgstr "Ajuda" + +#: assets/serializers/platform.py:162 +msgid "Choices" +msgstr "Selecione" + +#: assets/serializers/platform.py:174 +msgid "Automation" +msgstr "Automação" + +#: assets/serializers/platform.py:203 +msgid "" +"Login with account when accessing assets, then automatically switch to " +"another, similar to logging in with a regular account and then switching to " +"root" +msgstr "" +"Use a conta para se conectar ao acessar ativos, em seguida, mude " +"automaticamente para outra conta, assim como iniciar sessão com uma conta " +"comum e depois mudar para a root" + +#: assets/serializers/platform.py:209 +msgid "Assets can be connected using a zone gateway" +msgstr "Os ativos podem se conectar através do gateway da rede regional" + +#: assets/serializers/platform.py:211 +msgid "Default Domain" +msgstr "Domínio padrão" + +#: assets/serializers/platform.py:233 +msgid "type is required" +msgstr "Tipo Esse campo é obrigatório." + +#: assets/serializers/platform.py:248 +msgid "Protocols is required" +msgstr "O acordo é obrigatório" + +#: assets/signal_handlers/asset.py:26 assets/tasks/ping.py:39 +msgid "Test assets connectivity " +msgstr "Testar a conectividade dos ativos" + +#: assets/signal_handlers/asset.py:36 +msgid "Gather asset hardware info" +msgstr "Recolher informações sobre o hardware do ativo" + +#: assets/tasks/automation.py:25 +msgid "Asset execute automation" +msgstr "Ativos executam automação" + +#: assets/tasks/gather_facts.py:22 assets/tasks/gather_facts.py:32 +msgid "Gather assets facts" +msgstr "Coletar informações sobre o ativo" + +#: assets/tasks/gather_facts.py:25 +msgid "" +"When clicking 'Refresh hardware info' in 'Console - Asset Details - Basic' this task \n" +" will be executed" +msgstr "" +"Quando esta tarefa é executada, clique em atualizar as informações do " +"hardware nas configurações básicas dos detalhes do ativo no console." + +#: assets/tasks/gather_facts.py:44 +msgid "Update assets hardware info: " +msgstr "Atualizar informações de hardware de ativos" + +#: assets/tasks/gather_facts.py:52 +msgid "Update node asset hardware information: " +msgstr "Atualize as informações de hardware dos ativos dos nós: " + +#: assets/tasks/nodes_amount.py:16 +msgid "Check the amount of assets under the node" +msgstr "Verifique a quantidade de ativos sob os nós" + +#: assets/tasks/nodes_amount.py:18 +msgid "" +"Manually verifying asset quantities updates the asset count for nodes under the \n" +" current organization. This task will be called in the following two cases: when updating \n" +" nodes and when the number of nodes exceeds 100" +msgstr "" +"Cheque manualmente a quantidade de ativos e atualize a quantidade de ativos " +"dos nós na organização atual; Atualize os nós, quando o número de nós for " +"maior que 100, esses dois casos acionarão essa action" + +#: assets/tasks/nodes_amount.py:34 +msgid "" +"The task of self-checking is already running and cannot be started " +"repeatedly" +msgstr "" +"O programa de autoteste já está em execução, não pode ser iniciado novamente" + +#: assets/tasks/nodes_amount.py:40 +msgid "Periodic check the amount of assets under the node" +msgstr "Verificação periódica da quantidade de ativos sob os nós" + +#: assets/tasks/nodes_amount.py:42 +msgid "" +"Schedule the check_node_assets_amount_task to periodically update the asset count of \n" +" all nodes under all organizations" +msgstr "" +"Chame a tarefa check_node_assets_amount_task em um horário programado, " +"atualize a quantidade de ativos de todos os nós em todas as organizações" + +#: assets/tasks/ping.py:20 assets/tasks/ping.py:30 +msgid "Test assets connectivity" +msgstr "Testar a conectividade dos ativos" + +#: assets/tasks/ping.py:24 +msgid "" +"When clicking 'Test Asset Connectivity' in 'Asset Details - Basic Settings' " +"this task will be executed" +msgstr "" +"Quando os detalhes do ativo - configurações básicas clicam em Testar a " +"conectividade dos ativos para executar esta action" + +#: assets/tasks/ping.py:46 +msgid "Test if the assets under the node are connectable " +msgstr "Teste se os ativos sob os nós podem se conectar" + +#: assets/tasks/ping_gateway.py:19 assets/tasks/ping_gateway.py:29 +#: assets/tasks/ping_gateway.py:38 +msgid "Test gateways connectivity" +msgstr "Testar a conectividade do gateway" + +#: assets/tasks/ping_gateway.py:23 +msgid "" +"When clicking 'Test Connection' in 'Domain Details - Gateway' this task will" +" be executed" +msgstr "" +"Execute esta action quando os detalhes do domínio da rede - gateway - teste " +"de conexão" + +#: assets/tasks/utils.py:16 +msgid "Asset has been disabled, skipped: {}" +msgstr "O ativo já está desativado, pulado: {}" + +#: assets/tasks/utils.py:20 +msgid "Asset may not be support ansible, skipped: {}" +msgstr "O ativo pode não suportar ansible, pulado: {}" + +#: assets/tasks/utils.py:38 +msgid "For security, do not push user {}" +msgstr "Para segurança, é proibido empurrar o usuário {}" + +#: assets/tasks/utils.py:54 +msgid "No assets matched, stop task" +msgstr "Não foram encontradas correspondências de ativos, tarefa encerrada" + +#: audits/apps.py:9 +msgid "App Audits" +msgstr "Auditoria de logs" + +#: audits/backends/db.py:17 +msgid "" +"The text content is too long. Use Elasticsearch to store operation logs" +msgstr "" +"O conteúdo do texto é muito longo. Por favor, utilize o Elasticsearch para " +"armazenar logs de ação" + +#: audits/backends/db.py:78 +msgid "labels" +msgstr "Tags" + +#: audits/backends/db.py:79 +msgid "operate_log_id" +msgstr "ID do log de ação" + +#: audits/backends/db.py:111 ops/models/variable.py:19 +msgid "Tips" +msgstr "Dicas" + +#: audits/const.py:12 +msgid "Mkdir" +msgstr "Criar diretório" + +#: audits/const.py:13 +msgid "Rmdir" +msgstr "Excluir diretório" + +#: audits/const.py:14 audits/const.py:25 +#: authentication/templates/authentication/_access_key_modal.html:65 +#: rbac/tree.py:270 +msgid "Delete" +msgstr "Excluir" + +#: audits/const.py:15 +msgid "Upload" +msgstr "Upload" + +#: audits/const.py:16 +msgid "Rename" +msgstr "Renomear" + +#: audits/const.py:17 +msgid "Symlink" +msgstr "Estabelecer link simbólico" + +#: audits/const.py:18 audits/const.py:28 +#: ops/templates/ops/celery_task_log.html:86 +#: terminal/api/session/session.py:154 +msgid "Download" +msgstr "Download" + +#: audits/const.py:19 +msgid "Rename dir" +msgstr "Mapear diretório" + +#: audits/const.py:23 rbac/tree.py:268 terminal/api/session/session.py:284 +#: terminal/templates/terminal/_msg_command_warning.html:18 +#: terminal/templates/terminal/_msg_session_sharing.html:10 +#: xpack/plugins/cloud/manager.py:90 +msgid "View" +msgstr "Visualizar" + +#: audits/const.py:26 +#: authentication/templates/authentication/_access_key_modal.html:22 +#: rbac/tree.py:267 +msgid "Create" +msgstr "Criar" + +#: audits/const.py:29 +msgid "Connect" +msgstr "Conectar" + +#: audits/const.py:30 authentication/templates/authentication/login.html:329 +#: authentication/templates/authentication/login.html:401 +#: templates/_header_bar.html:101 +msgid "Login" +msgstr "Login" + +#: audits/const.py:31 ops/const.py:9 +msgid "Change password" +msgstr "Alterar Senha" + +#: audits/const.py:35 rbac/tree.py:56 +msgid "Notifications" +msgstr "Notificação" + +#: audits/const.py:37 tickets/const.py:45 +msgid "Approve" +msgstr "Concordar" + +#: audits/const.py:38 +#: authentication/templates/authentication/_access_key_modal.html:155 +#: authentication/templates/authentication/_mfa_confirm_modal.html:53 +#: templates/_modal.html:22 tickets/const.py:43 +msgid "Close" +msgstr "Fechar" + +#: audits/const.py:41 ops/models/celery.py:85 +#: terminal/models/session/sharing.py:128 tickets/const.py:25 +#: xpack/plugins/cloud/const.py:67 +msgid "Finished" +msgstr "Fim" + +#: audits/const.py:46 settings/serializers/terminal.py:6 +#: terminal/models/applet/host.py:26 terminal/models/component/terminal.py:182 +#: terminal/models/virtualapp/provider.py:14 +#: terminal/serializers/session.py:57 terminal/serializers/session.py:113 +msgid "Terminal" +msgstr "Terminal" + +#: audits/const.py:51 audits/models.py:132 +msgid "Operate log" +msgstr "Log de Ação" + +#: audits/const.py:52 +msgid "Session log" +msgstr "Log de Sessão" + +#: audits/const.py:53 +msgid "Login log" +msgstr "Log de Login" + +#: audits/const.py:54 rbac/tree.py:64 terminal/models/applet/host.py:144 +#: terminal/models/component/task.py:22 +#: xpack/plugins/cloud/serializers/account.py:77 +msgid "Task" +msgstr "Tarefa" + +#: audits/const.py:60 +msgid "-" +msgstr "-" + +#: audits/handler.py:128 +msgid "Yes" +msgstr "Sim" + +#: audits/handler.py:128 +msgid "No" +msgstr "Não" + +#: audits/models.py:47 +msgid "Job audit log" +msgstr "Registro de Auditoria de Tarefa" + +#: audits/models.py:56 audits/models.py:100 audits/models.py:175 +#: terminal/models/session/session.py:39 +#: terminal/models/session/sharing.py:113 +msgid "Remote addr" +msgstr "Endereço Remoto" + +#: audits/models.py:61 audits/serializers.py:62 +msgid "Operate" +msgstr "Operação" + +#: audits/models.py:63 +msgid "Filename" +msgstr "Nome do Arquivo" + +#: audits/models.py:66 +msgid "Can Download" +msgstr "Download Disponível" + +#: audits/models.py:67 terminal/backends/command/models.py:21 +#: terminal/models/session/replay.py:9 terminal/models/session/sharing.py:20 +#: terminal/models/session/sharing.py:95 terminal/serializers/command.py:19 +#: terminal/templates/terminal/_msg_command_alert.html:10 +#: terminal/templates/terminal/_msg_command_warning.html:17 +#: tickets/models/ticket/command_confirm.py:15 +msgid "Session" +msgstr "Sessão" + +#: audits/models.py:70 +msgid "File transfer log" +msgstr "Transferência de Arquivo" + +#: audits/models.py:94 audits/serializers.py:110 +msgid "Resource Type" +msgstr "Tipo de Recurso" + +#: audits/models.py:95 audits/models.py:98 audits/models.py:144 +#: audits/serializers.py:109 labels/serializers.py:46 +msgid "Resource" +msgstr "Recurso" + +#: audits/models.py:101 audits/models.py:147 audits/models.py:177 +#: terminal/serializers/command.py:75 +msgid "Datetime" +msgstr "Data" + +#: audits/models.py:140 +msgid "Activity type" +msgstr "Tipo de Action" + +#: audits/models.py:150 +msgid "Detail" +msgstr "Detalhes" + +#: audits/models.py:153 +msgid "Detail ID" +msgstr "ID de Detalhes" + +#: audits/models.py:157 +msgid "Activity log" +msgstr "Registro de Action" + +#: audits/models.py:173 +msgid "Change by" +msgstr "Modificador" + +#: audits/models.py:183 +msgid "Password change log" +msgstr "Registro de Alteração de Senha" + +#: audits/models.py:190 audits/models.py:267 +msgid "Login type" +msgstr "Método de Login" + +#: audits/models.py:192 audits/models.py:263 +#: tickets/models/ticket/login_confirm.py:10 +msgid "Login IP" +msgstr "IP de Login" + +#: audits/models.py:200 audits/serializers.py:76 +#: authentication/templates/authentication/_mfa_confirm_modal.html:14 +#: users/forms/profile.py:64 users/models/user/__init__.py:86 +#: users/serializers/profile.py:70 +msgid "MFA" +msgstr "MFA" + +#: audits/models.py:210 +#: authentication/templates/authentication/_msg_different_city.html:10 +#: tickets/models/ticket/login_confirm.py:12 +msgid "Login Date" +msgstr "Data de Login" + +#: audits/models.py:212 audits/models.py:268 +msgid "Auth backend" +msgstr "Token de Autenticação" + +#: audits/models.py:256 +msgid "User login log" +msgstr "Registro de Login do Usuário" + +#: audits/models.py:264 +msgid "Session key" +msgstr "Identificação de Sessão" + +#: audits/models.py:269 +msgid "Login date" +msgstr "Data de Login" + +#: audits/models.py:300 +msgid "User session" +msgstr "Sessão do usuário" + +#: audits/models.py:302 +msgid "Offline user session" +msgstr "Desconectar a sessão do usuário" + +#: audits/serializers.py:33 ops/models/adhoc.py:24 ops/models/base.py:16 +#: ops/models/base.py:53 ops/models/celery.py:87 ops/models/job.py:154 +#: ops/models/job.py:241 ops/models/playbook.py:30 ops/models/variable.py:17 +#: terminal/models/session/sharing.py:25 +msgid "Creator" +msgstr "Criador" + +#: audits/serializers.py:39 ops/models/base.py:52 ops/models/job.py:240 +#: xpack/plugins/cloud/manager.py:99 +msgid "Summary" +msgstr "Resumo" + +#: audits/serializers.py:40 ops/serializers/celery.py:33 +msgid "Execution cycle" +msgstr "Execução periódica" + +#: audits/serializers.py:93 +msgid "Reason display" +msgstr "Descrição da causa" + +#: audits/serializers.py:94 audits/serializers.py:208 +msgid "Auth backend display" +msgstr "Método de autenticação" + +#: audits/serializers.py:158 +msgid "%s %s this resource" +msgstr "O usuário %s %s o recurso atual" + +#: audits/serializers.py:196 authentication/models/connection_token.py:47 +#: authentication/models/temp_token.py:13 perms/models/asset_permission.py:80 +#: tickets/models/ticket/apply_application.py:31 +#: tickets/models/ticket/apply_asset.py:20 users/models/user/__init__.py:105 +msgid "Date expired" +msgstr "Data de expiração" + +#: audits/signal_handlers/activity_log.py:26 +msgid "User %s use account %s login asset %s" +msgstr "O usuário %s usa a conta %s para acessar o ativo %s" + +#: audits/signal_handlers/activity_log.py:34 +msgid "User %s login system %s" +msgstr "O usuário %s entrou no sistema %s" + +#: audits/signal_handlers/activity_log.py:64 +msgid "User %s perform a task for this resource: %s" +msgstr "O usuário %s realizou uma tarefa no recurso atual (%s)" + +#: audits/signal_handlers/login_log.py:33 +msgid "SSH Key" +msgstr "Chave SSH" + +#: audits/signal_handlers/login_log.py:35 settings/serializers/auth/sso.py:13 +msgid "SSO" +msgstr "SSO" + +#: audits/signal_handlers/login_log.py:36 +msgid "Auth Token" +msgstr "Token de autenticação" + +#: audits/signal_handlers/login_log.py:37 authentication/notifications.py:73 +#: authentication/views/login.py:78 notifications/backends/__init__.py:11 +#: settings/serializers/auth/wecom.py:11 settings/serializers/auth/wecom.py:16 +#: users/models/user/__init__.py:129 users/models/user/_source.py:19 +msgid "WeCom" +msgstr "WeChat corporativo" + +#: audits/signal_handlers/login_log.py:38 authentication/views/feishu.py:97 +#: authentication/views/login.py:90 notifications/backends/__init__.py:14 +#: settings/serializers/auth/feishu.py:12 +#: settings/serializers/auth/feishu.py:14 users/models/user/__init__.py:135 +#: users/models/user/_source.py:21 +msgid "FeiShu" +msgstr "Feishu" + +#: audits/signal_handlers/login_log.py:40 authentication/views/login.py:102 +#: authentication/views/slack.py:79 notifications/backends/__init__.py:16 +#: settings/serializers/auth/slack.py:11 settings/serializers/auth/slack.py:13 +#: users/models/user/__init__.py:141 users/models/user/_source.py:23 +msgid "Slack" +msgstr "Slack" + +#: audits/signal_handlers/login_log.py:41 authentication/views/dingtalk.py:151 +#: authentication/views/login.py:84 notifications/backends/__init__.py:12 +#: settings/serializers/auth/dingtalk.py:11 users/models/user/__init__.py:132 +#: users/models/user/_source.py:20 +msgid "DingTalk" +msgstr "DingTalk" + +#: audits/signal_handlers/login_log.py:42 +#: authentication/models/temp_token.py:16 +msgid "Temporary token" +msgstr "Senha temporária" + +#: audits/signal_handlers/login_log.py:43 authentication/views/login.py:108 +#: settings/serializers/auth/passkey.py:8 +#: settings/serializers/auth/passkey.py:11 +msgid "Passkey" +msgstr "Passkey" + +#: audits/tasks.py:132 +msgid "Clean audits session task log" +msgstr "Limpar logs de tarefas de auditoria de ativos" + +#: audits/tasks.py:134 +msgid "" +"Since the system generates login logs, operation logs, file upload logs, activity \n" +" logs, Celery execution logs, session recordings, command records, and password change \n" +" logs, it will perform cleanup of records that exceed the time limit according to the \n" +" 'Tasks - Regular clean-up' in the system settings at 2 a.m daily" +msgstr "" +"Como o sistema gerará logs de login, logs de operação, logs de upload de " +"arquivos, logs de atividades, logs de execução do celery, gravações de " +"sessão e registros de comandos, logs de alteração de senha, o sistema irá " +"limpar conforme a configuração em Sistema Configurações - Lista de Tarefas -" +" Limpeza Regular, para itens que excedem o tempo configurado, a limpeza será" +" feita todos os dias às 2 da manhã" + +#: audits/tasks.py:154 +msgid "Upload FTP file to external storage" +msgstr "Carregar arquivos FTP para armazenamento externo" + +#: audits/tasks.py:156 +msgid "" +"If SERVER_REPLAY_STORAGE is configured, files uploaded through file management will be \n" +" synchronized to external storage" +msgstr "" +"Se SERVER_REPLAY_STORAGE estiver configurado, os arquivos carregados através" +" do gerenciamento de arquivos serão sincronizados com o armazenamento " +"externo" + +#: authentication/api/access_key.py:39 +msgid "Access keys can be created at most 10" +msgstr "Podem ser criadas até 10 chaves de acesso" + +#: authentication/api/common.py:34 settings/serializers/auth/sms.py:122 +msgid "The value in the parameter must contain %s" +msgstr "O valor nos parâmetros deve conter %s" + +#: authentication/api/confirm.py:50 +msgid "This action require verify your MFA" +msgstr "" +"Essa ação requer a autenticação do seu MFA, por favor ative e configure " +"primeiro" + +#: authentication/api/connection_token.py:265 +msgid "Reusable connection token is not allowed, global setting not enabled" +msgstr "" +"Não é permitido o uso de tokens de conexão reutilizáveis, configuração " +"global desativada" + +#: authentication/api/connection_token.py:379 +msgid "Anonymous account is not supported for this asset" +msgstr "Contas anônimas não são suportadas no ativo atual" + +#: authentication/api/connection_token.py:399 +msgid "Account not found" +msgstr "Conta não encontrada" + +#: authentication/api/connection_token.py:402 +msgid "Permission expired" +msgstr "A autorização expirou" + +#: authentication/api/connection_token.py:435 +msgid "ACL action is reject: {}({})" +msgstr "A ação do ACL é negar: {}({})" + +#: authentication/api/connection_token.py:439 +msgid "ACL action is review" +msgstr "A ação do ACL é revisar" + +#: authentication/api/mfa.py:161 +msgid "Current user not support mfa type: {}" +msgstr "O usuário atual não suporta o tipo de MFA: {}" + +#: authentication/api/password.py:34 terminal/api/session/session.py:337 +#: users/views/profile/reset.py:63 +msgid "User does not exist: {}" +msgstr "Usuário não existe: {}" + +#: authentication/api/password.py:34 users/views/profile/reset.py:166 +msgid "No user matched" +msgstr "Nenhum usuário correspondente encontrado" + +#: authentication/api/password.py:38 +msgid "" +"The user is from {}, please go to the corresponding system to change the " +"password" +msgstr "" +"Usuário vem de {}, por favor, vá ao sistema correspondente para alterar a " +"senha" + +#: authentication/api/password.py:69 +#: authentication/templates/authentication/login.html:393 +#: users/templates/users/forgot_password.html:41 +#: users/templates/users/forgot_password.html:42 +#: users/templates/users/forgot_password_previewing.html:13 +#: users/templates/users/forgot_password_previewing.html:14 +msgid "Forgot password" +msgstr "Esqueceu a senha" + +#: authentication/apps.py:7 +msgid "App Authentication" +msgstr "管理" + +#: authentication/backends/custom.py:59 +#: authentication/backends/oauth2/backends.py:158 +msgid "User invalid, disabled or expired" +msgstr "Usuário inválido, desativado ou expirado" + +#: authentication/backends/drf.py:52 +msgid "Invalid token header. No credentials provided." +msgstr "Cabeçalho de token inválido. Nenhuma credencial fornecida." + +#: authentication/backends/drf.py:55 +msgid "Invalid token header. Sign string should not contain spaces." +msgstr "" +"Cabeçalho de token inválido. Cadeia de caracteres do token não deve conter " +"espaços." + +#: authentication/backends/drf.py:61 +msgid "" +"Invalid token header. Sign string should not contain invalid characters." +msgstr "" +"Cabeçalho de token inválido. Cadeia de caracteres do token não deve conter " +"caracteres inválidos." + +#: authentication/backends/drf.py:74 +msgid "Invalid token or cache refreshed." +msgstr "Token de atualização ou cache inválido." + +#: authentication/backends/oidc/views.py:174 +msgid "OpenID Error" +msgstr "Erro de OpenID" + +#: authentication/backends/oidc/views.py:175 +#: authentication/backends/saml2/views.py:282 +msgid "Please check if a user with the same username or email already exists" +msgstr "" +"Por favor, verifique se já existe um usuário com o mesmo nome de usuário ou " +"endereço de e-mail" + +#: authentication/backends/passkey/api.py:37 +msgid "Only register passkey for local user" +msgstr "Chave registrada apenas para usuários locais" + +#: authentication/backends/passkey/api.py:65 +msgid "Auth failed" +msgstr "Falha na autenticação" + +#: authentication/backends/passkey/fido.py:151 +msgid "This key is not registered" +msgstr "Esta chave não está registrada." + +#: authentication/backends/passkey/models.py:13 +msgid "Added on" +msgstr "Adicional" + +#: authentication/backends/passkey/models.py:14 +#: authentication/models/access_key.py:26 +#: authentication/models/private_token.py:8 +#: authentication/models/ssh_key.py:20 +msgid "Date last used" +msgstr "Data de uso final" + +#: authentication/backends/passkey/models.py:15 +msgid "Credential ID" +msgstr "ID de comprovante" + +#: authentication/backends/saml2/views.py:281 +msgid "SAML2 Error" +msgstr "Erro SAML2" + +#: authentication/confirm/password.py:16 +msgid "Authentication failed password incorrect" +msgstr "Falha na autenticação (nome de usuário ou senha incorreta)" + +#: authentication/confirm/relogin.py:10 +msgid "Login time has exceeded {} minutes, please login again" +msgstr "O tempo de login excedeu {} minutos, por favor faça login novamente" + +#: authentication/errors/const.py:18 +msgid "Username/password check failed" +msgstr "Falha na verificação de nome de usuário/senha" + +#: authentication/errors/const.py:19 +msgid "Password decrypt failed" +msgstr "Falha na descriptografia de senha" + +#: authentication/errors/const.py:20 +msgid "MFA failed" +msgstr "Falha na verificação MFA" + +#: authentication/errors/const.py:21 +msgid "MFA unset" +msgstr "MFA não configurado" + +#: authentication/errors/const.py:22 +msgid "Username does not exist" +msgstr "Nome de usuário não existe" + +#: authentication/errors/const.py:23 +msgid "Password expired" +msgstr "Senha expirou" + +#: authentication/errors/const.py:24 +msgid "Disabled or expired" +msgstr "Desabilitado ou inválido" + +#: authentication/errors/const.py:25 +msgid "This account is inactive." +msgstr "Esta conta foi desabilitada" + +#: authentication/errors/const.py:26 +msgid "This account is expired" +msgstr "Esta conta expirou." + +#: authentication/errors/const.py:27 +msgid "Auth backend not match" +msgstr "Não foi possível encontrar um backend autenticado" + +#: authentication/errors/const.py:28 +msgid "ACL is not allowed" +msgstr "O controle de acesso ao login não é permitido" + +#: authentication/errors/const.py:29 +msgid "Only local users are allowed" +msgstr "Apenas usuários locais são permitidos" + +#: authentication/errors/const.py:39 +msgid "No session found, check your cookie" +msgstr "A sessão mudou, atualize a página" + +#: authentication/errors/const.py:41 +msgid "" +"The username or password you entered is incorrect, please enter it again. " +"You can also try {times_try} times (The account will be temporarily locked " +"for {block_time} minutes)" +msgstr "" +"O nome de usuário ou senha que você inseriu está incorreto, por favor tente " +"novamente. Você ainda pode tentar {times_try} vezes (a conta será " +"temporariamente bloqueada por {block_time} minutos)" + +#: authentication/errors/const.py:47 authentication/errors/const.py:55 +msgid "" +"The account has been locked (please contact admin to unlock it or try again " +"after {} minutes)" +msgstr "" +"Sua conta está bloqueada (por favor, entre em contato com o administrador " +"para desbloqueá-la ou tente novamente em {} minutos)" + +#: authentication/errors/const.py:51 +msgid "" +"The address has been locked (please contact admin to unlock it or try again " +"after {} minutes)" +msgstr "" +"Seu IP está bloqueado (por favor, entre em contato com o administrador para " +"desbloqueá-lo ou tente novamente em {} minutos)" + +#: authentication/errors/const.py:59 +msgid "" +"{error}, You can also try {times_try} times (The account will be temporarily" +" locked for {block_time} minutes)" +msgstr "" +"{error}, você ainda pode tentar {times_try} vezes (a conta será " +"temporariamente bloqueada por {block_time} minutos)" + +#: authentication/errors/const.py:63 +msgid "MFA required" +msgstr "É necessário autenticação MFA" + +#: authentication/errors/const.py:64 +msgid "MFA not set, please set it first" +msgstr "" +"O MFA não está configurado, por favor, termine a configuração primeiro" + +#: authentication/errors/const.py:65 +msgid "Login confirm required" +msgstr "É necessário revisão de login" + +#: authentication/errors/const.py:66 +msgid "Wait login confirm ticket for accept" +msgstr "Esperando pela revisão do login" + +#: authentication/errors/const.py:67 +msgid "Login confirm ticket was {}" +msgstr "Revisão do login: {}" + +#: authentication/errors/failed.py:149 +msgid "Current login is prohibited by ACL rules" +msgstr "As regras de ACL atuais proíbem o login" + +#: authentication/errors/failed.py:154 +msgid "Please enter MFA code" +msgstr "Por favor, insira o código de verificação MFA" + +#: authentication/errors/failed.py:159 +msgid "Please enter SMS code" +msgstr "Por favor, insira o código de verificação por SMS" + +#: authentication/errors/failed.py:164 users/exceptions.py:14 +msgid "Phone not set" +msgstr "O número do celular não foi configurado" + +#: authentication/errors/mfa.py:8 +msgid "SSO auth closed" +msgstr "O autenticação SSO foi desativada" + +#: authentication/errors/mfa.py:18 authentication/views/wecom.py:48 +msgid "WeCom is already bound" +msgstr "WeChat corporativo já está vinculado" + +#: authentication/errors/mfa.py:23 authentication/views/wecom.py:143 +#: authentication/views/wecom.py:185 +msgid "WeCom is not bound" +msgstr "Não está vinculado ao WeChat corporativo" + +#: authentication/errors/mfa.py:28 authentication/views/dingtalk.py:203 +#: authentication/views/dingtalk.py:245 +msgid "DingTalk is not bound" +msgstr "Não está vinculado ao DingTalk" + +#: authentication/errors/mfa.py:33 authentication/views/feishu.py:130 +msgid "FeiShu is not bound" +msgstr "Não está vinculado ao Feishu" + +#: authentication/errors/mfa.py:38 authentication/views/lark.py:48 +msgid "Lark is not bound" +msgstr "Lark não está vinculado" + +#: authentication/errors/mfa.py:43 authentication/views/slack.py:119 +msgid "Slack is not bound" +msgstr "Slack não está vinculado" + +#: authentication/errors/mfa.py:48 +msgid "Your password is invalid" +msgstr "Sua senha é inválida" + +#: authentication/errors/mfa.py:53 +msgid "Please wait for %s seconds before retry" +msgstr "Por favor, tente novamente em %s segundos" + +#: authentication/errors/redirect.py:85 authentication/mixins.py:373 +msgid "Your password is too simple, please change it for security" +msgstr "Sua senha é muito simples, por segurança, por favor, modifique-a" + +#: authentication/errors/redirect.py:93 authentication/mixins.py:382 +msgid "You should to change your password before login" +msgstr "Antes de concluir o login, por favor, primeiro modifique sua senha" + +#: authentication/errors/redirect.py:101 authentication/mixins.py:391 +msgid "Your password has expired, please reset before logging in" +msgstr "Sua senha expirou, modifique-a antes de fazer o login" + +#: authentication/forms.py:34 +msgid "Auto-login" +msgstr "Login automático" + +#: authentication/forms.py:52 +msgid "MFA Code" +msgstr "Código de verificação MFA" + +#: authentication/forms.py:53 +msgid "MFA type" +msgstr "Tipo de MFA" + +#: authentication/forms.py:61 +#: authentication/templates/authentication/_captcha_field.html:15 +msgid "Captcha" +msgstr "Código de verificação" + +#: authentication/forms.py:66 users/forms/profile.py:28 +msgid "MFA code" +msgstr "Código de verificação MFA" + +#: authentication/forms.py:68 +msgid "Dynamic code" +msgstr "Código dinâmico" + +#: authentication/mfa/base.py:7 +msgid "Please input security code" +msgstr "Por favor, insira o código de segurança dinâmico" + +#: authentication/mfa/custom.py:20 +msgid "MFA Custom code invalid" +msgstr "Falha na validação do código de verificação MFA personalizado" + +#: authentication/mfa/custom.py:26 +msgid "MFA custom verification code" +msgstr "Código de verificação MFA personalizado" + +#: authentication/mfa/custom.py:56 +msgid "MFA custom global enabled, cannot disable" +msgstr "Personalizado MFA ativado globalmente, não pode ser desativado" + +#: authentication/mfa/face.py:11 +msgid "Face Recognition" +msgstr "Reconhecimento facial" + +#: authentication/mfa/face.py:21 authentication/mfa/face.py:23 +msgid "Facial comparison failed" +msgstr "Falha na comparação facial" + +#: authentication/mfa/face.py:54 +msgid "Bind face to enable" +msgstr "" + +#: authentication/mfa/face.py:58 +msgid "Unbind face to disable" +msgstr "" + +#: authentication/mfa/otp.py:7 +msgid "OTP code invalid, or server time error" +msgstr "" +"Erro no código de verificação MFA virtual, ou o tempo do servidor está " +"incorreto" + +#: authentication/mfa/otp.py:12 +msgid "OTP" +msgstr "MFA virtual" + +#: authentication/mfa/otp.py:13 +msgid "OTP verification code" +msgstr "Código de verificação MFA virtual" + +#: authentication/mfa/otp.py:48 +msgid "Virtual OTP based MFA" +msgstr "MFA virtual (OTP)" + +#: authentication/mfa/radius.py:7 +msgid "Radius verify code invalid" +msgstr "Verificação Radius falhou" + +#: authentication/mfa/radius.py:13 +msgid "Radius verification code" +msgstr "Código de segurança dinâmico Radius" + +#: authentication/mfa/radius.py:44 +msgid "Radius global enabled, cannot disable" +msgstr "O MFA Radius global está ativado, não pode ser desativado" + +#: authentication/mfa/sms.py:8 +msgid "SMS verify code invalid" +msgstr "Verificação de código de SMS falhou" + +#: authentication/mfa/sms.py:13 authentication/serializers/password_mfa.py:17 +#: authentication/serializers/password_mfa.py:25 +#: settings/serializers/auth/sms.py:18 settings/serializers/auth/sms.py:36 +#: users/forms/profile.py:104 users/forms/profile.py:111 +#: users/templates/users/forgot_password.html:157 +#: users/views/profile/reset.py:100 +msgid "SMS" +msgstr "SMS" + +#: authentication/mfa/sms.py:14 +msgid "SMS verification code" +msgstr "Código de verificação de SMS" + +#: authentication/mfa/sms.py:63 +msgid "Set phone number to enable" +msgstr "Ativar configuração de número de celular" + +#: authentication/mfa/sms.py:67 +msgid "Clear phone number to disable" +msgstr "Desativar ao deletar o número do celular" + +#: authentication/middleware.py:95 settings/utils/ldap.py:691 +msgid "Authentication failed (before login check failed): {}" +msgstr "Falha na autenticação (falha de verificação antes do login): {}" + +#: authentication/mixins.py:82 +msgid "User is invalid" +msgstr "Usuário inválido" + +#: authentication/mixins.py:97 +msgid "" +"The administrator has enabled 'Only allow login from user source'. \n" +" The current user source is {}. Please contact the administrator." +msgstr "" +"O administrador ativou 'permitir login apenas de origem do usuário', a " +"origem atual do usuário é {}, por favor, entre em contato com o " +"administrador." + +#: authentication/mixins.py:319 +msgid "The MFA type ({}) is not enabled" +msgstr "Este método MFA ({}) não está ativado" + +#: authentication/mixins.py:361 +msgid "Please change your password" +msgstr "Por favor, altere sua senha" + +#: authentication/models/access_key.py:22 +#: terminal/models/component/endpoint.py:113 +msgid "IP group" +msgstr "Grupo IP" + +#: authentication/models/connection_token.py:38 +#: terminal/serializers/storage.py:114 +msgid "Account name" +msgstr "Nome de usuário" + +#: authentication/models/connection_token.py:39 +msgid "Input username" +msgstr "Nome de usuário personalizado" + +#: authentication/models/connection_token.py:40 +#: authentication/serializers/connection_token.py:18 +msgid "Input secret" +msgstr "Senha personalizada" + +#: authentication/models/connection_token.py:41 +#: authentication/serializers/connect_token_secret.py:114 +#: settings/serializers/msg.py:28 terminal/models/applet/applet.py:43 +#: terminal/models/virtualapp/virtualapp.py:24 +#: terminal/serializers/session.py:23 terminal/serializers/session.py:50 +#: terminal/serializers/storage.py:71 +msgid "Protocol" +msgstr "Protocolo" + +#: authentication/models/connection_token.py:42 +msgid "Connect method" +msgstr "Método de conexão" + +#: authentication/models/connection_token.py:44 +msgid "User display" +msgstr "Nome do usuário" + +#: authentication/models/connection_token.py:45 +msgid "Asset display" +msgstr "Nome do ativo" + +#: authentication/models/connection_token.py:46 +msgid "Reusable" +msgstr "Pode ser reutilizado" + +#: authentication/models/connection_token.py:51 +#: perms/models/asset_permission.py:83 +msgid "From ticket" +msgstr "Vindo do ticket de suporte" + +#: authentication/models/connection_token.py:58 +msgid "Can expire connection token" +msgstr "Pode invalidar o token de conexão" + +#: authentication/models/connection_token.py:59 +msgid "Can reuse connection token" +msgstr "Pode reutilizar o token de conexão" + +#: authentication/models/connection_token.py:61 +msgid "Connection token" +msgstr "Token de conexão" + +#: authentication/models/connection_token.py:118 +msgid "Connection token inactive" +msgstr "Token de conexão não ativado" + +#: authentication/models/connection_token.py:122 +msgid "Connection token expired at: {}" +msgstr "Token de conexão expirou: {}" + +#: authentication/models/connection_token.py:125 +#: terminal/serializers/session.py:95 +msgid "No user or invalid user" +msgstr "Não tem usuário ou o usuário está inválido" + +#: authentication/models/connection_token.py:128 +msgid "No asset or inactive asset" +msgstr "Não tem ativo ou ativo não ativado." + +#: authentication/models/connection_token.py:274 +msgid "Can view super connection token secret" +msgstr "Pode ver o texto cifrado do token de super ligação" + +#: authentication/models/connection_token.py:276 +msgid "Super connection token" +msgstr "Token de super ligação" + +#: authentication/models/private_token.py:11 +msgid "Private Token" +msgstr "Token privado" + +#: authentication/models/ssh_key.py:15 terminal/serializers/storage.py:146 +#: users/models/user/__init__.py:93 +#: xpack/plugins/cloud/serializers/account_attrs.py:213 +msgid "Private key" +msgstr "Chave privada SSH" + +#: authentication/models/ssh_key.py:18 settings/serializers/terminal.py:34 +#: users/forms/profile.py:175 users/models/user/__init__.py:96 +#: xpack/plugins/cloud/serializers/account_attrs.py:210 +msgid "Public key" +msgstr "Chave pública SSH" + +#: authentication/models/sso_token.py:15 +msgid "Expired" +msgstr "Data de expiração" + +#: authentication/models/sso_token.py:20 +msgid "SSO token" +msgstr "Token SSO" + +#: authentication/models/temp_token.py:11 +msgid "Verified" +msgstr "Verificado" + +#: authentication/notifications.py:19 +msgid "Different city login reminder" +msgstr "Alerta de login remoto" + +#: authentication/notifications.py:52 +msgid "binding reminder" +msgstr "Alerta de vinculação" + +#: authentication/serializers/connect_token_secret.py:116 +msgid "Is builtin" +msgstr "Incorporado" + +#: authentication/serializers/connect_token_secret.py:120 +msgid "Options" +msgstr "Opção" + +#: authentication/serializers/connect_token_secret.py:127 +#: ops/notifications.py:19 rbac/tree.py:60 +msgid "Component" +msgstr "Componente" + +#: authentication/serializers/connect_token_secret.py:136 +#: perms/serializers/user_permission.py:28 xpack/plugins/cloud/models.py:389 +msgid "Domain" +msgstr "Domínio" + +#: authentication/serializers/connect_token_secret.py:138 +msgid "Expired now" +msgstr "Expira imediatamente" + +#: authentication/serializers/connect_token_secret.py:170 +#: terminal/models/virtualapp/virtualapp.py:25 +msgid "Image name" +msgstr "Nome da Imagem" + +#: authentication/serializers/connect_token_secret.py:171 +#: terminal/models/virtualapp/virtualapp.py:27 +msgid "Image port" +msgstr "Porta da Imagem" + +#: authentication/serializers/connect_token_secret.py:172 +#: terminal/models/virtualapp/virtualapp.py:26 +msgid "Image protocol" +msgstr "Protocolo da Imagem" + +#: authentication/serializers/connection_token.py:16 +msgid "Expired time" +msgstr "Data de Expiração" + +#: authentication/serializers/connection_token.py:20 +msgid "Ticket info" +msgstr "Informações do Pedido" + +#: authentication/serializers/connection_token.py:21 +#: perms/models/asset_permission.py:77 +#: tickets/models/ticket/apply_application.py:28 +#: tickets/models/ticket/apply_asset.py:18 +msgid "Actions" +msgstr "Ação" + +#: authentication/serializers/connection_token.py:42 +#: perms/serializers/permission.py:54 perms/serializers/permission.py:75 +#: users/serializers/user.py:127 users/serializers/user.py:278 +msgid "Is expired" +msgstr "Expirado" + +#: authentication/serializers/connection_token.py:43 +#: orgs/mixins/serializers.py:26 rbac/serializers/rolebinding.py:27 +msgid "Org name" +msgstr "Nome da Organização" + +#: authentication/serializers/password_mfa.py:30 +#: users/templates/users/forgot_password.html:153 +msgid "The {} cannot be empty" +msgstr "{} não pode estar vazio" + +#: authentication/serializers/ssh_key.py:17 +msgid "Automatically Generate Key Pair" +msgstr "Criar par de chaves automaticamente" + +#: authentication/serializers/ssh_key.py:19 +msgid "Import Existing Key Pair" +msgstr "Importar par de chaves existente" + +#: authentication/serializers/ssh_key.py:31 +msgid "Create Type" +msgstr "Tipo de Criação" + +#: authentication/serializers/ssh_key.py:33 +msgid "" +"Please download the private key after creation. Each private key can only be" +" downloaded once" +msgstr "" +"Após a criação, por favor, faça o download da chave privada, cada chave " +"privada só tem uma chance de download" + +#: authentication/serializers/ssh_key.py:57 users/forms/profile.py:164 +#: users/serializers/profile.py:133 users/serializers/profile.py:160 +msgid "Not a valid ssh public key" +msgstr "Chave SSH inválida" + +#: authentication/serializers/token.py:22 +msgid "Access IP" +msgstr "Lista de Permissões IP" + +#: authentication/serializers/token.py:92 perms/serializers/permission.py:53 +#: perms/serializers/permission.py:76 users/serializers/user.py:128 +#: users/serializers/user.py:275 +msgid "Is valid" +msgstr "É válido" + +#: authentication/tasks.py:13 +msgid "Clean expired session" +msgstr "Limpar sessões expiradas" + +#: authentication/tasks.py:15 +msgid "" +"Since user logins create sessions, the system will clean up expired sessions" +" every 24 hours" +msgstr "" +"Como as sessões são geradas quando os usuários fazem login no sistema, o " +"sistema limpa as sessões expiradas a cada 24 horas" + +#: authentication/templates/authentication/_access_key_modal.html:6 +msgid "API key list" +msgstr "Lista de API Keys" + +#: authentication/templates/authentication/_access_key_modal.html:18 +msgid "Using api key sign api header, every requests header difference" +msgstr "" +"Use a chave API para assinar o cabeçalho da solicitação, cada cabeçalho de " +"solicitação é diferente" + +#: authentication/templates/authentication/_access_key_modal.html:19 +msgid "docs" +msgstr "Documentação" + +#: authentication/templates/authentication/_access_key_modal.html:48 +msgid "Show" +msgstr "Exibir" + +#: authentication/templates/authentication/_access_key_modal.html:66 +#: users/const.py:42 users/templates/users/user_verify_mfa.html:36 +msgid "Disable" +msgstr "Desativar" + +#: authentication/templates/authentication/_access_key_modal.html:67 +#: users/const.py:43 users/templates/users/mfa_setting.html:120 +#: users/templates/users/mfa_setting.html:158 +#: users/templates/users/mfa_setting.html:177 +msgid "Enable" +msgstr "Ativar" + +#: authentication/templates/authentication/_access_key_modal.html:147 +msgid "Delete success" +msgstr "Exclusão bem-sucedida" + +#: authentication/templates/authentication/_captcha_field.html:8 +msgid "Play CAPTCHA as audio file" +msgstr "Código de verificação de reprodução de idioma" + +#: authentication/templates/authentication/_mfa_confirm_modal.html:5 +msgid "MFA confirm" +msgstr "Verificação de autenticação MFA" + +#: authentication/templates/authentication/_mfa_confirm_modal.html:17 +msgid "Need MFA for view auth" +msgstr "É necessário autenticação MFA para visualizar informações de conta" + +#: authentication/templates/authentication/_mfa_confirm_modal.html:20 +#: authentication/templates/authentication/auth_fail_flash_message_standalone.html:37 +#: templates/_modal.html:23 templates/flash_message_standalone.html:37 +#: users/templates/users/user_password_verify.html:20 +msgid "Confirm" +msgstr "Confirmar" + +#: authentication/templates/authentication/_mfa_confirm_modal.html:25 +msgid "Code error" +msgstr "Erro de código" + +#: authentication/templates/authentication/_msg_different_city.html:3 +#: authentication/templates/authentication/_msg_oauth_bind.html:3 +#: authentication/templates/authentication/_msg_reset_password.html:3 +#: authentication/templates/authentication/_msg_reset_password_code.html:9 +#: jumpserver/conf.py:539 +#: perms/templates/perms/_msg_item_permissions_expire.html:3 +#: tickets/templates/tickets/approve_check_password.html:32 +#: users/templates/users/_msg_account_expire_reminder.html:4 +#: users/templates/users/_msg_password_expire_reminder.html:4 +#: users/templates/users/_msg_reset_ssh_key.html:4 +msgid "Hello" +msgstr "Olá" + +#: authentication/templates/authentication/_msg_different_city.html:6 +msgid "Your account has remote login behavior, please pay attention" +msgstr "" +"Sua conta mostrou sinais de login de um local diferente, por favor, preste " +"atenção." + +#: authentication/templates/authentication/_msg_different_city.html:14 +msgid "" +"If you suspect that the login behavior is abnormal, please modify the " +"account password in time." +msgstr "" +"Se você suspeitar que este login é anormal, por favor, altere a senha da sua" +" conta o mais rápido possível" + +#: authentication/templates/authentication/_msg_oauth_bind.html:6 +msgid "Your account has just been bound to" +msgstr "Sua conta foi vinculada recentemente a" + +#: authentication/templates/authentication/_msg_oauth_bind.html:17 +msgid "If the operation is not your own, unbind and change the password." +msgstr "" +"Se esta ação não foi realizada por você, desvincule e altere sua senha" + +#: authentication/templates/authentication/_msg_reset_password.html:6 +msgid "" +"Please click the link below to reset your password, if not your request, " +"concern your account security" +msgstr "" +"Por favor, clique no link abaixo para redefinir sua senha, se você não " +"solicitou isso, por favor esteja ciente da segurança da sua conta" + +#: authentication/templates/authentication/_msg_reset_password.html:10 +msgid "Click here reset password" +msgstr "Clique aqui para redefinir sua senha" + +#: authentication/templates/authentication/_msg_reset_password.html:15 +#: users/templates/users/_msg_user_created.html:20 +msgid "This link is valid for 1 hour. After it expires" +msgstr "Este link é válido por 1 hora, se exceder esse tempo você pode" + +#: authentication/templates/authentication/_msg_reset_password.html:16 +#: users/templates/users/_msg_user_created.html:21 +msgid "request new one" +msgstr "Aplicar novamente" + +#: authentication/templates/authentication/_msg_reset_password_code.html:12 +#: terminal/models/session/sharing.py:27 terminal/models/session/sharing.py:97 +#: terminal/templates/terminal/_msg_session_sharing.html:12 +#: users/forms/profile.py:108 users/templates/users/forgot_password.html:98 +msgid "Verify code" +msgstr "código de verificação" + +#: authentication/templates/authentication/_msg_reset_password_code.html:15 +msgid "" +"Copy the verification code to the Reset Password page to reset the password." +msgstr "" +"Copie o código de verificação para a página de redefinição de senha para " +"redefinir sua senha." + +#: authentication/templates/authentication/_msg_reset_password_code.html:18 +msgid "The validity period of the verification code is one minute" +msgstr "O código de verificação é válido por 1 minuto" + +#: authentication/templates/authentication/_msg_rest_password_success.html:5 +msgid "Your password has just been successfully updated" +msgstr "Sua senha foi atualizada com sucesso" + +#: authentication/templates/authentication/_msg_rest_password_success.html:9 +#: authentication/templates/authentication/_msg_rest_public_key_success.html:9 +msgid "Browser" +msgstr "navegador" + +#: authentication/templates/authentication/_msg_rest_password_success.html:12 +msgid "" +"If the password update was not initiated by you, your account may have " +"security issues" +msgstr "" +"Se essa atualização da senha não foi iniciada por você, sua conta pode ter " +"um problema de segurança." + +#: authentication/templates/authentication/_msg_rest_password_success.html:13 +#: authentication/templates/authentication/_msg_rest_public_key_success.html:13 +msgid "If you have any questions, you can contact the administrator" +msgstr "" +"Se tiver dúvidas ou necessidades, entre em contato com o administrador do " +"sistema" + +#: authentication/templates/authentication/_msg_rest_public_key_success.html:5 +msgid "Your public key has just been successfully updated" +msgstr "Sua chave pública foi atualizada com sucesso" + +#: authentication/templates/authentication/_msg_rest_public_key_success.html:12 +msgid "" +"If the public key update was not initiated by you, your account may have " +"security issues" +msgstr "" +"Se esta atualização de chave pública não foi iniciada por você, sua conta " +"pode ter problemas de segurança" + +#: authentication/templates/authentication/auth_fail_flash_message_standalone.html:28 +#: templates/flash_message_standalone.html:28 tickets/const.py:18 +msgid "Cancel" +msgstr "Cancelar" + +#: authentication/templates/authentication/face_capture.html:14 +msgid "Retry" +msgstr "Repetir" + +#: authentication/templates/authentication/login.html:308 +msgid "" +"Configuration file has problems and cannot be logged in. Please contact the " +"administrator or view latest docs" +msgstr "" +"Existe um problema com o arquivo de configuração, não é possível fazer " +"login, entre em contato com o administrador ou consulte a documentação mais " +"recente " + +#: authentication/templates/authentication/login.html:309 +msgid "If you are administrator, you can update the config resolve it, set" +msgstr "" +"Se você é um administrador, você pode resolver atualizando o arquivo de " +"configuração, definindo opções de configuração" + +#: authentication/templates/authentication/login.html:408 +msgid "More login options" +msgstr "Entre de outra maneira" + +#: authentication/templates/authentication/login_mfa.html:6 +msgid "MFA Auth" +msgstr "Autenticação MFA de múltiplos fatores" + +#: authentication/templates/authentication/login_mfa.html:19 +#: users/templates/users/user_otp_check_password.html:12 +#: users/templates/users/user_otp_enable_bind.html:24 +#: users/templates/users/user_otp_enable_install_app.html:31 +#: users/templates/users/user_verify_mfa.html:30 +msgid "Next" +msgstr "Próximo passo" + +#: authentication/templates/authentication/login_mfa.html:22 +msgid "Can't provide security? Please contact the administrator!" +msgstr "" +"Se você não consegue fornecer um código de verificação MFA, entre em contato" +" com o administrador!" + +#: authentication/templates/authentication/login_wait_confirm.html:41 +msgid "Refresh" +msgstr "Atualizar" + +#: authentication/templates/authentication/login_wait_confirm.html:46 +msgid "Copy link" +msgstr "Copiar link" + +#: authentication/templates/authentication/login_wait_confirm.html:51 +msgid "Return" +msgstr "Voltar" + +#: authentication/templates/authentication/login_wait_confirm.html:117 +msgid "Copy success" +msgstr "Copia realizada com sucesso" + +#: authentication/templates/authentication/passkey.html:162 +msgid "" +"This page is not served over HTTPS. Please use HTTPS to ensure security of " +"your credentials." +msgstr "" +"Esta página não está usando o protocolo HTTPS, por favor, use o protocolo " +"HTTPS para garantir a segurança de suas credenciais." + +#: authentication/templates/authentication/passkey.html:173 +msgid "Do you want to retry ?" +msgstr "Quer tentar novamente?" + +#: authentication/utils.py:24 common/utils/ip/geoip/utils.py:24 +#: xpack/plugins/cloud/const.py:33 +msgid "LAN" +msgstr "LAN" + +#: authentication/views/base.py:71 +#: perms/templates/perms/_msg_permed_items_expire.html:20 +msgid "If you have any question, please contact the administrator" +msgstr "" +"Se tiver dúvidas ou necessidades, por favor, contate o administrador do " +"sistema" + +#: authentication/views/base.py:141 +msgid "%s query user failed" +msgstr "Falha na consulta do usuário %s" + +#: authentication/views/base.py:149 +msgid "The %s is already bound to another user" +msgstr "%s já está vinculado a outro usuário" + +#: authentication/views/base.py:155 +msgid "Binding %s successfully" +msgstr "Vinculação bem-sucedida com %s" + +#: authentication/views/dingtalk.py:42 +msgid "DingTalk Error, Please contact your system administrator" +msgstr "Erro no DingTalk, por favor, contate o administrador do sistema" + +#: authentication/views/dingtalk.py:45 authentication/views/dingtalk.py:202 +msgid "DingTalk Error" +msgstr "Erro no DingTalk" + +#: authentication/views/dingtalk.py:53 +msgid "DingTalk is already bound" +msgstr "DingTalk já está vinculado" + +#: authentication/views/dingtalk.py:122 +msgid "Invalid user_id" +msgstr "ID do usuário inválido" + +#: authentication/views/dingtalk.py:138 +msgid "DingTalk query user failed" +msgstr "Falha na consulta do usuário DingTalk" + +#: authentication/views/dingtalk.py:146 +msgid "The DingTalk is already bound to another user" +msgstr "Este DingTalk já está vinculado a outro usuário" + +#: authentication/views/dingtalk.py:152 +msgid "Binding DingTalk successfully" +msgstr "Vinculação bem-sucedida com DingTalk" + +#: authentication/views/dingtalk.py:204 authentication/views/dingtalk.py:239 +msgid "Failed to get user from DingTalk" +msgstr "Falha ao obter usuário do DingTalk" + +#: authentication/views/dingtalk.py:246 +msgid "Please login with a password and then bind the DingTalk" +msgstr "Por favor, faça login com a senha e então vincule ao DingTalk" + +#: authentication/views/feishu.py:43 authentication/views/feishu.py:129 +msgid "FeiShu Error" +msgstr "Erro no Feishu" + +#: authentication/views/feishu.py:44 +msgid "FeiShu is already bound" +msgstr "Feishu já está vinculado" + +#: authentication/views/feishu.py:131 +msgid "Failed to get user from FeiShu" +msgstr "Falha ao obter usuário do Feishu" + +#: authentication/views/lark.py:19 authentication/views/lark.py:47 +msgid "Lark Error" +msgstr "Erro no Lark" + +#: authentication/views/lark.py:20 +msgid "Lark is already bound" +msgstr "Lark já está vinculado" + +#: authentication/views/lark.py:49 +msgid "Failed to get user from Lark" +msgstr "Falha ao obter usuário do Lark" + +#: authentication/views/login.py:218 +msgid "Redirecting" +msgstr "Redirecionando" + +#: authentication/views/login.py:219 +msgid "Redirecting to {} authentication" +msgstr "Redirecionando para a autenticação {}" + +#: authentication/views/login.py:242 +msgid "Login timeout, please try again." +msgstr "Login expirou, por favor, faça login novamente" + +#: authentication/views/login.py:287 +msgid "User email already exists ({})" +msgstr "O e-mail do usuário já existe ({})" + +#: authentication/views/login.py:364 +msgid "" +"Wait for {} confirm, You also can copy link to her/him
\n" +" Don't close this page" +msgstr "" +"Aguardando {} confirmação, você também pode copiar o link e enviar para ele/ela
\n" +" Não feche esta página" + +#: authentication/views/login.py:369 +msgid "No ticket found" +msgstr "Nenhum ticket de suporte encontrado" + +#: authentication/views/login.py:405 +msgid "Logout success" +msgstr "Sair com sucesso" + +#: authentication/views/login.py:406 +msgid "Logout success, return login page" +msgstr "Logout bem-sucedido, retornando à página de login" + +#: authentication/views/mixins.py:39 +msgid "" +"For your safety, automatic redirection login is not supported on the client." +" If you need to open it in the client, please log in again" +msgstr "" +"Para sua segurança, o cliente não suporta login automático. Se necessário " +"abrir no cliente, por favor, faça login novamente" + +#: authentication/views/slack.py:35 authentication/views/slack.py:118 +msgid "Slack Error" +msgstr "Erro no Slack" + +#: authentication/views/slack.py:55 +msgid "Slack is already bound" +msgstr "Slack já está vinculado" + +#: authentication/views/slack.py:120 +msgid "Failed to get user from Slack" +msgstr "Falha ao obter usuário do Slack" + +#: authentication/views/wecom.py:37 +msgid "WeCom Error, Please contact your system administrator" +msgstr "" +"Erro no WeChat corporativo, por favor, contate o administrador do sistema" + +#: authentication/views/wecom.py:40 authentication/views/wecom.py:142 +msgid "WeCom Error" +msgstr "Erro do WeChat corporativo" + +#: authentication/views/wecom.py:102 +msgid "Wecom" +msgstr "WeChat corporativo" + +#: authentication/views/wecom.py:144 authentication/views/wecom.py:179 +msgid "Failed to get user from WeCom" +msgstr "Falha ao obter usuário do WeChat corporativo" + +#: authentication/views/wecom.py:186 +msgid "Please login with a password and then bind the WeCom" +msgstr "Faça login com senha e em seguida vincule ao WeChat corporativo" + +#: common/api/action.py:57 +msgid "Request file format may be wrong" +msgstr "" +"O formato do arquivo carregado está errado ou é um arquivo de outro tipo de " +"recurso" + +#: common/const/choices.py:41 +msgid "China" +msgstr "China" + +#: common/const/choices.py:58 +msgid "Manual trigger" +msgstr "Acionar manualmente" + +#: common/const/choices.py:59 +msgid "Timing trigger" +msgstr "Acionar automaticamente" + +#: common/const/choices.py:63 +msgid "Ready" +msgstr "Preparado" + +#: common/const/choices.py:65 ops/const.py:73 +msgid "Running" +msgstr "Em execução" + +#: common/const/choices.py:69 +msgid "Canceled" +msgstr "Cancelar" + +#: common/const/choices.py:121 terminal/models/applet/applet.py:31 +msgid "Community edition" +msgstr "Versão Comunitária" + +#: common/const/choices.py:122 +msgid "Basic edition" +msgstr "Versão Básica Empresarial" + +#: common/const/choices.py:123 +msgid "Standard edition" +msgstr "Versão Padrão Empresarial" + +#: common/const/choices.py:124 +msgid "Professional edition" +msgstr "Versão Profissional Empresarial" + +#: common/const/choices.py:125 +msgid "Ultimate edition" +msgstr "Versão Premium Empresarial" + +#: common/const/common.py:5 xpack/plugins/cloud/manager.py:429 +msgid "%(name)s was created successfully" +msgstr "%(name)s criado com sucesso" + +#: common/const/common.py:6 +msgid "%(name)s was updated successfully" +msgstr "%(name)s atualizado com sucesso" + +#: common/db/encoder.py:11 +msgid "gettext_lazy" +msgstr "gettext_lazy" + +#: common/db/fields.py:105 +msgid "Marshal dict data to char field" +msgstr "Codificar dict como char" + +#: common/db/fields.py:109 +msgid "Marshal dict data to text field" +msgstr "Codificar dict como texto" + +#: common/db/fields.py:121 +msgid "Marshal list data to char field" +msgstr "Codificar lista como char" + +#: common/db/fields.py:125 +msgid "Marshal list data to text field" +msgstr "Codificar lista como texto" + +#: common/db/fields.py:129 +msgid "Marshal data to char field" +msgstr "Codificar dados como char" + +#: common/db/fields.py:133 +msgid "Marshal data to text field" +msgstr "Codificar dados como texto" + +#: common/db/fields.py:166 +msgid "Encrypt field using Secret Key" +msgstr "Campos criptografados" + +#: common/db/fields.py:577 +msgid "" +"Invalid JSON data for JSONManyToManyField, should be like {'type': 'all'} or" +" {'type': 'ids', 'ids': []} or {'type': 'attrs', 'attrs': [{'name': 'ip', " +"'match': 'exact', 'value': '1.1.1.1'}}" +msgstr "" +"O campo JSON muitos para muitos é inválido, deve ser {'type': 'all'} ou " +"{'type': 'ids', 'ids': []} ou {'type': 'attrs', 'attrs': [{'name': 'ip', " +"'match': 'exato', 'value': '1.1.1.1'}}" + +#: common/db/fields.py:584 +msgid "Invalid type, should be \"all\", \"ids\" or \"attrs\"" +msgstr "Tipo inválido, deve ser all, ids ou attrs" + +#: common/db/fields.py:587 +msgid "Invalid ids for ids, should be a list" +msgstr "ID inválido, deve ser uma lista" + +#: common/db/fields.py:589 common/db/fields.py:594 +#: common/serializers/fields.py:144 terminal/serializers/session.py:81 +#: tickets/serializers/ticket/common.py:58 +#: xpack/plugins/cloud/serializers/account_attrs.py:56 +#: xpack/plugins/cloud/serializers/account_attrs.py:79 +#: xpack/plugins/cloud/serializers/account_attrs.py:150 +msgid "This field is required." +msgstr "Este campo é obrigatório." + +#: common/db/fields.py:592 common/db/fields.py:597 +msgid "Invalid attrs, should be a list of dict" +msgstr "Atributo inválido, deve ser uma lista de dict" + +#: common/db/fields.py:599 +msgid "Invalid attrs, should be has name and value" +msgstr "Atributo inválido, deve ter nome e valor" + +#: common/db/mixins.py:32 +msgid "is discard" +msgstr "Ignorado" + +#: common/db/mixins.py:33 +msgid "discard time" +msgstr "Tempo ignorado" + +#: common/db/models.py:33 users/models/user/__init__.py:111 +msgid "Updated by" +msgstr "Último atualizador" + +#: common/db/validators.py:9 +msgid "Invalid port range, should be like and within {}-{}" +msgstr "Intervalo de porta inválido, deve estar entre {}-{}" + +#: common/drf/exc_handlers.py:28 +msgid "Object" +msgstr "Objeto" + +#: common/drf/metadata.py:127 +msgid "Org ID" +msgstr "ID da Organização" + +#: common/drf/parsers/base.py:21 +msgid "The file content overflowed (The maximum length `{}` bytes)" +msgstr "Conteúdo do arquivo muito grande (tamanho máximo `{}` bytes)" + +#: common/drf/parsers/base.py:207 +msgid "Parse file error: {}" +msgstr "Erro ao analisar o arquivo: {}" + +#: common/drf/parsers/excel.py:14 +msgid "Invalid excel file" +msgstr "Arquivo excel inválido" + +#: common/drf/renders/base.py:138 +msgid "Yes/No" +msgstr "Sim/Não" + +#: common/drf/renders/base.py:141 +msgid "Text, max length {}" +msgstr "Texto, comprimento máximo {}" + +#: common/drf/renders/base.py:143 +msgid "Long text, no length limit" +msgstr "Texto longo, sem limite de comprimento" + +#: common/drf/renders/base.py:145 +msgid "Number, min {} max {}" +msgstr "Número, mínimo {} máximo {}" + +#: common/drf/renders/base.py:148 +msgid "Datetime format {}" +msgstr "Formato de data e hora {}" + +#: common/drf/renders/base.py:154 +msgid "" +"Choices, format name(value), name is optional for human read, value is " +"requisite, options {}" +msgstr "" +"Opção, formato: nome(valor), o nome é opcional, para facilitar a leitura, o " +"valor é obrigatório, as opções são {}" + +#: common/drf/renders/base.py:157 +msgid "Choices, options {}" +msgstr "Opção, as opções são {}" + +#: common/drf/renders/base.py:159 +msgid "Phone number, format +8612345678901" +msgstr "Número de telefone, formato +8612345678901" + +#: common/drf/renders/base.py:161 +msgid "Label, format [\"key:value\"]" +msgstr "Etiqueta, formato: [\"chave:valor\"]" + +#: common/drf/renders/base.py:163 +msgid "" +"Object, format name(id), name is optional for human read, id is requisite" +msgstr "" +"Item associado, formato: nome(id), o nome é opcional, para facilitar a " +"leitura, o id é obrigatório" + +#: common/drf/renders/base.py:165 +msgid "Object, format id" +msgstr "Item associado, o formato é id" + +#: common/drf/renders/base.py:169 +msgid "" +"Objects, format [\"name(id)\", ...], name is optional for human read, id is " +"requisite" +msgstr "" +"Múltiplos itens associados, formato: [\"nome(id)\", ...], o nome é opcional," +" para facilitar a leitura, o id é obrigatório" + +#: common/drf/renders/base.py:171 +msgid "Labels, format [\"key:value\", ...], if label not exists, will create it" +msgstr "" +"Etiquetas, formato: [\"chave:valor\", ...], se a etiqueta não existir, ela " +"será criada" + +#: common/drf/renders/base.py:173 +msgid "Objects, format [\"id\", ...]" +msgstr "Múltiplos itens associados, o formato é [\"id\", ...]" + +#: common/drf/renders/base.py:271 +msgid "" +"{} - The encryption password has not been set - please go to personal " +"information -> file encryption password to set the encryption password" +msgstr "" +"{} - Senha de criptografia não definida - Vá para Informações pessoais -> " +"Senha de criptografia de arquivo para definir a senha de criptografia" + +#: common/exceptions.py:15 xpack/plugins/cloud/ws.py:37 +msgid "%s object does not exist." +msgstr "%s o objeto não existe" + +#: common/exceptions.py:25 +msgid "Someone else is doing this. Please wait for complete" +msgstr "Outra pessoa está operando, por favor, espere que ela termine" + +#: common/exceptions.py:30 +msgid "Your request timeout" +msgstr "Seu pedido expirou" + +#: common/exceptions.py:35 +msgid "M2M reverse not allowed" +msgstr "Muitos para muitos inversos não são permitidos" + +#: common/exceptions.py:41 +msgid "Is referenced by other objects and cannot be deleted" +msgstr "Associado a outros objetos, não pode ser excluído" + +#: common/exceptions.py:51 +msgid "This action require confirm current user" +msgstr "Esta Action requer a confirmação do usuário atual" + +#: common/exceptions.py:59 +msgid "Unexpect error occur" +msgstr "Um erro inesperado ocorreu" + +#: common/plugins/es.py:35 +msgid "Invalid elasticsearch config" +msgstr "Configuração inválida do Elasticsearch" + +#: common/plugins/es.py:40 +msgid "Not Support Elasticsearch8" +msgstr "Elasticsearch8 não suportado" + +#: common/plugins/es.py:46 +msgid "" +"Connection failed: Self-signed certificate used. Please check server " +"certificate configuration" +msgstr "" +"Falha na conexão: Certificado auto-assinado utilizado, verifique a " +"configuração do certificado do servidor" + +#: common/sdk/im/exceptions.py:23 +msgid "Network error, please contact system administrator" +msgstr "Erro de rede, por favor, contate o administrador do sistema" + +#: common/sdk/im/slack/__init__.py:78 +msgid "Unknown error occur" +msgstr "Ocorreu um erro desconhecido" + +#: common/sdk/im/wecom/__init__.py:19 +msgid "WeCom error, please contact system administrator" +msgstr "" +"Erro do WeChat corporativo, por favor, contate o administrador do sistema" + +#: common/sdk/sms/alibaba.py:56 +msgid "Signature does not match" +msgstr "Assinatura não coincide" + +#: common/sdk/sms/cmpp2.py:44 +msgid "sp_id is 6 bits" +msgstr "SP_id tem 6 dígitos" + +#: common/sdk/sms/cmpp2.py:214 +msgid "Failed to connect to the CMPP gateway server, err: {}" +msgstr "Erro de conexão com o servidor de gateway, erro: {}" + +#: common/sdk/sms/custom_file.py:41 +msgid "The custom sms file is invalid" +msgstr "Arquivo de SMS personalizado inválido" + +#: common/sdk/sms/custom_file.py:47 +msgid "SMS sending failed[%s]: %s" +msgstr "Falha no envio de SMS[%s]: %s" + +#: common/sdk/sms/endpoint.py:16 +msgid "Alibaba cloud" +msgstr "Alibaba Cloud" + +#: common/sdk/sms/endpoint.py:17 +msgid "Tencent cloud" +msgstr "Tencent Cloud" + +#: common/sdk/sms/endpoint.py:18 xpack/plugins/cloud/const.py:13 +msgid "Huawei Cloud" +msgstr "Huawei Cloud" + +#: common/sdk/sms/endpoint.py:19 +msgid "CMPP v2.0" +msgstr "CMPP v2.0" + +#: common/sdk/sms/endpoint.py:21 +msgid "Custom type (File)" +msgstr "Personalizado (arquivo)" + +#: common/sdk/sms/endpoint.py:32 +msgid "SMS provider not support: {}" +msgstr "Provedor de serviço de SMS não suportado: {}" + +#: common/sdk/sms/endpoint.py:54 +msgid "SMS verification code signature or template invalid" +msgstr "Assinatura de SMS código de verificação ou modelo inválido" + +#: common/sdk/sms/exceptions.py:8 +msgid "The verification code has expired. Please resend it" +msgstr "Código de verificação expirou, por favor, reenvie" + +#: common/sdk/sms/exceptions.py:13 +msgid "The verification code is incorrect" +msgstr "Código de verificação incorreto" + +#: common/sdk/sms/exceptions.py:18 +msgid "Please wait {} seconds before sending" +msgstr "Por favor, envie depois de {} segundos" + +#: common/serializers/common.py:90 +msgid "Children" +msgstr "Nó" + +#: common/serializers/common.py:98 +msgid "File" +msgstr "Arquivo" + +#: common/serializers/fields.py:137 +msgid "Invalid data type" +msgstr "Dados inválidos" + +#: common/serializers/fields.py:145 +msgid "Invalid pk \"{pk_value}\" - object does not exist." +msgstr "Erro no pk \"{pk_value}\" - objeto não existe" + +#: common/serializers/fields.py:146 +msgid "Incorrect type. Expected pk value, received {data_type}." +msgstr "Tipo de erro. Esperado valor pk, recebido {data_type}." + +#: common/serializers/fields.py:220 +msgid "Invalid data type, should be list" +msgstr "Tipo de dado errado, deveria ser uma lista" + +#: common/serializers/fields.py:235 +msgid "Invalid choice: {}" +msgstr "Opção inválida: {}" + +#: common/serializers/mixin.py:452 terminal/models/applet/applet.py:45 +#: terminal/models/virtualapp/virtualapp.py:29 +msgid "Tags" +msgstr "Etiqueta" + +#: common/tasks.py:32 +msgid "Send email" +msgstr "Email de remetente" + +#: common/tasks.py:35 +msgid "This task will be executed when sending email notifications" +msgstr "Executar essa ação ao enviar uma mensagem de email" + +#: common/tasks.py:65 +msgid "Send email attachment" +msgstr "Enviar anexo de email" + +#: common/tasks.py:68 +msgid "" +"When an account password is changed or an account backup generates attachments, \n" +" this task needs to be executed for sending emails and handling attachments" +msgstr "" +"Quando a senha da conta é alterada, um backup da conta gera um anexo, é " +"necessário enviar um email e o anexo, execute esta ação" + +#: common/tasks.py:94 +msgid "Upload account backup to external storage" +msgstr "Upload de gravação de sessão para armazenamento externo" + +#: common/tasks.py:96 +msgid "" +"When performing an account backup, this task needs to be executed to " +"external storage (SFTP)" +msgstr "" +"Quando uma backup da conta é executado, você precisa ir para o armazenamento" +" externo (sftp), execute esta ação" + +#: common/utils/ip/geoip/utils.py:26 +msgid "Invalid ip" +msgstr "IP inválido" + +#: common/utils/ip/utils.py:98 +msgid "Invalid address" +msgstr "Endereço inválido" + +#: common/utils/translate.py:46 +msgid "Hello %s" +msgstr "Olá %s" + +#: common/utils/verify_code.py:17 +msgid "Send SMS code" +msgstr "Enviar código de verificação SMS" + +#: common/utils/verify_code.py:19 +msgid "" +"When resetting a password, forgetting a password, or verifying MFA, this task needs to \n" +" be executed to send SMS messages" +msgstr "" +"Quando redefinir a senha, esquecer a senha, validar a MFA, essa tarefa é " +"executada quando é necessário enviar uma mensagem de texto" + +#: common/validators.py:16 +msgid "Special char not allowed" +msgstr "Não pode conter caracteres especiais" + +#: common/validators.py:42 +msgid "Should not contains special characters" +msgstr "Não pode conter caracteres especiais" + +#: common/validators.py:47 +msgid "The mobile phone number format is incorrect" +msgstr "Formato de número de telefone incorreto" + +#: jumpserver/conf.py:533 +msgid "The verification code is: {code}" +msgstr "Seu código de verificação é: {code}" + +#: jumpserver/conf.py:538 +msgid "Create account successfully" +msgstr "Conta criada com sucesso" + +#: jumpserver/conf.py:540 +msgid "Your account has been created successfully" +msgstr "Sua conta foi criada com sucesso" + +#: jumpserver/context_processor.py:14 +msgid "JumpServer - An open-source PAM" +msgstr "JumpServer Machine Fortress de código aberto" + +#: jumpserver/views/celery_flower.py:22 +msgid "

Flower service unavailable, check it

" +msgstr "O serviço Flower não está disponível, por favor verifique" + +#: jumpserver/views/other.py:28 +msgid "" +"
Luna is a separately deployed program, you need to deploy Luna, koko, " +"configure nginx for url distribution,
If you see this page, " +"prove that you are not accessing the nginx listening port. Good luck." +msgstr "" +"
Luna é um programa implantado separadamente, você precisa implantar " +"luna, koko,
Se você está vendo esta página, significa que você " +"não está acessando a porta monitorada pelo nginx, boa sorte
" + +#: jumpserver/views/other.py:76 +msgid "Websocket server run on port: {}, you should proxy it on nginx" +msgstr "" +"Serviço Websocket rodando na porta: {}, por favor verificar se o nginx está " +"configurado para proxy" + +#: jumpserver/views/other.py:90 +msgid "" +"
Koko is a separately deployed program, you need to deploy Koko, " +"configure nginx for url distribution,
If you see this page, " +"prove that you are not accessing the nginx listening port. Good luck." +msgstr "" +"
Koko é um programa implantado separadamente, você precisa implantar " +"Koko, e garantir que o nginx esteja configurado para transmissão, " +"
Se você está vendo essa página, significa que a porta que você " +"está acessando não está sendo monitorada pelo nginx, boa sorte
" + +#: labels/apps.py:8 +msgid "App Labels" +msgstr "标签管理" + +#: labels/models.py:15 +msgid "Color" +msgstr "Cor" + +#: labels/models.py:20 labels/models.py:39 +msgid "Tag" +msgstr "Etiqueta" + +#: labels/models.py:43 +msgid "Resource ID" +msgstr "ID do recurso" + +#: labels/models.py:49 +msgid "Tagged resource" +msgstr "Recurso associado" + +#: labels/serializers.py:22 +msgid "Resource count" +msgstr "Quantidade de recursos" + +#: labels/serializers.py:28 +msgid "Cannot contain \":,\"" +msgstr "Não pode conter \":,\"" + +#: labels/serializers.py:43 +msgid "Resource type" +msgstr "Tipo de recurso" + +#: notifications/apps.py:7 +msgid "App Notifications" +msgstr "管理" + +#: notifications/backends/__init__.py:13 +msgid "Site message" +msgstr "Mensagem interna" + +#: notifications/models/notification.py:14 +msgid "receive backend" +msgstr "Backend de mensagens" + +#: notifications/models/notification.py:18 +msgid "User message" +msgstr "Mensagem do usuário" + +#: notifications/models/notification.py:21 +msgid "{} subscription" +msgstr "{} Assinar" + +#: notifications/models/notification.py:34 +msgid "System message" +msgstr "Informações do sistema" + +#: notifications/notifications.py:46 +msgid "Publish the station message" +msgstr "Publicar mensagem interna" + +#: notifications/notifications.py:48 +msgid "" +"This task needs to be executed for sending internal messages for system alerts, \n" +" work orders, and other notifications" +msgstr "" +"Sistema de alguns alertas, ordens de serviço, etc. precisam enviar uma " +"mensagem interna ao executar essa tarefa" + +#: ops/ansible/inventory.py:116 ops/models/job.py:68 +msgid "No account available" +msgstr "Sem conta disponível" + +#: ops/ansible/inventory.py:296 +msgid "Ansible disabled" +msgstr "Ansible desativado" + +#: ops/ansible/inventory.py:312 +msgid "Skip hosts below:" +msgstr "Pulando os hosts seguintes: " + +#: ops/api/adhoc.py:32 +msgid "Deleting other people's script is not allowed" +msgstr "Não é permitido excluir os scripts de outras pessoas" + +#: ops/api/celery.py:66 ops/api/celery.py:81 +msgid "Waiting task start" +msgstr "Aguardando o início da tarefa" + +#: ops/api/celery.py:262 +msgid "Task {} not found" +msgstr "A tarefa {} não existe" + +#: ops/api/celery.py:269 +msgid "Task {} args or kwargs error" +msgstr "Erro nos parâmetros de execução da tarefa {}" + +#: ops/api/job.py:68 +msgid "" +"Asset ({asset}) must have at least one of the following protocols added: " +"SSH, SFTP, or WinRM" +msgstr "" +"O ativo ({asset}) deve adicionar pelo menos um dos seguintes protocolos: " +"ssh, sftp, winrm" + +#: ops/api/job.py:69 +msgid "Asset ({asset}) authorization is missing SSH, SFTP, or WinRM protocol" +msgstr "Falta de autorização de ssh, sftp ou winrm para o ativo ({asset})" + +#: ops/api/job.py:70 +msgid "Asset ({asset}) authorization lacks upload permissions" +msgstr "O ativo ({asset}) não tem permissão para upload" + +#: ops/api/job.py:158 +msgid "Duplicate file exists" +msgstr "Existe um arquivo com o mesmo nome" + +#: ops/api/job.py:163 +msgid "" +"File size exceeds maximum limit. Please select a file smaller than {limit}MB" +msgstr "" +"O tamanho do arquivo excede o limite máximo. Por favor, selecione um arquivo" +" menor que {limit}MB." + +#: ops/api/job.py:236 +msgid "" +"The task is being created and cannot be interrupted. Please try again later." +msgstr "" +"A tarefa está sendo criada e não pode ser interrompida, tente novamente mais" +" tarde." + +#: ops/api/playbook.py:49 +msgid "Deleting other people's playbook is not allowed" +msgstr "Não é permitido excluir o playbook de outra pessoa" + +#: ops/api/playbook.py:55 +msgid "Currently playbook is being used in a job" +msgstr "O playbook atual está sendo usado no trabalho." + +#: ops/api/playbook.py:128 +msgid "Unsupported file content" +msgstr "Conteúdo do arquivo não suportado" + +#: ops/api/playbook.py:130 ops/api/playbook.py:176 ops/api/playbook.py:224 +msgid "Invalid file path" +msgstr "Caminho de arquivo inválido" + +#: ops/api/playbook.py:202 +msgid "This file can not be rename" +msgstr "Este arquivo não pode ser renomeado" + +#: ops/api/playbook.py:221 +msgid "File already exists" +msgstr "O arquivo já existe" + +#: ops/api/playbook.py:239 +msgid "File key is required" +msgstr "O campo da chave do arquivo é obrigatório." + +#: ops/api/playbook.py:242 +msgid "This file can not be delete" +msgstr "Não é possível excluir este arquivo" + +#: ops/apps.py:9 +msgid "App Ops" +msgstr "Centro de Action" + +#: ops/const.py:6 +msgid "Push" +msgstr "Push" + +#: ops/const.py:7 +msgid "Verify" +msgstr "Verificação" + +#: ops/const.py:8 +msgid "Collect" +msgstr "Coleta" + +#: ops/const.py:19 +msgid "Custom password" +msgstr "Senha personalizada" + +#: ops/const.py:20 +msgid "All assets use the same random password" +msgstr "Aleatória" + +#: ops/const.py:21 +msgid "All assets use different random password" +msgstr "Aleatório individual" + +#: ops/const.py:33 +msgid "Blank" +msgstr "Em branco" + +#: ops/const.py:34 +msgid "VCS" +msgstr "VCS" + +#: ops/const.py:38 ops/models/adhoc.py:44 ops/models/variable.py:26 +#: settings/serializers/feature.py:168 +msgid "Adhoc" +msgstr "Comando" + +#: ops/const.py:39 ops/models/job.py:152 ops/models/playbook.py:89 +#: ops/models/variable.py:23 +msgid "Playbook" +msgstr "Playbook" + +#: ops/const.py:40 +msgid "Upload File" +msgstr "Upload" + +#: ops/const.py:44 +msgid "Privileged only" +msgstr "Apenas para contas privilegiadas" + +#: ops/const.py:45 +msgid "Privileged first" +msgstr "Contas privilegiadas primeiro" + +#: ops/const.py:50 ops/const.py:61 +msgid "Shell" +msgstr "Shell" + +#: ops/const.py:51 ops/const.py:62 +msgid "Powershell" +msgstr "PowerShell" + +#: ops/const.py:52 ops/const.py:63 +msgid "Python" +msgstr "Python" + +#: ops/const.py:53 ops/const.py:64 +msgid "MySQL" +msgstr "MySQL" + +#: ops/const.py:54 ops/const.py:66 +msgid "PostgreSQL" +msgstr "PostgreSQL" + +#: ops/const.py:55 ops/const.py:67 +msgid "SQLServer" +msgstr "SQLServer" + +#: ops/const.py:56 ops/const.py:69 +msgid "Raw" +msgstr "Raw" + +#: ops/const.py:57 +msgid "HUAWEI" +msgstr "Huawei" + +#: ops/const.py:65 +msgid "MariaDB" +msgstr "MariaDB" + +#: ops/const.py:68 +msgid "Oracle" +msgstr "Oracle" + +#: ops/const.py:75 +msgid "Timeout" +msgstr "Excedido o tempo" + +#: ops/const.py:82 +msgid "Command execution disabled" +msgstr "Execução do comando desativada" + +#: ops/const.py:86 +msgctxt "scope" +msgid "Public" +msgstr "Público" + +#: ops/const.py:87 +msgid "Private" +msgstr "Privado" + +#: ops/const.py:91 +msgid "Text" +msgstr "Caixa de texto" + +#: ops/const.py:92 +msgid "Select" +msgstr "Caixa de seleção" + +#: ops/exception.py:6 +msgid "no valid program entry found." +msgstr "Sem entrada de programa disponível" + +#: ops/mixin.py:30 ops/mixin.py:110 settings/serializers/auth/ldap.py:73 +#: settings/serializers/auth/ldap_ha.py:55 +msgid "Periodic run" +msgstr "Execução periódica" + +#: ops/mixin.py:32 ops/mixin.py:96 ops/mixin.py:116 +#: settings/serializers/auth/ldap.py:80 +#: settings/serializers/auth/ldap_ha.py:62 +msgid "Interval" +msgstr "Intervalo" + +#: ops/mixin.py:35 ops/mixin.py:94 ops/mixin.py:113 +#: settings/serializers/auth/ldap.py:77 +#: settings/serializers/auth/ldap_ha.py:59 +msgid "Crontab" +msgstr "Crontab" + +#: ops/mixin.py:118 +msgid "Run period" +msgstr "Ciclo de execução" + +#: ops/mixin.py:127 +msgid "* Please enter a valid crontab expression" +msgstr "* Por favor, insira uma expressão crontab válida" + +#: ops/mixin.py:134 +msgid "Range {} to {}" +msgstr "Entrada no intervalo entre {} - {}" + +#: ops/mixin.py:145 +msgid "Require interval or crontab setting" +msgstr "Necessário configuração periódica ou regular" + +#: ops/models/adhoc.py:20 +msgid "Pattern" +msgstr "Modo" + +#: ops/models/adhoc.py:22 ops/models/job.py:149 +msgid "Module" +msgstr "Módulo" + +#: ops/models/adhoc.py:23 ops/models/celery.py:82 ops/models/job.py:147 +#: terminal/models/component/task.py:14 +msgid "Args" +msgstr "Conteúdo" + +#: ops/models/adhoc.py:26 ops/models/playbook.py:34 +#: ops/serializers/mixin.py:10 rbac/models/role.py:31 +#: rbac/models/rolebinding.py:46 rbac/serializers/role.py:12 +#: settings/serializers/auth/oauth2.py:37 +msgid "Scope" +msgstr "Alcance" + +#: ops/models/base.py:19 +msgid "Account policy" +msgstr "Estratégia de Conta" + +#: ops/models/base.py:20 +msgid "Last execution" +msgstr "Última Execução" + +#: ops/models/base.py:22 ops/serializers/job.py:18 +msgid "Date last run" +msgstr "Data da Última Execução" + +#: ops/models/base.py:51 ops/models/job.py:239 +#: xpack/plugins/cloud/models.py:225 +msgid "Result" +msgstr "Resultado" + +#: ops/models/celery.py:16 +msgid "Date last publish" +msgstr "Data de Publicação" + +#: ops/models/celery.py:71 +msgid "Celery Task" +msgstr "Tarefa Celery" + +#: ops/models/celery.py:74 +msgid "Can view task monitor" +msgstr "Pode Ver Monitoramento de Tarefas" + +#: ops/models/celery.py:83 terminal/models/component/task.py:15 +msgid "Kwargs" +msgstr "Outros Parâmetros" + +#: ops/models/celery.py:88 +msgid "Date published" +msgstr "Data de Publicação" + +#: ops/models/celery.py:124 +msgid "Celery Task Execution" +msgstr "Execução da Tarefa Celery" + +#: ops/models/job.py:150 +msgid "Run dir" +msgstr "Diretório de Execução" + +#: ops/models/job.py:151 +msgid "Timeout (Seconds)" +msgstr "Tempo de Expiração (segundos)" + +#: ops/models/job.py:157 +msgid "Use Parameter Define" +msgstr "Definir com Parâmetros" + +#: ops/models/job.py:158 +msgid "Parameters define" +msgstr "Definição de parâmetros" + +#: ops/models/job.py:159 +msgid "Periodic variable" +msgstr "Execução periódica de variáveis" + +#: ops/models/job.py:160 +msgid "Run as" +msgstr "Usuário em execução" + +#: ops/models/job.py:162 +msgid "Run as policy" +msgstr "Política de usuário" + +#: ops/models/job.py:223 ops/models/variable.py:28 ops/serializers/job.py:110 +#: terminal/notifications.py:182 +msgid "Job" +msgstr "Trabalho" + +#: ops/models/job.py:246 +msgid "Material" +msgstr "Material" + +#: ops/models/job.py:248 +msgid "Material Type" +msgstr "Tipo de Material" + +#: ops/models/job.py:560 +msgid "Job Execution" +msgstr "Execução de Trabalho" + +#: ops/models/playbook.py:33 +msgid "CreateMethod" +msgstr "Método de criação" + +#: ops/models/playbook.py:35 +msgid "VCS URL" +msgstr "URL VCS" + +#: ops/models/variable.py:11 ops/serializers/variable.py:22 +msgid "Variable name" +msgstr "Nome da variável" + +#: ops/models/variable.py:12 ops/serializers/variable.py:23 +msgid "" +"The variable name used in the script has a fixed prefix 'jms_' followed by " +"the input variable name. For example, if the variable name is 'name,' the " +"final generated environment variable will be 'jms_name'." +msgstr "" +"O nome da variável usada no script, prefixo fixo jms_ + o nome da variável " +"inserida, por exemplo, se o nome da variável é name, então a variável de " +"ambiente final é jms_name" + +#: ops/models/variable.py:16 +msgid "Default Value" +msgstr "Padrão" + +#: ops/models/variable.py:18 +msgid "Variable type" +msgstr "Tipo de Variável" + +#: ops/models/variable.py:21 ops/serializers/variable.py:32 +msgid "ExtraVars" +msgstr "Parâmetros extras" + +#: ops/models/variable.py:49 ops/serializers/adhoc.py:16 +#: ops/serializers/job.py:22 ops/serializers/playbook.py:21 +msgid "Variable" +msgstr "Variável" + +#: ops/notifications.py:20 +msgid "Server performance" +msgstr "Alerta de monitoramento" + +#: ops/notifications.py:26 +msgid "Component health check warning" +msgstr "Alerta de verificação de saúde do componente" + +#: ops/notifications.py:71 +msgid "The component is offline: {name}" +msgstr "Componente está offline: {name}" + +#: ops/notifications.py:76 +msgid "Disk used more than {max_threshold}%: => {value}" +msgstr "Uso do disco rígido excede {max_threshold}%: => {value}" + +#: ops/notifications.py:81 +msgid "Memory used more than {max_threshold}%: => {value}" +msgstr "Uso da memória excede {max_threshold}%: => {value}" + +#: ops/notifications.py:86 +msgid "CPU load more than {max_threshold}: => {value}" +msgstr "Uso do CPU excede {max_threshold}: => {value}" + +#: ops/serializers/celery.py:35 +msgid "Next execution time" +msgstr "Próximo horário de execução" + +#: ops/serializers/job.py:17 +msgid "Execute after saving" +msgstr "Executar após salvar" + +#: ops/serializers/job.py:70 terminal/serializers/session.py:49 +msgid "Duration" +msgstr "Duração" + +#: ops/serializers/job.py:90 +msgid "Job type" +msgstr "Tipos de Task" + +#: ops/serializers/job.py:93 terminal/serializers/session.py:58 +msgid "Is finished" +msgstr "Está completo" + +#: ops/serializers/job.py:107 +msgid "Task id" +msgstr "ID da tarefa" + +#: ops/serializers/job.py:116 +msgid "You do not have permission for the current job." +msgstr "Você não tem permissão para o trabalho atual." + +#: ops/serializers/variable.py:29 +msgid "Variable Type" +msgstr "Tipo de variável" + +#: ops/serializers/variable.py:34 +msgid "" +"Each item is on a separate line, with each line separated by a colon. The " +"part before the colon is the display content, and the part after the colon " +"is the value." +msgstr "" +"Cada item em uma linha separada, cada linha pode ser dividida por um dois " +"pontos em inglês, onde a parte anterior é o conteúdo exibido e a parte " +"posterior é o valor" + +#: ops/tasks.py:53 +msgid "Run ansible task" +msgstr "Executar tarefa Ansible" + +#: ops/tasks.py:56 +msgid "" +"Execute scheduled adhoc and playbooks, periodically invoking the task for " +"execution" +msgstr "" +"Quando executar comandos rápidos agendados, playbook, a tarefa é chamada " +"regularmente para executar" + +#: ops/tasks.py:88 +msgid "Run ansible task execution" +msgstr "Iniciar tarefa Ansible" + +#: ops/tasks.py:91 +msgid "Execute the task when manually adhoc or playbooks" +msgstr "" +"Manualmente, ao executar comandos rápidos, esta tarefa é executada durante o" +" playbook" + +#: ops/tasks.py:107 +msgid "Clear celery periodic tasks" +msgstr "Limpar tarefas periódicas" + +#: ops/tasks.py:109 +msgid "At system startup, clean up celery tasks that no longer exist" +msgstr "Na inicialização do sistema, limpe tarefas de aipo que já não existem" + +#: ops/tasks.py:133 +msgid "Create or update periodic tasks" +msgstr "Criar ou atualizar tarefas periódicas" + +#: ops/tasks.py:135 +msgid "" +"With version iterations, new tasks may be added, or task names and execution times may \n" +" be modified. Therefore, upon system startup, tasks will be registered or the parameters \n" +" of scheduled tasks will be updated" +msgstr "" +"Com a iteração da versão, novas tarefas podem ser adicionadas ou os nomes, " +"horários de execução das tarefas podem ser modificados, portanto, na " +"inicialização do sistema, as tarefas serão registradas ou os parâmetros da " +"tarefa agendada serão atualizados" + +#: ops/tasks.py:148 +msgid "Periodic check service performance" +msgstr "Verifique periodicamente o desempenho do serviço" + +#: ops/tasks.py:150 +msgid "" +"Check every hour whether each component is offline and whether the CPU, memory, \n" +" and disk usage exceed the thresholds, and send an alert message to the administrator" +msgstr "" +"Verifique a cada hora se os componentes estão offline, se o uso de CPU, " +"memória e disco excede um limite, e envie mensagens de alerta para o " +"administrador" + +#: ops/tasks.py:160 +msgid "Clean up unexpected jobs" +msgstr "Limpar trabalhos anormais" + +#: ops/tasks.py:162 +msgid "" +"Due to exceptions caused by executing adhoc and playbooks in the Job Center, \n" +" which result in the task status not being updated, the system will clean up abnormal jobs \n" +" that have not been completed for more than 3 hours every hour and mark these tasks as \n" +" failed" +msgstr "" +"Devido à execução de comandos rápidos pelo centro de trabalho, o playbook " +"gerará anormalidades, o status da tarefa não será atualizado, e o sistema " +"executará a limpeza de trabalhos anormais não concluídos após 3 horas a cada" +" hora, e marcará a tarefa como falha" + +#: ops/tasks.py:175 +msgid "Clean job_execution db record" +msgstr "Limpar o histórico de execução do centro de trabalho" + +#: ops/tasks.py:177 +msgid "" +"Due to the execution of adhoc and playbooks in the Job Center, execution records will \n" +" be generated. The system will clean up records that exceed the retention period every day \n" +" at 2 a.m., based on the configuration of 'System Settings - Tasks - Regular clean-up - \n" +" Job execution retention days'" +msgstr "" +"Devido à execução de comandos rápidos pelo centro de trabalho, o playbook " +"produzirá registros de execução. O sistema, de acordo com as configurações " +"do sistema - lista de tarefas - limpeza regular - configurações do histórico" +" de execução do centro de trabalho, limpará os registros que excedem o tempo" +" de armazenamento às 2 da manhã todos os dias." + +#: ops/templates/ops/celery_task_log.html:4 +msgid "Task log" +msgstr "Lista de Tarefas" + +#: ops/variables.py:24 +msgid "The current user`s username of JumpServer" +msgstr "Nome de usuário atual no JumpServer" + +#: ops/variables.py:25 +msgid "The id of the asset in the JumpServer" +msgstr "ID do ativo no JumpServer" + +#: ops/variables.py:26 +msgid "The type of the asset in the JumpServer" +msgstr "Tipo de ativo no JumpServer" + +#: ops/variables.py:27 +msgid "The category of the asset in the JumpServer" +msgstr "Categoria do ativo no JumpServer" + +#: ops/variables.py:28 +msgid "The name of the asset in the JumpServer" +msgstr "Nome do ativo no JumpServer" + +#: ops/variables.py:29 +msgid "Address used to connect this asset in JumpServer" +msgstr "Endereço usado no JumpServer para conectar este ativo" + +#: ops/variables.py:30 +msgid "Port used to connect this asset in JumpServer" +msgstr "Porta utilizado no JumpServer para conectar este ativo" + +#: ops/variables.py:31 +msgid "ID of the job" +msgstr "ID da Tarefa" + +#: ops/variables.py:32 +msgid "Name of the job" +msgstr "Nome da Tarefa" + +#: orgs/api.py:60 +msgid "The current organization ({}) cannot be deleted" +msgstr "A organização atual ({}) não pode ser excluída" + +#: orgs/api.py:65 +msgid "" +"LDAP synchronization is set to the current organization. Please switch to " +"another organization before deleting" +msgstr "" +"A configuração da sincronização LDAP definiu a organização como a atual, " +"mude para outra organização antes de proceder com a exclusão" + +#: orgs/api.py:75 +msgid "The organization have resource ({}) cannot be deleted" +msgstr "A organização possui recursos ({}) e não pode ser excluída" + +#: orgs/apps.py:7 +msgid "App Organizations" +msgstr "管理" + +#: orgs/mixins/models.py:48 orgs/mixins/models.py:73 +msgid "Please save in a org" +msgstr "Por favor, selecione uma organização antes de salvar" + +#: orgs/mixins/models.py:57 orgs/mixins/serializers.py:25 orgs/models.py:91 +#: rbac/const.py:7 rbac/models/rolebinding.py:56 +#: rbac/serializers/rolebinding.py:44 settings/serializers/auth/base.py:53 +#: terminal/templates/terminal/_msg_command_warning.html:21 +#: terminal/templates/terminal/_msg_session_sharing.html:14 +#: tickets/models/ticket/general.py:303 +#: tickets/serializers/ticket/ticket.py:60 +msgid "Organization" +msgstr "Organização" + +#: orgs/models.py:14 +msgid "GLOBAL" +msgstr "Organização Global" + +#: orgs/models.py:16 +msgid "DEFAULT" +msgstr "Organização Padrão" + +#: orgs/models.py:18 +msgid "SYSTEM" +msgstr "Organização do Sistema" + +#: orgs/models.py:83 rbac/models/role.py:36 settings/models.py:186 +#: terminal/models/applet/applet.py:42 +msgid "Builtin" +msgstr "Incorporado" + +#: orgs/models.py:93 +msgid "Can view root org" +msgstr "Pode Ver Organização Global" + +#: orgs/models.py:94 +msgid "Can view all joined org" +msgstr "Pode Ver Todas as Organizações Participantes" + +#: orgs/models.py:236 +msgid "Can not delete virtual org" +msgstr "Não é Possível Excluir a Organização Virtual" + +#: orgs/serializers.py:10 perms/serializers/permission.py:48 +#: rbac/serializers/role.py:27 users/serializers/group.py:54 +msgid "Users amount" +msgstr "Número de Usuários" + +#: orgs/serializers.py:11 +msgid "User groups amount" +msgstr "Número de Grupos de Usuários" + +#: orgs/serializers.py:14 perms/serializers/permission.py:51 +msgid "Nodes amount" +msgstr "Número de Nós" + +#: orgs/serializers.py:15 +msgid "Domains amount" +msgstr "Número de Domínios" + +#: orgs/serializers.py:16 +msgid "Gateways amount" +msgstr "Número de Portais" + +#: orgs/serializers.py:18 +msgid "Asset permissions amount" +msgstr "Número de Autorizações de Ativos" + +#: orgs/tasks.py:10 +msgid "Refresh organization cache" +msgstr "Atualizar Cache da Organização" + +#: perms/apps.py:9 +msgid "App Permissions" +msgstr "Gestão de autorização" + +#: perms/const.py:12 +msgid "Connect (All protocols)" +msgstr "Conectar (todos os protocolos)" + +#: perms/const.py:13 +msgid "Upload (RDP, SFTP)" +msgstr "Upload (RDP, SFTP)" + +#: perms/const.py:14 +msgid "Download (RDP, SFTP)" +msgstr "Download (RDP, SFTP)" + +#: perms/const.py:15 +msgid "Copy (RDP, VNC)" +msgstr "Copiar (RDP, VNC)" + +#: perms/const.py:16 +msgid "Paste (RDP, VNC)" +msgstr "Colar (RDP, VNC)" + +#: perms/const.py:17 +msgid "Delete (SFTP)" +msgstr "Excluir (SFTP)" + +#: perms/const.py:18 +msgid "Share (SSH)" +msgstr "Compartilhar (SSH)" + +#: perms/const.py:28 +msgid "Transfer" +msgstr "Transferência de arquivos" + +#: perms/const.py:29 +msgid "Clipboard" +msgstr "Prancheta" + +#: perms/models/asset_permission.py:89 +msgid "Asset permission" +msgstr "Autorização de ativos" + +#: perms/models/perm_node.py:74 +msgid "Ungrouped" +msgstr "Não agrupados" + +#: perms/models/perm_node.py:76 +msgid "Favorite" +msgstr "Favoritos" + +#: perms/models/perm_node.py:128 +msgid "Permed asset" +msgstr "Ativos autorizados" + +#: perms/models/perm_node.py:130 +msgid "Can view my assets" +msgstr "Pode visualizar meus ativos" + +#: perms/models/perm_node.py:131 +msgid "Can view user assets" +msgstr "Pode visualizar os ativos autorizados pelo usuário" + +#: perms/models/perm_node.py:132 +msgid "Can view usergroup assets" +msgstr "Pode visualizar os ativos autorizados pelo grupo de usuários" + +#: perms/models/perm_node.py:143 +msgid "Permed account" +msgstr "Conta autorizada" + +#: perms/notifications.py:12 perms/notifications.py:44 +msgid "today" +msgstr "Hoje" + +#: perms/notifications.py:12 perms/notifications.py:44 +#: settings/serializers/feature.py:159 +msgid "day" +msgstr "Dia" + +#: perms/notifications.py:15 +msgid "The asset you authorized is about to expire" +msgstr "Seus ativos autorizados estão prestes a expirar" + +#: perms/notifications.py:20 +msgid "permed assets" +msgstr "Ativos autorizados" + +#: perms/notifications.py:59 +msgid "Asset permissions is about to expire" +msgstr "A regra de autorização de ativos está prestes a expirar" + +#: perms/notifications.py:64 +msgid "asset permissions of organization {}" +msgstr "Autorização de ativos da organização ({})" + +#: perms/serializers/permission.py:32 +msgid "" +"Accounts, format [\"@virtual\", \"root\", \"%template_id\"], virtual " +"choices: @ALL, @SPEC, @USER, @ANON, @INPUT" +msgstr "" +"Conta, formato [\"@conta virtual\", \"root\", \"%id do template\"], opções " +"virtuais: @ALL, @SPEC, @USER, @ANON, @INPUT" + +#: perms/serializers/permission.py:38 +msgid "Protocols, format [\"ssh\", \"rdp\", \"vnc\"] or [\"all\"]" +msgstr "Protocolo, formato [\"ssh\", \"rdp\", \"vnc\"] ou [\"all\"]" + +#: perms/serializers/permission.py:44 users/serializers/user.py:262 +msgid "Groups" +msgstr "Grupo de usuários" + +#: perms/serializers/permission.py:49 +msgid "Groups amount" +msgstr "Quantidade de grupos de usuários" + +#: perms/tasks.py:28 +msgid "Check asset permission expired" +msgstr "Confirmação de que a regra de autorização do ativo expirou" + +#: perms/tasks.py:30 +msgid "" +"The cache of organizational collections, which have completed user authorization tree \n" +" construction, will expire. Therefore, expired collections need to be cleared from the \n" +" cache, and this task will be executed periodically based on the time interval specified \n" +" by PERM_EXPIRED_CHECK_PERIODIC in the system configuration file config.txt" +msgstr "" +"A organização com a árvore de autorização do usuário concluída tem um cache " +"que irá expirar, então é necessário remover os conjuntos expirados do cache," +" conforme a execução programada do intervalo de tempo " +"PERM_EXPIRED_CHECK_PERIODIC no arquivo de configuração do sistema " +"config.txt." + +#: perms/tasks.py:49 +msgid "Send asset permission expired notification" +msgstr "Enviar notificação de expiração de permissão de ativos" + +#: perms/tasks.py:51 +msgid "" +"Check every day at 10 a.m. and send a notification message to users associated with \n" +" assets whose authorization is about to expire, as well as to the organization's \n" +" administrators, 3 days in advance, to remind them that the asset authorization will \n" +" expire in a few days" +msgstr "" +"Faça uma verificação todos os dias às 10h da manhã, envie uma mensagem com " +"três dias de antecedência para o usuário associado aos ativos autorizados " +"que estão prestes a expirar e para o administrador da organização, indicando" +" quantos dias faltam para a expiração dos ativos" + +#: perms/templates/perms/_msg_item_permissions_expire.html:7 +#: perms/templates/perms/_msg_permed_items_expire.html:7 +msgid "" +"\n" +" The following %(item_type)s will expire in %(count)s\n" +" " +msgstr "" +"\n" +" O seguinte %(item_type)s irá expirar em %(count)s\n" +" " + +#: rbac/api/role.py:35 +msgid "Internal role, can't be destroy" +msgstr "Papel interno, não pode ser excluído" + +#: rbac/api/role.py:40 +msgid "The role has been bound to users, can't be destroy" +msgstr "Papel vinculado a um usuário, não pode ser excluído" + +#: rbac/api/role.py:105 +msgid "Internal role, can't be update" +msgstr "Papel interno, não pode ser atualizado" + +#: rbac/api/rolebinding.py:45 +msgid "{} at least one system role" +msgstr "{} tem pelo menos um papel de sistema" + +#: rbac/apps.py:7 +msgid "App RBAC" +msgstr "RBAC" + +#: rbac/builtin.py:116 +msgid "SystemAdmin" +msgstr "Administrador do sistema" + +#: rbac/builtin.py:119 +msgid "SystemAuditor" +msgstr "Auditor do sistema" + +#: rbac/builtin.py:122 +msgid "SystemComponent" +msgstr "Componente do sistema" + +#: rbac/builtin.py:128 +msgid "OrgAdmin" +msgstr "Administrador da organização" + +#: rbac/builtin.py:131 +msgid "OrgAuditor" +msgstr "Auditor da organização" + +#: rbac/builtin.py:134 +msgid "OrgUser" +msgstr "Usuário da organização" + +#: rbac/models/menu.py:13 +msgid "Menu permission" +msgstr "Autorização do menu" + +#: rbac/models/menu.py:15 +msgid "Can view console view" +msgstr "Pode mostrar Console" + +#: rbac/models/menu.py:16 +msgid "Can view audit view" +msgstr "Pode mostrar Auditoria" + +#: rbac/models/menu.py:17 +msgid "Can view workbench view" +msgstr "Pode mostrar Bancada de Trabalho" + +#: rbac/models/menu.py:18 +msgid "Can view web terminal" +msgstr "Web Terminal" + +#: rbac/models/menu.py:19 +msgid "Can view file manager" +msgstr "Pode ver Arquivos" + +#: rbac/models/menu.py:20 +msgid "Can view System Tools" +msgstr "Pode ver Ferramentas do Sistema" + +#: rbac/models/permission.py:18 +msgid "ContentType" +msgstr "Tipo de Conteúdo" + +#: rbac/models/permission.py:79 rbac/models/role.py:34 +msgid "Permissions" +msgstr "Permissão" + +#: rbac/models/role.py:46 rbac/models/rolebinding.py:52 +#: users/models/user/__init__.py:73 +msgid "Role" +msgstr "Papel" + +#: rbac/models/role.py:144 +msgid "System role" +msgstr "Papel do Sistema" + +#: rbac/models/role.py:152 +msgid "Organization role" +msgstr "Papel na Organização" + +#: rbac/models/rolebinding.py:62 +msgid "Role binding" +msgstr "Atribuição de Papel" + +#: rbac/models/rolebinding.py:161 +msgid "All organizations" +msgstr "Todas as Organizações" + +#: rbac/models/rolebinding.py:193 +msgid "" +"User last role in org, can not be delete, you can remove user from org " +"instead" +msgstr "" +"O último papel do usuário, não pode ser excluído, você pode remover o " +"usuário da organização" + +#: rbac/models/rolebinding.py:200 +msgid "Organization role binding" +msgstr "Associação do papel na organização" + +#: rbac/models/rolebinding.py:215 +msgid "System role binding" +msgstr "Vinculação de papel do sistema" + +#: rbac/serializers/permission.py:25 users/serializers/profile.py:76 +msgid "Perms" +msgstr "Permissões" + +#: rbac/serializers/rolebinding.py:60 +msgid "Has bound this role" +msgstr "Já vinculado" + +#: rbac/tree.py:17 rbac/tree.py:18 +msgid "All permissions" +msgstr "Todas as permissões" + +#: rbac/tree.py:24 +msgid "Console view" +msgstr "Console" + +#: rbac/tree.py:25 +msgid "Workbench view" +msgstr "Oficina" + +#: rbac/tree.py:26 +msgid "Audit view" +msgstr "Auditório" + +#: rbac/tree.py:27 settings/models.py:162 +msgid "System setting" +msgstr "Configurações do sistema" + +#: rbac/tree.py:37 +msgid "Session audits" +msgstr "Auditoria de sessões" + +#: rbac/tree.py:49 xpack/plugins/cloud/manager.py:90 +msgid "Cloud import" +msgstr "Sincronização em nuvem" + +#: rbac/tree.py:50 +msgid "Backup account" +msgstr "Conta de backup" + +#: rbac/tree.py:51 +msgid "Gather account" +msgstr "Conta de coleta" + +#: rbac/tree.py:53 +msgid "Account change secret" +msgstr "Alteração de conta" + +#: rbac/tree.py:55 +msgid "App ops" +msgstr "Centro de Ação" + +#: rbac/tree.py:57 settings/serializers/feature.py:165 +msgid "Feature" +msgstr "Funções" + +#: rbac/tree.py:58 settings/serializers/auth/base.py:11 +msgid "Authentication" +msgstr "Autenticação" + +#: rbac/tree.py:59 +msgid "Storage" +msgstr "Armazenamento" + +#: rbac/tree.py:61 terminal/models/applet/applet.py:53 +#: terminal/models/applet/applet.py:328 terminal/models/applet/host.py:30 +#: terminal/serializers/applet.py:15 +msgid "Applet" +msgstr "Aplicativo remoto" + +#: rbac/tree.py:63 +msgid "Appearance" +msgstr "Interface" + +#: rbac/tree.py:65 xpack/plugins/license/meta.py:10 +#: xpack/plugins/license/models.py:151 +msgid "License" +msgstr "Licença" + +#: rbac/tree.py:67 +msgid "Job audit" +msgstr "Auditoria de trabalho" + +#: rbac/tree.py:159 +msgid "App organizations" +msgstr "Organização" + +#: rbac/tree.py:160 +msgid "Ticket comment" +msgstr "Comentários de ordem de serviço" + +#: rbac/tree.py:161 settings/serializers/feature.py:146 +#: settings/serializers/feature.py:148 tickets/models/ticket/general.py:308 +msgid "Ticket" +msgstr "Ordem de Serviço" + +#: rbac/tree.py:162 +msgid "Common setting" +msgstr "Configurações gerais" + +#: rbac/tree.py:163 +msgid "View permission tree" +msgstr "Ver árvore de autorização" + +#: settings/api/chat.py:40 +msgid "Chat AI is not enabled" +msgstr "Chat AI não está ligado" + +#: settings/api/chat.py:79 settings/api/dingtalk.py:31 +#: settings/api/feishu.py:39 settings/api/slack.py:34 settings/api/sms.py:160 +#: settings/api/vault.py:49 settings/api/wecom.py:37 +msgid "Test success" +msgstr "Teste bem-sucedido" + +#: settings/api/email.py:22 +msgid "Test mail sent to {}, please check" +msgstr "Email já enviado{}, por favor verifique" + +#: settings/api/email.py:47 +msgid "Test smtp setting" +msgstr "Configurações do smtp de teste" + +#: settings/api/ldap.py:92 +msgid "" +"Users are not synchronized, please click the user synchronization button" +msgstr "" +"Usuário não sincronizado, por favor, clique no botão de sincronizar usuário" + +#: settings/api/sms.py:142 +msgid "Invalid SMS platform" +msgstr "Plataforma de SMS inválida" + +#: settings/api/sms.py:148 +msgid "test_phone is required" +msgstr "Número de teste de telefone " + +#: settings/apps.py:7 +msgid "App Settings" +msgstr "Campo obrigatório." + +#: settings/models.py:38 users/models/preference.py:14 +msgid "Encrypted" +msgstr "Configurações do sistema" + +#: settings/models.py:164 +msgid "Can change email setting" +msgstr "Criptografado" + +#: settings/models.py:165 +msgid "Can change auth setting" +msgstr "Configuração de email" + +#: settings/models.py:166 +msgid "Can change auth ops" +msgstr "Configuração de autenticação" + +#: settings/models.py:167 +msgid "Can change auth ticket" +msgstr "Configurações do centro de tarefas" + +#: settings/models.py:168 +msgid "Can change virtual app setting" +msgstr "Configurações da ordem de serviço" + +#: settings/models.py:169 +msgid "Can change auth announcement" +msgstr "Pode-se alterar as configurações do aplicativo virtual" + +#: settings/models.py:170 +msgid "Can change vault setting" +msgstr "Configurações de anúncios" + +#: settings/models.py:171 +msgid "Can change chat ai setting" +msgstr "Pode-se alterar as configurações do vault" + +#: settings/models.py:172 +msgid "Can change system msg sub setting" +msgstr "Pode modificar as configurações do chat AI" + +#: settings/models.py:173 +msgid "Can change sms setting" +msgstr "Configurações de subscrição de mensagens" + +#: settings/models.py:174 +msgid "Can change security setting" +msgstr "Configurações de Segurança" + +#: settings/models.py:175 +msgid "Can change clean setting" +msgstr "Limpeza Regular" + +#: settings/models.py:176 +msgid "Can change interface setting" +msgstr "Configurações de Interface" + +#: settings/models.py:177 +msgid "Can change license setting" +msgstr "Configurações de Licença" + +#: settings/models.py:178 +msgid "Can change terminal setting" +msgstr "Configurações do Terminal" + +#: settings/models.py:179 +msgid "Can change other setting" +msgstr "Outras Configurações" + +#: settings/models.py:189 +msgid "Chat prompt" +msgstr "Alertas de Chat" + +#: settings/notifications.py:23 +msgid "Notification of Synchronized LDAP User Task Results" +msgstr "Notificação de Resultados de Tarefas de Sincronização do Usuário LDAP" + +#: settings/serializers/auth/base.py:13 +msgid "LDAP Auth" +msgstr "Autenticação LDAP" + +#: settings/serializers/auth/base.py:14 +msgid "LDAP Auth HA" +msgstr "Autenticação LDAP HA" + +#: settings/serializers/auth/base.py:15 +msgid "CAS Auth" +msgstr "Autenticação CAS" + +#: settings/serializers/auth/base.py:16 +msgid "OPENID Auth" +msgstr "Autenticação OIDC" + +#: settings/serializers/auth/base.py:17 +msgid "SAML2 Auth" +msgstr "Autenticação SAML2" + +#: settings/serializers/auth/base.py:18 +msgid "OAuth2 Auth" +msgstr "Autenticação OAuth2" + +#: settings/serializers/auth/base.py:19 +msgid "RADIUS Auth" +msgstr "Autenticação RADIUS" + +#: settings/serializers/auth/base.py:20 +msgid "DingTalk Auth" +msgstr "DingTalk Autenticação" + +#: settings/serializers/auth/base.py:21 +msgid "FeiShu Auth" +msgstr "Feishu Autenticação" + +#: settings/serializers/auth/base.py:22 +msgid "Lark Auth" +msgstr "Lark Autenticação" + +#: settings/serializers/auth/base.py:23 +msgid "Slack Auth" +msgstr "Slack Autenticação" + +#: settings/serializers/auth/base.py:24 +msgid "WeCom Auth" +msgstr "WeChat empresarial Autenticação" + +#: settings/serializers/auth/base.py:25 +msgid "SSO Auth" +msgstr "SSO Token de Autenticação" + +#: settings/serializers/auth/base.py:26 +msgid "Passkey Auth" +msgstr "Passkey Autenticação" + +#: settings/serializers/auth/base.py:28 +msgid "Email suffix" +msgstr "Sufixo de Email" + +#: settings/serializers/auth/base.py:30 +msgid "" +"After third-party user authentication is successful, if the third-party " +"authentication service platform does not return the user's email " +"information, the system will automatically create the user using this email " +"suffix" +msgstr "" +"Após a autenticação bem-sucedida do usuário de terceiros, se a plataforma de" +" serviço de autenticação de terceiros não retornar as informações de email " +"do usuário, o sistema criará automaticamente o usuário com este sufixo de " +"email" + +#: settings/serializers/auth/base.py:37 +msgid "Forgot Password URL" +msgstr "Link de Esquecimento de Senha" + +#: settings/serializers/auth/base.py:38 +msgid "The URL for Forgotten Password on the user login page" +msgstr "URL de Esquecimento de Senha na Página de Login do Usuário" + +#: settings/serializers/auth/base.py:41 +msgid "Login redirection" +msgstr "Habilitação de Redirecionamento de Login" + +#: settings/serializers/auth/base.py:43 +msgid "" +"Should an flash page be displayed before the user is redirected to third-" +"party authentication when the administrator enables third-party redirect " +"authentication" +msgstr "" +"Quando o administrador habilita a autenticação de identidade de " +"redirecionamento de terceiros, será exibida uma página flash antes do " +"usuário ser redirecionado para a autenticação de identidade de terceiros" + +#: settings/serializers/auth/base.py:55 +msgid "" +"When you create a user, you associate the user to the organization of your " +"choice. Users always belong to the Default organization." +msgstr "" +"Ao criar um usuário, você associará esse usuário à organização que escolheu." +" O usuário sempre pertence à organização Default." + +#: settings/serializers/auth/cas.py:12 settings/serializers/auth/cas.py:14 +msgid "CAS" +msgstr "CAS" + +#: settings/serializers/auth/cas.py:15 settings/serializers/auth/ldap.py:44 +#: settings/serializers/auth/ldap_ha.py:26 +#: settings/serializers/auth/oidc.py:61 +msgid "Server" +msgstr "Endereço do servidor" + +#: settings/serializers/auth/cas.py:18 +msgid "Proxy Server" +msgstr "Endereço de retorno" + +#: settings/serializers/auth/cas.py:21 settings/serializers/auth/oauth2.py:56 +#: settings/serializers/auth/saml2.py:42 +msgid "Logout completely" +msgstr "Sincronizar logout" + +#: settings/serializers/auth/cas.py:22 +msgid "When the user signs out, they also be logged out from the CAS server" +msgstr "Quando o usuário sai, eles também são deslogados do servidor CAS" + +#: settings/serializers/auth/cas.py:28 +msgid "Username attr" +msgstr "Atributo de nome de usuário" + +#: settings/serializers/auth/cas.py:31 +msgid "Enable attributes map" +msgstr "Habilitar mapeamento de atributos" + +#: settings/serializers/auth/cas.py:34 +#: settings/serializers/auth/dingtalk.py:18 +#: settings/serializers/auth/feishu.py:18 settings/serializers/auth/lark.py:17 +#: settings/serializers/auth/ldap.py:66 +#: settings/serializers/auth/ldap_ha.py:48 +#: settings/serializers/auth/oauth2.py:60 settings/serializers/auth/oidc.py:39 +#: settings/serializers/auth/saml2.py:35 settings/serializers/auth/slack.py:18 +#: settings/serializers/auth/wecom.py:18 +msgid "User attribute" +msgstr "Atributos de mapeamento" + +#: settings/serializers/auth/cas.py:36 +msgid "" +"User attribute mapping, where the `key` is the CAS service user attribute " +"name and the `value` is the JumpServer user attribute name" +msgstr "" +"Mapeamento de atributos do usuário, onde `key` é o nome do atributo do " +"usuário do serviço CAS, e `value` é o nome do atributo do usuário do " +"JumpServer" + +#: settings/serializers/auth/cas.py:41 +msgid "Create user" +msgstr "Criar usuário (se não existir)" + +#: settings/serializers/auth/cas.py:43 +msgid "" +"After successful user authentication, if the user does not exist, " +"automatically create the user" +msgstr "" +"Após a autenticação bem-sucedida do usuário, se o usuário não existir, um " +"novo usuário é criado automaticamente" + +#: settings/serializers/auth/dingtalk.py:16 +msgid "Dingtalk" +msgstr "Ativar autenticação de DingTalk" + +#: settings/serializers/auth/dingtalk.py:20 +msgid "" +"User attribute mapping, where the `key` is the JumpServer user attribute " +"name and the `value` is the DingTalk service user attribute name" +msgstr "" +"Mapeamento de atributos do usuário, onde `key` é o nome do atributo do " +"usuário do JumpServer, e `value` é o nome do atributo do usuário do serviço " +"DingTalk" + +#: settings/serializers/auth/feishu.py:20 +msgid "" +"User attribute mapping, where the `key` is the JumpServer user attribute " +"name and the `value` is the FeiShu service user attribute name" +msgstr "" +"Mapeamento de atributos do usuário, onde `key` é o nome do atributo do " +"usuário do JumpServer, e `value` é o nome do atributo do usuário do serviço " +"Feishu" + +#: settings/serializers/auth/lark.py:13 users/models/user/_source.py:22 +msgid "Lark" +msgstr "" + +#: settings/serializers/auth/lark.py:19 +msgid "" +"User attribute mapping, where the `key` is the JumpServer user attribute " +"name and the `value` is the Lark service user attribute name" +msgstr "" +"Mapeamento de atributos do usuário, onde `key` é o nome do atributo do " +"usuário do JumpServer, e `value` é o nome do atributo do usuário do serviço " +"Lark" + +#: settings/serializers/auth/ldap.py:41 settings/serializers/auth/ldap.py:103 +msgid "LDAP" +msgstr "LDAP" + +#: settings/serializers/auth/ldap.py:45 +msgid "LDAP server URI" +msgstr "Nome do domínio do serviço LDAP" + +#: settings/serializers/auth/ldap.py:48 +#: settings/serializers/auth/ldap_ha.py:30 +msgid "Bind DN" +msgstr "Bind DN" + +#: settings/serializers/auth/ldap.py:49 +#: settings/serializers/auth/ldap_ha.py:31 +msgid "Binding Distinguished Name" +msgstr "Bind do administrador do diretório" + +#: settings/serializers/auth/ldap.py:53 +#: settings/serializers/auth/ldap_ha.py:35 +msgid "Binding password" +msgstr "Senha do Bind" + +#: settings/serializers/auth/ldap.py:56 +#: settings/serializers/auth/ldap_ha.py:38 +msgid "Search OU" +msgstr "Usuário OU" + +#: settings/serializers/auth/ldap.py:58 +#: settings/serializers/auth/ldap_ha.py:40 +msgid "" +"User Search Base, if there are multiple OUs, you can separate them with the " +"`|` symbol" +msgstr "" +"Biblioteca de pesquisa do usuário, se houver vários OUs, você pode separá-" +"los com o símbolo '|'" + +#: settings/serializers/auth/ldap.py:62 +#: settings/serializers/auth/ldap_ha.py:44 +msgid "Search filter" +msgstr "Filtro do usuário" + +#: settings/serializers/auth/ldap.py:63 +#: settings/serializers/auth/ldap_ha.py:45 +msgid "Selection could include (cn|uid|sAMAccountName=%(user)s)" +msgstr "As opções possíveis são (cn ou uid ou sAMAccountName=%(user)s)" + +#: settings/serializers/auth/ldap.py:68 +#: settings/serializers/auth/ldap_ha.py:50 +msgid "" +"User attribute mapping, where the `key` is the JumpServer user attribute " +"name and the `value` is the LDAP service user attribute name" +msgstr "" +"Mapeamento de propriedades do usuário, onde `key` é o nome da propriedade do" +" usuário JumpServer, e `value` é o nome da propriedade do usuário do serviço" +" LDAP" + +#: settings/serializers/auth/ldap.py:84 +#: settings/serializers/auth/ldap_ha.py:66 +msgid "Connect timeout (s)" +msgstr "Tempo de conexão expirado (segundos)" + +#: settings/serializers/auth/ldap.py:89 +#: settings/serializers/auth/ldap_ha.py:71 +msgid "User DN cache timeout (s)" +msgstr "Tempo de expiração do cache do User DN (segundos)" + +#: settings/serializers/auth/ldap.py:91 +msgid "" +"Caching the User DN obtained during user login authentication can " +"effectively improve the speed of user authentication., 0 means no " +"cache
If the user OU structure has been adjusted, click Submit to clear " +"the user DN cache" +msgstr "" +"Cache do User DN consultado quando o usuário efetua login para autenticação," +" que pode aumentar efetivamente a velocidade de autenticação do " +"usuário
Se a estrutura do User OU for ajustada, clique em enviar para " +"limpar o cache do User DN" + +#: settings/serializers/auth/ldap.py:97 +#: settings/serializers/auth/ldap_ha.py:79 +msgid "Search paged size (piece)" +msgstr "Quantidade de páginas de pesquisa (items)" + +#: settings/serializers/auth/ldap_ha.py:23 +#: settings/serializers/auth/ldap_ha.py:85 +msgid "LDAP HA" +msgstr "Autenticação LDAP" + +#: settings/serializers/auth/ldap_ha.py:27 +msgid "LDAP HA server URI" +msgstr "Nome do domínio do serviço LDAP HA" + +#: settings/serializers/auth/ldap_ha.py:73 +msgid "" +"Caching the User DN obtained during user login authentication can " +"effectivelyimprove the speed of user authentication., 0 means no cache
If" +" the user OU structure has been adjusted, click Submit to clear the user DN " +"cache" +msgstr "" +"O User DN consultado durante a autenticação do login do usuário é armazenado" +" em cache, podendo melhorar efetivamente a velocidade da autenticação do " +"usuário
Se a estrutura do usuário OU for ajustada, clique em enviar para " +"limpar o cache do usuário DN" + +#: settings/serializers/auth/oauth2.py:19 +#: settings/serializers/auth/oauth2.py:22 +msgid "OAuth2" +msgstr "OAuth2" + +#: settings/serializers/auth/oauth2.py:25 +msgid "Logo" +msgstr "Ícone" + +#: settings/serializers/auth/oauth2.py:28 +msgid "Service provider" +msgstr "Fornecedor de Serviço" + +#: settings/serializers/auth/oauth2.py:31 settings/serializers/feature.py:96 +#: xpack/plugins/cloud/serializers/account_attrs.py:35 +msgid "Client ID" +msgstr "ID do Cliente" + +#: settings/serializers/auth/oauth2.py:34 settings/serializers/auth/oidc.py:24 +#: settings/serializers/feature.py:99 +#: xpack/plugins/cloud/serializers/account_attrs.py:38 +msgid "Client Secret" +msgstr "Chave Secreta do Cliente" + +#: settings/serializers/auth/oauth2.py:40 settings/serializers/auth/oidc.py:77 +msgid "Authorization endpoint" +msgstr "Endereço do Ponto de Autorização" + +#: settings/serializers/auth/oauth2.py:43 settings/serializers/auth/oidc.py:80 +msgid "Token endpoint" +msgstr "Endereço do Ponto de Token" + +#: settings/serializers/auth/oauth2.py:46 settings/serializers/auth/oidc.py:32 +#: settings/serializers/auth/sms.py:111 +msgid "Request method" +msgstr "Método de Autenticação do Cliente" + +#: settings/serializers/auth/oauth2.py:50 settings/serializers/auth/oidc.py:86 +msgid "Userinfo endpoint" +msgstr "Endereço do Ponto de Informação do Usuário" + +#: settings/serializers/auth/oauth2.py:53 settings/serializers/auth/oidc.py:89 +msgid "End session endpoint" +msgstr "Endereço do Ponto de Sessão de Logout" + +#: settings/serializers/auth/oauth2.py:57 +msgid "" +"When the user signs out, they also be logged out from the OAuth2 server" +msgstr "Quando os usuários saem, eles também saem do servidor OAuth2" + +#: settings/serializers/auth/oauth2.py:62 +msgid "" +"User attribute mapping, where the `key` is the JumpServer user attribute " +"name and the `value` is the OAuth2 service user attribute name" +msgstr "" +"Mapeamento de atributos do usuário, onde `key` é o nome do atributo do " +"usuário JumpServer e `value` é o nome do atributo do usuário do serviço " +"OAuth2" + +#: settings/serializers/auth/oauth2.py:67 +#: settings/serializers/auth/oidc.py:113 settings/serializers/auth/saml2.py:45 +msgid "Always update user" +msgstr "Sempre atualizar informações do usuário" + +#: settings/serializers/auth/oidc.py:13 settings/serializers/auth/oidc.py:71 +msgid "OIDC" +msgstr "" + +#: settings/serializers/auth/oidc.py:17 +msgid "Base site URL" +msgstr "Endereço do JumpServer" + +#: settings/serializers/auth/oidc.py:18 +msgid "The current site's URL is used to construct the callback address" +msgstr "O URL do site atual é usado para construir o endereço de retorno" + +#: settings/serializers/auth/oidc.py:21 +msgid "Client Id" +msgstr " ID do Cliente" + +#: settings/serializers/auth/oidc.py:34 +msgid "Share session" +msgstr " Sessão compartilhada" + +#: settings/serializers/auth/oidc.py:36 +msgid "Ignore SSL verification" +msgstr " Ignorar a validação do certificado SSL" + +#: settings/serializers/auth/oidc.py:41 +msgid "" +"User attribute mapping, where the `key` is the JumpServer user attribute " +"name and the `value` is the OIDC service user attribute name" +msgstr "" +" Mapeamento de atributos do usuário, onde `key` é o nome do atributo do " +"usuário JumpServer e `value` é o nome do atributo do usuário do serviço OIDC" + +#: settings/serializers/auth/oidc.py:45 +msgid "Enable PKCE" +msgstr " Ativar PKCE" + +#: settings/serializers/auth/oidc.py:47 +msgid "Code challenge method" +msgstr " Método de verificação do código" + +#: settings/serializers/auth/oidc.py:55 +msgid "Use Keycloak" +msgstr " Utilizar Keycloak" + +#: settings/serializers/auth/oidc.py:57 +msgid "" +"Use Keycloak as the OpenID Connect server, or use standard OpenID Connect " +"Protocol" +msgstr "" +" Utilizar Keycloak como servidor OpenID Connect, ou utilizar o protocolo " +"padrão OpenID Connect" + +#: settings/serializers/auth/oidc.py:64 +msgid "Realm name" +msgstr " Domínio" + +#: settings/serializers/auth/oidc.py:71 +msgid "OpenID Connect" +msgstr " Conexão OpenID" + +#: settings/serializers/auth/oidc.py:74 +msgid "Provider endpoint" +msgstr " Endereço do ponto de extremidade" + +#: settings/serializers/auth/oidc.py:83 +msgid "JWKS endpoint" +msgstr " Endereço do ponto de extremidade jwks" + +#: settings/serializers/auth/oidc.py:92 +msgid "Signature algorithm" +msgstr " Algoritmo de assinatura" + +#: settings/serializers/auth/oidc.py:95 +msgid "Signing key" +msgstr " Chave de assinatura" + +#: settings/serializers/auth/oidc.py:98 +msgid "Scopes" +msgstr "Alcance da conexão" + +#: settings/serializers/auth/oidc.py:101 +msgid "ID Token max age (s)" +msgstr "Tempo de validade do token (segundos)" + +#: settings/serializers/auth/oidc.py:104 +msgid "ID Token include claims" +msgstr "Declaração" + +#: settings/serializers/auth/oidc.py:107 +msgid "Use state" +msgstr "Status do uso" + +#: settings/serializers/auth/oidc.py:110 +msgid "Use nonce" +msgstr "Uso temporário" + +#: settings/serializers/auth/passkey.py:12 +msgid "Only SSL domain can use passkey auth" +msgstr "Apenas domínios SSL podem usar autenticação Passkey (chave de acesso)" + +#: settings/serializers/auth/passkey.py:15 +msgid "FIDO Server ID" +msgstr "Domínio do serviço Passkey" + +#: settings/serializers/auth/passkey.py:17 +msgid "" +"The hostname can using passkey auth, If not set, will use request host and " +"the request host in DOMAINS, If multiple domains, use comma to separate" +msgstr "" +"Domínios que podem utilizar a autenticação Passkey, se não estabelecido, o " +"host solicitante será usado (nome do host na DOMAINS confiável), se houver " +"vários domínios, usar vírgulas para separar, não é necessário o número da " +"porta" + +#: settings/serializers/auth/passkey.py:22 +msgid "FIDO Server name" +msgstr "Nome do serviço Passkey" + +#: settings/serializers/auth/radius.py:14 +#: settings/serializers/auth/radius.py:16 +msgid "Radius" +msgstr "Radius" + +#: settings/serializers/auth/radius.py:23 +msgid "OTP in RADIUS" +msgstr "Uso do Radius OTP" + +#: settings/serializers/auth/radius.py:24 +msgid "" +"* Using OTP in RADIUS means users can employ RADIUS as a method for MFA" +msgstr "" +"* O uso do OTP no RADIUS significa que o usuário pode usar o RADIUS como " +"método de MFA" + +#: settings/serializers/auth/saml2.py:12 settings/serializers/auth/saml2.py:15 +msgid "SAML2" +msgstr "SAML2" + +#: settings/serializers/auth/saml2.py:18 +msgid "IDP Metadata URL" +msgstr "Endereço de metadados do IDP" + +#: settings/serializers/auth/saml2.py:21 +msgid "IDP Metadata XML" +msgstr "XML de metadados do IDP" + +#: settings/serializers/auth/saml2.py:24 +msgid "SP advanced settings" +msgstr "Configurações avançadas" + +#: settings/serializers/auth/saml2.py:28 +msgid "SP private key" +msgstr "SP Chave" + +#: settings/serializers/auth/saml2.py:32 +msgid "SP cert" +msgstr "SP Certificado" + +#: settings/serializers/auth/saml2.py:37 +msgid "" +"User attribute mapping, where the `key` is the SAML2 service user attribute " +"name and the `value` is the JumpServer user attribute name" +msgstr "" +"Mapeamento de propriedades do usuário, onde `key` é o nome da propriedade do" +" usuário do serviço SAML2, `value` é o nome da propriedade do usuário do " +"JumpServer" + +#: settings/serializers/auth/saml2.py:43 +msgid "When the user signs out, they also be logged out from the SAML2 server" +msgstr "" +"Quando os usuários saem, eles também são desconectados do servidor SAML2 " + +#: settings/serializers/auth/slack.py:20 +msgid "" +"User attribute mapping, where the `key` is the JumpServer user attribute " +"name and the `value` is the Slack service user attribute name" +msgstr "" +"Mapeamento de propriedades do usuário, onde `key` é o nome da propriedade do" +" usuário do JumpServer, `value` é o nome da propriedade do usuário do " +"serviço Slack" + +#: settings/serializers/auth/sms.py:18 +msgid "Enable Short Message Service (SMS)" +msgstr "Ativar serviço de mensagens (SMS)" + +#: settings/serializers/auth/sms.py:21 xpack/plugins/cloud/models.py:36 +msgid "Provider" +msgstr "Fornecedor de serviços na nuvem" + +#: settings/serializers/auth/sms.py:22 +msgid "Short Message Service (SMS) provider or protocol" +msgstr "Fornecedor de serviço de mensagens (SMS) ou protocolo" + +#: settings/serializers/auth/sms.py:25 +msgid "Code length" +msgstr "Comprimento do código de verificação" + +#: settings/serializers/auth/sms.py:26 +msgid "Length of the sent verification code" +msgstr "Comprimento do código de verificação a ser enviado" + +#: settings/serializers/auth/sms.py:31 settings/serializers/auth/sms.py:54 +#: settings/serializers/auth/sms.py:62 settings/serializers/auth/sms.py:71 +#: settings/serializers/auth/sms.py:82 settings/serializers/msg.py:83 +msgid "Signature" +msgstr "Assinatura" + +#: settings/serializers/auth/sms.py:32 settings/serializers/auth/sms.py:55 +#: settings/serializers/auth/sms.py:63 settings/serializers/auth/sms.py:72 +msgid "Template code" +msgstr "Template" + +#: settings/serializers/auth/sms.py:40 users/models/user/__init__.py:83 +#: users/serializers/user.py:159 +msgid "Phone" +msgstr "Celular" + +#: settings/serializers/auth/sms.py:69 +msgid "App Access Address" +msgstr "Endereço do aplicativo" + +#: settings/serializers/auth/sms.py:70 +msgid "Signature channel number" +msgstr "Número do canal de assinatura" + +#: settings/serializers/auth/sms.py:78 +msgid "Enterprise code" +msgstr "Código da empresa (SP id)" + +#: settings/serializers/auth/sms.py:79 +msgid "Shared secret" +msgstr "Senha compartilhada (Shared secret)" + +#: settings/serializers/auth/sms.py:80 +msgid "Original number" +msgstr "Número original (Src id)" + +#: settings/serializers/auth/sms.py:81 +msgid "Business type" +msgstr "Tipo de serviço (Service id)" + +#: settings/serializers/auth/sms.py:85 +msgid "" +"Template need contain {code} and Signature + template length does not exceed" +" 67 words. For example, your verification code is {code}, which is valid for" +" 5 minutes. Please do not disclose it to others." +msgstr "" +"O modelo precisa incluir {code} e a extensão do modelo+assinatura não pode " +"ultrapassar 67 caracteres. Por exemplo, seu código de verificação é {code}, " +"válido por 5 minutos. Não compartilhe com outros." + +#: settings/serializers/auth/sms.py:94 +msgid "The template needs to contain {code}" +msgstr "O modelo precisa incluir {code}" + +#: settings/serializers/auth/sms.py:97 +msgid "Signature + Template must not exceed 65 words" +msgstr "Modelo+assinatura não pode ultrapassar 65 caracteres" + +#: settings/serializers/auth/sms.py:106 +msgid "URL" +msgstr "URL" + +#: settings/serializers/auth/sso.py:16 +msgid "Enable SSO auth" +msgstr "Ativar autenticação de token SSO" + +#: settings/serializers/auth/sso.py:17 +msgid "Other service can using SSO token login to JumpServer without password" +msgstr "" +"Outros sistemas podem usar o Token SSO para se conectar com o JumpServer, " +"eliminando o processo de login" + +#: settings/serializers/auth/sso.py:20 +msgid "SSO auth key TTL" +msgstr "Validade do token" + +#: settings/serializers/auth/sso.py:20 +#: xpack/plugins/cloud/serializers/account_attrs.py:200 +msgid "Unit: second" +msgstr "Unidade: Segundos" + +#: settings/serializers/auth/wecom.py:20 +msgid "" +"User attribute mapping, where the `key` is the JumpServer user attribute " +"name and the `value` is the WeCom service user attribute name" +msgstr "" +"Mapeamento de atributos do usuário, onde `key` é o nome do atributo do " +"usuário JumpServer e `value` é o nome do atributo do usuário do serviço " +"WeChat empresarial" + +#: settings/serializers/basic.py:11 +msgid "Site URL" +msgstr "URL do site atual" + +#: settings/serializers/basic.py:13 +msgid "" +"Site URL is the externally accessible address of the current product service" +" and is usually used in links in system emails" +msgstr "" +"A URL do site é o endereço externo acessível do serviço atual, geralmente " +"usado em links em e-mails do sistema" + +#: settings/serializers/basic.py:18 +msgid "User guide url" +msgstr "URL do Guia do Usuário" + +#: settings/serializers/basic.py:19 +msgid "User first login update profile done redirect to it" +msgstr "" +"Usuário na primeira vez que faz login, redirecionado para o endereço após " +"modificar o perfil, pode ser wiki ou outros documentos explicativos" + +#: settings/serializers/basic.py:22 +msgid "Global organization" +msgstr "Nome da Organização Global" + +#: settings/serializers/basic.py:23 +msgid "The name of global organization to display" +msgstr "" +"O nome de exibição da organização global, o padrão é Organização Global" + +#: settings/serializers/basic.py:26 +msgid "Document URL" +msgstr "Link de Documentos" + +#: settings/serializers/basic.py:27 +msgid "" +"Document URL refers to the address in the top navigation bar Help - Document" +msgstr "" +"A URL do documento é o endereço na barra de navegação superior, Ajuda - " +"Documentos" + +#: settings/serializers/basic.py:30 +msgid "Support URL" +msgstr "Link de Suporte" + +#: settings/serializers/basic.py:31 +msgid "" +"Support URL refers to the address in the top navigation bar Help - Support" +msgstr "" +"A URL de suporte é o endereço na barra de navegação superior, Ajuda - " +"Suporte" + +#: settings/serializers/basic.py:44 +msgid "Organization name already exists" +msgstr "O nome da organização já existe" + +#: settings/serializers/cleaning.py:11 +msgid "Period clean" +msgstr "Limpeza Programada" + +#: settings/serializers/cleaning.py:15 +msgid "Login log retention days (day)" +msgstr "Log de Login (dias)" + +#: settings/serializers/cleaning.py:19 +msgid "Task log retention days (day)" +msgstr "Log de Tarefas (dias)" + +#: settings/serializers/cleaning.py:23 +msgid "Operate log retention days (day)" +msgstr "Log de Ações (dias)" + +#: settings/serializers/cleaning.py:27 +msgid "password change log keep days (day)" +msgstr "Log de Mudança de Senha." + +#: settings/serializers/cleaning.py:31 +msgid "FTP log retention days (day)" +msgstr "Upload/download (dias)" + +#: settings/serializers/cleaning.py:35 +msgid "Cloud sync task history retention days (day)" +msgstr "Registro de sincronização em nuvem (dias)" + +#: settings/serializers/cleaning.py:39 +msgid "job execution retention days (day)" +msgstr "Histórico de execução do Centro de Tarefas (dias)" + +#: settings/serializers/cleaning.py:43 +msgid "Activity log retention days (day)" +msgstr "Registro de Atividade (dias)" + +#: settings/serializers/cleaning.py:46 +msgid "Session log retention days (day)" +msgstr "Log de sessão (dias)" + +#: settings/serializers/cleaning.py:48 +msgid "" +"Session, record, command will be delete if more than duration, only in " +"database, OSS will not be affected." +msgstr "" +"Sessões, gravações e registros de comandos que excedam este período serão " +"excluídos (afeta o armazenamento do banco de dados, OSS, etc. não são " +"afetados)" + +#: settings/serializers/cleaning.py:53 +msgid "Change secret and push record retention days (day)" +msgstr "Dias de retenção do registro de alteração de senha (dias)" + +#: settings/serializers/feature.py:20 settings/serializers/msg.py:68 +msgid "Subject" +msgstr "Tema" + +#: settings/serializers/feature.py:24 +msgid "More Link" +msgstr "URL para mais informações" + +#: settings/serializers/feature.py:27 +#: settings/templates/ldap/_msg_import_ldap_user.html:6 +#: terminal/models/session/session.py:46 +msgid "Date end" +msgstr "Data de término" + +#: settings/serializers/feature.py:40 settings/serializers/feature.py:42 +#: settings/serializers/feature.py:43 +msgid "Announcement" +msgstr "Anúncio" + +#: settings/serializers/feature.py:56 settings/serializers/feature.py:59 +msgid "Vault" +msgstr "Ativar Vault" + +#: settings/serializers/feature.py:62 +msgid "Vault provider" +msgstr "Provedor de serviço Vault" + +#: settings/serializers/feature.py:66 +msgid "Record limit" +msgstr "Limite de registro" + +#: settings/serializers/feature.py:68 +msgid "" +"If the specific value is less than 999 (default), the system will " +"automatically perform a task every night: check and delete historical " +"accounts that exceed the predetermined number. If the value reaches or " +"exceeds 999 (default), no historical account deletion will be performed" +msgstr "" +"Se um valor específico é menor que 999, o sistema executará automaticamente " +"a tarefa todas as noites: verificar e excluir contas históricas que excedam " +"a quantidade predeterminada. Se esse valor atingir ou exceder 999, nenhuma " +"operação de exclusão de contas históricas será realizada." + +#: settings/serializers/feature.py:86 +msgid "Mount Point" +msgstr "Ponto de montagem" + +#: settings/serializers/feature.py:102 +#: xpack/plugins/cloud/serializers/account_attrs.py:41 +msgid "Tenant ID" +msgstr "ID do Inquilino" + +#: settings/serializers/feature.py:109 terminal/serializers/storage.py:68 +#: xpack/plugins/cloud/manager.py:107 xpack/plugins/cloud/manager.py:112 +#: xpack/plugins/cloud/models.py:287 +msgid "Region" +msgstr "Região" + +#: settings/serializers/feature.py:112 terminal/serializers/storage.py:33 +msgid "Access key ID" +msgstr "ID da chave de acesso (AK)" + +#: settings/serializers/feature.py:116 terminal/serializers/storage.py:37 +#: xpack/plugins/cloud/serializers/account_attrs.py:20 +msgid "Access key secret" +msgstr "Segredo da chave de acesso (SK)" + +#: settings/serializers/feature.py:121 settings/serializers/feature.py:127 +msgid "Chat AI" +msgstr "Chat AI" + +#: settings/serializers/feature.py:130 +msgid "GPT Base URL" +msgstr "Endereço GPT" + +#: settings/serializers/feature.py:131 +msgid "" +"The base URL of the GPT service. For example: https://api.openai.com/v1" +msgstr "URL base do serviço GPT. Por exemplo: https://api.openai.com/v1" + +#: settings/serializers/feature.py:134 templates/_header_bar.html:96 +msgid "API Key" +msgstr "API Key" + +#: settings/serializers/feature.py:138 +msgid "" +"The proxy server address of the GPT service. For example: http://ip:port" +msgstr "" +"Endereço do servidor proxy do serviço GPT. Por exemplo: http://ip:porta" + +#: settings/serializers/feature.py:141 +msgid "GPT Model" +msgstr "Modelo GPT" + +#: settings/serializers/feature.py:150 +msgid "Approval without login" +msgstr "Aprovação sem login" + +#: settings/serializers/feature.py:151 +msgid "Allow direct approval ticket without login" +msgstr "Permitir a aprovação direta do pedido de serviço sem login" + +#: settings/serializers/feature.py:155 +msgid "Period" +msgstr "Faixa de horário" + +#: settings/serializers/feature.py:156 +msgid "" +"The default authorization time period when applying for assets via a ticket" +msgstr "" +"Faixa de horário de autorização padrão para a aplicação de bens do pedido de" +" serviço" + +#: settings/serializers/feature.py:159 +msgid "hour" +msgstr "Hora" + +#: settings/serializers/feature.py:160 +msgid "Unit" +msgstr "Unidade" + +#: settings/serializers/feature.py:160 +msgid "The unit of period" +msgstr "Período de Execução" + +#: settings/serializers/feature.py:169 +msgid "" +"Allow users to execute batch commands in the Workbench - Job Center - Adhoc" +msgstr "" +"Permitir que os usuários executem comandos em lote no Workbench - Action " +"Center - Adhoc" + +#: settings/serializers/feature.py:173 +msgid "Command blacklist" +msgstr "Lista Negra de Comandos do Action Center" + +#: settings/serializers/feature.py:174 +msgid "Command blacklist in Adhoc" +msgstr "Lista Negra de Comandos do Action Center" + +#: settings/serializers/feature.py:179 +#: terminal/models/virtualapp/provider.py:17 +#: terminal/models/virtualapp/virtualapp.py:36 +#: terminal/models/virtualapp/virtualapp.py:97 +#: terminal/serializers/virtualapp.py:32 +msgid "Virtual app" +msgstr "Aplicativo Virtual" + +#: settings/serializers/feature.py:182 +msgid "Virtual App" +msgstr "Aplicativo Virtual" + +#: settings/serializers/feature.py:184 +msgid "" +"Virtual applications, you can use the Linux operating system as an " +"application server in remote applications." +msgstr "" +"Aplicativo virtual, você pode usar o sistema operacional Linux como servidor" +" de aplicativo em aplicativos remotos." + +#: settings/serializers/msg.py:24 +msgid "SMTP" +msgstr "SMTP" + +#: settings/serializers/msg.py:25 +msgid "EXCHANGE" +msgstr "Troca" + +#: settings/serializers/msg.py:34 +msgid "The user to be used for email server authentication" +msgstr "" +"Nome de usuário para fazer login no servidor de email. Normalmente é o seu " +"endereço de email" + +#: settings/serializers/msg.py:38 +msgid "" +"Password to use for the email server. It is used in conjunction with `User` " +"when authenticating to the email server" +msgstr "Senha para fazer login no servidor de email" + +#: settings/serializers/msg.py:41 +msgid "Sender" +msgstr "Remetente" + +#: settings/serializers/msg.py:42 +msgid "Sender email address (default to using the `User`)" +msgstr "Endereço de Email do Remetente (Usa “usuário” como padrão)" + +#: settings/serializers/msg.py:46 +msgid "The recipient is used for testing the email server's connectivity" +msgstr "Destinatário usado para testar a conectividade do servidor de e-mail " + +#: settings/serializers/msg.py:51 +msgid "" +"Whether to use an implicit TLS (secure) connection when talking to the SMTP " +"server. In most email documentation this type of TLS connection is referred " +"to as SSL. It is generally used on port 465" +msgstr "" +" Se usa uma conexão TLS (segura) implícita ao se comunicar com o servidor " +"SMTP. Em grande parte da documentação de e-mail, esse tipo de conexão TLS é " +"conhecido como SSL. É geralmente usado na porta 465 " + +#: settings/serializers/msg.py:54 +msgid "Use TLS" +msgstr " Usar TLS " + +#: settings/serializers/msg.py:56 +msgid "" +"Whether to use a TLS (secure) connection when talking to the SMTP server. " +"This is used for explicit TLS connections, generally on port 587" +msgstr "" +" Se utilizar uma conexão TLS (segura) ao se comunicar com o servidor SMTP. " +"Isso é usado para conexões TLS explícitas, geralmente na porta 587 " + +#: settings/serializers/msg.py:64 +msgid "Subject prefix" +msgstr " Prefixo do assunto " + +#: settings/serializers/msg.py:69 +msgid "" +"Tips: When creating a user, send the subject of the email (eg:Create account" +" successfully)" +msgstr "" +" Dica: Quando criar um usuário, enviar um e-mail para definir a senha com o " +"assunto (por exemplo: sucesso na criação do usuário) " + +#: settings/serializers/msg.py:73 +msgid "Honorific" +msgstr " Saudação do e-mail " + +#: settings/serializers/msg.py:74 +msgid "Tips: When creating a user, send the honorific of the email (eg:Hello)" +msgstr "" +" Dica: Ao criar um usuário, enviar um e-mail para definir a senha com a " +"saudação (por exemplo: olá) " + +#: settings/serializers/msg.py:80 +msgid "" +"Tips: When creating a user, send the content of the email, support " +"{username} {name} {email} label" +msgstr "" +" Dica: Ao criar um usuário, enviar um e-mail para definir a senha com o " +"conteúdo, suporta as tags {username} {name} {email} " + +#: settings/serializers/msg.py:84 +msgid "Tips: Email signature (eg:jumpserver)" +msgstr " Assinatura do e-mail (como: jumpserver) " + +#: settings/serializers/other.py:8 +msgid "More..." +msgstr " Mais... " + +#: settings/serializers/other.py:11 +msgid "Perm ungroup node" +msgstr " Exibir nós não agrupados " + +#: settings/serializers/other.py:12 +msgid "Perm single to ungroup node" +msgstr "" +" Colocar ativos autorizados separadamente em nós não agrupados, evitando a " +"capacidade de ver o nó em que o ativo está localizado, mas o nó não está " +"autorizado " + +#: settings/serializers/security.py:17 +msgid "User password expiration (day)" +msgstr " Tempo de expiração da senha do usuário (dias) " + +#: settings/serializers/security.py:19 +msgid "" +"If the user does not update the password during the time, the user password " +"will expire failure;The password expiration reminder mail will be automatic " +"sent to the user by system within 5 days (daily) before the password expires" +msgstr "" +" Se o usuário não atualizar a senha neste período, a senha do usuário " +"expirará e será inválida; O e-mail de lembrete de expiração de senha será " +"enviado automaticamente pelo sistema ao usuário dentro de 5 dias antes da " +"expiração da senha." + +#: settings/serializers/security.py:26 +msgid "Recent password count" +msgstr "Não é possível definir senhas recentes" + +#: settings/serializers/security.py:28 +msgid "" +"Tip: When the user resets the password, it cannot be the previous n " +"historical passwords of the user" +msgstr "" +"Aviso: Ao redefinir a senha, o usuário não pode usar as senhas usadas " +"anteriormente" + +#: settings/serializers/security.py:34 +msgid "Minimum length (User)" +msgstr "Comprimento mínimo da senha" + +#: settings/serializers/security.py:38 +msgid "Minimum length (Admin)" +msgstr "Comprimento mínimo da senha do administrador" + +#: settings/serializers/security.py:47 +msgid "Digits" +msgstr "Deve conter números" + +#: settings/serializers/security.py:50 +msgid "Special characters" +msgstr "Deve conter caracteres especiais" + +#: settings/serializers/security.py:55 +msgid "" +"If the user has failed to log in for a limited number of times, no login is " +"allowed during this time interval." +msgstr "" +"Quando o número de falhas de login do usuário atingir o limite, o login será" +" proibido durante este intervalo" + +#: settings/serializers/security.py:63 settings/serializers/security.py:73 +msgid "Login failures count" +msgstr "Limitar o número de falhas de login do usuário" + +#: settings/serializers/security.py:67 settings/serializers/security.py:77 +msgid "Login failure period (minute)" +msgstr "Proibir o intervalo de login do usuário (min)" + +#: settings/serializers/security.py:81 +msgid "Login IP whitelist" +msgstr "Lista branca de login IP" + +#: settings/serializers/security.py:86 +msgid "Login IP blacklist" +msgstr "Lista negra de login IP" + +#: settings/serializers/security.py:91 +msgid "Only single device login" +msgstr "Login apenas em um dispositivo" + +#: settings/serializers/security.py:92 +msgid "" +"After the user logs in on the new device, other logged-in devices will " +"automatically log out" +msgstr "" +"Quando o usuário faz login em um novo dispositivo, os outros dispositivos " +"conectados são automaticamente deslogados" + +#: settings/serializers/security.py:95 +msgid "Only exist user login" +msgstr "Login permitido apenas para usuários existentes" + +#: settings/serializers/security.py:97 +msgid "" +"If enabled, non-existent users will not be allowed to log in; if disabled, " +"users of other authentication methods except local authentication methods " +"are allowed to log in and automatically create users (if the user does not " +"exist)" +msgstr "" +"Se ativado, usuários não registrados não serão permitidos para login; se " +"desativado, usuários de outros métodos de autenticação serão permitidos para" +" login e o usuário será automaticamente criado (se o usuário não existir)" + +#: settings/serializers/security.py:103 +msgid "Only from source login" +msgstr "Apenas faça login a partir da fonte do usuário" + +#: settings/serializers/security.py:105 +msgid "" +"If it is enabled, the user will only authenticate to the source when logging" +" in; if it is disabled, the user will authenticate all the enabled " +"authentication methods in a certain order when logging in, and as long as " +"one of the authentication methods is successful, they can log in directly" +msgstr "" +"Se ativado, a autenticação será feita apenas na fonte durante o login do " +"usuário; Se desativado, a autenticação será feita em uma certa ordem para " +"todos os métodos de autenticação habilitados durante o login do usuário, e o" +" login pode ser feito diretamente desde que uma autenticação seja bem-" +"sucedida" + +#: settings/serializers/security.py:116 +#: users/templates/users/mfa_setting.html:160 +msgid "Not enabled" +msgstr "Desativado" + +#: settings/serializers/security.py:117 +msgid "All users" +msgstr "Todos os usuários" + +#: settings/serializers/security.py:118 +msgid "Only admin users" +msgstr "Apenas administradores" + +#: settings/serializers/security.py:120 +msgid "Global MFA" +msgstr "Habilitar autenticação MFA global" + +#: settings/serializers/security.py:124 +msgid "Third-party login MFA" +msgstr "Terceiros habilitam a autenticação MFA" + +#: settings/serializers/security.py:125 +msgid "The third-party login modes include OIDC, CAS, and SAML2" +msgstr "Os métodos de login de terceiros incluem: OIDC, CAS, SAML2" + +#: settings/serializers/security.py:128 +msgid "OTP issuer name" +msgstr "Nome após a varredura OTP" + +#: settings/serializers/security.py:132 +msgid "OTP valid window" +msgstr "Número válido de atrasos OTP" + +#: settings/serializers/security.py:136 +msgid "MFA verify TTL" +msgstr "Período de validade da verificação MFA" + +#: settings/serializers/security.py:138 +msgid "" +"Unit: second, The verification MFA takes effect only when you view the " +"account password" +msgstr "" +"Unidade: segundos, atualmente apenas válido ao verificar a senha da conta " +"MFA" + +#: settings/serializers/security.py:143 +msgid "MFA in login page" +msgstr "Entrar MFA na página de login" + +#: settings/serializers/security.py:144 +msgid "Eu security regulations(GDPR) require MFA to be on the login page" +msgstr "" +"O regulamento de segurança de dados da União Europeia (GDPR) requer MFA na " +"página de login para garantir a segurança do login do sistema" + +#: settings/serializers/security.py:148 +msgid "Verify code TTL (second)" +msgstr "Tempo de validade do código de verificação (minutos)" + +#: settings/serializers/security.py:149 +msgid "Reset password and send SMS code expiration time" +msgstr "" +"Código de verificação para redefinição de senha e tempo de expiração do " +"código de verificação enviado por SMS " + +#: settings/serializers/security.py:153 +msgid "Login dynamic code" +msgstr " Ativar código adicional para login " + +#: settings/serializers/security.py:154 +msgid "" +"The password and additional code are sent to a third party authentication " +"system for verification" +msgstr "" +" Senha e código adicional são enviados juntos para o sistema de autenticação" +" de terceiros para verificação, como: alguns sistemas de autenticação de " +"terceiros, necessitam de senha + 6 dígitos para completar a autenticação " + +#: settings/serializers/security.py:158 +msgid "Login captcha" +msgstr " Ativar código de verificação de login " + +#: settings/serializers/security.py:159 +msgid "Enable captcha to prevent robot authentication" +msgstr " Ative o código de verificação para prevenir logins de robôs " + +#: settings/serializers/security.py:162 +msgid "Suspicious Login Verification" +msgstr " Notificação de login de localização diferente " + +#: settings/serializers/security.py:164 +msgid "" +"The system determines whether the login IP address belongs to a common login" +" city. If the account is logged in from a common login city, the system " +"sends a remote login reminder" +msgstr "" +" Baseado no IP de login para determinar se pertence à cidade de login usual," +" se a conta estiver logada em uma cidade incomum, um lembrete de login de " +"local diferente será enviado " + +#: settings/serializers/security.py:170 +msgid "Auto Disable Threshold (day)" +msgstr " Desativação automática de usuários inativos (dias) " + +#: settings/serializers/security.py:171 +msgid "" +"Detect infrequent users daily and disable them if they exceed the " +"predetermined time limit" +msgstr "" +" Verificado diariamente, usuários que excedem o tempo pré-definido são " +"automaticamente desativados " + +#: settings/serializers/security.py:191 +msgid "Watermark" +msgstr " Ativar marca d'água " + +#: settings/serializers/security.py:192 +msgid "Enabled, the web session and replay contains watermark information" +msgstr "" +" Quando ativado, a sessão Web e as gravações conterão informações de marca " +"d'água " + +#: settings/serializers/security.py:196 +msgid "Max idle time (minute)" +msgstr " Tempo máximo de inatividade da conexão (minutos) " + +#: settings/serializers/security.py:197 +msgid "If idle time more than it, disconnect connection." +msgstr "" +" Nota: se a conexão permanecer inativa além do tempo configurado, ela será " +"desconectada " + +#: settings/serializers/security.py:200 +msgid "Session expire at browser closed" +msgstr " Sessões expiram quando o navegador é fechado " + +#: settings/serializers/security.py:201 +msgid "Whether to expire the session when the user closes their browser." +msgstr " A sessão expira quando o usuário fecha o navegador." + +#: settings/serializers/security.py:206 +msgid "Allow users to view asset session information" +msgstr "Permitir que o usuário veja as informações da sessão online do ativo" + +#: settings/serializers/security.py:208 +msgid "" +"When a user connects to an asset, the account selection popup displays the " +"number of active sessions for the current asset (RDP protocol only)." +msgstr "" +"Quando o usuário se conecta ao ativo, a janela pop-up de seleção de conta " +"mostra o número de sessões online do ativo atual (apenas protocolo rdp)" + +#: settings/serializers/security.py:214 +msgid "Max online time (hour)" +msgstr "Tempo máximo de conexão da sessão (em horas)" + +#: settings/serializers/security.py:215 +msgid "If session connection time more than it, disconnect connection." +msgstr "" +"Dica: Se a conexão da sessão exceder essa configuração, a conexão será " +"desconectada" + +#: settings/serializers/security.py:218 +msgid "Remember manual auth" +msgstr "Salvar senha inserida manualmente" + +#: settings/serializers/security.py:221 +#: terminal/templates/terminal/_msg_session_sharing.html:10 +msgid "Session share" +msgstr "Compartilhamento de sessão" + +#: settings/serializers/security.py:222 +msgid "Enabled, Allows user active session to be shared with other users" +msgstr "" +"Se ativado, permite ao usuário compartilhar a sessão do ativo conectado com " +"outras pessoas, para trabalhar juntos" + +#: settings/serializers/security.py:228 +msgid "Insecure command alert" +msgstr "Alerta de comando perigoso" + +#: settings/serializers/security.py:231 +msgid "Email recipient" +msgstr "Destinatário do e-mail" + +#: settings/serializers/security.py:232 +msgid "Multiple user using , split" +msgstr "Vários usuários, separados por ," + +#: settings/serializers/settings.py:62 +msgid "[%s] %s" +msgstr "[%s] %s" + +#: settings/serializers/terminal.py:15 +msgid "Auto" +msgstr "Automático" + +#: settings/serializers/terminal.py:22 +msgid "Registration" +msgstr "注册组件" + +#: settings/serializers/terminal.py:24 +msgid "" +"Allow component register, after all component setup, you should disable this" +" for security" +msgstr "" +"Permitir o registro do componente, quando todos os terminais forem " +"iniciados, por segurança deve ser desabilitado" + +#: settings/serializers/terminal.py:30 +msgid "" +"* Allow users to log in to the KoKo component via password authentication" +msgstr "" +"* Permitir que o usuário faça login no componente KoKo via autenticação por " +"senha" + +#: settings/serializers/terminal.py:36 +msgid "" +"* Allow users to log in to the KoKo component via Public key " +"authentication
If third-party authentication services, such as AD/LDAP, " +"are enabled, you should disable this option to prevent users from logging in" +" after being deleted from the AD/LDAP server" +msgstr "" +"* Permitir que os usuários façam login no componente KoKo através da " +"autenticação por chave pública
Se um serviço de autenticação de " +"terceiros (como AD/LDAP) estiver ativado, essa opção deve ser desativada " +"para prevenir que usuários que foram removidos do servidor AD/LDAP façam " +"login novamente " + +#: settings/serializers/terminal.py:43 +msgid "Asset sorting" +msgstr " Ordenação da lista de ativos" + +#: settings/serializers/terminal.py:46 +msgid "Asset page size" +msgstr "Quantidade de ativos por página na lista" + +#: settings/serializers/terminal.py:51 +msgid "" +"* You can individually configure the service address and port in the service" +" endpoint
If enabled, the Luna page will display the DB client launch " +"method when connecting to assets" +msgstr "" +" * Você pode configurar o endereço do serviço e a porta separadamente nos " +"pontos finais do serviço
Se ativado, a página Luna exibirá o método de" +" inicialização do cliente DB ao se conectar aos ativos " + +#: settings/serializers/terminal.py:59 +msgid "" +"* You can individually configure the service address and port in the service" +" endpoint
If enabled, the Luna page will display the download rdp file " +"button and RDP Client launch method when connecting to assets" +msgstr "" +" * Você pode configurar o endereço do serviço e a porta separadamente nos " +"pontos finais do serviço
Se ativado, a página Luna exibirá um botão " +"para baixar o arquivo rdp e o método de inicialização do cliente RDP ao se " +"conectar aos ativos" + +#: settings/serializers/terminal.py:66 +msgid "Client connection" +msgstr "Conexão do cliente" + +#: settings/serializers/terminal.py:68 +msgid "" +"* Allow connecting to the KoKo component via SSH client
If enabled, the " +"Luna page will display the SSH client launch method when connecting to " +"assets" +msgstr "" +" * Permitir que a conexão ao componente KoKo seja feita através do cliente " +"SSH
Se ativado, a página Luna exibirá o método de inicialização do " +"cliente SSH ao se conectar aos ativos " + +#: settings/serializers/tool.py:10 +msgid "Tool" +msgstr "Ferramentas" + +#: settings/serializers/tool.py:13 +msgid "Tools in the Workbench" +msgstr "Ferramentas na bancada de trabalho" + +#: settings/serializers/tool.py:15 +msgid "" +"*! If enabled, users with RBAC permissions will be able to utilize all tools" +" in the workbench" +msgstr "" +" *! Se ativado, usuários com permissões RBAC poderão usar todas as " +"ferramentas na bancada de trabalho " + +#: settings/tasks/ldap.py:73 +msgid "Periodic import ldap user" +msgstr "Importação periódica de usuários LDAP" + +#: settings/tasks/ldap.py:75 settings/tasks/ldap.py:85 +msgid "" +"When LDAP auto-sync is configured, this task will be invoked to synchronize " +"users" +msgstr "" +" Quando a sincronização automática LDAP estiver configurada, essa tarefa " +"será chamada para a sincronização do usuário " + +#: settings/tasks/ldap.py:83 +msgid "Periodic import ldap ha user" +msgstr "Importação periódica de usuários LDAP HA" + +#: settings/tasks/ldap.py:117 +msgid "Registration periodic import ldap user task" +msgstr "Registro de tarefa de importação periódica de usuários LDAP" + +#: settings/tasks/ldap.py:119 +msgid "" +"When LDAP auto-sync parameters change, such as Crontab parameters, the LDAP sync task \n" +" will be re-registered or updated, and this task will be invoked" +msgstr "" +" Quando parâmetros de sincronização automática LDAP mudam, como parâmetros " +"Crontab, o re-registro ou atualização da tarefa de sincronização LDAP será " +"chamada para essa tarefa" + +#: settings/tasks/ldap.py:133 +msgid "Registration periodic import ldap ha user task" +msgstr "Período de registro de importação de usuários LDAP HA Action" + +#: settings/tasks/ldap.py:135 +msgid "" +"When LDAP HA auto-sync parameters change, such as Crontab parameters, the LDAP HA sync task \n" +" will be re-registered or updated, and this task will be invoked" +msgstr "" +"Quando as configurações do sincronismo automático LDAP HA mudam, como os " +"parâmetros do Crontab, esta ação é chamada para registrar novamente ou " +"atualizar a tarefa de sincronismo ldap ha" + +#: settings/templates/ldap/_msg_import_ldap_user.html:2 +msgid "Sync task finish" +msgstr "Tarefa de sincronização concluída" + +#: settings/templates/ldap/_msg_import_ldap_user.html:9 +msgid "Synced Organization" +msgstr "Organizações sincronizadas" + +#: settings/templates/ldap/_msg_import_ldap_user.html:15 +msgid "Synced User" +msgstr "Usuários sincronizados" + +#: settings/templates/ldap/_msg_import_ldap_user.html:22 +msgid "No user synchronization required" +msgstr "Nenhum usuário para sincronizar" + +#: settings/utils/ldap.py:509 +msgid "ldap:// or ldaps:// protocol is used." +msgstr "Usar protocolo ldap:// ou ldaps://" + +#: settings/utils/ldap.py:520 +msgid "Host or port is disconnected: {}" +msgstr "Host ou porta não pode ser conectado: {}" + +#: settings/utils/ldap.py:522 +msgid "The port is not the port of the LDAP service: {}" +msgstr "Porta não é uma porta de serviço LDAP: {}" + +#: settings/utils/ldap.py:524 +msgid "Please add certificate: {}" +msgstr "Por favor, adicione um certificado" + +#: settings/utils/ldap.py:528 settings/utils/ldap.py:555 +#: settings/utils/ldap.py:585 settings/utils/ldap.py:613 +msgid "Unknown error: {}" +msgstr "Erro desconhecido: {}" + +#: settings/utils/ldap.py:542 +msgid "Bind DN or Password incorrect" +msgstr "DN de ligação ou senha incorreta" + +#: settings/utils/ldap.py:549 +msgid "Please enter Bind DN: {}" +msgstr "Por favor, insira o DN de qualidade: {}" + +#: settings/utils/ldap.py:551 +msgid "Please enter Password: {}" +msgstr "Por favor, insira a senha: {}" + +#: settings/utils/ldap.py:553 +msgid "Please enter correct Bind DN and Password: {}" +msgstr "Por favor, insira o DN de ligação correto e a senha: {}" + +#: settings/utils/ldap.py:571 +msgid "Invalid User OU or User search filter: {}" +msgstr "Usuário OU ou filtro de usuário ilegal: {}" + +#: settings/utils/ldap.py:602 +msgid "LDAP User attr map not include: {}" +msgstr "O mapeamento de atributos LDAP não contém: {}" + +#: settings/utils/ldap.py:609 +msgid "LDAP User attr map is not dict" +msgstr "Mapeamento de atributos LDAP ilegal" + +#: settings/utils/ldap.py:628 +msgid "LDAP authentication is not enabled" +msgstr "Autenticação LDAP não habilitada" + +#: settings/utils/ldap.py:646 +msgid "Error (Invalid LDAP server): {}" +msgstr "Erro (endereço do servidor LDAP ilegal): {}" + +#: settings/utils/ldap.py:648 +msgid "Error (Invalid Bind DN): {}" +msgstr "Erro (DN de ligação ilegal): {}" + +#: settings/utils/ldap.py:650 +msgid "Error (Invalid LDAP User attr map): {}" +msgstr "Erro (mapeamento de atributos LDAP ilegal): {}" + +#: settings/utils/ldap.py:652 +msgid "Error (Invalid User OU or User search filter): {}" +msgstr "Erro (usuário OU ou filtro de usuário ilegal): {}" + +#: settings/utils/ldap.py:654 +msgid "Error (Not enabled LDAP authentication): {}" +msgstr "Erro (autenticação LDAP não habilitada): {}" + +#: settings/utils/ldap.py:656 +msgid "Error (Unknown): {}" +msgstr "Erro (desconhecido): {}" + +#: settings/utils/ldap.py:659 +msgid "Succeed: Match {} users" +msgstr "Correspondência bem-sucedida {} usuários" + +#: settings/utils/ldap.py:689 +msgid "Authentication failed (configuration incorrect): {}" +msgstr "Falha de autenticação (erro de configuração): {}" + +#: settings/utils/ldap.py:693 +msgid "Authentication failed (username or password incorrect): {}" +msgstr "Falha de autenticação (nome de usuário ou senha incorretos): {}" + +#: settings/utils/ldap.py:695 +msgid "Authentication failed (Unknown): {}" +msgstr "Falha de autenticação: (desconhecido): {}" + +#: settings/utils/ldap.py:698 +msgid "Authentication success: {}" +msgstr "Autenticação bem-sucedida: {}" + +#: settings/ws.py:222 +msgid "No LDAP user was found" +msgstr "Não foi possível obter o usuário LDAP" + +#: settings/ws.py:228 +msgid "Total {}, success {}, failure {}" +msgstr "Total {},Sucesso {},Falha {}" + +#: templates/_csv_import_export.html:8 +msgid "Export" +msgstr "Exportar" + +#: templates/_csv_import_export.html:13 templates/_csv_import_modal.html:5 +#: xpack/plugins/cloud/const.py:65 +msgid "Import" +msgstr "Importar" + +#: templates/_csv_import_modal.html:12 +msgid "Download the imported template or use the exported CSV file format" +msgstr "Baixar o template de importação ou usar o formato csv exportado" + +#: templates/_csv_import_modal.html:13 +msgid "Download the import template" +msgstr "Baixar modelo de importação" + +#: templates/_csv_import_modal.html:17 templates/_csv_update_modal.html:17 +msgid "Select the CSV file to import" +msgstr "Por favor, importe o arquivo csv" + +#: templates/_csv_import_modal.html:39 templates/_csv_update_modal.html:42 +msgid "Please select file" +msgstr "Selecione o arquivo" + +#: templates/_csv_update_modal.html:12 +msgid "Download the update template or use the exported CSV file format" +msgstr "Baixar o template atualizado ou usar o formato csv exportado" + +#: templates/_csv_update_modal.html:13 +msgid "Download the update template" +msgstr "Baixar modelo atualizado" + +#: templates/_header_bar.html:12 +msgid "Help" +msgstr "Ajuda" + +#: templates/_header_bar.html:19 +msgid "Docs" +msgstr "Documentação" + +#: templates/_header_bar.html:27 +msgid "Commercial support" +msgstr "Assistência Comercial" + +#: templates/_header_bar.html:85 users/forms/profile.py:44 +msgid "Profile" +msgstr "Informações pessoais" + +#: templates/_header_bar.html:89 +msgid "Admin page" +msgstr "Página de 管理" + +#: templates/_header_bar.html:92 +msgid "User page" +msgstr "Página do usuário" + +#: templates/_header_bar.html:97 +msgid "Logout" +msgstr "Logout" + +#: templates/_message.html:6 +msgid "" +"\n" +" Your account has expired, please contact the administrator.\n" +" " +msgstr "" +"\n" +" Sua conta expirou, entre em contato com a administração." + +#: templates/_message.html:13 +msgid "Your account will at" +msgstr "Sua conta irá expirar em" + +#: templates/_message.html:13 templates/_message.html:30 +msgid "expired. " +msgstr "" +".\n" +" Sua senha expirou, clique em link para atualizar a senha\n" +" " + +#: templates/_message.html:23 +msgid "" +"\n" +" Your password has expired, please click this link update password.\n" +" " +msgstr "Sua senha irá expirar em" + +#: templates/_message.html:30 +msgid "Your password will at" +msgstr "" +"\n" +" Clique aqui para atualizar sua senha\n" +" " + +#: templates/_message.html:31 +msgid "" +"\n" +" please click this link to update your password.\n" +" " +msgstr "" +"\n" +" Suas informações estão incompletas, clique neste link para completar\n" +" " + +#: templates/_message.html:43 +msgid "" +"\n" +" Your information was incomplete. Please click this link to complete your information.\n" +" " +msgstr "" +"\n" +" Sua chave SSH não está configurada ou está inválida, clique aqui para atualizar\n" +" " + +#: templates/_message.html:56 +msgid "" +"\n" +" Your ssh public key not set or expired. Please click this link to update\n" +" " +msgstr "Enviar" + +#: templates/_mfa_login_field.html:31 +#: users/templates/users/forgot_password.html:101 +msgid "Send" +msgstr "Aguarde:" + +#: templates/_mfa_login_field.html:110 +#: users/templates/users/forgot_password.html:176 +msgid "Wait: " +msgstr "Código de verificação enviado" + +#: templates/_mfa_login_field.html:120 +#: users/templates/users/forgot_password.html:192 +msgid "The verification code has been sent" +msgstr "Página inicial" + +#: templates/_without_nav_base.html:26 +msgid "Home page" +msgstr "Cliente" + +#: templates/resource_download.html:20 templates/resource_download.html:35 +#: users/const.py:65 +msgid "Client" +msgstr "Cliente" + +#: templates/resource_download.html:22 +msgid "" +"JumpServer Client, currently used to launch the client, now only support " +"launch RDP SSH client, The Telnet client will next" +msgstr "" +"JumpServer cliente, atualmente utilizado para acionar programas de cliente " +"específicos para conexão de ativos, suporta apenas os clientes RDP SSH no " +"momento, O Telnet será suportado no futuro" + +#: templates/resource_download.html:35 +msgid "Microsoft" +msgstr "Microsoft" + +#: templates/resource_download.html:35 +msgid "Official" +msgstr "oficial" + +#: templates/resource_download.html:37 +msgid "" +"macOS needs to download the client to connect RDP asset, which comes with " +"Windows" +msgstr "" +"No MacOS, é necessário baixar o cliente para se conectar aos ativos do RDP, " +"o sistema Windows instala esse programa por padrão" + +#: templates/resource_download.html:45 +msgid "Windows Remote application publisher tools" +msgstr "" +"Ferramentas do servidor de publicação de aplicativos remotos do Windows" + +#: templates/resource_download.html:46 +msgid "" +"OpenSSH is a program used to connect remote applications in the Windows " +"Remote Application Publisher" +msgstr "" +"OpenSSH é usado no servidor de publicação de aplicativos remotos do Windows " +"para se conectar a aplicativos remotos" + +#: templates/resource_download.html:53 +msgid "Offline video player" +msgstr "Reprodutor de gravação offline" + +#: terminal/api/applet/applet.py:52 terminal/api/applet/applet.py:55 +#: terminal/api/virtualapp/virtualapp.py:43 +#: terminal/api/virtualapp/virtualapp.py:46 +msgid "Invalid zip file" +msgstr "Arquivo zip inválido" + +#: terminal/api/applet/applet.py:74 +msgid "This is enterprise edition applet" +msgstr "" +"Versão empresarial do aplicativo remoto, não pode ser usada na versão " +"comunitária" + +#: terminal/api/applet/applet.py:91 +msgid "Applet not found in path: {}" +msgstr "Nenhum aplicativo remoto encontrado no caminho: {}" + +#: terminal/api/component/endpoint.py:32 +msgid "Not found protocol query params" +msgstr "Parâmetro de consulta de protocolo não encontrado" + +#: terminal/api/component/storage.py:31 +msgid "Deleting the default storage is not allowed" +msgstr "Não é permitido deletar a configuração de armazenamento padrão" + +#: terminal/api/component/storage.py:36 +msgid "Cannot delete storage that is being used: {}" +msgstr "Não é possível deletar o armazenamento em uso: {}" + +#: terminal/api/component/storage.py:77 terminal/api/component/storage.py:78 +msgid "Command storages" +msgstr "Armazenamento de comandos" + +#: terminal/api/component/storage.py:84 xpack/plugins/cloud/manager.py:107 +msgid "Invalid" +msgstr "Inválido" + +#: terminal/api/component/storage.py:132 terminal/tasks.py:208 +msgid "Test failure: {}" +msgstr "Teste falhou: {}" + +#: terminal/api/component/storage.py:135 +msgid "Test successful" +msgstr "Teste bem-sucedido" + +#: terminal/api/component/storage.py:137 +msgid "Test failure: Please check configuration" +msgstr "Teste falhou: Por favor, verifique a configuração" + +#: terminal/api/component/terminal.py:55 +msgid "Have online sessions" +msgstr "Há sessões online" + +#: terminal/api/session/session.py:49 +msgid "User %s %s session %s replay" +msgstr "O usuário %s %s a gravação da sessão %s" + +#: terminal/api/session/session.py:329 +msgid "Session does not exist: {}" +msgstr "Sessão não existe: {}" + +#: terminal/api/session/session.py:332 +msgid "Session is finished or the protocol not supported" +msgstr "A sessão já foi concluída ou o protocolo não é suportado" + +#: terminal/api/session/session.py:345 +msgid "User does not have permission" +msgstr "Usuário sem permissão" + +#: terminal/api/session/sharing.py:29 +msgid "Secure session sharing settings is disabled" +msgstr "Sessão compartilhada não ativada" + +#: terminal/apps.py:9 +msgid "App Terminals" +msgstr "管理" + +#: terminal/backends/command/models.py:19 +msgid "Input" +msgstr "Entrada" + +#: terminal/backends/command/models.py:20 terminal/serializers/command.py:73 +msgid "Output" +msgstr "Saída" + +#: terminal/backends/command/models.py:24 terminal/serializers/command.py:22 +#: terminal/templates/terminal/_msg_command_warning.html:10 +msgid "Risk level" +msgstr "Nível de risco" + +#: terminal/connect_methods.py:29 +msgid "SSH Client" +msgstr "Ativar SSH Client" + +#: terminal/connect_methods.py:30 +msgid "SSH Guide" +msgstr "Assistente SSH" + +#: terminal/connect_methods.py:31 +msgid "SFTP Client" +msgstr "Cliente SFTP" + +#: terminal/connect_methods.py:33 +msgid "DB Guide" +msgstr "Assistente de Conexão DB" + +#: terminal/connect_methods.py:34 +msgid "DB Client" +msgstr "Cliente de Banco de Dados" + +#: terminal/connect_methods.py:36 +msgid "Remote Desktop" +msgstr "Cliente de Desktop Remoto" + +#: terminal/connect_methods.py:37 +msgid "RDP Guide" +msgstr "Assistente de Conexão RDP" + +#: terminal/connect_methods.py:39 +msgid "VNC Client" +msgstr "Cliente VNC" + +#: terminal/connect_methods.py:40 +msgid "VNC Guide" +msgstr "Assistente de Conexão VNC" + +#: terminal/const.py:10 +msgid "Warning" +msgstr "Alarme" + +#: terminal/const.py:12 +msgid "Review & Reject" +msgstr "Aprovação & Rejeição" + +#: terminal/const.py:13 +msgid "Review & Accept" +msgstr "Aprovação & Aceitação" + +#: terminal/const.py:14 +msgid "Review & Cancel" +msgstr "Aprovação & Cancelamento" + +#: terminal/const.py:45 +msgid "Critical" +msgstr "Grave" + +#: terminal/const.py:46 +msgid "High" +msgstr "Alto" + +#: terminal/const.py:47 terminal/const.py:86 +#: users/templates/users/reset_password.html:54 +msgid "Normal" +msgstr "Normal" + +#: terminal/const.py:48 +msgid "Offline" +msgstr "Offline" + +#: terminal/const.py:82 +msgid "Mismatch" +msgstr "Não correspondido" + +#: terminal/const.py:87 +msgid "Tunnel" +msgstr "Túnel" + +#: terminal/const.py:93 +msgid "Read only" +msgstr "Somente leitura" + +#: terminal/const.py:94 +msgid "Writable" +msgstr "Leitura e escrita" + +#: terminal/const.py:98 +msgid "Kill session" +msgstr "Término da sessão" + +#: terminal/const.py:99 +msgid "Lock session" +msgstr "Bloquear sessão" + +#: terminal/const.py:100 +msgid "Unlock session" +msgstr "Desbloquear sessão" + +#: terminal/const.py:105 +msgid "Replay create failed" +msgstr "Criação de gravação falhou" + +#: terminal/const.py:106 +msgid "Replay upload failed" +msgstr "Upload de gravação falhou" + +#: terminal/const.py:107 +msgid "Replay convert failed" +msgstr "Transcodificação de gravação falhou" + +#: terminal/const.py:108 +msgid "Replay unsupported" +msgstr "Gravação não suportada" + +#: terminal/exceptions.py:8 +msgid "Bulk create not support" +msgstr "Criação em lote não suportada" + +#: terminal/exceptions.py:13 +msgid "Storage is invalid" +msgstr "Armazenamento inválido" + +#: terminal/models/applet/applet.py:32 +msgid "Enterprise" +msgstr "Versão empresarial" + +#: terminal/models/applet/applet.py:35 +#: terminal/models/virtualapp/virtualapp.py:20 +msgid "Display name" +msgstr "Nome de exibição" + +#: terminal/models/applet/applet.py:37 +#: terminal/models/virtualapp/virtualapp.py:22 +msgid "Author" +msgstr "Autor" + +#: terminal/models/applet/applet.py:39 terminal/serializers/applet.py:31 +msgid "Edition" +msgstr "Versão" + +#: terminal/models/applet/applet.py:44 +msgid "Can concurrent" +msgstr "Pode ser paralelo" + +#: terminal/models/applet/applet.py:49 terminal/serializers/applet_host.py:179 +#: terminal/serializers/storage.py:193 +msgid "Hosts" +msgstr "Host" + +#: terminal/models/applet/applet.py:94 +#: terminal/models/virtualapp/virtualapp.py:66 +msgid "Applet pkg not valid, Missing file {}" +msgstr "Applet pkg inválido, faltando arquivo {}" + +#: terminal/models/applet/applet.py:113 +msgid "Load platform.yml failed: {}" +msgstr "Falha ao carregar platform.yml: {}" + +#: terminal/models/applet/applet.py:116 +msgid "Only support custom platform" +msgstr "Só suporta plataformas personalizadas" + +#: terminal/models/applet/applet.py:121 +msgid "Missing type in platform.yml" +msgstr "Tipo em falta no platform.yml" + +#: terminal/models/applet/applet.py:330 terminal/models/applet/host.py:36 +#: terminal/models/applet/host.py:138 +msgid "Hosting" +msgstr "Máquina host" + +#: terminal/models/applet/applet.py:336 +msgid "Applet Publication" +msgstr "Publicação de aplicativos" + +#: terminal/models/applet/host.py:18 terminal/serializers/applet_host.py:81 +msgid "Deploy options" +msgstr "Parâmetros de implantação" + +#: terminal/models/applet/host.py:19 +msgid "Auto create accounts" +msgstr "Criação automática de contas" + +#: terminal/models/applet/host.py:20 +msgid "Accounts create amount" +msgstr "Quantidade de contas criadas" + +#: terminal/models/applet/host.py:21 +msgid "Inited" +msgstr "Inicializado" + +#: terminal/models/applet/host.py:22 +msgid "Date inited" +msgstr "Data de inicialização" + +#: terminal/models/applet/host.py:23 +msgid "Date synced" +msgstr "Sincronizar data" + +#: terminal/models/applet/host.py:28 +msgid "Using same account" +msgstr "Usar conta com mesmo nome" + +#: terminal/models/applet/host.py:139 +msgid "Initial" +msgstr "Inicialização" + +#: terminal/models/applet/host.py:148 +msgid "Applet host deployment" +msgstr "Implantação de aplicativos" + +#: terminal/models/component/endpoint.py:16 +msgid "HTTPS port" +msgstr "Porta HTTPS" + +#: terminal/models/component/endpoint.py:17 +msgid "HTTP port" +msgstr "Porta HTTP" + +#: terminal/models/component/endpoint.py:18 +msgid "SSH port" +msgstr "Porta SSH" + +#: terminal/models/component/endpoint.py:19 +msgid "RDP port" +msgstr "Porta RDP" + +#: terminal/models/component/endpoint.py:20 +msgid "MySQL port" +msgstr "Porta MySQL" + +#: terminal/models/component/endpoint.py:21 +msgid "MariaDB port" +msgstr "Porta MariaDB" + +#: terminal/models/component/endpoint.py:22 +msgid "PostgreSQL port" +msgstr "Porta PostgreSQL" + +#: terminal/models/component/endpoint.py:23 +msgid "Redis port" +msgstr "Porta Redis" + +#: terminal/models/component/endpoint.py:24 +msgid "SQLServer port" +msgstr "Porta SQLServer" + +#: terminal/models/component/endpoint.py:25 +msgid "VNC port" +msgstr "Porta VNC" + +#: terminal/models/component/endpoint.py:33 +#: terminal/models/component/endpoint.py:120 +#: terminal/serializers/endpoint.py:80 terminal/serializers/storage.py:41 +#: terminal/serializers/storage.py:53 terminal/serializers/storage.py:83 +#: terminal/serializers/storage.py:93 terminal/serializers/storage.py:101 +msgid "Endpoint" +msgstr "Ponto final" + +#: terminal/models/component/endpoint.py:126 +msgid "Endpoint rule" +msgstr "Regra de Endpoint" + +#: terminal/models/component/status.py:15 +msgid "Session Online" +msgstr "Sessão Online" + +#: terminal/models/component/status.py:16 +msgid "CPU Load" +msgstr "Carga da CPU" + +#: terminal/models/component/status.py:17 +msgid "Memory Used" +msgstr "Uso de Memória" + +#: terminal/models/component/status.py:18 +msgid "Disk Used" +msgstr "Uso do Disco" + +#: terminal/models/component/status.py:19 +msgid "Connections" +msgstr "Número de Conexões" + +#: terminal/models/component/status.py:20 +msgid "Threads" +msgstr "Número de Threads" + +#: terminal/models/component/status.py:21 +msgid "Boot Time" +msgstr "Tempo de Execução" + +#: terminal/models/component/storage.py:144 +#: terminal/models/component/terminal.py:91 +msgid "Command storage" +msgstr "Armazenamento de Comandos" + +#: terminal/models/component/storage.py:212 +#: terminal/models/component/terminal.py:92 +msgid "Replay storage" +msgstr "Armazenamento de Gravações" + +#: terminal/models/component/terminal.py:88 +msgid "type" +msgstr "Tipo" + +#: terminal/models/component/terminal.py:90 terminal/serializers/command.py:76 +msgid "Remote Address" +msgstr "Endereço Remoto" + +#: terminal/models/component/terminal.py:93 +msgid "Application User" +msgstr "Usuário do Aplicativo" + +#: terminal/models/component/terminal.py:184 +msgid "Can view terminal config" +msgstr "Pode ver a configuração do terminal" + +#: terminal/models/session/command.py:76 +msgid "Command record" +msgstr "Registro de Comandos" + +#: terminal/models/session/replay.py:12 +msgid "Session replay" +msgstr "Gravação de Conversa" + +#: terminal/models/session/replay.py:14 +msgid "Can upload session replay" +msgstr "É possível fazer upload da gravação da conversa" + +#: terminal/models/session/replay.py:15 +msgid "Can download session replay" +msgstr "É possível baixar a gravação da conversa" + +#: terminal/models/session/session.py:35 +msgid "Account ID" +msgstr "Conta" + +#: terminal/models/session/session.py:37 +#: terminal/models/session/sharing.py:118 +msgid "Login from" +msgstr "Origem do login" + +#: terminal/models/session/session.py:42 +msgid "Replay" +msgstr "Reproduzir" + +#: terminal/models/session/session.py:48 terminal/serializers/session.py:112 +msgid "Command amount" +msgstr "Quantidade de comandos" + +#: terminal/models/session/session.py:49 terminal/serializers/session.py:32 +msgid "Error reason" +msgstr "Motivo do erro" + +#: terminal/models/session/session.py:308 +msgid "Session record" +msgstr "Registro de conversa" + +#: terminal/models/session/session.py:310 +msgid "Can monitor session" +msgstr "É possível monitorar a conversa" + +#: terminal/models/session/session.py:311 +msgid "Can share session" +msgstr "É possível compartilhar a conversa" + +#: terminal/models/session/session.py:312 +msgid "Can terminate session" +msgstr "É possível finalizar a conversa" + +#: terminal/models/session/session.py:313 +msgid "Can validate session action perm" +msgstr "É possível verificar a permissão da 'Action' da conversa" + +#: terminal/models/session/sharing.py:32 +msgid "Expired time (min)" +msgstr "Tempo de expiração (minutos)" + +#: terminal/models/session/sharing.py:36 terminal/serializers/sharing.py:20 +#: terminal/serializers/sharing.py:52 +msgid "Action permission" +msgstr "Permissões de operação" + +#: terminal/models/session/sharing.py:38 +msgid "Origin" +msgstr "Origem" + +#: terminal/models/session/sharing.py:42 +#: terminal/models/session/sharing.py:100 terminal/notifications.py:279 +msgid "Session sharing" +msgstr "Compartilhamento de conversa" + +#: terminal/models/session/sharing.py:44 +msgid "Can add super session sharing" +msgstr "Pode criar super compartilhamento de conversa" + +#: terminal/models/session/sharing.py:83 +msgid "Link not active" +msgstr "Link inválido" + +#: terminal/models/session/sharing.py:85 +msgid "Link expired" +msgstr "Link expirado" + +#: terminal/models/session/sharing.py:87 +msgid "User not allowed to join" +msgstr "Este usuário não tem permissão para participar da conversa" + +#: terminal/models/session/sharing.py:104 terminal/serializers/sharing.py:71 +msgid "Joiner" +msgstr "Participante" + +#: terminal/models/session/sharing.py:107 +msgid "Date joined" +msgstr "Data de entrada" + +#: terminal/models/session/sharing.py:110 +msgid "Date left" +msgstr "Data de término" + +#: terminal/models/session/sharing.py:133 +msgid "Session join record" +msgstr "Registros de participação em conversas" + +#: terminal/models/session/sharing.py:149 +msgid "Invalid verification code" +msgstr "Código de verificação incorreto" + +#: terminal/models/session/sharing.py:156 +msgid "You have already joined this session" +msgstr "Você já participou desta conversa" + +#: terminal/models/virtualapp/provider.py:11 +msgid "Hostname" +msgstr "Nome do host" + +#: terminal/models/virtualapp/provider.py:23 +#: terminal/models/virtualapp/virtualapp.py:94 +#: terminal/serializers/virtualapp.py:34 +msgid "App Provider" +msgstr "Fornecedor de aplicação" + +#: terminal/models/virtualapp/virtualapp.py:32 +msgid "Providers" +msgstr "Fornecedor" + +#: terminal/models/virtualapp/virtualapp.py:102 +msgid "Virtual app publication" +msgstr "Publicação de Aplicações Virtuais" + +#: terminal/notifications.py:26 +msgid "Sessions" +msgstr "Sessão" + +#: terminal/notifications.py:73 +msgid "Command warning" +msgstr "Alarme de Comando" + +#: terminal/notifications.py:128 terminal/notifications.py:183 +msgid "Command reject" +msgstr "Comando Recusado" + +#: terminal/notifications.py:158 terminal/notifications.py:218 +msgid "Level" +msgstr "Nível" + +#: terminal/notifications.py:242 +msgid "Command and replay storage" +msgstr "Armazenamento de Comandos e Gravações" + +#: terminal/notifications.py:258 terminal/tasks.py:212 +#: xpack/plugins/cloud/api.py:160 +#: xpack/plugins/cloud/serializers/account.py:121 +#: xpack/plugins/cloud/serializers/account.py:123 +msgid "Test failure: Account invalid" +msgstr "Teste Falhou: Conta Inválida" + +#: terminal/notifications.py:268 +#: terminal/templates/terminal/_msg_check_command_replay_storage_connectivity.html:4 +msgid "Invalid storage" +msgstr "Armazenamento Inválido" + +#: terminal/serializers/applet.py:28 terminal/serializers/virtualapp.py:15 +msgid "Icon" +msgstr "Ícone" + +#: terminal/serializers/applet_host.py:24 +msgid "Per Device (Device number limit)" +msgstr "Por Usuário (Limite de Dispositivos)" + +#: terminal/serializers/applet_host.py:25 +msgid "Per User (User number limit)" +msgstr "Por Dispositivo (Limite de Usuários)" + +#: terminal/serializers/applet_host.py:37 +msgid "Core API" +msgstr "Endereço do Serviço Core" + +#: terminal/serializers/applet_host.py:38 +msgid "" +" \n" +" Tips: The application release machine communicates with the Core service. \n" +" If the release machine and the Core service are on the same network segment, \n" +" it is recommended to fill in the intranet address, otherwise fill in the current site URL \n" +"
\n" +" eg: https://172.16.10.110 or https://dev.jumpserver.com\n" +" " +msgstr "" +"\n" +"Dica: A máquina de publicação de aplicativos e o serviço Core usam comunicação. Se a máquina de publicação e o serviço Core estiverem na mesma rede, recomenda-se o uso do endereço de rede interna, caso contrário, use a URL atual do site. Exemplo: https://172.16.10.110 ou https://dev.jumpserver.com " + +#: terminal/serializers/applet_host.py:46 terminal/serializers/storage.py:207 +msgid "Ignore Certificate Verification" +msgstr " Ignorar Certificação de Certificado" + +#: terminal/serializers/applet_host.py:48 +msgid "Existing RDS license" +msgstr "Licença RDS Existente" + +#: terminal/serializers/applet_host.py:50 +msgid "" +"If not exist, the RDS will be in trial mode, and the trial period is 120 " +"days. Detail" +msgstr "" +"Se não existir, o RDS estará em modo de teste, com um período de teste de " +"120 dias. Detalhes" + +#: terminal/serializers/applet_host.py:55 +msgid "RDS License Server" +msgstr "Servidor de licença RDS" + +#: terminal/serializers/applet_host.py:57 +msgid "RDS Licensing Mode" +msgstr "Modo de licenciamento RDS" + +#: terminal/serializers/applet_host.py:60 +msgid "RDS Single Session Per User" +msgstr "RDS usuário único por sessão" + +#: terminal/serializers/applet_host.py:61 +msgid "" +"Tips: A RDS user can have only one session at a time. If set, when next " +"login connected, previous session will be disconnected." +msgstr "" +"Dica: um usuário RDS só pode ter uma sessão por vez. Se definido, a sessão " +"anterior será desconectada na próxima vez que você se conectar" + +#: terminal/serializers/applet_host.py:65 +msgid "RDS Max Disconnection Time (ms)" +msgstr "Tempo máximo de desconexão RDS (milissegundos)" + +#: terminal/serializers/applet_host.py:67 +msgid "" +"Tips: Set the maximum duration for keeping a disconnected session active on " +"the server (log off the session after 60000 milliseconds)." +msgstr "" +"Dica: define o tempo máximo que uma sessão desconectada pode permanecer " +"ativa no servidor (sessão é encerrada após 60000 milissegundos)" + +#: terminal/serializers/applet_host.py:72 +msgid "RDS Remote App Logoff Time Limit (ms)" +msgstr "Limite de tempo de logout do aplicativo remoto RDS (milissegundos)" + +#: terminal/serializers/applet_host.py:74 +msgid "" +"Tips: Set the logoff time for RemoteApp sessions after closing all RemoteApp" +" programs (0 milliseconds, log off the session immediately)." +msgstr "" +"Dica: define o tempo de logout da sessão RemoteApp depois que todos os " +"programas RemoteApp são fechados (0 milissegundos, logout da sessão " +"imediato)" + +#: terminal/serializers/applet_host.py:83 terminal/serializers/terminal.py:47 +#: terminal/serializers/virtualapp_provider.py:13 +msgid "Load status" +msgstr "Status da carga" + +#: terminal/serializers/applet_host.py:97 +msgid "" +"These accounts are used to connect to the published application, the account" +" is now divided into two types, one is dedicated to each account, each user " +"has a private account, the other is public, when the application does not " +"support multiple open and the special has been used, the public account will" +" be used to connect" +msgstr "" +"Essas contas são usadas para se conectar a aplicativos publicados, as contas" +" agora são divididas em dois tipos:
uma é dedicada, cada usuário tem " +"uma conta dedicada. A outra é pública, quando o aplicativo não suporta " +"múltiplas aberturas e a dedicada já está em uso, a conta pública será usada " +"para conexão;
Nota: se a criação automática de contas não estiver " +"ativada, a máquina publicada atual só pode ser direcionada para ativos com a" +" tag especificada, não será colocada na pool de agendamento por padrão, e é " +"necessário manutenção manual da conta" + +#: terminal/serializers/applet_host.py:104 +msgid "The number of public accounts created automatically" +msgstr "Número de contas públicas criadas automaticamente" + +#: terminal/serializers/applet_host.py:107 +msgid "" +"Connect to the host using the same account first. For security reasons, " +"please set the configuration item CACHE_LOGIN_PASSWORD_ENABLED=true and " +"restart the service to enable it." +msgstr "" +"Priorize o uso de contas com o mesmo nome para conectar-se à máquina " +"publicada. Para segurança, você precisa ativar " +"CACHE_LOGIN_PASSWORD_ENABLED=true no arquivo de configuração e reiniciar o " +"serviço após a modificação" + +#: terminal/serializers/applet_host.py:149 +msgid "Install applets" +msgstr "Instalar aplicação" + +#: terminal/serializers/applet_host.py:179 +msgid "Host ID" +msgstr "ID do host" + +#: terminal/serializers/applet_host.py:180 +msgid "Applet ID" +msgstr "ID de Aplicação Remota" + +#: terminal/serializers/command.py:41 +msgid "Command Filter ACL" +msgstr "Filtro de Comandos" + +#: terminal/serializers/command.py:44 +msgid "Command Group" +msgstr "Grupo de Comandos" + +#: terminal/serializers/command.py:55 +msgid "Invalid command filter ACL id" +msgstr "ID de Filtro de Comandos Inválido" + +#: terminal/serializers/command.py:59 +msgid "Invalid command group id" +msgstr "ID de Grupo de Comandos Inválido" + +#: terminal/serializers/command.py:63 +msgid "Invalid session id" +msgstr "ID de Sessão Inválido" + +#: terminal/serializers/command.py:74 +msgid "Timestamp" +msgstr "Timestamp" + +#: terminal/serializers/endpoint.py:15 +msgid "Oracle port" +msgstr "Porta Oracle" + +#: terminal/serializers/endpoint.py:18 +msgid "Oracle port range" +msgstr "Intervalo de Porta Oracle" + +#: terminal/serializers/endpoint.py:20 +msgid "" +"Oracle proxy server listen port is dynamic, Each additional Oracle database " +"instance adds a port listener" +msgstr "" +"A porta de escuta do servidor proxy Oracle é dinâmica, um porta de escuta é " +"adicionada a cada nova instância do banco de dados Oracle" + +#: terminal/serializers/endpoint.py:38 +msgid "" +"The host address accessed when connecting to assets, if it is empty, the " +"access address of the current browser will be used (the default endpoint " +"does not allow modification of the host)" +msgstr "" +"Endereço do host acessado ao se conectar ao ativo, se vazio, o endereço de " +"acesso do navegador atual será usado (o host padrão não pode ser modificado)" + +#: terminal/serializers/endpoint.py:71 +msgid "" +"The assets within this IP range, the following endpoint will be used for the" +" connection" +msgstr "" +"Os ativos dentro deste intervalo de IP irão utilizar o ponto de extremidade " +"abaixo para conectar" + +#: terminal/serializers/endpoint.py:72 +msgid "" +"If asset IP addresses under different endpoints conflict, use asset labels" +msgstr "" +"Se houver conflito de IPs de ativos sob diferentes pontos finais, use a tag " +"de ativo" + +#: terminal/serializers/endpoint.py:76 +msgid "Asset IP" +msgstr "IP do Ativo" + +#: terminal/serializers/session.py:27 terminal/serializers/session.py:55 +msgid "Can replay" +msgstr "Pode ser repetido" + +#: terminal/serializers/session.py:28 terminal/serializers/session.py:56 +msgid "Can join" +msgstr "É possível participar" + +#: terminal/serializers/session.py:29 terminal/serializers/session.py:59 +msgid "Can terminate" +msgstr "É possível interromper" + +#: terminal/serializers/session.py:51 +msgid "User ID" +msgstr "ID do usuário" + +#: terminal/serializers/session.py:52 +msgid "Asset ID" +msgstr "ID do ativo" + +#: terminal/serializers/session.py:53 +msgid "Login from display" +msgstr "Nome da origem de login" + +#: terminal/serializers/session.py:60 +msgid "Terminal display" +msgstr "Display do terminal" + +#: terminal/serializers/session.py:103 +msgid "No asset or invalid asset" +msgstr "Sem ativos ou ativo não ativado" + +#: terminal/serializers/storage.py:23 +msgid "Endpoint invalid: remove path `{}`" +msgstr "Ponto final inválido: remova o caminho `{}`" + +#: terminal/serializers/storage.py:29 +msgid "Bucket" +msgstr "Nome do balde" + +#: terminal/serializers/storage.py:112 +msgid "Container name" +msgstr "Nome do contêiner" + +#: terminal/serializers/storage.py:115 +msgid "Account key" +msgstr "Chave da conta" + +#: terminal/serializers/storage.py:118 +msgid "Endpoint suffix" +msgstr "Sufixo do ponto final" + +#: terminal/serializers/storage.py:129 +msgid "HOST" +msgstr "Host" + +#: terminal/serializers/storage.py:152 +msgid "SFTP Root" +msgstr "Caminho raiz do SFTP" + +#: terminal/serializers/storage.py:173 +msgid "The address cannot contain the special character `#`" +msgstr "O endereço não pode conter o caractere especial `#`" + +#: terminal/serializers/storage.py:175 +msgid "The address format is incorrect" +msgstr "Formato de endereço inválido" + +#: terminal/serializers/storage.py:182 +msgid "Host invalid" +msgstr "Host inválido" + +#: terminal/serializers/storage.py:185 +msgid "Port invalid" +msgstr "Porta inválida" + +#: terminal/serializers/storage.py:194 +msgid "" +"If there are multiple hosts, use a comma (,) to separate them.
(For " +"example: http://www.jumpserver.a.com:9100, http://www.jumpserver.b.com:9100)" +msgstr "" +"Se houver vários hosts, separe-os com uma vírgula (,).
(por exemplo: " +"http://www.jumpserver.a.com:9100, http://www.jumpserver.b.com:9100)" + +#: terminal/serializers/storage.py:199 +msgid "Index by date" +msgstr "Indexar por data" + +#: terminal/serializers/storage.py:200 +msgid "Whether to create an index by date" +msgstr "Deve criar índices dinamicamente com base na data" + +#: terminal/serializers/storage.py:203 +msgid "Index" +msgstr "Índice" + +#: terminal/serializers/storage.py:205 +msgid "Doc type" +msgstr "Tipo de documento" + +#: terminal/serializers/storage.py:257 +msgid "Store locally" +msgstr "Armazenamento local" + +#: terminal/serializers/storage.py:258 +msgid "Do not save" +msgstr "Não salvar" + +#: terminal/serializers/storage.py:273 +msgid "" +"set as the default storage, will make new Component use the current storage " +"by default, without affecting existing Component" +msgstr "" +"Após definir como armazenamento padrão, os novos componentes usarão o " +"armazenamento atual por padrão, sem afetar os componentes existentes" + +#: terminal/serializers/task.py:9 +msgid "Session id" +msgstr "ID da sessão" + +#: terminal/serializers/terminal.py:42 +msgid "Online sessions" +msgstr "Sessões online" + +#: terminal/serializers/terminal.py:43 +msgid "Is alive" +msgstr "Online" + +#: terminal/serializers/terminal.py:49 +msgid "Stat" +msgstr "Status" + +#: terminal/serializers/terminal.py:83 terminal/serializers/terminal.py:91 +msgid "Not found" +msgstr "Não encontrado" + +#: terminal/serializers/virtualapp_provider.py:26 +msgid "Container ID" +msgstr "ID do contêiner" + +#: terminal/serializers/virtualapp_provider.py:27 +msgid "Container Image" +msgstr "Imagem do contêiner" + +#: terminal/serializers/virtualapp_provider.py:28 +msgid "Container Name" +msgstr "Nome do contêiner" + +#: terminal/serializers/virtualapp_provider.py:29 +msgid "Container Status" +msgstr "Status do contêiner" + +#: terminal/serializers/virtualapp_provider.py:30 +msgid "Container Ports" +msgstr "Porta do contêiner" + +#: terminal/session_lifecycle.py:30 +msgid "Connect to asset %s success" +msgstr "Conexão bem-sucedida com o recurso %s" + +#: terminal/session_lifecycle.py:38 +msgid "Connect to asset %s finished: %s" +msgstr "Conexão com o recurso %s encerrada: %s" + +#: terminal/session_lifecycle.py:48 +msgid "User %s create share link" +msgstr "O usuário %s criou um link de compartilhamento" + +#: terminal/session_lifecycle.py:57 +msgid "User %s join session" +msgstr "O usuário %s entrou na sessão" + +#: terminal/session_lifecycle.py:69 +msgid "User %s leave session" +msgstr "O usuário %s saiu da sessão" + +#: terminal/session_lifecycle.py:81 +msgid "User %s join to monitor session" +msgstr "O usuário %s está monitorando a sessão" + +#: terminal/session_lifecycle.py:93 +msgid "User %s exit to monitor session" +msgstr "O usuário %s saiu da sessão de monitoramento" + +#: terminal/session_lifecycle.py:105 +msgid "Replay start to convert" +msgstr "A Conversão da gravação começou" + +#: terminal/session_lifecycle.py:113 +msgid "Replay successfully converted to MP4 format" +msgstr "A gravação foi convertida com sucesso para o formato MP4" + +#: terminal/session_lifecycle.py:121 +msgid "Replay failed to convert to MP4 format: %s" +msgstr "Falha na conversão do vídeo para o formato MP4: %s" + +#: terminal/session_lifecycle.py:129 +msgid "Replay start to upload" +msgstr "Início do upload do vídeo" + +#: terminal/session_lifecycle.py:137 +msgid "Replay successfully uploaded" +msgstr "Upload do vídeo concluído com sucesso" + +#: terminal/session_lifecycle.py:145 +msgid "Replay failed to upload: %s" +msgstr "Falha no upload do vídeo:%s" + +#: terminal/session_lifecycle.py:152 +msgid "connect failed" +msgstr "Falha na conexão" + +#: terminal/session_lifecycle.py:153 +msgid "connection disconnect" +msgstr "Conexão interrompida" + +#: terminal/session_lifecycle.py:154 +msgid "user closed" +msgstr "Usuário fechou" + +#: terminal/session_lifecycle.py:155 +msgid "idle disconnect" +msgstr "Desconexão devido a inatividade" + +#: terminal/session_lifecycle.py:156 +msgid "admin terminated" +msgstr "管理者 terminou a conexão" + +#: terminal/session_lifecycle.py:157 +msgid "maximum session time has been reached" +msgstr "Excedido o tempo máximo da sessão" + +#: terminal/session_lifecycle.py:158 +msgid "permission has expired" +msgstr "Autorização expirou" + +#: terminal/session_lifecycle.py:159 +msgid "storage is null" +msgstr "O armazenamento está vazio" + +#: terminal/tasks.py:32 +msgid "Periodic delete terminal status" +msgstr "Limpeza periódica do status do terminal" + +#: terminal/tasks.py:43 +msgid "Clean orphan session" +msgstr "Remover sessões offline" + +#: terminal/tasks.py:45 +msgid "" +"Check every 10 minutes for asset connection sessions that have been inactive for 3 \n" +" minutes and mark these sessions as completed" +msgstr "" +"A cada 10 minutos, verifique as sessões de conexão de ativos inativos por 3 " +"minutos e marque essas sessões como concluídas" + +#: terminal/tasks.py:68 +msgid "Upload session replay to external storage" +msgstr "Faça o upload da gravação da conversa para armazenamento externo" + +#: terminal/tasks.py:70 terminal/tasks.py:104 +msgid "" +"If SERVER_REPLAY_STORAGE is configured in the config.txt, session commands and \n" +" recordings will be uploaded to external storage" +msgstr "" +"Se SERVER_REPLAY_STORAGE estiver ajustado, os arquivos carregados por meio " +"do gerenciador de arquivos serão sincronizados com o armazenamento externo" + +#: terminal/tasks.py:102 +msgid "Upload session replay part file to external storage" +msgstr "" +"Upload de partes do arquivo de repetição de sessão para armazenamento " +"externo" + +#: terminal/tasks.py:123 +msgid "Run applet host deployment" +msgstr "Execução da implantação de aplicações" + +#: terminal/tasks.py:126 +msgid "" +"When deploying from the remote application publisher details page, and the 'Deploy' \n" +" button is clicked, this task will be executed" +msgstr "" +"Implantação da máquina de publicação, clicando na implantação, este trabalho" +" será realizado" + +#: terminal/tasks.py:137 +msgid "Install applet" +msgstr "Instalação de aplicativos" + +#: terminal/tasks.py:140 +msgid "" +"When the 'Deploy' button is clicked in the 'Remote Application' section of the remote \n" +" application publisher details page, this task will be executed" +msgstr "" +"Quando os detalhes do aplicativo de publicação remoto - aplicativo remoto, " +"clicam na implantação, esse trabalho é realizado" + +#: terminal/tasks.py:152 +msgid "Uninstall applet" +msgstr "Desinstalar aplicativo" + +#: terminal/tasks.py:155 +msgid "" +"When the 'Uninstall' button is clicked in the 'Remote Application' section of the \n" +" remote application publisher details page, this task will be executed" +msgstr "" +"Quando os detalhes do aplicativo de publicação remoto - aplicativo remoto, " +"clicam na desinstalação, esse trabalho é realizado" + +#: terminal/tasks.py:167 +msgid "Generate applet host accounts" +msgstr "Colecione contas em aplicativos remotos" + +#: terminal/tasks.py:170 +msgid "" +"When a remote publishing server is created and an account needs to be created \n" +" automatically, this task will be executed" +msgstr "" +"Após a criação da máquina de publicação remota, quando é necessário criar " +"automaticamente uma conta, este trabalho é executado" + +#: terminal/tasks.py:184 +msgid "Check command replay storage connectivity" +msgstr "Verifique a conectividade de armazenamento de comandos e gravações" + +#: terminal/tasks.py:186 +msgid "" +"Check every day at midnight whether the external storage for commands and recordings \n" +" is accessible. If it is not accessible, send a notification to the recipients specified \n" +" in 'System Settings - Notifications - Subscription - Storage - Connectivity'" +msgstr "" +"Verifique diariamente à meia-noite se o armazenamento externo de comandos e " +"gravações pode ser conectado, se não puder ser conectado, envie para: " +"Configurações do sistema - Configurações de notificação - Assinatura de " +"mensagens - Pessoa que recebe as definições de armazenamento de comandos e " +"gravações" + +#: terminal/templates/terminal/_msg_command_alert.html:10 +msgid "view" +msgstr "Visualizar" + +#: terminal/utils/db_port_mapper.py:88 +msgid "" +"No available port is matched. The number of databases may have exceeded the " +"number of ports open to the database agent service, Contact the " +"administrator to open more ports." +msgstr "" +"Não foi encontrado um porto disponível, o número de bancos de dados pode ter" +" ultrapassado o número de portos abertos pelo serviço proxy do banco de " +"dados, por favor, entre em contato com o administrador para abrir mais " +"portas." + +#: terminal/utils/db_port_mapper.py:116 +msgid "" +"No ports can be used, check and modify the limit on the number of ports that" +" Magnus listens on in the configuration file." +msgstr "" +"Não há portas disponíveis para usar, verifique e modifique o limite do " +"número de portas ouvidas por Magnus no arquivo de configuração." + +#: terminal/utils/db_port_mapper.py:118 +msgid "All available port count: {}, Already use port count: {}" +msgstr "" +"Todos os números de portas disponíveis: {}, números de portas já usadas: {}" + +#: tickets/api/ticket.py:88 tickets/models/ticket/general.py:289 +msgid "Applicant" +msgstr "Solicitante" + +#: tickets/apps.py:7 +msgid "App Tickets" +msgstr "Gerenciamento de Pedidos" + +#: tickets/const.py:10 +msgid "Apply for asset" +msgstr "Solicitar Ativo" + +#: tickets/const.py:17 tickets/const.py:24 tickets/const.py:42 +msgid "Open" +msgstr "Abrir" + +#: tickets/const.py:19 tickets/const.py:31 +msgid "Approved" +msgstr "Concordou" + +#: tickets/const.py:20 tickets/const.py:32 +msgid "Rejected" +msgstr "Rejeitado" + +#: tickets/const.py:30 tickets/const.py:37 +msgid "Closed" +msgstr "Fechado" + +#: tickets/const.py:49 +msgid "One level" +msgstr "Nível 1" + +#: tickets/const.py:50 +msgid "Two level" +msgstr "Nível 2" + +#: tickets/const.py:54 +msgid "All assets" +msgstr "Todos os Ativos" + +#: tickets/const.py:55 +msgid "Permed assets" +msgstr "Ativos Autorizados" + +#: tickets/const.py:56 +msgid "Permed valid assets" +msgstr "Ativos Autorizados Válidos" + +#: tickets/errors.py:9 +msgid "Ticket already closed" +msgstr "O Pedido está Fechado" + +#: tickets/handlers/apply_asset.py:39 +msgid "" +"Created by the ticket ticket title: {} ticket applicant: {} ticket " +"processor: {} ticket ID: {}" +msgstr "" +"Através da criação de ordem de trabalho, título da ordem de trabalho: {}, " +"solicitante da ordem de trabalho: {}, responsável pela ordem de trabalho: " +"{}, ID da ordem de trabalho: {}" + +#: tickets/handlers/base.py:84 +msgid "Change field" +msgstr "Alterar campo" + +#: tickets/handlers/base.py:84 +msgid "Before change" +msgstr "Antes da alteração" + +#: tickets/handlers/base.py:84 +msgid "After change" +msgstr "Depois da alteração" + +#: tickets/handlers/base.py:96 +msgid "{} {} the ticket" +msgstr "{} {} Ordem de trabalho" + +#: tickets/models/comment.py:14 +msgid "common" +msgstr "Comum" + +#: tickets/models/comment.py:23 +msgid "User display name" +msgstr "Nome de exibição do usuário" + +#: tickets/models/comment.py:24 +msgid "Body" +msgstr "Conteúdo" + +#: tickets/models/flow.py:21 tickets/models/flow.py:47 +#: tickets/models/ticket/general.py:45 +msgid "Approve level" +msgstr "Nível de aprovação" + +#: tickets/models/flow.py:26 +msgid "Ticket flow approval rule" +msgstr "Informações de aprovação da ordem de trabalho" + +#: tickets/models/flow.py:52 +msgid "Ticket flow" +msgstr "Fluxo da ordem de trabalho" + +#: tickets/models/relation.py:12 +msgid "Ticket session relation" +msgstr "Sessão da ordem de trabalho" + +#: tickets/models/ticket/apply_application.py:10 +#: tickets/models/ticket/apply_asset.py:13 +msgid "Permission name" +msgstr "Nome da regra de autorização" + +#: tickets/models/ticket/apply_application.py:19 +msgid "Apply applications" +msgstr "Aplicativo solicitado" + +#: tickets/models/ticket/apply_application.py:22 +msgid "Apply system users" +msgstr "Usuário do sistema solicitado" + +#: tickets/models/ticket/apply_asset.py:9 +#: tickets/serializers/ticket/apply_asset.py:14 +msgid "Select at least one asset or node" +msgstr "Ativos ou nós, selecione pelo menos um" + +#: tickets/models/ticket/apply_asset.py:17 +msgid "Apply accounts" +msgstr "Solicitar conta" + +#: tickets/models/ticket/apply_asset.py:26 +msgid "Apply Asset Ticket" +msgstr "Solicitar ativos" + +#: tickets/models/ticket/command_confirm.py:9 +msgid "Run user" +msgstr "Usuário executando" + +#: tickets/models/ticket/command_confirm.py:11 +msgid "Run asset" +msgstr "Ativos em execução" + +#: tickets/models/ticket/command_confirm.py:12 +msgid "Run command" +msgstr "Comandos em execução" + +#: tickets/models/ticket/command_confirm.py:19 +msgid "Command filter acl" +msgstr "Filtro de comandos" + +#: tickets/models/ticket/command_confirm.py:23 +msgid "Apply Command Ticket" +msgstr "Ordens de serviço de revisão de comandos" + +#: tickets/models/ticket/general.py:80 +msgid "Ticket step" +msgstr "Etapa da ordem de serviço" + +#: tickets/models/ticket/general.py:98 +msgid "Ticket assignee" +msgstr "Receptor da ordem de serviço" + +#: tickets/models/ticket/general.py:273 +msgid "Title" +msgstr "Título" + +#: tickets/models/ticket/general.py:293 +msgid "TicketFlow" +msgstr "Processo da ordem de serviço" + +#: tickets/models/ticket/general.py:296 +msgid "Approval step" +msgstr "Etapa de aprovação" + +#: tickets/models/ticket/general.py:299 +msgid "Relation snapshot" +msgstr "Snapshots da ordem de serviço" + +#: tickets/models/ticket/general.py:405 +msgid "Please try again" +msgstr "Por favor, tente novamente" + +#: tickets/models/ticket/general.py:483 +msgid "Super ticket" +msgstr "Super Ticket" + +#: tickets/models/ticket/login_asset_confirm.py:11 +msgid "Login user" +msgstr "Usuário Logado" + +#: tickets/models/ticket/login_asset_confirm.py:14 +msgid "Login asset" +msgstr "Ativos Logados" + +#: tickets/models/ticket/login_asset_confirm.py:17 +msgid "Login account" +msgstr "Conta de Login" + +#: tickets/models/ticket/login_asset_confirm.py:27 +msgid "Apply Login Asset Ticket" +msgstr "Ordem de Serviço de Revisão de Login de Ativos" + +#: tickets/models/ticket/login_confirm.py:15 +msgid "Apply Login Ticket" +msgstr "Ordem de Serviço de Revisão de Login de Usuário" + +#: tickets/notifications.py:74 +msgid "Ticket basic info" +msgstr "Informações Básicas da Ordem de Serviço" + +#: tickets/notifications.py:75 +msgid "Ticket applied info" +msgstr "Informações de Solicitação da Ordem de Serviço" + +#: tickets/notifications.py:116 +msgid "Your has a new ticket, applicant - {}" +msgstr "Você tem uma nova ordem de serviço, Requerente - {}" + +#: tickets/notifications.py:120 +msgid "{}: New Ticket - {} ({})" +msgstr "Nova ordem de serviço - {} ({})" + +#: tickets/notifications.py:160 +msgid "Your ticket has been processed, processor - {}" +msgstr "Sua ordem de serviço foi processada, Processador - {}" + +#: tickets/notifications.py:164 +msgid "Ticket has processed - {} ({})" +msgstr "Sua ordem de serviço foi processada, Processador - {} ({})" + +#: tickets/serializers/flow.py:45 +msgid "The current organization type already exists" +msgstr "A Organização atual já tem este tipo" + +#: tickets/serializers/super_ticket.py:15 +msgid "Processor" +msgstr "Processador" + +#: tickets/serializers/ticket/apply_asset.py:16 +msgid "Support fuzzy search, and display up to 10 items" +msgstr "Supporta busca difusa, mostra no máximo 10 itens" + +#: tickets/serializers/ticket/apply_asset.py:22 +msgid "Apply assets" +msgstr "Solicitar ativos" + +#: tickets/serializers/ticket/apply_asset.py:26 +msgid "Apply nodes" +msgstr "Solicitar nó" + +#: tickets/serializers/ticket/apply_asset.py:28 +msgid "Apply actions" +msgstr "Solicitar Action" + +#: tickets/serializers/ticket/common.py:15 +#: tickets/serializers/ticket/common.py:75 +msgid "Created by ticket ({}-{})" +msgstr "Criar por ordem de serviço ({}-{})" + +#: tickets/serializers/ticket/common.py:67 +msgid "The expiration date should be greater than the start date" +msgstr "O tempo de expiração deve ser maior que o tempo de início" + +#: tickets/serializers/ticket/common.py:82 +msgid "Permission named `{}` already exists" +msgstr "O nome de autorização `{}` já existe" + +#: tickets/serializers/ticket/ticket.py:89 +msgid "The ticket flow `{}` does not exist" +msgstr "O processo de ordem de serviço `{}` não existe" + +#: tickets/templates/tickets/_msg_ticket.html:21 +msgid "View details" +msgstr "Ver detalhes" + +#: tickets/templates/tickets/_msg_ticket.html:26 +msgid "Direct approval" +msgstr "Aprovação direta" + +#: tickets/templates/tickets/approve_check_password.html:11 +msgid "Ticket information" +msgstr "Informações do pedido de trabalho" + +#: tickets/templates/tickets/approve_check_password.html:28 +#: tickets/views/approve.py:43 tickets/views/approve.py:80 +msgid "Ticket approval" +msgstr "Aprovação de pedido de trabalho" + +#: tickets/templates/tickets/approve_check_password.html:43 +msgid "Approval" +msgstr "Concordar" + +#: tickets/views/approve.py:44 +msgid "" +"This ticket does not exist, the process has ended, or this link has expired" +msgstr "" +"A ordem de serviço não existe, ou o processo de ordem de serviço já " +"terminou, ou este link já expirou" + +#: tickets/views/approve.py:72 +msgid "Click the button below to approve or reject" +msgstr "Clique no botão abaixo para concordar ou recusar" + +#: tickets/views/approve.py:81 +msgid "After successful authentication, this ticket can be approved directly" +msgstr "" +"Após autenticação bem-sucedida, a ordem de serviço pode ser aprovada " +"diretamente." + +#: tickets/views/approve.py:105 +msgid "Illegal approval action" +msgstr "Ação de aprovação inválida" + +#: tickets/views/approve.py:119 +msgid "This user is not authorized to approve this ticket" +msgstr "Este usuário não tem permissão para aprovar este ticket" + +#: users/api/user.py:63 +msgid "Cannot delete the admin user. Please disable it instead." +msgstr "" +"Não é possível excluir o usuário administrador. Por favor, desabilite-o." + +#: users/api/user.py:161 +msgid "Can not invite self" +msgstr "Não pode convidar a si mesmo" + +#: users/api/user.py:214 +msgid "Could not reset self otp, use profile reset instead" +msgstr "" +"Não é possível redefinir a autenticação MFA nesta página, por favor, vá para" +" a página de informações pessoais para redefinir" + +#: users/apps.py:9 +msgid "App Users" +msgstr "用户管理" + +#: users/const.py:10 +msgid "System administrator" +msgstr "Administrador do sistema" + +#: users/const.py:11 +msgid "System auditor" +msgstr "Auditor do sistema" + +#: users/const.py:12 +msgid "Organization administrator" +msgstr "Administrador da organização" + +#: users/const.py:13 +msgid "Organization auditor" +msgstr "Auditor da organização" + +#: users/const.py:18 +msgid "Reset link will be generated and sent to the user" +msgstr "" +"Gere um link de redefinição de senha e envie-o para o usuário por e-mail" + +#: users/const.py:19 +msgid "Set password" +msgstr "Definir senha" + +#: users/const.py:23 +msgid "AUTO" +msgstr "Automático" + +#: users/const.py:31 +msgid "Full screen" +msgstr "Tela cheia" + +#: users/const.py:32 +msgid "Multi screen" +msgstr "Exibição em várias telas" + +#: users/const.py:33 +msgid "Drives redirect" +msgstr "Montagem do disco" + +#: users/const.py:37 +msgid "Current window" +msgstr "Janela atual" + +#: users/const.py:38 +msgid "New window" +msgstr "Nova janela" + +#: users/const.py:47 +msgid "High(32 bit)" +msgstr "Alto (32 bit)" + +#: users/const.py:48 +msgid "Medium(16 bit)" +msgstr "Médio (16 bit)" + +#: users/const.py:69 +msgid "Replace" +msgstr "Substituir" + +#: users/const.py:70 +msgid "Suffix" +msgstr "Adicionar sufixo" + +#: users/exceptions.py:9 +msgid "MFA not enabled" +msgstr "A autenticação MFA de múltiplos fatores não está habilitada" + +#: users/exceptions.py:19 +msgid "Unable to delete all users" +msgstr "Não é possível eliminar todos os usuários" + +#: users/exceptions.py:24 +msgid "Create failed. The number of SSH keys has reached the limit" +msgstr "Falha na criação, o número de chaves SSH chegou ao limite" + +#: users/forms/profile.py:49 +msgid "" +"When enabled, you will enter the MFA binding process the next time you log " +"in. you can also directly bind in \"personal information -> quick " +"modification -> change MFA Settings\"!" +msgstr "" +"Após habilitar, você entrará no processo de vinculação de autenticação de " +"múltiplos fatores no próximo login; Você também pode vincular diretamente em" +" (Informações pessoais->Alteração rápida->Configuração MFA autenticação de " +"múltiplos fatores)!" + +#: users/forms/profile.py:60 +msgid "* Enable MFA to make the account more secure." +msgstr "" +"* Habilite a autenticação MFA de múltiplos fatores para tornar sua conta " +"mais segura." + +#: users/forms/profile.py:69 +msgid "" +"In order to protect you and your company, please keep your account, password" +" and key sensitive information properly. (for example: setting complex " +"password, enabling MFA)" +msgstr "" +"Para proteger você e a segurança da sua empresa, por favor, proteja " +"adequadamente suas informações importantes e sensíveis, como sua conta, " +"senha e chaves (exemplo: defina uma senha complexa e habilite a autenticação" +" MFA de múltiplos fatores)" + +#: users/forms/profile.py:83 users/serializers/preference/lina.py:21 +msgid "New password" +msgstr "Nova senha" + +#: users/forms/profile.py:88 users/serializers/preference/lina.py:26 +msgid "Confirm password" +msgstr "Confirmar senha" + +#: users/forms/profile.py:96 +msgid "Password does not match" +msgstr "As senhas não são iguais" + +#: users/forms/profile.py:105 +msgid "The phone number must contain an area code, for example, +86" +msgstr "O número de telefone deve incluir o código do país, por exemplo, +86" + +#: users/forms/profile.py:123 +msgid "Old password" +msgstr "Senha original" + +#: users/forms/profile.py:133 +msgid "Old password error" +msgstr "Senha original incorreta" + +#: users/forms/profile.py:143 +msgid "Automatically configure and download the SSH key" +msgstr "Configurar automaticamente e baixar a chave SSH" + +#: users/forms/profile.py:145 +msgid "ssh public key" +msgstr "Chave pública SSH" + +#: users/forms/profile.py:146 +msgid "ssh-rsa AAAA..." +msgstr "ssh-rsa AAAA..." + +#: users/forms/profile.py:147 +msgid "Paste your id_rsa.pub here." +msgstr "Copie sua chave pública aqui" + +#: users/forms/profile.py:160 +msgid "Public key should not be the same as your old one." +msgstr "Não pode ser a mesma que a chave original" + +#: users/models/preference.py:38 users/serializers/preference/preference.py:19 +msgid "Preference" +msgstr "Configurações do usuário" + +#: users/models/user/__init__.py:76 users/serializers/user.py:276 +msgid "Is service account" +msgstr "Conta de serviço " + +#: users/models/user/__init__.py:78 +msgid "Avatar" +msgstr "Avatar" + +#: users/models/user/__init__.py:80 +msgid "Wechat" +msgstr "WeChat" + +#: users/models/user/__init__.py:89 +msgid "OTP secret key" +msgstr "Chave OTP" + +#: users/models/user/__init__.py:99 users/serializers/profile.py:97 +#: users/serializers/user.py:273 +msgid "Is first login" +msgstr "Primeiro login" + +#: users/models/user/__init__.py:117 +msgid "Date password last updated" +msgstr "Última data de atualização da senha" + +#: users/models/user/__init__.py:120 +msgid "Need update password" +msgstr "Necessário atualizar a senha" + +#: users/models/user/__init__.py:144 +msgid "Face Vector" +msgstr "Vetor de rosto" + +#: users/models/user/__init__.py:147 +msgid "Date api key used" +msgstr "Última data de uso da chave API" + +#: users/models/user/__init__.py:286 +msgid "Can not delete admin user" +msgstr "Não é possível excluir o usuário de Management" + +#: users/models/user/__init__.py:300 +msgid "Can invite user" +msgstr "Pode convidar usuários" + +#: users/models/user/__init__.py:301 +msgid "Can remove user" +msgstr "Pode remover usuários" + +#: users/models/user/__init__.py:302 +msgid "Can match user" +msgstr "Pode corresponder usuários" + +#: users/models/user/__init__.py:331 +msgid "User password history" +msgstr "Histórico de senhas do usuário" + +#: users/models/user/_auth.py:34 +msgid "Force enabled" +msgstr "Forçar Ativação" + +#: users/notifications.py:55 +#: users/templates/users/_msg_password_expire_reminder.html:16 +#: users/templates/users/reset_password.html:5 +#: users/templates/users/reset_password.html:6 +msgid "Reset password" +msgstr "Resetar senha" + +#: users/notifications.py:85 users/views/profile/reset.py:233 +msgid "Reset password success" +msgstr "Senha redefinida com sucesso" + +#: users/notifications.py:117 +msgid "Reset public key success" +msgstr "Chave pública redefinida com sucesso" + +#: users/notifications.py:143 +msgid "Password is about expire" +msgstr "Senha prestes a expirar" + +#: users/notifications.py:171 +msgid "Account is about expire" +msgstr "Conta prestes a expirar" + +#: users/notifications.py:193 +msgid "Reset SSH Key" +msgstr "Redefinir chave SSH" + +#: users/notifications.py:214 +msgid "Reset MFA" +msgstr "Redefinir MFA" + +#: users/serializers/preference/koko.py:10 +#: users/serializers/preference/luna.py:63 +msgid "File name conflict resolution" +msgstr "Solução de conflitos de nomes de arquivos" + +#: users/serializers/preference/koko.py:14 +#: users/serializers/preference/luna.py:80 +msgid "Terminal theme name" +msgstr "Nome do tema do terminal" + +#: users/serializers/preference/lina.py:12 +msgid "" +"*! The password for file encryption, used for decryption when the system " +"sends emails containing file attachments.
Such as: account backup files," +" account password change results files" +msgstr "" +"Senha de criptografia de arquivo, usada para decifrar quando o sistema envia" +" emails com anexos de arquivo.
Ex: Arquivo de backup da conta, arquivo de" +" resultado da mudança de senha da conta" + +#: users/serializers/preference/lina.py:39 users/serializers/profile.py:48 +msgid "The newly set password is inconsistent" +msgstr "As senhas não coincidem" + +#: users/serializers/preference/lina.py:47 +msgid "Language" +msgstr "Idioma" + +#: users/serializers/preference/lina.py:52 +msgid "File Encryption" +msgstr "Senha de criptografia de arquivo" + +#: users/serializers/preference/luna.py:26 +msgid "Async loading of asset tree" +msgstr "Carregamento assíncrono da árvore de ativos" + +#: users/serializers/preference/luna.py:30 +msgid "Connect default open method" +msgstr "Método de abertura de conexão padrão" + +#: users/serializers/preference/luna.py:37 +msgid "RDP resolution" +msgstr "Resolução RDP" + +#: users/serializers/preference/luna.py:41 +msgid "Keyboard layout" +msgstr "Layout do teclado" + +#: users/serializers/preference/luna.py:45 +msgid "RDP client option" +msgstr "Opções do cliente RDP" + +#: users/serializers/preference/luna.py:49 +msgid "RDP color quality" +msgstr "Qualidade de cor RDP" + +#: users/serializers/preference/luna.py:53 +msgid "RDP smart size" +msgstr "Redimensionamento inteligente RDP" + +#: users/serializers/preference/luna.py:54 +msgid "" +"Determines whether the client computer should scale the content on the " +"remote computer to fit the window size of the client computer when the " +"window is resized." +msgstr "" +"Decidir se o computador cliente deve escalar o conteúdo no computador remoto" +" para se ajustar ao tamanho da janela quando o tamanho da janela é alterado" + +#: users/serializers/preference/luna.py:59 +msgid "Remote app connect method" +msgstr "Modo de conexão de aplicativo remoto" + +#: users/serializers/preference/luna.py:70 +msgid "Terminal font size" +msgstr "Tamanho da fonte do terminal do caractere" + +#: users/serializers/preference/luna.py:73 +msgid "Backspace as Ctrl+H" +msgstr "Backspace do terminal de caracteres como Ctrl+H" + +#: users/serializers/preference/luna.py:76 +msgid "Right click quickly paste" +msgstr "Clique com o botão direito para colar rapidamente" + +#: users/serializers/preference/luna.py:86 +msgid "Graphics" +msgstr "Gráfico" + +#: users/serializers/preference/luna.py:87 +msgid "Command line" +msgstr "Linha de comandos" + +#: users/serializers/profile.py:29 +msgid "The old password is incorrect" +msgstr "Senha antiga incorreta" + +#: users/serializers/profile.py:36 users/serializers/profile.py:147 +msgid "Password does not match security rules" +msgstr "Senha não satisfaz as regras de segurança" + +#: users/serializers/profile.py:40 +msgid "The new password cannot be the last {} passwords" +msgstr "A nova senha não pode ser uma das últimas {} senhas" + +#: users/serializers/user.py:51 +msgid "System roles" +msgstr "Papel do sistema" + +#: users/serializers/user.py:55 +msgid "" +"System roles are roles at the system level, and they will take effect across" +" all organizations" +msgstr "" +"O papel do sistema é um papel em nível de sistema, que será eficaz em todas " +"as organizações" + +#: users/serializers/user.py:61 +msgid "Org roles" +msgstr "Papel da organização" + +#: users/serializers/user.py:66 +msgid "" +"Org roles are roles at the organization level, and they will only take " +"effect within current organization" +msgstr "" +"O papel da organização é um papel em nível de organização, válido apenas " +"dentro da organização atual" + +#: users/serializers/user.py:70 +msgid "Organizations and roles" +msgstr "Papel da organização" + +#: users/serializers/user.py:120 +msgid "Password setting" +msgstr "Opções de senha" + +#: users/serializers/user.py:122 +msgid "MFA enabled" +msgstr "MFA ativado" + +#: users/serializers/user.py:124 +msgid "MFA force enabled" +msgstr "MFA obrigatório" + +#: users/serializers/user.py:126 +msgid "Login blocked" +msgstr "Login bloqueado" + +#: users/serializers/user.py:130 users/serializers/user.py:282 +msgid "Is OTP bound" +msgstr "Vinculado ao MFA virtual?" + +#: users/serializers/user.py:133 +msgid "Super Administrator" +msgstr "Super administrador" + +#: users/serializers/user.py:136 +msgid "Organization Administrator" +msgstr "Administrador da organização" + +#: users/serializers/user.py:140 +msgid "Can public key authentication" +msgstr "Pode usar autenticação por chave pública" + +#: users/serializers/user.py:144 +msgid "Is face code set" +msgstr "" + +#: users/serializers/user.py:247 +msgid "Full name" +msgstr "Nome completo" + +#: users/serializers/user.py:250 +msgid "Login username" +msgstr "Usuário de login" + +#: users/serializers/user.py:253 +msgid "Email address" +msgstr "Endereço de email" + +#: users/serializers/user.py:263 +msgid "User groups to join" +msgstr "Quantidade de grupos de usuário" + +#: users/serializers/user.py:267 +msgid "" +"User source identifies where the user was created, which could be AD or " +"other sources.There are security settings that can restrict users to log in " +"to the system only from the sources." +msgstr "" +"Indicação da fonte do usuário que indica o local de criação do usuário, pode" +" ser AD ou outras fontes. As configurações de segurança podem restringir que" +" os usuários acessem o sistema apenas a partir de uma fonte específica." + +#: users/serializers/user.py:271 +msgid "Superuser" +msgstr "Super usuário" + +#: users/serializers/user.py:277 +msgid "Is org admin" +msgstr "Administrador da organização" + +#: users/serializers/user.py:279 +msgid "Avatar url" +msgstr "Caminho do avatar" + +#: users/serializers/user.py:284 +msgid "MFA level" +msgstr "MFA" + +#: users/serializers/user.py:285 +msgid "Multi-Factor Authentication" +msgstr "Autenticação" + +#: users/serializers/user.py:439 +msgid "" +"* For security, only a partial of users is displayed. You can search for " +"more" +msgstr "" +"* Por motivos de segurança, apenas uma parte dos usuários é exibida. Você " +"pode pesquisar por mais" + +#: users/serializers/user.py:474 +msgid "name not unique" +msgstr "Nome Duplicado" + +#: users/signal_handlers.py:41 +msgid "" +"The administrator has enabled \"Only allow existing users to log in\", \n" +" and the current user is not in the user list. Please contact the administrator." +msgstr "" +"O administrador ativou 'Apenas usuários já existentes podem fazer login'. O " +"usuário atual não está na lista de usuários, contate o administrador." + +#: users/signal_handlers.py:197 +msgid "Clean up expired user sessions" +msgstr "Limpar sessões de usuário expiradas" + +#: users/signal_handlers.py:199 +msgid "" +"After logging in via the web, a user session record is created. At 2 a.m. every day, \n" +" the system cleans up inactive user devices" +msgstr "" +"Após o login via web, registros de sessões de usuários são gerados. Às 2 da " +"manhã todos os dias, os dispositivos dos usuários off-line são limpos" + +#: users/tasks.py:26 +msgid "Check password expired" +msgstr "Verificação da validade da senha expirou" + +#: users/tasks.py:28 +msgid "" +"Check every day at 10 AM whether the passwords of users in the system are expired, \n" +" and send a notification 5 days in advance" +msgstr "" +"Verificação diária às 10 da manhã se a senha do usuário no sistema expirou, " +"um aviso será enviado 5 dias antes" + +#: users/tasks.py:46 +msgid "Periodic check password expired" +msgstr "Verifica periodicamente a validade da senha expirou" + +#: users/tasks.py:48 +msgid "" +"With version iterations, new tasks may be added, or task names and execution times may \n" +" be modified. Therefore, upon system startup, it is necessary to register or update the \n" +" parameters of the task that checks if passwords have expired" +msgstr "" +"Com a iteração das versões, novas tarefas podem ser adicionadas ou o nome, " +"horários da tarefa podem ser alterados. Portanto, ao iniciar o sistema, " +"registre ou atualize os parâmetros da tarefa de verificação de validade da " +"senha expirada" + +#: users/tasks.py:67 +msgid "Check user expired" +msgstr "Verificar o usuário expirou" + +#: users/tasks.py:69 +msgid "" +"Check every day at 2 p.m whether the users in the system are expired, and send a \n" +" notification 5 days in advance" +msgstr "" +"Verificação diária às 2 da tarde se o usuário do sistema expirou, um aviso " +"será enviado 5 dias antes" + +#: users/tasks.py:90 +msgid "Periodic check user expired" +msgstr "Verificação periódica do usuário expirado." + +#: users/tasks.py:92 +msgid "" +"With version iterations, new tasks may be added, or task names and execution times may \n" +" be modified. Therefore, upon system startup, it is necessary to register or update the \n" +" parameters of the task that checks if users have expired" +msgstr "" +"Com a evolução das versões, tarefas podem ser adicionadas ou seus nomes, " +"tempos de execução, podem ser modificados, então, ao iniciar o sistema, " +"registre ou atualize os parâmetros de tarefas vencidas verificadas pelo " +"usuário" + +#: users/tasks.py:111 +msgid "Check unused users" +msgstr "Verifique os usuários não utilizados" + +#: users/tasks.py:113 +msgid "" +"At 2 p.m. every day, according to the configuration in \"System Settings - Security - \n" +" Auth security - Auto disable threshold\" users who have not logged in or whose API keys \n" +" have not been used for a long time will be disabled" +msgstr "" +"Todos os dias às 14h, com base na configuração do sistema - Configurações de" +" segurança - Desativação automática de usuários inativos, os usuários que " +"não se conectam por um longo período ou não usam a api_key são desativados" + +#: users/tasks.py:157 +msgid "The user has not logged in recently and has been disabled." +msgstr "Esse usuário não se conectou recentemente e foi desativado." + +#: users/templates/users/_msg_account_expire_reminder.html:7 +msgid "Your account will expire in" +msgstr "Sua conta expirará em breve" + +#: users/templates/users/_msg_account_expire_reminder.html:8 +msgid "" +"In order not to affect your normal work, please contact the administrator " +"for confirmation." +msgstr "" +"Para não interferir em seu trabalho normal, por favor, entre em contato com " +"o administrador para confirmar." + +#: users/templates/users/_msg_password_expire_reminder.html:7 +msgid "Your password will expire in" +msgstr "Sua senha expirará em breve" + +#: users/templates/users/_msg_password_expire_reminder.html:8 +msgid "" +"For your account security, please click on the link below to update your " +"password in time" +msgstr "" +"Para a segurança de sua conta, clique no link abaixo para atualizar sua " +"senha" + +#: users/templates/users/_msg_password_expire_reminder.html:11 +msgid "Click here update password" +msgstr "Clique aqui para atualizar a senha" + +#: users/templates/users/_msg_password_expire_reminder.html:15 +msgid "If your password has expired, please click the link below to" +msgstr "Se a sua senha expirou, por favor, clique" + +#: users/templates/users/_msg_reset_mfa.html:7 +msgid "Your MFA has been reset by site administrator" +msgstr "Seu MFA foi redefinido pelo administrador" + +#: users/templates/users/_msg_reset_mfa.html:8 +#: users/templates/users/_msg_reset_ssh_key.html:8 +msgid "Please click the link below to set" +msgstr "Por favor, clique no link abaixo para configurar" + +#: users/templates/users/_msg_reset_mfa.html:11 +#: users/templates/users/_msg_reset_ssh_key.html:11 +msgid "Click here set" +msgstr "Clique aqui para configurar" + +#: users/templates/users/_msg_reset_ssh_key.html:7 +msgid "Your ssh public key has been reset by site administrator" +msgstr "Sua chave SSH foi redefinida pelo administrador" + +#: users/templates/users/_msg_user_created.html:15 +msgid "click here to set your password" +msgstr "Clique aqui para definir a senha." + +#: users/templates/users/forgot_password.html:46 +msgid "Input your email account, that will send a email to your" +msgstr "" +"Insira seu e-mail, um e-mail de redefinição será enviado para sua conta" + +#: users/templates/users/forgot_password.html:49 +msgid "" +"Enter your mobile number and a verification code will be sent to your phone" +msgstr "" +"Insira seu número de telefone, o código de verificação será enviado para seu" +" celular" + +#: users/templates/users/forgot_password.html:71 +msgid "Email account" +msgstr "Conta de e-mail" + +#: users/templates/users/forgot_password.html:93 +msgid "Mobile number" +msgstr "Número de telefone" + +#: users/templates/users/forgot_password.html:105 +#: users/templates/users/forgot_password_previewing.html:30 +msgid "Submit" +msgstr "Enviar" + +#: users/templates/users/forgot_password_previewing.html:21 +msgid "Please enter the username for which you want to retrieve the password" +msgstr "" +"Por favor, insira o nome de usuário para o qual você precisa recuperar a " +"senha" + +#: users/templates/users/mfa_setting.html:124 +msgid "MFA force enable, cannot disable" +msgstr "O MFA foi ativado obrigatoriamente e não pode ser desativado" + +#: users/templates/users/mfa_setting.html:143 +msgid "MFA setting" +msgstr "Configurar autenticação de dois fatores do MFA" + +#: users/templates/users/mfa_setting.html:171 +msgid "Reset" +msgstr "Redefinir" + +#: users/templates/users/reset_password.html:23 +msgid "Your password must satisfy" +msgstr "Sua senha precisa cumprir:" + +#: users/templates/users/reset_password.html:24 +msgid "Password strength" +msgstr "Força da senha:" + +#: users/templates/users/reset_password.html:52 +msgid "Very weak" +msgstr "Muito fraca" + +#: users/templates/users/reset_password.html:53 +msgid "Weak" +msgstr "Fraca" + +#: users/templates/users/reset_password.html:55 +msgid "Medium" +msgstr "Média" + +#: users/templates/users/reset_password.html:56 +msgid "Strong" +msgstr "Forte" + +#: users/templates/users/reset_password.html:57 +msgid "Very strong" +msgstr "Muito forte" + +#: users/templates/users/user_otp_check_password.html:6 +msgid "Enable OTP" +msgstr "Ative o MFA(OTP)" + +#: users/templates/users/user_otp_enable_bind.html:6 +msgid "Bind one-time password authenticator" +msgstr "Vincule o autenticador MFA" + +#: users/templates/users/user_otp_enable_bind.html:13 +msgid "" +"Use the MFA Authenticator application to scan the following qr code for a " +"6-bit verification code" +msgstr "" +"Use o aplicativo de autenticação MFA para escanear o código QR abaixo e " +"obter um código de 6 dígitos" + +#: users/templates/users/user_otp_enable_bind.html:22 +#: users/templates/users/user_verify_mfa.html:27 +msgid "Six figures" +msgstr "6 dígitos" + +#: users/templates/users/user_otp_enable_install_app.html:6 +msgid "Install app" +msgstr "Instale o aplicativo" + +#: users/templates/users/user_otp_enable_install_app.html:13 +msgid "" +"Download and install the MFA Authenticator application on your phone or " +"applet of WeChat" +msgstr "" +"Baixe e instale o aplicativo autenticador MFA no seu celular ou no mini-" +"programa WeChat" + +#: users/templates/users/user_otp_enable_install_app.html:18 +msgid "Android downloads" +msgstr "Baixar para celular Android" + +#: users/templates/users/user_otp_enable_install_app.html:23 +msgid "iPhone downloads" +msgstr "Baixar para iPhone" + +#: users/templates/users/user_otp_enable_install_app.html:27 +msgid "" +"After installation, click the next step to enter the binding page (if " +"installed, go to the next step directly)." +msgstr "" +"Após a instalação, clique em próximo para ir para a página de vinculação (se" +" já estiver instalado, vá diretamente para o próximo passo)" + +#: users/templates/users/user_password_verify.html:8 +#: users/templates/users/user_password_verify.html:9 +msgid "Verify password" +msgstr "Verificar senha" + +#: users/templates/users/user_verify_mfa.html:9 +msgid "Authenticate" +msgstr "Verificar identidade" + +#: users/templates/users/user_verify_mfa.html:15 +msgid "" +"The account protection has been opened, please complete the following " +"operations according to the prompts" +msgstr "" +"Proteção de conta ativada, por favor, siga as instruções para concluir as " +"seguintes Action" + +#: users/templates/users/user_verify_mfa.html:17 +msgid "Open MFA Authenticator and enter the 6-bit dynamic code" +msgstr "Abra o autenticador MFA e insira o código dinâmico de 6 dígitos" + +#: users/utils.py:60 +msgid "Auth success" +msgstr "Autenticação bem-sucedida" + +#: users/utils.py:61 +msgid "Redirecting to JumpServer Client" +msgstr "Redirecionado para o cliente JumpServer" + +#: users/views/profile/face.py:58 users/views/profile/face.py:59 +msgid "Face binding successful" +msgstr "" + +#: users/views/profile/face.py:81 users/views/profile/face.py:82 +msgid "Face unbinding successful" +msgstr "" + +#: users/views/profile/otp.py:106 +msgid "Already bound" +msgstr "Já vinculado" + +#: users/views/profile/otp.py:107 +msgid "MFA already bound, disable first, then bound" +msgstr "" +"O MFA(OTP) já está vinculado, por favor, desative-o primeiro e então vincule" +" novamente" + +#: users/views/profile/otp.py:134 +msgid "OTP enable success" +msgstr "MFA(OTP) ativado com sucesso" + +#: users/views/profile/otp.py:135 +msgid "OTP enable success, return login page" +msgstr "MFA(OTP) ativado com sucesso, voltando para a página de login" + +#: users/views/profile/otp.py:177 +msgid "Disable OTP" +msgstr "Desativar MFA(OTP) virtual" + +#: users/views/profile/otp.py:183 +msgid "OTP disable success" +msgstr "MFA(OTP) desativado com sucesso" + +#: users/views/profile/otp.py:184 +msgid "OTP disable success, return login page" +msgstr "MFA(OTP) desativado com sucesso, voltando para a página de login" + +#: users/views/profile/password.py:33 users/views/profile/password.py:38 +msgid "Password invalid" +msgstr "Nome de usuário ou senha inválidos" + +#: users/views/profile/reset.py:66 +msgid "" +"Non-local users can log in only from third-party platforms and cannot change" +" their passwords: {}" +msgstr "" +"Usuários não locais só podem fazer login através de plataformas de " +"terceiros, não é possível mudar a senha: {}" + +#: users/views/profile/reset.py:188 users/views/profile/reset.py:199 +msgid "Token invalid or expired" +msgstr "Token inválido ou expirado" + +#: users/views/profile/reset.py:204 +msgid "User auth from {}, go there change password" +msgstr "" +"A autenticação do usuário vem de {}, por favor, vá ao sistema relevante para" +" mudar a senha" + +#: users/views/profile/reset.py:211 +msgid "* Your password does not meet the requirements" +msgstr "* Sua senha não atende aos requisitos" + +#: users/views/profile/reset.py:217 +msgid "* The new password cannot be the last {} passwords" +msgstr "* A nova senha não pode ser uma das {} últimas senhas" + +#: users/views/profile/reset.py:234 +msgid "Reset password success, return to login page" +msgstr "Senha redefinida com sucesso, voltando para a página de login" + +#: xpack/apps.py:8 +msgid "XPACK" +msgstr "XPack" + +#: xpack/exceptions.py:8 +msgid "" +"Based on the current task configuration, assets that do not match the " +"strategy will skipped." +msgstr "" +"De acordo com a configuração da tarefa atual, os ativos que não cumprem a " +"\"política\" serão ignorados." + +#: xpack/plugins/cloud/api.py:72 +msgid "Test connection successful" +msgstr "Teste bem sucedido" + +#: xpack/plugins/cloud/api.py:74 +msgid "Test connection failed: {}" +msgstr "Falha na conexão de teste: {}" + +#: xpack/plugins/cloud/api.py:171 +msgid "User {} deleted the current resource and released the assets" +msgstr "O usuário {} eliminou os ativos que foram atualmente liberados." + +#: xpack/plugins/cloud/const.py:8 +msgid "Alibaba Cloud" +msgstr "Alibaba Cloud" + +#: xpack/plugins/cloud/const.py:9 +msgid "AWS (International)" +msgstr "AWS (Internacional)" + +#: xpack/plugins/cloud/const.py:10 +msgid "AWS (China)" +msgstr "AWS (China)" + +#: xpack/plugins/cloud/const.py:11 +msgid "Azure (China)" +msgstr "Azure (China)" + +#: xpack/plugins/cloud/const.py:12 +msgid "Azure (International)" +msgstr "Azure (Internacional)" + +#: xpack/plugins/cloud/const.py:14 +msgid "Baidu Cloud" +msgstr "Baidu Cloud" + +#: xpack/plugins/cloud/const.py:15 +msgid "JD Cloud" +msgstr "JD Cloud" + +#: xpack/plugins/cloud/const.py:16 +msgid "KingSoft Cloud" +msgstr "Kingsoft Cloud" + +#: xpack/plugins/cloud/const.py:17 +msgid "Tencent Cloud" +msgstr "Tencent Cloud" + +#: xpack/plugins/cloud/const.py:18 +msgid "Tencent Cloud (Lighthouse)" +msgstr "Tencent Cloud (Aplicativo de Servidor Leve)" + +#: xpack/plugins/cloud/const.py:19 +msgid "Google Cloud Platform" +msgstr "Google Cloud" + +#: xpack/plugins/cloud/const.py:20 +msgid "UCloud" +msgstr "ucloud" + +#: xpack/plugins/cloud/const.py:21 +msgid "Volcengine" +msgstr "Vulcano Engine" + +#: xpack/plugins/cloud/const.py:23 +msgid "VMware" +msgstr "VMware" + +#: xpack/plugins/cloud/const.py:24 xpack/plugins/cloud/providers/nutanix.py:15 +msgid "Nutanix" +msgstr "Nutanix" + +#: xpack/plugins/cloud/const.py:25 +msgid "Huawei Private Cloud" +msgstr "Huawei Private Cloud" + +#: xpack/plugins/cloud/const.py:26 +msgid "Qingyun Private Cloud" +msgstr "Qingyun Private Cloud" + +#: xpack/plugins/cloud/const.py:27 +msgid "CTYun Private Cloud" +msgstr "Tianyi Private Cloud" + +#: xpack/plugins/cloud/const.py:28 +msgid "OpenStack" +msgstr "OpenStack" + +#: xpack/plugins/cloud/const.py:29 xpack/plugins/cloud/providers/zstack.py:21 +msgid "ZStack" +msgstr "ZStack" + +#: xpack/plugins/cloud/const.py:30 +msgid "Fusion Compute" +msgstr "Converged Computing" + +#: xpack/plugins/cloud/const.py:31 +msgid "SCP" +msgstr "Deep Trust SCP" + +#: xpack/plugins/cloud/const.py:32 +msgid "Apsara Stack" +msgstr "Alibaba Private Cloud" + +#: xpack/plugins/cloud/const.py:37 +msgid "Private IP" +msgstr "Private IP" + +#: xpack/plugins/cloud/const.py:38 +msgid "Public IP" +msgstr "Public IP" + +#: xpack/plugins/cloud/const.py:42 xpack/plugins/cloud/models.py:361 +msgid "Instance name" +msgstr "Nome da instância" + +#: xpack/plugins/cloud/const.py:43 +msgid "Instance name and Partial IP" +msgstr "Nome da instância e parte do IP" + +#: xpack/plugins/cloud/const.py:48 +msgid "Succeed" +msgstr "Sucesso" + +#: xpack/plugins/cloud/const.py:52 xpack/plugins/cloud/manager.py:95 +msgid "Unsync" +msgstr "Não sincronizado" + +#: xpack/plugins/cloud/const.py:53 xpack/plugins/cloud/manager.py:94 +msgid "New Sync" +msgstr "Nova sincronização" + +#: xpack/plugins/cloud/const.py:54 xpack/plugins/cloud/manager.py:94 +msgid "Synced" +msgstr "Sincronizado" + +#: xpack/plugins/cloud/const.py:55 xpack/plugins/cloud/manager.py:96 +msgid "Released" +msgstr "Liberado" + +#: xpack/plugins/cloud/const.py:59 +msgid "And" +msgstr "E" + +#: xpack/plugins/cloud/const.py:60 +msgid "Or" +msgstr "Ou" + +#: xpack/plugins/cloud/const.py:64 +msgid "Sync region" +msgstr "Organização sincronizada" + +#: xpack/plugins/cloud/const.py:66 +msgid "Imported" +msgstr "Importar" + +#: xpack/plugins/cloud/manager.py:48 +msgid "Task \"%s\" starts executing" +msgstr "Tarefa \"%s\" começou a ser executada" + +#: xpack/plugins/cloud/manager.py:87 +msgid "View the task details path: " +msgstr "Ver detalhes" + +#: xpack/plugins/cloud/manager.py:90 +msgid "Account Details" +msgstr "Conta" + +#: xpack/plugins/cloud/manager.py:91 +msgid "Synchronization History List" +msgstr "Lista de histórico de sincronização" + +#: xpack/plugins/cloud/manager.py:91 +msgid "Synchronization Instance List" +msgstr "Sincronizar lista de instâncias" + +#: xpack/plugins/cloud/manager.py:95 +msgid "To be released" +msgstr "Esperando liberação" + +#: xpack/plugins/cloud/manager.py:99 +msgid "Task execution completed" +msgstr "Tarefa concluída" + +#: xpack/plugins/cloud/manager.py:104 +msgid "Synchronization regions" +msgstr "Sincronizar região" + +#: xpack/plugins/cloud/manager.py:129 +msgid "Get instances of region \"%s\" error, error: %s" +msgstr "Erro ao obter instâncias da região \"%s\", erro: %s" + +#: xpack/plugins/cloud/manager.py:175 +msgid "Failed to synchronize the instance \"%s\"" +msgstr "Não é possível sincronizar instância %s" + +#: xpack/plugins/cloud/manager.py:354 +msgid "" +"The updated platform of asset \"%s\" is inconsistent with the original " +"platform type. Skip platform and protocol updates" +msgstr "" +"A atualização da plataforma do ativo \"%s\" não é consistente com o tipo " +"original da plataforma. Pulando atualização de plataforma e protocolo" + +#: xpack/plugins/cloud/manager.py:410 +msgid "The asset \"%s\" already exists" +msgstr "O ativo \"%s\" já existe" + +#: xpack/plugins/cloud/manager.py:412 +msgid "Update asset \"%s\"" +msgstr "Atualizando ativo \"%s\"" + +#: xpack/plugins/cloud/manager.py:415 +msgid "Asset \"%s\" has been updated" +msgstr "O ativo \"%s\" foi atualizado" + +#: xpack/plugins/cloud/manager.py:425 +msgid "Prepare to create asset \"%s\"" +msgstr "Preparando para criar o ativo %s" + +#: xpack/plugins/cloud/manager.py:446 +msgid "Set nodes \"%s\"" +msgstr "Eliminar nó: \"%s\"" + +#: xpack/plugins/cloud/manager.py:472 +msgid "Set accounts \"%s\"" +msgstr "Eliminar conta: %s" + +#: xpack/plugins/cloud/manager.py:488 +msgid "Set protocols \"%s\"" +msgstr "Configurar protocolo \"%s\"" + +#: xpack/plugins/cloud/manager.py:502 xpack/plugins/cloud/tasks.py:31 +msgid "Run sync instance task" +msgstr "Executar tarefa de sincronização de instância" + +#: xpack/plugins/cloud/meta.py:9 +msgid "Cloud center" +msgstr "Centro de Nuvem" + +#: xpack/plugins/cloud/models.py:39 +#: xpack/plugins/cloud/serializers/account.py:94 +msgid "Attrs" +msgstr "Atributo" + +#: xpack/plugins/cloud/models.py:40 +msgid "Validity" +msgstr "Válido" + +#: xpack/plugins/cloud/models.py:45 +msgid "Cloud account" +msgstr "Conta Nuvem" + +#: xpack/plugins/cloud/models.py:47 +msgid "Test cloud account" +msgstr "Teste de Conta Nuvem" + +#: xpack/plugins/cloud/models.py:104 +#: xpack/plugins/cloud/serializers/account.py:76 +#: xpack/plugins/cloud/serializers/task.py:157 +#: xpack/plugins/cloud/serializers/task.py:158 +msgid "Regions" +msgstr "Região" + +#: xpack/plugins/cloud/models.py:107 +msgid "Hostname strategy" +msgstr "Estratégia de Nome do Servidor" + +#: xpack/plugins/cloud/models.py:112 +msgid "IP network segment group" +msgstr "Grupo de Sub-rede IP" + +#: xpack/plugins/cloud/models.py:116 +#: xpack/plugins/cloud/serializers/task.py:161 +msgid "Preferred IP type" +msgstr "" + +#: xpack/plugins/cloud/models.py:119 +msgid "Always update" +msgstr "Sempre Atualizado" + +#: xpack/plugins/cloud/models.py:121 +msgid "Fully synchronous" +msgstr "Sincronização Completa" + +#: xpack/plugins/cloud/models.py:122 +msgid "Release assets" +msgstr "Liberação de Ativos" + +#: xpack/plugins/cloud/models.py:127 +msgid "Date last sync" +msgstr "Data da Última Sincronização" + +#: xpack/plugins/cloud/models.py:130 xpack/plugins/cloud/models.py:379 +#: xpack/plugins/cloud/models.py:405 +msgid "Strategy" +msgstr "Estratégia" + +#: xpack/plugins/cloud/models.py:135 xpack/plugins/cloud/models.py:223 +msgid "Sync instance task" +msgstr "Tarefa de Sincronização de Instância" + +#: xpack/plugins/cloud/models.py:234 xpack/plugins/cloud/models.py:297 +msgid "Date sync" +msgstr "Data de Sincronização" + +#: xpack/plugins/cloud/models.py:238 +msgid "Sync instance snapshot" +msgstr "Sincronizar instância de snapshot" + +#: xpack/plugins/cloud/models.py:246 +msgid "Sync instance task execution" +msgstr "Sincronizando a execução da tarefa de instância" + +#: xpack/plugins/cloud/models.py:277 +msgid "Sync task" +msgstr "Sincronização de Tarefa" + +#: xpack/plugins/cloud/models.py:281 +msgid "Sync instance task history" +msgstr "Histórico da tarefa de sincronização da instância" + +#: xpack/plugins/cloud/models.py:284 +msgid "Instance" +msgstr "Instância" + +#: xpack/plugins/cloud/models.py:301 +msgid "Sync instance detail" +msgstr "Detalhes da sincronização da instância" + +#: xpack/plugins/cloud/models.py:313 +#: xpack/plugins/cloud/serializers/task.py:77 +msgid "Rule relation" +msgstr "Relação de condições" + +#: xpack/plugins/cloud/models.py:323 +msgid "Task strategy" +msgstr "Estratégia de tarefa" + +#: xpack/plugins/cloud/models.py:350 +msgid "Equal" +msgstr "Igual a" + +#: xpack/plugins/cloud/models.py:351 +msgid "Not Equal" +msgstr "Diferente de" + +#: xpack/plugins/cloud/models.py:352 +msgid "In" +msgstr "Em..." + +#: xpack/plugins/cloud/models.py:353 +msgid "Contains" +msgstr "Incluir" + +#: xpack/plugins/cloud/models.py:354 +msgid "Exclude" +msgstr "Excluir" + +#: xpack/plugins/cloud/models.py:355 +msgid "Startswith" +msgstr "Começando com..." + +#: xpack/plugins/cloud/models.py:356 +msgid "Endswith" +msgstr "Terminando com..." + +#: xpack/plugins/cloud/models.py:362 +msgid "Instance platform" +msgstr "Plataforma de Instância" + +#: xpack/plugins/cloud/models.py:363 +msgid "Instance address" +msgstr "Endereço de Instância" + +#: xpack/plugins/cloud/models.py:370 +msgid "Rule attr" +msgstr "Atributo de Regra" + +#: xpack/plugins/cloud/models.py:374 +msgid "Rule match" +msgstr "Combinação de Regra" + +#: xpack/plugins/cloud/models.py:376 +msgid "Rule value" +msgstr "Valor de Regra" + +#: xpack/plugins/cloud/models.py:383 +#: xpack/plugins/cloud/serializers/task.py:80 +msgid "Strategy rule" +msgstr "Condição" + +#: xpack/plugins/cloud/models.py:393 +msgid "Name strategy" +msgstr "Política de Nome de Host" + +#: xpack/plugins/cloud/models.py:400 +msgid "Action attr" +msgstr "Atributo de Action" + +#: xpack/plugins/cloud/models.py:402 +msgid "Action value" +msgstr "Valor de Action" + +#: xpack/plugins/cloud/models.py:409 +#: xpack/plugins/cloud/serializers/task.py:83 +msgid "Strategy action" +msgstr "Action" + +#: xpack/plugins/cloud/providers/aws_international.py:18 +msgid "China (Beijing)" +msgstr "China (Pequim)" + +#: xpack/plugins/cloud/providers/aws_international.py:19 +msgid "China (Ningxia)" +msgstr "China (Ningxia)" + +#: xpack/plugins/cloud/providers/aws_international.py:22 +msgid "US East (Ohio)" +msgstr "Estados Unidos, Leste (Ohio)" + +#: xpack/plugins/cloud/providers/aws_international.py:23 +msgid "US East (N. Virginia)" +msgstr "Estados Unidos, Leste (Norte da Virgínia)" + +#: xpack/plugins/cloud/providers/aws_international.py:24 +msgid "US West (N. California)" +msgstr "Estados Unidos, Oeste (Norte da Califórnia)" + +#: xpack/plugins/cloud/providers/aws_international.py:25 +msgid "US West (Oregon)" +msgstr "Oeste dos Estados Unidos (Oregon)" + +#: xpack/plugins/cloud/providers/aws_international.py:26 +msgid "Africa (Cape Town)" +msgstr "África (Cidade do Cabo)" + +#: xpack/plugins/cloud/providers/aws_international.py:27 +msgid "Asia Pacific (Hong Kong)" +msgstr "Região Ásia-Pacífico (Hong Kong)" + +#: xpack/plugins/cloud/providers/aws_international.py:28 +msgid "Asia Pacific (Mumbai)" +msgstr "Região Ásia-Pacífico (Mumbai)" + +#: xpack/plugins/cloud/providers/aws_international.py:29 +msgid "Asia Pacific (Osaka-Local)" +msgstr "Região Ásia-Pacífico (Osaka local)" + +#: xpack/plugins/cloud/providers/aws_international.py:30 +msgid "Asia Pacific (Seoul)" +msgstr "Região Ásia-Pacífico (Seul)" + +#: xpack/plugins/cloud/providers/aws_international.py:31 +msgid "Asia Pacific (Singapore)" +msgstr "Região Ásia-Pacífico (Singapura)" + +#: xpack/plugins/cloud/providers/aws_international.py:32 +msgid "Asia Pacific (Sydney)" +msgstr "Região Ásia-Pacífico (Sydney)" + +#: xpack/plugins/cloud/providers/aws_international.py:33 +msgid "Asia Pacific (Tokyo)" +msgstr "Região Ásia-Pacífico (Tóquio)" + +#: xpack/plugins/cloud/providers/aws_international.py:34 +msgid "Canada (Central)" +msgstr "Canadá (Centro)" + +#: xpack/plugins/cloud/providers/aws_international.py:35 +msgid "Europe (Frankfurt)" +msgstr "Europa (Frankfurt)" + +#: xpack/plugins/cloud/providers/aws_international.py:36 +msgid "Europe (Ireland)" +msgstr "Europa (Irlanda)" + +#: xpack/plugins/cloud/providers/aws_international.py:37 +msgid "Europe (London)" +msgstr "Europa (Londres)" + +#: xpack/plugins/cloud/providers/aws_international.py:38 +msgid "Europe (Milan)" +msgstr "Europa (Milão)" + +#: xpack/plugins/cloud/providers/aws_international.py:39 +msgid "Europe (Paris)" +msgstr "Europa (Paris)" + +#: xpack/plugins/cloud/providers/aws_international.py:40 +msgid "Europe (Stockholm)" +msgstr "Europa (Estocolmo)" + +#: xpack/plugins/cloud/providers/aws_international.py:41 +msgid "Middle East (Bahrain)" +msgstr "Oriente Médio (Bahrain)" + +#: xpack/plugins/cloud/providers/aws_international.py:42 +msgid "South America (São Paulo)" +msgstr "América do Sul (São Paulo)" + +#: xpack/plugins/cloud/providers/baiducloud.py:56 +#: xpack/plugins/cloud/providers/jdcloud.py:125 +msgid "CN North-Beijing" +msgstr "Norte da China - Pequim" + +#: xpack/plugins/cloud/providers/baiducloud.py:57 +msgid "CN North-Baoding" +msgstr "Norte da China - Baoding" + +#: xpack/plugins/cloud/providers/baiducloud.py:58 +msgid "CN East-Suzhou" +msgstr "Leste da China - Suzhou" + +#: xpack/plugins/cloud/providers/baiducloud.py:59 +#: xpack/plugins/cloud/providers/huaweicloud.py:47 +#: xpack/plugins/cloud/providers/jdcloud.py:128 +msgid "CN South-Guangzhou" +msgstr "Sul da China - Guangzhou" + +#: xpack/plugins/cloud/providers/baiducloud.py:60 +msgid "CN Southwest-Chengdu" +msgstr "Região sudoeste - Chengdu" + +#: xpack/plugins/cloud/providers/baiducloud.py:61 +#: xpack/plugins/cloud/providers/huaweicloud.py:54 +msgid "CN-Hong Kong" +msgstr "China - Hong Kong" + +#: xpack/plugins/cloud/providers/baiducloud.py:62 +msgid "CN Center-Wuhan" +msgstr "Centro da China - Wuhan" + +#: xpack/plugins/cloud/providers/baiducloud.py:63 +#: xpack/plugins/cloud/providers/jdcloud.py:127 +msgid "CN East-Shanghai" +msgstr "Leste da China - Xangai" + +#: xpack/plugins/cloud/providers/baiducloud.py:64 +#: xpack/plugins/cloud/providers/huaweicloud.py:56 +msgid "AP-Singapore" +msgstr "Ásia-Pacífico - Singapura" + +#: xpack/plugins/cloud/providers/gcp.py:64 +#: xpack/plugins/cloud/providers/huaweicloud.py:34 +msgid "Account unavailable" +msgstr "Conta inválida" + +#: xpack/plugins/cloud/providers/huaweicloud.py:44 +msgid "CN North-Beijing1" +msgstr "Norte da China - Pequim1" + +#: xpack/plugins/cloud/providers/huaweicloud.py:45 +msgid "CN North-Beijing4" +msgstr "Norte da China - Pequim4" + +#: xpack/plugins/cloud/providers/huaweicloud.py:46 +msgid "CN North-Ulanqab1" +msgstr "Norte da China-Ulanqab" + +#: xpack/plugins/cloud/providers/huaweicloud.py:48 +msgid "CN South-Shenzhen" +msgstr "Sul da China-Guangzhou" + +#: xpack/plugins/cloud/providers/huaweicloud.py:49 +msgid "CN South-Guangzhou-InvitationOnly" +msgstr "Sul da China-Guangzhou-Ambiente amigável para o usuário" + +#: xpack/plugins/cloud/providers/huaweicloud.py:50 +msgid "CN East-Shanghai2" +msgstr "Leste da China-Xangai 2" + +#: xpack/plugins/cloud/providers/huaweicloud.py:51 +msgid "CN East-Shanghai1" +msgstr "Leste da China-Xangai 1" + +#: xpack/plugins/cloud/providers/huaweicloud.py:53 +msgid "CN Southwest-Guiyang1" +msgstr "Sudoeste da China-Guiyang 1" + +#: xpack/plugins/cloud/providers/huaweicloud.py:55 +msgid "AP-Bangkok" +msgstr "Ásia-Pacífico-Bangkok" + +#: xpack/plugins/cloud/providers/huaweicloud.py:58 +msgid "AF-Johannesburg" +msgstr "África-Johannesburgo" + +#: xpack/plugins/cloud/providers/huaweicloud.py:59 +msgid "LA-Mexico City1" +msgstr "América Latina-Cidade do México 1" + +#: xpack/plugins/cloud/providers/huaweicloud.py:60 +msgid "LA-Santiago" +msgstr "América Latina-Santiago" + +#: xpack/plugins/cloud/providers/huaweicloud.py:61 +msgid "LA-Sao Paulo1" +msgstr "América Latina-São Paulo 1" + +#: xpack/plugins/cloud/providers/huaweicloud.py:63 +msgid "TR-Istanbul" +msgstr "TR-Istambul" + +#: xpack/plugins/cloud/providers/jdcloud.py:126 +msgid "CN East-Suqian" +msgstr "Leste da China-Suqian" + +#: xpack/plugins/cloud/providers/lan.py:79 +msgid "Port \"%(port)s\" of instance IP \"%(ip)s\" is not reachable" +msgstr "Não é possível acessar a porta %(port)s do IP da instância %(ip)s" + +#: xpack/plugins/cloud/serializers/account.py:95 +msgid "Validity display" +msgstr "Exibição de validade" + +#: xpack/plugins/cloud/serializers/account.py:96 +msgid "Provider display" +msgstr "Provedor de serviços exibir" + +#: xpack/plugins/cloud/serializers/account_attrs.py:17 +msgid "Access key id" +msgstr "Access key id" + +#: xpack/plugins/cloud/serializers/account_attrs.py:44 +msgid "Subscription ID" +msgstr "ID de inscrição" + +#: xpack/plugins/cloud/serializers/account_attrs.py:98 +#: xpack/plugins/cloud/serializers/account_attrs.py:102 +#: xpack/plugins/cloud/serializers/account_attrs.py:126 +#: xpack/plugins/cloud/serializers/account_attrs.py:156 +#: xpack/plugins/cloud/serializers/account_attrs.py:206 +msgid "API Endpoint" +msgstr "Endpoint API" + +#: xpack/plugins/cloud/serializers/account_attrs.py:108 +msgid "Auth url" +msgstr "Endereço de autenticação" + +#: xpack/plugins/cloud/serializers/account_attrs.py:109 +msgid "eg: http://openstack.example.com:5000/v3" +msgstr "Ex: http://openstack.example.com:5000/v3" + +#: xpack/plugins/cloud/serializers/account_attrs.py:112 +msgid "User domain" +msgstr "Domínio do usuário" + +#: xpack/plugins/cloud/serializers/account_attrs.py:127 +msgid "Cert File" +msgstr "Arquivo de certificado" + +#: xpack/plugins/cloud/serializers/account_attrs.py:128 +msgid "Key File" +msgstr "Arquivo de chave" + +#: xpack/plugins/cloud/serializers/account_attrs.py:144 +msgid "Service account key" +msgstr "Chave de conta de serviço" + +#: xpack/plugins/cloud/serializers/account_attrs.py:145 +msgid "The file is in JSON format" +msgstr "Arquivo em formato JSON" + +#: xpack/plugins/cloud/serializers/account_attrs.py:163 +msgid "IP address invalid `{}`, {}" +msgstr "Endereço IP inválido: `{}`, {}" + +#: xpack/plugins/cloud/serializers/account_attrs.py:179 +msgid "Such as: 192.168.1.0/24, 10.0.0.0-10.0.0.255" +msgstr "Exemplo: 192.168.1.0/24,10.0.0.0-10.0.0.255" + +#: xpack/plugins/cloud/serializers/account_attrs.py:182 +msgid "" +"The port is used to detect the validity of the IP address. When the " +"synchronization task is executed, only the valid IP address will be " +"synchronized.
If the port is 0, all IP addresses are valid." +msgstr "" +"A porta é usada para verificar a validade do endereço IP. Durante a execução" +" da task de sincronização, apenas os endereços IP válidos serão " +"sincronizados.
Se a porta for 0, isso significa que todos os endereços " +"IP são válidos." + +#: xpack/plugins/cloud/serializers/account_attrs.py:190 +msgid "Hostname prefix" +msgstr "Prefixo do hostname" + +#: xpack/plugins/cloud/serializers/account_attrs.py:193 +msgid "IP segment" +msgstr "Segmento de IP" + +#: xpack/plugins/cloud/serializers/account_attrs.py:197 +msgid "Test port" +msgstr "Porta de teste" + +#: xpack/plugins/cloud/serializers/account_attrs.py:200 +msgid "Test timeout" +msgstr "Tempo limite de teste" + +#: xpack/plugins/cloud/serializers/account_attrs.py:216 +msgid "Project" +msgstr "Project" + +#: xpack/plugins/cloud/serializers/task.py:155 +msgid "History count" +msgstr "Número de execuções" + +#: xpack/plugins/cloud/serializers/task.py:156 +msgid "Instance count" +msgstr "Número de instâncias" + +#: xpack/plugins/cloud/tasks.py:33 +msgid "" +"\n" +" Execute this task when manually or scheduled cloud synchronization tasks are performed\n" +" " +msgstr "" +"\n" +"Executar manualmente ou em tempo programado para a tarefa de sincronização na nuvem" + +#: xpack/plugins/cloud/tasks.py:52 +msgid "Period clean sync instance task execution" +msgstr "" +"Limpeza regular dos registros de tarefas de sincronização de instâncias" + +#: xpack/plugins/cloud/tasks.py:54 +msgid "" +"\n" +" Every day, according to the configuration in \"System Settings - Tasks - Regular \n" +" clean-up - Cloud sync task history retention days\" the system will clean up the execution \n" +" records generated by cloud synchronization\n" +" " +msgstr "" +"\n" +"Todos os dias, com base nas configurações do sistema - lista de tarefas - configuração de limpeza regular - configuração de registro de sincronização na nuvem, limpe os registros de execução gerados pela sincronização na nuvem" + +#: xpack/plugins/interface/api.py:52 +msgid "Restore default successfully." +msgstr "Sucesso na restauração para padrões originais!" + +#: xpack/plugins/interface/meta.py:9 xpack/plugins/interface/models.py:45 +#: xpack/plugins/interface/models.py:86 +msgid "Interface settings" +msgstr "Configurações de interface" + +#: xpack/plugins/interface/models.py:23 +msgid "Login title" +msgstr "Título da página de login" + +#: xpack/plugins/interface/models.py:27 +msgid "Login image" +msgstr "Imagem da página de login" + +#: xpack/plugins/interface/models.py:31 +msgid "Website icon" +msgstr "Ícone do site" + +#: xpack/plugins/interface/models.py:35 +msgid "Index logo" +msgstr "管理 página Logo" + +#: xpack/plugins/interface/models.py:39 +msgid "Logout logo" +msgstr "Cancelar login" + +#: xpack/plugins/interface/models.py:41 +#: xpack/plugins/interface/serializers/interface.py:26 +msgid "Theme" +msgstr "Tema" + +#: xpack/plugins/interface/models.py:42 +msgid "Footer content" +msgstr "Conteúdo do rodapé" + +#: xpack/plugins/interface/serializers/interface.py:37 +msgid "Wide logo on top" +msgstr "Logo largo no topo" + +#: xpack/plugins/interface/serializers/interface.py:38 +msgid "Small logo without text" +msgstr "Logo pequeno quadrado" + +#: xpack/plugins/license/api.py:52 +msgid "License import successfully" +msgstr "Importação de licença bem-sucedida" + +#: xpack/plugins/license/api.py:53 +msgid "Invalid license" +msgstr "Licença inválida" diff --git a/apps/i18n/core/pt_BR/LC_MESSAGES/djangojs.po b/apps/i18n/core/pt_BR/LC_MESSAGES/djangojs.po new file mode 100644 index 000000000..9358a8938 --- /dev/null +++ b/apps/i18n/core/pt_BR/LC_MESSAGES/djangojs.po @@ -0,0 +1,103 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-12-03 15:44+0800\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +#: static/js/jumpserver.js:264 +msgid "Update is successful!" +msgstr "" + +#: static/js/jumpserver.js:266 +msgid "An unknown error occurred while updating.." +msgstr "" + +#: static/js/jumpserver.js:339 +msgid "Not found" +msgstr "" + +#: static/js/jumpserver.js:341 +msgid "Server error" +msgstr "" + +#: static/js/jumpserver.js:343 static/js/jumpserver.js:381 +#: static/js/jumpserver.js:383 +msgid "Error" +msgstr "" + +#: static/js/jumpserver.js:349 static/js/jumpserver.js:390 +msgid "Delete the success" +msgstr "" + +#: static/js/jumpserver.js:356 +msgid "Are you sure about deleting it?" +msgstr "" + +#: static/js/jumpserver.js:360 static/js/jumpserver.js:401 +msgid "Cancel" +msgstr "" + +#: static/js/jumpserver.js:362 static/js/jumpserver.js:403 +msgid "Confirm" +msgstr "" + +#: static/js/jumpserver.js:381 +msgid "" +"The organization contains undeleted information. Please try again after " +"deleting" +msgstr "" + +#: static/js/jumpserver.js:383 +msgid "" +"Do not perform this operation under this organization. Try again after " +"switching to another organization" +msgstr "" + +#: static/js/jumpserver.js:397 +msgid "" +"Please ensure that the following information in the organization has been " +"deleted" +msgstr "" + +#: static/js/jumpserver.js:398 +msgid "" +"User list、User group、Asset list、Domain list、Admin user、System user、" +"Labels、Asset permission" +msgstr "" + +#: static/js/jumpserver.js:647 +msgid "Unknown error occur" +msgstr "" + +#: static/js/jumpserver.js:899 +msgid "Password minimum length {N} bits" +msgstr "" + +#: static/js/jumpserver.js:900 +msgid "Must contain capital letters" +msgstr "" + +#: static/js/jumpserver.js:901 +msgid "Must contain lowercase letters" +msgstr "" + +#: static/js/jumpserver.js:902 +msgid "Must contain numeric characters" +msgstr "" + +#: static/js/jumpserver.js:903 +msgid "Must contain special characters" +msgstr "" diff --git a/apps/i18n/core/zh_Hant/LC_MESSAGES/djangojs.po b/apps/i18n/core/zh_Hant/LC_MESSAGES/djangojs.po index 934646143..5e013247c 100644 --- a/apps/i18n/core/zh_Hant/LC_MESSAGES/djangojs.po +++ b/apps/i18n/core/zh_Hant/LC_MESSAGES/djangojs.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-24 11:05+0800\n" +"POT-Creation-Date: 2024-12-03 15:44+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -15,60 +15,65 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-ZhConverter: 繁化姬 dict-74c8d060-r1048 @ 2024/04/07 18:35:03 | https://zhconvert.org\n" +"X-ZhConverter: 繁化姬 dict-74c8d060-r1048 @ 2024/04/07 18:35:03 | https://" +"zhconvert.org\n" -#: static/js/jumpserver.js:259 +#: static/js/jumpserver.js:264 msgid "Update is successful!" msgstr "更新成功" -#: static/js/jumpserver.js:261 +#: static/js/jumpserver.js:266 msgid "An unknown error occurred while updating.." msgstr "更新時發生未知錯誤" -#: static/js/jumpserver.js:324 static/js/jumpserver.js:362 -#: static/js/jumpserver.js:364 +#: static/js/jumpserver.js:339 +msgid "Not found" +msgstr "" + +#: static/js/jumpserver.js:341 +msgid "Server error" +msgstr "" + +#: static/js/jumpserver.js:343 static/js/jumpserver.js:381 +#: static/js/jumpserver.js:383 msgid "Error" msgstr "錯誤" -#: static/js/jumpserver.js:324 -msgid "Being used by the asset, please unbind the asset first." -msgstr "正在被資產使用中,請先解除資產綁定" - -#: static/js/jumpserver.js:330 static/js/jumpserver.js:371 +#: static/js/jumpserver.js:349 static/js/jumpserver.js:390 msgid "Delete the success" msgstr "刪除成功" -#: static/js/jumpserver.js:337 +#: static/js/jumpserver.js:356 msgid "Are you sure about deleting it?" msgstr "你確定刪除嗎 ?" -#: static/js/jumpserver.js:341 static/js/jumpserver.js:382 +#: static/js/jumpserver.js:360 static/js/jumpserver.js:401 msgid "Cancel" msgstr "取消" -#: static/js/jumpserver.js:343 static/js/jumpserver.js:384 +#: static/js/jumpserver.js:362 static/js/jumpserver.js:403 msgid "Confirm" msgstr "確認" -#: static/js/jumpserver.js:362 +#: static/js/jumpserver.js:381 msgid "" "The organization contains undeleted information. Please try again after " "deleting" msgstr "組織中包含未刪除資訊,請刪除後重試" -#: static/js/jumpserver.js:364 +#: static/js/jumpserver.js:383 msgid "" "Do not perform this operation under this organization. Try again after " "switching to another organization" msgstr "請勿在此組織下執行此操作,切換到其他組織後重試" -#: static/js/jumpserver.js:378 +#: static/js/jumpserver.js:397 msgid "" "Please ensure that the following information in the organization has been " "deleted" msgstr "請確保組織內的以下資訊已刪除" -#: static/js/jumpserver.js:379 +#: static/js/jumpserver.js:398 msgid "" "User list、User group、Asset list、Domain list、Admin user、System user、" "Labels、Asset permission" @@ -76,84 +81,70 @@ msgstr "" "用戶列表、用戶組、資產列表、網域列表、特權用戶、系統用戶、標籤管理、資產授權" "規則" -#: static/js/jumpserver.js:416 -msgid "Loading" -msgstr "載入中" - -#: static/js/jumpserver.js:417 -msgid "Search" -msgstr "搜索" - -#: static/js/jumpserver.js:420 -#, javascript-format -msgid "Selected item %d" -msgstr "選中 %d 項" - -#: static/js/jumpserver.js:424 -msgid "Per page _MENU_" -msgstr "每頁 _MENU_" - -#: static/js/jumpserver.js:425 -msgid "" -"Displays the results of items _START_ to _END_; A total of _TOTAL_ entries" -msgstr "顯示第 _START_ 至 _END_ 項結果; 總共 _TOTAL_ 項" - -#: static/js/jumpserver.js:428 -msgid "No match" -msgstr "沒有匹配項" - -#: static/js/jumpserver.js:429 -msgid "No record" -msgstr "沒有記錄" - -#: static/js/jumpserver.js:582 +#: static/js/jumpserver.js:647 msgid "Unknown error occur" msgstr "出現未知錯誤" -#: static/js/jumpserver.js:838 +#: static/js/jumpserver.js:899 msgid "Password minimum length {N} bits" msgstr "密碼最小長度 {N} 位" -#: static/js/jumpserver.js:839 +#: static/js/jumpserver.js:900 msgid "Must contain capital letters" msgstr "必須包含大寫字母" -#: static/js/jumpserver.js:840 +#: static/js/jumpserver.js:901 msgid "Must contain lowercase letters" msgstr "必須包含小寫字母" -#: static/js/jumpserver.js:841 +#: static/js/jumpserver.js:902 msgid "Must contain numeric characters" msgstr "必須包含數字字元" -#: static/js/jumpserver.js:842 +#: static/js/jumpserver.js:903 msgid "Must contain special characters" msgstr "必須包含特殊字元" -#: static/js/jumpserver.js:984 -msgid "Export failed" -msgstr "匯出失敗" +#~ msgid "Being used by the asset, please unbind the asset first." +#~ msgstr "正在被資產使用中,請先解除資產綁定" -#: static/js/jumpserver.js:1001 -msgid "Import Success" -msgstr "匯入成功" +#~ msgid "Loading" +#~ msgstr "載入中" -#: static/js/jumpserver.js:1006 -msgid "Update Success" -msgstr "更新成功" +#~ msgid "Search" +#~ msgstr "搜索" -#: static/js/jumpserver.js:1007 -msgid "Count" -msgstr "數量" +#, javascript-format +#~ msgid "Selected item %d" +#~ msgstr "選中 %d 項" -#: static/js/jumpserver.js:1035 -msgid "Import failed" -msgstr "匯入失敗" +#~ msgid "Per page _MENU_" +#~ msgstr "每頁 _MENU_" -#: static/js/jumpserver.js:1040 -msgid "Update failed" -msgstr "更新失敗" +#~ msgid "" +#~ "Displays the results of items _START_ to _END_; A total of _TOTAL_ entries" +#~ msgstr "顯示第 _START_ 至 _END_ 項結果; 總共 _TOTAL_ 項" -#: static/js/plugins/moment/moment.min.js:6 -msgid "\n" -msgstr "" +#~ msgid "No match" +#~ msgstr "沒有匹配項" + +#~ msgid "No record" +#~ msgstr "沒有記錄" + +#~ msgid "Export failed" +#~ msgstr "匯出失敗" + +#~ msgid "Import Success" +#~ msgstr "匯入成功" + +#~ msgid "Update Success" +#~ msgstr "更新成功" + +#~ msgid "Count" +#~ msgstr "數量" + +#~ msgid "Import failed" +#~ msgstr "匯入失敗" + +#~ msgid "Update failed" +#~ msgstr "更新失敗" diff --git a/apps/i18n/koko/pt_br.json b/apps/i18n/koko/pt_br.json new file mode 100644 index 000000000..e7c880aea --- /dev/null +++ b/apps/i18n/koko/pt_br.json @@ -0,0 +1,75 @@ +{ + "ActionPerm": "Permissões de ação", + "Cancel": "Cancelar", + "Clone Connect": "Copiar janela", + "Close All Tabs": "Fechar tudo", + "Close Current Tab": "Fechar a atual", + "Confirm": "Confirmar", + "ConfirmBtn": "Confirmar", + "Connect": "Conectar", + "CopyLink": "Copiar link e código", + "CopyShareURLSuccess": "Cópia de endereço compartilhado bem sucedida", + "CreateLink": "Criar link para compartilhar", + "CreateSuccess": "Criado com sucesso", + "Custom Setting": "Configurações personalizadas", + "DownArrow": "Seta para baixo", + "Download": "Baixar", + "DownloadSuccess": "Download bem-sucedido", + "EndFileTransfer": "Transferência de arquivo concluída", + "ExceedTransferSize": "Excede o tamanho máximo de transferência", + "Expand": "Expandir", + "ExpiredTime": "Período de validade", + "GetShareUser": "Digite o nome de usuário", + "Hotkeys": "Atalhos", + "InputVerifyCode": "Por favor, insira o código de verificação", + "JoinShare": "Junte-se ao compartilhamento", + "JoinedWithSuccess": "Adicionado com sucesso", + "KubernetesManagement": "Kubernetes 管理", + "LeaveShare": "Sair do compartilhamento", + "LeftArrow": "Seta para trás", + "LinkAddr": "Endereço do link", + "Minute": "Minutos", + "Minutes": "Minutos", + "MustOneFile": "Só pode escolher um arquivo", + "MustSelectOneFile": "É necessário selecionar um arquivo", + "NoLink": "Sem endereço", + "OnlineUsers": "Pessoas online", + "Paste": "Colar", + "PauseSession": "Pausar esta sessão", + "PermissionExpired": "Permissão expirada", + "PermissionValid": "Permissão válida", + "ReadOnly": "Somente leitura", + "Reconnect": "Reconectar", + "Refresh": "Atualizar", + "Remove": "Remover", + "RemoveShareUser": "Você foi removido da sessão compartilhada", + "RemoveShareUserConfirm": "Tem certeza de que deseja remover este usuário?", + "ResumeSession": "Restaurar esta sessão", + "RightArrow": "Seta para frente", + "Search": "Pesquisar", + "SelectAction": "Por favor, selecione", + "SelectTheme": "Por favor, selecione um tema", + "Self": "Eu", + "Settings": "Configurações", + "Share": "Compartilhar", + "ShareUser": "Compartilhar usuário", + "ShareUserHelpText": "Sem usuário selecionado, permitindo que todos se juntem", + "Sync": "Sincronizar", + "SyncUserPreferenceFailed": "Falha na configuração de sincronização", + "SyncUserPreferenceSuccess": "Configurações sincronizadas com sucesso", + "Theme": "Tema", + "ThemeColors": "Cor do tema", + "ThemeConfig": "Tema", + "UpArrow": "Seta para cima", + "Upload": "Upload", + "UploadEnd": "O upload foi concluído, aguarde o processamento subsequente", + "UploadStart": "Início do upload", + "UploadSuccess": "Upload bem sucedido", + "UploadTips": "Arraste o arquivo para cá ou clique para fazer o upload", + "UploadTitle": "Enviar arquivo", + "User": "Usuário", + "VerifyCode": "Código de verificação", + "WaitFileTransfer": "Aguarde o fim da transferência do arquivo", + "WebSocketClosed": "WebSocket foi fechado", + "Writable": "Editável" +} \ No newline at end of file diff --git a/apps/i18n/lina/ja.json b/apps/i18n/lina/ja.json index ba6981851..28a12ee22 100644 --- a/apps/i18n/lina/ja.json +++ b/apps/i18n/lina/ja.json @@ -177,9 +177,8 @@ "AverageTimeCost": "平均所要時間", "AwaitingMyApproval": "私の承認待ち", "Azure": "Azure(中国)", - "Azure_Int": "アジュール(インターナショナル)", "AzureKeyVault": "Azure vault", - "HashicorpVault": "HCP vault", + "Azure_Int": "アジュール(インターナショナル)", "Backup": "バックアップ", "BackupAccountsHelpText": "アカウント情報を外部にバックアップする。外部システムに保存するかメールを送信することもできます、セクション方式をサポートしています", "BadConflictErrorMsg": "更新中です、しばらくお待ちください", @@ -593,6 +592,7 @@ "Hardware": "ハードウェア情報", "HardwareInfo": "ハードウェア情報", "HasImportErrorItemMsg": "インポートに失敗した項目があります、左側の x をクリックして失敗原因を確認し、テーブルを編集した後、失敗した項目を再度インポートできます", + "HashicorpVault": "HCP vault", "Help": "ヘルプ", "HelpDocumentTip": "ウェブサイトのナビゲーションバーのURLを変更できます ヘルプ -> ドキュメント", "HelpSupportTip": "ウェブサイトのナビゲーションバーのURLを変更できます。ヘルプ->サポート", @@ -746,9 +746,11 @@ "LogsAudit": "ログ監査", "Lowercase": "小文字", "LunaSetting": "Luna 設定", + "MFAAllUsers": "グローバル有効化:全ユーザー", "MFAErrorMsg": "MFAエラー、確認してください", "MFAOfUserFirstLoginPersonalInformationImprovementPage": "多要素認証を有効にしてアカウントをより安全にします。
有効化後、次回のログイン時に多要素認証のバインディングプロセスに入るでしょう。また、(個人情報->速やかに変更->多要素設定を変更)で直接バインディングすることもできます!", "MFAOfUserFirstLoginUserGuidePage": "あなたと会社の安全を保つために、アカウント、パスワード、鍵などの重要な機密情報を適切に管理してください。(例:複雑なパスワードの設定、そして多要素認証の有効化)
メール、携帯電話番号、WeChat等の個人情報は、ユーザー認証とプラットフォーム内部でのメッセージ通知にのみ使用されます。", + "MFAOnlyAdminUsers": "グローバル有効化:管理者のみ", "MIN_LENGTH_ERROR": "パスワードの長さは少なくとも {0} 文字でなければなりません", "MailRecipient": "メール受信者", "MailSend": "メール送信", @@ -1461,4 +1463,4 @@ "forceEnableMFAHelpText": "強制的に有効化すると、ユーザーは自分で無効化することができません。", "removeWarningMsg": "削除してもよろしいですか", "setVariable": "パラメータ設定" -} +} \ No newline at end of file diff --git a/apps/i18n/lina/pt_br.json b/apps/i18n/lina/pt_br.json new file mode 100644 index 000000000..92b199115 --- /dev/null +++ b/apps/i18n/lina/pt_br.json @@ -0,0 +1,1427 @@ +{ + "ACLs": "Controle de acesso", + "APIKey": "API Key", + "AWS_China": "AWS (China)", + "AWS_Int": "AWS (Internacional)", + "About": "Sobre", + "Accept": "Concordar", + "AccessIP": "Lista branca de IP", + "AccessKey": "Chave de Acesso", + "Account": "Informações da conta", + "AccountBackup": "Backup de Conta", + "AccountBackupCreate": "Criar backup da conta", + "AccountBackupDetail": "Detalhes do backup da conta", + "AccountBackupList": "Lista de Backup de Contas", + "AccountBackupUpdate": "Atualizar backup da conta", + "AccountChangeSecret": "Alteração de Senha da Conta", + "AccountChangeSecretDetail": "Detalhes da alteração de senha da conta", + "AccountDeleteConfirmMsg": "Excluir conta, continuar?", + "AccountExportTips": " As informações de exportação incluem texto cifrado de conta que contém informações sensíveis, o formato de exportação é um arquivo zip criptografado (se nenhuma senha de criptografia foi definida, vá para as informações pessoais para definir uma senha de criptografia de arquivo). ", + "AccountGatherDetail": "Detalhes de coleta de conta", + "AccountGatherList": "Coleta de conta", + "AccountGatherTaskCreate": "Criar tarefa de coleta de conta", + "AccountGatherTaskList": "Tarefa de coleta de conta", + "AccountGatherTaskUpdate": "Atualizar tarefas de coleta de contas", + "AccountList": "Conta", + "AccountPolicy": "Política de contas", + "AccountPolicyHelpText": "Ao criar uma conta que não atende aos requisitos, como: tipo de chave não conformidade, restrição de chave única, você pode escolher a política acima.", + "AccountPushCreate": "Criar envio de conta", + "AccountPushDetail": " Detalhes do envio da conta", + "AccountPushList": "Notificações da conta", + "AccountPushUpdate": " Atualização de notificação de conta ", + "AccountStorage": "Armazenamento de conta", + "AccountTemplate": " Modelo de conta", + "AccountTemplateList": "Lista de modelos de conta", + "AccountTemplateUpdateSecretHelpText": "Exibição da lista de contas criadas por modelo. Ao atualizar o texto cifrado, o texto cifrado da conta criada pelo modelo será atualizado.", + "Accounts": "Conta", + "Action": " Action", + "ActionCount": "Número de Ações", + "ActionSetting": "Configurações de Action", + "Actions": "Operação", + "ActionsTips": "O protocolo de ação de cada permissão é diferente, clique no ícone atrás da permissão para visualizar", + "Activate": "ativar", + "ActivateSelected": "Ativar selecionados", + "ActivateSuccessMsg": "Ativação bem-sucedida", + "Active": "Ativando", + "ActiveAsset": "Recentemente autenticado", + "ActiveAssetRanking": "Ranking de login de ativos", + "ActiveUser": "Logado Recentemente", + "ActiveUsers": "Usuários ativos", + "Activity": "Atividade", + "Add": "Adicionar", + "AddAccount": "Nova conta", + "AddAccountByTemplate": "Adicionar conta a partir do template", + "AddAccountResult": "Resultado da adição em massa de contas", + "AddAllMembersWarningMsg": "Você tem certeza de que deseja adicionar todos os membros?", + "AddAsset": "Adicionar ativos", + "AddAssetInDomain": "Adicionar ativos no domínio", + "AddAssetToNode": " Adicionar ativo ao nó", + "AddAssetToThisPermission": "Adicionar Ativos", + "AddGatewayInDomain": "Adicionar gateway no domínio", + "AddInDetailText": "Adicione detalhes após a criação ou atualização bem-sucedida", + "AddNode": "Adicionar nó", + "AddNodeToThisPermission": "Adicionar nó", + "AddPassKey": "Adicionar Passkey (Chave de Acesso)", + "AddRolePermissions": "Depois de criar/atualizar com sucesso, adicione permissões nos detalhes", + "AddSuccessMsg": "Adicionado com sucesso", + "AddUserGroupToThisPermission": "Adicionar Grupo de Usuários", + "AddUserToThisPermission": "Adicionar usuário", + "AddVariable": "Adicionar Parâmetro", + "Address": "Endereço", + "AdhocCreate": "Criar Comando", + "AdhocDetail": "Detalhes do comando", + "AdhocManage": "脚本管理", + "AdhocUpdate": "Atualizar script", + "Advanced": "Configurações avançadas", + "AfterChange": "Após a alteração", + "AjaxError404": "Erro de solicitação 404", + "AlibabaCloud": "Alibaba Cloud", + "Aliyun": "Alibaba Cloud", + "All": " Todos ", + "AllAccountTip": "Todas as contas adicionadas no ativo", + "AllAccounts": "Todas as contas", + "AllClickRead": "Tudo já lido", + "AllMembers": "Todos os membros", + "AllowInvalidCert": "Ignorar verificação de certificado", + "Announcement": "Anúncio", + "AnonymousAccount": "Conta anônima", + "AnonymousAccountTip": "Conectar-se a ativos sem usar nome de usuário e senha, apenas são suportados ativos de tipo web e de tipo personalizado", + "ApiKey": "API Key", + "ApiKeyList": "Faça autenticação usando o cabeçalho de solicitação assinado com a Api key, o cabeçalho de cada solicitação é diferente, o que é mais seguro do que a maneira de token, consulte o documento para uso;
Para minimizar o risco de vazamento, o Secret só pode ser visto quando gerado, cada usuário pode criar no máximo 10", + "ApiKeyWarning": "Para reduzir o risco de vazamento do AccessKey, apenas ofereça o Secret na criação, não pode ser consultado posteriormente, por favor, guarde-o com segurança.", + "AppEndpoint": "Endereço de acesso ao aplicativo", + "AppOps": "Central de tarefas", + "AppProvider": "Fornecedor de aplicativos", + "AppProviderDetail": "Detalhes do provedor do aplicativo", + "AppletDetail": "Aplicações Remotas", + "AppletHelpText": "Durante o processo de upload, se o aplicativo não existir, crie-o; se já existir, atualize o aplicativo.", + "AppletHostCreate": "Adicionar uma máquina de publicação de aplicativos remotos", + "AppletHostDetail": "Detalhes do aplicativo de publicação remota", + "AppletHostSelectHelpMessage": "Quando se conecta ao ativo, a escolha do servidor de publicação da aplicação é aleatória (mas prioriza o último usado), se você quiser fixar um servidor de publicação para um ativo, você pode especificar a tag ou ; Ao selecionar a conta para se conectar a este servidor de publicação, nas seguintes situações, a conta do usuário será escolhida Conta do mesmo nome ou conta proprietária (começa com js), caso contrário, a conta pública (começa com jms) será usada:
  1. Tanto o servidor de publicação quanto a aplicação suportam concorrência;
  2. O servidor de publicação suporta concorrência, a aplicação não, e a aplicação atual não usa uma conta exclusiva;
  3. O servidor de publicação não suporta concorrência, mas a aplicação suporta ou não, nenhuma aplicação usa uma conta exclusiva;
Nota: Se a aplicação suporta concorrência ou não é decidido pelo desenvolvedor, se o host suporta ou não é determinado pela configuração do servidor de publicação no Single User Single Session", + "AppletHostUpdate": "Atualizar máquina de publicação de aplicativos remotos", + "AppletHostZoneHelpText": "O domínio aqui pertence à organização System", + "AppletHosts": "Máquina de publicação de aplicativos", + "Applets": "Aplicativo Remoto", + "Applicant": "Requerente", + "Applications": "Aplicativo 管理", + "ApplyAsset": "Solicitar Ativos", + "ApplyFromCMDFilterRule": "Regras de filtragem de comandos", + "ApplyFromSession": "Sessão", + "ApplyInfo": "Informações de aplicação", + "ApplyLoginAccount": "Conta de login", + "ApplyLoginAsset": "Login de Ativos", + "ApplyLoginUser": "Usuário logado", + "ApplyRunAsset": "Ativos solicitados para execução", + "ApplyRunCommand": "Comando para execução solicitada", + "ApplyRunUser": "Usuário que solicita execução", + "Appoint": "Especificado", + "ApprovaLevel": " Informações de aprovação", + "ApprovalLevel": "Nível de Aprovação", + "ApprovalProcess": "Processo de aprovação", + "ApprovalSelected": "Aprovação em Massa", + "Approved": "Concordou", + "ApproverNumbers": "Número de aprovadores", + "ApsaraStack": "Alibaba Cloud private cloud", + "Asset": " Ativos", + "AssetAccount": "Lista de contas", + "AssetAccountDetail": "Detalhes da conta", + "AssetAclCreate": "Criar regras de login de ativo", + "AssetAclDetail": "Detalhes da regra de login de ativos", + "AssetAclList": "Login de ativos", + "AssetAclUpdate": "Atualize as regras de login de ativos", + "AssetAddress": "Ativos (IP/Nome do host)", + "AssetAmount": "Quantidade de ativos", + "AssetAndNode": "Ativo/Nó", + "AssetBulkUpdateTips": "Dispositivos de Rede, Serviços de Nuvem, web, Atualização em Massa do Domínio da Web não Suportada", + "AssetChangeSecretCreate": "Criar Ação de Alteração de Conta", + "AssetChangeSecretUpdate": "Atualizar conta altera senha", + "AssetData": "Dados dos ativos", + "AssetDetail": "Detalhes do ativo", + "AssetList": "Lista de ativos", + "AssetListHelpMessage": "No lado esquerdo está a árvore de ativos. Clicando com o botão direito, você pode criar, deletar e alterar nós da árvore. A autorização do ativo também é organizada em termos de nós, à direita estão os ativos pertencentes ao nó.\n", + "AssetLoginACLHelpMsg": "Ao fazer o login no ativo, você pode auditar de acordo com o IP de login do usuário e o período de tempo, determinando se você pode fazer o login no ativo", + "AssetLoginACLHelpText": "Ao fazer login no ativo, você pode revisar de acordo com o IP de login do usuário e o intervalo de tempo para determinar se pode fazer login no ativo.", + "AssetName": "Nome do ativo", + "AssetPermission": "Ativos de autorização", + "AssetPermissionCreate": "Criar regra de autorização de ativos", + "AssetPermissionDetail": " Detalhes da autorização de ativos", + "AssetPermissionHelpMsg": "A autorização de ativos permite que você escolha usuários e ativos, autorizando ativos aos usuários para acesso. Uma vez feita a autorização, os usuários podem navegar facilmente por esses ativos. Além disso, você pode definir bits de permissão específicos para definir ainda mais o escopo de permissões do usuário para os ativos.", + "AssetPermissionRules": "Regras de Autorização de Ativos", + "AssetPermissionUpdate": "Atualizar regras de autorização de ativos", + "AssetPermsAmount": "Quantidade de ativos autorizados", + "AssetProtocolHelpText": "As restrições de protocolo suportadas pelos recursos são limitadas pela plataforma, clicar no botão de configurações permite visualizar as configurações do protocolo. Se necessário, atualize a plataforma", + "AssetTree": "Árvore de ativos", + "Assets": "管理", + "AssetsAmount": "Número de ativos", + "AssetsOfNumber": "Número de ativos", + "AssetsTotal": "Total de ativos", + "AssignedInfo": "Informações de Aprovação", + "Assignee": "Handler", + "Assignees": "Pessoa Pendente", + "AttrName": "Nome do atributo", + "AttrValue": "Valor de Propriedade", + "Audits": "Auditório", + "Auth": "Configurações de autenticação", + "AuthConfig": "Configurar Autenticação", + "AuthLimit": "Restrições de login", + "AuthSAMLCertHelpText": "Salvar após carregar a chave do certificado, então ver SP Metadata", + "AuthSAMLKeyHelpText": "O certificado SP e a chave são usados para comunicação criptografada com o IDP", + "AuthSaml2UserAttrMapHelpText": "A chave à esquerda é o atributo do usuário SAML2, o valor à direita é o atributo do usuário da plataforma de autenticação", + "AuthSecurity": "Segurança de autenticação", + "AuthSettings": "Configuração de autenticação", + "AuthUserAttrMapHelpText": "O botão à esquerda representa as propriedades do usuário do JumpServer, enquanto o valor à direita representa as propriedades do usuário da plataforma de autenticação", + "Authentication": "Autenticação", + "AutoPush": "Push automático", + "Automations": "Automação", + "AverageTimeCost": "Tempo médio gasto", + "AwaitingMyApproval": "Aguardando minha aprovação", + "Azure": " Azure (China) ", + "AzureKeyVault": " Azure vault ", + "Azure_Int": "Azure (Internacional)", + "Backup": "Backup", + "BackupAccountsHelpText": "Backup das informações da conta para o exterior. Pode ser armazenado em sistemas externos ou enviado por e-mail, suporta método segmentado", + "BadConflictErrorMsg": "Atualizando, por favor tente novamente mais tarde", + "BadRequestErrorMsg": "Erro no pedido, por favor, verifique o conteúdo preenchido", + "BadRoleErrorMsg": "Erro na solicitação, sem permissão para essa operação", + "BaiduCloud": "Baidu Cloud", + "BaseAccount": "Conta", + "BaseAccountBackup": "Backup de Conta", + "BaseAccountChangeSecret": "Alteração de Senha da Conta", + "BaseAccountGather": "Coleta de Contas", + "BaseAccountPush": "Impulsionar conta", + "BaseAccountTemplate": "Modelo de conta", + "BaseApplets": "Aplicação", + "BaseAssetAclList": "Autorização de login", + "BaseAssetList": " Lista de ativos ", + "BaseAssetPermission": "Autorização de ativos", + "BaseCloudAccountList": " Lista de contas em nuvem ", + "BaseCloudSync": "Sincronização em nuvem", + "BaseCmdACL": "Comando de autorização", + "BaseCmdGroups": "Grupo de Comandos", + "BaseCommandFilterAclList": "Filtrar Comando", + "BaseConnectMethodACL": "Autorização de modo de conexão", + "BaseFlowSetUp": "Configurações de processo", + "BaseJobManagement": "Lista de Tarefas", + "BaseLoginLog": "Registro de Acesso", + "BaseMyAssets": "Meus ativos", + "BaseOperateLog": "Log de Action", + "BasePort": "Porta de monitoramento", + "BaseSessions": "Sessão", + "BaseStorage": "Armazenamento", + "BaseStrategy": "Estratégia", + "BaseSystemTasks": "Tarefas", + "BaseTags": "Tag", + "BaseTerminal": "Terminal", + "BaseTickets": "Lista de Pedidos de Serviço", + "BaseUserLoginAclList": "Login do usuário", + "Basic": "Configurações Básicas", + "BasicInfo": "Informações Básicas", + "BasicSettings": "Configurações básicas", + "BatchConsent": "Aprovação em massa", + "BatchDeployment": "Implantação em massa", + "BatchProcessing": "processamento em lote (selecionado {number} itens)", + "BatchReject": "Rejeitar em massa", + "BatchTest": "Teste em massa", + "BeforeChange": "Antes da mudança", + "Beian": "Registro", + "BelongAll": "Incluir Simultaneamente", + "BelongTo": "Incluir arbitrariamente", + "Bind": "Vincular", + "BindLabel": "Etiqueta vinculada", + "BindResource": "Recursos Associados", + "BindSuccess": " Vinculação bem-sucedida ", + "BlockedIPS": "IP Bloqueado", + "BuiltinVariable": "Variável interna", + "BulkClearErrorMsg": "Falha na limpeza em massa:", + "BulkDeleteErrorMsg": "Falha na exclusão em massa:", + "BulkDeleteSuccessMsg": "Exclusão em massa bem-sucedida", + "BulkDeploy": "Implantação em massa", + "BulkRemoveErrorMsg": "Remoção em massa falhou:", + "BulkRemoveSuccessMsg": "Remoção em lote bem-sucedida", + "BulkSyncErrorMsg": "Falha na sincronização em massa:", + "CACertificate": " Certificado CA", + "CAS": "CAS", + "CMPP2": "CMPP v2.0", + "CalculationResults": "Erro de expressão cron", + "CanDragSelect": "Você pode selecionar o intervalo de tempo arrastando o mouse; não selecionar é equivalente a selecionar tudo", + "Cancel": "Cancelar", + "CancelCollection": "Cancelar favorito", + "CancelTicket": "Cancelar Ordem de Serviço", + "CannotAccess": "Não é possível acessar a página atual", + "Category": "Categoria", + "CeleryTaskLog": " Logs de tarefas do Celery ", + "Certificate": "Certificado", + "CertificateKey": "Chave do cliente", + "ChangeCredentials": "Mudança de Senha da Conta", + "ChangeCredentialsHelpText": "Alterar senha da chave da conta por temporizador. Geração aleatória de senhas de contas e sincronização com ativos alvo, se a sincronização for bem-sucedida, atualize a senha da conta", + "ChangeField": "Alterar campo", + "ChangeOrganization": "Alterar Organização", + "ChangePassword": "Atualizar senha", + "ChangeSecretAccountHelpText": "Para as contas no mesmo ativo, se houver uma relação de troca automática, não devem ser realizadas alterações de senha na mesma tarefa. Elas devem ser divididas em duas tarefas.", + "ChangeSecretParams": "Parâmetros de mudança de senha", + "ChangeViewHelpText": "Clique para alternar diferentes pontos de vista", + "Chat": "Chat", + "ChatAI": "Resposta inteligente", + "ChatHello": "Olá! Como posso ajudá-lo? ", + "ChdirHelpText": "O diretório de execução padrão é o diretório home do usuário de execução", + "CheckAssetsAmount": "Verificar Quantidade de Ativos", + "CheckViewAcceptor": " Clique para ver o receptor do pedido ", + "CleanHelpText": "Tarefas de limpeza regulares serão executadas às 2 da manhã todos os dias, os dados após a limpeza não poderão ser restaurados", + "Cleaning": "Limpeza regular", + "Clear": " Apagar ", + "ClearErrorMsg": " Falha na limpeza: ", + "ClearScreen": "Limpar tela", + "ClearSecret": "Limpar texto cifrado", + "ClearSelection": "Limpar seleção", + "ClearSuccessMsg": "Limpeza bem-sucedida", + "ClickCopy": "Clicar para copiar", + "ClientCertificate": "Certificado do cliente", + "Clipboard": "Prancheta", + "ClipboardCopyPaste": "Copiar e colar da área de transferência", + "Clone": "Clonar", + "Close": "Desativar", + "CloseConfirm": "Confirme o fechamento", + "CloseConfirmMessage": "O arquivo mudou, deseja salvar?", + "CloseStatus": "Concluído", + "Closed": "Concluído", + "CloudAccountCreate": "Criar conta na nuvem", + "CloudAccountDetail": " Detalhes da conta da plataforma em nuvem ", + "CloudAccountList": "Conta da plataforma em nuvem", + "CloudAccountUpdate": "Atualizar conta na plataforma em nuvem", + "CloudCreate": "Criar ativo - Plataforma em nuvem", + "CloudRegionTip": "Não foi possível obter a região, por favor verifique a conta", + "CloudSource": "Origem de sincronização", + "CloudSync": "Sincronização em Nuvem", + "CloudSyncConfig": "Configuração de sincronização em nuvem", + "CloudUpdate": "Atualizar Ativo - Plataforma na Nuvem", + "Cluster": "Cluster", + "CollectionSucceed": "Favorito com sucesso", + "Command": "Comando", + "CommandConfirm": "Revisão de comandos", + "CommandFilterACL": "Filtragem de comandos", + "CommandFilterACLHelpMsg": "Através do filtro de comandos, você pode controlar se os comandos serão enviados para o ativo. Dependendo das regras que você definiu, alguns comandos podem ser liberados, enquanto outros são bloqueados.", + "CommandFilterACLHelpText": "Através do filtro de comandos, você pode controlar se os comandos podem ser enviados para o asset. De acordo com as regras que você estabeleceu, alguns comandos podem ser liberados, enquanto outros podem ser proibidos", + "CommandFilterAclCreate": "Criar regra de filtragem de comandos", + "CommandFilterAclDetail": "Detalhes da Regra de Filtragem de Action", + "CommandFilterAclUpdate": "Atualizar regras de filtragem de comando", + "CommandFilterRuleContentHelpText": "Um comando por linha", + "CommandFilterRules": "Filtro de regras de comando", + "CommandGroup": "Grupo de comandos", + "CommandGroupCreate": "Criar grupo de comandos", + "CommandGroupDetail": " Detalhes do grupo de comandos", + "CommandGroupList": "Grupo de comandos", + "CommandGroupUpdate": "Atualizar grupo de comandos", + "CommandStorage": "Armazenamento de comandos", + "CommandStorageUpdate": "Atualizar armazenamento de comandos", + "Commands": "Registro de comandos", + "CommandsTotal": "Total de Registros de Comandos", + "Comment": "Observações", + "CommentHelpText": "Nota: As informações adicionais serão exibidas quando o mouse passar sobre a árvore de ativos autorizados na página Luna. Os usuários comuns podem visualizar, então, por favor, não insira informações sensíveis.", + "CommunityEdition": "Versão da Comunidade", + "Component": "Componentes", + "ComponentMonitor": "Monitoramento de componentes", + "Components": "Lista de componentes", + "ConceptContent": "Quero que aja como um interpretador Python. Eu vou te dar o código Python e você vai executá-lo. Não forneça nenhuma explicação. Não responda com nada além da saída do código.", + "ConceptTitle": "🤔 Interpretador Python", + "Config": "Configuração", + "Configured": "Configurado", + "Confirm": "Confirmar", + "ConfirmPassword": "Confirmar senha", + "Connect": "Conectar", + "ConnectAssets": "Conectar ativos", + "ConnectMethod": "Método de Conexão", + "ConnectMethodACLHelpMsg": "Através do filtro de modo de conexão, você pode controlar se o usuário pode usar um determinado método de conexão para acessar os ativos. Algumas formas de conexão podem ser permitidas de acordo com as regras que você definiu, enquanto outras podem ser proibidas (efetivo em todo o mundo).", + "ConnectMethodACLHelpText": "Através do filtro por método de conexão, você pode controlar se os usuários podem usar um determinado método para acessar os recursos. De acordo com as regras que você configura, alguns métodos de conexão podem ser permitidos, enquanto outros podem ser proibidos.", + "ConnectMethodAclCreate": "Criar controle do método de conexão", + "ConnectMethodAclDetail": "Detalhes do controle de método de conexão", + "ConnectMethodAclList": "Método de conexão", + "ConnectMethodAclUpdate": "Atualizar controle de método de conexão", + "ConnectWebSocketError": "Falha ao conectar WebSocket", + "ConnectionDropped": "Conexão interrompida", + "ConnectionToken": "Token de conexão", + "ConnectionTokenList": "O token de conexão é uma informação de autenticação usada para combinar a autenticação com os ativos da conexão, permitindo o login com um único clique nos ativos. Atualmente, suporta componentes como: KoKo, Lion, Magnus, Razor, etc.", + "Console": " Console", + "Consult": "Consulta", + "ContainAttachment": "Anexo", + "Containers": "Contentor", + "Contains": "Inclui", + "Continue": "Continuar", + "ConvenientOperate": "Operação conveniente", + "Copy": "Copiar", + "CopySuccess": "Cópia bem sucedida", + "Corporation": "empresa", + "Create": "Criar", + "CreateAccessKey": "Criar chave de acesso", + "CreateAccountTemplate": "Criar modelo de conta", + "CreateCommandStorage": "Criar armazenamento de comandos", + "CreateEndpoint": "Criar ponto final", + "CreateEndpointRule": "Criar Regra de Endpoint", + "CreateErrorMsg": "Criação falhou", + "CreateNode": "Criar nó", + "CreatePlaybook": "Criar Playbook", + "CreateReplayStorage": "Criar armazenamento de objetos", + "CreateSuccessMsg": "Criação bem-sucedida", + "CreateUserContent": "Criar conteúdo do usuário", + "CreateUserSetting": "Criar conteúdo do usuário", + "Created": "Criado", + "CreatedBy": "Criador", + "CriticalLoad": "Grave", + "CronExpression": "Expressão Completa do Crontab", + "Crontab": "Tarefas programadas", + "CrontabDiffError": "Por favor, certifique-se de que o intervalo de tempo para execução regular não seja menor que dez minutos!", + "CrontabHelpText": "Se interval e crontab estiverem configurados ao mesmo tempo, crontab terá prioridade", + "CrontabHelpTip": "Por exemplo: execute todos os domingos às 03:05 <5 3 * * 0>
Use a expressão linux crontab de 5 posições (Ferramenta online)
", + "CrontabOfCreateUpdatePage": "Por exemplo: Execute todos os domingos às 03:05 <5 3 * * 0>
Use a expressão crontab Linux de 5 dígitos (Ferramenta online)
Se a execução periódica e a execução regular forem definidas ao mesmo tempo, a execução regular terá prioridade", + "CurrentConnectionUsers": "Número atual de usuários na sessão", + "CurrentConnections": "Número atual de conexões", + "CurrentUserVerify": "Verificar usuário atual", + "Custom": "Personalizar", + "CustomCol": "Campos de lista personalizados", + "CustomCreate": "Criar ativo - personalizado", + "CustomFields": "Atributos Personalizados", + "CustomFile": "Por favor, coloque os arquivos personalizados no diretório especificado (data/sms/main.py) e habilite o item de configuração SMS_CUSTOM_FILE_MD5= no config.txt.", + "CustomHelpMessage": "Tipo de ativo personalizado, depende do aplicativo remoto, por favor vá para as configurações do sistema e configure no aplicativo remoto", + "CustomParams": "O lado esquerdo é o parâmetro recebido pela platforma de mensagens, o lado direito é um parâmetro a ser formatado pela JumpServer, finalmente como segue:
{\"phone_numbers\": \"123,134\", \"content\": \"O código de verificação é: 666666\"}", + "CustomUpdate": "Atualizar ativos - Personalizado", + "CustomUser": "Usuário personalizado", + "CycleFromWeek": " Ciclo a partir da semana", + "CyclePerform": "Execução periódica", + "Danger": "Perigoso", + "DangerCommand": "Comando perigoso", + "DangerousCommandNum": "Número de Comandos Perigosos", + "Dashboard": "Painel ", + "Database": "Banco de dados", + "DatabaseCreate": "Criar ativo - Banco de dados", + "DatabasePort": "Porta do protocolo do banco de dados", + "DatabaseUpdate": "Atualizar Assets-Database", + "Date": " Data", + "DateCreated": "Criação de tempo", + "DateEnd": "Data de término", + "DateExpired": "Data de expiração", + "DateFinished": "Data de Conclusão", + "DateJoined": "Data de criação", + "DateLast24Hours": "Último dia", + "DateLast3Months": "Últimos três meses", + "DateLastHarfYear": "Últimos seis meses", + "DateLastLogin": "Data do Último Login", + "DateLastMonth": "Último mês", + "DateLastSync": "Data da última sincronização", + "DateLastWeek": "Última semana", + "DateLastYear": " O último ano ", + "DatePasswordLastUpdated": "Data da última atualização da senha", + "DateStart": "Data de início", + "DateSync": "Data de sincronização", + "DateUpdated": "Data de atualização", + "Datetime": "Data e Hora", + "Day": "Dia", + "DeclassificationLogNum": "Quantidade de logs de modificação de senha", + "DefaultDatabase": "Banco de Dados Padrão", + "DefaultPort": "Porta padrão", + "DefaultValue": " Valor padrão", + "Delete": "Excluir", + "DeleteConfirmMessage": "A exclusão não pode ser revertida, você quer continuar?", + "DeleteErrorMsg": " Falha na exclusão ", + "DeleteNode": "Excluir nó", + "DeleteOrgMsg": "Usuários, grupos de usuários, ativos, nós, tags, domínios, autorizações de ativos", + "DeleteOrgTitle": "Certifique-se de que os seguintes recursos dentro da organização foram excluídos", + "DeleteReleasedAssets": " Excluir ativos liberados ", + "DeleteSelected": "Excluir selecionado", + "DeleteSuccess": "Exclusão bem-sucedida", + "DeleteSuccessMsg": "Excluído com sucesso", + "DeleteWarningMsg": "você tem certeza de que quer deletar", + "Deploy": "Implantar", + "Description": "Descrição", + "DestinationIP": "Endereço de destino", + "DestinationPort": "Porta de destino", + "Detail": "Detalhes", + "DeviceCreate": "Criar ativo - Equipamento de rede", + "DeviceUpdate": "Atualizar Ativos - Equipamento de Rede", + "Digit": "Números", + "DingTalk": "DingTalk", + "DingTalkOAuth": "Autenticação DingDing", + "DingTalkTest": "Teste", + "Disable": "Desativado", + "DisableSelected": "Desativar selecionado", + "DisableSuccessMsg": "Desativado com sucesso", + "DisplayName": "Nome", + "Docs": "Documento", + "Download": "Baixar", + "DownloadCenter": "Centro de Download", + "DownloadFTPFileTip": "A Atual Action não registra arquivos, ou se o tamanho do arquivo excede o limite (padrão 100M), ou ainda não foi salvo no armazenamento correspondente", + "DownloadImportTemplateMsg": "Baixar Modelo Criado", + "DownloadReplay": " Baixar vídeo", + "DownloadUpdateTemplateMsg": "Baixar modelo atualizado", + "DragUploadFileInfo": " Arraste arquivos aqui, ou clique aqui para carregar ", + "DropConfirmMsg": "Você deseja mover o nó: {src} para {dst}?", + "Duplicate": "Cópia", + "DuplicateFileExists": "Não é permitido fazer upload de arquivos com o mesmo nome, por favor exclua o arquivo de mesmo nome", + "Duration": "Duração", + "DynamicUsername": "Nome de usuário dinâmico", + "Edit": "Editar", + "EditRecipient": "Editar receptor", + "Edition": "Versão", + "Email": "Email", + "EmailContent": "Personalização de conteúdo de e-mail", + "EmailTemplate": " Modelo de e-mail", + "EmailTemplateHelpTip": "O modelo de e-mail é usado para enviar e-mails, incluindo o prefixo do título do e-mail e o conteúdo do e-mail", + "EmailTest": "Testar Conexão", + "Empty": "Vazio", + "Enable": "Ativar", + "EnableDomain": "Ativar domínio", + "EnableKoKoSSHHelpText": "Ao iniciar, conectar ao ativo mostrará o método de lançamento do SSH Client", + "Endpoint": "Ponto de serviço", + "EndpointListHelpMessage": "O ponto de serviço é o endereço (porta) onde o usuário acessa o serviço. Quando o usuário se conecta ao recurso, ele escolhe o ponto de serviço de acordo com as regras do ponto final e etiquetas de recurso, estabelecendo a conexão como entrada de acesso, realizando a conexão distribuída ao recurso", + "EndpointRuleListHelpMessage": "Para a estratégia de seleção do ponto final do servidor, duas são suportadas atualmente:
1, Indique o ponto final de acordo com a regra do ponto final (página atual);
2, Selecione o ponto final através da tag do patrimônio, onde o nome da tag é fixo é endpoint, e o valor é o nome do ponto final.
O método da etiqueta tem prioridade sobre os dois métodos, porque o segmento de IP pode causar conflito, e o método da etiqueta existe como um complemento à regra.", + "EndpointRules": "Regras de Endpoint", + "Endpoints": "Pontos Finais do Serviço", + "Endswith": "Termina com...", + "EnsureThisValueIsGreaterThanOrEqualTo1": "Por favor, certifique-se de que este valor é maior ou igual a 1", + "EnterForSearch": "Pressione Enter para pesquisar", + "EnterRunUser": "Inserir usuário em execução", + "EnterRunningPath": "Inserir caminho de execução", + "EnterToContinue": "Pressione Enter para continuar digitando", + "EnterUploadPath": "Insira o caminho de envio", + "Enterprise": "Versão corporativa", + "EnterpriseEdition": "Edição empresarial.", + "Equal": "Igual", + "Error": "Erro", + "ErrorMsg": "Erro", + "EsDisabled": "O nó não está disponível, por favor contate o administrador", + "EsIndex": "'es' fornece o índice padrão: 'jumpserver'. Se você ativar a criação de índices por data, o valor inserido será usado como prefixo do índice.", + "EsUrl": "Não pode conter o caractere especial `#`; ex: http://es_user:es_password@es_host:es_port", + "Every": "Cada", + "Exclude": "Não inclui", + "ExcludeAsset": "Ativos ignorados", + "ExcludeSymbol": " Excluir caracteres", + "ExecCloudSyncErrorMsg": "A configuração da conta em nuvem não está completa, atualize e tente novamente", + "Execute": "Action", + "ExecuteAfterSaving": "Executar após salvar", + "ExecuteOnce": "Executar uma vez", + "ExecutionDetail": "Detalhes da Execução", + "ExecutionList": "Registro de Ação", + "ExistError": "Este elemento já existe", + "Existing": "Já existe.", + "ExpirationTimeout": "Tempo de Expiração (segundos)", + "Expire": "Vencido", + "Expired": "Data de validade", + "Export": " Exportar ", + "ExportAll": "Exportar tudo", + "ExportOnlyFiltered": "Apenas exportar resultados da pesquisa", + "ExportOnlySelectedItems": "Exportar apenas itens selecionados", + "ExportRange": "Exportar Alcance", + "ExtraArgsFormatError": "Erro de formato, por favor, insira como solicitado", + "ExtraArgsPlaceholder": "Uma opção por linha, por exemplo:\nOpção1: Valor1\nOpção2: Valor2\n", + "FC": "Fusion Compute", + "FTPFileNotStored": "O arquivo ainda não foi salvo no armazenamento, por favor verifique mais tarde.", + "FTPStorageNotEnabled": "A função de armazenamento de arquivos não está ativada, por favor, modifique o arquivo de configuração e adicione a configuração: FTP_FILE_MAX_STORE=100 (suporta salvar arquivos de até 100M)", + "FTPUnknownStorageState": "Status de armazenamento de arquivo desconhecido, por favor contate o administrador.", + "Failed": "Falha", + "FailedAsset": "Ativos falhos", + "FaviconTip": "Dica: Ícone do site (tamanho da imagem recomendado: 16px*16px)", + "Features": "Configurações de Funcionalidade", + "FeiShu": "Fei Shu", + "FeiShuOAuth": "Certificação do Feishu ", + "FeiShuTest": "Teste", + "FieldRequiredError": "Este campo é obrigatório", + "FileExplorer": "Arquivos", + "FileManagement": "Gerenciamento de arquivos", + "FileNameTooLong": " O nome do arquivo é muito longo ", + "FileSizeExceedsLimit": "O tamanho do arquivo excede o limite", + "FileTransfer": "Transferência de arquivos", + "FileTransferBootStepHelpTips1": "Escolha um ativo ou nó.", + "FileTransferBootStepHelpTips2": "Escolher conta de execução e inserir comando", + "FileTransferBootStepHelpTips3": "Transferir, exibir resultados de saída", + "FileTransferNum": "Número de transferências de arquivos", + "FileType": "Tipo de arquivo", + "Filename": "Nome do arquivo", + "FingerPrint": " Impressão digital ", + "Finished": "Concluído", + "FinishedTicket": "Concluir ordem de serviço", + "FirstLogin": "Primeiro login", + "FlowSetUp": "Configurações de Processo", + "Footer": "Rodapé", + "ForgotPasswordURL": "Link de esqueci a senha", + "FormatError": "Erro de formato", + "Friday": "Sexta-feira", + "From": "De", + "FromTicket": "Originado do ticket de suporte", + "FullName": "Nome completo", + "FullySynchronous": "Sincronização total de ativos", + "FullySynchronousHelpTip": " Continuar a sincronizar o ativo quando a condição do ativo não atende à regra da política de correspondência? ", + "GCP": "Google Cloud", + "GPTCreate": "Criar ativo-GPT", + "GPTUpdate": "Atualizar Ativo - GPT", + "Gateway": "Gateway", + "GatewayCreate": "Criar gateway", + "GatewayList": "Lista de Gateways", + "GatewayPlatformHelpText": "Somente uma plataforma que começa com Gateway pode ser selecionada para a plataforma de Gateway", + "GatewayUpdate": "Atualizar Gateway", + "GatherAccounts": "Coleta de contas", + "GatherAccountsHelpText": "Coletar informações da conta no ativo. As informações da conta coletada podem ser importadas para o sistema para facilitar a gestão unificada", + "GatheredAccountList": "Contas coletadas", + "General": "Básico", + "GeneralAccounts": "Conta comum", + "GeneralSetting": "Configuração geral", + "Generate": "Gerar", + "GenerateAccounts": "Gerar conta novamente", + "GenerateSuccessMsg": "conta criada com sucesso", + "GoHomePage": "Ir para a página inicial", + "Goto": "Ir para", + "GrantedAssets": "Ativos autorizados", + "GreatEqualThan": "Maior ou igual a", + "GroupsAmount": "Grupo de Usuários", + "HTTPSRequiredForSupport": "É necessário suporte HTTPS para ativar", + "HandleTicket": "Tratar pedido", + "Hardware": "Informações de hardware", + "HardwareInfo": "Informações do hardware", + "HasImportErrorItemMsg": "Existem itens que falharam na importação, clique no 'x' à esquerda para ver o motivo da falha, depois de editar a tabela, você pode continuar a importar os itens que falharam", + "HashicorpVault": "HCP vault", + "Help": "Ajuda", + "HighLoad": " Superior ", + "HistoricalSessionNum": "Número de sessões históricas", + "History": "histórico", + "HistoryDate": " Data", + "HistoryPassword": "Senhas anteriores", + "HistoryRecord": "Histórico", + "Host": "Ativos", + "HostCreate": "Criar Ativo - Host", + "HostDeployment": "Deploy da máquina de produção", + "HostList": "Lista de hosts", + "HostUpdate": "Atualização de ativos - host", + "HostnameStrategy": "Usado para gerar nomes de host de ativos. Por exemplo: 1. Nome da instância (instanceDemo);2. Nome da instância e parte do IP (últimos dois dígitos) (instanceDemo-250.1)", + "Hour": "Horas", + "HuaweiCloud": "Huawei Cloud", + "HuaweiPrivateCloud": "Huawei Cloud Privada", + "IAgree": "Eu concordo", + "ID": "ID", + "IP": "IP", + "IPLoginLimit": "Restrição de login IP", + "IPMatch": "Correspondência IP", + "IPNetworkSegment": "Segmento de IP", + "IPType": "Tipo de IP", + "Id": "ID", + "IdeaContent": "Quero que você atue como um terminal Linux. Vou digitar comandos, e você responderá o que o terminal deveria mostrar. Quero que você responda a saída do terminal apenas em um bloco de código único, e não em outro. Não faça interpretações. Quando eu precisar te contar algo, eu colocarei o texto entre chaves {Texto de observação}.", + "IdeaTitle": "🌱 Linux terminal", + "IdpMetadataHelpText": "URL de Metadados IDP e Parâmetro MetadataXML IDP, escolha um dos dois, a URL do Metadados IDP tem prioridade", + "IdpMetadataUrlHelpText": "Carregar IDP Metadata a partir do endereço remoto", + "ImageName": "Nome da imagem", + "Images": " Imagem", + "Import": "Importação", + "ImportAll": "Importar tudo", + "ImportFail": "Falha na importação", + "ImportLdapUserTip": "Favor, primeiramente apresente a configuração do LDAP antes da importação", + "ImportLdapUserTitle": "Lista de usuários LDAP", + "ImportLicense": "Importar licença", + "ImportLicenseTip": "Por favor, importe a licença", + "ImportMessage": "Por favor, vá para a página do tipo correspondente para importar dados", + "ImportOrg": "Importar organização", + "InActiveAsset": "Recentemente não efetuou login", + "InActiveUser": "não logado recentemente", + "InAssetDetail": "Atualizar informações de conta em detalhes de ativos", + "Inactive": "Desativado", + "Index": "Índice", + "Info": "Informações", + "InformationModification": "Mudança de informação", + "InheritPlatformConfig": "Herdado da configuração da plataforma, se necessário, modifique a configuração na plataforma.", + "InitialDeploy": "Inicialização da implantação", + "Input": "Entrada", + "InputEmailAddress": "Por favor, insira um endereço de e-mail correto", + "InputMessage": "Digite uma mensagem...", + "InputPhone": " Por favor, insira o número do celular ", + "InstanceAddress": "Endereço da instância", + "InstanceName": "Nome da instância", + "InstanceNamePartIp": "Nome da instância e parte do IP", + "InstancePlatformName": "Nome da plataforma de instância", + "Interface": "Interface de rede", + "InterfaceSettings": "Configurações de interface", + "Interval": "Intervalo", + "IntervalOfCreateUpdatePage": "Unidade: hora", + "InvalidJson": "Não é um JSON válido", + "InviteSuccess": "Convite bem-sucedido", + "InviteUser": "Convidar usuário", + "InviteUserInOrg": "Convide usuários para ingressar nessa organização", + "Ip": "IP", + "IpDomain": "IP Domínio", + "IpGroup": "Grupo IP", + "IpGroupHelpText": "* indica correspondência com todos. Por exemplo: 192.168.10.1, 192.168.1.0/24, 10.1.1.1-10.1.1.20, 2001:db8:2de::e13, 2001:db8:1a:1110::/64", + "IpType": "Tipo de IP", + "IsActive": " Ativar ", + "IsAlwaysUpdate": "Manter ativos atualizados", + "IsAlwaysUpdateHelpTip": "Se atualiza informações do ativo sincronizado cada vez que uma tarefa de sincronização é executada, incluindo hostname, IP, plataforma, domínio, nós etc.", + "IsFinished": "Finalizado", + "IsLocked": "Está em pausa", + "IsSuccess": "Sucesso", + "IsSyncAccountHelpText": "Após a coleta, as contas coletadas serão sincronizadas com os ativos", + "IsSyncAccountLabel": "Sincronizar com ativo", + "JDCloud": "Nuvem JD", + "Job": "Trabalho", + "JobCenter": "Centro de trabalho", + "JobCreate": "Criar tarefa", + "JobDetail": "Detalhes do trabalho", + "JobExecutionLog": "Registro de Ação", + "JobList": "Lista de Action", + "JobManagement": "Lista de tarefas", + "JobUpdate": "Atualizar trabalho", + "JobsAudit": "Auditoria de Tarefas", + "KingSoftCloud": "Nuvem Jinshan", + "KokoSetting": "Configuração KoKo", + "LAN": "LAN", + "LDAPUser": "Usuário LDAP", + "LOWER_CASE_REQUIRED": "Deve incluir letras minúsculas", + "Language": "Idioma", + "LarkOAuth": "Autenticação Lark", + "Last30": " Últimas 30 vezes", + "Last30Days": "Últimos 30 dias", + "Last7Days": "Últimos 7 dias", + "LastPublishedTime": "Última vez publicado", + "Ldap": "LDAP", + "LdapBulkImport": "Importação de usuários", + "LdapConnectTest": "Testar Conexão", + "LdapLoginTest": "Login de teste", + "Length": "Comprimento", + "LessEqualThan": "Menor ou igual a", + "LevelApproval": "Aprovação de nível", + "License": "Licença", + "LicenseExpired": "A licença já expirou", + "LicenseFile": "Arquivo de licença", + "LicenseForTest": "Licença para fins de teste, esta licença é apenas para Teste (PoC) e Demonstração", + "LicenseReachedAssetAmountLimit": "A quantidade de ativos excedeu o limite de licença", + "LicenseWillBe": "A licença está prestes a ser ", + "ListPreference": "Preferências de lista", + "LoadTemplate": "Carregar do modelo", + "Loading": "Carregando", + "LockedIP": "Bloqueado IP {count} unidades", + "Log": "Registro", + "LogData": "Dados do log", + "LogOfLoginSuccessNum": "Número de logs de acesso bem-sucedido", + "Logging": "Registro de logs", + "LoginAssetConfirm": "Revisão de login de ativos", + "LoginAssetToday": "Número de ativos ativos hoje", + "LoginAssets": "Ativos ativos", + "LoginConfirm": "Revisão de login", + "LoginConfirmUser": "Revisor de login", + "LoginCount": "Número de vezes que fez login", + "LoginDate": "Data de login", + "LoginFailed": "Falha no login", + "LoginFrom": "Origem do Login", + "LoginImageTip": "Dica: Será exibido na página de login do usuário corporativo (Tamanho da imagem recomendado: 492*472px)", + "LoginLog": "Registro de Login", + "LoginLogTotal": "Número de logs de login", + "LoginNum": "Número de logins", + "LoginPasswordSetting": "Senha de login", + "LoginRequiredMsg": "Conta desconectada, por favor, faça login novamente", + "LoginSSHKeySetting": "Chave pública, login SSH", + "LoginSucceeded": "Login bem-sucedido", + "LoginTitleTip": "Dica: será exibido na página de login SSH do usuário da versão corporativa do KoKo (por exemplo: Bem-vindo ao uso do JumpServer Open Source Bastion)", + "LoginUserRanking": "Classificação de contas de login", + "LoginUserToday": "Número de usuários que fizeram login hoje", + "LoginUsers": "Conta ativa", + "LogoIndexTip": "Nota: será exibido no canto superior esquerdo da página de administração (tamanho da imagem recomendado: 185px*55px)", + "LogoLogoutTip": "Dica: Será exibido na página do terminal da Web do usuário da versão corporativa (tamanho sugerido da imagem: 82px*82px)", + "Logout": "Sair", + "LogsAudit": "Auditoria de logs", + "Lowercase": "letras minúsculas", + "LunaSetting": " Configuração da Luna", + "MFAAllUsers": "Ativação global: Todos os usuários", + "MFAErrorMsg": "Erro de MFA, por favor verifique", + "MFAOfUserFirstLoginPersonalInformationImprovementPage": " Ative a autenticação de dois fatores para tornar sua conta mais segura.
Após a ativação, você entrará no processo de vinculação de autenticação de dois fatores na próxima vez que fizer login; Você também pode vincular diretamente em (Informações pessoais -> Modificação rápida -> Alterar configurações de dois fatores)! ", + "MFAOfUserFirstLoginUserGuidePage": "Para proteger a sua segurança e a da empresa, cuide bem de suas contas, senhas e chaves importantes e outras informações sensíveis; (por exemplo, estabelecer uma senha complexa e habilitar autenticação de dois fatores)
Informações pessoais como email, número de celular, WeChat, etc, são usadas apenas para autenticação de usuário e notificações internas da plataforma.", + "MFAOnlyAdminUsers": "Habilitado globalmente: Apenas administradores", + "MIN_LENGTH_ERROR": "O comprimento da senha deve ser no mínimo {0} caracteres", + "MailRecipient": "Destinatários de Email", + "MailSend": "Envio de e-mail", + "ManualAccount": "Conta manual", + "ManualAccountTip": "Insira manualmente o nome do usuário/senha ao fazer login", + "ManualExecution": "Execução manual", + "ManyChoose": "Múltiplas seleções disponíveis", + "MarkAsRead": "Marcar como lido", + "Marketplace": "Loja de Aplicativos", + "Match": "Correspondência", + "MatchIn": "Em...", + "MatchResult": " Resultados correspondentes ", + "MatchedCount": "Resultado da correspondência", + "Members": "Membro", + "MenuAccountTemplates": "Modelo de conta", + "MenuAccounts": "Gerenciamento de Conta", + "MenuAcls": "Controle de acesso", + "MenuAssets": "资产管理", + "MenuMore": "Outros", + "MenuPermissions": "管理", + "MenuUsers": "Gestão de usuários", + "Message": "Mensagens", + "MessageType": "Tipo de mensagem", + "MfaLevel": "Autenticação de vários fatores", + "Min": "Minutos", + "MinNumber30": "O número deve ser maior ou igual a 30", + "Modify": "Modificar", + "Module": "Módulo", + "Monday": "Segunda-feira", + "Monitor": "Monitoramento", + "Month": "Mês", + "More": "Mais", + "MoreActions": "Mais ações", + "MoveAssetToNode": "Mover ativos para o nó", + "MsgSubscribe": " Assinatura de mensagem", + "MyAssets": "Meus ativos", + "MyTickets": "Iniciados por Mim", + "NUMBER_REQUIRED": "Deve conter números", + "Name": " Nome", + "NavHelp": "Link da barra de navegação", + "Navigation": "Navegação", + "NeedReLogin": "Necessário fazer login novamente", + "New": "Novo", + "NewChat": "Nova conversa", + "NewCount": "Adicionar", + "NewCron": "Gerar Cron", + "NewDirectory": "Nova Pasta", + "NewFile": "Novo arquivo", + "NewPassword": "Nova senha", + "NewPublicKey": "Novo chave pública SSH", + "NewSSHKey": "Chave pública SSH", + "NewSecret": "Nova Criptografia", + "NewSyncCount": "Nova sincronização", + "Next": "Próximo Passo", + "No": "Não", + "NoAccountFound": "Conta não encontrada", + "NoContent": "Sem conteúdo", + "NoData": "Sem dados por enquanto", + "NoFiles": "Sem arquivos", + "NoLog": "Sem logs", + "NoPermission": "Permissão temporariamente indisponível", + "NoPermission403": "403 Sem permissão temporariamente", + "NoPermissionInGlobal": "Sem permissão global", + "NoPermissionVew": "Sem permissão para visualizar a página atual", + "NoUnreadMsg": "Sem mensagens não lidas no momento", + "Node": "Nó", + "NodeInformation": "Informações do nó", + "NodeOfNumber": "Número de nós", + "NodeSearchStrategy": "Estratégia de pesquisa de nó", + "NormalLoad": "Normal", + "NotEqual": "Não é igual a", + "NotSet": "Não configurado", + "NotSpecialEmoji": "Não é permitido inserir emojis especiais", + "Nothing": "Nenhum", + "NotificationConfiguration": "Configurações de notificação", + "Notifications": "Configurações de notificação", + "Now": " Agora", + "Number": "Número", + "NumberOfVisits": "Número de Visitas", + "OAuth2": "OAuth2", + "OAuth2LogoTip": "Dica: Provedor de Serviços de Autenticação (Tamanho da imagem recomendado: 64px*64px)", + "OIDC": "OIDC", + "ObjectNotFoundOrDeletedMsg": "Não foi encontrado o recurso correspondente ou foi excluído", + "ObjectStorage": "Armazenamento de objeto", + "Offline": "Offline", + "OfflineSelected": "Desconectar selecionados", + "OfflineSuccessMsg": "Desconexão bem-sucedida", + "OfflineUpload": "Upload offline", + "OldPassword": "Senha original", + "OldPublicKey": "Antiga chave pública SSH", + "OldSecret": "Texto original", + "OneAssignee": " Primeiro receptor", + "OneAssigneeType": "Tipo de receptor de primeiro nível", + "OneClickReadMsg": "Tem certeza de que deseja marcar tudo como lido?", + "OnlineSession": "Usuários Online", + "OnlineSessionHelpMsg": "Não é possível desconectar a sessão atual, porque ela está associada ao usuário online. Atualmente, somente os acessos de usuários via Web são registrados.", + "OnlineSessions": "Número de sessões online", + "OnlineUserDevices": " Dispositivos de usuários online ", + "OnlyInitialDeploy": "Apenas inicializar configuração", + "OnlyMailSend": "Apenas suporte para envio de email", + "OnlySearchCurrentNodePerm": "Pesquisar apenas o nó atual autorizado", + "Open": "Abrir", + "OpenCommand": "Comando Abrir", + "OpenStack": "OpenStack", + "OpenStatus": "Em aprovação", + "OpenTicket": "Criar Pedido", + "OperateLog": "Registro de Ações", + "OperationLogNum": "Número de Logs de Action", + "Options": " Opção", + "OracleDBNameHelpText": "Preencha com o SID ou nome do serviço (Service Name) do Oracle Database", + "OrgAdmin": "Administrador da organização", + "OrgAuditor": "Auditores da Organização", + "OrgName": "Nome da organização autorizada", + "OrgRole": "Papéis organizacionais", + "OrgRoleHelpMsg": " Os papéis organizacionais são personalizados para cada organização na plataforma. Esses papéis são atribuídos quando os usuários são convidados a participar de uma organização específica e definem seus direitos e níveis de acesso dentro dessa organização. Diferentemente dos papéis do sistema, os papéis da organização são personalizáveis e aplicáveis apenas dentro do escopo da organização à qual foram atribuídos. ", + "OrgRoleHelpText": "O papel organizacional é o papel do usuário na organização atual ", + "OrgRoles": "Papéis na organização", + "OrgUser": "Usuários da organização", + "OrganizationCreate": "Criar organização", + "OrganizationDetail": " Detalhes da organização ", + "OrganizationList": "组织管理", + "OrganizationManage": "Organização", + "OrganizationUpdate": " Atualizar organização ", + "OrgsAndRoles": "Organização e Papéis", + "Other": " Outras configurações ", + "Output": " Saída", + "Overview": "Visão Geral", + "PageNext": "Próxima página", + "PagePrev": "Página Anterior", + "Params": "Parâmetro", + "ParamsHelpText": "Configurações do parâmetro de alteração de senha, atualmente é válido apenas para ativos da categoria host.", + "PassKey": "Passkey", + "Passkey": "Passkey", + "PasskeyAddDisableInfo": "Sua fonte de autenticação é {source}, a adição de Passkey não é suportada", + "Passphrase": "Senha da chave", + "Password": " Senha ", + "PasswordAndSSHKey": "Configuração de autenticação", + "PasswordChangeLog": "Registro de Mudança de Senha", + "PasswordExpired": "A senha expirou", + "PasswordPlaceholder": "Por favor, digite sua senha", + "PasswordRecord": "Registros de senha", + "PasswordRule": "Regras de senha", + "PasswordSecurity": "Segurança de senha", + "PasswordStrategy": "Estratégia de geração de texto cifrado", + "PasswordWillExpiredPrefixMsg": "Senha em breve em", + "PasswordWillExpiredSuffixMsg": "Expira em dia(s), por favor, mude sua senha o mais rápido possível.", + "Paste": "Colar", + "Pause": "Pausa", + "PauseTaskSendSuccessMsg": " A tarefa de pausa foi emitida, por favor atualize e verifique mais tarde ", + "Pending": " Pendente", + "Periodic": "Executar regularmente", + "PermAccount": "Conta Autorizada", + "PermAction": "Action autorizado", + "PermUserList": "Usuário autorizado", + "PermissionCompany": "Empresa autorizada", + "PermissionName": "Nome da Regra de Autorização", + "Permissions": "Permissões", + "PersonalInformationImprovement": "Completar informações pessoais", + "PersonalSettings": "Configurações pessoais", + "Phone": "Celular", + "Plan": "Plano", + "Platform": "Plataforma", + "PlatformCreate": "Criar plataforma", + "PlatformDetail": "detalhes da plataforma", + "PlatformList": "Lista de plataformas", + "PlatformPageHelpMsg": "A plataforma é uma categoria de ativo, como por exemplo: Windows, Linux, equipamentos de rede, etc. Também é possível especificar algumas configurações na plataforma, como o protocolo, o gateway, entre outros, para determinar se determinada função está ativada no ativo.", + "PlatformProtocolConfig": "Configuração do protocolo da plataforma", + "PlatformUpdate": "Atualizar plataforma", + "PlaybookDetail": " Detalhes do Playbook ", + "PlaybookManage": "Playbook管理", + "PlaybookUpdate": "Atualizar Playbook", + "PleaseAgreeToTheTerms": "Por favor, concorde com os termos", + "PleaseSelect": "Por favor, selecione", + "PolicyName": "Nome da Política", + "Port": "Porta", + "Ports": "Porta", + "Preferences": "Preferências", + "PrepareSyncTask": "Preparando para executar a tarefa de sincronização...", + "Primary": "Principais", + "Priority": "Prioridade", + "PrivateCloud": "Nuvem privada", + "PrivateIp": "IP privado", + "PrivateKey": "Chave privada", + "Privileged": "Conta Privilegiada", + "PrivilegedFirst": "Conta com privilégios prioritários", + "PrivilegedOnly": "Apenas contas privilegiadas", + "PrivilegedTemplate": "Privilégios", + "Product": "Produto", + "ProfileSetting": "Configurações de Informações Pessoais", + "Project": "Nome do Projeto", + "Prompt": "Palavra chave", + "Proportion": "Proporção", + "ProportionOfAssetTypes": " Proporção de tipos de ativos ", + "Protocol": "Protocolo", + "Protocols": "Protocolo", + "Provider": "Fornecedor", + "Proxy": "Proxy", + "PublicCloud": "Nuvem pública", + "PublicIp": "IP Público", + "PublicKey": "Chave pública", + "Publish": "Publicação", + "PublishAllApplets": " Publicar todos os aplicativos ", + "PublishStatus": "Status de publicação", + "Push": "Empurrar", + "PushAccount": "Conta de notificação", + "PushAccountsHelpText": "Empurre as contas existentes para os ativos. Ao empurrar a conta, se a conta já existir, a senha da conta será atualizada, se a conta não existir, a conta será criada ", + "PushParams": "Parâmetros de Push", + "Qcloud": "Nuvem Tencent", + "QcloudLighthouse": "Tencent Cloud (Servidor de Aplicações Leves)", + "QingYunPrivateCloud": " Nuvem privada Qingyun ", + "Queue": "Fila", + "QuickAdd": "Adicionar rapidamente", + "QuickJob": "Comandos Rápidos", + "QuickUpdate": "Atualização rápida", + "Radius": "Radius", + "Ranking": "Classificação", + "RazorNotSupport": "Sessões de cliente RDP, supervisão não suportada no momento", + "ReLogin": "Fazer login novamente", + "ReLoginTitle": "Atual usuário logado na terceira parte (CAS/SAML), sem vínculo com MFA e sem suporte para verificação de senha, por favor, faça login novamente.", + "RealTimeData": "Dados em tempo real", + "Reason": " Motivo ", + "Receivers": "Receptor", + "RecentLogin": "Login recente", + "RecentSession": "Conversas recentes", + "RecentlyUsed": "Usado recentemente", + "Recipient": " Destinatário ", + "RecipientHelpText": "Se os destinatários A e B forem definidos ao mesmo tempo, o texto cifrado da conta será dividido em duas partes; se apenas um destinatário for definido, a chave não será dividida. ", + "RecipientServer": "Receber servidor", + "Reconnect": "Reconectar", + "Refresh": "Atualizar", + "RefreshHardware": "Atualize as informações do hardware", + "Regex": "Expressão regular", + "Region": "Região", + "RegularlyPerform": "Executar regularmente", + "Reject": "Recusar", + "Rejected": "Rejeitado", + "ReleaseAssets": "Sincronizar liberação de ativos", + "ReleaseAssetsHelpTips": "Apagar automaticamente os ativos que foram sincronizados através desta tarefa e já foram liberados na nuvem quando a tarefa terminar?", + "ReleasedCount": "Liberado", + "RelevantApp": "Aplicar", + "RelevantAsset": "Ativos", + "RelevantAssignees": " Pessoas relacionadas à aprovação", + "RelevantCommand": "Comando", + "RelevantSystemUser": "Usuário do Sistema", + "RemoteAddr": "Endereço remoto", + "Remove": "Remover", + "RemoveAssetFromNode": "Remover recurso do nó", + "RemoveSelected": "Remover Selecionado", + "RemoveSuccessMsg": "Remoção bem-sucedida", + "RemoveWarningMsg": "Tem certeza de que quer remover?", + "Rename": "Renomear", + "RenameNode": "Renomear nó", + "ReplaceNodeAssetsAdminUserWithThis": "Substituir o administrador do ativo", + "Replay": "Reprodução", + "ReplaySession": "Reproduzir sessão", + "ReplayStorage": "Armazenamento de Objetos", + "ReplayStorageCreateUpdateHelpMessage": "Nota: Atualmente, o armazenamento SFTP suporta apenas backup de conta, não suporta armazenamento de gravações.", + "ReplayStorageUpdate": "Atualizar Armazenamento de Objetos", + "Reply": "Resposta", + "RequestAssetPerm": "Solicitar Autorização de Ativos", + "RequestPerm": "Solicitação de autorização", + "RequestTickets": "Solicitação de serviço", + "RequiredAssetOrNode": "Por favor, selecione pelo menos um ativo ou nó", + "RequiredContent": "Insira o comando", + "RequiredEntryFile": "Este arquivo deve existir como o arquivo de entrada de execução", + "RequiredRunas": "Por favor, insira o usuário em execução", + "RequiredSystemUserErrMsg": " Selecione a conta", + "RequiredUploadFile": "Por favor, faça upload do arquivo!", + "Reset": "Restaurar", + "ResetAndDownloadSSHKey": "redefinir e baixar chave", + "ResetMFA": "Resetar MFA", + "ResetMFAWarningMsg": "Tem certeza de que deseja redefinir o MFA do usuário?", + "ResetMFAdSuccessMsg": "Redefinição de MFA bem-sucedida, o usuário pode redefinir o MFA novamente", + "ResetPassword": "Reconfigurar senha", + "ResetPasswordNextLogin": "É necessário alterar a senha no próximo login", + "ResetPasswordSuccessMsg": "A mensagem de redefinição de senha foi enviada ao usuário", + "ResetPasswordWarningMsg": "Tem certeza de que deseja enviar um email para redefinir a senha do usuário?", + "ResetPublicKeyAndDownload": "Resetar e baixar a chave SSH", + "ResetSSHKey": "Resetar Chave SSH", + "ResetSSHKeySuccessMsg": "A tarefa de envio de e-mail foi enviada, o usuário receberá um e-mail de chave de redefinição mais tarde", + "ResetSSHKeyWarningMsg": "Você tem certeza que deseja enviar o e-mail para resetar a chave SSH do usuário?", + "Resource": "Recursos", + "ResourceType": "Tipo de recurso", + "RestoreButton": "Restaurar Padrões", + "RestoreDefault": "Restaurar ao padrão", + "RestoreDialogMessage": "Tem certeza de que deseja restaurar para as configurações padrão?", + "RestoreDialogTitle": "Você confirma?", + "Result": "Resultado", + "Resume": "Recuperação", + "ResumeTaskSendSuccessMsg": "A tarefa de recuperação foi emitida, por favor, atualize e verifique um pouco depois", + "Retry": " Tentar novamente ", + "RetrySelected": "repetir a seleção", + "Reviewer": "Aprovador", + "Role": "Papel", + "RoleCreate": "Criar função", + "RoleDetail": "Detalhes do papel", + "RoleInfo": " Informações do papel", + "RoleList": "Lista de Funções", + "RoleUpdate": "Atualizar papéis", + "RoleUsers": "Usuário autorizado", + "Rows": "Linhas", + "Rule": "Condições", + "RuleCount": "Quantidade de condições", + "RuleDetail": "Detalhes da regra", + "RuleRelation": "Relações de condição", + "RuleRelationHelpTip": "E: Somente quando todas as condições são cumpridas, a action é realizada; ou: Assim que uma condição é cumprida, a action é realizada", + "RuleSetting": "Configurações de condições", + "Rules": "Regras", + "Run": "Executar", + "RunAgain": "Executar novamente", + "RunAs": "Conta em execução", + "RunCommand": "Executar comando", + "RunJob": "Executar tarefa", + "RunSucceed": "Execução de tarefa bem sucedida", + "RunTaskManually": "Execução manual", + "RunasHelpText": "Preencha o nome de usuário para executar o script", + "RunasPolicy": "Política de Conta", + "RunasPolicyHelpText": "Qual estratégia de escolha de conta adotar quando o usuário atual não está executando neste recurso. Ignorar: não execute. Conta de privilégio prioritário: se houver uma conta de privilégios, escolha-a primeiro, se não, escolha uma conta comum. Apenas contas de privilégio: escolha apenas de contas de privilégio, se não houver, não execute", + "Running": "Em execução", + "RunningPath": "Caminho de Execução", + "RunningPathHelpText": "Informe o caminho de execução do script, essa configuração só é válida para scripts shell", + "RunningTimes": "Últimas 5 vezes de tempo de execução", + "SCP": "Plataforma Cloud Sangfor", + "SMS": "Mensagem de texto", + "SMSProvider": "Provedor de serviço de SMS", + "SMTP": "Servidor de e-mail", + "SPECIAL_CHAR_REQUIRED": "Deve conter um carácter especial", + "SSHKey": "Chave SSH", + "SSHKeyOfProfileSSHUpdatePage": "Você pode clicar no botão abaixo para resetar e baixar a chave, ou copiar sua chave pública SSH e enviá-la.", + "SSHPort": "Porta SSH", + "SSHSecretKey": "Chave SSH", + "SafeCommand": "Comando de segurança", + "SameAccount": "Contas Homônimas", + "SameAccountTip": "Conta com mesmo nome de usuário autorizado", + "SameTypeAccountTip": "Uma conta com o mesmo nome de usuário e tipo de chave já existe", + "Saturday": "Sábado", + "Save": "Salvar", + "SaveAdhoc": " Salvar comando", + "SaveAndAddAnother": "Salvar e continuar adicionando", + "SaveCommand": "Salvar Comando", + "SaveCommandSuccess": "Salvar comando com sucesso", + "SaveSetting": "Configurações de Sincronização", + "SaveSuccess": "Salva com sucesso", + "SaveSuccessContinueMsg": "Criação bem-sucedida, você pode continuar adicionando após a atualização do conteúdo", + "ScrollToBottom": "Role até o fim", + "ScrollToTop": "Rolar para o topo", + "Search": "Pesquisar", + "SearchAncestorNodePerm": "Busca simultânea de autorizações em nó atual e ancestrais", + "Secret": "Senha", + "SecretKey": "Chave", + "SecretKeyStrategy": "Política de Senha", + "Secure": "Segurança", + "Security": "Configurações de Segurança", + "Select": "Selecione", + "SelectAdhoc": "Selecione o modelo de script", + "SelectAll": "Selecionar tudo", + "SelectAtLeastOneAssetOrNodeErrMsg": "Selecione pelo menos um ativo ou nó", + "SelectAttrs": "Selecionar atributos", + "SelectByAttr": "Filtro de atributos", + "SelectFile": "Selecionar arquivo", + "SelectKeyOrCreateNew": "Selecionar chave de etiqueta ou criar nova", + "SelectLabelFilter": "Selecionar filtro de tags", + "SelectProperties": "Selecionar atributos", + "SelectProvider": "Escolha a plataforma", + "SelectProviderMsg": "Por favor, selecione uma plataforma de nuvem", + "SelectResource": "Selecionar recursos", + "SelectTemplate": "Escolher Modelo", + "SelectValueOrCreateNew": "Selecione o valor da tag ou crie um novo", + "Selected": "Selecionado", + "Selection": "Selecionável", + "Selector": "Seletor", + "Send": "Enviar", + "SendVerificationCode": "Enviar código de verificação", + "SerialNumber": "Número de Série", + "Server": "Serviços", + "ServerAccountKey": "Chave da conta de serviço", + "ServerError": "Erro do servidor", + "ServerTime": "Horário do Servidor", + "Session": "Sessão", + "SessionCommands": "Comandos de sessão", + "SessionConnectTrend": "Tendência de Conexão da Sessão", + "SessionData": "Dados da sessão", + "SessionDetail": "Detalhes da sessão", + "SessionID": "ID da sessão", + "SessionJoinRecords": "Registro de Colaboração", + "SessionList": "Registro de sessão", + "SessionMonitor": "Monitoramento", + "SessionOffline": "Sessões históricas", + "SessionOnline": "Sessão online", + "SessionSecurity": "Segurança de Conversação", + "SessionState": "Status da conversa", + "SessionTerminate": "Conversação interrompida", + "SessionTrend": "Tendência de conversas", + "Sessions": "Gestão de sessões", + "SessionsAudit": "Auditoria de conversas", + "SessionsNum": "Número de sessões", + "Set": "Configurado", + "SetDingTalk": "Configuração de autenticação DingTalk", + "SetFailed": "Configuração falhou", + "SetFeiShu": "Configure a autenticação do Lark", + "SetMFA": "Autenticação MFA", + "SetSuccess": "Configuração bem-sucedida", + "SetToDefault": "Definir como Padrão", + "Setting": "Configurações", + "SettingInEndpointHelpText": "Configure o endereço e porta do serviço em Configurações do Sistema / Configurações do Componente / Pontos Finais do Serviço", + "Settings": "Configurações do Sistema", + "Share": "Compartilhar", + "Show": "Mostrar", + "ShowAssetAllChildrenNode": "Mostrar todos os ativos dos sub-nós", + "ShowAssetOnlyCurrentNode": "Mostrar apenas ativos do nó atual", + "ShowNodeInfo": "Exibir detalhes do nó", + "SignChannelNum": "Número do canal de assinatura", + "SiteMessage": "Mensagem interna", + "SiteMessageList": "Mensagem Interna", + "SiteURLTip": "Por exemplo: https://demo.jumpserver.org", + "Skip": "Ignorar ativo atual", + "Skipped": "Ignorado", + "Slack": "Slack", + "SlackOAuth": "Autenticação Slack", + "Source": "Origem", + "SourceIP": "Endereço de origem", + "SourcePort": "Porta de Origem", + "Spec": "Especificar", + "SpecAccount": "Conta especificada", + "SpecAccountTip": "Especificar nome de usuário para selecionar conta autorizada", + "SpecialSymbol": "Caracteres especiais", + "SpecificInfo": "Informações Especiais", + "SshKeyFingerprint": "Impressão digital SSH", + "Startswith": " Iniciando com...", + "State": "Status", + "StateClosed": "Desativado", + "StatePrivate": " Privado", + "Status": "Status", + "StatusGreen": "Estado recente é bom", + "StatusRed": "A última tarefa falhou", + "StatusYellow": "Recentemente houve falhas na execução", + "Step": "Passos", + "Stop": "Parar", + "StopJobMsg": "Parada bem-sucedida", + "StopLogOutput": "Ação cancelada: a tarefa atual (currentTaskId) foi interrompida manualmente. Como cada tarefa tem um andamento diferente, abaixo estão os resultados finais, a falha na execução significa que a tarefa foi interrompida com sucesso.", + "Storage": " Armazenamento ", + "StorageSetting": "Configurações de armazenamento", + "Strategy": "Estratégia", + "StrategyCreate": "Criar política", + "StrategyDetail": "Detalhes da estratégia", + "StrategyHelpTip": "Identificar as propriedades únicas dos ativos (como plataformas) de acordo com a prioridade da estratégia; Quando as propriedades dos ativos (como nós) podem ser configuradas para muitos, todas as ações da estratégia serão executadas.", + "StrategyList": "Lista de estratégias", + "StrategyUpdate": "Política de atualização", + "SuEnabled": " Ativar troca de conta ", + "SuFrom": "Alterar de", + "Submit": "Enviar", + "SubscriptionID": "ID da assinatura autorizada.", + "Success": "Successo", + "Success/Total": "Sucesso/Total", + "SuccessAsset": " Ativos bem-sucedidos ", + "SuccessfulOperation": "Action de sucesso", + "Summary": "Total", + "Summary(success/total)": "Visão geral ( Sucesso/Total )", + "Sunday": "Domingo", + "SuperAdmin": "Super Administrador", + "SuperOrgAdmin": "Super administrador+Administrador de organização", + "Support": "Suporte", + "SupportedProtocol": "Protocolos suportados", + "SupportedProtocolHelpText": "Configure os protocolos suportados pelos ativos, clicar no botão de configurações permite a personalização, como diretórios SFTP, domínios RDP AD, etc.", + "Sync": "Sincronizar", + "SyncAction": "Action de sincronização", + "SyncDelete": "Sincronizar e excluir", + "SyncDeleteSelected": "Excluir selecionados", + "SyncErrorMsg": "Falha na sincronização:", + "SyncInstanceTaskCreate": "Criar tarefa de sincronização", + "SyncInstanceTaskDetail": "Detalhes da tarefa de sincronização", + "SyncInstanceTaskHistoryAssetList": "Sincronizar lista de instâncias", + "SyncInstanceTaskHistoryList": "Sincronizar lista de histórico", + "SyncInstanceTaskList": " Lista de tarefas de sincronização ", + "SyncInstanceTaskUpdate": " Atualizar tarefa de sincronização ", + "SyncManual": "Sincronização manual", + "SyncOnline": "Sincronização online", + "SyncProtocolToAsset": "Sincronizar protocolo para ativos", + "SyncRegion": "Sincronizando regiões", + "SyncSelected": "Sincronizar selecionado", + "SyncSetting": "Configurações de sincronização", + "SyncStrategy": "Sincronizar estratégia", + "SyncSuccessMsg": "Sincronização bem-sucedida", + "SyncTask": "Sincronizar tarefas", + "SyncTiming": "Sincronização agendada", + "SyncUpdateAccountInfo": "Sincronizar informações de conta atualizadas", + "SyncUser": "Sincronizar usuários", + "SyncedCount": "Sincronizado", + "SystemError": "Erro do sistema", + "SystemRole": "Papéis do sistema", + "SystemRoleHelpMsg": "O papel do sistema é um papel aplicável a todas as organizações na plataforma. Esses papéis permitem que você defina permissões e níveis de acesso específicos para todos os usuários do sistema. As alterações nos papéis do sistema afetarão todas as organizações que utilizam essa plataforma.", + "SystemRoles": "Função do sistema", + "SystemSetting": "Configurações do Sistema", + "SystemTasks": "Lista de tarefas", + "SystemTools": "Ferramentas do sistema", + "TableColSetting": "Selecione as colunas de propriedades visíveis", + "TagCreate": " Criar etiqueta ", + "TagInputFormatValidation": "Erro no formato da tag, o formato correto é: name:value", + "TagList": "Lista de tags", + "TagUpdate": "Atualizar etiqueta", + "Tags": "Etiquetas", + "TailLog": "Registro de Acompanhamento", + "Target": "Objetivo", + "TargetResources": "Recurso alvo", + "Task": "Tarefa", + "TaskDetail": "Detalhes da tarefa", + "TaskDone": "Fim da tarefa", + "TaskID": "ID da Tarefa", + "TaskList": "Lista de tarefas", + "TaskMonitor": "Monitoramento de tarefas", + "TaskPath": "Caminho da tarefa", + "TechnologyConsult": "Consulta Técnica", + "TempPasswordTip": "O prazo de validade da senha temporária é de 300 segundos, fica inválida imediatamente após o uso", + "TempToken": "Senha temporária", + "TemplateAdd": "Adicionar modelo", + "TemplateCreate": "Criar modelo", + "TemplateHelpText": "Ao selecionar para adicionar um modelo, uma conta que não existe no ativo será criativamente criada e impulsionada", + "TemplateManagement": "Lista de Modelos", + "Templates": "Modelo", + "TencentCloud": "Nuvem Tencent", + "Terminal": "Configuração do componente", + "TerminalDetail": "Detalhes do componente", + "TerminalUpdate": "Atualizar terminal", + "TerminalUpdateStorage": " Atualização do armazenamento terminal ", + "Terminate": "final", + "TerminateTaskSendSuccessMsg": "A tarefa de término foi emitida, por favor, atualize para conferir mais tarde.", + "TermsAndConditions": "Termos e condições", + "Test": "Teste", + "TestAccountConnective": "Testar a conectividade da conta", + "TestAssetsConnective": "Teste a conectividade do ativo", + "TestConnection": "Testar conexão", + "TestGatewayHelpMessage": "Se o mapeamento de portas nat estiver sendo usado, configure-o para a porta real à qual o ssh está escutando", + "TestGatewayTestConnection": "Testar conexão com o gateway", + "TestLdapLoginTitle": "Testar login do usuário LDAP", + "TestNodeAssetConnectivity": "Teste a conectividade do nó de ativo", + "TestPortErrorMsg": "Erro de porta, por favor, insira novamente", + "TestSelected": "Testar seleção", + "TestSuccessMsg": "Teste bem-sucedido", + "Thursday": "Quinta-feira", + "Ticket": "Pedido de trabalho", + "TicketDetail": "Detalhes do pedido", + "TicketFlow": "Fluxo de ordens de serviço", + "TicketFlowCreate": "Criar fluxo de aprovação", + "TicketFlowUpdate": " Atualizar fluxo de aprovação", + "Tickets": "Lista de Tickets", + "Time": "Tempo", + "TimeDelta": "Tempo de execução", + "TimeExpression": "Expressão de tempo", + "Timeout": "Tempo esgotado", + "TimeoutHelpText": " Quando este valor é -1, o tempo limite não é especificado", + "Timer": "Agendar", + "TimerExecution": "Execução programada", + "Title": "Título", + "To": "Para", + "Today": "Hoje", + "TodayFailedConnections": "Falhas de conexão de hoje", + "Token": "Token", + "Total": "Total", + "TotalJobFailed": "número de falhas na execução da Action", + "TotalJobLog": "Número total de execuções de tarefas", + "TotalJobRunning": "Número de Actions em execução", + "TotalSyncAsset": "Sincronização do número de ativos (unidades)", + "TotalSyncRegion": "Número de regiões sincronizadas (individual)", + "TotalSyncStrategy": "Número de políticas vinculadas (individual)", + "Transfer": "Transferir", + "TriggerMode": "Modo de ativação", + "Tuesday": "Terça-feira", + "TwoAssignee": "Agente de aceitação secundário", + "TwoAssigneeType": "Tipo de aceitador de segundo nível", + "Type": "Tipo", + "TypeTree": "Árvore de tipos", + "Types": "Tipo", + "UCloud": "UCloud", + "UPPER_CASE_REQUIRED": "Deve conter uma letra maiúscula", + "UnFavoriteSucceed": "Desfavoritar com sucesso", + "UnSyncCount": "Não sincronizado", + "Unbind": "Desvincular", + "UnbindHelpText": "O usuário local é o usuário desta fonte de autenticação, não pode ser desvinculado", + "Unblock": "Desbloquear", + "UnblockSelected": "Desbloquear selecionados", + "UnblockSuccessMsg": "Desbloqueio bem-sucedido", + "UnblockUser": "Desbloquear usuário", + "Uninstall": "Desinstalar", + "UniqueError": "Apenas uma das seguintes propriedades pode ser definida", + "UnlockSuccessMsg": "Desbloqueio bem-sucedido", + "UnselectedOrg": "Não foi selecionada organização", + "UnselectedUser": "Nenhum usuário selecionado", + "UpDownload": "Fazer upload de download", + "Update": "Atualização", + "UpdateAccount": "Atualizar conta", + "UpdateAccountTemplate": "Atualizar modelo de conta", + "UpdateAssetDetail": "configurar mais informações", + "UpdateAssetUserToken": "Atualizar informações de autenticação de conta", + "UpdateEndpoint": "Atualizar Endpoint", + "UpdateEndpointRule": "Atualizar regras de endpoint", + "UpdateErrorMsg": "Falha na atualização", + "UpdateNodeAssetHardwareInfo": "Atualizar informações de hardware do nó de ativo", + "UpdatePlatformHelpText": "Apenas quando o tipo de plataforma original do ativo e o tipo de plataforma selecionado são os mesmos, a atualização será realizada. Se os tipos de plataforma antes e depois da atualização forem diferentes, a atualização não será realizada.", + "UpdateSSHKey": "Atualize a chave pública SSH", + "UpdateSelected": "Atualizar selecionado", + "UpdateSuccessMsg": "Atualizado com sucesso", + "Updated": "Atualizado", + "Upload": "Upload", + "UploadCsvLth10MHelpText": "Somente upload de csv/xlsx, e não ultrapassar 10M", + "UploadDir": "Enviar para o diretório", + "UploadFileLthHelpText": "Só podem ser carregados arquivos menores que {limit} MB", + "UploadHelpText": "Faça upload do arquivo .zip que contém a seguinte estrutura de exemplo de diretório", + "UploadPlaybook": "Upload Playbook", + "UploadSucceed": " Upload bem sucedido ", + "UploadZipTips": "Por favor, faça upload de arquivos no formato zip", + "Uploading": "Upload de arquivo em andamento", + "Uppercase": "Letra maiúscula", + "UseProtocol": "Usar protocolo", + "UseSSL": "Usar SSL/TLS", + "User": "Usuário", + "UserAclLists": "Regras de login do usuário", + "UserAssetActivity": " Conta / situação ativa do ativo", + "UserCreate": "Criar usuário", + "UserData": "Dados do usuário", + "UserDetail": "Detalhes do usuário", + "UserGroupCreate": "Criar Grupo de Usuários", + "UserGroupDetail": "Detalhes do grupo de usuários", + "UserGroupList": "Grupo de usuários", + "UserGroupUpdate": "Atualizar grupo de usuários", + "UserGroups": "Grupo de Usuários", + "UserList": "Lista de usuários", + "UserLoginACLHelpMsg": "Ao entrar no sistema, você pode fazer uma auditoria com base no IP de login do usuário e no intervalo de tempo para determinar se é possível entrar no sistema (efetivo globalmente)", + "UserLoginACLHelpText": "Ao entrar no sistema, você pode auditar de acordo com o IP de login do usuário e o período de tempo, determinando se pode fazer o login", + "UserLoginAclCreate": "Criar controle de acesso do usuário", + "UserLoginAclDetail": "Detalhes do controle de login do usuário", + "UserLoginAclList": "Login do usuário", + "UserLoginAclUpdate": "Atualizando o controle de login do usuário", + "UserLoginLimit": "Restrições de login do usuário", + "UserLoginTrend": "Tendência de Login da Conta", + "UserPasswordChangeLog": "Log de alteração de senha do usuário", + "UserSession": "Conversa do usuário", + "UserSwitchFrom": "Alternar de", + "UserUpdate": "Atualizar usuário", + "Username": "Nome de Usuário", + "UsernamePlaceholder": "Por favor, insira o nome do usuário", + "Users": "Usuário", + "UsersAmount": "Usuário", + "UsersAndUserGroups": "Usuário/Grupo de usuários", + "UsersTotal": " Total de usuários ", + "Valid": "Válido", + "Variable": "Variáveis", + "VariableHelpText": "Você pode usar {{ key }} no comando para ler a variável integrada", + "VariableName": " Nome da variável ", + "VaultHCPMountPoint": "Ponto de montagem do servidor Vault, padrão é jumpserver", + "VaultHelpText": "1. Por razões de segurança, é necessário adicionar os parâmetros VAULT_ENABLED=true e VAULT_BACKEND=hcp/azure/aws no arquivo de configuração para ativar o armazenamento Vault.
2. Depois de ativado, preencha as outras configurações e faça o teste.
3. Proceda com a sincronização de dados, a sincronização é unidirecional, sincronizará apenas do banco de dados local para o Vault remoto, após a conclusão da sincronização, o banco de dados local não armazenará mais a senha, por favor, faça backup dos dados.
4. Após a segunda modificação da configuração do Vault, é necessário reiniciar o serviço.", + "VerificationCodeSent": "O código de verificação foi enviado", + "VerifySignTmpl": "Modelo de SMS com código de verificação", + "Version": "Versão", + "View": " Visualizar", + "ViewMore": "Ver mais", + "ViewPerm": "Ver autorização", + "ViewSecret": "Visualizar texto cifrado", + "VirtualAccountDetail": "Detalhes da Conta Virtual", + "VirtualAccountHelpMsg": "Uma conta virtual é uma conta dedicada com um propósito específico ao conectar ativos.", + "VirtualAccountUpdate": "Atualização de conta virtual", + "VirtualAccounts": "Conta virtual", + "VirtualApp": "Aplicativo virtual", + "VirtualAppDetail": "Detalhes do Aplicativo Virtual", + "VirtualApps": "Aplicativo Virtual", + "Volcengine": "Motor Volcano", + "Warning": "Aviso", + "WeChat": " WeChat ", + "WeCom": " WeChat Corporativo", + "WeComOAuth": "Autenticação WeChat Empresarial", + "WeComTest": "Teste", + "WebCreate": "Criar Ativo-Web", + "WebHelpMessage": "Tipos de ativos da Web dependem de aplicativos remotos, vá para as configurações do sistema para configurar nos aplicativos remotos", + "WebSocketDisconnect": "WebSocket desconectado", + "WebTerminal": "Terminal Web", + "WebUpdate": "Atualizar ativo - Web", + "Wednesday": "Quarta-feira", + "Week": "Semana", + "WeekAdd": "Novidades desta semana", + "WeekOrTime": "Semana/Tempo", + "WildcardsAllowed": "Curingas permitidos", + "WindowsPushHelpText": "Windows Asset não suporta envio de chave", + "WordSep": "", + "Workbench": "Estação de trabalho", + "Workspace": "Espaço de trabalho", + "Yes": "é", + "YourProfile": "Informações Pessoais", + "ZStack": "ZStack", + "Zone": "Domínio da web", + "ZoneCreate": "Criar Domínio", + "ZoneEnabled": "Ativar gateway", + "ZoneHelpMessage": "O domínio é o local onde os ativos estão localizados, pode ser um datacenter, uma nuvem pública ou VPC. No domínio, você pode configurar um gateway, para ser usado quando a rede não é diretamente acessível, permitindo o acesso aos ativos através dele.", + "ZoneList": "Lista de domínios", + "ZoneUpdate": " Atualizar domínio ", + "disallowSelfUpdateFields": "Não é permitido alterar o campo atual", + "forceEnableMFAHelpText": "Se for habilitado forçosamente, o usuário não pode desativar por conta própria", + "removeWarningMsg": "Tem certeza de que deseja remover", + "setVariable": "Parâmetros de configuração" +} \ No newline at end of file diff --git a/apps/i18n/lina/zh_hant.json b/apps/i18n/lina/zh_hant.json index 93bcf7699..7a208b9db 100644 --- a/apps/i18n/lina/zh_hant.json +++ b/apps/i18n/lina/zh_hant.json @@ -238,9 +238,8 @@ "AverageTimeCost": "平均花費時間", "AwaitingMyApproval": "待我審批", "Azure": "Azure (中國)", - "Azure_Int": "Azure (國際)", "AzureKeyVault": "Azure vault", - "HashicorpVault": "HCP vault", + "Azure_Int": "Azure (國際)", "Backup": "備份", "BackupAccountsHelpText": "備份帳號資訊至外部。可以儲存到外部系統或寄送郵件,支援分段方式", "BadConflictErrorMsg": "正在刷新中,請稍後再試", @@ -751,6 +750,7 @@ "HardwareInfo": "硬體資訊", "HasImportErrorItemMsg": "存在匯入失敗項,點擊左側 x 檢視失敗原因,點擊表格編輯後,可以繼續匯入失敗項", "HasRead": "是否已讀", + "HashicorpVault": "HCP vault", "Help": "幫助", "HighLoad": "較高", "HistoricalSessionNum": "歷史會話數", @@ -955,10 +955,12 @@ "LunaSetting": "Luna 設定", "LunaSettingUpdate": "Luna 配置設置", "MFA": "MFA", + "MFAAllUsers": "全球啟用:所有用戶", "MFAConfirm": "MFA 認證", "MFAErrorMsg": "MFA錯誤,請檢查", "MFAOfUserFirstLoginPersonalInformationImprovementPage": "啟用多因子認證,使帳號更加安全。
啟用之後您將會在下次登入時進入多因子認證綁定流程;您也可以在(個人資訊->快速修改->更改多因子設置)中直接綁定!", "MFAOfUserFirstLoginUserGuidePage": "為了保護您和公司的安全,請妥善保管您的帳戶、密碼和金鑰等重要敏感資訊;(如:設置複雜密碼,並啟用多因子認證)
信箱、手機號碼、微信等個人資訊,僅作為用戶認證和平台內部消息通知使用。", + "MFAOnlyAdminUsers": "全球啟用:僅管理員", "MFARequireForSecurity": "為了安全請輸入MFA", "MFAVerify": "驗證 MFA", "MIN_LENGTH_ERROR": "密碼最小長度 {0} 位", @@ -2299,4 +2301,4 @@ "week": "周", "weekOf": "周的星期", "wildcardsAllowed": "允許的通配符" -} +} \ No newline at end of file diff --git a/apps/i18n/lion/pt_br.json b/apps/i18n/lion/pt_br.json new file mode 100644 index 000000000..75a158616 --- /dev/null +++ b/apps/i18n/lion/pt_br.json @@ -0,0 +1,83 @@ +{ + "ActionPerm": "Permissões de ação", + "AutoFit": "Adaptação automática", + "Cancel": "Cancelar", + "ClearDone": "Limpeza concluída", + "Clipboard": "Área de transferência", + "Close": "Fechar", + "ConfirmBtn": "Confirmar", + "Connecting": "Conectando", + "CopyLink": "Copiar link e código de verificação", + "CopyShareURLSuccess": "Cópia do endereço compartilhado com sucesso", + "CreateLink": "Criar link de compartilhamento", + "CreateSuccess": "Criação bem sucedida", + "Display": "Exibir", + "ErrTitle": "Conexão anormal", + "ExpiredTime": "Período de validade", + "Files": "文件管理", + "GetShareUser": "Digite o nome de usuário", + "GuaErrClientUnauthorized": "Erro de autenticação de nome de usuário e senha, falha no login", + "GuaErrSessionConflict": "Devido a um conflito com outra conexão, o servidor de area de trabalho remota fechou esta conexão. Por favor, tente novamente mais tarde.", + "GuaErrUnSupport": "Esta ação foi proibida", + "GuaErrUpStreamTimeout": "Servidor de area de trabalho remota não responde", + "GuaErrUpstreamNotFound": "Não foi possível conectar ao servidor de desktop remoto (rede inacessível | erro de política de segurança)", + "GuacamoleErrAccessDenied": "O acesso à conexão remota foi negado", + "GuacamoleErrActiveSessionTimeLimitExceeded": "O tempo de atividade da conexão remota excedeu o limite", + "GuacamoleErrAuthenticationFailure": "Falha na autenticação da conexão remota", + "GuacamoleErrConnectionFailed": "Falha na conexão remota", + "GuacamoleErrCredentialsExpired": "Credenciais de conexão remota expiradas", + "GuacamoleErrDNSLookupFailed": "Consulta DNS da conexão remota falhou", + "GuacamoleErrDisconnected": "Conexão remota desconectada", + "GuacamoleErrDisconnectedByOtherConnection": "A conexão remota foi interrompida por outra conexão", + "GuacamoleErrForciblyDisconnected": "A conexão remota foi forçada a desconectar", + "GuacamoleErrIdleSessionTimeLimitExceeded": "O tempo ocioso da conexão remota excedeu o limite", + "GuacamoleErrInsufficientPrivileges": "Permissões do usuário de conexão remota insuficientes", + "GuacamoleErrLoggedOff": "O usuário da conexão remota já se desconectou", + "GuacamoleErrManuallyDisconnected": "Conexão remota desconectada manualmente", + "GuacamoleErrManuallyLoggedOff": "O usuário de conexão remota foi desconectado manualmente", + "GuacamoleErrSSLTLSConnectionFailed": "A conexão SSL/TLS da conexão remota falhou.", + "GuacamoleErrSecurityNegotiationFailed": "Falha na negociação de segurança da conexão remota", + "GuacamoleErrServerRefusedConnection": "O servidor de conexão remota recusou a conexão", + "GuacamoleErrServerRefusedConnectionBySecurityType": "A conexão remota foi recusada pelo servidor, possivelmente o tipo de segurança não corresponde", + "GuacamoleErrUnsupportedCredentialTypeRequested": "Tipo de credencial de conexão remota não suportado", + "GuacamoleErrUpstreamError": "Ocorreu um erro no servidor de conexão remota", + "JMSErrAPIFailed": "Ocorreu um erro com a API principal", + "JMSErrAuthUser": "Usuário não autenticado", + "JMSErrBadParams": "Erro de parâmetro de solicitação", + "JMSErrDisconnected": "A conexão da conversa foi desconectada", + "JMSErrGatewayFailed": "Falha na conexão do gateway", + "JMSErrGuacamoleServer": "Incapaz de se conectar ao servidor Guacamole", + "JMSErrIdleTimeOut": "Excedeu o tempo máximo ocioso de {PLACEHOLDER} minutos, conexão interrompida", + "JMSErrMaxSession": "Excedido o tempo máximo de sessão de {PLACEHOLDER} horas, desconectado", + "JMSErrNoSession": "Sessão não encontrada", + "JMSErrPermission": "Sem permissão para conexão", + "JMSErrPermissionExpired": "A autorização expirou, desconectando", + "JMSErrRemoveShareUser": "Você foi removido da sessão compartilhada", + "JMSErrTerminatedByAdmin": "管理 terminou a sessão", + "JoinShare": "Participar do compartilhamento", + "LeaveShare": "Deixar compartilhamento", + "LinkAddr": "Link do endereço", + "Minute": "Minutos", + "Minutes": "Minutos", + "OK": "Confirmar", + "Password": "Senha", + "PauseSession": "Pausing a sessão", + "ReadOnly": "Somente leitura", + "RemoveShareUserConfirm": "Tem certeza de que deseja remover este usuário?", + "RequireParams": "Parâmetros obrigatórios", + "ResumeSession": "Restaurar sessão", + "SelectAction": "Por favor, selecione", + "Settings": "Configurações", + "Share": "Compartilhar", + "ShareUser": "Compartilhar usuário", + "ShareUserHelpText": "Nenhum usuário selecionado, permitindo que todos se juntem", + "Shortcuts": "Atalhos", + "Skip": "Ignorar", + "Submit": "Enviar", + "UploadFile": "Upload de arquivo", + "UploadSuccess": "Upload bem-sucedido", + "Username": "Nome de usuário", + "VerifyCode": "Código de verificação", + "WebSocketError": "Falha na conexão WebSocket, por favor verifique a rede", + "Writable": "Leitura e escrita" +} \ No newline at end of file diff --git a/apps/i18n/luna/pt_br.json b/apps/i18n/luna/pt_br.json new file mode 100644 index 000000000..6293d8972 --- /dev/null +++ b/apps/i18n/luna/pt_br.json @@ -0,0 +1,225 @@ +{ + "ACL reject login asset": "O login foi recusado, a razão é a restrição da política de controle de acesso", + "Account info": "Informações da Conta", + "Account not found": "Conta não encontrada", + "Account: ": "Conta: {{value}}", + "Action: ": " Ação: ", + "Advanced option": "Opções avançadas", + "All sessions": "Todas as sessões", + "Applet": "Aplicações Remotas", + "Applet connect method": "Forma de conexão de aplicativos remotos", + "Are you sure to reconnect it?(RDP not support)": " Tem certeza que deseja reconectar? (RDP não é suportado) ", + "Asset disabled": " Este ativo foi desativado, por favor entre em contato com o administrador ", + "Asset not found or You have no permission to access it, please refresh asset tree": "Não foi possível encontrar o bem ou você não tem permissão para acessá-lo, por favor, atualize a árvore de ativos", + "Asset tree loading method": " Configurar forma de carregamento da árvore de ativos ", + "Asset: ": "Ativo: {{value}}", + "Assignees": "Atendente", + "Automatic login next": "Login Automático na Próxima Vez (Clique com o botão direito na conexão do ativo para escolher novamente)", + "Backspace as Ctrl+H": " Terminal Character Backspace As Ctrl+H ", + "Batch actions": "Operações em Lote", + "Batch connect": "Conexão em massa", + "Belgian French keyboard layout": " Francês Belga (Azerty) ", + "CLI": "Linha de Comando", + "CLI font size": "Tamanho da fonte do terminal de caracteres", + "Cancel": "Cancelar", + "Charset": "Conjunto de caracteres", + "Checkbox": "Seleção múltipla", + "Choose a User": " Selecionar um Usuário ", + "Click to copy": "Clique para copiar", + "Client": "Cliente", + "Clone Connect": "Copiar Janela", + "Close": "Fechar", + "Close All Tabs": "Fechar tudo", + "Close Current Tab": "Feche o atual", + "Close Left Tabs": "Fechar à esquerda", + "Close Other Tabs": "Fechar outros", + "Close Right Tabs": " Fechar à direita", + "Close split connect": "Fechar divisão de tela", + "Command": "Comando", + "Command Line": "Linha de Comando", + "Command line": " Conectar To Line Command ", + "CommandBar": "Barra de comandos", + "Confirm": "Confirmar", + "Connect": "Conectar", + "Connect checked": "Conecte selecionado", + "Connect command line": "Conectar linha de comando", + "Connect method": "Forma de conexão", + "Copied": "Copiado", + "Copy link": "Copiar link", + "Current online": "Online Atual", + "Current session": "Sessão Atual", + "DarkBlue": "Deep Blue", + "Database": "Banco de Dados", + "Database connect info": "Informações de Conexão do Banco de Dados", + "Database disabled": "Este tipo de conexão não é suportado, por favor, contate o administrador", + "Database info": "Informações da Base de Dados", + "Database token help text": "O tipo de token do banco de dados será armazenado em cache por 5 minutos, o que significa que após o uso do token, ele não será imediatamente invalidado, mas somente 5 minutos após o cliente desconectar, esse token será completamente invalidado", + "Databases": "Banco de Dados", + "Default": "Padrão", + "Directly": "Nome do usuário especifica a propriedade e conta de conexão", + "Disable auto completion": "Desativar Auto-completar", + "Disconnect": "Desconectar", + "Disfavor": " Desfavoritar ", + "Do not close this page": "Não feche esta página", + "Document": " Documento ", + "Don't prompt again": "Não mostrar novamente", + "Download": "Baixar", + "Download the latest client": "Baixar o cliente mais recente", + "Driver redirect": "Montagem de Disco", + "Expand": "Expandir", + "Expand all": "Expandir Tudo", + "Expand all asset": "Expanda todos os ativos abaixo do nó", + "Expire time": "Tempo de Expiração", + "Failed to open address": "Falha ao abrir o endereço", + "Favorite": "Favoritos", + "File Manager": "Arquivo 管理", + "Fold": "Dobrar", + "Fold all": "Dobrar tudo", + "Force refresh": " Atualização Forçada", + "Found": "Descobrir", + "French keyboard layout": "Francês (Azerty)", + "Full Screen": "Exibir em tela cheia", + "Full screen": "Tela cheia", + "GUI": "Gráfico", + "General": "Configurações Básicas", + "Help": "Ajuda", + "Help or download": "Menu de Ajuda → Download", + "Help text": " Descrição ", + "Hide left manager": "Ocultar Barra Lateral Esquerda", + "Host": "Host", + "Info": "Aviso", + "InstallClientMsg": "O cliente JumpServer não está instalado, deseja baixá-lo e instalá-lo agora?", + "Japanese keyboard layout": " Japonês (Qwerty) ", + "Keyboard keys": "Option + Shift + Esquerdo / Direito", + "Keyboard layout": "Layout de Teclado", + "Keyboard switch session": "Alternar sessão → Teclas de atalho", + "Kubernetes": "Kubernetes", + "Language": "Idioma", + "Last login": "Último login", + "Launch Program": "Iniciar programa", + "LeftInfo": " Clicar no histórico de comandos permite uma rápida localização do vídeo ", + "Load tree async": " Carregamento Assíncrono da Árvore de Ativo ", + "Loading": "Carregando", + "Log out": "Sair da conta", + "Login reminder": "Alerta de login", + "Login review approved": "Login aprovado, conectando aos ativos...", + "LoginExpireMsg": "O login atual excedeu o tempo limite, por favor, não feche a janela. Após o login na nova janela, será possível restaurar a página atual. Se não restaurar, por favor atualize a página.", + "Manual accounts": "Conta manual", + "MenuAccountTemplates": "Modelo de conta", + "Module": "Módulo", + "Multi Screen": " Exibição Multi-Tela ", + "My applications": " Meu Aplicativo ", + "My assets": "Meus ativos", + "Name": "Nome ", + "Native": "Cliente ", + "Need review for login asset": "Este login precisa de revisão manual, deseja continuar?", + "Need to use": "Precisa usar", + "No": "Não", + "No account available": "Não há contas disponíveis", + "No available connect method": "Nenhum método de conexão disponível", + "No matching found": "Sem correspondências", + "No permission": "Sem permissão", + "No protocol available": "Não há protocolos disponíveis", + "NoTabs": "Sem Janelas", + "Not quick command": "Não há comandos rápidos disponíveis", + "Open in new window": "Abrir em nova janela", + "Operator": "Operador", + "Password": "Senha", + "Password is token password on the table": "A senha é a Senha Token na tabela", + "Password is your password login to system": "A senha é a sua senha de login do sistema", + "Pause": "Pausar", + "Pause task has been send": "A ação de pausar tarefa foi enviada", + "Play List": "Lista de Reprodução", + "Please choose an account": " Por favor, selecione um usuário ", + "Please input password": "Por favor, insira a senha", + "Port": "Porta", + "Protocol": "Protocolo", + "Protocol: ": "Protocolo: {{value}}", + "RDP Client": "Cliente RDP", + "RDP File": "Arquivo RDP", + "RDP client options": "Opções do cliente RDP", + "RDP color quality": " Qualidade de cor RDP ", + "RDP resolution": "RDP Resolução", + "RDP smart size": "RDP Tamanho inteligente", + "Re-use for a long time after opening": "Após a ativação, essas informações de conexão podem ser usadas várias vezes por um longo período", + "Reconnect": "Reconectar", + "Refresh": "Atualizar", + "Remember password": "Lembrar senha", + "Remember select": "Lembre-se da seleção", + "RemoteApp": "Aplicativo remoto", + "Reselect connection method": "Você pode escolher novamente a forma de conexão", + "Resume": "Restaurar", + "Resume task has been send": "Restauração de tarefa enviada", + "Right click asset": " Botão direito no Ativo → Conectar ", + "Right click node": " Clique com o botão direito no nó → Expandir todos ", + "Right mouse quick paste": "Colar rápido com botão direito", + "Run it by client": "Executar usando o cliente", + "SQL Client": "Cliente SQL", + "Save command": " Salvar Comando ", + "Save success": "Salvamento bem-sucedido", + "Search": "Pesquisar", + "Select account": "Selecionar conta", + "Send command": "Enviar comando", + "Send text to all ssh terminals": "Enviar texto para todos os terminais ssh", + "Set reusable": "Iniciar reutilização", + "Setting": "Configurações", + "Settings or basic settings": "Menu 设置 → Configurações básicas", + "ShareSession": "Compartilhamento de sessão", + "Show left manager": "Mostrar Barra Lateral Esquerda", + "Skip": "Pular", + "Skip manual password": " Ignorar janela de senha manual ", + "Special accounts": "Conta Especial", + "Speed": "Velocidade", + "Split connect": "Conexão de tela dividida", + "Split connect number": "Uma sessão suporta no máximo 3 conexões de tela dividida", + "Split vertically": "Divisão vertical de tela", + "SplitVertical": "Divisão Vertical", + "Start Time: ": "Horário de Início: {{value}}", + "Stop": "Parar", + "Support": "Suporte", + "Swiss French keyboard layout": "Swiss French (Qwertz)", + "Switch to input command": "Alterne para inserir comandos", + "Switch to quick command": "Mudar para Comandos Rápidos", + "Tab List": "Lista de janelas", + "Tabs": "Janela", + "The connection method is invalid, please refresh the page": "Esse método de conexão não é válido, por favor atualize a página", + "Theme": "Tema", + "Ticket review approved for login asset": "A verificação de login desta vez foi aprovada, deseja conectar ao ativo?", + "Ticket review closed for login asset": "A verificação de login desta vez foi encerrada, não é possível conectar ao ativo", + "Ticket review pending for login asset": "Seu pedido de login foi enviado, aguardando revisão pelo aprovador, você também pode copiar o link e enviar para ele", + "Ticket review rejected for login asset": "O login desta vez foi recusado, não é possível se conectar ao recurso", + "Tips": "Dica", + "Token expired": "Token Expirou, Por Favor Reconecte", + "Tool download": "Download da ferramenta", + "Turkey keyboard layout": "Turkish-Q (Qwerty)", + "Type tree": "Tipo de árvore", + "UK English keyboard layout": "Ingles do Reino Unido (Qwerty)", + "US English keyboard layout": "Inglês dos EUA (Qwerty)", + "User": " Usuário ", + "User: ": "Usuário: {{value}}", + "Username": "Nome de usuário", + "Username@Domain": "Nome de usuário@Domínio AD", + "Users": "Usuário", + "Using token": "Usar Token", + "View": "Visualização", + "Viewer": "Visualizar Pessoa", + "VirtualApp": "Aplicação virtual", + "Web Terminal": "Terminal web", + "Website": "Site oficial", + "With secret accounts": "Conta Gerida", + "Yes": "Sim", + "asset": "Ativos", + "cols": "Número de Colunas", + "confirm": "Confirme", + "connect info": " Informação de Conexão ", + "connectDisabledTipsMethodDisabled": "Dica: nenhuma aplicação remota eficaz foi encontrada, os recursos atuais não podem ser conectados, por favor, contate o administrador para tratar disso", + "connectDisabledTipsNoAccount": "Dica: Não foi possível encontrar uma conta autorizada válida, o recurso atual não pode se conectar, por favor, entre em contato com o administrador para lidar com isso", + "connectDisabledTipsNoConnectMethod": "Aviso: Nenhum método de conexão válido encontrado, o recurso atual não pode ser conectado, por favor, contate o administrador para lidar com isso", + "download": "Baixar", + "recordingIsBeingDownloaded": "O vídeo está sendo baixado, por favor aguarde", + "rows": " Número de Linhas ", + "start time": "Hora de início", + "success": " Sucesso", + "system user": "Usuário do Sistema", + "user": "Usuário" +} \ No newline at end of file diff --git a/apps/settings/api/i18n.py b/apps/settings/api/i18n.py index 4224621f1..0078379bc 100644 --- a/apps/settings/api/i18n.py +++ b/apps/settings/api/i18n.py @@ -7,6 +7,8 @@ from rest_framework.generics import RetrieveAPIView from rest_framework.permissions import AllowAny from rest_framework.response import Response +from common.const.choices import Language + class ComponentI18nApi(RetrieveAPIView): base_path = 'locale' @@ -26,9 +28,9 @@ class ComponentI18nApi(RetrieveAPIView): for file in files: if not file.endswith('.json'): continue - _lang = file.split('.')[0] + lang = file.split('.')[0] with open(safe_join(component_dir, file), 'r') as f: - data[_lang] = json.load(f) + data[lang] = json.load(f) self.lang_data[name] = data return data @@ -36,11 +38,11 @@ class ComponentI18nApi(RetrieveAPIView): name = kwargs.get('name') lang = request.query_params.get('lang') data = self.get_component_translations(name) - if lang: - lang = lang if lang in data.keys() else 'en' - data = data.get(lang) or {} + code = Language.to_internal_code(lang, with_filename=True) + data = data.get(code) or {} flat = request.query_params.get('flat', '1') if flat == '0': + # 这里要使用原始的 lang, lina 会 merge data = {lang: data} return Response(data) diff --git a/apps/settings/api/public.py b/apps/settings/api/public.py index 0c2568a39..46ae7eef8 100644 --- a/apps/settings/api/public.py +++ b/apps/settings/api/public.py @@ -29,7 +29,8 @@ class OpenPublicSettingApi(generics.RetrieveAPIView): "LANGUAGES": [ { 'name': title, - 'code': code + 'code': code, + 'other_codes': Language.get_other_codes(code), } for code, title in Language.choices ]