Files
BetterDesk/web-nodejs/lang/pt.json
T
UNITRONIX 8956ec653d feat(console): label optional UX 3.5 shell switch as Beta
Keep classic as the default production chrome. Mark the opt-in switcher
with a BETA badge/tooltip and show a topbar chip while UX 3.5 is active.
2026-07-31 20:12:42 +02:00

4348 lines
228 KiB
JSON
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"meta": {
"lang": "pt",
"name": "Portuguese",
"native_name": "Português",
"direction": "ltr"
},
"common": {
"loading": "Carregando...",
"confirm": "Confirmar",
"alert": "Alerta",
"prompt": "Insira o valor",
"copied": "Copiado para a área de transferência",
"save": "Salvar",
"saved": "Salvo",
"error": "Erro",
"success": "Sucesso",
"warning": "Aviso",
"info": "Informação",
"all": "Todos",
"cancel": "Cancelar",
"delete": "Excluir",
"actions": "Ações",
"close": "Fechar",
"required": "Obrigatório",
"name_required": "O nome é obrigatório",
"active": "Ativo",
"inactive": "Inativo",
"invalid_json": "JSON inválido",
"field_required": "O campo {field} é obrigatório",
"back": "Voltar",
"edit": "Editar",
"yes": "Sim",
"no": "Não"
},
"nav": {
"main": "Principal",
"tools": "Ferramentas",
"system": "Sistema",
"dashboard": "Painel",
"devices": "Dispositivos",
"keys": "Chaves",
"generator": "Gerador",
"settings": "Configurações",
"users": "Utilizadores",
"inventory": "Inventário",
"tickets": "Tickets",
"help_requests": "Solicitações de ajuda",
"activity": "Atividade",
"automation": "Automação",
"file_transfer": "Transferência de ficheiros",
"network": "Rede",
"dataguard": "DataGuard",
"reports": "Relatórios",
"tenants": "Inquilinos",
"registrations": "Registos",
"management": "Gerenciamento",
"toggle_sidebar": "Alternar barra lateral",
"cdap": "Dispositivos CDAP",
"fleet": "Frota",
"scaling": "Escalabilidade",
"cross_platform": "Multiplataforma",
"tokens": "Tokens de acesso",
"organizations": "Organizações",
"policies": "Políticas",
"attestation": "Atestação",
"remote": "Acesso remoto",
"toolkit": "Toolkit",
"security_audit": "Auditoria de Segurança",
"languages": "Idiomas",
"resource_control": "Controle de recursos",
"chat": "Chat",
"help": "Ajuda",
"expand_sidebar": "Expandir barra lateral",
"toggle_theme": "Alternar tema",
"sdk_studio": "SDK Studio",
"login": "Entrar",
"permissions": "Permissões",
"server_management": "Gestão do servidor",
"server_attestation": "Atestação do servidor",
"commercialization": "Comercialização",
"remote_open_tab": "Abrir cliente de ambiente de trabalho remoto num novo separador"
},
"auth": {
"login": "Entrar",
"logout": "Sair",
"login_title": "Iniciar sessão",
"login_subtitle": "Entrar na consola BetterDesk",
"username": "Nome de utilizador",
"username_placeholder": "Insira o nome de utilizador",
"password": "Palavra-passe",
"password_placeholder": "Insira a palavra-passe",
"remember_me": "Lembrar-me",
"login_failed": "Falha no início de sessão. Verifique as suas credenciais.",
"invalid_credentials": "Nome de utilizador ou palavra-passe inválidos.",
"username_collision": "Já existe uma conta local com este nome de utilizador. Inicie sessão com a sua palavra-passe local ou peça a um administrador para renomear ou remover a conta em conflito.",
"fill_all_fields": "Preencha todos os campos",
"logout_confirm": "Tem a certeza que deseja sair?",
"change_password": "Alterar palavra-passe",
"password_required": "A palavra-passe é obrigatória",
"totp_title": "Autenticação de dois fatores",
"totp_subtitle": "Insira o código de 6 dígitos da sua aplicação de autenticação",
"totp_code": "Código de verificação",
"totp_verify": "Verificar",
"totp_use_recovery": "Usar um código de recuperação",
"totp_use_code": "Usar código do autenticador",
"totp_recovery_code": "Código de recuperação",
"totp_back_to_login": "Voltar ao início de sessão",
"totp_invalid_code": "Código de verificação inválido. Tente novamente.",
"totp_enter_code": "Insira um código de 6 dígitos",
"totp_enter_recovery": "Insira um código de recuperação",
"totp_session_expired": "Sessão expirada. Por favor, inicie sessão novamente.",
"totp_already_enabled": "A autenticação de dois fatores já está ativada",
"pro_only_account": "Esta conta e apenas para o cliente de ambiente de trabalho RustDesk. Utilize a aplicacao RustDesk para iniciar sessao.",
"passwords_mismatch": "As palavras-passe nao coincidem",
"or": "ou",
"login_sso": "Entrar com SSO",
"login_sso_with": "Entrar com {{provider}}",
"oidc_denied": "O acesso foi negado pelo provedor de identidade.",
"oidc_invalid": "Callback OIDC inválido. Tente novamente.",
"oidc_failed": "A autenticação OIDC falhou. Tente novamente.",
"oidc_error": "Ocorreu um erro durante o login SSO.",
"oidc_no_account": "Sua conta não foi encontrada e o registro automático está desativado.",
"totp_rate_limited": "Muitas tentativas. Tente novamente mais tarde.",
"emergency_mode_banner": "Servidor Go inacessível — executando em modo de emergência (somente administrador, funcionalidade limitada)"
},
"dashboard": {
"title": "Painel",
"subtitle": "Visão geral do seu servidor RustDesk",
"total_devices": "Total de dispositivos",
"online_now": "Online agora",
"banned": "Banidos",
"active_connections": "Conexões ativas",
"offline_devices": "Offline",
"server_status": "Estado do servidor",
"quick_actions": "Ações rápidas",
"manage_devices": "Gerir dispositivos conectados",
"view_keys": "Ver chaves do servidor",
"generate_config": "Gerar configuração do cliente",
"server_settings": "Definir configurações",
"greeting_morning": "Bom dia, {name}",
"greeting_afternoon": "Boa tarde, {name}",
"greeting_evening": "Boa noite, {name}",
"greeting_night": "Boa noite, {name}",
"health_overview": "Visao geral da saude",
"devices_online": "Dispositivos online",
"active_alerts": "Alertas ativos",
"recent_connections": "Total de dispositivos",
"server_uptime": "Tempo de atividade do servidor",
"activity_feed": "Atividade recente",
"no_recent_activity": "Sem atividade recente",
"just_now": "agora mesmo",
"ago": "atras",
"tip_desktop_mode": "Experimente o Modo Desktop para um espaco de trabalho com varias janelas e widgets de monitorizacao.",
"tip_keyboard_shortcuts": "Prima Ctrl+K em qualquer lugar para abrir a paleta de comandos de pesquisa rapida.",
"tip_address_book": "Sincronize o seu livro de enderecos entre dispositivos iniciando sessao a partir do cliente RustDesk.",
"tip_2fa": "Ative a autenticacao de dois fatores nas Definicoes para maior seguranca da conta.",
"tip_bulk_actions": "Selecione varios dispositivos e utilize acoes em massa para os gerir de uma so vez.",
"tip_theme": "Alterne entre os temas escuro e claro nas definicoes da barra lateral.",
"tip_cdap": "Ligue dispositivos IoT e sensores industriais atraves do gateway CDAP.",
"tip_tutorials": "Clique no botao de ajuda no canto inferior direito para tutoriais interativos.",
"client_config_eyebrow": "Configuração do cliente",
"client_config_title": "Configuração do cliente RustDesk",
"client_config_subtitle": "Use estes valores no RustDesk para conectar clientes a este servidor BetterDesk.",
"copy_all_config": "Copiar tudo",
"show_config_qr": "Mostrar QR",
"config_server_id": "Servidor ID",
"config_relay_server": "Servidor relay",
"config_api_server": "Servidor API",
"config_key": "Chave",
"client_config_hint": "Insira estes valores nas configurações de rede do RustDesk, na seção servidor ID/relay.",
"open_generator": "Gerador de cliente",
"open_keys": "Abrir chaves",
"open_remote": "Abrir console de área de trabalho remota",
"attention_panel": "Requer atenção",
"system_ready": "Sistema pronto",
"system_attention": "Requer atenção",
"config_not_ready": "A configuração do cliente ainda não está pronta.",
"client_config_qr_title": "QR de configuração do RustDesk",
"client_config_qr_hint": "Leia este código em um cliente RustDesk compatível com QR codes de configuração.",
"client_server_host_label": "Endereço do servidor para clientes",
"client_server_host_placeholder": "ex.: 203.0.113.10 ou desk.example.com",
"client_server_host_hint": "Endereço que os clientes RustDesk usam para este servidor. Altere quando a URL do painel difere do IP/DNS do cliente. Domínios separados: Definições → Endpoints públicos do cliente.",
"apply_client_host": "Aplicar",
"copy_deploy_string": "Copiar string de implantação",
"show_intune_script": "Script Intune / PSADT",
"intune_script_title": "Trecho de implantação Windows",
"intune_script_hint": "Execute como administrador após o MSI do RustDesk. Usa a mesma string de Copiar string de implantação.",
"deploy_string_not_ready": "A string de implantação só fica disponível após carregar a chave pública do servidor.",
"client_server_host_env_hint": "ID, relay e API públicos estão em Definições → Endpoints públicos do cliente. Limpe lá para usar este campo novamente."
},
"devices": {
"title": "Dispositivos",
"id": "ID",
"hostname": "Nome do host",
"username": "Nome de utilizador",
"platform": "Plataforma",
"version": "Versão",
"ip_address": "Endereço IP",
"note": "Nota",
"last_seen": "Última vez visto",
"last_online": "Última vez online",
"first_seen": "Primeira vez visto",
"created": "Criado",
"status": "Estado",
"ban_reason": "Motivo do banimento",
"actions": "Ações",
"search_placeholder": "Pesquisar dispositivos...",
"filter_all": "Todos",
"filter_online": "Online",
"filter_offline": "Offline",
"filter_banned": "Banidos",
"selected": "selecionado(s)",
"showing": "A mostrar",
"of": "de",
"sync_status": "Estado de sincronização",
"sync_success": "Estado sincronizado com sucesso",
"empty_title": "Nenhum dispositivo encontrado",
"empty_text": "Nenhum dispositivo corresponde aos filtros atuais",
"edit_title": "Detalhes do dispositivo",
"delete_title": "Excluir dispositivo",
"delete_confirm": "Tem a certeza que deseja excluir o dispositivo {id}?",
"delete_reserved_hint": "O dispositivo será ocultado e o ID permanecerá reservado. Selecione exclusão permanente para liberar o ID para reutilização.",
"delete_warning": "Está prestes a excluir permanentemente este dispositivo:",
"delete_permanent": "Esta ação não pode ser revertida. Todos os dados associados a este dispositivo serão permanentemente removidos da base de dados.",
"delete_success": "Dispositivo excluído com sucesso",
"revoke_option": "Revogar dispositivo",
"revoke_hint": "Bloquear ID do dispositivo e desconectar conexões ativas",
"revoke_success": "Dispositivo revogado com sucesso",
"details": "Detalhes do dispositivo",
"ban_title": "Banir dispositivo",
"ban_confirm": "Tem a certeza que deseja banir o dispositivo {id}?",
"ban_success": "Dispositivo banido com sucesso",
"unban_title": "Desbanir dispositivo",
"unban_confirm": "Tem a certeza que deseja desbanir o dispositivo {id}?",
"unban_success": "Dispositivo desbanido com sucesso",
"change_id": "Alterar ID",
"change_id_title": "Alterar ID do dispositivo",
"new_id": "Novo ID",
"change_id_hint": "6-16 caracteres, apenas letras, números, hífens e underscores",
"change_id_online_warn": "O dispositivo está online. Prefira alterar o ID no cliente RustDesk. A alteração no painel mantém a identidade, mas o cliente deve adotar o novo ID.",
"change_id_success": "ID do dispositivo alterado com sucesso",
"id_length_error": "O ID deve ter 6-16 caracteres",
"id_format_error": "O ID só pode conter letras, números, hífens e underscores",
"bulk_delete_title": "Excluir vários dispositivos",
"bulk_delete_confirm": "Tem a certeza que deseja excluir {count} dispositivos?",
"bulk_delete_success": "{count} dispositivos excluídos com sucesso",
"columns": "Colunas",
"toggle_columns": "Alternar colunas visíveis",
"not_found": "Dispositivo não encontrado",
"delete_failed": "Não foi possível excluir o dispositivo",
"change_id_failed": "Não foi possível alterar o ID do dispositivo",
"invalid_id": "ID de dispositivo inválido",
"invalid_id_format": "Formato de ID inválido",
"id_exists": "Este ID de dispositivo já existe",
"id_reserved_deleted": "Este ID pertence a um dispositivo eliminado. Restaure-o ou elimine-o permanentemente para libertar o ID.",
"show_deleted": "Mostrar dispositivos eliminados",
"deleted_badge": "Eliminado",
"restore_title": "Restaurar dispositivo",
"restore_confirm": "Restaurar o dispositivo {id}? Tornará visível e poderá voltar a ligar-se com a mesma identidade.",
"restore_success": "Dispositivo restaurado com sucesso",
"restore_action": "Restaurar",
"permanent_delete_title": "Eliminar dispositivo permanentemente",
"permanent_delete_confirm": "Eliminar permanentemente o dispositivo {id}? Liberta o ID e não pode ser anulado.",
"permanent_delete_success": "Dispositivo eliminado permanentemente",
"filter_deleted": "Eliminados",
"no_selection": "Nenhum dispositivo selecionado",
"device_type": "Tipo de dispositivo",
"filter_type_all": "All Types",
"filter_type_rustdesk": "RustDesk",
"filter_type_desktop": "Desktop",
"filter_type_scada": "SCADA",
"filter_type_iot": "IoT",
"filter_type_agent": "Agent",
"cdap_connected": "CDAP Conectado",
"revoke": "Revogar",
"access_policy": "Política de acesso",
"unattended_access": "Acesso não supervisionado",
"enable_unattended": "Ativar acesso não supervisionado",
"access_password": "Senha de acesso",
"password_configured": "Senha configurada",
"no_password": "Nenhuma senha configurada",
"new_password": "Nova senha",
"clear_password": "Limpar senha",
"access_schedule": "Agenda de acesso",
"enable_schedule": "Ativar agenda",
"allowed_days": "Dias permitidos",
"start_time": "Start time",
"end_time": "End time",
"timezone": "Timezone",
"allowed_operators": "Operadores permitidos",
"all_operators": "Todos os operadores",
"operators_hint": "Deixe vazio para permitir acesso a todos os operadores.",
"last_updated_by": "Última atualização por",
"access_policy_saved": "Política de acesso salva",
"tabs": {
"overview": "Visão geral",
"hardware": "Hardware",
"metrics": "Métricas",
"connections": "Conexões",
"audit": "Audit",
"info": "Info",
"history": "Histórico"
},
"hardware": {
"cpu": "Processador",
"memory": "Memória",
"disk": "Disco",
"os": "Sistema operativo",
"hostname": "Hostname",
"uptime": "Uptime",
"load_avg": "Carga média",
"network": "Adaptadores de rede",
"no_data": "Nenhum dado de hardware disponível",
"title": "Informação de hardware",
"gpu": "Placa gráfica"
},
"display_name": "Nome exibido",
"display_name_placeholder": "Digite um nome exibido...",
"note_placeholder": "Digite uma nota...",
"tags": "Tags",
"filter_by_tags": "Filtrar por tags",
"no_tags": "No tags",
"all_groups": "Todos os grupos",
"create_group": "Criar grupo",
"manage_groups": "Gerenciar grupos",
"group_name": "Nome do grupo",
"group_name_placeholder": "ex.: PCs de mídia",
"dynamic_group": "Grupo dinâmico por tag",
"dynamic_group_hint": "Dispositivos com esta tag entram automaticamente.",
"tag_filter": "Tag filter",
"group_allowed_users": "Usuários permitidos",
"group_allowed_users_hint": "Deixe vazio para manter o grupo visível para todos com permissões de dispositivo.",
"group_tag_required": "O filtro de tag é obrigatório para grupos dinâmicos",
"group_invalid": "Identificador de grupo inválido",
"group_not_found": "Grupo não encontrado",
"group_saved": "Grupo de dispositivos salvo",
"strategies_title": "Access control strategies",
"strategies_hint": "Link user groups to device groups and push RustDesk Pro security settings to matching clients.",
"create_strategy": "Add strategy",
"edit_strategy": "Edit strategy",
"delete_strategy": "Delete strategy",
"delete_strategy_confirm": "Delete strategy {name}?",
"strategy_name": "Strategy name",
"strategy_name_required": "Strategy name is required",
"strategy_user_group": "User group",
"strategy_device_group": "Device group",
"strategy_any_user_group": "Any user group",
"strategy_any_device_group": "Any device group",
"strategy_enabled": "Enabled",
"strategy_disabled": "Disabled",
"strategy_enabled_label": "Strategy enabled",
"strategy_permissions": "Client security settings",
"strategy_permissions_hint": "Uses RustDesk advanced-setting keys (Y/N). Leave Default to keep client or strategy inheritance.",
"strategy_permissions_count": "{count} settings",
"strategy_perm_default": "Default",
"strategy_perm_allow": "Allow (Y)",
"strategy_perm_deny": "Deny (N)",
"strategy_perm_file_transfer": "File transfer",
"strategy_perm_disable_clipboard": "Disable clipboard",
"strategy_perm_enable_clipboard": "Enable clipboard",
"strategy_perm_audio": "Audio",
"strategy_perm_tunnel": "TCP tunnel",
"strategy_perm_camera": "Camera",
"strategy_perm_restart": "Remote restart",
"strategy_perm_block_input": "Block user input",
"strategy_created": "Strategy created",
"strategy_updated": "Strategy updated",
"strategy_deleted": "Strategy deleted",
"strategy_not_found": "Strategy not found",
"no_strategies": "No access control strategies yet",
"loading_strategies": "Loading strategies...",
"groups_saved": "Grupos de dispositivos salvos",
"group_membership_added": "Adicionado ao grupo",
"group_membership_removed": "Removido do grupo",
"no_groups": "Ainda não há grupos",
"manual_groups": "Grupos manuais",
"dynamic_memberships": "Associações dinâmicas",
"group_allowed_user_groups": "Grupos de usuários permitidos",
"group_allowed_user_groups_hint": "Usuários nos grupos selecionados podem acessar este grupo de dispositivos.",
"no_user_groups": "Sem grupos de usuários",
"edit_group": "Editar grupo",
"delete_group": "Excluir grupo",
"delete_group_confirm": "Excluir o grupo de dispositivos {name}?",
"group_deleted": "Grupo de dispositivos excluído",
"folder_group_readonly": "Grupos baseados em pastas são gerenciados em Pastas.",
"manage_user_groups": "Gerenciar grupos de usuários",
"restore_failed": "Erro al restaurar o dispositivo",
"no_signal_tooltip": "O cliente contactou a API recentemente, mas não está registado no servidor de sinal (UDP :21116). Reinicie o cliente após a migração do servidor.",
"per_page": "Por página",
"strategy_assign": "Assign targets",
"strategy_assign_title": "Assign strategy: {name}",
"strategy_assign_devices": "Devices",
"strategy_assign_users": "Users",
"strategy_assign_groups": "Device groups",
"strategy_assign_hint": "Select devices, users, or device groups that should use this strategy directly (RustDesk Pro priority: device > user > group).",
"strategy_assign_saved": "Strategy assignments saved",
"strategy_assign_counts": "{peers} devices, {users} users, {groups} groups",
"strategy_assign_none": "No direct assignments"
},
"keys": {
"title": "Chaves do servidor",
"subtitle": "Chave pública e configuração para clientes RustDesk",
"public_key": "Chave pública",
"qr_code": "Código QR",
"server_info": "Informação do servidor",
"download": "Transferir chave",
"show_qr": "Mostrar QR",
"qr_hint": "Digitalize este código QR com o aplicativo móvel RustDesk",
"no_key": "Nenhuma chave pública encontrada",
"no_key_to_copy": "Nenhuma chave para copiar",
"no_qr": "Código QR não disponível",
"download_success": "Ficheiro da chave transferido",
"not_found": "Chave não encontrada",
"api_not_found": "Chave de API não encontrada"
},
"settings": {
"title": "Configurações",
"subtitle": "Configuração da consola e definições da conta",
"tab_general": "Geral",
"tab_server": "Servidor",
"tab_branding": "Marca",
"tab_backup": "Backup",
"language": "Idioma",
"change_password": "Alterar palavra-passe",
"password_desc": "Atualizar a palavra-passe da sua conta",
"current_password": "Palavra-passe atual",
"new_password": "Nova palavra-passe",
"confirm_password": "Confirmar palavra-passe",
"save_password": "Atualizar palavra-passe",
"password_changed": "Palavra-passe alterada com sucesso",
"fill_all_fields": "Preencha todos os campos",
"passwords_not_match": "As palavras-passe não correspondem",
"password_requirements": "Requisitos da palavra-passe",
"password_requirements_not_met": "A palavra-passe não cumpre os requisitos",
"req_length": "Pelo menos 8 caracteres",
"req_uppercase": "Pelo menos uma letra maiúscula",
"req_lowercase": "Pelo menos uma letra minúscula",
"req_number": "Pelo menos um número",
"server_info": "Informação do servidor",
"version": "Versão",
"database": "Base de dados",
"uptime": "Tempo de atividade",
"audit_log": "Registo de auditoria",
"audit_desc": "Atividade recente da consola",
"no_audit_logs": "Nenhum registo de auditoria encontrado",
"backend_title": "Backend do servidor",
"backend_desc": "Escolha o backend do servidor para gestão de dispositivos e serviços de sinal/relay.",
"backend_original": "Original",
"backend_enhanced": "Melhorado",
"backend_rustdesk_desc": "Servidores de sinal e relay padrão do RustDesk (hbbs + hbbr). API HTTP básica com endpoints limitados.",
"backend_betterdesk_desc": "Servidor melhorado baseado em Go com API REST completa, autenticação JWT, lista de bloqueio, etiquetas, eventos WebSocket em tempo real e registo de auditoria.",
"backend_feature_signal": "Servidor de sinal (registo de ID)",
"backend_feature_relay": "Servidor relay (encaminhamento de conexões)",
"backend_feature_basic_api": "API REST básica",
"backend_feature_full_api": "API REST completa (34+ endpoints)",
"backend_feature_jwt": "Autenticação JWT e TOTP 2FA",
"backend_feature_blocklist": "Gestão de lista de bloqueio IP/ID",
"backend_feature_tags": "Etiquetas e agrupamento de dispositivos",
"backend_feature_audit": "Registo de eventos de auditoria",
"backend_feature_websocket": "Eventos WebSocket em tempo real",
"backend_connection": "Conexão",
"backend_api_url": "URL da API",
"backend_test": "Testar conexão",
"backend_testing": "A testar...",
"backend_save": "Aplicar backend",
"backend_saved": "Backend do servidor alterado com sucesso. Os dados dos dispositivos serão agora geridos pelo novo backend.",
"backend_save_failed": "Falha ao alterar o backend do servidor",
"backend_test_success": "Conexão bem-sucedida! O servidor está acessível.",
"backend_test_failed": "Falha na conexão. O servidor não está acessível.",
"backend_confirm_switch": "Tem a certeza que deseja alterar o backend do servidor? Isto alterará a gestão dos dispositivos.",
"backend_unreachable": "Não é possível alterar: o servidor de destino não está acessível. Inicie primeiro o servidor.",
"invalid_backend": "Seleção de backend inválida. Escolha 'rustdesk' ou 'betterdesk'.",
"backend_status_running": "Conectado",
"backend_status_unreachable": "Inacessível",
"backend_status_error": "Erro",
"backend_status_unknown": "Desconhecido",
"totp_title": "Autenticação de dois fatores",
"totp_desc": "Adicione uma camada extra de segurança com aplicações de autenticação TOTP (Google Authenticator, Microsoft Authenticator, Authy, etc.)",
"totp_enabled": "2FA ativado",
"totp_enabled_desc": "A sua conta está protegida pela autenticação de dois fatores.",
"totp_disabled": "2FA não ativado",
"totp_disabled_desc": "Ative a autenticação de dois fatores para maior segurança da conta.",
"totp_setup": "Ativar 2FA",
"totp_disable": "Desativar 2FA",
"totp_step1": "Instale uma aplicação de autenticação no seu telemóvel",
"totp_step2": "Digitalize o código QR abaixo",
"totp_step3": "Insira o código de 6 dígitos para verificar",
"totp_manual_key": "Chave manual",
"totp_enter_code": "Insira o código de verificação",
"totp_verify_enable": "Verificar e ativar",
"totp_enabled_success": "Autenticação de dois fatores ativada!",
"totp_recovery_warning": "Guarde estes códigos de recuperação num local seguro. Cada código só pode ser usado uma vez. Se perder o acesso à sua aplicação de autenticação, pode usar estes códigos para iniciar sessão.",
"totp_done": "Concluído",
"totp_disable_warning": "Desativar a autenticação de dois fatores tornará a sua conta menos segura. Insira a sua palavra-passe para confirmar.",
"totp_disabled_success": "A autenticação de dois fatores foi desativada.",
"tutorials_title": "Tutoriais interativos",
"tutorials_desc": "Mostra dicas guiadas curtas para áreas novas ou alteradas da console.",
"tutorials_enabled": "Ativar tutoriais",
"tutorials_enabled_hint": "Quando ativado, tutoriais aparecem automaticamente para áreas que você ainda não concluiu.",
"tutorials_reset_hint": "Limpa todo o progresso salvo para que os tutoriais apareçam novamente.",
"tutorials_enabled_toast": "Tutoriais ativados",
"tutorials_disabled_toast": "Tutoriais desativados",
"tutorials_reset_toast": "Progresso dos tutoriais redefinido",
"tab_auth": "Autenticação",
"ldap_title": "LDAP / Active Directory",
"ldap_desc": "Configure autenticação externa via LDAP ou Active Directory. Os usuários poderão entrar com suas credenciais de domínio.",
"ldap_enabled": "Ativar autenticação LDAP",
"ldap_enabled_hint": "Quando ativado, utilizadores do diretório podem iniciar sessão com credenciais LDAP/AD. Cada conta fica ligada a um fornecedor (local, LDAP ou OIDC) — palavras-passe locais não são aceites em contas LDAP.",
"ldap_connection": "Conexão do servidor",
"ldap_host": "Host",
"ldap_port": "Porta",
"ldap_use_tls": "LDAPS (TLS)",
"ldap_start_tls": "StartTLS",
"ldap_skip_verify": "Ignorar verificação TLS",
"ldap_timeout": "Tempo limite da conexão (s)",
"ldap_timeout_hint": "Segundos para aguardar a resposta do servidor LDAP",
"ldap_bind_mode": "Modo de bind",
"ldap_direct_bind": "Bind direto",
"ldap_direct_bind_hint": "Fazer bind diretamente com um modelo de DN em vez de usar uma conta de serviço para pesquisar.",
"ldap_bind_dn": "DN de bind (conta de serviço)",
"ldap_bind_dn_hint": "Nome distinto de uma conta de serviço somente leitura usada para pesquisar usuários.",
"ldap_bind_password": "Senha de bind",
"ldap_base_dn": "DN base",
"ldap_base_dn_hint": "Base de pesquisa para encontrar usuários, por exemplo dc=example,dc=com",
"ldap_user_filter": "Filtro de usuário",
"ldap_user_filter_hint": "Filtro LDAP para localizar usuários. Use {{username}} como placeholder. Padrão: (sAMAccountName={{username}})",
"ldap_direct_bind_dn": "Modelo de DN para bind direto",
"ldap_direct_bind_dn_hint": "Modelo de DN para bind direto. Use {{username}} como placeholder, por exemplo uid={{username}},ou=users,dc=example,dc=com",
"ldap_user_attrs": "Atributos do usuário",
"ldap_attr_id": "Atributo de nome de usuário",
"ldap_attr_email": "Atributo de e-mail",
"ldap_attr_name": "Atributo de nome exibido",
"ldap_group_mapping": "Mapeamento grupo → função",
"ldap_group_base_dn": "DN base de grupos",
"ldap_group_base_dn_hint": "Deixe vazio para usar o DN base principal",
"ldap_group_filter": "Filtro de grupos",
"ldap_group_attr_name": "Atributo de nome do grupo",
"ldap_default_role": "Função padrão",
"ldap_default_role_hint": "Função atribuída a usuários cujos grupos LDAP não correspondem a nenhum mapeamento",
"ldap_role_viewer": "Visualizador",
"ldap_role_operator": "Operador",
"ldap_role_admin": "Administrador",
"ldap_group_role_map": "Mapa grupo → função",
"ldap_group_role_map_hint": "Mapeie grupos LDAP para funções do BetterDesk. Formato: GroupDN=função separado por | (pipe). Exemplo: CN=Admins,DC=example,DC=com=admin|CN=Ops,DC=example,DC=com=operator",
"ldap_test_connection": "Testar conexão",
"ldap_testing": "Testando...",
"ldap_test_success": "Conexão bem-sucedida! O servidor LDAP está acessível e as credenciais de bind são válidas.",
"ldap_test_failed": "Falha na conexão",
"ldap_save": "Salvar configuração LDAP",
"ldap_saved": "Configuração LDAP salva com sucesso",
"oidc_title": "OIDC / OAuth2 (SSO)",
"oidc_desc": "Configure login único usando um provedor OpenID Connect (Azure AD, Okta, Google, Keycloak etc.).",
"oidc_enabled": "Ativar autenticação OIDC",
"oidc_enabled_hint": "Permitir que usuários entrem com um provedor de identidade externo",
"oidc_provider": "Provedor de identidade",
"oidc_display_name": "Nome exibido no botão",
"oidc_display_name_hint": "Texto mostrado no botão de login (por exemplo, Azure AD, Okta)",
"oidc_issuer_url": "URL do emissor",
"oidc_issuer_url_hint": "URL do emissor OpenID Connect (a descoberta é automática)",
"oidc_client_id": "ID do cliente",
"oidc_client_secret": "Segredo do cliente",
"oidc_redirect_url": "URL de redirecionamento (callback)",
"oidc_redirect_url_hint": "Deve corresponder exatamente ao IdP. Caminho: /api/auth/oidc/callback (ou /api/oidc/callback). Prefira o URL público do painel — a consola faz proxy do callback para a API Go. As portas da API (:21114 / :21121) também funcionam.",
"oidc_panel_url": "URL do painel",
"oidc_panel_url_hint": "URL usada pelos operadores para abrir a consola web (porta 5000 ou hostname do reverse proxy). Necessária para login SSO quando o callback OIDC corre na porta da API Go.",
"oidc_scopes": "Escopos",
"oidc_use_pkce": "Usar PKCE (recomendado)",
"oidc_auto_discovery": "Descoberta automática",
"oidc_allow_signup": "Criar usuários automaticamente",
"oidc_manual_endpoints": "URLs de endpoints manuais",
"oidc_authorization_url": "Endpoint de autorização",
"oidc_token_url": "Endpoint de token",
"oidc_userinfo_url": "Endpoint UserInfo",
"oidc_claim_mapping": "Mapeamento de claims",
"oidc_claim_username": "Claim de nome de usuário",
"oidc_claim_email": "Claim de e-mail",
"oidc_claim_name": "Claim de nome exibido",
"oidc_claim_groups": "Claim de grupos",
"oidc_role_mapping": "Mapeamento de funções",
"oidc_default_role": "Função padrão",
"oidc_group_role_map": "Mapeamento grupo → função",
"oidc_group_role_map_hint": "Um mapeamento por linha: nome_do_grupo=função (por exemplo, admins=admin, operators=operator)",
"oidc_test_discovery": "Testar descoberta",
"oidc_testing": "Testando...",
"oidc_test_success": "Descoberta bem-sucedida! Endpoints resolvidos.",
"oidc_test_failed": "Falha na descoberta",
"oidc_issuer_required": "A URL do emissor é obrigatória para testar a descoberta",
"oidc_save": "Salvar configuração OIDC",
"oidc_saved": "Configuração OIDC salva com sucesso",
"tab_advanced": "Avançado",
"connection_mode_title": "Estratégia de ligação",
"connection_mode_desc": "Controla como se conectan los clientes de escritorio RustDesk: P2P directo (hole punch) cuando sea posible, o sempre a través de retransmisión.",
"connection_mode_label": "Modo de ligação predeterminado",
"connection_mode_p2p_first": "P2P primero (recomendado) — tentar ligação direta, usar retransmisión como alternativa",
"connection_mode_relay_only": "Solo retransmisión — todas las sessões usan el servidor de retransmisión",
"connection_mode_advanced": "Opções avançadas",
"connection_mode_fallback_ms": "Tempo limite de fallback P2P (ms)",
"connection_mode_same_nat_relay": "Forçar retransmisión cuando ambos pares partilham la misma IP pública (NAT hairpin)",
"connection_mode_network_hint": "P2P requer que el porta UDP 21116 sea accesible entre los clientes. Signal TCP 21116, relay TCP 21117, NAT test 21115 devem estar abertas en el servidor. Los clientes de navegador web sempre usan retransmisión.",
"connection_mode_save": "Guardar",
"connection_mode_save_restart": "Guardar y reiniciar servidor",
"connection_mode_saved": "Modo de ligação guardado",
"connection_mode_restart_started": "Reinicio do servidor iniciado",
"connection_mode_restart_failed": "Erro al reiniciar el servidor",
"connection_mode_not_configurable": "El modo de ligação não é possível cambiar en este despliegue (no se encontrou unidad systemd ni docker-compose)",
"connection_mode_compose_error": "Não foi possível encontrar la secção de ambiente do servidor em docker-compose.yml",
"connection_mode_source_saved": "Guardado en",
"connection_mode_source_defaults": "A usar valores predefinidos do servidor (no modificables desde el painel)",
"connection_mode_runtime": "Servidor ativo",
"advanced_title": "Ficheiros de configuração",
"advanced_desc": "Edita los ficheiros de configuração do servidor diretamente. Los alterações podem exigir reiniciar los serviços. Se crea una cópia de segurança antes de cada guardado.",
"advanced_warning": "Estos ficheiros contienen segredos (chaves API, palavra-passes de base de dados, segredos de sesión). Edita solo si sabes lo que estás haciendo. Una sintaxe incorreta puede impedir que el servidor arranque.",
"advanced_files_label": "Ficheiros",
"advanced_select_file": "Selecciona un ficheiro de la lista para ver ou editar su conteúdo.",
"advanced_reload": "Recarregar",
"advanced_save": "Guardar ficheiro",
"advanced_apply_restart": "Aplicar (reiniciar serviço)",
"advanced_saved": "Ficheiro de configuração guardado",
"advanced_restart_after_save": "Configuração guardada. Reiniciar el serviço afetado agora para que los alterações surtan efecto?",
"advanced_restart_confirm": "Reiniciar el(los) serviço(s) BetterDesk relacionado(s)? Las ligações activas pueden interrumpirse brevemente.",
"advanced_restart_console_confirm": "Reiniciar el serviço de consola web? La sessão do navegador se desligará brevemente y la página se recarregará cuando la consola voltar.",
"advanced_restart_started": "Reinicio del serviço iniciado",
"advanced_restart_done": "Consola reiniciada — rea carregar página…",
"advanced_restart_polling": "A aguardar que la consola voltar a estar en línea…",
"advanced_restart_timeout": "Se envió el reinicio pero la consola no respondeu a tempo. Revisa los registros de systemd/NSSM y recarga manualmente.",
"advanced_restart_failed": "Erro al reiniciar el serviço (privilégios insuficientes o serviço não instalado)",
"advanced_save_confirm": "Guardar alterações en este ficheiro? Se creará una cópia de segurança de la versão anterior.",
"advanced_unsaved_confirm": "Tienes alterações por guardar. Descartarlos?",
"advanced_no_files": "No hay ficheiros de configuração disponíveis en este sistema.",
"advanced_readonly": "somente leitura",
"advanced_missing": "em faltante",
"advanced_new_file": "Nuevo ficheiro (no se crea hasta que guardes)",
"advanced_new_file_hint": "Nuevo ficheiro — agrega conteúdo y guarda",
"advanced_backup_created": "cópia de segurança criada",
"advanced_restart_console": "Reinicia el serviço de consola web (p. ej. systemctl restart betterdesk-console) para que los alterações en .env surtan efecto.",
"advanced_restart_goserver": "Reinicia el servidor Go de BetterDesk para que se carreguem los alterações en la lista de bloqueio.",
"advanced_restart_systemd": "Depois de editar las unidades de systemd, ejecuta: systemctl daemon-reload && systemctl restart <service>",
"advanced_restart_generic": "Reinicia el serviço afetado para que los alterações surtan efecto.",
"advanced_error_unknown": "Ficheiro de configuração desconhecido",
"advanced_error_not_found": "El ficheiro não existe",
"advanced_error_not_file": "La caminho no es un ficheiro regular",
"advanced_error_too_large": "El ficheiro excede el tamaño máximo editável (512 KB)",
"advanced_error_binary": "Los ficheiros binários não é possíveln editar en el painel",
"advanced_error_invalid": "Contenido de ficheiro no válido",
"advanced_error_not_writable": "El ficheiro no es editável por el proceso de consola",
"advanced_file_console-env": "Ambiente de la consola (.env)",
"advanced_file_console-env-local": "Anulaciones de la consola (.env.local)",
"advanced_file_go-blocklist": "Lista de bloqueo do servidor Go (blocklist.txt)",
"advanced_file_systemd-console": "systemd: betterdesk-console (unidade de serviço)",
"advanced_file_systemd-server": "systemd: betterdesk-server (unidade de serviço)",
"advanced_file_console-session-secret": "Segredo de sesión de la consola (.session_secret)",
"advanced_file_go-audit-log": "Registro de auditoría do servidor Go (audit.jsonl)",
"advanced_file_build-env": "Ambiente de compilação del agente (/etc/betterdesk/build.env)",
"advanced_file_docker-supervisord": "Docker: supervisord.conf (configuração do supervisor)",
"advanced_file_docker-compose": "Docker: docker-compose.yml (orquestração)",
"advanced_restart_none": "No se requer reinicio del serviço para este ficheiro.",
"enrollment_title": "Registo de dispositivo (RustDesk)",
"enrollment_desc": "Controla como se registam los novos clientes RustDesk y cómo los operadores os aprovam en la página de pedidos de registo.",
"enrollment_require_approval": "Requer aprovação del operador (modo gerido)",
"enrollment_require_approval_hint": "Cuando está ativado, los clientes desconhecidos se ponen en fila até um operador los aprueba en Pedidos de registo.",
"enrollment_rich_approve": "Formulario de aprovação completo (nome, pasta, grupos, etiquetas)",
"enrollment_rich_approve_hint": "Muestra un diálogo detalhado al aprovar pedidos de registo o registro LAN.",
"enrollment_tag_picker": "Escolher etiquetas de las etiquetas de dispositivos existentes",
"enrollment_tag_picker_hint": "Permite aos operadores selecionar etiquetas de la lista usada en la página de Dispositivos em vez de solo escribirlas.",
"enrollment_open_requests": "Pedidos de registo abiertas",
"enrollment_pending_count": "{count} solicitud(es) de registo pendente(s)",
"go_server_version": "Servidor Go",
"go_server_version_dev_hint": "O binário Go reporta build de desenvolvimento — recompile ou atualize o servidor para corresponder à versão do produto",
"tab_email": "Email",
"email": {
"title": "Email notifications",
"desc": "Configure SMTP delivery for operational notifications and system alert emails.",
"smtp_host": "SMTP host",
"smtp_port": "Port",
"smtp_secure": "Use TLS/SSL",
"smtp_user": "Username",
"smtp_pass": "Password",
"smtp_from": "From address",
"alert_email": "Alert email",
"alert_email_hint": "Fallback address when no operator email is available, and for system warnings.",
"smtp_test": "Test connection",
"smtp_save": "Save configuration",
"smtp_saved": "Email settings saved",
"smtp_test_success": "Connection successful",
"smtp_test_failed": "Connection failed"
},
"ui": {
"search_placeholder": "Search settings…",
"search_results": "{count} matching sections",
"auth_sub_enrollment": "Enrollment",
"auth_sub_ldap": "LDAP / AD",
"auth_sub_oidc": "OIDC / SSO",
"branding_rdclient": "RdClient",
"connection_p2p_hint": "Try direct peer connection first; fall back to relay when P2P fails.",
"connection_relay_hint": "Route all client traffic through the relay server.",
"auth_sub_client_sessions": "Clientes RustDesk"
},
"confirm": {
"connection_mode_title": "Save connection strategy?",
"connection_mode": "Apply the new connection strategy for RustDesk clients?",
"connection_restart_title": "Save and restart server?",
"connection_restart": "Save connection settings and restart the BetterDesk server? Active sessions may disconnect briefly.",
"enrollment_mode_title": "Change enrollment mode?",
"enrollment_mode": "Switch enrollment to “{mode}”? This affects how new RustDesk clients can register.",
"ldap_enable_title": "Enable LDAP?",
"ldap_enable": "Enable LDAP / Active Directory sign-in? Console users may authenticate against your directory.",
"ldap_save_title": "Save LDAP settings?",
"ldap_save": "Save LDAP configuration? Incorrect settings can block directory sign-in.",
"oidc_enable_title": "Enable SSO?",
"oidc_enable": "Enable OIDC / SSO sign-in? Users may authenticate through your identity provider.",
"oidc_save_title": "Save SSO settings?",
"oidc_save": "Save OIDC / SSO configuration? Incorrect settings can block SSO sign-in.",
"smtp_save_title": "Save SMTP settings?",
"smtp_save": "Save SMTP configuration? Alert emails and notifications will use this mail server.",
"backup_restore_title": "Restore backup?",
"backup_restore": "Restore from this backup file? Selected data will be overwritten.",
"tutorials_reset_title": "Reset tutorials?",
"tutorials_reset": "Reset all tutorial progress? Guided tips will show again on each page.",
"advanced_save_title": "Save configuration file?",
"advanced_restart_after_title": "Restart service?",
"advanced_restart_title": "Restart service?",
"advanced_discard_title": "Discard changes?"
},
"public_endpoints_title": "Endpoints públicos do cliente",
"public_endpoints_desc": "Hostname e URL API usados pelos clientes RustDesk. Configuração do dashboard, QR e strings de deploy.",
"public_endpoints_hint": "Defina quando o hostname da consola difere do ID/relay/API (proxy inverso / DNS separado). Vazio = auto.",
"public_endpoints_server_id": "Servidor ID público",
"public_endpoints_server_id_placeholder": "ex. remote.example.com",
"public_endpoints_relay": "Servidor relay público",
"public_endpoints_relay_placeholder": "ex. remote.example.com (predef.: ID)",
"public_endpoints_api_url": "URL API pública",
"public_endpoints_api_url_placeholder": "ex. https://api.example.com",
"public_endpoints_api_url_hint": "URL completa para login e API RustDesk (porta 21114 por defeito).",
"public_endpoints_save": "Guardar endpoints",
"public_endpoints_saved": "Endpoints públicos do cliente guardados",
"public_endpoints_invalid_host": "Hostname ID ou relay inválido",
"public_endpoints_invalid_api_url": "URL API inválida — use http:// ou https://",
"public_endpoints_save_title": "Guardar endpoints públicos do cliente?",
"public_endpoints_save_confirm": "Atualizar configuração RustDesk no dashboard?",
"device_scope_title": "Device visibility default",
"device_scope_desc": "Controls what non-admin users see when no folder, group, or direct device grants exist.",
"device_scope_open": "Open (legacy) — show all devices until ACL is configured",
"device_scope_restricted": "Restricted — show only explicitly granted devices",
"device_scope_save": "Save visibility default",
"device_scope_saved": "Device visibility default saved",
"device_scope_invalid": "Invalid visibility mode",
"device_scope_restricted_warning": "Restricted mode is active. Ensure users have folder, group, or direct device grants or they will see an empty device list.",
"client_sessions_title": "Sessões do cliente RustDesk",
"client_sessions_desc": "Controle por quanto tempo os apps RustDesk permanecem conectados à sua conta BetterDesk.",
"client_sessions_expiry_days": "Duração da sessão (dias)",
"client_sessions_expiry_hint": "O padrão é 7 dias. Sem renovação deslizante, os clientes devem entrar novamente.",
"client_sessions_sliding": "Estender sessão com atividade",
"client_sessions_sliding_hint": "Enquanto o cliente está em uso, a sessão é renovada até o máximo abaixo.",
"client_sessions_max_days": "Vida máxima da sessão (dias)",
"client_sessions_max_days_hint": "Limite superior de renovação desde o primeiro login (padrão 30 dias).",
"client_sessions_save": "Salvar configurações de sessão",
"enrollment_ldap_hint": "As definições LDAP/AD e OIDC estão nos separadores LDAP / AD e OIDC / SSO acima.",
"oidc_redirect_url_invalid": "O URL de redirecionamento deve usar http(s) e terminar em /api/auth/oidc/callback (ou /api/oidc/callback).",
"oidc_redirect_url_example": "Exemplo: {url}"
},
"audit": {
"time": "Hora",
"user": "Utilizador",
"action": "Ação",
"details": "Detalhes",
"action_login": "Login",
"action_login_failed": "Falha no login",
"action_logout": "Logout",
"action_password_change": "Senha alterada",
"action_2fa_enable": "2FA ativado",
"action_2fa_disable": "2FA desativado",
"action_user_create": "Usuário criado",
"action_user_update": "Usuário atualizado",
"action_user_delete": "Usuário excluído",
"action_settings_update": "Configurações atualizadas",
"action_device_ban": "Dispositivo bloqueado",
"action_device_unban": "Bloqueio do dispositivo removido",
"action_device_delete": "Dispositivo excluído"
},
"generator": {
"title": "Gerador de configuração do cliente",
"subtitle": "Gerar configuração para clientes RustDesk",
"alpha_badge": "ALPHA",
"alpha_tooltip": "Recurso inicial — o gerador de pacotes de agente está em desenvolvimento ativo.",
"config_options": "Opções de configuração",
"server_address": "Endereço do servidor",
"server_address_hint": "Domínio ou endereço IP do seu servidor",
"custom_port": "Porta personalizada",
"port_hint": "Deixe vazio para predefinição (21116)",
"relay_server": "Servidor relay",
"relay_placeholder": "Igual ao servidor ID se vazio",
"relay_hint": "Opcional: endereço separado do servidor relay",
"include_key": "Incluir chave pública na configuração",
"generate": "Gerar configuração",
"output": "Saída da configuração",
"usage_title": "Detalhes da conexão",
"generated": "Configuração gerada",
"server_required": "O endereço do servidor é obrigatório",
"nothing_to_copy": "Gere primeiro uma configuração",
"bundles_title": "Pacotes do agente",
"new_bundle": "Novo pacote",
"editor_title": "Editor de pacotes",
"empty_state": "Selecione um pacote à esquerda ou crie um novo para começar.",
"loading": "Carregando…",
"no_bundles": "Ainda não há pacotes. Crie seu primeiro pacote.",
"bundle_name": "Nome do pacote",
"bundle_name_hint": "Apenas um rótulo interno — não é exibido aos usuários finais.",
"short_link": "Link de download curto",
"short_link_hint": "Usado na URL pública (/d/…). Apenas letras minúsculas, números e hífens (232 caracteres). Preenchido automaticamente a partir do nome do pacote — encurte para facilitar o compartilhamento (ex.: acme).",
"branding_section": "Marca",
"company_name": "Nome da empresa/marca",
"short_text": "Descrição curta",
"contact_email": "E-mail de contato",
"contact_phone": "Telefone de contato",
"contact_url": "Site de contato",
"logo": "Logotipo",
"logo_hint": "PNG, JPEG, SVG ou WebP. Máximo de 256 KB.",
"logo_clear": "Remover logotipo",
"primary_color": "Cor principal",
"accent_color": "Cor do cabeçalho",
"default_lang": "Idioma padrão",
"allow_unattended": "Permitir acesso não supervisionado",
"allow_unattended_hint": "Quando ativado, o agente mostra uma senha persistente para acesso de operadores.",
"save": "Salvar pacote",
"revoke": "Revogar",
"unrevoke": "Reativar",
"revoked": "Revogado",
"preview_title": "Prévia ao vivo",
"preview_hint": "Aparência aproximada da janela do agente para usuários finais.",
"preview_default_name": "Suporte BetterDesk",
"preview_status_ready": "Pronto",
"preview_id": "Seu ID",
"preview_password": "Senha",
"preview_chat": "Conversar com o suporte",
"preview_settings": "Configurações (somente admin)",
"preview_quit": "Sair (somente admin)",
"download_link_title": "Link de download",
"download_link_hint": "Compartilhe este link com usuários finais. Eles verão uma página de download com sua marca. Links hex antigos continuam funcionando após alterar o link curto.",
"open_portal": "Abrir",
"created": "Pacote criado",
"saved": "Pacote salvo",
"deleted": "Pacote excluído",
"revoked_ok": "Pacote revogado",
"unrevoked_ok": "Pacote reativado",
"link_copied": "Link copiado para a área de transferência",
"copy_failed": "A cópia automática falhou — copie manualmente",
"unsaved_confirm": "Descartar alterações não salvas?",
"confirm_revoke": "Revogar este pacote? O link de download deixará de funcionar.",
"confirm_unrevoke": "Reativar este pacote?",
"confirm_delete": "Excluir este pacote permanentemente? Esta ação não pode ser desfeita.",
"errors": {
"validation_failed": "Falha na validação",
"name_required": "O nome do pacote é obrigatório",
"company_name_required": "O nome da empresa é obrigatório",
"logo_invalid": "O logotipo deve ser um arquivo de imagem válido",
"logo_too_large": "O logotipo deve ter no máximo 256 KB",
"logo_read_failed": "Não foi possível ler o arquivo do logotipo",
"primary_color_invalid": "A cor principal deve ser um valor hexadecimal (por exemplo, #2563eb)",
"accent_color_invalid": "A cor do cabeçalho deve ser um valor hexadecimal (por exemplo, #1e293b)",
"contact_url_invalid": "O site de contato deve ser uma URL válida",
"server_host_required": "O endereço público do servidor é obrigatório",
"server_host_invalid": "Ingrese un nome de dominio o dirección IPv4 válido",
"token_failed": "Não foi possível gerar el token de registo — compruebe la conectividad do servidor",
"rebuild_revoked": "Não é possível recompilar un pacote revogado — voltar a ativarlo primero",
"slug_invalid": "O link curto só pode conter letras minúsculas, números e hífens",
"slug_too_short": "O link curto deve ter pelo menos 2 caracteres",
"slug_too_long": "O link curto deve ter no máximo 32 caracteres",
"slug_taken": "Este link curto já é usado por outro pacote"
},
"legacy_title": "Gerador de configuração do cliente",
"connection_section": "Ligação al servidor",
"server_host": "Endereço público do servidor",
"server_host_placeholder": "support.example.com o 203.0.113.10",
"server_host_hint": "Nome de dominio o IP pública donde los utilizadors finales acceden a su servidor BetterDesk. El porta se toma de la configuração de la consola.",
"use_https": "Usar HTTPS / WSS (recomendado)",
"enrollment_token": "Registro de dispositivo",
"enrollment_token_pending": "Por dispositivo tras aprovação",
"enrollment_token_set": "Por dispositivo — aprovar en Registros",
"enrollment_token_hint": "Cada instalação regista-se sozinha. Aprueba nuevos dispositivos en el painel de Registros; el servidor emite entonces una chave de acceso única por computador.",
"enrollment_per_device": "Por dispositivo — aprovar en Registros",
"background_color": "Fundo de ventana",
"surface_color": "Fundo de tarjeta",
"text_color": "Color del texto",
"text_muted_color": "Cor do texto atenuado",
"status_ready_color": "Color del indicador de pronto",
"header_text_color": "Color del texto de cabeçalho",
"builds_title": "Compilações de cliente",
"builds_hint": "Instaladores compilados en este servidor para cada plataforma. Recompilar después de corregir erroes de la cadena de herramientas o actualizar el código fuente del agente.",
"builds_loading": "A carregar estado de compilação…",
"builds_empty": "Aún no hay compilaciones en fila — guarda el paquete o haz clic en Recompilar tudo.",
"rebuild_all": "Recompilar tudo",
"rebuilding_all": "Poniendo en fila las reconstrucciones…",
"rebuild_queued": "Todas las compilaciones de plataforma en fila",
"rebuild_confirm": "Recompilar tudos los instaladores de plataforma para este paquete? Los artefactos prontos existentes serão substituídos.",
"build_status_ready": "Pronto",
"build_status_pending": "En fila",
"build_status_building": "A compilar",
"build_status_failed": "Falhou",
"builds_summary": "{{ready}} pronto · {{pending}} en fila · {{building}} compilando · {{failed}} falhou",
"build_error_hint": "Erro de compilação",
"preview_help": "Solicitar ajuda",
"rdclient_tab": "RdClient desktop",
"rdclient_new_bundle": "Novo pacote RdClient",
"rdclient_subtitle": "Criar instaladores RdClient com URL do painel incorporado",
"rdclient_server_url_hint": "URL pública da consola BetterDesk (/remote).",
"agent_client_tab": "Agent Client",
"agent_client_new_bundle": "New Agent Client bundle",
"support_agent_tab": "Support Agent",
"support_agent_new_bundle": "New Support Agent bundle",
"product_agent_client": "Agent Client",
"product_support_agent": "Support",
"product_rdclient": "RdClient"
},
"server": {
"port": "Porta",
"api_port": "Porta da API",
"id_server": "Servidor de ID",
"relay_server": "Servidor relay",
"api_key": "Chave da API"
},
"status": {
"online": "Online",
"offline": "Offline",
"banned": "Banido",
"running": "Em execução",
"stopped": "Parado",
"unknown": "Desconhecido",
"checking": "A verificar...",
"label": "Status",
"no_signal": "Sem sinal"
},
"actions": {
"refresh": "Atualizar",
"copy": "Copiar",
"connect": "Conectar",
"connect_desktop": "Conectar via cliente desktop",
"remote_viewer": "Visualizador remoto",
"web_remote": "Remoto Web",
"details": "Detalhes",
"edit": "Editar",
"delete": "Excluir",
"ban": "Banir",
"unban": "Desbanir",
"save": "Salvar",
"cancel": "Cancelar",
"confirm": "Confirmar",
"close": "Fechar",
"clear": "Limpar",
"ok": "OK",
"saved": "Guardado com sucesso",
"back": "Voltar",
"create": "Criar",
"dismiss": "Dispensar",
"view_all": "Ver tudo",
"cdap_viewer": "Visualizador de snapshot CDAP",
"add": "Adicionar",
"remove": "Remover",
"retry": "Tentar novamente",
"show_value": "Mostrar",
"hide_value": "Ocultar"
},
"time": {
"just_now": "Agora mesmo",
"seconds_ago": "há {count} segundo(s)",
"minutes_ago": "há {count} minuto(s)",
"hours_ago": "há {count} hora(s)",
"days_ago": "há {count} dia(s)",
"day_mon": "Mon",
"day_tue": "Tue",
"day_wed": "Wed",
"day_thu": "Thu",
"day_fri": "Fri",
"day_sat": "Sat",
"day_sun": "Sun"
},
"users": {
"title": "Gestão de utilizadores",
"subtitle": "Gerir utilizadores e permissões da consola",
"add_user": "Adicionar utilizador",
"edit_user": "Editar utilizador",
"username": "Nome de utilizador",
"username_placeholder": "Insira o nome de utilizador",
"username_hint": "3-32 caracteres, apenas letras, números e underscores",
"password": "Palavra-passe",
"password_placeholder": "Insira a palavra-passe",
"password_hint": "Mínimo 8 caracteres com maiúsculas, minúsculas, números e símbolos",
"password_leave_empty": "Deixe vazio para manter a atual",
"role": "Papel",
"role_admin": "Administrador",
"role_operator": "Remote Operator",
"role_viewer": "Observador",
"role_hint": "Server-wide role. Remote Operators connect remotely and can change their own password. Viewers are read-only (no Web Client). Pro License accounts activate RustDesk Pro via the desktop client API only — no web panel access. Organization roles are configured separately.",
"created": "Criado",
"last_login": "Último início de sessão",
"never": "Nunca",
"actions": "Ações",
"create": "Criar utilizador",
"edit": "Editar",
"reset_password": "Redefinir palavra-passe",
"new_password": "Nova palavra-passe",
"delete_title": "Excluir utilizador",
"delete_confirm": "Tem a certeza que deseja excluir o utilizador {username}?",
"delete_success": "Utilizador excluído com sucesso",
"user_created": "Utilizador criado com sucesso",
"user_updated": "Utilizador atualizado com sucesso",
"password_reset_success": "Palavra-passe redefinida com sucesso",
"empty_title": "Nenhum utilizador encontrado",
"empty_text": "Adicione utilizadores para gerir o acesso à consola",
"fill_required": "Preencha todos os campos obrigatórios",
"invalid_username": "O nome de utilizador deve ter 3-32 caracteres, apenas letras, números e underscores",
"username_exists": "O nome de utilizador já existe",
"weak_password": "A palavra-passe é demasiado fraca",
"password_too_short": "A palavra-passe deve ter pelo menos 8 caracteres",
"invalid_role": "Papel inválido",
"cannot_demote_self": "Não pode despromover-se a si mesmo",
"cannot_delete_self": "Não pode excluir a sua própria conta",
"last_admin": "Não é possível excluir o último administrador",
"last_admin_go": "Não é possível excluir: este é o único Super Admin no servidor BetterDesk. Crie ou sincronize outro Super Admin primeiro (não Global Admin).",
"delete_mirror_failed": "Não foi possível remover o usuário do servidor. Tente novamente quando o servidor BetterDesk estiver acessível.",
"admin_only": "Esta funcionalidade está disponível apenas para administradores",
"password_required": "A palavra-passe é obrigatória",
"not_found": "Utilizador não encontrado",
"strength_weak": "Fraca",
"strength_medium": "Média",
"strength_strong": "Forte",
"security_tips_title": "Boas práticas de segurança",
"tip_strong_passwords": "Use palavras-passe fortes e únicas para cada utilizador",
"tip_unique_accounts": "Crie contas individuais para cada pessoa",
"tip_viewer_role": "Use Viewer for read-only monitoring; Remote Operator for users who need to connect",
"tip_operator_role": "Use operator role for users who need to manage devices but not users",
"tip_audit_logs": "Revise regularmente os registos de auditoria para atividade suspeita",
"role_pro": "Pro License (client API only)",
"role_super_admin": "Super Admin",
"role_server_admin": "Administrador do servidor",
"role_global_admin": "Administrador global",
"organizations": "Organizações",
"user_organizations": "Organizações de {username}",
"no_organizations": "Sem organizações",
"org_removed": "Usuário removido da organização",
"server_role_label": "Função do servidor",
"server_role_hint": "Define o que o usuário pode fazer em toda a console (acesso ao painel, configuração do servidor, auditoria etc.).",
"org_membership_section": "Associação à organização",
"org_membership_hint": "Um usuário pode pertencer a várias organizações. A função da organização controla apenas permissões dentro dessa organização e é independente da função do servidor acima.",
"column_organizations": "Organizações",
"no_orgs_short": "—",
"org_count_one": "{count} organização",
"org_count_many": "{count} organizações",
"all_orgs_assigned": "O usuário já pertence a todas as organizações.",
"user_groups": "Grupos de usuários",
"user_groups_hint": "Grupos de usuários podem conceder acesso a grupos de dispositivos selecionados.",
"loading_user_groups": "Carregando grupos de usuários...",
"no_user_groups": "Nenhum grupo de usuários disponível",
"create_user_group": "Criar grupo",
"edit_user_group": "Editar grupo de usuários",
"delete_user_group": "Excluir grupo de usuários",
"delete_user_group_confirm": "Excluir o grupo de usuários {name}? Os membros perderão o acesso concedido por este grupo.",
"user_group_created": "Grupo de usuários criado",
"user_group_updated": "Grupo de usuários atualizado",
"user_group_deleted": "Grupo de usuários excluído",
"user_group_not_found": "Grupo de usuários não encontrado",
"group_name": "Nome do grupo",
"group_name_placeholder": "Operadores",
"group_note": "Note",
"group_note_placeholder": "Nota opcional",
"group_name_required": "O nome do grupo é obrigatório",
"group_members_count": "{count} membros",
"provider": "Fornecedor",
"provider_local": "Local",
"provider_ldap": "LDAP/AD",
"provider_oidc": "SSO",
"password_managed_by_provider": "Gerido por el fornecedor de identidade",
"provider_managed_hint": "Esta conta está gestionada por un fornecedor de identidade externo (LDAP/AD o SSO). La palavra-passe y el rol son controlados por el fornecedor y não é possíveln cambiar aquí.",
"email": "Email",
"email_placeholder": "operator@example.com",
"email_hint": "Used for help request notifications when the user is assigned to device folders or groups.",
"scope_hint": "Limit which devices this user sees: assign user groups, folders, and/or direct devices. Without restrictions, operators and viewers see all devices (unless the server uses restricted default mode in Settings).",
"role_desc_viewer": "Read-only panel access: device list, audit, metrics. Cannot use Web Remote Desktop.",
"role_desc_operator": "Can connect via Web Client and RustDesk desktop, edit devices, and change own password in Settings.",
"role_desc_pro": "RustDesk desktop client API only — activates Pro license. Blocked from web panel login.",
"role_desc_admin": "Full access (legacy alias for Super Admin).",
"role_desc_super_admin": "Full server and panel access, including user and server configuration.",
"role_desc_server_admin": "Server infrastructure, keys, and read-only user visibility. No device connect.",
"role_desc_global_admin": "Manage all users, organizations, and devices. Cannot change server config.",
"user_folders": "Folder access",
"user_folders_hint": "Devices in selected folders are visible to this user when folder ACL is configured.",
"user_direct_devices": "Direct devices",
"user_direct_devices_hint": "Grant access to specific devices regardless of folder or group membership.",
"user_direct_devices_placeholder": "Enter device IDs separated by commas",
"effective_scope_count": "{count} devices visible",
"loading_folders": "Loading folders...",
"no_folders": "No folders available",
"pro_strategy_label": "RustDesk Pro strategy",
"pro_strategy_hint": "Optional access-control strategy for RustDesk Pro client features (separate from panel role).",
"pro_strategy_none": "None",
"column_scope": "Scope"
},
"folders": {
"title": "Pastas",
"create": "Criar pasta",
"edit": "Editar pasta",
"delete": "Excluir pasta",
"name": "Nome da pasta",
"name_placeholder": "Insira o nome da pasta",
"name_required": "O nome da pasta é obrigatório",
"name_too_long": "O nome da pasta é demasiado longo (máx. 50 caracteres)",
"color": "Cor",
"icon": "Ícone",
"not_found": "Pasta não encontrada",
"delete_confirm": "Tem a certeza que deseja excluir esta pasta? Os dispositivos serão desassociados.",
"delete_success": "Pasta excluída com sucesso",
"created": "Pasta criada com sucesso",
"updated": "Pasta atualizada com sucesso",
"no_devices_selected": "Nenhum dispositivo selecionado",
"devices_moved": "Dispositivos movidos com sucesso",
"device_assigned": "Dispositivo atribuído à pasta",
"unassigned": "Não atribuído",
"all_devices": "Todos os dispositivos",
"drag_hint": "Arraste dispositivos para as pastas para organizá-los",
"move_to": "Mover para",
"toggle_sidebar": "Alternar barra lateral"
},
"errors": {
"forbidden_title": "Acesso negado",
"forbidden_message": "Não tem permissão para ver esta página.",
"not_found_title": "Página não encontrada",
"not_found_message": "A página que procura não existe ou foi movida.",
"server_error_title": "Erro do servidor",
"server_error_message": "Algo correu mal. Tente novamente mais tarde.",
"go_home": "Ir para a página inicial",
"try_again": "Tentar novamente",
"load_devices_failed": "Falha ao carregar dispositivos",
"load_key_failed": "Falha ao carregar chave",
"load_qr_failed": "Falha ao carregar QR",
"load_audit_failed": "Falha ao carregar registo de auditoria",
"load_users_failed": "Falha ao carregar utilizadores",
"load_folders_failed": "Falha ao carregar pastas",
"download_failed": "Falha na transferência",
"logout_failed": "Falha ao sair",
"password_change_failed": "Falha ao alterar palavra-passe",
"language_change_failed": "Falha ao alterar idioma",
"ban_failed": "Falha ao banir dispositivo",
"unban_failed": "Falha ao desbanir dispositivo",
"delete_failed": "Falha ao excluir dispositivo",
"change_id_failed": "Falha ao alterar ID do dispositivo",
"bulk_delete_failed": "Falha ao excluir dispositivos",
"sync_failed": "Falha na sincronização",
"error": "Erro",
"not_found": "Nao encontrado",
"server_error": "Erro do servidor",
"load_device_failed": "Falha ao carregar dispositivo",
"load_orgs_failed": "Não foi possível carregar organizações"
},
"remote": {
"title": "Ambiente de trabalho remoto",
"connecting": "A conectar...",
"waiting_password": "A aguardar palavra-passe",
"authenticating": "A autenticar...",
"streaming": "Conectado",
"disconnected": "Desconectado",
"error": "Erro",
"status_idle": "Inativo",
"password_required": "Palavra-passe necessária",
"enter_password_for": "Insira a palavra-passe para o dispositivo",
"password_placeholder": "Palavra-passe do dispositivo",
"connect": "Conectar",
"reconnect": "Reconectar",
"disconnect": "Desconectar",
"back_to_devices": "Voltar aos dispositivos",
"fullscreen": "Ecrã inteiro",
"toggle_audio": "Alternar áudio",
"send_keys": "Enviar teclas",
"scale_mode": "Modo de escala",
"scale_fit": "Ajustar à janela",
"scale_fill": "Preencher janela",
"scale_original": "Tamanho original (1:1)",
"scale_stretch": "Esticar",
"actions": "Ações",
"lock_screen": "Bloquear ecrã",
"restart_remote": "Reiniciar dispositivo remoto",
"refresh_screen": "Atualizar ecrã",
"clipboard_paste": "Colar da área de transferência",
"block_input": "Bloquear entrada",
"reset_keyboard": "Repor estado do teclado",
"reset_keyboard_done": "Estado do teclado reposto no remoto",
"keyboard_mode": "Modo de teclado",
"keyboard_mode_auto": "Auto (Map, como RustDesk)",
"keyboard_mode_legacy": "Legacy (carácter)",
"keyboard_mode_map": "Map (scancode físico)",
"display_settings": "Definições do ecrã",
"image_quality": "Qualidade de imagem",
"quality_best": "Melhor qualidade",
"quality_balanced": "Equilibrada",
"quality_low": "Desempenho",
"show_cursor": "Mostrar cursor remoto",
"lock_after_session": "Bloquear após sessão",
"privacy_mode": "Modo de privacidade",
"disable_clipboard": "Desativar área de transferência",
"chat": "Chat",
"chat_placeholder": "Escreva uma mensagem...",
"record": "Gravar ecrã",
"view_only": "Apenas visualização",
"pin_toolbar": "Fixar barra de ferramentas",
"monitors": "Monitors",
"select_monitor": "Selecionar monitor",
"quality_speed": "Velocidade",
"quality_quality": "Qualidade",
"recording_started": "Gravação iniciada",
"recording_stopped": "Gravação interrompida",
"download_recording": "Baixar gravação",
"e2e_encrypted": "Criptografado de ponta a ponta",
"e2e_key_exchange": "Troca de chaves em andamento...",
"confirm_restart": "Tem a certeza que deseja reiniciar o dispositivo remoto?",
"webcodecs_not_supported": "O seu navegador não suporta a API WebCodecs. Use Chrome 94+ ou Edge 94+.",
"webcodecs_insecure_context": "WebCodecs não disponível em HTTP. O vídeo usa o descodificador por software. Para melhor desempenho, use HTTPS.",
"webcodecs_fallback_active": "Descodificador de vídeo por software ativo (desempenho limitado)",
"click_to_start": "Clique para iniciar",
"autoplay_blocked": "O navegador requer interação do utilizador para iniciar vídeo e áudio.",
"start_playback": "Iniciar reprodução",
"new_connection": "Nova conexão",
"device_id_placeholder": "Insira o ID do dispositivo",
"session_picker": {
"title": "Escolher dispositivo",
"already_connected": "Já conectado"
},
"http_warning": "Modo HTTP: limitado à decodificação H.264 por software (~15 FPS). Use HTTPS para desempenho total (WebCodecs, VP9, 60 FPS).",
"file_transfer": "Transferência de arquivos",
"file_upload": "Enviar",
"file_download": "Baixar",
"file_empty": "Esta pasta está vazia",
"file_transfers": "Transferências",
"file_complete": "Concluído",
"file_error": "Transferência falhou",
"file_show_hidden": "Mostrar arquivos ocultos",
"file_new_folder": "Nova pasta",
"file_new_folder_prompt": "Digite o nome da pasta:",
"file_parent": "Pasta superior",
"file_root": "Raiz",
"file_rename": "Renomear",
"file_rename_prompt": "Digite o novo nome:",
"file_delete_confirm": "Tem certeza de que deseja excluir este item?",
"file_cancelled": "Transferência cancelada",
"2fa_required": "Código de dois fatores obrigatório",
"2fa_hint": "Digite o código TOTP de seis dígitos para continuar a sessão.",
"2fa_invalid": "Código 2FA inválido",
"verify": "Verify",
"use_cdap_fallback": "Usar visualizador CDAP",
"cdap_fallback_hint": "Abra o visualizador leve de polling JPEG que usa bd-signal/CDAP em vez do relay RustDesk. Útil quando o peer está offline no relay mas acessível via o canal de gestão do agente.",
"clipboard_empty": "A área de transferência está vazia",
"clipboard_denied": "Acesso à área de transferência negado. HTTPS é obrigatório ou a permissão não foi concedida.",
"file_loading": "Carregando...",
"file_timeout": "O dispositivo remoto não respondeu. A transferência de arquivos pode não ser compatível ou pode estar desativada no computador remoto.",
"codec": "Codec de vídeo",
"codec_auto": "Automático (recomendado)",
"remember_peer_password": "Lembrar senha do dispositivo neste computador",
"save_peer_password": "Guardar senha",
"input_mode_touch": "Toque",
"input_mode_touchpad": "Touchpad",
"show_keyboard": "Teclado",
"special_keys": "Teclas especiais",
"special_print_screen": "Print Screen",
"mobile_toolbar": "Controles remotos",
"phone_unsupported_title": "Área de trabalho remota requer ecrã maior",
"phone_unsupported_body": "Use tablet, foldable aberto ou desktop. A gestão de dispositivos continua na consola.",
"phone_unsupported_back_devices": "Voltar aos dispositivos",
"phone_unsupported_get_desktop": "Obter RdClient desktop",
"file_local": "Computador local",
"file_remote": "Computador remoto",
"file_send": "Enviar",
"file_pick_folder": "Escolher pasta",
"file_queue_empty": "Nenhuma transferência em andamento",
"file_connecting": "A conectar sessão de transferência de ficheiros…",
"file_connect_failed": "Não foi possível abrir a sessão de transferência de ficheiros",
"file_local_limited": "A navegação completa de pastas locais requer Chrome ou Edge com HTTPS. Enviar e transferir ficheiros continua disponível.",
"file_transfer_unavailable_cdap": "A transferência de ficheiros não está disponível em sessões de instantâneo CDAP.",
"file_status_waiting": "A aguardar…",
"file_status_transferring": "A transferir…",
"file_status_saving": "A guardar…",
"file_status_downloaded": "Transferido",
"file_status_uploaded": "Enviado",
"file_drop_upload_hint": "Largue para enviar para: {path}",
"file_local_upload_hint": "Solte ficheiros na caixa à esquerda ou clique para enviar. O destino é a pasta aberta no lado remoto.",
"file_transfer_stalled": "O dispositivo remoto não iniciou a transferência",
"file_no_local_tree": "Escolha uma pasta para procurar ficheiros locais (opcional)",
"file_dropzone_title": "Solte ficheiros aqui",
"file_dropzone_subtitle": "ou clique para escolher ficheiros",
"file_dropzone_multiple": "Vários ficheiros suportados",
"file_dropzone_waiting": "A aguardar ligação remota…",
"file_overwrite_title": "O ficheiro já existe",
"file_overwrite_message": "Já existe um ficheiro chamado «{name}» no computador remoto. Substituir?",
"file_overwrite_skip": "Ignorar",
"file_overwrite_skip_all": "Ignorar todos",
"file_overwrite_confirm": "Substituir",
"file_overwrite_all": "Substituir todos",
"file_resume": "Retomar",
"file_open": "Abrir",
"file_up": "Acima",
"file_home": "Início",
"file_hide_hidden": "Ocultar ficheiros ocultos",
"windows_sessions": "Sessoes Windows"
},
"branding": {
"identity_title": "Identidade da marca",
"identity_desc": "Personalize o nome e a descrição da aplicação mostrados na consola",
"app_name": "Nome da aplicação",
"app_description": "Descrição da aplicação",
"logo_title": "Logótipo",
"logo_desc": "Escolha como o seu logótipo aparece na barra lateral e na página de início de sessão",
"logo_type_icon": "Ícone Material",
"logo_type_svg": "Código SVG",
"logo_type_image": "URL de imagem",
"logo_icon_name": "Nome do ícone",
"logo_icon_hint": "Insira um nome de Material Icons (ex: dns, cloud, security). Veja fonts.google.com/icons",
"logo_svg_code": "Código SVG",
"logo_svg_hint": "Cole o seu markup SVG aqui. Suporta elementos <svg> completos com caminhos e estilos.",
"logo_image_upload": "Carregar imagem",
"logo_image_choose": "Escolher ficheiro de imagem",
"logo_image_hint": "PNG, JPG, GIF, WebP ou SVG. Máx. 1,5 MB. A imagem é guardada como dados base64.",
"logo_image_url": "Dados / URL da imagem",
"logo_image_url_hint": "Preenchido automaticamente ao carregar ou cole um URL manualmente.",
"logo_image_too_large": "A imagem é demasiado grande. Tamanho máximo: 1,5 MB.",
"logo_image_invalid_type": "Tipo de ficheiro inválido. Use PNG, JPG, GIF, WebP ou SVG.",
"preview": "Pré-visualização",
"colors_title": "Esquema de cores",
"colors_desc": "Personalize a paleta de cores. Deixe vazio para os valores predefinidos.",
"colors_backgrounds": "Fundos",
"colors_text": "Texto",
"colors_accents": "Cores de destaque",
"colors_borders": "Bordas",
"import_export_title": "Importar / Exportar",
"import_export_desc": "Guarde o seu tema como ficheiro JSON ou importe um de outra instância",
"export_theme": "Exportar tema",
"import_theme": "Importar tema",
"reset_defaults": "Repor predefinições",
"save_branding": "Salvar marca",
"saved": "Branding saved successfully.",
"exported": "Tema exportado",
"imported": "Theme imported successfully.",
"import_error": "Falha ao importar tema. Formato de ficheiro inválido.",
"reset_confirm": "Tem a certeza que deseja repor a marca para as predefinições? Esta ação não pode ser revertida.",
"reset_success": "Branding reset to defaults.",
"logo_type_text": "Text Logo",
"logo_text": "Logo Text",
"logo_text_hint": "Texto principal exibido como logotipo da marca",
"logo_text_accent": "Accent Text",
"logo_text_accent_hint": "Texto secundário abaixo do logotipo (por exemplo, nome do produto ou slogan)",
"logo_upload_success": "Logotipo enviado com sucesso.",
"typography_title": "Typography",
"typography_desc": "Escolha fontes para títulos e texto. As fontes serão baixadas para o servidor para hospedagem local.",
"font_heading": "Fonte dos títulos",
"font_heading_hint": "Usada em títulos (H1-H6) e logotipo em texto",
"font_body": "Body Font",
"font_body_hint": "Usada em texto do corpo e elementos da interface",
"font_search_placeholder": "Pesquisar fontes...",
"font_system_default": "Padrão do sistema",
"font_clear": "Clear",
"font_cat_all": "All",
"font_downloaded_count": "Fontes baixadas no servidor",
"powered_by": "Desarrollado por",
"background_title": "Fundo y apariencia",
"background_desc": "Establece un fundo de pantalla, gradiente o color sólido para la consola. Las os cartões flutuam sobre él.",
"bg_type_none": "Nenhum",
"bg_type_color": "Cor sólida",
"bg_type_gradient": "Gradiente",
"bg_type_image": "Imagem",
"bg_color": "Color de fundo",
"bg_gradient": "Gradiente CSS",
"bg_gradient_hint": "Cualquier gradiente CSS válido, p. ej. linear-gradient(135deg, #1e293b, #0f172a)",
"bg_image_upload": "Subir imagem de fundo",
"bg_image_choose": "Elegir ficheiro de imagem",
"bg_image_hint": "PNG, JPG, WebP o GIF. Máx. 8 MB. Armazenado no servidor.",
"bg_image_url": "Caminho de imagem / URL",
"bg_size": "Tamaño de imagem",
"bg_size_cover": "Cobrir (llenar pantalla)",
"bg_size_contain": "Conter (ajustar)",
"bg_size_auto": "Automático (original)",
"bg_blur": "Desfoque de fundo",
"bg_overlay": "Sobreposição oscura",
"bg_overlay_hint": "Oscurece el fundo para mejorar la legibilidade do texto.",
"bg_image_too_large": "La imagem es demasiado grande. El tamaño máximo es 8 MB.",
"bg_image_invalid_type": "Tipo de ficheiro no válido. Use PNG, JPG, WebP o GIF.",
"bg_upload_success": "Imagem de fundo subida correctamente.",
"login_title": "Página de início de sessão",
"login_desc": "Personaliza el título, subtítulo y fundo de la pantalla de início de sessão.",
"login_heading": "Cabeçalho de início de sessão",
"login_heading_placeholder": "Bem-vindo de nuevo",
"login_subheading": "Subtítulo de início de sessão",
"login_subheading_placeholder": "Iniciar sesión en su conta",
"login_bg_inherit": "Igual à consola",
"agent_title": "Página de transferência do agente",
"agent_desc": "Personaliza el portal de descarga de agentes público que se muestra a los utilizadors finales.",
"agent_show_powered": "Mostrar «Desarrollado por BetterDesk»",
"agent_show_powered_hint": "Mostrar la atribuição de BetterDesk en el rodapé del portal de descargas.",
"footer_title": "Rodapé y derechos de autor",
"footer_desc": "Agrega una línea de rodapé personalizada que se muestra en la pantalla de início de sessão y en la barra lateral de la consola.",
"footer_text": "Texto del rodapé",
"footer_text_hint": "p. ej. un aviso de copyright o el nome de la empresa.",
"show_powered": "Mostrar atribuição «BetterDesk»",
"show_powered_hint": "Mostrar el nome y la versión de BetterDesk en el rodapé de início de sessão y en la barra lateral.",
"custom_css_title": "CSS personalizado",
"custom_css_desc": "Avançado: inserta CSS personalizado aplicado em toda a consola y la página de início de sessão.",
"custom_css_hint": "Úsalo con cuidado. Las reglas inválidas o no seguras se eliminan. Máximo 20.000 caracteres.",
"save_now": "Save now",
"autosaved": "Changes saved automatically.",
"status_saved": "All changes saved",
"status_dirty": "Unsaved changes",
"status_saving": "Saving…",
"status_error": "Save failed",
"revert_changes": "Revert changes",
"profiles_label": "Appearance profile",
"profile_apply": "Apply profile",
"profile_new": "New profile",
"profile_save": "Save to profile",
"profile_duplicate": "Duplicate",
"profile_delete": "Delete",
"profile_none": "— Select profile —",
"profile_active": "active",
"profile_applied": "Profile applied.",
"profile_created": "Profile created.",
"profile_updated": "Profile updated.",
"profile_duplicated": "Profile duplicated.",
"profile_deleted": "Profile deleted.",
"profile_delete_confirm": "Delete this appearance profile?",
"profile_name_prompt": "Profile name:",
"profile_select_first": "Select a profile first.",
"builtin_themes": "Built-in themes",
"theme_apply_confirm": "Apply this built-in theme? Current settings will be replaced.",
"theme_applied": "Theme applied.",
"module_identity": "Identity & logo",
"module_colors": "Colors",
"module_typography": "Typography",
"module_backgrounds": "Console background",
"module_pages": "Login & agent pages",
"module_advanced": "Advanced",
"modules_nav": "Appearance modules",
"live_preview": "Live preview",
"preview_apply_page": "Preview on this page",
"preview_card_title": "Dashboard card",
"preview_card_body": "Sample body text showing your typography and colors.",
"preview_btn_primary": "Primary",
"preview_btn_secondary": "Secondary",
"font_google": "Google Fonts",
"font_local": "Downloaded",
"font_upload": "Upload custom",
"font_upload_choose": "Choose font file",
"font_upload_name": "Font family name",
"font_upload_success": "Font uploaded successfully.",
"font_local_empty": "No fonts downloaded yet.",
"font_delete": "Remove font",
"glass_title": "Superfícies de vidro",
"glass_desc": "Fundo de vidro fosco para cartões, modais, formulários e outros elementos do painel.",
"glass_enabled": "Ativar superfícies de vidro",
"glass_color": "Cor do tom de vidro",
"glass_color_hint": "Cor base para painéis foscos. Usa a cor de fundo secundária se vazio.",
"glass_blur": "Desfoque da superfície",
"glass_opacity": "Opacidade do vidro"
},
"device_detail": {
"tab_overview": "Visão geral",
"tab_tags": "Etiquetas e notas",
"tab_actions": "Ações",
"section_identity": "Identidade",
"section_network": "Rede",
"section_timestamps": "Marcas temporais",
"section_connect": "Ligação",
"section_manage": "Gestão",
"folder": "Pasta",
"status_tier": "Nível de estado",
"device_banned": "Este dispositivo está banido",
"no_reason": "Nenhum motivo indicado",
"tags": "Etiquetas",
"no_tags": "Nenhuma etiqueta atribuída a este dispositivo",
"tag_placeholder": "Insira um nome de etiqueta...",
"add_tag": "Adicionar",
"tag_exists": "Esta etiqueta já existe",
"notes": "Notas",
"notes_placeholder": "Adicionar notas sobre este dispositivo...",
"danger_zone": "Zona de perigo",
"action_connect_web": "Web remoto",
"action_connect_web_desc": "Conectar via ambiente de trabalho remoto do navegador",
"action_native_remote": "Remote BetterDesk",
"action_native_remote_desc": "Stream JPEG nativo — sem plugin necessário",
"action_connect_desktop": "Cliente desktop",
"action_connect_desktop_desc": "Abrir na aplicação cliente desktop",
"action_change_id_desc": "Alterar o ID de registo do dispositivo",
"action_ban_desc": "Impedir este dispositivo de se conectar",
"action_unban_desc": "Permitir que este dispositivo se conecte novamente",
"action_delete_desc": "Remover permanentemente este dispositivo",
"tab_hardware": "Hardware",
"tab_metrics": "Métricas",
"section_system": "Sistema",
"section_cpu": "Processador",
"section_memory": "Memória",
"section_displays": "Ecrãs",
"section_encoding": "Capacidade de codificação",
"section_live_metrics": "Métricas em tempo real",
"section_current_usage": "Utilização atual",
"section_usage_history": "Histórico de utilização",
"os": "Sistema operativo",
"version": "Versão do cliente",
"cpu_model": "Modelo do CPU",
"cpu_cores": "Núcleos do CPU",
"cpu_freq": "Frequência do CPU",
"total_memory": "Memória total",
"metric_memory": "Memória",
"metric_disk": "Disco",
"metrics_updated": "Atualizado",
"device_groups": "Grupos",
"no_sysinfo": "Nenhuma informação de hardware disponível",
"no_sysinfo_hint": "As informações do sistema aparecerão após o dispositivo enviar um relatório sysinfo",
"no_metrics": "Nenhum dado de métricas disponível",
"no_metrics_hint": "As métricas aparecerão após o dispositivo enviar relatórios heartbeat",
"chart_oldest": "← Mais antigo",
"chart_newest": "Mais recente →",
"tab_services": "Serviços",
"tab_processes": "Processos",
"tab_events": "Eventos",
"tab_activity": "Atividade",
"tab_files": "Arquivos",
"agent_lazy_hint": "Clique nesta aba para carregar dados ao vivo do agente",
"agent_offline": "O agente está offline",
"agent_timeout": "O agente não respondeu a tempo",
"agent_error": "Não foi possível carregar dados do agente",
"service_name": "Nome",
"service_display": "Nome exibido",
"service_status": "Estado",
"service_start": "Modo de início",
"process_name": "Nome",
"process_user": "Utilizador",
"process_memory": "Memória"
},
"inventory": {
"title": "Inventário",
"subtitle": "Inventário de hardware e software dos dispositivos geridos",
"device_id": "ID do dispositivo",
"hostname": "Nome do host",
"os": "Sistema operativo",
"cpu": "CPU",
"cpu_cores": "Núcleos do CPU",
"cpu_usage": "Utilização do CPU",
"memory": "Memória",
"memory_total": "Memória total",
"memory_used": "Memória usada",
"memory_available": "Memória disponível",
"memory_usage": "Utilização de memória",
"swap": "Swap",
"disks": "Discos",
"disk_count": "Número de discos",
"network": "Rede",
"network_interfaces": "Interfaces de rede",
"software": "Software",
"software_count": "Software instalado",
"system": "Sistema",
"kernel": "Kernel",
"architecture": "Arquitetura",
"uptime": "Tempo de atividade",
"frequency": "Frequência",
"physical_cores": "Núcleos físicos",
"logical_cores": "Núcleos lógicos",
"model": "Modelo",
"usage": "Utilização",
"total": "Total",
"used": "Usado",
"available": "Disponível",
"mount_point": "Ponto de montagem",
"removable": "Removível",
"mac_address": "Endereço MAC",
"ip_addresses": "Endereços IP",
"traffic": "Tráfego",
"collect_now": "Recolher agora",
"collector_running": "Recolha em curso",
"collector_stopped": "Recolha parada",
"last_upload": "Último envio",
"total_uploads": "Total",
"last_seen": "Última vez visto",
"collected_at": "Recolhido em",
"no_data": "Nenhum dado de inventário disponível. Clique em \"Recolher agora\" para obter informações do sistema.",
"no_devices": "Nenhum dispositivo com dados de inventário encontrado",
"detail_title": "Detalhe do inventário do dispositivo",
"telemetry": "Telemetria",
"view_detail": "Ver detalhe",
"export": "Exportar",
"refresh": "Atualizar"
},
"tickets": {
"title": "Helpdesk",
"subtitle": "Tickets de suporte e rastreamento de problemas",
"create": "Novo ticket",
"edit": "Editar ticket",
"delete": "Excluir ticket",
"detail": "Detalhe do ticket",
"ticket_id": "ID do ticket",
"ticket_title": "Título",
"description": "Descrição",
"status": "Estado",
"priority": "Prioridade",
"category": "Categoria",
"assigned_to": "Atribuído a",
"created_by": "Criado por",
"device": "Dispositivo",
"sla_due": "Prazo SLA",
"created_at": "Criado",
"updated_at": "Atualizado",
"resolved_at": "Resolvido",
"closed_at": "Fechado",
"status_open": "Aberto",
"status_in_progress": "Em curso",
"status_resolved": "Resolvido",
"status_closed": "Fechado",
"priority_low": "Baixa",
"priority_medium": "Média",
"priority_high": "Alta",
"priority_critical": "Crítica",
"category_general": "Geral",
"category_hardware": "Hardware",
"category_software": "Software",
"category_network": "Rede",
"category_access": "Acesso",
"category_other": "Outro",
"comments": "Comentários",
"add_comment": "Adicionar comentário",
"comment_placeholder": "Escreva um comentário...",
"internal_note": "Nota interna (não visível para utilizadores finais)",
"attachments": "Anexos",
"upload_attachment": "Carregar anexo",
"download": "Transferir",
"connect_device": "Conectar ao dispositivo",
"no_tickets": "Nenhum ticket encontrado",
"no_comments": "Sem comentários",
"no_attachments": "Sem anexos",
"title_required": "O título é obrigatório",
"delete_confirm": "Tem a certeza que deseja excluir o ticket #{id}?",
"delete_success": "Ticket excluído com sucesso",
"created_success": "Ticket criado com sucesso",
"updated_success": "Ticket atualizado com sucesso",
"sla_overdue": "SLA ultrapassado",
"filter_all": "Todos",
"search_placeholder": "Pesquisar tickets...",
"assign_to_me": "Atribuir a mim",
"unassign": "Remover atribuição",
"stats_total": "Total",
"stats_open": "Abertos",
"stats_in_progress": "Em curso",
"stats_resolved": "Resolvidos",
"stats_closed": "Fechados"
},
"activity": {
"title": "Monitorização de atividade",
"subtitle": "Utilização de aplicações e rastreamento de inatividade",
"device": "Dispositivo",
"hostname": "Nome do host",
"sessions": "Sessões",
"idle_time": "Tempo de inatividade",
"active_time": "Tempo ativo",
"last_report": "Último relatório",
"top_apps": "Aplicações principais",
"app_name": "Aplicação",
"window_title": "Título da janela",
"category": "Categoria",
"duration": "Duração",
"started_at": "Iniciado",
"ended_at": "Terminado",
"session_count": "Número de sessões",
"total_active": "Total ativo",
"total_idle": "Total inativo",
"detail_count": "Registos detalhados",
"no_data": "Nenhum dado de atividade disponível",
"no_sessions": "Nenhuma sessão registada",
"filter_from": "De",
"filter_to": "Até",
"filter_apply": "Aplicar filtro",
"hours": "horas",
"minutes": "minutos",
"seconds": "segundos",
"category_browser": "Navegador",
"category_productivity": "Produtividade",
"category_communication": "Comunicação",
"category_development": "Desenvolvimento",
"category_media": "Multimédia",
"category_gaming": "Jogos",
"category_system": "Sistema",
"category_other": "Outro",
"summary": "Resumo",
"details": "Detalhes",
"refresh": "Atualizar",
"search": "Pesquisar dispositivos...",
"date_range": "Date Range",
"device_id": "ID do dispositivo",
"session_start": "Início da sessão",
"session_end": "Fim da sessão",
"user": "Utilizador",
"no_activity": "Nenhuma atividade registrada",
"reported_at": "Reported At",
"detail": "Detail",
"no_apps": "Nenhum aplicativo"
},
"automation": {
"title": "Automação e alertas",
"subtitle": "Regras de alarme e comandos remotos",
"rules": "Regras de alarme",
"rules_subtitle": "Defina condições que acionam notificações",
"alerts": "Histórico de alertas",
"alerts_subtitle": "Visualize e confirme os alertas acionados",
"commands": "Comandos remotos",
"commands_subtitle": "Envie comandos para dispositivos remotos",
"smtp": "Configuração SMTP",
"smtp_subtitle": "Definições de notificação por e-mail",
"rule_name": "Nome da regra",
"description": "Descrição",
"condition_type": "Tipo de condição",
"condition_op": "Operador",
"condition_value": "Limiar",
"severity": "Gravidade",
"scope_device": "Dispositivo alvo",
"scope_all": "Todos os dispositivos",
"cooldown": "Tempo de recuperação (segundos)",
"notify_emails": "E-mails de notificação",
"enabled": "Ativo",
"disabled": "Inativo",
"create_rule": "Criar regra",
"edit_rule": "Editar regra",
"delete_rule": "Excluir regra",
"acknowledge": "Confirmar",
"acknowledged": "Confirmado",
"unacknowledged": "Não confirmado",
"triggered_at": "Acionado em",
"severity_info": "Informação",
"severity_warning": "Aviso",
"severity_critical": "Crítico",
"op_gt": "Maior que",
"op_gte": "Maior ou igual",
"op_lt": "Menor que",
"op_lte": "Menor ou igual",
"op_eq": "Igual a",
"op_neq": "Diferente de",
"type_cpu_usage": "Utilização do CPU (%)",
"type_memory_usage": "Utilização de memória (%)",
"type_disk_usage": "Utilização de disco (%)",
"type_offline_duration": "Duração offline (s)",
"type_idle_duration": "Duração de inatividade (s)",
"type_custom": "Personalizado",
"command_type": "Tipo de comando",
"command_payload": "Comando / Script",
"command_result": "Resultado",
"command_status": "Estado",
"send_command": "Enviar comando",
"status_pending": "Pendente",
"status_running": "Em execução",
"status_completed": "Concluído",
"status_failed": "Falhou",
"smtp_host": "Host SMTP",
"smtp_port": "Porta",
"smtp_secure": "Usar TLS",
"smtp_user": "Nome de utilizador",
"smtp_pass": "Palavra-passe",
"smtp_from": "Endereço do remetente",
"smtp_test": "Testar conexão",
"smtp_save": "Salvar configuração",
"smtp_test_success": "Conexão bem-sucedida",
"smtp_test_failed": "Falha na conexão",
"no_rules": "Nenhuma regra de alarme configurada",
"no_alerts": "Nenhum alerta acionado",
"no_commands": "Nenhum comando enviado",
"id_payload_required": "ID do dispositivo e payload são obrigatórios",
"no_commands_sent": "Ainda não foram enviados comandos"
},
"file_transfer": {
"title": "Transferência de ficheiros",
"transfers": "Transferências",
"new_transfer": "Nova transferência",
"upload": "Carregar",
"download": "Transferir",
"direction": "Direção",
"filename": "Nome do ficheiro",
"file_size": "Tamanho do ficheiro",
"mime_type": "Tipo MIME",
"progress": "Progresso",
"status": "Estado",
"device": "Dispositivo",
"initiated_by": "Iniciado por",
"created_at": "Criado em",
"cancel": "Cancelar",
"cancel_confirm": "Tem a certeza que deseja cancelar esta transferência?",
"download_file": "Transferir ficheiro",
"browse_files": "Procurar ficheiros",
"select_file": "Selecionar ficheiro",
"select_device": "Selecionar dispositivo",
"no_transfers": "Nenhuma transferência de ficheiros",
"status_pending": "Pendente",
"status_active": "Ativo",
"status_completed": "Concluído",
"status_failed": "Falhou",
"status_cancelled": "Cancelado",
"bytes_transferred": "Bytes transferidos",
"chunks": "Blocos",
"transfer_started": "Transferência iniciada",
"transfer_completed": "Transferência concluída",
"transfer_failed": "Transferência falhou",
"transfer_cancelled": "Transferência cancelada",
"max_file_size": "Tamanho máximo do ficheiro: 4 GB",
"error_too_large": "O ficheiro é demasiado grande",
"error_no_device": "Nenhum dispositivo selecionado",
"error_no_file": "Nenhum ficheiro selecionado"
},
"network": {
"title": "Monitorização de rede",
"targets": "Alvos de monitorização",
"add_target": "Adicionar alvo",
"edit_target": "Editar alvo",
"delete_target": "Excluir alvo",
"delete_confirm": "Tem a certeza que deseja excluir este alvo?",
"target_name": "Nome",
"host": "Host",
"port": "Porta",
"url": "URL",
"check_type": "Tipo de verificação",
"timeout": "Tempo limite",
"interval": "Intervalo (ms)",
"enabled": "Ativo",
"status": "Estado",
"last_check": "Última verificação",
"last_rtt": "Último RTT",
"rtt_ms": "RTT (ms)",
"status_up": "Acessível",
"status_down": "Inacessível",
"status_unknown": "Desconhecido",
"check_now": "Verificar agora",
"history": "Histórico de verificações",
"stats": "Estatísticas",
"total_targets": "Total de alvos",
"targets_up": "Alvos acessíveis",
"targets_down": "Alvos inacessíveis",
"type_ping": "Ping (ICMP)",
"type_tcp": "Porta TCP",
"type_http": "HTTP",
"type_https": "HTTPS",
"tools": "Ferramentas de rede",
"ping_tool": "Teste de Ping",
"tcp_tool": "Verificação de porta TCP",
"http_tool": "Verificação HTTP",
"dns_tool": "Resolução DNS",
"monitor_start": "Iniciar monitorização",
"monitor_stop": "Parar monitorização",
"monitor_running": "Monitorização em curso",
"monitor_stopped": "Monitorização parada",
"no_targets": "Nenhum alvo de monitorização configurado",
"no_history": "Nenhum histórico de verificações disponível",
"error_code": "Erro",
"status_code": "Código de estado HTTP",
"search_targets": "Pesquisar alvos...",
"name": "Name",
"tab_targets": "Targets",
"tab_tools": "Tools",
"avg_latency": "Avg Latency",
"type": "Type",
"latency": "Latency",
"check_history": "Histórico de verificações",
"name_host_required": "Nome e host são obrigatórios",
"uptime": "Tempo de atividade",
"response_time": "Tempo de resposta",
"avg_response": "Resposta média",
"charts": "Gráficos",
"realtime": "Tempo real",
"response_time_ms": "Tempo de resposta (ms)",
"uptime_percent": "% Tempo de atividade",
"last_24h": "Últimas 24 horas",
"last_7d": "Últimos 7 dias",
"last_30d": "Últimos 30 dias"
},
"dataguard": {
"title": "DataGuard",
"policies": "Políticas DLP",
"add_policy": "Adicionar política",
"edit_policy": "Editar política",
"delete_policy": "Excluir política",
"delete_confirm": "Tem a certeza que deseja excluir esta política?",
"policy_name": "Nome",
"policy_description": "Descrição",
"status": "Status",
"enabled": "Ativo",
"disabled": "Inativo",
"rules": "Regras",
"add_rule": "Adicionar regra",
"rule_type": "Tipo de regra",
"rule_type_usb": "Dispositivo USB",
"rule_type_file": "Operação de ficheiro",
"action": "Ação",
"action_allow": "Permitir",
"action_block": "Bloquear",
"action_log": "Apenas registar",
"filter": "Filtro",
"vid": "ID do fabricante (VID)",
"pid": "ID do produto (PID)",
"serial": "Número de série",
"device_class": "Classe do dispositivo",
"drive_type": "Tipo de unidade",
"file_extensions": "Extensões de ficheiro",
"events": "Eventos DLP",
"event_source": "Origem",
"event_source_usb": "USB",
"event_source_file": "Ficheiro",
"event_type": "Tipo de evento",
"event_details": "Detalhes",
"no_policies": "Nenhuma política DLP configurada",
"no_events": "Nenhum evento DLP registado",
"stats": "Estatísticas",
"total_events": "Total de eventos",
"blocked_events": "Bloqueados",
"logged_events": "Registados",
"usb_events": "Eventos USB",
"file_events": "Eventos de ficheiro",
"device_id": "ID do dispositivo",
"policy_matched": "Política correspondente",
"timestamp": "Marca temporal",
"drive_removable": "Removível",
"drive_fixed": "Fixo",
"drive_network": "Rede",
"drive_cdrom": "CD-ROM",
"drive_unknown": "Desconhecido",
"total_policies": "Total de políticas",
"active_policies": "Políticas ativas",
"violations": "Violations",
"blocked": "Blocked",
"tab_policies": "Políticas",
"tab_events": "Events",
"search_policies": "Pesquisar políticas...",
"create_policy": "Criar política",
"policy_type": "Tipo de política",
"scope": "Scope",
"events_count": "Events",
"search_events": "Pesquisar eventos...",
"event_time": "Event Time",
"device": "Dispositivo",
"policy": "Política",
"detail": "Detail",
"scope_help": "IDs de dispositivos separados por vírgula ou vazio para todos",
"scope_all": "Todos",
"active": "Active",
"type_file_type": "Tipo de arquivo",
"type_clipboard": "Área de transferência",
"type_screen_share": "Compartilhamento de tela",
"type_file_transfer": "Transferência de arquivos",
"policy_desc": "Descrição da política",
"type_usb": "USB"
},
"reports": {
"title": "Relatórios",
"generate": "Gerar relatório",
"generate_csv": "Exportar CSV",
"report_type": "Tipo de relatório",
"type_devices": "Resumo de dispositivos",
"type_activity": "Resumo de atividade",
"type_security": "Relatório de segurança",
"type_tickets": "Relatório de tickets",
"type_network": "Relatório de rede",
"type_inventory": "Relatório de inventário",
"type_alerts": "Relatório de alertas",
"saved": "Relatórios guardados",
"save_report": "Guardar relatório",
"delete_report": "Excluir relatório",
"delete_confirm": "Tem a certeza que deseja excluir este relatório guardado?",
"no_saved": "Sem relatórios guardados",
"report_title": "Título",
"created_by": "Criado por",
"created_at": "Criado em",
"filters": "Filtros",
"date_from": "De",
"date_to": "Até",
"device_filter": "ID do dispositivo",
"generated_at": "Gerado em",
"section": "Secção de dados",
"total_devices": "Total de dispositivos",
"online": "Online",
"offline": "Offline",
"banned": "Banidos",
"platform_distribution": "Distribuição de plataformas",
"top_applications": "Aplicações principais",
"total_active": "Tempo total ativo",
"total_idle": "Tempo total inativo",
"dlp_stats": "Estatísticas DLP",
"banned_devices": "Dispositivos banidos",
"audit_logs": "Registos de auditoria",
"ticket_stats": "Estatísticas de tickets",
"category_distribution": "Distribuição de categorias",
"priority_distribution": "Distribuição de prioridades",
"targets_status": "Estado dos alvos",
"os_distribution": "Distribuição de SO",
"avg_ram": "RAM média",
"alert_rules": "Regras de alarme",
"recent_alerts": "Alertas recentes",
"tab_generate": "Gerar",
"tab_saved": "Relatórios guardados",
"type_devices_desc": "Visão geral de todos os dispositivos registados",
"type_activity_desc": "Estatísticas de uso de aplicações e sessões",
"type_security_desc": "Eventos de segurança e dispositivos banidos",
"type_tickets_desc": "Estatísticas e resumo de tickets de suporte",
"type_network_desc": "Dados de monitorização de rede e uptime",
"type_inventory_desc": "Inventário de hardware e software",
"type_alerts_desc": "Histórico de alertas e regras",
"report_name": "Nome do relatório",
"format": "Formato",
"save": "Guardar",
"preview": "Pré-visualizar",
"download": "Transferir",
"delete_saved": "Excluir relatório guardado",
"raw_json": "Raw JSON"
},
"tenants": {
"title": "Multi-tenancy",
"list": "Inquilinos",
"add_tenant": "Adicionar inquilino",
"edit_tenant": "Editar inquilino",
"delete_tenant": "Excluir inquilino",
"delete_confirm": "Tem a certeza que deseja excluir este inquilino? Todas as atribuições de dispositivos e utilizadores serão removidas.",
"name": "Nome",
"slug": "Slug",
"contact_name": "Nome do contacto",
"contact_email": "E-mail do contacto",
"max_devices": "Máx. dispositivos",
"max_devices_hint": "0 = ilimitado",
"notes": "Notas",
"active": "Ativo",
"inactive": "Inativo",
"devices": "Dispositivos",
"users": "Utilizadores",
"assign_device": "Atribuir dispositivo",
"assign_devices": "Atribuir dispositivos",
"remove_device": "Remover dispositivo",
"assign_user": "Atribuir utilizador",
"remove_user": "Remover utilizador",
"no_tenants": "Nenhum inquilino configurado",
"no_devices": "Nenhum dispositivo atribuído a este inquilino",
"no_users": "Nenhum utilizador atribuído a este inquilino",
"stats": "Estatísticas do inquilino",
"total_devices": "Total de dispositivos",
"online_devices": "Dispositivos online",
"total_users": "Total de utilizadores",
"created_at": "Criado em",
"updated_at": "Atualizado em",
"slug_exists": "O slug do inquilino já existe",
"total_tenants": "Total de inquilinos",
"active_tenants": "Inquilinos ativos",
"search": "Pesquisar inquilino...",
"create_tenant": "Criar inquilino",
"detail": "Detalhes do inquilino",
"contact": "Contacto",
"enabled": "Ativado",
"disabled": "Desativado",
"max": "Máx",
"info": "Informação do inquilino",
"status": "Estado"
},
"registrations": {
"title": "Registos de dispositivos",
"subtitle": "Gerir pedidos de registo de dispositivos descobertos via LAN",
"search_placeholder": "Pesquisar por ID do dispositivo, nome do host ou IP...",
"no_registrations": "Nenhum pedido de registo",
"col_device_id": "ID do dispositivo",
"col_hostname": "Nome do host",
"col_platform": "Plataforma",
"col_ip": "Endereço IP",
"col_version": "Versão",
"col_status": "Estado",
"col_requested": "Solicitado",
"col_actions": "Ações",
"status_pending": "Pendente",
"status_approved": "Aprovado",
"status_rejected": "Rejeitado",
"approve_btn": "Aprovar",
"approve_confirm": "Tem a certeza que deseja aprovar este dispositivo? Receberá as credenciais do servidor e poderá conectar-se automaticamente.",
"approved_success": "Registo de dispositivo aprovado com sucesso",
"reject_btn": "Rejeitar",
"reject_title": "Rejeitar registo",
"reject_confirm": "Tem a certeza que deseja rejeitar este pedido de registo?",
"reject_reason": "Motivo (opcional)",
"reject_reason_placeholder": "Insira o motivo da rejeição...",
"rejected_success": "Registo de dispositivo rejeitado",
"delete_confirm": "Tem a certeza que deseja excluir este registo?",
"deleted_success": "Registo excluído",
"enrollment_title": "Registro de dispositivos",
"enrollment_subtitle": "Solicitações pendentes de registro de clientes desktop BetterDesk",
"enrollment_empty": "Nenhuma solicitação de registro pendente",
"enrollment_approve": "Approve",
"enrollment_reject": "Reject",
"enrollment_display_name": "Nome exibido",
"enrollment_display_name_placeholder": "Digite um nome para este dispositivo...",
"enrollment_sync_mode": "Modo de sincronização",
"enrollment_sync_silent": "Silencioso — telemetria mínima",
"enrollment_sync_standard": "Padrão — sincronização equilibrada",
"enrollment_sync_turbo": "Turbo — sincronização agressiva",
"enrollment_approved_success": "Registro de dispositivo aprovado",
"enrollment_rejected_success": "Registro de dispositivo rejeitado",
"approve_title": "Aprovar dispositivo",
"field_name": "Nome do dispositivo",
"field_name_placeholder": "Ingresa un nome para este dispositivo...",
"field_sync_mode": "Modo de sincronização",
"sync_standard": "Padrão — sincronización equilibrada",
"sync_silent": "Silencioso — telemetria mínima",
"sync_turbo": "Turbo — sincronização agressiva",
"field_tags": "Etiquetas",
"field_tags_placeholder": "Etiquetas separadas por vírgulas (p. ej. oficina, portátil)...",
"field_tags_existing": "Etiquetas existentes",
"field_tag_add_placeholder": "Adicionar nueva etiqueta...",
"field_tag_add_btn": "Adicionar",
"field_groups": "Grupos de dispositivos",
"field_folder": "Pasta",
"field_folder_none": "Sin pasta",
"reject_ban_option": "Banir este dispositivo",
"reject_ban_hint": "El dispositivo será bloqueado y não poderá enviar nuevas pedidos de registro.",
"banner_open_mode": "La registo está abierta — los novos clientes RustDesk se registam sin aprovação del operador. Establece el modo gerido en Configuração para usar esta fila.",
"banner_locked_mode": "La registo está bloqueada — solo los dispositivos vinculados a un por token podem registar-se. El modo gerido es necesario para que el operador apruebe clientes desconhecidos.",
"enrollment_settings_link": "Configuração de registo"
},
"backup": {
"title": "Backup",
"desc": "Transferira um backup completo da configuração da consola, utilizadores, grupos e definições. Os dados peer do servidor Go são incluídos quando o backend BetterDesk está ativo.",
"restore_title": "Restaurar",
"restore_desc": "Carregue um ficheiro de backup transferido anteriormente para restaurar a configuração da consola. Selecione que secções restaurar abaixo.",
"stat_users": "Utilizadores",
"stat_settings": "Definições",
"stat_folders": "Pastas",
"stat_groups": "Grupos",
"stat_strategies": "Estratégias",
"stat_backend": "Backend",
"download": "Transferir backup",
"creating": "A criar backup...",
"download_success": "Backup transferido com sucesso",
"upload": "Carregar backup",
"restore_confirm": "Tem a certeza que deseja restaurar a partir deste backup? As secções selecionadas serão substituídas.",
"restore_success": "Backup restaurado com sucesso. Algumas alterações podem requerer um recarregamento da página.",
"restored": "Restaurado",
"skipped": "Ignorado",
"backup_date": "Data do backup",
"opt_settings": "Definições da consola",
"opt_branding": "Marca / Tema",
"opt_folders": "Pastas de dispositivos",
"opt_groups": "Grupos de utilizadores e dispositivos",
"opt_addressbooks": "Livros de endereços",
"opt_users": "Contas de utilizadores",
"opt_users_warning": "Destrutivo: substitui TODAS as contas de utilizadores com os dados do backup. Pode ser desconectado.",
"no_file": "Nenhum ficheiro de backup selecionado",
"invalid_json": "Ficheiro de backup inválido: JSON inválido",
"invalid_format": "Ficheiro de backup inválido: não é um backup BetterDesk",
"stat_database": "Motor de base de dados",
"stat_keys": "Chaves do servidor incluidas",
"stat_env": "Ficheiro de ambiente",
"stat_uploads": "Ficheiros de marca",
"restart_required": "Alguns componentes restaurados (chaves / .env / base de dados Go) requern un reinicio del serviço para tomar efecto.",
"security_warning": "Esta cópia de segurança contiene segredos (chaves do servidor, ficheiro de ambiente, hashes de palavra-passes y segredos 2FA). Guárdela de forma segura y nunca la comparta.",
"restore_warning": "Restaurar los segredos, el ficheiro de ambiente o la base de dados do servidor Go sobrescribe la identidade do servidor y requer un reinicio del serviço después.",
"opt_database": "Base de dados (todas las tabelas)",
"opt_database_hint": "Reimporta todos os dados de la consola. Se aplica en vivo, no se requer reinicio.",
"opt_uploads": "Ficheiros de marca",
"opt_uploads_hint": "Logótipos e imagens carregadas.",
"opt_secrets": "Chaves y segredos do servidor",
"opt_secrets_warning": "Sobreescribe la identidade do servidor Ed25519, la chave API y el segredo de sesión. Requer reinicio del serviço.",
"opt_env": "Ficheiro de ambiente (.env)",
"opt_env_warning": "Sobreescribe SESSION_SECRET, chave API, DSN de la base de dados, portas y configuração TLS. Requer reinicio del serviço.",
"opt_godb": "Base de dados do servidor Go",
"opt_godb_warning": "Sobreescribe la base de dados SQLite do servidor Go (solo backend SQLite). Requer reinicio del serviço."
},
"cdap": {
"device_detail": "Detalhes do dispositivo",
"loading": "A carregar...",
"loading_widgets": "Carregando widgets do dispositivo...",
"load_error": "Não foi possível carregar dados do dispositivo",
"connected": "Conectado",
"disconnected": "Desconectado",
"device_offline_msg": "O dispositivo está offline no momento. Os valores dos widgets podem estar desatualizados.",
"no_widgets": "Sem widgets disponíveis",
"no_widgets_desc": "Este dispositivo não registrou um manifesto CDAP com definições de widgets.",
"command_log": "Registo de comandos",
"clear_log": "Limpar registo",
"confirm_command": "Confirmar comando",
"select_option": "Selecionar",
"cdap_status": "Estado CDAP",
"cdap_enabled": "CDAP ativado",
"cdap_disabled": "CDAP desativado",
"cdap_devices": "Dispositivos CDAP",
"cdap_connections": "Conexões ativas",
"send_command": "Enviar comando",
"command_sent": "Comando enviado com sucesso",
"command_failed": "Falha ao enviar comando",
"devices_title": "Dispositivos CDAP",
"devices_subtitle": "Dispositivos conectados via Custom Device Application Protocol",
"stat_connected": "Ligado",
"stat_port": "Porta",
"search_devices": "Pesquisar dispositivos...",
"no_devices": "Sem dispositivos",
"no_devices_desc": "Nenhum dispositivo CDAP conectado no momento. Dispositivos aparecerão aqui quando se conectarem ao gateway.",
"gateway_disabled": "Gateway desativado",
"gateway_disabled_desc": "Ative o gateway CDAP definindo CDAP_ENABLED=true na configuração do servidor.",
"gateway_active": "Ativo",
"toggle_enable": "Ativar CDAP",
"toggle_disable": "Desativar CDAP",
"enabled_restart": "CDAP ativado. É necessário reiniciar o servidor para aplicar as alterações.",
"disabled_restart": "CDAP desativado. É necessário reiniciar o servidor para aplicar as alterações.",
"widgets": "Widgets",
"type_all": "Todos",
"type_iot": "IoT",
"type_scada": "SCADA",
"type_os_agent": "Agente OS",
"type_network": "Rede",
"type_camera": "Câmara",
"type_custom": "Personalizado",
"active_alerts": "Alertas ativos",
"alert_fired": "Alerta acionado",
"alert_cleared": "Alerta limpo",
"no_alerts": "Sem alertas",
"connect_terminal": "Conectar terminal",
"table_search": "Pesquisar...",
"just_now": "Agora mesmo",
"terminal_connecting": "Conectando ao dispositivo...",
"terminal_disconnected": "Disconnected",
"terminal_error": "Falha na conexão do terminal",
"linked_devices": "Dispositivos vinculados",
"link_device": "Vincular dispositivo",
"unlink_device": "Desligar",
"no_linked_devices": "Nenhum dispositivo vinculado",
"unlink_confirm": "Tem certeza de que deseja desvincular este dispositivo?",
"link_prompt": "Digite o ID do peer para vincular a este dispositivo:",
"connect_desktop": "Conectar área de trabalho",
"connect_video": "Conectar transmissão",
"connect_files": "Navegar por arquivos",
"connect_audio": "Conectar áudio",
"upload_file": "Upload",
"desktop_connecting": "A conectar ao ambiente de trabalho...",
"video_connecting": "Conectando...",
"files_connecting": "Conectando...",
"audio_connecting": "A conectar áudio...",
"audio_streaming": "Streaming de áudio",
"clipboard_in": "Área de transferência de entrada",
"clipboard_out": "Área de transferência de saída",
"monitor_select": "Selecionar monitor",
"keyframe_request": "Solicitar keyframe",
"quality_auto": "Qualidade automática"
},
"desktop": {
"switch_mode": "Alternar modo",
"console_mode": "Modo console",
"loading": "Carregando",
"minimize": "Minimize",
"maximize": "Maximize",
"restore": "Restore",
"close": "Fechar",
"widgets_mode": "Modo widgets",
"windows_mode": "Windows",
"wallpaper": "Wallpaper",
"add_widget": "Adicionar widget",
"remove_widget": "Remover widget",
"configure": "Configurar",
"search_widgets": "Pesquisar widgets...",
"cat_monitoring": "Monitoring",
"cat_devices": "Dispositivos",
"cat_tools": "Tools",
"cat_general": "General",
"notes_placeholder": "Notas...",
"search_placeholder": "Pesquisar...",
"search_pages": "Pages",
"search_devices": "Pesquisar dispositivos",
"search_no_results": "No results",
"exit_desktop": "Exit Desktop",
"refresh": "Refresh",
"widget_clock": "Clock",
"widget_device_status": "Status dos dispositivos",
"widget_server_health": "Saúde do servidor",
"widget_system_stats": "Estatísticas do sistema",
"widget_device_list": "Lista de dispositivos",
"widget_quick_actions": "Ações rápidas",
"widget_recent_activity": "Atividade recente",
"widget_notes": "Notes",
"widget_network_monitor": "Monitor de rede",
"widget_tickets_summary": "Tickets",
"widget_iframe": "Web Embed",
"widget_cdap_devices": "Dispositivos CDAP",
"widget_uptime": "Uptime",
"widget_port_status": "Port Status",
"widget_device_grid": "Grade de dispositivos",
"widget_multi_gauge": "Indicador múltiplo",
"widget_weekly_chart": "Gráfico semanal",
"widget_quick_controls": "Controles rápidos",
"widget_bandwidth": "Bandwidth",
"widget_connection_stats": "Estatísticas de conexão",
"widget_weather": "Weather",
"widget_world_clock": "World Clock",
"widget_bookmarks": "Bookmarks",
"widget_user_sessions": "Sessões de usuário",
"widget_alert_feed": "Alert Feed",
"label_online": "Online",
"label_offline": "Offline",
"label_total": "Total",
"label_blocked": "Blocked",
"label_banned": "Banned",
"label_active": "Active",
"label_service": "Service",
"label_port": "Port",
"label_uptime_prefix": "Uptime:",
"label_uptime": "Uptime",
"label_no_devices": "Sem dispositivos",
"label_no_activity": "No activity",
"label_no_targets": "No targets",
"label_unavailable": "Unavailable",
"label_open": "Abrir",
"label_in_progress": "In Progress",
"label_resolved": "Resolved",
"label_set_url": "Definir URL",
"label_server_uptime": "Tempo ativo do servidor",
"label_merged_info": "Informações combinadas",
"label_with_notes": "Com notas",
"label_metric": "Metric",
"label_count": "Count",
"label_total_devices": "Total de dispositivos",
"label_throughput": "Throughput",
"label_active_relays": "Relays ativos",
"label_total_relayed": "Total retransmitido",
"label_total_bytes": "Total Bytes",
"label_filter_devices": "Filtrar dispositivos",
"label_all": "All",
"label_ban": "Ban",
"label_unban": "Unban",
"label_connect": "Connect",
"label_no_cdap_devices": "Sem dispositivos CDAP",
"action_add_widget": "Adicionar widget",
"label_merged_server_info": "Informações combinadas do servidor",
"wp_images": "Imagens",
"wp_colors": "Cores sólidas",
"wp_custom_color": "Cor personalizada",
"wp_fit_style": "Estilo",
"wp_fill": "Preencher",
"wp_fit": "Ajustar",
"wp_stretch": "Esticar",
"wp_center": "Centralizar",
"widget_calendar": "Calendar",
"widget_process_monitor": "Monitor de processos",
"widget_disk_usage": "Disk Usage",
"widget_log_viewer": "Log Viewer",
"widget_speed_test": "Speed Test",
"widget_database_stats": "Estatísticas do banco de dados",
"widget_docker_containers": "Contêineres Docker",
"widget_shell_command": "Comando shell",
"widget_device_map": "Mapa de dispositivos",
"widget_remote_connect": "Conexão remota",
"label_no_online": "Nenhum dispositivo online",
"label_no_events": "Sem eventos",
"label_event_title": "Título do evento",
"label_no_data": "Sem dados",
"label_download_speed": "Velocidade de download",
"label_latency": "Latency",
"label_server": "Instância do servidor",
"label_run_test": "Run Test",
"label_testing": "Testando",
"label_table": "Table",
"label_rows": "Rows",
"label_last_backup": "Last Backup",
"label_no_containers": "Sem contêineres",
"label_docker_unavailable": "Docker indisponível",
"label_no_command": "Sem comando",
"label_no_output": "Sem saída",
"label_run": "Run",
"label_presets": "Presets",
"label_save_preset": "Salvar predefinição",
"label_load_preset": "Load Preset",
"label_preset_name": "Nome da predefinição",
"label_preset_monitoring": "Monitoring",
"label_preset_helpdesk": "Helpdesk",
"label_preset_minimal": "Minimal",
"label_preset_developer": "Developer",
"label_snap_layout": "Snap Layout",
"label_auto_arrange": "Organizar automaticamente",
"label_zone_layout": "Zone Layout",
"label_2col_equal": "2 colunas iguais",
"label_2col_wide": "2 colunas largas",
"label_3col": "3 Columns",
"label_2x2_grid": "2×2 Grid",
"label_1_2": "1 + 2",
"label_1_3": "1 + 3",
"widget_group": "Grupo de widgets",
"ungroup_widgets": "Desagrupar widgets",
"group_widgets": "Agrupar widgets",
"snap_layouts": "Layouts de encaixe",
"snap_left": "Snap Left",
"snap_right": "Snap Right",
"snap_top_left": "Encaixar no canto superior esquerdo",
"snap_top_right": "Encaixar no canto superior direito",
"snap_bottom_left": "Encaixar no canto inferior esquerdo",
"snap_bottom_right": "Encaixar no canto inferior direito",
"aero_shake": "Sacudir janela",
"zone_resize": "Redimensionar zona",
"zone_borders": "Bordas da zona",
"app_drawer": "Applications",
"search_apps": "Pesquisar apps",
"edit_shortcuts": "Editar atalhos",
"widgets": "Lista de widgets",
"theme": "Theme",
"fullscreen": "Ecrã inteiro",
"pop_out_widget": "Pop Out",
"pop_in_widget": "Pop In",
"wp_unavailable": "Papéis de parede indisponíveis",
"wp_download_hint": "Baixe papéis de parede para usá-los aqui.",
"help": "Help"
},
"desktop_login": {
"click_to_sign_in": "Clique para entrar",
"username_placeholder": "Nome de usuário",
"password_placeholder": "Senha",
"sign_in": "Sign in",
"verify": "Verify",
"totp_title": "Verificação em duas etapas",
"totp_subtitle": "Digite o código de 6 dígitos do seu aplicativo autenticador.",
"back_to_login": "Voltar ao login",
"fill_all_fields": "Preencha todos os campos",
"invalid_credentials": "Credenciais inválidas",
"invalid_code": "Código inválido",
"enter_6_digits": "Digite 6 dígitos",
"network_error": "Erro de rede",
"session_expired": "Sessão expirada"
},
"tokens": {
"title": "Tokens de acesso",
"subtitle": "Gerir tokens de acesso API para integrações e automação",
"enrollment_mode": "Modo de registro",
"mode_open": "Aberto",
"mode_open_desc": "Qualquer cliente válido pode solicitar registro.",
"mode_managed": "Managed",
"mode_managed_desc": "Devices need a valid token to register",
"mode_locked": "Locked",
"mode_locked_desc": "No new device registrations allowed",
"total": "Total",
"active": "Active",
"used": "Used",
"revoked": "Token revogado com sucesso",
"search_placeholder": "Pesquisar tokens...",
"status_pending": "Pending",
"status_active": "Active",
"status_used": "Used",
"status_revoked": "Revoked",
"status_expired": "Expired",
"bulk_generate": "Gerar em lote",
"create": "Criar token",
"edit": "Editar",
"token": "Token",
"name": "Nome do token",
"status": "Status",
"uses": "Uses",
"bound_peer": "Bound Peer",
"expires": "Expires",
"created": "Token criado com sucesso",
"actions": "Actions",
"name_placeholder": "Insira o nome do token",
"max_uses": "Max Uses",
"max_uses_hint": "Número máximo de usos permitidos para este token.",
"expires_in": "Expires In",
"no_expiration": "Sem expiração",
"expires_1h": "1 hour",
"expires_24h": "24 hours",
"expires_7d": "7 days",
"expires_30d": "30 days",
"note": "Note",
"note_placeholder": "Nota opcional",
"count": "Count",
"count_range": "A quantidade deve estar entre 1 e 100",
"name_prefix": "Name Prefix",
"generate": "Generate",
"token_created": "Token criado",
"tokens_generated": "Tokens gerados",
"copy_warning": "Copie este token agora. Não o verá novamente!",
"copy_token": "Copiar token",
"copied": "Token copiado para a área de transferência",
"revoke": "Revogar",
"revoke_confirm": "Tem a certeza que deseja revogar este token? Esta ação não pode ser desfeita.",
"revoked_success": "Token revogado com sucesso",
"no_tokens": "Sem tokens criados",
"expired": "Expirado",
"never": "Never",
"save": "Salvar",
"cancel": "Cancelar",
"unlimited": "Unlimited"
},
"tutorial": {
"next": "Seguinte",
"prev": "Anterior",
"skip": "Saltar visita",
"finish": "Concluir",
"close": "Fechar",
"step_of": "Etapa {current} de {total}",
"console_sidebar_title": "Navegação da console",
"console_sidebar_text": "Use a barra lateral para alternar entre dispositivos, usuários, configurações e ferramentas.",
"console_expand_title": "Expandir barra lateral",
"console_expand_text": "Abra a barra lateral para ver todas as seções e ferramentas da console.",
"console_search_title": "Pesquisa rápida",
"console_search_text": "Use a pesquisa para encontrar dispositivos, configurações e ações mais rapidamente.",
"console_dashboard_title": "Verificar painel",
"console_dashboard_text": "O painel resume status do servidor, dispositivos e atividade recente.",
"console_devices_title": "Lista de dispositivos",
"console_devices_text": "Aqui você pode pesquisar, filtrar e gerenciar todos os dispositivos registrados.",
"console_settings_title": "Configurações",
"console_settings_text": "Gerencie segurança, autenticação, atualizações e integrações.",
"console_desktop_title": "Modo desktop",
"console_desktop_text": "Mude para o desktop de widgets para criar uma visão operacional personalizada.",
"console_complete_title": "Console pronta",
"console_complete_text": "Você já conhece as principais áreas da console BetterDesk.",
"desktop_topbar_title": "Top Bar",
"desktop_topbar_text": "A barra superior contém controles de janela, pesquisa e atalhos.",
"desktop_drawer_title": "App Drawer",
"desktop_drawer_text": "Abra o seletor de widgets para colocar novos cartões no desktop.",
"desktop_widgets_title": "Widgets",
"desktop_widgets_text": "Widgets mostram dados operacionais ao vivo e atalhos rápidos.",
"desktop_add_widget_title": "Adicionar widgets",
"desktop_add_widget_text": "Escolha um widget e coloque-o onde precisar.",
"desktop_taskbar_title": "Taskbar",
"desktop_taskbar_text": "Open apps appear here. Click to focus or minimize windows. The clock shows current time and wallpaper button changes the background.",
"desktop_snap_title": "Layouts de encaixe",
"desktop_snap_text": "Use layouts de encaixe para organizar widgets rapidamente em zonas.",
"desktop_windows_title": "App Windows",
"desktop_windows_text": "Mova, agrupe e redimensione janelas como em um desktop moderno.",
"desktop_search_title": "Pesquisar apps",
"desktop_search_text": "Pesquise widgets e ferramentas disponíveis pelo lançador.",
"desktop_complete_title": "Desktop pronto",
"desktop_complete_text": "O modo desktop está configurado e pronto para personalização.",
"devices_folders_title": "Pastas e grupos",
"devices_folders_text": "Organize dispositivos em pastas ou grupos dinâmicos.",
"devices_search_title": "Pesquisar dispositivos",
"devices_search_text": "Filtre por ID, hostname, plataforma, usuário ou tags.",
"devices_table_title": "Tabela de dispositivos",
"devices_table_text": "Abra ações no menu de cada linha ou dê dois cliques para ver detalhes.",
"devices_complete_title": "Gerenciamento de dispositivos pronto",
"devices_complete_text": "Agora você pode pesquisar, agrupar e gerenciar dispositivos.",
"settings_tabs_title": "Seções de configuração",
"settings_tabs_text": "Alterne entre configurações de servidor, segurança, autenticação e interface.",
"settings_content_title": "Editar configuração",
"settings_content_text": "Salve alterações por seção para manter a configuração clara.",
"settings_complete_title": "Configurações prontas",
"settings_complete_text": "Você já conhece as principais áreas de configuração.",
"help": "Ajuda",
"tour_console": "Tour da console",
"tour_desktop": "Tour do desktop",
"tour_devices": "Tour de dispositivos",
"tour_settings": "Tour de configurações",
"reset_all": "Redefinir todos os tours",
"tour_remote": "Tour remoto",
"tour_organization": "Tour de organização",
"tour_cdap": "Tour CDAP",
"tour_chat": "Tour do chat",
"remote_toolbar_title": "Barra remota",
"remote_toolbar_text": "Controle qualidade, monitores, área de transferência, gravação e ações da sessão.",
"remote_canvas_title": "Tela remota",
"remote_canvas_text": "Clique na área da tela para enviar teclado e mouse ao dispositivo.",
"remote_clipboard_title": "Área de transferência",
"remote_clipboard_text": "Sincronize texto com segurança entre o navegador e o dispositivo remoto.",
"remote_complete_title": "Sessão remota pronta",
"remote_complete_text": "Agora você pode controlar e monitorar uma sessão.",
"org_overview_title": "Visão geral da organização",
"org_overview_text": "Veja membros, dispositivos e políticas da organização de relance.",
"org_create_title": "Criar organização",
"org_create_text": "Crie uma nova organização para separar dispositivos e usuários.",
"org_members_title": "Gerenciar membros",
"org_members_text": "Atribua usuários e defina funções específicas da organização.",
"org_devices_title": "Atribuir dispositivos",
"org_devices_text": "Atribua dispositivos a uma organização para manter os dados dentro do escopo correto.",
"org_policies_title": "Configurar políticas",
"org_policies_text": "Controle regras de acesso, transferência de arquivos e limites de sessão.",
"org_complete_title": "Organização pronta",
"org_complete_text": "A organização está preparada para usuários, dispositivos e políticas.",
"cdap_devices_title": "Dispositivos CDAP",
"cdap_devices_text": "Veja todos os dispositivos CDAP ligados — sensores IoT, PLCs, bridges e agentes personalizados. Indicadores verdes mostram ligações ao vivo.",
"cdap_widgets_title": "Dashboard de widgets",
"cdap_widgets_text": "Os widgets exibem dados em tempo real dos dispositivos. Medidores, interruptores, LEDs, gráficos — cada tipo de widget visualiza um tipo diferente de dados.",
"cdap_commands_title": "Enviar comandos",
"cdap_commands_text": "Interaja com dispositivos enviando comandos. Alguns comandos precisam de confirmação. O registo de comandos mantém o histórico de todos os comandos enviados.",
"cdap_terminal_title": "Terminal do dispositivo",
"cdap_terminal_text": "Abra uma sessão de terminal nos agentes CDAP para diagnóstico avançado ou configuração manual. Digite comandos diretamente.",
"cdap_complete_title": "Visão geral CDAP completa!",
"cdap_complete_text": "Explore os widgets dos dispositivos, envie comandos e use o terminal ou o navegador de ficheiros para gestão mais aprofundada. Os agentes CDAP reportam métricas automaticamente.",
"chat_contacts_title": "Contatos",
"chat_contacts_text": "Selecione operadores, agentes ou grupos para uma conversa.",
"chat_send_title": "Enviar mensagens",
"chat_send_text": "Escreva mensagens, envie arquivos e use confirmações de leitura.",
"chat_file_title": "Compartilhar arquivos",
"chat_file_text": "Arquivos são transferidos criptografados quando a criptografia ponta a ponta está ativa.",
"chat_complete_title": "Chat pronto",
"chat_complete_text": "Agora você pode se comunicar com segurança com usuários e operadores.",
"disable_tutorials": "Desativar tutoriais",
"enable_tutorials": "Ativar tutoriais"
},
"help_request": {
"title": "Solicitações de ajuda",
"subtitle": "Pedidos de suporte enviados por usuários finais",
"new_request": "Nova solicitação de ajuda",
"device": "Dispositivo",
"hostname": "Hostname",
"message": "Message",
"status": "Status",
"pending": "Pending",
"accepted": "Accepted",
"resolved": "Resolved",
"accept": "Accept",
"resolve": "Resolve",
"no_requests": "Sem solicitações de ajuda",
"notification": "Notificação de solicitação de ajuda",
"stats_total": "Total",
"filter_all": "All"
},
"organizations": {
"title": "Organizações",
"create": "Criar",
"edit": "Editar",
"detail": "Detalhes",
"name": "Name",
"slug": "Slug",
"logo_url": "Logo URL",
"users": "Users",
"devices": "Dispositivos",
"invitations": "Invitations",
"settings": "Configurações",
"add_user": "Add User",
"assign_device": "Atribuir dispositivo",
"create_invitation": "Criar convite",
"delete_confirm": "Excluir esta organização?",
"no_orgs": "Sem organizações",
"no_orgs_hint": "Crie uma organização para gerenciar usuários e dispositivos separadamente.",
"connection_policy": "Política de conexão",
"allow_file_transfer": "Permitir transferência de arquivos",
"allow_clipboard": "Permitir área de transferência",
"max_session_duration": "Duração máxima da sessão",
"role_owner": "Proprietário (admin org.)",
"role_admin": "Administrador",
"role_operator": "Operator",
"role_user": "Membro",
"username": "Nome de usuário",
"password": "Senha",
"display_name": "Nome exibido",
"email": "Email",
"role": "Role",
"last_login": "Last Login",
"actions": "Actions",
"device_id": "ID do dispositivo",
"department": "Department",
"building": "Building",
"location": "Location",
"assigned_user": "Usuário atribuído",
"token": "Token",
"expires": "Expires",
"used": "Used",
"no_users": "Sem usuários",
"no_devices": "Sem dispositivos",
"no_invitations": "Sem convites",
"user_added": "User added",
"user_removed": "Usuário removido",
"user_updated": "Usuário atualizado",
"device_assigned": "Dispositivo atribuído",
"device_unassigned": "Atribuição do dispositivo removida",
"invitation_created": "Convite criado",
"settings_saved": "Configurações da organização salvas",
"org_deleted": "Organização excluída",
"confirm_remove_user": "Remover este usuário da organização?",
"confirm_unassign_device": "Remover este dispositivo da organização?",
"confirm_delete_org": "Excluir esta organização permanentemente?",
"edit_role": "Editar função",
"raw_settings": "Configurações brutas",
"key": "Key",
"value": "Value",
"save": "Salvar",
"policy_unattended": "Acesso não supervisionado",
"policy_attended": "Acesso supervisionado",
"policy_ask": "Always ask",
"expires_hours": "Expira em horas",
"loading_failed": "Não foi possível carregar organizações",
"name_slug_required": "Nome e slug são obrigatórios",
"org_created": "Organização criada",
"org_updated": "Organização atualizada",
"create_new_user": "Criar novo usuário",
"add_existing_user": "Adicionar usuário existente",
"none_available": "none",
"select_user": "Selecionar usuário",
"org_role": "Função na organização",
"link_user_hint": "Vincule um usuário existente a esta organização.",
"no_available_users": "Nenhum usuário disponível",
"user_linked": "Usuário vinculado",
"device_groups_tab": "Grupos de dispositivos",
"device_groups_intro": "Os grupos de dispositivos ligados a esta organização definem quais máquinas os membros podem aceder no cliente RustDesk. Configure membros e acesso na página Dispositivos.",
"manage_in_devices": "Abrir Dispositivos → Grupos",
"no_org_device_groups": "Ainda não há grupos de dispositivos ligados a esta organização.",
"create_org_device_group": "Criar grupo de dispositivos",
"org_device_group_created": "Grupo de dispositivos criado",
"org_user_groups_title": "Grupos de utilizadores",
"org_user_groups_intro": "Grupos de utilizadores ligados à organização podem receber acesso aos grupos de dispositivos acima (Dispositivos → Grupos → Grupos de utilizadores permitidos).",
"no_org_user_groups": "Nenhum grupo de utilizadores ligado a esta organização.",
"group_name": "Name",
"group_type": "Type",
"group_members": "Dispositivos",
"group_type_manual": "Manual",
"group_type_tag": "Tag",
"group_allowed_user_groups": "Grupos de utilizadores permitidos",
"group_devices_suffix": "dispositivos",
"group_name_required": "O nome do grupo é obrigatório",
"org_team_id": "ID de equipa da organização",
"link_team_id_hint": "O grupo será ligado automaticamente a esta organização (team ID = ID da organização).",
"address_book": "Livro de endereços",
"address_book_import_devices": "Importar dispositivos da organização",
"address_book_save": "Guardar livro de endereços",
"address_book_intro": "Gerencie os contatos compartilhados com os membros desta organização. As entradas pessoais continuam privadas e têm prioridade em caso de conflito.",
"address_book_enabled": "Compartilhar este livro de endereços com os membros da organização",
"address_book_json": "JSON do livro de endereços",
"address_book_json_hint": "Formato legado do RustDesk, por exemplo: {\"peers\":[{\"id\":\"123456789\",\"alias\":\"PC escritório\"}],\"tags\":[\"Escritório\"]}",
"address_book_invalid_json": "O livro de endereços deve ser um JSON válido",
"address_book_peers_array_required": "Os peers do livro de endereços devem ser um array",
"address_book_tags_array_required": "As tags do livro de endereços devem ser um array",
"address_book_saved": "Livro de endereços guardado",
"address_book_save_failed": "Falha ao guardar o livro de endereços",
"address_book_imported": "Dispositivos da organização importados",
"address_book_import_none": "Nenhum novo dispositivo da organização para importar",
"address_book_contacts": "Shared contacts",
"address_book_add_peer": "Add contact",
"address_book_peer_id": "Device ID",
"address_book_alias": "Alias",
"address_book_peer_tags": "Contact tags",
"address_book_peer_tags_placeholder": "office, support",
"address_book_tags_label": "Global tags",
"address_book_tags_placeholder": "Office, Support",
"address_book_tags_hint": "Comma-separated tags available in the RustDesk client address book.",
"address_book_no_peers": "No contacts yet — add a device ID or import organization devices.",
"address_book_show_json": "Advanced JSON",
"address_book_hide_json": "Structured editor"
},
"chat": {
"e2e_enabled": "Criptografia ponta a ponta",
"e2e_establishing": "Estabelecendo canal seguro...",
"e2e_established": "Canal seguro estabelecido",
"e2e_unsupported": "Criptografia E2E não suportada neste navegador",
"typing_indicator": "digitando...",
"read_receipt": "Lido",
"delivered": "Entregue",
"file_share": "Arquivo",
"file_too_large": "Arquivo muito grande (máx. 50MB)",
"file_encrypted": "Transferência de arquivo criptografada",
"presence_online": "Online",
"presence_away": "Ausente",
"presence_busy": "Ocupado",
"presence_offline": "Offline",
"key_rotation": "Chaves de segurança renovadas",
"new_message": "Nova mensagem",
"title": "Chat",
"contacts": "Contatos",
"groups": "Grupos",
"no_contacts": "Nenhum contato ainda",
"no_groups": "Nenhum grupo ainda",
"no_messages": "Nenhuma mensagem ainda",
"no_results": "Nenhum resultado encontrado",
"select_conversation": "Selecione uma conversa para começar a conversar",
"type_message": "Digite uma mensagem...",
"send": "Enviar",
"attach_file": "Anexar arquivo",
"emoji": "Emoji",
"search_messages": "Pesquisar mensagens",
"create_group": "Criar grupo",
"group_name": "Nome do grupo",
"group_members": "Membros",
"cancel": "Cancelar",
"create": "Criar",
"members": "membros",
"today": "Hoje",
"yesterday": "Ontem",
"react": "Reagir",
"my_presence": "Meu status",
"search_placeholder": "Pesquisar contatos e mensagens",
"select_conversation_hint": "Selecione uma conversa para ver as mensagens",
"info": "Informacoes",
"group_name_placeholder": "Introduza o nome do grupo"
},
"toast": {
"device_connected": "Dispositivo conectado",
"device_disconnected": "Dispositivo desconectado",
"session_started": "Sessão iniciada",
"session_ended": "Sessão encerrada",
"file_upload_complete": "Upload de arquivo concluído",
"settings_saved": "Configurações salvas",
"error_generic": "Ocorreu um erro",
"connection_lost": "Conexão perdida",
"reconnecting": "Reconectando"
},
"theme": {
"dark": "Dark",
"light": "Light",
"auto": "System",
"title": "Theme",
"custom": "Personalizado"
},
"days": {
"mon": "Mon",
"tue": "Tue",
"wed": "Wed",
"thu": "Thu",
"fri": "Fri",
"sat": "Sat",
"sun": "Sun"
},
"toolkit": {
"title": "Toolkit",
"subtitle": "Ferramentas rápidas para diagnóstico, rede, segurança e manutenção.",
"cat_network": "Network",
"cat_crypto": "Crypto",
"cat_encoding": "Encoding",
"cat_system": "System",
"host": "Host",
"port": "Port",
"domain": "Domain",
"run": "Run",
"generate": "Generate",
"encode": "Encode",
"decode": "Decode",
"send": "Enviar",
"refresh": "Refresh",
"algorithm": "Algorithm",
"input_text": "Input Text",
"enter_text": "Digite o texto...",
"length": "Length",
"options": "Options",
"source": "Source",
"lines": "Lines",
"log_console": "Console",
"log_go": "Servidor Go",
"mac_address": "MAC Address",
"broadcast": "Broadcast",
"ping_title": "Ping",
"ping_desc": "Verificar disponibilidade e latência de um host",
"tcp_title": "Verificação de porta TCP",
"tcp_desc": "Testar conectividade de uma porta TCP",
"ssl_title": "Inspetor SSL",
"ssl_desc": "Inspecionar detalhes do certificado SSL/TLS",
"http_title": "Verificação de saúde HTTP",
"http_desc": "Verificar o status de um endpoint HTTP",
"dns_title": "DNS Lookup",
"dns_desc": "Resolver hostname para endereço IP",
"whois_title": "DNS Records",
"whois_desc": "Consultar registros A, AAAA, MX, TXT e NS",
"speed_title": "Speed Test",
"speed_desc": "Medir largura de banda de download",
"run_speed_test": "Executar teste de velocidade",
"wol_title": "Wake-on-LAN",
"wol_desc": "Enviar um pacote mágico para acordar um dispositivo",
"wol_sent": "Pacote mágico enviado",
"hash_title": "Gerador de hash",
"hash_desc": "Gerar hashes criptográficos",
"password_title": "Gerador de senhas",
"password_desc": "Gerar senhas fortes e aleatórias",
"jwt_title": "JWT Decoder",
"jwt_desc": "Decodificar e inspecionar JSON Web Tokens",
"jwt_token": "JWT Token",
"base64_title": "Base64",
"base64_desc": "Codificar ou decodificar dados Base64",
"url_title": "URL Encoder",
"url_desc": "Codificar ou decodificar componentes de URL",
"processes_title": "Lista de processos",
"processes_desc": "Mostrar processos do sistema em execução",
"disk_title": "Disk Usage",
"disk_desc": "Mostrar uso das partições de disco",
"db_title": "Estatísticas do banco de dados",
"db_desc": "Mostrar estatísticas das tabelas do banco de dados",
"docker_title": "Contêineres Docker",
"docker_desc": "Mostrar contêineres Docker em execução",
"logs_title": "Log Viewer",
"logs_desc": "Mostrar saídas recentes de log",
"ip_address": "IP",
"latency": "Latency",
"ttl": "TTL",
"status": "Status",
"resolved": "Resolved",
"subject": "Subject",
"issuer": "Issuer",
"valid_from": "Válido a partir de",
"valid_to": "Válido até",
"days_left": "Days Left",
"days": "days",
"protocol": "Protocol",
"cipher": "Cipher",
"alt_names": "SANs",
"chain": "Chain",
"record_type": "Type",
"record_value": "Value",
"hash_value": "Hash",
"entropy": "Entropy",
"very_strong": "Very Strong",
"strong": "Strong",
"weak": "Weak",
"expiry": "Expiry",
"expired": "Expired",
"valid": "Valid",
"process_name": "Name",
"db_type": "Type",
"db_size": "Size",
"table_name": "Table",
"row_count": "Rows",
"no_data": "Sem dados",
"no_docker": "Nenhum contêiner Docker encontrado ou Docker indisponível",
"no_logs": "Nenhuma linha de log disponível"
},
"policies": {
"title": "Políticas da organização",
"subtitle": "Gerir políticas de segurança, conexão e funcionalidades para organizações",
"select_org": "Organização",
"select_org_placeholder": "Selecionar organização...",
"select_org_first": "Selecione uma organização para ver o registo de auditoria de políticas.",
"configured": "Configurado",
"connection_title": "Política de conexão",
"connection_desc": "Controlar como as sessões remotas são estabelecidas",
"connection_mode": "Modo de conexão",
"mode_attended": "Assistido (requer aprovação do utilizador)",
"mode_unattended": "Não assistido (permitir sempre)",
"mode_ask": "Perguntar sempre",
"max_session": "Duração máx. da sessão (minutos)",
"idle_lock": "Bloqueio por inatividade (minutos)",
"wallpaper_policy": "Papel de parede durante a sessão",
"wallpaper_show": "Mostrar",
"wallpaper_hide_session": "Ocultar durante a sessão",
"wallpaper_hide_always": "Ocultar sempre",
"features_title": "Política de funcionalidades",
"features_desc": "Ativar ou desativar funcionalidades específicas para dispositivos",
"allow_file_transfer": "Permitir transferência de ficheiros",
"allow_clipboard": "Permitir sincronização da área de transferência",
"allow_audio": "Permitir transmissão de áudio",
"allow_recording": "Permitir gravação de sessão",
"security_title": "Política de segurança",
"security_desc": "Aplicar requisitos de segurança para dispositivos da organização",
"require_2fa": "Exigir 2FA para acesso não assistido",
"password_min_length": "Comprimento mínimo da palavra-passe",
"password_require_special": "Exigir caracteres especiais",
"password_max_age": "Idade máx. da palavra-passe (dias, 0=nunca)",
"allowed_operators": "Funções de operador permitidas (separadas por vírgula)",
"network_title": "Política de rede",
"network_desc": "Controlar servidores relay e conexões diretas",
"block_direct_p2p": "Bloquear P2P direto (forçar relay)",
"allowed_relays": "Servidores relay permitidos (um por linha)",
"ip_allowlist": "Lista branca IP (CIDR, um por linha)",
"update_title": "Política de atualização",
"update_desc": "Controlar atualizações automáticas e canais de atualização",
"auto_update": "Ativar atualização automática",
"update_channel": "Canal de atualização",
"audit_title": "Alterações de políticas",
"audit_desc": "Histórico recente de alterações de políticas",
"no_audit": "Nenhuma alteração de política registada.",
"save_success": "Política salva com sucesso",
"save_failed": "Não foi possível salvar a política",
"load_failed": "Não foi possível carregar políticas",
"block_direct_p2p_hint": "Se aplica a los dispositivos de esta organização. El valor predefinição global está en Configuração → Estratégia de ligação."
},
"attestation": {
"title": "Atestação de dispositivos",
"subtitle": "Monitorizar verificação de identidade de dispositivos e impressões digitais de hardware",
"verified": "Verificado",
"pending": "Pendente",
"failed": "Falhado",
"device_list": "Registos de atestação",
"device_list_desc": "Impressões digitais de hardware e estado de verificação de identidade",
"col_device": "ID do dispositivo",
"col_hostname": "Nome do host",
"col_fingerprint": "Impressão digital",
"col_status": "Estado",
"col_last_check": "Última verificação",
"col_actions": "Ações",
"no_records": "Nenhum registo de atestação encontrado.",
"verify_success": "Dispositivo marcado como verificado",
"verify_failed": "Não foi possível verificar o dispositivo",
"revoke_success": "Atestação do dispositivo revogada",
"revoke_failed": "Não foi possível revogar a atestação"
},
"fleet": {
"title": "Gestão de frota",
"tab_resources": "Recursos",
"tab_tasks": "Tarefas",
"tab_builder": "Construtor",
"tab_compliance": "Conformidade",
"res_title": "Mapeamento de recursos",
"res_all_types": "Todos os tipos",
"res_type_printer": "Impressora",
"res_type_network_drive": "Unidade de rede",
"res_type_dns": "Servidor DNS",
"res_type_proxy": "Proxy",
"res_type_vpn": "VPN",
"res_add": "Adicionar recurso",
"res_name": "Nome do recurso",
"res_type": "Tipo",
"res_address": "Endereço / Caminho",
"res_target": "Destino",
"res_scope": "Âmbito",
"res_scope_org": "Organização",
"res_scope_group": "Grupo",
"res_scope_device": "Dispositivo",
"res_scope_value": "Valor do âmbito",
"res_status": "Estado",
"res_active": "Ativo",
"res_inactive": "Inativo",
"res_no_data": "Nenhum recurso encontrado. Clique em 'Adicionar'.",
"res_confirm_delete": "Tem a certeza que pretende eliminar este recurso?",
"task_title": "Agendador de tarefas",
"task_all_status": "Todos os estados",
"task_status_pending": "Pendente",
"task_status_running": "Em execução",
"task_status_success": "Sucesso",
"task_status_failed": "Falhado",
"task_search": "Pesquisar tarefas…",
"task_create": "Criar tarefa",
"task_name": "Nome da tarefa",
"task_type": "Tipo",
"task_type_script": "Script",
"task_type_install": "Instalação",
"task_type_update": "Atualização",
"task_type_restart": "Reiniciar",
"task_type_deploy": "Implementação",
"task_type_scan": "Scan",
"task_targets": "Destinos",
"task_targets_help": "IDs de dispositivos ou nomes de grupos, separados por vírgulas",
"task_schedule": "Agendamento",
"task_schedule_once": "Uma vez",
"task_schedule_cron": "Cron",
"task_schedule_interval": "Intervalo",
"task_schedule_value": "Valor do agendamento",
"task_script": "Script / Comando",
"task_retries": "Tentativas",
"task_timeout": "Timeout (s)",
"task_last_run": "Última execução",
"task_no_data": "Nenhuma tarefa encontrada. Crie uma nova tarefa.",
"task_confirm_delete": "Tem a certeza que pretende eliminar esta tarefa?",
"task_output": "Saída da tarefa",
"task_retry": "Repetir",
"builder_title": "Construtor visual de workflows",
"builder_select_workflow": "Selecionar workflow…",
"builder_new": "Novo",
"builder_save": "Guardar",
"builder_export": "Exportar",
"builder_execute": "Executar",
"builder_dry_run": "Simulação",
"builder_triggers": "Triggers",
"builder_conditions": "Condições",
"builder_actions": "Ações",
"builder_results": "Resultados",
"builder_transforms": "Transformações",
"builder_properties": "Propriedades",
"builder_no_selection": "Selecione um nó para editar as suas propriedades.",
"workflow_name": "Nome do workflow:",
"comp_title": "Conformidade de software",
"comp_compliant": "Conforme",
"comp_warning": "Aviso",
"comp_critical": "Crítico",
"comp_score": "Pontuação média",
"comp_device": "Dispositivo",
"comp_hostname": "Nome do host",
"comp_os": "SO",
"comp_score_col": "Pontuação",
"comp_issues": "Problemas",
"comp_last_scan": "Último scan",
"comp_scan": "Scan",
"comp_scan_all": "Scan total",
"comp_remediate": "Remediar",
"comp_remediate_confirm": "Executar auto-remediação neste dispositivo?",
"comp_no_data": "Sem dados de conformidade. Execute um scan.",
"save": "Guardar",
"cancel": "Cancelar",
"close": "Fechar",
"edit": "Editar",
"delete": "Eliminar",
"actions": "Ações",
"all_orgs": "Todas as organizações",
"builder_node_trigger_manual": "Gatilho manual",
"builder_node_trigger_schedule": "Schedule",
"builder_node_trigger_event": "Gatilho de evento",
"builder_node_cond_os": "OS Check",
"builder_node_cond_threshold": "Threshold",
"builder_node_cond_time_window": "Time Window",
"builder_node_action_script": "Run Script",
"builder_node_action_install": "Install SW",
"builder_node_action_restart": "Reiniciar serviço",
"builder_node_action_file_deploy": "Implantar arquivo",
"builder_node_action_message": "Enviar mensagem",
"builder_node_result_log": "Log Output",
"builder_node_result_alert": "Enviar alerta",
"builder_node_result_chain": "Encadear fluxo",
"builder_node_transform_parse": "Parse JSON",
"builder_node_transform_filter": "Filter",
"builder_node_transform_delay": "Delay",
"select_org_placeholder": "Selecionar organização...",
"all_types": "All Types",
"type_printer": "Printer",
"type_network_drive": "Unidade de rede",
"type_dns": "Servidor DNS",
"type_vpn": "VPN",
"type_proxy": "Proxy",
"add_resource": "Adicionar recurso",
"edit_resource": "Editar recurso",
"col_name": "Name",
"col_type": "Type",
"col_target": "Target",
"col_scope": "Scope",
"col_status": "Status",
"col_actions": "Actions",
"no_resources": "No resources found.",
"active": "Active",
"inactive": "Inactive",
"address": "Endereço / caminho",
"scope_org": "Organização",
"scope_group": "Grupo",
"scope_device": "Dispositivo",
"scope_value": "Scope Value",
"scope_value_hint": "Organization, group, or device ID",
"confirm_delete": "Tem certeza de que deseja excluir este item?",
"all_statuses": "Todos os status",
"status_pending": "Pending",
"status_running": "Running",
"status_success": "Success",
"status_failed": "Falhou",
"search_tasks": "Pesquisar tarefas...",
"create_task": "Criar tarefa",
"edit_task": "Editar tarefa",
"col_task_name": "Task Name",
"col_task_type": "Type",
"col_schedule": "Schedule",
"col_last_run": "Last Run",
"no_tasks": "No tasks found.",
"task_type_file_deploy": "Implantação de arquivo",
"task_type_registry": "Registry",
"target_devices": "Dispositivos alvo",
"target_hint": "Device IDs or group names",
"schedule_immediate": "Immediate",
"schedule_once": "Once",
"schedule_cron": "Cron",
"cron_placeholder": "*/5 * * * *",
"script_content": "Script / comando",
"retry_count": "Retries",
"timeout_sec": "Timeout (s)",
"loading": "Carregando...",
"no_output": "Nenhuma saída disponível",
"error_loading": "Erro ao carregar dados",
"select_workflow": "Selecionar fluxo...",
"new_workflow": "New",
"export": "Export",
"execute": "Execute",
"dry_run": "Dry Run",
"node_triggers": "Triggers",
"node_manual": "Gatilho manual",
"node_schedule": "Schedule",
"node_event": "Gatilho de evento",
"node_conditions": "Conditions",
"node_os_check": "OS Check",
"node_threshold": "Threshold",
"node_time_window": "Time Window",
"node_actions": "Actions",
"node_run_script": "Run Script",
"node_install": "Install SW",
"node_restart": "Reiniciar serviço",
"node_file_deploy": "Implantar arquivo",
"node_send_message": "Enviar mensagem",
"node_results": "Results",
"node_log_output": "Log Output",
"node_send_alert": "Enviar alerta",
"node_chain": "Encadear fluxo",
"node_transforms": "Transforms",
"node_parse_json": "Parse JSON",
"node_filter": "Filter",
"node_delay": "Delay",
"node_properties": "Properties",
"all_organizations": "Todas as organizações",
"scan_all": "Scan All",
"compliant": "Compliant",
"non_compliant": "Warning",
"critical_issues": "Critical",
"avg_score": "Avg. Score",
"col_device": "Dispositivo",
"col_hostname": "Hostname",
"col_os": "OS",
"col_score": "Score",
"col_issues": "Issues",
"col_last_scan": "Last Scan",
"no_compliance_data": "No compliance data available.",
"confirm_remediate": "Executar remediação automática neste dispositivo?"
},
"scaling": {
"title": "Escalabilidade e gestão de relés",
"tab_overview": "Visão geral",
"tab_relays": "Nós de relé",
"tab_rules": "Regras de atribuição",
"tab_capacity": "Planeamento de capacidade",
"arch_title": "Arquitetura de rede",
"arch_loading": "A carregar diagrama de arquitetura...",
"stat_relay_nodes": "Nós de relé",
"stat_total_devices": "Total de dispositivos",
"stat_active_sessions": "Sessões ativas",
"stat_bandwidth": "Largura de banda total",
"relay_health": "Estado dos relés",
"no_relays": "Nenhum nó de relé configurado. Adicione o seu primeiro nó para distribuir a carga.",
"relay_search": "Pesquisar relés...",
"relay_add": "Adicionar nó de relé",
"relay_edit": "Editar nó de relé",
"col_name": "Nome",
"col_address": "Endereço",
"col_location": "Localização",
"col_devices": "Dispositivos",
"col_sessions": "Sessões",
"col_bandwidth": "Largura de banda",
"col_status": "Estado",
"col_actions": "Ações",
"col_priority": "Prioridade",
"col_rule_name": "Nome da regra",
"col_match": "Correspondência",
"col_target_relay": "Relé destino",
"col_fallback": "Fallback",
"status_online": "Online",
"status_degraded": "Degradado",
"status_offline": "Offline",
"status_enabled": "Ativado",
"status_disabled": "Desativado",
"confirm_delete_relay": "Tem certeza de que deseja eliminar este nó de relé?",
"confirm_delete_rule": "Tem certeza de que deseja eliminar esta regra de atribuição?",
"rules_hint": "As regras de atribuição determinam qual servidor de relé gere grupos de dispositivos específicos. As regras são avaliadas por prioridade (a mais baixa primeiro).",
"rule_add": "Adicionar regra",
"rule_edit": "Editar regra",
"rule_match_type": "Tipo de correspondência",
"match_subnet": "Sub-rede",
"match_group": "Grupo de dispositivos",
"match_tag": "Tag de dispositivo",
"match_location": "Localização",
"rule_match_value": "Valor de correspondência",
"fallback_master": "Servidor mestre",
"fallback_nearest": "Relé mais próximo",
"relay_max_sessions": "Máx. sessões",
"relay_max_bandwidth": "Máx. largura de banda (Mbps)",
"cap_tiers": "Níveis de capacidade",
"cap_loading": "A carregar dados de capacidade...",
"cap_recommendations": "Recomendações",
"cap_no_recs": "Nenhuma recomendação disponível.",
"cap_planning": "Planeamento de infraestrutura",
"cap_config": "Configuração",
"cap_max_devices": "Máx. dispositivos",
"cap_max_sessions": "Máx. sessões",
"cap_current": "Atual",
"cap_utilization": "Utilização",
"cap_tier_devices": "Capacidade de dispositivos",
"cap_tier_sessions": "Capacidade de sessões",
"cap_tier_bandwidth": "Capacidade de largura de banda",
"cap_single_sqlite": "Servidor único (SQLite)",
"cap_single_pg": "Servidor único (PostgreSQL)",
"cap_master_3": "Mestre + 3 relés",
"cap_master_10": "Mestre + 10 relés",
"rec_no_relays": "Nenhum nó configurado. Considere adicionar relés para melhor desempenho e redundância.",
"rec_devices_high": "A utilização de dispositivos está alta. Considere adicionar mais nós de relé.",
"rec_sessions_high": "A capacidade de sessões aproxima-se do limite. Considere atualizar a infraestrutura.",
"rec_cpu_high": "Alguns nós reportam utilização CPU elevada. Considere balanceamento de carga.",
"rec_all_good": "Todos os sistemas operam dentro de parâmetros normais. Nenhuma ação necessária.",
"save": "Guardar",
"cancel": "Cancelar",
"edit": "Editar",
"delete": "Eliminar",
"close": "Fechar",
"no_rules": "Sem regras de atribuicao.",
"relays_info_banner": "Esta lista é informativa. Os servidores relay realmente usados pelos clientes são configurados pela variável de ambiente RELAY_SERVERS no servidor BetterDesk.",
"relay_name_address_required": "Nome e endereço são obrigatórios.",
"relay_save_failed": "Não foi possível salvar o nó relay.",
"relay_delete_failed": "Não foi possível excluir o nó relay.",
"relay_saved": "Nó relay salvo.",
"relay_deleted": "Nó relay excluído.",
"rule_name_value_required": "Nome da regra e valor de correspondência são obrigatórios.",
"rule_save_failed": "Não foi possível salvar a regra.",
"rule_delete_failed": "Não foi possível excluir a regra.",
"rule_saved": "Regra salva.",
"rule_deleted": "Regra excluída."
},
"cross_platform": {
"title": "Compatibilidade multiplataforma",
"tab_matrix": "Matriz de compatibilidade",
"tab_distribution": "Distribuição",
"tab_protocols": "Protocolos",
"tab_limitations": "Limitações",
"matrix_hint": "Matriz de suporte de funcionalidades para todas as plataformas suportadas. Verde = suporte completo, Amarelo = parcial, Cinza = não disponível, Azul = planeado.",
"col_feature": "Funcionalidade",
"legend_full": "Suporte completo",
"legend_partial": "Suporte parcial",
"legend_none": "Não disponível",
"legend_planned": "Planeado",
"platform_breakdown": "Distribuição por plataforma",
"arch_breakdown": "Distribuição por arquitetura",
"version_breakdown": "Distribuição por versão",
"summary": "Resumo",
"total_devices": "Total de dispositivos",
"unique_platforms": "Plataformas",
"unique_archs": "Arquiteturas",
"unique_versions": "Versões de cliente",
"no_devices": "Ainda não há dispositivos registados.",
"protocols_hint": "A negociação de capacidades do protocolo garante que cada cliente receba apenas as funcionalidades suportadas. O servidor adapta o seu comportamento com base nas capacidades reportadas.",
"capability_negotiation": "Negociação de capacidades",
"codec_support": "Suporte de codecs (dispositivos online)",
"feature_support": "Suporte de funcionalidades (dispositivos online)",
"no_codec_data": "Sem dados de codecs dos dispositivos online.",
"no_feature_data": "Sem dados de funcionalidades dos dispositivos online.",
"protobuf_schema": "Esquema Protobuf ClientCapabilities",
"diagram_client": "Cliente",
"diagram_server": "Servidor BetterDesk",
"diagram_peer": "Peer remoto",
"limitations_hint": "Cada plataforma tem limitações específicas que afetam as funcionalidades disponíveis. Verifique-as ao planear implementações.",
"feat_desktop_client": "Cliente desktop",
"feat_background_agent": "Agente em segundo plano",
"feat_remote_target": "Alvo remoto",
"feat_screen_capture": "Captura de ecrã",
"feat_input_injection": "Injeção de entrada",
"feat_file_transfer": "Transferência de ficheiros",
"feat_clipboard_sync": "Sincronização da área de transferência",
"feat_audio_streaming": "Streaming de áudio",
"feat_chat": "Chat",
"feat_h264": "Codec H.264",
"feat_vp9": "Codec VP9",
"feat_av1": "Codec AV1",
"feat_cdap_agent": "Agente CDAP",
"platform_windows": "Windows",
"platform_linux": "Linux",
"platform_macos": "macOS",
"platform_android": "Android",
"platform_ios": "iOS",
"platform_web": "Navegador web",
"platform_chromeos": "ChromeOS",
"status_production": "Produção",
"status_testing": "Teste",
"status_planned": "Planeado",
"status_limited": "Limitado",
"status_experimental": "Experimental",
"limit_win_uac": "Elevação UAC necessária para instalação do serviço e injeção de entrada em ambientes de trabalho seguros.",
"limit_win_service": "Executa como serviço NSSM; requer direitos de administrador para instalação.",
"limit_win_firewall": "As regras do Windows Firewall devem permitir as portas 21115-21119 para conexões relay.",
"limit_linux_wayland": "Os compositores Wayland restringem a captura programática de ecrã; API do portal PipeWire necessária.",
"limit_linux_pipewire": "A captura de áudio requer PipeWire; fallback PulseAudio disponível mas limitado.",
"limit_linux_arm": "Builds ARM64 disponíveis; alguns codecs podem usar descodificação por software (mais lento).",
"limit_mac_screen": "Permissão de gravação de ecrã necessária em Definições do Sistema > Privacidade e Segurança.",
"limit_mac_signing": "O agente deve ser assinado com Apple Developer ID para distribuição.",
"limit_mac_notarize": "Notarização necessária para macOS Gatekeeper (distribuição fora da App Store).",
"limit_android_projection": "A API MediaProjection requer consentimento do utilizador para cada sessão de captura.",
"limit_android_accessibility": "A injeção de entrada requer AccessibilityService; restringido a partir do Android 14+.",
"limit_android_battery": "Serviço em segundo plano limitado pelo modo Doze; pode necessitar de exceção de otimização de bateria.",
"limit_ios_capture": "A Apple proíbe a captura de ecrã em segundo plano; apenas modo de visualização suportado.",
"limit_ios_input": "Sem injeção de entrada permitida; apenas visualização remota e chat.",
"limit_ios_appstore": "Distribuição apenas pela App Store; TestFlight para testes beta.",
"limit_web_https": "API WebCodecs e WebRTC requerem HTTPS; HTTP recorre a JMuxer (codecs limitados).",
"limit_web_codec": "Suporte de codecs depende do navegador; H.264 amplamente suportado, VP9/AV1 varia.",
"limit_web_performance": "Desempenho limitado pelo sandbox do navegador; sem aceleração de hardware direta.",
"limit_chrome_crostini": "Suporte completo do agente apenas dentro do contentor Linux Crostini.",
"limit_chrome_pwa": "O modo PWA fornece apenas capacidades web; sem funções nativas de agente.",
"limit_chrome_input": "Injeção de entrada fora do contentor Crostini não suportada.",
"feat_session_recording": "Gravação de sessão",
"feat_multi_monitor": "Múltiples monitores",
"feat_unattended_access": "Acesso desacompanhado",
"limit_win_virtual_account": "Los serviços se ejecutan bajo contas virtuales aisladas em vez de LocalSystem; las caminhos de registro personalizadas podem precisar ajuste de ACL.",
"limit_linux_unprivileged": "Los serviços se ejecutan bajo la conta sem privilégios dedicada «betterdesk» con endurecimiento de systemd (NoNewPrivileges, ProtectSystem=strict)."
},
"security_audit": {
"title": "Auditoria de segurança",
"tab_overview": "Visão geral",
"tab_events": "Eventos de auditoria",
"tab_hardening": "Fortalecimento",
"tab_vulnerabilities": "Vulnerabilidades",
"security_score": "Pontuação de segurança",
"failed_logins": "Logins falhados (24h)",
"active_bans": "Bans ativos",
"api_keys": "Chaves API",
"old_keys": "Chaves antigas (>90d)",
"security_checks": "Verificações de segurança",
"tls_status": "Estado TLS",
"pass": "OK",
"warning": "Aviso",
"fail": "Falha",
"tls_signal": "Signal TLS",
"tls_relay": "Relay TLS",
"tls_api": "API TLS",
"tls_wss": "WebSockets seguros",
"enabled": "Ativado",
"disabled": "Desativado",
"all_events": "Todos os eventos",
"event_login_failed": "Login falhado",
"event_login_success": "Login bem-sucedido",
"event_peer_banned": "Dispositivo banido",
"event_ip_banned": "IP banido",
"event_config_changed": "Configuração alterada",
"event_key_created": "Chave criada",
"refresh": "Atualizar",
"col_time": "Hora",
"col_action": "Ação",
"col_actor": "Ator",
"col_target": "Alvo",
"col_ip": "Endereço IP",
"col_details": "Detalhes",
"no_events": "Nenhum evento de auditoria encontrado.",
"hardening_hint": "Prioridades de fortalecimento de segurança para sua implantação BetterDesk. Ordenados por gravidade.",
"no_hardening": "Nenhum item de fortalecimento disponível.",
"vuln_hint": "Resultados da verificação de vulnerabilidades de dependências. Execute npm audit regularmente.",
"no_vulns": "Nenhuma vulnerabilidade encontrada. Suas dependências estão seguras."
},
"languages": {
"title": "Idiomas",
"total_languages": "Total de idiomas",
"fully_translated": "Totalmente traduzido",
"needs_review": "Precisa de revisão",
"reference_keys": "Chaves de referência",
"no_languages": "Nenhum arquivo de idioma encontrado.",
"badge_reference": "Referência",
"badge_review": "Revisar",
"badge_complete": "Completo",
"coverage": "cobertura",
"keys": "chaves",
"missing": "em falta",
"extra": "extra",
"view_missing": "Ver itens ausentes",
"fix_missing": "Fix Missing",
"missing_keys_for": "Chaves ausentes para",
"missing_keys_count": "keys missing (English fallback values shown)",
"and_more": "e mais {n}...",
"all_keys_present": "Todas as chaves estão presentes!",
"confirm_fix": "Add missing keys to {code} with English fallback values?",
"fixed_title": "Keys Fixed",
"fixed_msg": "As chaves ausentes em {code} devem ser traduzidas manualmente.",
"no_fix_needed": "Não há chaves ausentes para completar."
},
"resource_control": {
"title": "Controle de recursos",
"tab_overview": "Visão geral",
"tab_usb": "USB Control",
"tab_optical": "Unidades ópticas",
"tab_monitors": "Monitors",
"tab_disks": "Disk Access",
"tab_quotas": "Cotas de recursos",
"compliance_by_category": "Conformidade por categoria",
"device_compliance": "Conformidade dos dispositivos",
"search_devices": "Pesquisar dispositivos...",
"col_device": "Dispositivo",
"col_platform": "Platform",
"col_status": "Status",
"col_usb": "USB",
"col_optical": "Optical",
"col_monitors": "Monitors",
"col_disks": "Disks",
"col_quotas": "Quotas",
"col_actions": "Actions",
"stat_total_devices": "Total de dispositivos",
"stat_compliant": "Compliant",
"stat_partial": "Partial",
"stat_noncompliant": "Non-Compliant",
"stat_compliance_rate": "Taxa de conformidade",
"badge_na": "N/A",
"badge_compliant": "OK",
"badge_partial": "Partial",
"badge_noncompliant": "Fail",
"btn_configure": "Configurar",
"no_devices": "Nenhum dispositivo encontrado",
"usb_title": "Controle de portas USB",
"usb_hint": "Controle o acesso a dispositivos de armazenamento USB para o dispositivo selecionado ou a política padrão da organização.",
"usb_storage_policy": "Política de armazenamento USB",
"usb_whitelist": "Dispositivos permitidos (um por linha)",
"usb_whitelist_hint": "VID:PID (ex.: 0781:5583)",
"usb_audit_log": "Registrar conexões de dispositivos USB",
"optical_title": "Controle de unidades ópticas",
"optical_hint": "Controle o acesso a unidades CD/DVD/Blu-ray para o dispositivo selecionado.",
"optical_policy": "Política de unidades ópticas",
"optical_audit_log": "Registrar acesso a unidades ópticas",
"monitors_title": "Gerenciamento de monitores",
"monitors_hint": "Configure ajustes de monitores, incluindo quantidade máxima, resolução aplicada, brilho e agenda de energia.",
"monitors_max_count": "Quantidade máxima de monitores (0 = ilimitado)",
"monitors_max_hint": "0 significa sem limite",
"monitors_resolution": "Resolução máxima",
"monitors_brightness": "Limite de brilho",
"monitors_power_schedule": "Agenda de energia",
"monitors_power_hint": "ex.: off:22:00-06:00",
"disks_title": "Controle de acesso a discos",
"disks_hint": "Configure políticas de acesso a discos, incluindo modo somente leitura, exigência de criptografia e visibilidade de partições.",
"disks_readonly": "Forçar modo somente leitura",
"disks_encryption": "Exigir criptografia (BitLocker/LUKS)",
"disks_smart": "Ativar monitoramento S.M.A.R.T.",
"disks_hidden": "Partições ocultas",
"disks_hidden_hint": "Letras de unidade ou pontos de montagem separados por vírgula",
"quotas_title": "Cotas de recursos",
"quotas_hint": "Defina cotas de CPU, RAM, largura de banda e disco por usuário para o dispositivo selecionado.",
"quotas_cpu": "CPU Limit",
"quotas_ram": "RAM Limit",
"quotas_bandwidth": "Limite de largura de banda (Mbps)",
"quotas_bandwidth_hint": "0 = ilimitado",
"quotas_disk_quota": "Cota de disco (GB)",
"quotas_disk_hint": "0 = ilimitado",
"quotas_process_whitelist": "Lista permitida de processos (um por linha)",
"quotas_process_hint": "ex.: chrome.exe, code.exe",
"policy_allowed": "Allowed",
"policy_blocked": "Blocked",
"policy_whitelist": "Somente lista permitida",
"policy_any": "Any"
},
"sdk_studio": {
"title": "SDK Studio",
"subtitle": "Visual flow editor for CDAP bridges",
"new_flow": "New Flow",
"open_flow": "Open Flow",
"save_flow": "Save Flow",
"run_flow": "Run",
"debug": "Debug",
"deploy": "Deploy",
"undo": "Undo",
"redo": "Redo",
"untitled": "Untitled Flow",
"code_mode": "Code Mode",
"toggle_grid": "Toggle Grid",
"zoom_in": "Zoom In",
"zoom_out": "Zoom Out",
"zoom_fit": "Fit to Screen",
"palette": "Node Palette",
"search_nodes": "Search nodes...",
"cat_sources": "Sources",
"cat_processing": "Processing",
"cat_outputs": "Outputs",
"empty_title": "Start Building",
"empty_desc": "Drag nodes from the palette to start building a flow",
"browse_templates": "Browse Templates",
"inspector": "Inspector",
"select_node": "Select a node to inspect its properties",
"console": "Console",
"clear_console": "Clear",
"console_ready": "Studio ready",
"label": "Label",
"configuration": "Configuration",
"connections": "Connections",
"inputs": "Inputs",
"outputs": "Outputs",
"delete_node": "Delete Node",
"nodes": "Nodes",
"wires": "Wires",
"status_ready": "Ready",
"status_deployed": "Deployed",
"flow_name": "Flow Name",
"flow_desc": "Description",
"loading": "Loading...",
"no_flows": "No saved flows yet",
"confirm_delete": "Are you sure you want to delete this flow?",
"templates": "Templates",
"node_modbus_tcp": "Modbus TCP",
"node_modbus_rtu": "Modbus RTU",
"node_snmp_poll": "SNMP Poll",
"node_rest_poll": "REST Poll",
"node_mqtt_subscribe": "MQTT Subscribe",
"node_webhook": "Webhook",
"node_device_telemetry": "Device Telemetry",
"node_database_query": "Database Query",
"node_file_watch": "File Watch",
"node_filter": "Filter",
"node_transform": "Transform",
"node_aggregate": "Aggregate",
"node_delay": "Delay",
"node_debounce": "Debounce",
"node_switch": "Switch",
"node_merge": "Merge",
"node_script": "Script",
"node_widget_update": "Widget Update",
"node_alert": "Alert",
"node_command": "Command",
"node_log": "Log",
"node_rest_call": "REST Call",
"node_mqtt_publish": "MQTT Publish",
"node_database_write": "Database Write",
"node_email": "Email",
"node_modbus_write": "Modbus Write",
"import_flow": "Import Flow"
},
"updates": {
"tab_title": "Updates",
"title": "Atualizações",
"desc": "Check for new versions and update the BetterDesk console from GitHub",
"current_version": "Versão instalada",
"latest_version": "Latest version",
"status": "Status",
"check_now": "Verificar agora",
"checking": "Checking…",
"up_to_date": "Atualizado",
"update_available": "Atualização disponível",
"changelog": "Release Notes",
"no_changelog": "Nenhuma nota de versão disponível",
"files_changed": "Arquivos alterados",
"files": "Arquivos",
"changes_unavailable": "Não foi possível carregar a lista de alterações. Você ainda pode instalar a atualização.",
"create_backup": "Criar backup antes da atualização",
"install": "Install Update",
"install_confirm": "Are you sure you want to install this update? The console will restart after the update.",
"installing": "Instalando atualização...",
"creating_backup": "Criando backup...",
"downloading": "Baixando arquivos...",
"install_success": "Atualização instalada com sucesso. A console será reiniciada...",
"install_failed": "Falha ao instalar atualização",
"restarting": "Aguardando reinício da console...",
"restart_complete": "Console reiniciada com sucesso",
"restart_timeout": "Console did not restart in time. Please check manually.",
"no_version": "Nenhuma versão de atualização selecionada. Verifique atualizações primeiro.",
"backups_title": "Backups de atualização",
"backups_desc": "Backups prévios criados automaticamente antes de cada atualização",
"no_backups": "Nenhum backup de atualização encontrado",
"restore": "Restore",
"restore_confirm": "Restaurar este backup?",
"restore_success": "Backup restaurado com sucesso",
"baseline_set": "Referência definida",
"commits_behind": "commits atrás",
"total_files": "Total de arquivos",
"applied": "Applied",
"failed": "Falhou",
"skipped": "Skipped",
"removed": "Removed",
"auto": "Auto",
"manual": "Manual",
"component_console": "Web Console",
"component_server": "Servidor Go",
"component_agent": "Agent",
"component_scripts": "Scripts e Docker",
"component_other": "Other",
"server_rebuild_warning": "Go Server source changed — binary rebuild required. Use the ALL-IN-ONE script or compile manually.",
"include_server": "Include Go Server (compile & deploy binary)",
"checking_go": "Verificando Go...",
"go_not_found": "Go não está instalado",
"go_check_failed": "Não foi possível verificar a disponibilidade do Go",
"server_building": "Compilando servidor Go... Isso pode levar alguns minutos.",
"server_built": "Binário do servidor compilado",
"server_build_failed": "Falha na compilação do servidor",
"server_deployed": "Binário do servidor implantado",
"server_deploy_failed": "Falha na implantação do servidor",
"server_build_note": "Server compilation may take 1-5 minutes. The page will remain unresponsive during compilation.",
"server_source_downloading": "Baixando código-fonte do servidor...",
"delete": "Excluir",
"delete_confirm": "Excluir permanentemente o backup {name}? Esta ação não pode ser desfeita.",
"delete_success": "Backup excluído",
"delete_failed": "Não foi possível excluir o backup",
"retention_label": "Manter os N backups mais recentes",
"retention_hint": "Backups antigos são removidos automaticamente após cada atualização. Use 0 para manter todos.",
"retention_saved": "Configuração de retenção salva",
"retention_invalid": "A retenção deve ser um inteiro entre 0 e 1000",
"retention_required_for_prune": "Defina primeiro um valor de retenção maior que 0",
"prune_now": "Apply now",
"prune_confirm": "Manter apenas os {n} backups mais recentes e excluir o restante?",
"prune_done": "{n} backup(s) excluído(s)",
"total_size": "Total size",
"backups_count": "backup(s)",
"strategy_label": "Método de atualização",
"strategy_download": "Baixar binário pré-compilado",
"strategy_compile": "Compilar a partir do código-fonte",
"both_available": "Baixar e compilar",
"download_available": "Download disponível",
"no_method": "Nenhum método de atualização",
"no_release": "No release",
"available": "Disponível",
"server_downloading": "Baixando binário do servidor...",
"server_downloaded": "Binário do servidor baixado",
"server_download_failed": "Falha ao baixar binário do servidor",
"server_download_note": "Um binário pré-compilado será baixado de GitHub Releases. Isso normalmente leva menos de um minuto.",
"install_go_hint": "Instale Go de https://go.dev/dl/ para habilitar compilação, ou publique uma release com binários pré-compilados",
"strategy_install_go": "Instalar Go automaticamente e compilar",
"strategy_install_go_hint": "Downloads the official Go toolchain (~120 MB) into the console data directory, then compiles the server. Use this when Go is not installed on the host.",
"auto_strategy": "Auto",
"auto_strategy_hint": "The console will pick the best available method (download → compile → auto-install Go).",
"auto_available": "Recompilação automática pronta",
"toolchain_ready": "Toolchain instalada",
"toolchain_will_install": "Go toolchain will be installed automatically",
"toolchain_downloading": "Baixando toolchain Go...",
"toolchain_failed": "Falha ao instalar toolchain Go",
"modal_title": "Instalando atualização",
"modal_done_title": "Atualização concluída",
"modal_close": "Fechar",
"modal_reload_now": "Recarregar console",
"log_title": "Registo de atualização",
"log_expand": "Expandir registo",
"log_collapse": "Recolher registo",
"log_copy": "Copiar registo",
"progress_step": "Passo {current} de {total}",
"reload_countdown": "Recarregamento automático em {seconds} s",
"retry_update": "Repetir atualização",
"retry_confirm": "Repetir a instalação desta atualização?",
"phase_confirm": "Confirmation",
"phase_backup": "Backup",
"phase_console": "Arquivos da console",
"phase_server": "Servidor Go",
"phase_restart": "Reinício",
"phase_done": "Done",
"preparing": "Preparing…",
"backup_skipped": "Backup ignorado (escolha do usuário)",
"server_skipped": "Servidor Go ignorado",
"server_not_selected": "Go server not selected",
"server_processing": "Processando atualização do servidor Go...",
"no_restart_needed": "Nenhum reinício necessário",
"complete": "Atualização aplicada",
"complete_summary": "A atualização foi aplicada com sucesso.",
"complete_with_errors": "A atualização foi concluída, mas algumas etapas falharam. Veja os detalhes abaixo.",
"modal_done_with_errors_title": "Atualização concluída com erros",
"console_will_restart": "O processo da console será reiniciado agora...",
"restart_complete_msg": "A console terminou de reiniciar. Clique em Recarregar para carregar a nova versão. A página será recarregada automaticamente em 8 segundos.",
"refresh_recommended": "Recursos estáticos foram alterados — recarregue a página para ver a nova interface.",
"confirm_title": "Aplicar atualização",
"confirm_with_backup": "Um backup prévio será criado automaticamente.",
"confirm_no_backup": "Nenhum backup será criado (continue por sua conta e risco).",
"server_stale_title": "Binário do servidor desatualizado",
"server_stale_desc": "O código-fonte do servidor Go foi atualizado, mas o binário em execução não foi recompilado. Recompile agora para aplicar atualizações de segurança e bibliotecas.",
"rebuild_server": "Recompilar binário do servidor",
"rebuilding_server": "Recompilando servidor...",
"rebuild_server_success": "Binário do servidor recompilado e reiniciado",
"rebuild_server_failed": "Falha ao recompilar o binário do servidor",
"channel_title": "Canal de atualização",
"channel_desc": "Escolha de onde o painel verifica atualizações. Produção deve usar Stable.",
"channel_stable": "Estável (main)",
"channel_development": "Desenvolvimento (dev)",
"channel_branch_label": "Branch GitHub",
"channel_save": "Mudar canal",
"channel_saved": "Canal alterado. Clique em Verificar atualizações.",
"channel_save_failed": "Falha ao guardar canal de atualização",
"channel_docker_blocked": "Instalações com imagem Docker não podem alterar o canal de atualizações no painel. Defina BETTERDESK_IMAGE_TAG=latest (stable) ou BETTERDESK_IMAGE_TAG=dev (development) e execute: docker compose pull && docker compose up -d.",
"channel_docker_note": "O canal de atualizações do painel só se aplica a instalações nativas. Para imagens GHCR altere BETTERDESK_IMAGE_TAG e recrie os contentores.",
"channel_switch_warning": "Alterar o canal muda o branch GitHub. O SHA rastreado mantém-se — a próxima verificação pode mostrar grande diferença. Continuar?",
"channel_pick_label": "Mudar para",
"channel_apply_hint": "Gravado após confirmar. Depois clique em Verificar atualizações.",
"channel_confirm_switch": "Mudar origem de {from} para {to}? O commit instalado mantém-se até verificar atualizações.",
"docker_title": "Implantação de imagens Docker",
"docker_desc": "Este console executa a partir de uma imagem de contentor pré-construída (all-in-one oficial ou split legacy). As atualizações aplicam-se no host ao obter imagem(ns) mais recentes do GHCR, não por instalação na app nem recompilação Go.",
"docker_install_note": "A instalação na app está desativada no Docker. Execute os comandos acima no anfitrião e atualize esta página.",
"docker_update_available": "Nova(s) imagem(ns) de contentor disponível(eis)",
"docker_sha_unknown": "Atualizado (commit da imagem desconhecido)",
"docker_images": "Imagens",
"more_options": "Mais opções",
"option_advanced": "Opções avançadas",
"option_advanced_desc": "Retenção de backups, implantação Docker, reconstrução do servidor e estratégia de atualização"
},
"permissions": {
"title": "Permissões",
"subtitle": "Gerenciar permissões granulares de funções e substituições",
"info_title": "Permissões baseadas em funções",
"info_desc": "Funções padrão recebem permissões predefinidas. Você pode substituir permissões individuais por função sem alterar a função base.",
"select_role": "Selecionar função",
"select_role_placeholder": "Escolha uma função...",
"reset_overrides": "Redefinir substituições",
"granted": "Granted",
"overrides": "Overrides",
"level": "Level",
"super_admin_tag": "Full access",
"server_level_tag": "Nível do servidor",
"custom": "Custom",
"default": "Default",
"revert": "Reverter",
"saved": "Permissão salva",
"reverted": "Substituição revertida",
"all_reverted": "Todas as substituições foram revertidas",
"confirm_reset": "Redefinir todas as substituições de permissões para esta função?",
"empty_title": "Selecione uma função",
"empty_desc": "Escolha uma função à esquerda para ver suas permissões.",
"locked_title": "Super Admin",
"locked_desc": "Esta função é protegida e só pode ser alterada pelo mapeamento padrão.",
"cat_device": "Dispositivos",
"cat_user": "Users",
"cat_server": "Gerenciamento do servidor",
"cat_org": "Organizações",
"cat_audit": "Auditoria",
"cat_cdap": "CDAP",
"cat_enrollment": "Enrollment",
"cat_chat": "Chat",
"cat_branding": "Branding",
"perm_device_view": "Ver dispositivos",
"perm_device_connect": "Conectar a dispositivos",
"perm_device_edit": "Editar dispositivos",
"perm_device_delete": "Excluir dispositivos",
"perm_device_ban": "Bloquear dispositivos",
"perm_device_change_id": "Alterar ID do dispositivo",
"perm_user_view": "Ver usuários",
"perm_user_create": "Criar usuários",
"perm_user_edit": "Editar usuários",
"perm_user_delete": "Excluir usuários",
"perm_server_config": "Configurar servidor",
"perm_server_keys": "Gerenciar chaves do servidor",
"perm_org_create": "Criar organizações",
"perm_org_edit": "Editar organizações",
"perm_org_delete": "Excluir organizações",
"perm_org_manage_users": "Gerenciar usuários da organização",
"perm_org_manage_devices": "Gerenciar dispositivos da organização",
"perm_audit_view": "Ver auditoria",
"perm_metrics_view": "Ver métricas",
"perm_blocklist_edit": "Editar lista de bloqueio",
"perm_cdap_view": "Ver CDAP",
"perm_cdap_command": "Executar comandos CDAP",
"perm_cdap_terminal": "Usar terminal CDAP",
"perm_cdap_files": "Gerenciar arquivos CDAP",
"perm_enrollment_manage": "Gerenciar registros",
"perm_enrollment_approve": "Aprovar registros",
"perm_chat_access": "Chat access",
"perm_branding_edit": "Editar marca",
"perm_server_attestation": "Certificação de desempenho do servidor"
},
"notifications": {
"title": "Notificações",
"empty": "Nenhuma notificação nova",
"mark_all_read": "Marcar tudo como lido",
"see_all": "Ver todas as solicitações de ajuda",
"help_request": "Solicitação de ajuda",
"just_now": "just now"
},
"accessibility": {
"title": "Acessibilidade",
"subtitle": "Ajuste a consola à sua visão, movimento e leitura.",
"close": "Fechar menu de acessibilidade",
"profiles": "Perfis rápidos",
"profile_low_vision": "Low vision",
"profile_low_vision_hint": "Texto maior, alto contraste e foco visível.",
"profile_dyslexia": "Conforto de leitura",
"profile_dyslexia_hint": "Fonte legível e espaçamento mais amplo.",
"profile_motion_safe": "Motion safe",
"profile_motion_safe_hint": "Reduz transições e pausa animações.",
"profile_color_assist": "Ajuda de cores",
"profile_color_assist_hint": "Filtro de cor, rótulos e links destacados.",
"reading": "Leitura",
"font_size": "Tamanho do texto",
"line_height": "Altura da linha",
"letter_spacing": "Espaçamento entre letras",
"word_spacing": "Espaçamento entre palavras",
"readable_font": "Fonte legível",
"readable_font_hint": "Usa formas de letras amplas e familiares.",
"dyslexia_spacing": "Espaçamento para dislexia",
"dyslexia_spacing_hint": "Adiciona espaçamento extra para textos longos.",
"visual": "Visual",
"contrast": "Contraste",
"contrast_normal": "Normal",
"contrast_high_dark": "Alto contraste escuro",
"contrast_high_light": "Alto contraste claro",
"contrast_yellow_black": "Amarelo sobre preto",
"color_filter": "Filtro de visão de cores",
"filter_none": "None",
"filter_protanopia": "Protanopia",
"filter_deuteranopia": "Deuteranopia",
"filter_tritanopia": "Tritanopia",
"filter_achromatopsia": "Achromatopsia",
"saturation": "Saturação de cor",
"underline_links": "Sublinhar links",
"underline_links_hint": "Torna links visíveis sem depender da cor.",
"highlight_links": "Destacar ações",
"highlight_links_hint": "Desenha um contorno em links e botões.",
"highlight_headings": "Destacar títulos",
"highlight_headings_hint": "Marca títulos de seção com uma barra colorida.",
"hide_media": "Dim media",
"hide_media_hint": "Escurece imagens, vídeos e áreas canvas.",
"interaction": "Interação",
"strong_focus": "Foco reforçado",
"strong_focus_hint": "Mostra um contorno amplo de foco do teclado.",
"large_cursor": "Cursor grande",
"large_cursor_hint": "Usa um ponteiro maior com alto contraste.",
"reduce_motion": "Reduzir movimento",
"reduce_motion_hint": "Encurta transições e rolagem suave.",
"pause_animations": "Pausar animações",
"pause_animations_hint": "Interrompe movimentos visuais repetitivos.",
"reading_guide": "Guia de leitura",
"reading_guide_hint": "Segue o ponteiro com uma linha luminosa.",
"reading_mask": "Máscara de leitura",
"reading_mask_hint": "Escurece o conteúdo acima e abaixo do ponteiro.",
"preview": "Pré-visualização",
"preview_title": "Prévia do espaço do operador",
"preview_text": "Verifique se textos, links, controles e rótulos de status estão confortáveis de ler antes de fechar este menu.",
"preview_link": "Link para detalhes do dispositivo",
"preview_status": "Online",
"preview_button": "Ação principal",
"preview_secondary": "Secondary",
"reset": "Repor",
"done": "Concluído"
},
"server_mgmt": {
"title": "Gestão do servidor",
"subtitle": "Painel tipo Cockpit para o host da console BetterDesk (BETA).",
"beta_tooltip": "Ferramentas de gerenciamento do servidor estão em beta",
"notice_title": "Gerenciamento local do servidor",
"notice_body": "Essas ações afetam o host onde a console está em execução.",
"tab_overview": "Visão geral",
"tab_terminal": "Terminal",
"tab_files": "Arquivos",
"tab_services": "Serviços",
"cpu": "CPU",
"memory": "Memória",
"load": "Carregar",
"disks": "Discos",
"history": "Histórico",
"host_info": "Host info",
"cores": "cores",
"uptime": "Tempo ativo",
"no_disks": "Nenhum dado de disco disponível",
"info_hostname": "Hostname",
"info_platform": "Platform",
"info_kernel": "Kernel",
"info_node": "Node.js",
"info_process_id": "Process ID",
"info_pty_available": "PTY disponível",
"term_connect": "Conectar",
"term_disconnect": "Desconectar",
"term_clear": "Clear",
"term_status": "Status",
"term_connecting": "Connecting…",
"term_connected": "Connected",
"term_disconnected": "Disconnected",
"term_error": "Erro de conexão",
"term_warning": "Os comandos são executados como o usuário proprietário do processo da console. Adicione uma regra sudoers para permitir elevação.",
"term_hint": "Dica: digite `sudo -i` para obter privilégios root (configuração sudoers necessária).",
"term_lib_failed": "Não foi possível carregar a biblioteca do terminal",
"files_up": "Subir um nível",
"files_go": "Go",
"files_mkdir": "New folder",
"files_name": "Nome",
"files_size": "Tamanho",
"files_perms": "Mode",
"files_mtime": "Modificado",
"files_rename": "Rename",
"files_rename_prompt": "New name:",
"files_empty": "Pasta vazia",
"files_error": "Não foi possível listar o diretório",
"read_failed": "Não foi possível ler o arquivo",
"save_failed": "Não foi possível salvar o arquivo",
"rename_failed": "Falha ao renomear",
"delete_failed": "Falha ao excluir",
"delete_confirm": "Excluir esta entrada?",
"mkdir_prompt": "Nome da nova pasta:",
"mkdir_failed": "Não foi possível criar a pasta",
"file_saved": "Arquivo salvo",
"binary_warn": "Arquivo binário — somente prévia",
"encoding_utf8": "UTF-8 text",
"truncated": "truncated",
"full": "full",
"svc_search_placeholder": "Pesquisar serviços...",
"svc_name": "Serviço",
"svc_state": "Estado",
"svc_description": "Description",
"svc_empty": "Nenhum serviço encontrado",
"svc_load_failed": "Não foi possível carregar serviços",
"svc_action_failed": "Ação falhou",
"svc_confirm": "Run",
"svc_start": "Iniciar",
"svc_stop": "Parar",
"svc_restart": "Reiniciar",
"svc_reload": "Reload",
"svc_enable": "Enable",
"svc_disable": "Disable",
"svc_status": "Status"
},
"download": {
"title": "Baixar BetterDesk Agent",
"choose_platform": "Escolher plataforma",
"choose_platform_hint": "Selecione o instalador adequado ao seu sistema operacional.",
"download": "Baixar",
"building": "Compilando…",
"failed": "Falha na compilação",
"need_help": "Precisa de ajuda?",
"powered_by": "Desenvolvido por",
"product_agent_client": "BetterDesk Agent Client — full managed endpoint agent",
"product_support_agent": "BetterDesk Support Agent — lightweight end-user client",
"product_rdclient": "BetterDesk RdClient — operator remote desktop client"
},
"server_attestation": {
"title": "Atestação do servidor",
"subtitle": "Benchmark de desempenho que determina a capacidade de conexões remotas simultâneas a 80% de limiar de CPU, RAM e disco.",
"warning_title": "Teste de carga",
"warning_body": "O benchmark simula conexões WebSocket paralelas aos servidores de sinal e relay. Execute em horas de menor tráfego — este teste carrega a produção.",
"run_benchmark": "Executar benchmark",
"abort": "Abortar",
"download_report": "Descarregar relatório JSON",
"last_test": "Último teste",
"no_test_yet": "Nenhum benchmark foi executado ainda",
"max_connections": "Conexões máximas",
"threshold_80": "Limiar de 80% — métricas finais",
"disk": "Disco",
"ramp_chart": "Gráfico de rampa de carga",
"connections": "Conexões",
"connections_short": "con.",
"tier_guide_title": "O que significa cada nível?",
"tier_bronze": "BRONZE",
"tier_iron": "IRON",
"tier_titanium": "TITANIUM",
"tier_platinum": "PLATINUM",
"tier_obsidian": "OBSIDIAN",
"tier_none": "SEM CLASSIFICAÇÃO",
"tier_bronze_desc": "125 conexões simultâneas — VPS pequeno (12 vCPU, 24 GB RAM).",
"tier_iron_desc": "2675 conexões — servidor de gama média (24 vCPU, 48 GB RAM).",
"tier_platinum_desc": "76200 conexões — servidor de alto desempenho (48 vCPU, 816 GB RAM).",
"tier_titanium_desc": "201400 conexões — infraestrutura enterprise (8+ vCPU, 1632 GB RAM).",
"tier_obsidian_desc": "401+ conexões — classe turbo: hardware dedicado, 16+ vCPU, 32+ GB RAM, NVMe.",
"docker_note": "Nota: no Docker, as métricas de CPU/RAM podem refletir os limites do container em vez do host físico.",
"badge_tooltip": "Atestação do servidor BetterDesk — certificação de desempenho do servidor",
"confirm_run": "Este benchmark irá fazer um teste de carga no servidor com conexões simuladas. Continuar?",
"starting": "A iniciar...",
"complete": "Benchmark completo",
"signal_peers": "Peers de sinal",
"relay_sessions": "Sessões de relay",
"page_error": "Erro al cargar la página de certificação do servidor",
"mode_estimated": "Estimado (WebSocket inacessível)",
"incomplete": "Benchmark concluído sin nível válido"
},
"commercialization": {
"title": "Comercialização",
"subtitle": "Pacotes de suporte, sessões faturáveis e relatórios",
"alpha_badge": "ALPHA",
"alpha_tooltip": "Recurso inicial — faturação e pacotes em desenvolvimento ativo.",
"tabs": {
"overview": "Visão geral",
"packages": "Pacotes e contratos",
"sessions": "Sessões",
"reports": "Relatórios",
"settings": "Definições avançadas"
},
"clock": {
"title": "Hora do servidor (NTP)",
"check_now": "Verificar agora",
"unsynced": "Relógio do servidor não sincronizado — sessões faturáveis podem ser bloqueadas",
"synced_detail": "Relógio sincronizado para faturação",
"ntp_servers": "Servidores NTP",
"ntp_servers_hint": "Nomes de host ou IP separados por vírgula. Aplica-se ao servidor Go (betterdesk-server).",
"max_skew_ms": "Desvio máximo do relógio (ms)",
"require_sync": "Exigir relógio sincronizado para sessões faturáveis",
"trust_os": "Confiar no NTP do SO quando consultas diretas falharem",
"trust_os_hint": "Usar estado systemd-timesyncd/chrony quando UDP NTP estiver bloqueado.",
"save": "Guardar definições NTP",
"saved": "Definições de relógio guardadas. Reinício do servidor Go iniciado.",
"save_restart": "Guardar NTP e reiniciar o servidor Go? Sessões ativas podem desligar-se brevemente.",
"status_offset": "Desvio",
"status_server": "Fonte NTP",
"status_os": "Relógio do SO sincronizado",
"status_error": "Último erro",
"os_yes": "Sim",
"os_no": "Não",
"checked": "Clock check completed"
},
"stats": {
"active_sessions": "Sessões faturáveis ativas",
"expiring_contracts": "Contracts expiring (30 days)",
"expiring_hint": "Active assignments with end date within 30 days"
},
"packages": {
"new": "Novo pacote",
"name": "Nome",
"included_minutes": "Minutos incluídos",
"overage_rate": "Taxa de excedente / h",
"currency": "Moeda",
"heading": "Pacotes de suporte",
"prompt_name": "Nome do pacote",
"create_title": "Novo pacote para organização",
"create_submit": "Criar pacote",
"select_org": "Organização",
"select_org_placeholder": "Selecionar organização…",
"description": "Description",
"edit_title": "Edit package",
"created": "Package created",
"updated": "Package updated",
"deleted": "Package deleted",
"delete_confirm": "Delete this package? Assignments using it must be removed first."
},
"sessions": {
"device": "Dispositivo",
"operator": "Operador",
"duration": "Duração",
"phase": "Fase",
"amount": "Valor",
"org": "Organization"
},
"reports": {
"session": "Sessão",
"summary": "Resumo",
"date": "Data"
},
"contracts": {
"title": "Contratos de organização",
"new": "Atribuir pacote",
"org": "Organização",
"package": "Pacote",
"remaining": "Minutos restantes",
"status": "Estado",
"actions": "Ações",
"suspend": "Suspender",
"activate": "Ativar",
"select_org": "Selecionar organização",
"select_package": "Selecionar pacote",
"no_orgs": "Nenhuma organização encontrada",
"no_packages": "Crie um pacote primeiro",
"assignments_title": "Package assignments",
"target": "Target",
"hourly_rate": "Hourly rate",
"custom_overage": "Custom overage rate / h",
"validity": "Validity",
"valid_from": "Valid from",
"valid_until": "Valid until",
"edit_title": "Edit assignment",
"updated": "Assignment updated",
"deleted": "Assignment removed",
"delete_confirm": "Remove this package assignment?"
},
"export": {
"csv": "Exportar CSV",
"pdf": "Exportar PDF",
"sessions_csv": "Exportar sessões CSV"
},
"report": {
"title": "Relatório de trabalho",
"subtitle": "Descreva o trabalho realizado durante esta sessão remota.",
"category": "Categoria",
"ticket_ref": "Referência do ticket",
"summary": "Trabalho realizado",
"skip": "Ignorar por agora",
"submit": "Enviar relatório",
"summary_required": "O resumo é obrigatório",
"saved": "Relatório de trabalho guardado"
},
"empty": {
"packages": "Ainda não há pacotes. Crie um com o botão acima.",
"contracts": "Ainda não há contratos de organização. Atribua um pacote a uma organização.",
"sessions": "Ainda não há sessões faturáveis registadas.",
"reports": "Ainda não há relatórios de trabalho."
},
"assign": {
"title": "Atribuir pacote existente",
"submit": "Atribuir",
"target_type": "Target type",
"target": "Target",
"select_target": "Select target…",
"missing_fields": "Select target and package",
"optional": "Optional",
"success": "Package assigned"
},
"form": {
"cancel": "Cancelar"
},
"notifications": {
"title": "Email notifications",
"desc": "Notify operators by email when devices in their folders or groups submit help requests.",
"smtp_status": "SMTP status",
"smtp_configured": "SMTP is configured",
"smtp_missing": "SMTP is not configured — set it up in Settings → Email",
"smtp_link": "Open SMTP settings",
"help_requests_enabled": "Send email for new help requests",
"notify_assigned_operators": "Notify operators assigned to the device folder or group",
"fallback_alert_email": "Use alert email when no operator address is available",
"include_folder_in_subject": "Include folder name in the email subject",
"save": "Save notification settings",
"saved": "Notification settings saved"
},
"targets": {
"org": "Organization",
"device_group": "Device group",
"folder": "Folder",
"device": "Device"
},
"actions": {
"edit": "Edit",
"delete": "Delete",
"save": "Save",
"refresh": "Refresh"
},
"filters": {
"target_type": "Target type",
"all_types": "All types",
"all_statuses": "All statuses",
"all_orgs": "All organizations",
"organization": "Organization",
"search": "Search",
"search_placeholder": "Name or package…",
"device_id_placeholder": "Device ID"
},
"status": {
"active": "Active",
"suspended": "Suspended",
"pending_report": "Pending report",
"closed": "Closed"
}
},
"remote_dashboard": {
"title": "Cliente de ambiente de trabalho remoto",
"subtitle": "Ligue-se aos seus dispositivos a partir do browser",
"search_placeholder": "Pesquisar por ID, hostname ou nota…",
"filter_all": "Todos",
"filter_online": "Online",
"filter_offline": "Offline",
"col_id": "ID do dispositivo",
"col_hostname": "Nome do host",
"col_platform": "Plataforma",
"col_status": "Estado",
"col_last_seen": "Última atividade",
"connect": "Ligar",
"empty": "Nenhum dispositivo corresponde aos filtros",
"loading": "A carregar dispositivos…",
"error_load": "Falha ao carregar dispositivos",
"open_panel": "Abrir consola",
"devices_count": "{count} dispositivos",
"retry": "Tentar novamente",
"nav_address_book": "Livro de endereços",
"nav_folders": "Pastas",
"nav_groups": "Grupos",
"nav_tags": "Etiquetas",
"quick_connect": "Controlar ambiente de trabalho remoto",
"quick_connect_placeholder": "Introduza ID remoto…",
"view_grid": "Vista em grelha",
"view_list": "Vista em lista",
"sync_now": "Atualizar",
"last_sync": "Atualizado",
"status_ready": "Pronto",
"sync_error": "Erro de sincronização",
"unassigned": "Não atribuído",
"no_groups": "Sem grupos",
"no_tags": "Sem etiquetas",
"collapse_devices": "Recolher lista de dispositivos",
"expand_devices": "Expandir lista de dispositivos",
"open_settings": "Definições"
},
"rdclient_login": {
"title": "Cliente de ambiente de trabalho remoto",
"subtitle": "Inicie sessão para ligar aos seus dispositivos",
"username_placeholder": "Nome de utilizador",
"password_placeholder": "Palavra-passe",
"remember_me": "Lembrar-me neste dispositivo",
"sign_in": "Iniciar sessão",
"totp_title": "Autenticação de dois fatores",
"totp_subtitle": "Introduza o código de 6 dígitos da sua aplicação de autenticação",
"verify": "Verificar",
"back_to_login": "Voltar ao início de sessão",
"open_console_login": "Abrir início de sessão da consola",
"session_expired": "Sessão expirada. Inicie sessão novamente.",
"fill_all_fields": "Preencha todos os campos",
"invalid_credentials": "Credenciais inválidas",
"network_error": "Erro de rede",
"enter_6_digits": "Introduza os 6 dígitos",
"invalid_code": "Código inválido"
},
"rdclient_settings": {
"title": "Definições RdClient",
"open": "Definições",
"server_url": "URL do painel",
"tls_strict": "TLS estrito",
"sign_out": "Terminar sessão",
"reset_client": "Repor cliente",
"discovery_refresh": "Atualizar",
"discovery_empty": "Nenhum servidor encontrado na rede local"
},
"mobile_nav": {
"label": "Navegação principal",
"home": "Início",
"devices": "Dispositivos",
"remote": "Remoto",
"chat": "Chat",
"more": "Mais"
},
"mesh": {
"settings_title": "MeshCentral Compatibility",
"enabled": "MeshCentral layer enabled",
"disabled": "MeshCentral layer disabled",
"server_id": "Server ID (for .msh)",
"download_msh": "Download MeshAgent .msh",
"agents_online": "Mesh agents online",
"device_type": "Mesh Agent",
"transport_mesh": "MeshCentral KVM",
"linked_peer": "Linked device",
"link_peer": "Link to RustDesk/CDAP peer on same host",
"onboarding_title": "MeshAgent onboarding",
"onboarding_body": "Download the .msh file, install MeshAgent on endpoints, and devices appear as mesh_agent in the device list.",
"run_command": "Executar comando",
"terminal": "Terminal",
"files": "Navegador de ficheiros",
"run_command_title": "Executar comando no dispositivo",
"command_placeholder": "Comando a executar",
"command_sent": "Comando enviado ao agente",
"command_failed": "Falha ao enviar",
"run_as_shell": "Executar no shell",
"terminal_title": "Terminal remoto",
"terminal_unavailable": "Módulo de terminal não carregado",
"link_peer_title": "Ligar agente Mesh",
"link_peer_hint": "ID RustDesk ou CDAP no mesmo host. Vazio para desligar.",
"link_saved": "Ligação atualizada",
"transport_terminal": "Terminal Mesh",
"transport_files": "Ficheiros Mesh",
"settings_desc": "Onboarding MeshAgent e ID do servidor para arquivos .msh.",
"mesh_name": "Nome do grupo Mesh (.msh)",
"copy_server_id": "Copiar ID do servidor",
"copy_server_id_ok": "ID do servidor copiado",
"enabled_label": "Ativado",
"disabled_label": "Desativado",
"share_link": "Link de desktop para convidado",
"share_link_title": "Criar link de desktop para convidado",
"share_link_hint": "Link somente visualização com tempo limitado. Destinatários podem abrir desktop remoto sem conta no painel.",
"share_ttl": "Válido por (minutos)",
"share_url": "URL de compartilhamento",
"share_create": "Criar link",
"share_created": "Link de convidado criado",
"port_tcp": "Relay de porta TCP",
"port_forward_title": "Relay TCP via MeshAgent",
"port_connect": "Conectar",
"port_connected": "Relay pronto",
"port_connecting": "Conectando…",
"port_closed": "Desconectado",
"port_error": "Erro WebSocket",
"port_invalid": "Porta inválida",
"port_send": "Enviar",
"port_send_placeholder": "Enviar texto à porta remota…",
"port_unavailable": "Módulo de relay de porta não carregado",
"power_sleep": "Suspender",
"power_reset": "Reiniciar",
"power_confirm": "Enviar ação de energia",
"power_sent": "Comando de energia enviado",
"power_wake": "Wake",
"power_off": "Power off",
"filter_mesh": "Mesh agents",
"port_udp": "UDP port relay",
"groups_title": "Mesh groups",
"group_id_placeholder": "Group ID",
"group_name_placeholder": "Display name",
"group_add": "Add group",
"groups_save": "Save groups",
"groups_empty": "No mesh groups yet.",
"groups_load_error": "Could not load mesh groups.",
"groups_saved": "Mesh groups saved",
"groups_save_error": "Failed to save mesh groups",
"recordings_title": "Session recordings (server)",
"recordings_desc": "Mesh desktop sessions captured on the server (.mcrec). CDAP/RustDesk browser recordings stay local unless exported.",
"recordings_empty": "No server recordings yet.",
"recordings_load_error": "Could not load recordings.",
"recording_download": "Download",
"recording_server_on": "Server recording enabled — reconnecting…",
"recording_server_off": "Server recording disabled — reconnecting…",
"cert_missing": "Agent-server certificate not found. Back up mesh_agent_server.pem after agents connect.",
"cert_ok": "Agent-server certificate present",
"onboarding_step_msh": "Download the .msh file and set the mesh group name.",
"onboarding_step_install": "Install unmodified MeshAgent on endpoints using the .msh file.",
"onboarding_step_verify": "Confirm devices appear as mesh_agent and show online."
},
"guest_access": {
"title": "Remoto convidado",
"subtitle": "Acesso temporário — apenas os dispositivos partilhados",
"menu": "Ligação de acesso de convidado",
"create_title": "Criar ligação de acesso de convidado",
"create_hint": "Ligação RdClient com tempo limitado. O destinatário só pode ligar-se aos dispositivos selecionados — sem login na Console nem lista completa.",
"devices": "Dispositivos",
"ttl": "Válido por (minutos)",
"label": "Etiqueta (opcional)",
"view_only": "Apenas visualização",
"url": "URL de partilha",
"create": "Criar ligação",
"created": "Ligação de convidado criada",
"invalid_title": "Ligação de convidado inválida",
"missing_token": "Esta ligação de convidado não tem token.",
"expired": "Esta ligação de convidado é inválida ou expirou.",
"device_denied": "Esta ligação é inválida, expirou ou não permite este dispositivo.",
"empty": "Nenhum dispositivo nesta ligação.",
"expires": "Expira",
"back_to_list": "Voltar à lista de convidado"
},
"ux35": {
"resize_sidebar": "Redimensionar barra lateral",
"open_menu": "Abrir menu",
"theme_mode_hint": "Claro e Escuro são predefinidos. Personalizado ativa-se ao editar as cores abaixo.",
"switch_to_ux35": "Mudar para UX 3.5 (Beta)",
"switch_to_classic": "Mudar para a interface clássica",
"beta_badge": "BETA",
"beta_tooltip": "Layout da consola em beta — opcional; a UI clássica continua a ser a predefinida."
}
}