mirror of
https://github.com/UNITRONIX/BetterDesk.git
synced 2026-09-25 12:32:14 +00:00
9041fb7227
Make device group edit/delete actions visible, add direct user-group management entry points from the device group ACL modal, and allow device group editors to load user groups for ACL assignment. Refs #140.
3281 lines
142 KiB
JSON
3281 lines
142 KiB
JSON
{
|
||
"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"
|
||
},
|
||
"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": "Help Requests",
|
||
"activity": "Atividade",
|
||
"automation": "Automação",
|
||
"file_transfer": "Transferência de ficheiros",
|
||
"network": "Rede",
|
||
"dataguard": "DataGuard",
|
||
"reports": "Relatórios",
|
||
"tenants": "Inquilinos",
|
||
"registrations": "Registos",
|
||
"management": "Management",
|
||
"toggle_sidebar": "Alternar barra lateral",
|
||
"cdap": "Dispositivos CDAP",
|
||
"fleet": "Frota",
|
||
"scaling": "Escalabilidade",
|
||
"cross_platform": "Multiplataforma",
|
||
"tokens": "Device Tokens",
|
||
"organizations": "Organizations",
|
||
"policies": "Políticas",
|
||
"attestation": "Atestação",
|
||
"remote": "Remote Desktop",
|
||
"toolkit": "Toolkit",
|
||
"security_audit": "Auditoria de Segurança",
|
||
"languages": "Idiomas",
|
||
"resource_control": "Controle de recursos",
|
||
"chat": "Chat",
|
||
"help": "Ajuda",
|
||
"expand_sidebar": "Expandir barra lateral",
|
||
"clients": "Clientes",
|
||
"exit_desktop": "Sair da área de trabalho",
|
||
"toggle_theme": "Alternar tema",
|
||
"sdk_studio": "SDK Studio",
|
||
"login": "Entrar",
|
||
"permissions": "Permissions",
|
||
"server_management": "Gestão do servidor"
|
||
},
|
||
"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.",
|
||
"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"
|
||
},
|
||
"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."
|
||
},
|
||
"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_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_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": "Device not found",
|
||
"delete_failed": "Failed to delete device",
|
||
"change_id_failed": "Failed to change device ID",
|
||
"invalid_id": "Invalid device ID (6-16 characters required)",
|
||
"invalid_id_format": "Invalid ID format (letters, numbers, dashes, underscores only)",
|
||
"id_exists": "Device ID already exists",
|
||
"no_selection": "No devices selected",
|
||
"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": "Access Policy",
|
||
"unattended_access": "Unattended Access",
|
||
"enable_unattended": "Enable unattended access",
|
||
"access_password": "Access Password",
|
||
"password_configured": "Password set",
|
||
"no_password": "No password",
|
||
"new_password": "New password (leave empty to keep current)",
|
||
"clear_password": "Clear password",
|
||
"access_schedule": "Access Schedule",
|
||
"enable_schedule": "Enable time-based access",
|
||
"allowed_days": "Allowed days",
|
||
"start_time": "Start time",
|
||
"end_time": "End time",
|
||
"timezone": "Timezone",
|
||
"allowed_operators": "Allowed Operators",
|
||
"all_operators": "All operators (leave empty)",
|
||
"operators_hint": "Comma-separated usernames. Leave empty to allow all operators.",
|
||
"last_updated_by": "Last updated by",
|
||
"access_policy_saved": "Access policy saved",
|
||
"tabs": {
|
||
"overview": "Overview",
|
||
"hardware": "Hardware",
|
||
"metrics": "Métricas",
|
||
"connections": "Connections",
|
||
"audit": "Audit",
|
||
"info": "Info",
|
||
"history": "Histórico"
|
||
},
|
||
"hardware": {
|
||
"cpu": "Processador",
|
||
"memory": "Memória",
|
||
"disk": "Disco",
|
||
"os": "Sistema operativo",
|
||
"hostname": "Hostname",
|
||
"uptime": "Uptime",
|
||
"load_avg": "Load Average",
|
||
"network": "Adaptadores de rede",
|
||
"no_data": "No hardware data available",
|
||
"title": "Informação de hardware",
|
||
"gpu": "Placa gráfica"
|
||
},
|
||
"display_name": "Display Name",
|
||
"display_name_placeholder": "Custom name (overrides hostname)",
|
||
"note_placeholder": "Notes about this device",
|
||
"tags": "Tags",
|
||
"filter_by_tags": "Filter by tags",
|
||
"no_tags": "No tags",
|
||
"all_groups": "All groups",
|
||
"create_group": "Create group",
|
||
"manage_groups": "Manage Groups",
|
||
"group_name": "Group name",
|
||
"group_name_placeholder": "e.g. Media PCs",
|
||
"dynamic_group": "Dynamic group from tag",
|
||
"dynamic_group_hint": "Devices with this tag join automatically.",
|
||
"tag_filter": "Tag filter",
|
||
"group_allowed_users": "Allowed users",
|
||
"group_allowed_users_hint": "Leave empty to keep the group visible to everyone with device permissions.",
|
||
"group_tag_required": "Tag filter is required for dynamic groups",
|
||
"group_invalid": "Invalid group identifier",
|
||
"group_not_found": "Group not found",
|
||
"group_saved": "Device group saved",
|
||
"groups_saved": "Device groups saved",
|
||
"no_groups": "No groups yet",
|
||
"manual_groups": "Manual groups",
|
||
"dynamic_memberships": "Dynamic memberships",
|
||
"group_allowed_user_groups": "Allowed user groups",
|
||
"group_allowed_user_groups_hint": "Users in selected user groups can access this device group.",
|
||
"no_user_groups": "No user groups",
|
||
"edit_group": "Edit group",
|
||
"delete_group": "Delete group",
|
||
"delete_group_confirm": "Delete device group {name}?",
|
||
"group_deleted": "Device group deleted",
|
||
"folder_group_readonly": "Folder-backed groups are managed from folders.",
|
||
"manage_user_groups": "Manage user groups"
|
||
},
|
||
"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": "Key not found",
|
||
"api_not_found": "API key not found"
|
||
},
|
||
"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": "Tutorials & Guides",
|
||
"tutorials_desc": "Control guided tours and help overlays shown throughout the console",
|
||
"tutorials_enabled": "Enable tutorials",
|
||
"tutorials_enabled_hint": "When disabled, tutorials will not start automatically and the help button will be hidden",
|
||
"tutorials_reset_hint": "Mark all tutorials as unseen so they can be shown again",
|
||
"tutorials_enabled_toast": "Tutorials enabled",
|
||
"tutorials_disabled_toast": "Tutorials disabled",
|
||
"tutorials_reset_toast": "All tutorials have been reset"
|
||
},
|
||
"audit": {
|
||
"time": "Hora",
|
||
"user": "Utilizador",
|
||
"action": "Ação",
|
||
"details": "Detalhes",
|
||
"action_login": "Login",
|
||
"action_login_failed": "Login Failed",
|
||
"action_logout": "Logout",
|
||
"action_password_change": "Password Changed",
|
||
"action_2fa_enable": "2FA Enabled",
|
||
"action_2fa_disable": "2FA Disabled",
|
||
"action_user_create": "User Created",
|
||
"action_user_update": "User Updated",
|
||
"action_user_delete": "User Deleted",
|
||
"action_settings_update": "Settings Updated",
|
||
"action_device_ban": "Device Banned",
|
||
"action_device_unban": "Device Unbanned",
|
||
"action_device_delete": "Device Deleted"
|
||
},
|
||
"generator": {
|
||
"title": "Gerador de configuração do cliente",
|
||
"subtitle": "Gerar configuração para clientes RustDesk",
|
||
"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"
|
||
},
|
||
"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"
|
||
},
|
||
"actions": {
|
||
"refresh": "Atualizar",
|
||
"copy": "Copiar",
|
||
"connect": "Conectar",
|
||
"connect_desktop": "Conectar via cliente desktop",
|
||
"remote_viewer": "Remote Viewer",
|
||
"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": "CDAP Snapshot Viewer",
|
||
"add": "Add",
|
||
"remove": "Remove"
|
||
},
|
||
"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": "Operador",
|
||
"role_viewer": "Observador",
|
||
"role_hint": "Observadores podem apenas visualizar dados, operadores podem gerir dispositivos, administradores têm acesso total",
|
||
"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",
|
||
"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 o papel de observador para utilizadores que precisam apenas de acesso de leitura",
|
||
"tip_operator_role": "Use o papel de operador para utilizadores que precisam de gerir dispositivos mas não utilizadores",
|
||
"tip_audit_logs": "Revise regularmente os registos de auditoria para atividade suspeita",
|
||
"role_pro": "Pro (API only)",
|
||
"role_super_admin": "Super Admin",
|
||
"role_server_admin": "Server Admin",
|
||
"role_global_admin": "Global Admin",
|
||
"organizations": "Organizations",
|
||
"user_organizations": "Organizations for {username}",
|
||
"no_organizations": "User is not assigned to any organization",
|
||
"org_removed": "Organization assignment removed",
|
||
"server_role_label": "Server Role",
|
||
"server_role_hint": "Determines what the user can do across the whole console (panel access, server config, audit, etc.).",
|
||
"org_membership_section": "Organization Membership",
|
||
"org_membership_hint": "A user can belong to multiple organizations. The organization role only controls permissions inside that organization and is independent of the server role above.",
|
||
"column_organizations": "Organizations",
|
||
"no_orgs_short": "—",
|
||
"org_count_one": "{count} organization",
|
||
"org_count_many": "{count} organizations",
|
||
"all_orgs_assigned": "User is already a member of every organization.",
|
||
"user_groups": "User groups",
|
||
"user_groups_hint": "User groups can be used to grant access to selected device groups.",
|
||
"loading_user_groups": "Loading user groups...",
|
||
"no_user_groups": "No user groups available",
|
||
"create_user_group": "Create group",
|
||
"edit_user_group": "Edit user group",
|
||
"delete_user_group": "Delete user group",
|
||
"delete_user_group_confirm": "Delete user group {name}? Members will lose access granted through this group.",
|
||
"user_group_created": "User group created",
|
||
"user_group_updated": "User group updated",
|
||
"user_group_deleted": "User group deleted",
|
||
"user_group_not_found": "User group not found",
|
||
"group_name": "Group name",
|
||
"group_name_placeholder": "Operators",
|
||
"group_note": "Note",
|
||
"group_note_placeholder": "Optional note",
|
||
"group_name_required": "Group name is required",
|
||
"group_members_count": "{count} members"
|
||
},
|
||
"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": "Failed to load organizations"
|
||
},
|
||
"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",
|
||
"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": "Select Monitor",
|
||
"quality_speed": "Speed (Low Quality, 60fps)",
|
||
"quality_quality": "Quality (Best, 30fps)",
|
||
"recording_started": "Recording started",
|
||
"recording_stopped": "Recording stopped",
|
||
"download_recording": "Download Recording",
|
||
"e2e_encrypted": "End-to-End Encrypted",
|
||
"e2e_key_exchange": "Establishing secure channel...",
|
||
"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",
|
||
"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": "2FA Verification Required",
|
||
"2fa_hint": "Enter the 6-digit code from your authenticator app",
|
||
"2fa_invalid": "Enter a valid 6-digit code",
|
||
"verify": "Verify",
|
||
"use_cdap_fallback": "Use CDAP viewer",
|
||
"cdap_fallback_hint": "Open the lightweight JPEG-polling viewer that uses bd-signal/CDAP instead of the RustDesk relay. Useful when the peer is offline on the relay but reachable via the agent management channel.",
|
||
"clipboard_empty": "Clipboard is empty",
|
||
"clipboard_denied": "Clipboard access denied. HTTPS required or permission not granted.",
|
||
"file_loading": "Loading...",
|
||
"file_timeout": "Remote device did not respond. File transfer may not be supported or is disabled on the remote machine."
|
||
},
|
||
"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": "Marca salva com sucesso. A recarregar...",
|
||
"exported": "Tema exportado",
|
||
"imported": "Tema importado com sucesso. A recarregar...",
|
||
"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": "Marca reposta para as predefinições. A recarregar...",
|
||
"logo_type_text": "Text Logo",
|
||
"logo_text": "Logo Text",
|
||
"logo_text_hint": "Primary text displayed as your brand logo",
|
||
"logo_text_accent": "Accent Text",
|
||
"logo_text_accent_hint": "Secondary text below the logo (e.g. product name or tagline)",
|
||
"logo_upload_success": "Logo uploaded successfully.",
|
||
"typography_title": "Typography",
|
||
"typography_desc": "Choose fonts for headings and body text. Fonts are downloaded to the server for self-hosting.",
|
||
"font_heading": "Heading Font",
|
||
"font_heading_hint": "Used for headings (H1–H6) and text logo",
|
||
"font_body": "Body Font",
|
||
"font_body_hint": "Used for body text and UI elements",
|
||
"font_search_placeholder": "Search fonts...",
|
||
"font_system_default": "System default",
|
||
"font_clear": "Clear",
|
||
"font_cat_all": "All",
|
||
"font_downloaded_count": "fonts downloaded on server"
|
||
},
|
||
"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": "BetterDesk Remote",
|
||
"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": "Services",
|
||
"tab_processes": "Processes",
|
||
"tab_events": "Events",
|
||
"tab_activity": "Activity",
|
||
"tab_files": "Files",
|
||
"agent_lazy_hint": "Click this tab to load live data from the agent",
|
||
"agent_offline": "Agent is offline",
|
||
"agent_timeout": "Agent did not respond in time",
|
||
"agent_error": "Failed to load data from agent",
|
||
"service_name": "Name",
|
||
"service_display": "Display name",
|
||
"service_status": "Status",
|
||
"service_start": "Start mode",
|
||
"process_name": "Name",
|
||
"process_user": "User",
|
||
"process_memory": "Memory"
|
||
},
|
||
"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": "Search devices...",
|
||
"date_range": "Date Range",
|
||
"device_id": "Device ID",
|
||
"session_start": "Início da sessão",
|
||
"session_end": "Fim da sessão",
|
||
"user": "Utilizador",
|
||
"no_activity": "No activity recorded",
|
||
"reported_at": "Reported At",
|
||
"detail": "Detail",
|
||
"no_apps": "No applications",
|
||
"status": "Estado",
|
||
"export": "Exportar",
|
||
"export_csv": "Exportar como CSV",
|
||
"export_json": "Exportar como JSON",
|
||
"time_range": "Intervalo de tempo",
|
||
"today": "Hoje",
|
||
"last_7_days": "Últimos 7 dias"
|
||
},
|
||
"automation": {
|
||
"title": "Automação e alertas",
|
||
"subtitle": "Regras de alarme, comandos remotos e configuração SMTP",
|
||
"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": "Device ID and payload are required",
|
||
"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": "Timeout (ms)",
|
||
"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": "Search targets...",
|
||
"name": "Name",
|
||
"tab_targets": "Targets",
|
||
"tab_tools": "Tools",
|
||
"avg_latency": "Avg Latency",
|
||
"type": "Type",
|
||
"latency": "Latency",
|
||
"check_history": "Check History",
|
||
"name_host_required": "Name and host are required",
|
||
"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 — DLP",
|
||
"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 Policies",
|
||
"active_policies": "Active Policies",
|
||
"violations": "Violations",
|
||
"blocked": "Blocked",
|
||
"tab_policies": "Policies",
|
||
"tab_events": "Events",
|
||
"search_policies": "Search policies...",
|
||
"create_policy": "Create Policy",
|
||
"policy_type": "Policy Type",
|
||
"scope": "Scope",
|
||
"events_count": "Events",
|
||
"search_events": "Search events...",
|
||
"event_time": "Event Time",
|
||
"device": "Device",
|
||
"policy": "Policy",
|
||
"detail": "Detail",
|
||
"scope_help": "Comma-separated device IDs, or leave empty for all",
|
||
"scope_all": "All Devices",
|
||
"active": "Active",
|
||
"type_file_type": "File Type",
|
||
"type_clipboard": "Clipboard",
|
||
"type_screen_share": "Screen Share",
|
||
"type_file_transfer": "File Transfer",
|
||
"policy_desc": "Policy Description",
|
||
"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": "Disabled",
|
||
"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": "Device Enrollment",
|
||
"enrollment_subtitle": "Pending enrollment requests from BetterDesk desktop clients",
|
||
"enrollment_empty": "No pending enrollment requests",
|
||
"enrollment_approve": "Approve",
|
||
"enrollment_reject": "Reject",
|
||
"enrollment_display_name": "Display Name",
|
||
"enrollment_display_name_placeholder": "Enter a name for this device...",
|
||
"enrollment_sync_mode": "Sync Mode",
|
||
"enrollment_sync_silent": "Silent — minimal telemetry",
|
||
"enrollment_sync_standard": "Standard — balanced sync",
|
||
"enrollment_sync_turbo": "Turbo — aggressive sync",
|
||
"enrollment_approved_success": "Device enrollment approved",
|
||
"enrollment_rejected_success": "Device enrollment rejected"
|
||
},
|
||
"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"
|
||
},
|
||
"cdap": {
|
||
"device_detail": "Detalhes do dispositivo",
|
||
"loading": "A carregar...",
|
||
"loading_widgets": "Loading device widgets...",
|
||
"load_error": "Failed to load device data",
|
||
"connected": "Conectado",
|
||
"disconnected": "Desconectado",
|
||
"device_offline_msg": "Device is currently offline. Widget values may be stale.",
|
||
"no_widgets": "Sem widgets disponíveis",
|
||
"no_widgets_desc": "This device has not registered a CDAP manifest with widget definitions.",
|
||
"command_log": "Registo de comandos",
|
||
"clear_log": "Clear log",
|
||
"confirm_command": "Confirm Command",
|
||
"select_option": "Select",
|
||
"cdap_status": "CDAP Status",
|
||
"cdap_enabled": "CDAP Enabled",
|
||
"cdap_disabled": "CDAP Disabled",
|
||
"cdap_devices": "CDAP Devices",
|
||
"cdap_connections": "Active Connections",
|
||
"send_command": "Send Command",
|
||
"command_sent": "Comando enviado com sucesso",
|
||
"command_failed": "Falha ao enviar comando",
|
||
"devices_title": "CDAP Devices",
|
||
"devices_subtitle": "Connected devices via Custom Device Application Protocol",
|
||
"stat_connected": "Connected",
|
||
"stat_port": "Port",
|
||
"search_devices": "Search devices...",
|
||
"no_devices": "No devices connected",
|
||
"no_devices_desc": "No CDAP devices are currently connected. Devices will appear here once they connect to the gateway.",
|
||
"gateway_disabled": "CDAP Gateway Disabled",
|
||
"gateway_disabled_desc": "Enable the CDAP gateway by setting CDAP_ENABLED=true in the server configuration.",
|
||
"gateway_active": "Active",
|
||
"toggle_enable": "Enable CDAP",
|
||
"toggle_disable": "Disable CDAP",
|
||
"enabled_restart": "CDAP enabled. Server restart required to apply changes.",
|
||
"disabled_restart": "CDAP disabled. Server restart required to apply changes.",
|
||
"widgets": "Widgets",
|
||
"type_all": "All",
|
||
"type_iot": "IoT",
|
||
"type_scada": "SCADA",
|
||
"type_os_agent": "OS Agent",
|
||
"type_network": "Network",
|
||
"type_camera": "Camera",
|
||
"type_custom": "Custom",
|
||
"active_alerts": "Active Alerts",
|
||
"alert_fired": "Alert fired",
|
||
"alert_cleared": "Alert cleared",
|
||
"no_alerts": "No active alerts",
|
||
"connect_terminal": "Connect Terminal",
|
||
"table_search": "Search...",
|
||
"just_now": "Just now",
|
||
"terminal_connecting": "Connecting to device...",
|
||
"terminal_disconnected": "Disconnected",
|
||
"terminal_error": "Terminal connection failed",
|
||
"linked_devices": "Linked Devices",
|
||
"link_device": "Link Device",
|
||
"unlink_device": "Unlink",
|
||
"no_linked_devices": "No linked devices",
|
||
"unlink_confirm": "Are you sure you want to unlink this device?",
|
||
"link_prompt": "Enter the Peer ID to link to this device:",
|
||
"connect_desktop": "Connect Desktop",
|
||
"connect_video": "Connect Stream",
|
||
"connect_files": "Browse Files",
|
||
"connect_audio": "Conectar áudio",
|
||
"upload_file": "Upload",
|
||
"desktop_connecting": "A conectar ao ambiente de trabalho...",
|
||
"video_connecting": "Connecting...",
|
||
"files_connecting": "Connecting...",
|
||
"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",
|
||
"title": "Dispositivos CDAP",
|
||
"commands": "Comandos",
|
||
"no_commands": "Nenhum comando enviado",
|
||
"device_offline": "Dispositivo offline",
|
||
"device_info": "Informação do dispositivo",
|
||
"device_type": "Tipo de dispositivo",
|
||
"device_version": "Versão",
|
||
"device_uptime": "Tempo de atividade",
|
||
"last_seen": "Visto pela última vez",
|
||
"capabilities": "Capacidades",
|
||
"telemetry": "Telemetria",
|
||
"remote_desktop": "Ambiente de trabalho remoto",
|
||
"file_transfer": "Transferência de ficheiros",
|
||
"clipboard": "Área de transferência",
|
||
"command_id": "ID do comando",
|
||
"command_type": "Tipo",
|
||
"command_time": "Hora",
|
||
"command_status": "Estado",
|
||
"status_pending": "Pendente",
|
||
"status_sent": "Enviado",
|
||
"status_success": "Sucesso",
|
||
"status_error": "Erro",
|
||
"widget_toggle": "Interruptor",
|
||
"widget_gauge": "Medidor",
|
||
"widget_button": "Botão",
|
||
"widget_led": "LED",
|
||
"widget_text": "Texto",
|
||
"widget_slider": "Controlo deslizante",
|
||
"widget_select": "Seleção",
|
||
"widget_chart": "Gráfico",
|
||
"widget_terminal": "Terminal",
|
||
"confirm_action": "Confirmar ação",
|
||
"confirm_message": "Tem a certeza que deseja executar esta ação?",
|
||
"yes": "Sim",
|
||
"no": "Não",
|
||
"desktop_status": "Estado do ambiente de trabalho",
|
||
"desktop_connected": "Ambiente de trabalho conectado",
|
||
"desktop_disconnected": "Ambiente de trabalho desconectado",
|
||
"desktop_failed": "Falha na conexão ao ambiente de trabalho",
|
||
"file_browser": "Explorador de ficheiros",
|
||
"file_browser_title": "Explorador de ficheiros",
|
||
"file_path": "Caminho",
|
||
"file_name": "Nome do ficheiro",
|
||
"file_size": "Tamanho",
|
||
"file_modified": "Modificado",
|
||
"file_upload": "Carregar ficheiro",
|
||
"file_download": "Transferir ficheiro",
|
||
"file_delete": "Excluir ficheiro",
|
||
"file_refresh": "Atualizar",
|
||
"terminal_title": "Terminal",
|
||
"terminal_clear": "Limpar",
|
||
"terminal_resize": "Redimensionar",
|
||
"screenshot": "Captura de ecrã",
|
||
"screenshot_capture": "Capturar ecrã",
|
||
"screenshot_captured": "Ecrã capturado",
|
||
"screenshot_failed": "Falha na captura de ecrã",
|
||
"cpu_usage": "Utilização da CPU",
|
||
"memory_usage": "Utilização da memória",
|
||
"disk_usage": "Utilização do disco",
|
||
"hostname": "Nome do host",
|
||
"system_uptime": "Tempo de atividade do sistema"
|
||
},
|
||
"desktop": {
|
||
"switch_mode": "Desktop Mode",
|
||
"console_mode": "Console Mode",
|
||
"loading": "Loading...",
|
||
"minimize": "Minimize",
|
||
"maximize": "Maximize",
|
||
"restore": "Restore",
|
||
"close": "Close",
|
||
"widgets_mode": "Widgets",
|
||
"windows_mode": "Windows",
|
||
"wallpaper": "Wallpaper",
|
||
"add_widget": "Add Widget",
|
||
"remove_widget": "Remove Widget",
|
||
"configure": "Configure",
|
||
"search_widgets": "Search widgets...",
|
||
"cat_monitoring": "Monitoring",
|
||
"cat_devices": "Devices",
|
||
"cat_tools": "Tools",
|
||
"cat_general": "General",
|
||
"notes_placeholder": "Write notes here...",
|
||
"search_placeholder": "Search devices, pages, settings...",
|
||
"search_pages": "Pages",
|
||
"search_devices": "Devices",
|
||
"search_no_results": "No results",
|
||
"exit_desktop": "Exit Desktop",
|
||
"refresh": "Refresh",
|
||
"widget_clock": "Clock",
|
||
"widget_device_status": "Device Status",
|
||
"widget_server_health": "Server Info",
|
||
"widget_system_stats": "Device Gauges",
|
||
"widget_device_list": "Device List",
|
||
"widget_quick_actions": "Quick Actions",
|
||
"widget_recent_activity": "Recent Activity",
|
||
"widget_notes": "Notes",
|
||
"widget_network_monitor": "Network Monitor",
|
||
"widget_tickets_summary": "Tickets",
|
||
"widget_iframe": "Web Embed",
|
||
"widget_cdap_devices": "CDAP Devices",
|
||
"widget_uptime": "Uptime",
|
||
"widget_port_status": "Port Status",
|
||
"widget_device_grid": "Device Grid",
|
||
"widget_multi_gauge": "Server Gauges",
|
||
"widget_weekly_chart": "Weekly Activity",
|
||
"widget_quick_controls": "Quick Controls",
|
||
"widget_bandwidth": "Bandwidth",
|
||
"widget_connection_stats": "Connection Stats",
|
||
"widget_weather": "Weather",
|
||
"widget_world_clock": "World Clock",
|
||
"widget_bookmarks": "Bookmarks",
|
||
"widget_user_sessions": "User Sessions",
|
||
"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": "No devices",
|
||
"label_no_activity": "No activity",
|
||
"label_no_targets": "No targets",
|
||
"label_unavailable": "Unavailable",
|
||
"label_open": "Open",
|
||
"label_in_progress": "In Progress",
|
||
"label_resolved": "Resolved",
|
||
"label_set_url": "Set URL in config",
|
||
"label_server_uptime": "Server Uptime",
|
||
"label_merged_info": "Merged into Server Info widget",
|
||
"label_with_notes": "With Notes",
|
||
"label_metric": "Metric",
|
||
"label_count": "Count",
|
||
"label_total_devices": "Total Devices",
|
||
"label_throughput": "Throughput",
|
||
"label_active_relays": "Active Relays",
|
||
"label_total_relayed": "Total Relayed",
|
||
"label_total_bytes": "Total Bytes",
|
||
"label_filter_devices": "Filter devices...",
|
||
"label_all": "All",
|
||
"label_ban": "Ban",
|
||
"label_unban": "Unban",
|
||
"label_connect": "Connect",
|
||
"label_no_cdap_devices": "No CDAP devices",
|
||
"action_add_widget": "Add Widget",
|
||
"label_merged_server_info": "Merged into Server Info widget",
|
||
"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": "Process Monitor",
|
||
"widget_disk_usage": "Disk Usage",
|
||
"widget_log_viewer": "Log Viewer",
|
||
"widget_speed_test": "Speed Test",
|
||
"widget_database_stats": "Database Stats",
|
||
"widget_docker_containers": "Docker Containers",
|
||
"widget_shell_command": "Shell Command",
|
||
"widget_device_map": "Device Map",
|
||
"widget_remote_connect": "Remote Connect",
|
||
"label_no_online": "No online devices",
|
||
"label_no_events": "No events today",
|
||
"label_event_title": "Event title:",
|
||
"label_no_data": "No data available",
|
||
"label_download_speed": "Download Speed",
|
||
"label_latency": "Latency",
|
||
"label_server": "Server",
|
||
"label_run_test": "Run Test",
|
||
"label_testing": "Testing...",
|
||
"label_table": "Table",
|
||
"label_rows": "Rows",
|
||
"label_last_backup": "Last Backup",
|
||
"label_no_containers": "No containers",
|
||
"label_docker_unavailable": "Docker not available",
|
||
"label_no_command": "No command configured",
|
||
"label_no_output": "No output yet",
|
||
"label_run": "Run",
|
||
"label_presets": "Presets",
|
||
"label_save_preset": "Save Preset",
|
||
"label_load_preset": "Load Preset",
|
||
"label_preset_name": "Preset name:",
|
||
"label_preset_monitoring": "Monitoring",
|
||
"label_preset_helpdesk": "Helpdesk",
|
||
"label_preset_minimal": "Minimal",
|
||
"label_preset_developer": "Developer",
|
||
"label_snap_layout": "Snap Layout",
|
||
"label_auto_arrange": "Auto Arrange",
|
||
"label_zone_layout": "Zone Layout",
|
||
"label_2col_equal": "2 Columns (Equal)",
|
||
"label_2col_wide": "2 Columns (60/40)",
|
||
"label_3col": "3 Columns",
|
||
"label_2x2_grid": "2×2 Grid",
|
||
"label_1_2": "1 + 2",
|
||
"label_1_3": "1 + 3",
|
||
"widget_group": "Widget Group",
|
||
"ungroup_widgets": "Ungroup Widgets",
|
||
"group_widgets": "Group Selected Widgets",
|
||
"snap_layouts": "Snap Layouts",
|
||
"snap_left": "Snap Left",
|
||
"snap_right": "Snap Right",
|
||
"snap_top_left": "Snap Top-Left",
|
||
"snap_top_right": "Snap Top-Right",
|
||
"snap_bottom_left": "Snap Bottom-Left",
|
||
"snap_bottom_right": "Snap Bottom-Right",
|
||
"aero_shake": "Shake to Minimize Others",
|
||
"zone_resize": "Drag border to resize zones",
|
||
"zone_borders": "Draggable Zone Borders",
|
||
"app_drawer": "Applications",
|
||
"search_apps": "Search apps...",
|
||
"edit_shortcuts": "Editar atalhos",
|
||
"widgets": "Widgets",
|
||
"theme": "Theme",
|
||
"unified_mode": "Modo unificado",
|
||
"exit_unified": "Sair do modo unificado",
|
||
"fullscreen": "Ecrã inteiro",
|
||
"exit_fullscreen": "Sair do ecrã inteiro",
|
||
"picture_in_picture": "Picture-in-Picture",
|
||
"exit_pip": "Sair do PiP",
|
||
"settings": "Definições",
|
||
"quality": "Qualidade",
|
||
"quality_low": "Baixa",
|
||
"quality_medium": "Média",
|
||
"quality_high": "Alta",
|
||
"quality_best": "Melhor",
|
||
"fps": "FPS",
|
||
"audio": "Áudio",
|
||
"audio_enabled": "Áudio ativado",
|
||
"audio_disabled": "Áudio desativado",
|
||
"clipboard_sync": "Sincronizar área de transferência",
|
||
"keyboard_shortcuts": "Atalhos de teclado",
|
||
"ctrl_alt_del": "Enviar Ctrl+Alt+Del",
|
||
"disconnect": "Desconectar",
|
||
"reconnect": "Reconectar",
|
||
"connection_status": "Estado da conexão",
|
||
"connecting": "A conectar...",
|
||
"connected": "Conectado",
|
||
"disconnected": "Desconectado",
|
||
"latency": "Latência",
|
||
"bandwidth": "Largura de banda",
|
||
"pop_out_widget": "Pop Out",
|
||
"pop_in_widget": "Pop In",
|
||
"wp_unavailable": "Wallpaper images are not installed on this server.",
|
||
"wp_download_hint": "Place PNG images in the public/wallpapers/ directory to enable wallpaper selection.",
|
||
"help": "Help"
|
||
},
|
||
"desktop_login": {
|
||
"click_to_sign_in": "Click anywhere or press a key to sign in",
|
||
"username_placeholder": "Username",
|
||
"password_placeholder": "Password",
|
||
"sign_in": "Sign in",
|
||
"verify": "Verify",
|
||
"totp_title": "Two-Factor Authentication",
|
||
"totp_subtitle": "Enter the 6-digit code from your authenticator app",
|
||
"back_to_login": "Back to login",
|
||
"fill_all_fields": "Please fill in all fields",
|
||
"invalid_credentials": "Invalid username or password",
|
||
"invalid_code": "Invalid verification code",
|
||
"enter_6_digits": "Enter all 6 digits",
|
||
"network_error": "Network error — check your connection",
|
||
"session_expired": "Session expired. Please sign in again."
|
||
},
|
||
"tokens": {
|
||
"title": "Tokens de acesso",
|
||
"subtitle": "Gerir tokens de acesso API para integrações e automação",
|
||
"enrollment_mode": "Enrollment Mode",
|
||
"mode_open": "Open",
|
||
"mode_open_desc": "Any device can register without a token",
|
||
"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 Tokens",
|
||
"active": "Active",
|
||
"used": "Used",
|
||
"revoked": "Token revogado com sucesso",
|
||
"search_placeholder": "Search tokens...",
|
||
"status_pending": "Pending",
|
||
"status_active": "Active",
|
||
"status_used": "Used",
|
||
"status_revoked": "Revoked",
|
||
"status_expired": "Expired",
|
||
"bulk_generate": "Bulk Generate",
|
||
"create": "Criar token",
|
||
"edit": "Edit Token",
|
||
"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": "0 = unlimited",
|
||
"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": "Optional note about this token...",
|
||
"count": "Count",
|
||
"count_range": "Number of tokens to generate (1-100)",
|
||
"name_prefix": "Name Prefix",
|
||
"generate": "Generate",
|
||
"token_created": "Token Created",
|
||
"tokens_generated": "Tokens Generated",
|
||
"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 revoked successfully",
|
||
"no_tokens": "Sem tokens criados",
|
||
"expired": "Expirado",
|
||
"never": "Never",
|
||
"save": "Save",
|
||
"cancel": "Cancel",
|
||
"unlimited": "Unlimited",
|
||
"create_title": "Criar novo token",
|
||
"description": "Descrição",
|
||
"description_placeholder": "Descrição opcional para este token",
|
||
"expiration": "Expiração",
|
||
"days_30": "30 dias",
|
||
"days_60": "60 dias",
|
||
"days_90": "90 dias",
|
||
"days_180": "180 dias",
|
||
"days_365": "1 ano",
|
||
"permissions": "Permissões",
|
||
"perm_read": "Leitura",
|
||
"perm_read_desc": "Acesso só de leitura aos dados",
|
||
"perm_write": "Escrita",
|
||
"perm_write_desc": "Criar e modificar recursos",
|
||
"perm_delete": "Exclusão",
|
||
"perm_delete_desc": "Excluir recursos",
|
||
"perm_admin": "Administrador",
|
||
"perm_admin_desc": "Acesso administrativo completo",
|
||
"no_tokens_desc": "Crie o seu primeiro token de acesso para começar",
|
||
"col_name": "Nome",
|
||
"col_created": "Criado",
|
||
"col_expires": "Expira",
|
||
"col_last_used": "Última utilização",
|
||
"col_actions": "Ações",
|
||
"never_used": "Nunca usado",
|
||
"never_expires": "Nunca",
|
||
"revoke_title": "Revogar token",
|
||
"delete_confirm": "Tem a certeza que deseja excluir este token?"
|
||
},
|
||
"tutorial": {
|
||
"next": "Seguinte",
|
||
"prev": "Previous",
|
||
"skip": "Saltar visita",
|
||
"finish": "Concluir",
|
||
"close": "Close",
|
||
"step_of": "{current} of {total}",
|
||
"console_sidebar_title": "Navigation Sidebar",
|
||
"console_sidebar_text": "Access all modules from here. Click any icon to navigate to that section. The sidebar adapts to your screen size.",
|
||
"console_expand_title": "Expand Sidebar",
|
||
"console_expand_text": "Click here to expand the sidebar and see full labels for all navigation items. Click again to collapse.",
|
||
"console_search_title": "Quick Search",
|
||
"console_search_text": "Search for devices, settings, or actions quickly. Press Ctrl+K for keyboard shortcut.",
|
||
"console_dashboard_title": "Dashboard",
|
||
"console_dashboard_text": "Your central hub showing server status, online devices, and quick actions. Keep an eye on important metrics at a glance.",
|
||
"console_devices_title": "Device Management",
|
||
"console_devices_text": "View, search, and manage all connected devices. Filter by status, assign tags, and configure individual device settings.",
|
||
"console_settings_title": "Settings",
|
||
"console_settings_text": "Configure server behavior, security options, branding, and user management. Customize BetterDesk to fit your needs.",
|
||
"console_desktop_title": "Desktop Mode",
|
||
"console_desktop_text": "Switch to desktop mode for a windowed workspace with widgets. Perfect for multi-tasking and monitoring dashboards.",
|
||
"console_complete_title": "You're Ready!",
|
||
"console_complete_text": "Explore the sidebar categories to discover all features. Click the Help icon anytime to restart this guide.",
|
||
"desktop_topbar_title": "Top Bar",
|
||
"desktop_topbar_text": "The top bar shows the clock, quick controls, and access to the app drawer. Click the grid icon to browse all apps.",
|
||
"desktop_drawer_title": "App Drawer",
|
||
"desktop_drawer_text": "Open the app drawer to search and launch any console function as a floating window. Apps are organized by category.",
|
||
"desktop_widgets_title": "Widget Dashboard",
|
||
"desktop_widgets_text": "Your customizable workspace. Widgets display live information and provide quick access to features. Drag to rearrange.",
|
||
"desktop_add_widget_title": "Add Widgets",
|
||
"desktop_add_widget_text": "Click here to browse available widgets. Choose from monitoring displays, device lists, notes, and more.",
|
||
"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": "Snap Layouts",
|
||
"desktop_snap_text": "Drag windows to screen edges to snap them into position, or hover the maximize button for layout presets. Try Aero Shake!",
|
||
"desktop_windows_title": "App Windows",
|
||
"desktop_windows_text": "Apps open in draggable, resizable windows. Minimize, maximize, or close from the title bar. Windows layer above widgets.",
|
||
"desktop_search_title": "Quick Search",
|
||
"desktop_search_text": "Search across devices, pages, and settings. Press Ctrl+K anywhere to open search instantly.",
|
||
"desktop_complete_title": "Desktop Mode Ready!",
|
||
"desktop_complete_text": "Try opening apps from the drawer and arranging windows side-by-side. Use widget presets for quick dashboard layouts.",
|
||
"devices_folders_title": "Device Folders",
|
||
"devices_folders_text": "Organize devices into folders. Click a folder to filter the list. Right-click to rename or delete.",
|
||
"devices_search_title": "Search & Filter",
|
||
"devices_search_text": "Search by ID, hostname, or platform. Use the status pills to show only online, offline, or all devices.",
|
||
"devices_table_title": "Device List",
|
||
"devices_table_text": "Click any device row for details. Use the kebab menu on the right for quick actions like connect, edit tags, or delete.",
|
||
"devices_complete_title": "Device Management Ready!",
|
||
"devices_complete_text": "Drag devices between folders to organize them. Double-click a device to open its detail panel.",
|
||
"settings_tabs_title": "Settings Categories",
|
||
"settings_tabs_text": "Navigate between General, Security, Appearance, and other configuration sections.",
|
||
"settings_content_title": "Configuration",
|
||
"settings_content_text": "Each section contains specific server and console settings. Changes are saved when you click Save.",
|
||
"settings_complete_title": "Settings Overview",
|
||
"settings_complete_text": "Check Security settings for 2FA, API keys and user management. Visit Appearance to customize the console look.",
|
||
"help": "Ajuda",
|
||
"tour_console": "Console Tour",
|
||
"tour_desktop": "Desktop Mode Tour",
|
||
"tour_devices": "Devices Tour",
|
||
"tour_settings": "Settings Tour",
|
||
"reset_all": "Reset All Tutorials",
|
||
"welcome": "Bem-vindo ao BetterDesk",
|
||
"welcome_message": "Vamos fazer uma breve visita guiada para começar com o painel de administração.",
|
||
"step_dashboard": "Painel",
|
||
"step_dashboard_desc": "Veja estatísticas gerais, estado dos dispositivos e atividade recente.",
|
||
"step_devices": "Dispositivos",
|
||
"step_devices_desc": "Gira todos os dispositivos conectados, grupos e livros de endereços.",
|
||
"step_users": "Utilizadores",
|
||
"step_users_desc": "Crie e gira contas de utilizadores com diferentes níveis de permissões.",
|
||
"step_settings": "Definições",
|
||
"step_settings_desc": "Configure as definições do servidor, temas e preferências.",
|
||
"step_complete": "Visita concluída!",
|
||
"step_complete_desc": "Está pronto para começar a usar o BetterDesk. Boa sorte!",
|
||
"previous": "Anterior",
|
||
"dont_show": "Não mostrar novamente",
|
||
"restart_tour": "Reiniciar visita",
|
||
"help_center": "Centro de ajuda",
|
||
"documentation": "Documentação",
|
||
"keyboard_shortcuts": "Atalhos de teclado",
|
||
"report_issue": "Reportar problema",
|
||
"tour_remote": "Remote Session Tour",
|
||
"tour_organization": "Organization Setup",
|
||
"tour_cdap": "CDAP Overview",
|
||
"tour_chat": "Chat Basics",
|
||
"remote_toolbar_title": "Remote Toolbar",
|
||
"remote_toolbar_text": "Access display controls, clipboard sync, special keys, and quality settings from the toolbar. Toggle fullscreen with F11.",
|
||
"remote_canvas_title": "Remote Display",
|
||
"remote_canvas_text": "This is the remote screen. Click inside to start controlling the remote device. Mouse and keyboard input are forwarded automatically.",
|
||
"remote_clipboard_title": "Clipboard Sync",
|
||
"remote_clipboard_text": "Copy and paste text between your computer and the remote device. Use Ctrl+C / Ctrl+V as normal while focused on the remote display.",
|
||
"remote_complete_title": "Remote Session Ready!",
|
||
"remote_complete_text": "Use the toolbar buttons for special keys (Ctrl+Alt+Del, PrintScreen) and monitor switching. Press Escape or click Disconnect to end the session.",
|
||
"org_overview_title": "Organizations",
|
||
"org_overview_text": "Organizations let you group users, devices, and policies. Each organization has its own admin, operators, and settings.",
|
||
"org_create_title": "Create Organization",
|
||
"org_create_text": "Click here to create a new organization. Provide a name, slug, and optional description. You will be the owner of the new organization.",
|
||
"org_members_title": "Manage Members",
|
||
"org_members_text": "Invite users by email, assign roles (admin, operator, user), and manage access. Members can see devices assigned to their organization.",
|
||
"org_devices_title": "Assign Devices",
|
||
"org_devices_text": "Add devices to the organization. Devices assigned here will inherit the organization's policies and be visible to its members.",
|
||
"org_policies_title": "Organization Policies",
|
||
"org_policies_text": "Set security policies like password requirements, session timeouts, 2FA enforcement, and device enrollment rules for the organization.",
|
||
"org_complete_title": "Organization Setup Complete!",
|
||
"org_complete_text": "Invite your team and assign devices to start using organization-scoped management. Policies apply automatically to all members.",
|
||
"cdap_devices_title": "CDAP Devices",
|
||
"cdap_devices_text": "View all connected CDAP devices — IoT sensors, PLCs, bridges, and custom agents. Green indicators show live connections.",
|
||
"cdap_widgets_title": "Widget Dashboard",
|
||
"cdap_widgets_text": "Widgets display real-time data from devices. Gauges, toggles, LEDs, charts — each widget type visualizes a different kind of data.",
|
||
"cdap_commands_title": "Send Commands",
|
||
"cdap_commands_text": "Interact with devices by sending commands. Some commands need confirmation. The command log keeps a history of all sent commands.",
|
||
"cdap_terminal_title": "Device Terminal",
|
||
"cdap_terminal_text": "Open a terminal session to CDAP agents for advanced diagnostics or manual configuration. Type commands directly.",
|
||
"cdap_complete_title": "CDAP Overview Complete!",
|
||
"cdap_complete_text": "Explore device widgets, send commands, and use the terminal or file browser for deeper management. CDAP agents report metrics automatically.",
|
||
"chat_contacts_title": "Contacts & Groups",
|
||
"chat_contacts_text": "See your contacts and chat groups. Click any contact to open a conversation. Green dots indicate online users.",
|
||
"chat_send_title": "Send Messages",
|
||
"chat_send_text": "Type your message and press Enter to send. Messages are end-to-end encrypted when both parties support E2E.",
|
||
"chat_file_title": "Share Files",
|
||
"chat_file_text": "Click the attachment icon to share files. Files are encrypted and can be up to 50 MB.",
|
||
"chat_complete_title": "Chat Ready!",
|
||
"chat_complete_text": "Chat with operators and end users in real time. Create groups for team communication. All messages support read receipts.",
|
||
"disable_tutorials": "Disable Tutorials",
|
||
"enable_tutorials": "Enable Tutorials"
|
||
},
|
||
"help_request": {
|
||
"title": "Help Requests",
|
||
"subtitle": "Manage incoming help requests from desktop clients",
|
||
"new_request": "New Help Request",
|
||
"device": "Device",
|
||
"hostname": "Hostname",
|
||
"message": "Message",
|
||
"status": "Status",
|
||
"pending": "Pending",
|
||
"accepted": "Accepted",
|
||
"resolved": "Resolved",
|
||
"accept": "Accept",
|
||
"resolve": "Resolve",
|
||
"no_requests": "No help requests",
|
||
"notification": "Help request received from",
|
||
"stats_total": "Total",
|
||
"filter_all": "All"
|
||
},
|
||
"organizations": {
|
||
"title": "Organizations",
|
||
"create": "Create Organization",
|
||
"edit": "Edit Organization",
|
||
"detail": "Organization Details",
|
||
"name": "Name",
|
||
"slug": "Slug (URL-safe)",
|
||
"logo_url": "Logo URL",
|
||
"users": "Users",
|
||
"devices": "Devices",
|
||
"invitations": "Invitations",
|
||
"settings": "Settings",
|
||
"add_user": "Add User",
|
||
"assign_device": "Assign Device",
|
||
"create_invitation": "Create Invitation",
|
||
"delete_confirm": "Delete this organization? This will remove all associated users, devices, and settings.",
|
||
"no_orgs": "No organizations yet",
|
||
"no_orgs_hint": "Create your first organization to start managing devices and users.",
|
||
"connection_policy": "Connection Policy",
|
||
"allow_file_transfer": "Allow File Transfer",
|
||
"allow_clipboard": "Allow Clipboard",
|
||
"max_session_duration": "Max Session Duration (min)",
|
||
"role_owner": "Owner",
|
||
"role_admin": "Administrador",
|
||
"role_operator": "Operator",
|
||
"role_user": "Membro",
|
||
"username": "Username",
|
||
"password": "Password",
|
||
"display_name": "Display Name",
|
||
"email": "Email",
|
||
"role": "Role",
|
||
"last_login": "Last Login",
|
||
"actions": "Actions",
|
||
"device_id": "Device ID",
|
||
"department": "Department",
|
||
"building": "Building",
|
||
"location": "Location",
|
||
"assigned_user": "Assigned User",
|
||
"token": "Token",
|
||
"expires": "Expires",
|
||
"used": "Used",
|
||
"no_users": "No users in this organization.",
|
||
"no_devices": "No devices assigned to this organization.",
|
||
"no_invitations": "No invitations.",
|
||
"user_added": "User added",
|
||
"user_removed": "User removed",
|
||
"user_updated": "User role updated",
|
||
"device_assigned": "Device assigned",
|
||
"device_unassigned": "Device unassigned",
|
||
"invitation_created": "Invitation created",
|
||
"settings_saved": "Settings saved",
|
||
"org_deleted": "Organization deleted",
|
||
"confirm_remove_user": "Remove this user from the organization?",
|
||
"confirm_unassign_device": "Unassign this device from the organization?",
|
||
"confirm_delete_org": "Delete this organization and all associated data?",
|
||
"edit_role": "Edit Role",
|
||
"raw_settings": "Raw Settings",
|
||
"key": "Key",
|
||
"value": "Value",
|
||
"save": "Save Settings",
|
||
"policy_unattended": "Unattended (instant)",
|
||
"policy_attended": "Attended (with confirmation)",
|
||
"policy_ask": "Always ask",
|
||
"expires_hours": "Expiration (hours)",
|
||
"loading_failed": "Failed to load organization data",
|
||
"name_slug_required": "Name and slug are required",
|
||
"org_created": "Organization created",
|
||
"org_updated": "Organization updated",
|
||
"create_new_user": "Create New",
|
||
"add_existing_user": "Add Existing",
|
||
"none_available": "none",
|
||
"select_user": "Select user",
|
||
"org_role": "Organization Role",
|
||
"link_user_hint": "Selected user will be linked to this organization using their server account credentials.",
|
||
"no_available_users": "All server users are already linked to this organization.",
|
||
"user_linked": "User linked to organization"
|
||
},
|
||
"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": "Device connected",
|
||
"device_disconnected": "Device disconnected",
|
||
"session_started": "Remote session started",
|
||
"session_ended": "Remote session ended",
|
||
"file_upload_complete": "File upload complete",
|
||
"settings_saved": "Settings saved",
|
||
"error_generic": "An error occurred",
|
||
"connection_lost": "Connection lost",
|
||
"reconnecting": "Reconnecting..."
|
||
},
|
||
"theme": {
|
||
"dark": "Dark",
|
||
"light": "Light",
|
||
"auto": "System",
|
||
"title": "Theme"
|
||
},
|
||
"days": {
|
||
"mon": "Mon",
|
||
"tue": "Tue",
|
||
"wed": "Wed",
|
||
"thu": "Thu",
|
||
"fri": "Fri",
|
||
"sat": "Sat",
|
||
"sun": "Sun"
|
||
},
|
||
"toolkit": {
|
||
"title": "Toolkit",
|
||
"subtitle": "Admin utilities and diagnostic tools",
|
||
"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": "Send",
|
||
"refresh": "Refresh",
|
||
"algorithm": "Algorithm",
|
||
"input_text": "Input Text",
|
||
"enter_text": "Enter text...",
|
||
"length": "Length",
|
||
"options": "Options",
|
||
"source": "Source",
|
||
"lines": "Lines",
|
||
"log_console": "Console",
|
||
"log_go": "Go Server",
|
||
"mac_address": "MAC Address",
|
||
"broadcast": "Broadcast",
|
||
"ping_title": "Ping",
|
||
"ping_desc": "Check host reachability and latency",
|
||
"tcp_title": "TCP Port Check",
|
||
"tcp_desc": "Test TCP port connectivity",
|
||
"ssl_title": "SSL Inspector",
|
||
"ssl_desc": "Inspect SSL/TLS certificate details",
|
||
"http_title": "HTTP Health Check",
|
||
"http_desc": "Verify HTTP endpoint status",
|
||
"dns_title": "DNS Lookup",
|
||
"dns_desc": "Resolve hostname to IP address",
|
||
"whois_title": "DNS Records",
|
||
"whois_desc": "Query A, AAAA, MX, TXT, NS records",
|
||
"speed_title": "Speed Test",
|
||
"speed_desc": "Measure download bandwidth",
|
||
"run_speed_test": "Run Speed Test",
|
||
"wol_title": "Wake-on-LAN",
|
||
"wol_desc": "Send magic packet to wake a device",
|
||
"wol_sent": "Magic packet sent",
|
||
"hash_title": "Hash Generator",
|
||
"hash_desc": "Generate cryptographic hashes",
|
||
"password_title": "Password Generator",
|
||
"password_desc": "Generate a secure random password",
|
||
"jwt_title": "JWT Decoder",
|
||
"jwt_desc": "Decode and inspect JSON Web Tokens",
|
||
"jwt_token": "JWT Token",
|
||
"base64_title": "Base64",
|
||
"base64_desc": "Encode or decode Base64 data",
|
||
"url_title": "URL Encoder",
|
||
"url_desc": "Encode or decode URL components",
|
||
"processes_title": "Process List",
|
||
"processes_desc": "View running system processes",
|
||
"disk_title": "Disk Usage",
|
||
"disk_desc": "View disk partition usage",
|
||
"db_title": "Database Stats",
|
||
"db_desc": "View database table statistics",
|
||
"docker_title": "Docker Containers",
|
||
"docker_desc": "View running Docker containers",
|
||
"logs_title": "Log Viewer",
|
||
"logs_desc": "View recent log output",
|
||
"ip_address": "IP",
|
||
"latency": "Latency",
|
||
"ttl": "TTL",
|
||
"status": "Status",
|
||
"resolved": "Resolved",
|
||
"subject": "Subject",
|
||
"issuer": "Issuer",
|
||
"valid_from": "Valid From",
|
||
"valid_to": "Valid To",
|
||
"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": "No data available",
|
||
"no_docker": "No Docker containers found or Docker not available",
|
||
"no_logs": "No log lines available"
|
||
},
|
||
"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": "Policy saved successfully",
|
||
"save_failed": "Failed to save policy",
|
||
"load_failed": "Failed to load policies"
|
||
},
|
||
"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": "Device marked as verified",
|
||
"verify_failed": "Failed to verify device",
|
||
"revoke_success": "Device attestation revoked",
|
||
"revoke_failed": "Failed to revoke attestation"
|
||
},
|
||
"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": "Manual Trigger",
|
||
"builder_node_trigger_schedule": "Schedule",
|
||
"builder_node_trigger_event": "Event Trigger",
|
||
"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": "Restart Svc",
|
||
"builder_node_action_file_deploy": "Deploy File",
|
||
"builder_node_action_message": "Send Message",
|
||
"builder_node_result_log": "Log Output",
|
||
"builder_node_result_alert": "Send Alert",
|
||
"builder_node_result_chain": "Chain Workflow",
|
||
"builder_node_transform_parse": "Parse JSON",
|
||
"builder_node_transform_filter": "Filter",
|
||
"builder_node_transform_delay": "Delay",
|
||
"select_org_placeholder": "Select organization…",
|
||
"all_types": "All Types",
|
||
"type_printer": "Printer",
|
||
"type_network_drive": "Network Drive",
|
||
"type_dns": "DNS Server",
|
||
"type_vpn": "VPN",
|
||
"type_proxy": "Proxy",
|
||
"add_resource": "Add Resource",
|
||
"edit_resource": "Edit Resource",
|
||
"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": "Address / Path",
|
||
"scope_org": "Organization",
|
||
"scope_group": "Group",
|
||
"scope_device": "Device",
|
||
"scope_value": "Scope Value",
|
||
"scope_value_hint": "Organization, group, or device ID",
|
||
"confirm_delete": "Are you sure you want to delete this item?",
|
||
"all_statuses": "All Statuses",
|
||
"status_pending": "Pending",
|
||
"status_running": "Running",
|
||
"status_success": "Success",
|
||
"status_failed": "Failed",
|
||
"search_tasks": "Search tasks…",
|
||
"create_task": "Create Task",
|
||
"edit_task": "Edit Task",
|
||
"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": "File Deploy",
|
||
"task_type_registry": "Registry",
|
||
"target_devices": "Target Devices",
|
||
"target_hint": "Device IDs or group names",
|
||
"schedule_immediate": "Immediate",
|
||
"schedule_once": "Once",
|
||
"schedule_cron": "Cron",
|
||
"cron_placeholder": "*/5 * * * *",
|
||
"script_content": "Script / Command",
|
||
"retry_count": "Retries",
|
||
"timeout_sec": "Timeout (s)",
|
||
"loading": "Loading",
|
||
"no_output": "No output available",
|
||
"error_loading": "Error loading data",
|
||
"select_workflow": "Select workflow…",
|
||
"new_workflow": "New",
|
||
"export": "Export",
|
||
"execute": "Execute",
|
||
"dry_run": "Dry Run",
|
||
"node_triggers": "Triggers",
|
||
"node_manual": "Manual Trigger",
|
||
"node_schedule": "Schedule",
|
||
"node_event": "Event Trigger",
|
||
"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": "Restart Svc",
|
||
"node_file_deploy": "Deploy File",
|
||
"node_send_message": "Send Message",
|
||
"node_results": "Results",
|
||
"node_log_output": "Log Output",
|
||
"node_send_alert": "Send Alert",
|
||
"node_chain": "Chain Workflow",
|
||
"node_transforms": "Transforms",
|
||
"node_parse_json": "Parse JSON",
|
||
"node_filter": "Filter",
|
||
"node_delay": "Delay",
|
||
"node_properties": "Properties",
|
||
"all_organizations": "All Organizations",
|
||
"scan_all": "Scan All",
|
||
"compliant": "Compliant",
|
||
"non_compliant": "Warning",
|
||
"critical_issues": "Critical",
|
||
"avg_score": "Avg. Score",
|
||
"col_device": "Device",
|
||
"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": "Run auto-remediation on this device?"
|
||
},
|
||
"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": "This list is informational. The relay servers actually used by clients are configured via the RELAY_SERVERS environment variable on the BetterDesk server.",
|
||
"relay_name_address_required": "Name and address are required.",
|
||
"relay_save_failed": "Failed to save relay node.",
|
||
"relay_delete_failed": "Failed to delete relay node.",
|
||
"relay_saved": "Relay node saved.",
|
||
"relay_deleted": "Relay node deleted.",
|
||
"rule_name_value_required": "Rule name and match value are required.",
|
||
"rule_save_failed": "Failed to save rule.",
|
||
"rule_delete_failed": "Failed to delete rule.",
|
||
"rule_saved": "Rule saved.",
|
||
"rule_deleted": "Rule deleted."
|
||
},
|
||
"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."
|
||
},
|
||
"security_audit": {
|
||
"title": "Security Audit",
|
||
"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": "WebSocket Secure",
|
||
"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": "Language Management",
|
||
"total_languages": "Total Languages",
|
||
"fully_translated": "Fully Translated",
|
||
"needs_review": "Needs Review",
|
||
"reference_keys": "Reference Keys",
|
||
"no_languages": "No language files found.",
|
||
"badge_reference": "Reference",
|
||
"badge_review": "Needs Review",
|
||
"badge_complete": "Complete",
|
||
"coverage": "coverage",
|
||
"keys": "keys",
|
||
"missing": "missing",
|
||
"extra": "extra",
|
||
"view_missing": "View Missing",
|
||
"fix_missing": "Fix Missing",
|
||
"missing_keys_for": "Missing keys for",
|
||
"missing_keys_count": "keys missing (English fallback values shown)",
|
||
"and_more": "and {n} more...",
|
||
"all_keys_present": "All keys are present!",
|
||
"confirm_fix": "Add missing keys to {code} with English fallback values?",
|
||
"fixed_title": "Keys Fixed",
|
||
"fixed_msg": "Added {n} missing keys to {code} with English fallback.",
|
||
"no_fix_needed": "No missing keys to fix."
|
||
},
|
||
"resource_control": {
|
||
"title": "Resource Control",
|
||
"tab_overview": "Overview",
|
||
"tab_usb": "USB Control",
|
||
"tab_optical": "Optical Drives",
|
||
"tab_monitors": "Monitors",
|
||
"tab_disks": "Disk Access",
|
||
"tab_quotas": "Resource Quotas",
|
||
"compliance_by_category": "Compliance by Category",
|
||
"device_compliance": "Device Compliance",
|
||
"search_devices": "Search devices...",
|
||
"col_device": "Device",
|
||
"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 Devices",
|
||
"stat_compliant": "Compliant",
|
||
"stat_partial": "Partial",
|
||
"stat_noncompliant": "Non-Compliant",
|
||
"stat_compliance_rate": "Compliance Rate",
|
||
"badge_na": "N/A",
|
||
"badge_compliant": "OK",
|
||
"badge_partial": "Partial",
|
||
"badge_noncompliant": "Fail",
|
||
"btn_configure": "Configure",
|
||
"no_devices": "No devices found",
|
||
"usb_title": "USB Port Control",
|
||
"usb_hint": "Control USB storage device access for the selected device or organization-wide default policy.",
|
||
"usb_storage_policy": "USB Storage Policy",
|
||
"usb_whitelist": "Whitelisted Devices (one per line)",
|
||
"usb_whitelist_hint": "VID:PID (e.g. 0781:5583)",
|
||
"usb_audit_log": "Log USB device connections",
|
||
"optical_title": "Optical Drive Control",
|
||
"optical_hint": "Control CD/DVD/Blu-ray drive access for the selected device.",
|
||
"optical_policy": "Optical Drive Policy",
|
||
"optical_audit_log": "Log optical drive access",
|
||
"monitors_title": "Monitor Management",
|
||
"monitors_hint": "Configure monitor settings including maximum count, resolution enforcement, brightness and power schedules.",
|
||
"monitors_max_count": "Maximum Monitors (0 = unlimited)",
|
||
"monitors_max_hint": "0 means no limit",
|
||
"monitors_resolution": "Max Resolution",
|
||
"monitors_brightness": "Brightness Limit",
|
||
"monitors_power_schedule": "Power Schedule",
|
||
"monitors_power_hint": "e.g. off:22:00-06:00",
|
||
"disks_title": "Disk Access Control",
|
||
"disks_hint": "Configure disk access policies including read-only mode, encryption enforcement, and partition visibility.",
|
||
"disks_readonly": "Force read-only mode",
|
||
"disks_encryption": "Require encryption (BitLocker/LUKS)",
|
||
"disks_smart": "Enable S.M.A.R.T. monitoring",
|
||
"disks_hidden": "Hidden Partitions",
|
||
"disks_hidden_hint": "Comma-separated drive letters or mount points",
|
||
"quotas_title": "Resource Quotas",
|
||
"quotas_hint": "Set per-user CPU, RAM, bandwidth, and disk quotas for the selected device.",
|
||
"quotas_cpu": "CPU Limit",
|
||
"quotas_ram": "RAM Limit",
|
||
"quotas_bandwidth": "Bandwidth Limit (Mbps)",
|
||
"quotas_bandwidth_hint": "0 = unlimited",
|
||
"quotas_disk_quota": "Disk Quota (GB)",
|
||
"quotas_disk_hint": "0 = unlimited",
|
||
"quotas_process_whitelist": "Process Whitelist (one per line)",
|
||
"quotas_process_hint": "e.g. chrome.exe, code.exe",
|
||
"policy_allowed": "Allowed",
|
||
"policy_blocked": "Blocked",
|
||
"policy_whitelist": "Whitelist Only",
|
||
"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": "Software Updates",
|
||
"desc": "Check for new versions and update the BetterDesk console from GitHub",
|
||
"current_version": "Installed version",
|
||
"latest_version": "Latest version",
|
||
"status": "Status",
|
||
"check_now": "Check for updates",
|
||
"checking": "Checking…",
|
||
"up_to_date": "Up to date",
|
||
"update_available": "Update available",
|
||
"changelog": "Release Notes",
|
||
"no_changelog": "No release notes available",
|
||
"files_changed": "Files changed",
|
||
"files": "files",
|
||
"changes_unavailable": "Could not load file change list. You can still install the update.",
|
||
"create_backup": "Create backup before updating",
|
||
"install": "Install Update",
|
||
"install_confirm": "Are you sure you want to install this update? The console will restart after the update.",
|
||
"installing": "Installing update…",
|
||
"creating_backup": "Creating backup…",
|
||
"downloading": "Downloading files…",
|
||
"install_success": "Update installed successfully. Console is restarting…",
|
||
"install_failed": "Update installation failed",
|
||
"restarting": "Waiting for console to restart…",
|
||
"restart_complete": "Console restarted successfully",
|
||
"restart_timeout": "Console did not restart in time. Please check manually.",
|
||
"no_version": "No update version selected. Check for updates first.",
|
||
"backups_title": "Update Backups",
|
||
"backups_desc": "Pre-update backups created automatically before each update",
|
||
"no_backups": "No update backups found",
|
||
"restore": "Restore",
|
||
"restore_confirm": "Are you sure you want to restore from this backup? Changed files will be overwritten.",
|
||
"restore_success": "Backup restored successfully. Console is restarting…",
|
||
"baseline_set": "Baseline set",
|
||
"commits_behind": "commits behind",
|
||
"total_files": "Total files",
|
||
"applied": "Applied",
|
||
"failed": "Failed",
|
||
"skipped": "Skipped",
|
||
"removed": "Removed",
|
||
"auto": "Auto",
|
||
"manual": "Manual",
|
||
"component_console": "Web Console",
|
||
"component_server": "Go Server",
|
||
"component_agent": "Agent",
|
||
"component_scripts": "Scripts & 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": "Checking Go…",
|
||
"go_not_found": "Go not installed",
|
||
"go_check_failed": "Could not check Go availability",
|
||
"server_building": "Compiling Go server… This may take a few minutes.",
|
||
"server_built": "Server binary compiled",
|
||
"server_build_failed": "Server compilation failed",
|
||
"server_deployed": "Server binary deployed",
|
||
"server_deploy_failed": "Server deploy failed",
|
||
"server_build_note": "Server compilation may take 1-5 minutes. The page will remain unresponsive during compilation.",
|
||
"server_source_downloading": "Downloading server source…",
|
||
"delete": "Delete",
|
||
"delete_confirm": "Permanently delete backup {name}? This cannot be undone.",
|
||
"delete_success": "Backup deleted",
|
||
"delete_failed": "Failed to delete backup",
|
||
"retention_label": "Keep N most recent backups",
|
||
"retention_hint": "Older backups are deleted automatically after each update. Use 0 to keep all backups.",
|
||
"retention_saved": "Retention setting saved",
|
||
"retention_invalid": "Retention must be an integer between 0 and 1000",
|
||
"retention_required_for_prune": "Set a retention value greater than 0 first",
|
||
"prune_now": "Apply now",
|
||
"prune_confirm": "Keep only the {n} most recent backups and delete the rest?",
|
||
"prune_done": "Pruned {n} backup(s)",
|
||
"total_size": "Total size",
|
||
"backups_count": "backup(s)",
|
||
"strategy_label": "Update method",
|
||
"strategy_download": "Download pre-built binary",
|
||
"strategy_compile": "Compile from source",
|
||
"both_available": "Download & Compile",
|
||
"download_available": "Download available",
|
||
"no_method": "No update method",
|
||
"no_release": "No release",
|
||
"available": "Available",
|
||
"server_downloading": "Downloading server binary…",
|
||
"server_downloaded": "Server binary downloaded",
|
||
"server_download_failed": "Server binary download failed",
|
||
"server_download_note": "A pre-built binary will be downloaded from GitHub Releases. This usually takes less than a minute.",
|
||
"install_go_hint": "Install Go from https://go.dev/dl/ to enable compilation, or publish a release with pre-built binaries",
|
||
"strategy_install_go": "Auto-install Go and compile",
|
||
"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": "Auto-rebuild ready",
|
||
"toolchain_ready": "Toolchain installed",
|
||
"toolchain_will_install": "Go toolchain will be installed automatically",
|
||
"toolchain_downloading": "Downloading Go toolchain…",
|
||
"toolchain_failed": "Go toolchain install failed",
|
||
"modal_title": "Installing update",
|
||
"modal_done_title": "Update complete",
|
||
"modal_close": "Close",
|
||
"modal_reload_now": "Reload console",
|
||
"phase_confirm": "Confirmation",
|
||
"phase_backup": "Backup",
|
||
"phase_console": "Console files",
|
||
"phase_server": "Go server",
|
||
"phase_restart": "Restart",
|
||
"phase_done": "Done",
|
||
"preparing": "Preparing…",
|
||
"backup_skipped": "Backup skipped (per user choice)",
|
||
"server_skipped": "Go server skipped",
|
||
"server_not_selected": "Go server not selected",
|
||
"server_processing": "Processing Go server update…",
|
||
"no_restart_needed": "No restart required",
|
||
"complete": "Update applied",
|
||
"complete_summary": "The update has been applied successfully.",
|
||
"complete_with_errors": "The update finished, but some steps failed. See details below.",
|
||
"modal_done_with_errors_title": "Update finished with errors",
|
||
"console_will_restart": "Console process will restart now…",
|
||
"restart_complete_msg": "The console finished restarting. Click reload to load the new version. The page will reload automatically in 8 seconds.",
|
||
"refresh_recommended": "Static assets changed — reload the page to see the new UI.",
|
||
"confirm_title": "Apply update",
|
||
"confirm_with_backup": "A pre-update backup will be created automatically.",
|
||
"confirm_no_backup": "No backup will be created (proceed at your own risk)."
|
||
},
|
||
"permissions": {
|
||
"title": "Permissions",
|
||
"subtitle": "Manage role-based permissions and custom overrides",
|
||
"info_title": "How permissions work",
|
||
"info_desc": "Each role has default permissions. You can add or remove individual permissions per role by toggling them below. Custom overrides are highlighted and can be reverted to defaults at any time.",
|
||
"select_role": "Select role",
|
||
"select_role_placeholder": "Choose a role...",
|
||
"reset_overrides": "Reset all overrides",
|
||
"granted": "Granted",
|
||
"overrides": "Overrides",
|
||
"level": "Level",
|
||
"super_admin_tag": "Full access",
|
||
"server_level_tag": "Server-level",
|
||
"custom": "Custom",
|
||
"default": "Default",
|
||
"revert": "Revert to default",
|
||
"saved": "Permission updated",
|
||
"reverted": "Reverted to default",
|
||
"all_reverted": "All overrides reverted",
|
||
"confirm_reset": "Reset all custom overrides for this role to defaults?",
|
||
"empty_title": "Select a role",
|
||
"empty_desc": "Choose a role from the dropdown above to view and manage its permissions.",
|
||
"locked_title": "Super Admin",
|
||
"locked_desc": "Super Admin has all permissions by default and cannot be customized.",
|
||
"cat_device": "Devices",
|
||
"cat_user": "Users",
|
||
"cat_server": "Server",
|
||
"cat_org": "Organizations",
|
||
"cat_audit": "Audit & Monitoring",
|
||
"cat_cdap": "CDAP",
|
||
"cat_enrollment": "Enrollment",
|
||
"cat_chat": "Chat",
|
||
"cat_branding": "Branding",
|
||
"perm_device_view": "View devices",
|
||
"perm_device_connect": "Connect to devices",
|
||
"perm_device_edit": "Edit devices",
|
||
"perm_device_delete": "Delete devices",
|
||
"perm_device_ban": "Ban / unban devices",
|
||
"perm_device_change_id": "Change device ID",
|
||
"perm_user_view": "View users",
|
||
"perm_user_create": "Create users",
|
||
"perm_user_edit": "Edit users",
|
||
"perm_user_delete": "Delete users",
|
||
"perm_server_config": "Server configuration",
|
||
"perm_server_keys": "Manage API keys",
|
||
"perm_org_create": "Create organizations",
|
||
"perm_org_edit": "Edit organizations",
|
||
"perm_org_delete": "Delete organizations",
|
||
"perm_org_manage_users": "Manage organization users",
|
||
"perm_org_manage_devices": "Manage organization devices",
|
||
"perm_audit_view": "View audit logs",
|
||
"perm_metrics_view": "View metrics",
|
||
"perm_blocklist_edit": "Edit blocklist",
|
||
"perm_cdap_view": "View CDAP devices",
|
||
"perm_cdap_command": "Send CDAP commands",
|
||
"perm_cdap_terminal": "CDAP terminal access",
|
||
"perm_cdap_files": "CDAP file access",
|
||
"perm_enrollment_manage": "Manage enrollment",
|
||
"perm_enrollment_approve": "Approve enrollment",
|
||
"perm_chat_access": "Chat access",
|
||
"perm_branding_edit": "Edit branding"
|
||
},
|
||
"notifications": {
|
||
"title": "Notifications",
|
||
"empty": "No new notifications",
|
||
"mark_all_read": "Mark all read",
|
||
"see_all": "See all help requests",
|
||
"help_request": "Help request",
|
||
"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": "Larger text, strong contrast and focus.",
|
||
"profile_dyslexia": "Reading comfort",
|
||
"profile_dyslexia_hint": "Readable font and wider spacing.",
|
||
"profile_motion_safe": "Motion safe",
|
||
"profile_motion_safe_hint": "Reduces transitions and pauses animation.",
|
||
"profile_color_assist": "Color support",
|
||
"profile_color_assist_hint": "Color filter, labels and highlighted links.",
|
||
"reading": "Leitura",
|
||
"font_size": "Tamanho do texto",
|
||
"line_height": "Altura da linha",
|
||
"letter_spacing": "Letter spacing",
|
||
"word_spacing": "Word spacing",
|
||
"readable_font": "Readable font",
|
||
"readable_font_hint": "Uses broad, familiar letter shapes.",
|
||
"dyslexia_spacing": "Dyslexia spacing",
|
||
"dyslexia_spacing_hint": "Adds extra spacing for long text.",
|
||
"visual": "Visual",
|
||
"contrast": "Contraste",
|
||
"contrast_normal": "Normal",
|
||
"contrast_high_dark": "High contrast dark",
|
||
"contrast_high_light": "High contrast light",
|
||
"contrast_yellow_black": "Yellow on black",
|
||
"color_filter": "Color vision filter",
|
||
"filter_none": "None",
|
||
"filter_protanopia": "Protanopia",
|
||
"filter_deuteranopia": "Deuteranopia",
|
||
"filter_tritanopia": "Tritanopia",
|
||
"filter_achromatopsia": "Achromatopsia",
|
||
"saturation": "Color saturation",
|
||
"underline_links": "Underline links",
|
||
"underline_links_hint": "Makes links visible without relying on color.",
|
||
"highlight_links": "Highlight actions",
|
||
"highlight_links_hint": "Outlines links and buttons.",
|
||
"highlight_headings": "Highlight headings",
|
||
"highlight_headings_hint": "Marks section titles with a color bar.",
|
||
"hide_media": "Dim media",
|
||
"hide_media_hint": "Dims images, videos and canvases.",
|
||
"interaction": "Interação",
|
||
"strong_focus": "Strong focus",
|
||
"strong_focus_hint": "Shows a large keyboard focus ring.",
|
||
"large_cursor": "Large cursor",
|
||
"large_cursor_hint": "Uses a larger high-contrast pointer.",
|
||
"reduce_motion": "Reduce motion",
|
||
"reduce_motion_hint": "Shortens transitions and smooth scrolling.",
|
||
"pause_animations": "Pause animations",
|
||
"pause_animations_hint": "Stops looping visual motion.",
|
||
"reading_guide": "Reading guide",
|
||
"reading_guide_hint": "Follows the pointer with a bright line.",
|
||
"reading_mask": "Reading mask",
|
||
"reading_mask_hint": "Dims content above and below the pointer.",
|
||
"preview": "Pré-visualização",
|
||
"preview_title": "Operator workspace preview",
|
||
"preview_text": "Check whether text, links, controls and status labels are comfortable to read before closing this menu.",
|
||
"preview_link": "Device details link",
|
||
"preview_status": "Online",
|
||
"preview_button": "Primary action",
|
||
"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": "Beta feature — under active development.",
|
||
"notice_title": "Beta feature",
|
||
"notice_body": "These tools run on the host where the BetterDesk console process lives. All operations are audited. Feature scope will expand in future releases.",
|
||
"tab_overview": "Visão geral",
|
||
"tab_terminal": "Terminal",
|
||
"tab_files": "Arquivos",
|
||
"tab_services": "Serviços",
|
||
"cpu": "CPU",
|
||
"memory": "Memória",
|
||
"load": "Load average",
|
||
"disks": "Discos",
|
||
"history": "History (last 60 samples)",
|
||
"host_info": "Host info",
|
||
"cores": "cores",
|
||
"uptime": "Tempo ativo",
|
||
"no_disks": "No disk data available",
|
||
"info_hostname": "Hostname",
|
||
"info_platform": "Platform",
|
||
"info_kernel": "Kernel",
|
||
"info_node": "Node.js",
|
||
"info_process_id": "Process ID",
|
||
"info_pty_available": "PTY available",
|
||
"term_connect": "Conectar",
|
||
"term_disconnect": "Desconectar",
|
||
"term_clear": "Clear",
|
||
"term_status": "Status",
|
||
"term_connecting": "Connecting…",
|
||
"term_connected": "Connected",
|
||
"term_disconnected": "Disconnected",
|
||
"term_error": "Connection error",
|
||
"term_warning": "Commands run as the user that owns the console process. Add a sudoers rule to enable elevation.",
|
||
"term_hint": "Tip: type `sudo -i` to escalate (requires sudoers configuration).",
|
||
"term_lib_failed": "Failed to load terminal library",
|
||
"files_up": "Up one level",
|
||
"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": "Empty directory",
|
||
"files_error": "Failed to list directory",
|
||
"read_failed": "Failed to read file",
|
||
"save_failed": "Failed to save file",
|
||
"rename_failed": "Rename failed",
|
||
"delete_failed": "Delete failed",
|
||
"delete_confirm": "Delete this entry?",
|
||
"mkdir_prompt": "New folder name:",
|
||
"mkdir_failed": "Failed to create folder",
|
||
"file_saved": "File saved",
|
||
"binary_warn": "Binary file — preview only",
|
||
"encoding_utf8": "UTF-8 text",
|
||
"truncated": "truncated",
|
||
"full": "full",
|
||
"svc_search_placeholder": "Search services…",
|
||
"svc_name": "Serviço",
|
||
"svc_state": "Estado",
|
||
"svc_description": "Description",
|
||
"svc_empty": "No services found",
|
||
"svc_load_failed": "Failed to load services",
|
||
"svc_action_failed": "Action failed",
|
||
"svc_confirm": "Run",
|
||
"svc_start": "Iniciar",
|
||
"svc_stop": "Parar",
|
||
"svc_restart": "Reiniciar",
|
||
"svc_reload": "Reload",
|
||
"svc_enable": "Enable",
|
||
"svc_disable": "Disable",
|
||
"svc_status": "Status"
|
||
}
|
||
}
|