diff --git a/assets/translations/strings_br.i18n.json b/assets/translations/strings_br.i18n.json new file mode 100644 index 00000000..5f6c5d24 --- /dev/null +++ b/assets/translations/strings_br.i18n.json @@ -0,0 +1,387 @@ +{ + "general": { + "appTitle": "Hiddify", + "reset": "Resetar", + "toggle": { + "enabled": "Habilitado", + "disabled": "Desabilitado" + }, + "state": { + "disable": "Desabilitar" + }, + "sort": "Ordenar", + "sortBy": "Ordenar por", + "addToClipboard": "Adicionar á área de transferência", + "notSet": "Não definido", + "agree": "Aceito", + "decline": "Recusar", + "unknown": "Desconhecido", + "hidden": "Escondido", + "timeout": "Tempo esgotado" + }, + "intro": { + "termsAndPolicyCaution(rich)": "Caso continue você aceita os termos de condição ${tap(@:about.termsAndConditions)}", + "start": "Iniciar" + }, + "home": { + "pageTitle": "Home", + "emptyProfilesMsg": "Nenhum perfil encontrado", + "noActiveProfileMsg": "Escolha um perfil", + "connection": { + "tapToConnect": "Toque para conectar", + "connecting": "Conectando", + "disconnecting": "Desconenctando", + "connected": "Conectado", + "experimentalNotice": "Funções experimentais em uso", + "experimentalNoticeMsg": "Você está usando funções experimentais. Elas podem não funcionar corretamente.", + "disableExperimentalNotice": "Não mostrar novamente" + }, + "stats": { + "traffic": "Tráfego", + "trafficTotal": "Tráfego total", + "uplink": "Uplink", + "downlink": "Downlink", + "connection": "Conexão" + } + }, + "profile": { + "overviewPageTitle": "Perfis", + "detailsPageTitle": "Detalhes do perfil", + "activeProfileNameSemanticLabel": "Perfil ativo: \"${name}\".", + "activeProfileBtnSemanticLabel": "Veja todos os perfis.", + "nonActiveProfileBtnSemanticLabel": "Selecione o perfil \"${name}\" como ativo.", + "subscription": { + "traffic": "Tráfego", + "updatedTimeAgo": "Atualizado a ${timeago}", + "remainingDuration": "${duration} Dias restantes", + "remainingTrafficSemanticLabel": "Foi consumido ${consumed} de ${total}.", + "expired": "Expirado", + "noTraffic": "Sem tráfego", + "upload": "Upload", + "download": "Download", + "total": "Tráfego total", + "expireDate": "Expira em" + }, + "sortBy": { + "lastUpdate": "Última atualização", + "name": "Alfabética" + }, + "add": { + "buttonText": "Novo Perfil", + "shortBtnTxt": "Novo Perfil", + "fromClipboard": "Colar da área de transferência", + "scanQr": "Escaniar QR Code", + "qrScanner": { + "permissionDeniedError": "Permissão negada para acessar a câmera", + "unexpectedError": "Algo deu errado", + "torchSemanticLabel": "Lanterna ligada", + "facingSemanticLabel": "Alternar câmera" + }, + "manually": "Manualmente", + "addingProfileMsg": "Adicionando perfil", + "failureMsg": "Falha ao adicionar perfil" + }, + "update": { + "buttonTxt": "Atualizar", + "tooltip": "Atualizar perfil", + "updateSubscriptions": "Atuliazar assinaturas", + "failureMsg": "Falha ao atualizar perfil", + "successMsg": "Perfil atualizado com sucesso", + "namedFailureMsg": "Falha ao atualizar \"${name}\"", + "namedSuccessMsg": "\"${name}\" atualizado com sucesso" + }, + "share": { + "buttonText": "Compartilhar", + "exportToClipboardSuccess": "Perfil exportado para a área de transferência", + "exportSubLinkToClipboard": "Exportar link de assinatura para a área de transferência", + "subLinkQrCode": "QR Code do link de assinatura", + "exportConfigToClipboard": "Exportar configuração para a área de transferência", + "exportConfigToClipboardSuccess": "Configuração exportada para a área de transferência" + }, + "edit": { + "buttonTxt": "Editar", + "selectActiveTxt": "Selecionar como perfil ativo" + }, + "delete": { + "buttonTxt": "Deletar", + "confirmationMsg": "Deletar perfil permanentemente?", + "successMsg": "Perfil deletado com sucesso" + }, + "save": { + "buttonText": "Salvar", + "successMsg": "Perfil salvo com sucesso", + "failureMsg": "Falha ao salvar perfil" + }, + "detailsForm": { + "nameLabel": "Nome", + "nameHint": "Nome do perfil", + "urlLabel": "URL", + "urlHint": "Toda cofiguração de URL", + "emptyNameMsg": "O nome não pode ser vazio", + "invalidUrlMsg": "URL inválida", + "lastUpdate": "Última atualização", + "updateInterval": "Autilização automática", + "updateIntervalDialogTitle": "Intervalo de atualização (em horas)" + }, + "proxies": { + "pageTitle": "Proxies", + "emptyProxiesMsg": "Nenhum proxy encontrado", + "delayTestTooltip": "Testar delay", + "sortTooltip": "Ordenar proxies", + "checkIp": "Checar IP", + "unknownIp": "IP desconhecido", + "sortOptions": { + "unsorted": "Padrão", + "name": "Alfabética", + "delay": "Por delay" + }, + "activeProxySemanticLabel": "Proxy ativo", + "delaySemantics": { + "result": "delay: ${delay}ms", + "timeout": "delay: tempo esgotado.", + "testing": "delay: testando..." + }, + "ipInfoSemantics": { + "address": "Endereço IP", + "country": "País" + }, + "statsSemantics": { + "speed": "Velocidade", + "totalTransferred": "Total transferido" + } + } + }, + "logs": { + "pageTitle": "Logs", + "filterHint": "Filtro", + "allLevelsFilter": "Todos", + "shareCoreLogs": "Compartilhar logs do core", + "shareAppLogs": "Compartilhar logs do App", + "pauseTooltip": "Pausar", + "resumeTooltip": "Continuar", + "clearTooltip": "Limpar" + }, + "settings": { + "pageTitle": "Configurações", + "requiresRestartMsg": "Para aplicar o efeito, reinicie o aplicativo", + "experimental": "Experimental", + "experimentalMsg": "Funções experimentais podem não funcionar corretamente.", + "general": { + "sectionTitle": "Geral", + "locale": "Linguagens", + "region": "Região", + "regionMsg": "Escolha a região para obter melhores resultados de conexão", + "regions": { + "ir": "Irã (ir)", + "cn": "China (cn)", + "ru": "Russia (ru)", + "af": "Afeganistão (af)", + "other": "Outros" + }, + "themeMode": "Temas", + "themeModes": { + "system": "Mesmo tema do sistema", + "dark": "Modo escuro", + "light": "Modo claro", + "black": "Modo preto" + }, + "enableAnalytics": "Habilitar análise", + "enableAnalyticsMsg": "Ajude a melhorar o aplicativo enviando dados de uso", + "autoStart": "Iniciar com o sistema", + "silentStart": "Iniciar silenciosamente (Em segundo plano)", + "openWorkingDir": "Abrir diretório de trabalho", + "ignoreBatteryOptimizations": "Desabilitar otimizações de bateria", + "ignoreBatteryOptimizationsMsg": "Remova as restrições de otimização de VPN", + "dynamicNotification": "Mostre a velocidade da conexão na notificação", + "hapticFeedback": "Feedback tátil", + "autoIpCheck": "Checar IP automaticamente" + }, + "advanced": { + "sectionTitle": "Avançado", + "debugMode": "Modo de depuração", + "debugModeMsg": "Para aplicar o modo de depuração, reinicie o aplicativo", + "memoryLimit": "Limite de memória", + "memoryLimitMsg": "Ative-o se estiver enfrentando erros de falta de memória ou falhas frequentes no aplicativo", + "resetTunnel": "Resetar Perfil de VPN" + }, + "network": { + "perAppProxyPageTitle": "Per-app proxy", + "perAppProxyModes": { + "off": "Todos", + "offMsg": "Proxy para todos os aplicativos", + "include": "Proxy", + "includeMsg": "Proxy para aplicativos selecionados", + "exclude": "Bypass", + "excludeMsg": "Sem proxy para aplicativos selecionados" + }, + "showSystemApps": "Mostrar aplicativos do sistema", + "hideSystemApps": "Ocultar aplicativos do sistema", + "clearSelection": "Limpar seleção" + }, + "config": { + "resetBtn": "Resetar opções", + "serviceMode": "Modo de serviço", + "serviceModes": { + "proxy": "Serviço de proxy apenas (Padrão)", + "systemProxy": "Definir como proxy do sistema", + "tun": "VPN", + "tunService": "Serviço de VPN" + }, + "section": { + "route": "Opções de rota", + "dns": "Opções de DNS", + "inbound": "Oções de entrada", + "mux": "Multiplexador", + "outbound": "Opções de saída", + "tlsTricks": "Dicas de TLS", + "warp": "Opções de WARP", + "misc": "Opções miscelâneas" + }, + "warpConsent": { + "title": "Consentimento WARP da Cloudflare", + "description(rich)": "O Cloudflare WARP é um provedor de VPN WireGuard gratuito. Ao ativar essa opção, você concorda com os ${tos(Termos de Serviço)} e ${privacy(Política de Privacidade)} do Cloudflare WARP." + }, + "generateWarpConfig": "Gerar configurações de WARP ", + "missingWarpConfig": "Configurações de WARP ausentes", + "pageTitle": "Opções de configuração", + "logLevel": "Log Level", + "resolveDestination": "Resolver destino", + "ipv6Mode": "Rota IPv6", + "ipv6Modes": { + "disable": "Desabilitar", + "enable": "Habilitar", + "prefer": "Preferir", + "only": "Exclusivo" + }, + "remoteDnsAddress": "DNS Remota", + "remoteDnsDomainStrategy": "Estratégia de domínio DNS remoto", + "directDnsAddress": "DNS Direto", + "directDnsDomainStrategy": "Estratégia de domínio DNS direto", + "mixedPort": "Porta mista", + "localDnsPort": "Porta DNS local", + "allowConnectionFromLan": "Permitir conexão da LAN", + "tunImplementation": "TUN Implementação", + "mtu": "MTU", + "connectionTestUrl": "URL de teste de conexão", + "urlTestInterval": "URL de teste de intervalo", + "enableClashApi": "Habilitar Clash API", + "clashApiPort": "Porta da API Clash", + "enableTun": "Habilitar TUN", + "setSystemProxy": "Definir Proxy do sistema", + "enableDnsRouting": "Habilitar DNS Routing", + "enableFakeDns": "Habilitar Fake DNS", + "bypassLan": "Bypass Lan", + "strictRoute": "Rota estrita", + "enableTlsFragment": "Habilitar TLS Fragment", + "tlsFragmentSize": "Tamanho do fragmento TLS", + "tlsFragmentSleep": "Tempo de espera do fragmento TLS", + "enableTlsMixedSniCase": "Habilitar TLS Mixed SNI Case", + "enableTlsPadding": "Habilitar TLS Padding", + "tlsPaddingSize": "TLS Padding", + "enableMux": "Habilitar Mux", + "muxProtocol": "Mux Protocol", + "muxMaxStreams": "Max Concurrent Streams", + "enableWarp": "Habilitar WARP", + "warpDetourMode": "Modo de Desvio", + "warpDetourModes": { + "inbound": "Desvio do WARP através de proxies", + "outbound": "Desvio de proxies através do WARP" + }, + "warpLicenseKey": "Chave de licença", + "warpCleanIp": "IP Limpo", + "warpPort": "Porta", + "warpNoise": "Ruido WARP" + }, + "geoAssets": { + "pageTitle": "Roteamento de ativos", + "geoip": "Geoip", + "geosite": "Geosite", + "version": "Versão ${version}", + "fileMissing": "Arquivo ausente", + "update": "Update", + "download": "Download", + "failureMsg": "Falha ao atualizar ativos", + "successMsg": "Ativos atualizados com sucesso", + "addRecommended": "Adicionar recomendados", + "missingGeoAssetsMsg": "Os arquivos dos ativos de roteamento selecionados estão faltando. Faça o download deles ou escolha os existentes." + } + }, + "about": { + "pageTitle": "Sobre", + "version": "Versão", + "sourceCode": "Código fonte", + "telegramChannel": "Canal do Telegram", + "checkForUpdate": "Checar atualizações", + "privacyPolicy": "Política de privacidade", + "termsAndConditions": "Termos e condições" + }, + "appUpdate": { + "notAvailableMsg": "Nenhuma atualização disponível", + "dialogTitle": "Atualização disponível", + "updateMsg": "Uma nova versão do @:general.appTitle está disponível. Deseja atualizar agora?", + "currentVersionLbl": "Versão atual", + "newVersionLbl": "Nova versão", + "updateNowBtnTxt": "Atualizar agora", + "laterBtnTxt": "Mais tarde", + "ignoreBtnTxt": "Ignorar" + }, + "tray": { + "dashboard": "Dashboard", + "quit": "Sair", + "open": "Abrir", + "status": { + "connect": "Conectar", + "connecting": "Conectando", + "disconnect": "Desconectar", + "disconnecting": "Desconectando" + } + }, + "failure": { + "unexpected": "Erro inesperado", + "clash": { + "unexpected": "Erro inesperado", + "core": "Erro de Clash ${reason}" + }, + "singbox": { + "unexpected": "Erro de Serviço Inesperado", + "serviceNotRunning": "O serviço não está em execução", + "missingPrivilege": "Privilégio Ausente", + "missingPrivilegeMsg": "O modo VPN requer privilégios de administrador. Reinicie o aplicativo como administrador ou altere o modo de serviço.", + "missingGeoAssets": "Ativos de Geolocalização Ausentes", + "missingGeoAssetsMsg": "Os ativos de geolocalização estão ausentes. Considere alterar o ativo ativo ou fazer o download do selecionado nas configuraçõe.", + "invalidConfigOptions": "Opções de configuração inválidas", + "invalidConfig": "Configuração Inválida", + "create": "Erro na criação do serviço", + "start": "Erro ao iniciar o serviço" + }, + "connectivity": { + "unexpected": "Falha inesperada", + "missingVpnPermission": "Permissão VPN ausente", + "missingNotificationPermission": "Permissão de notificação ausente", + "core": "Erro no núcleo" + }, + "profiles": { + "unexpected": "Erro inesperado", + "notFound": "Perfil não encontrado", + "invalidConfig": "Configurações inválidas", + "invalidUrl": "URL inválida" + }, + "connection": { + "unexpected": "Erro de conexão inesperado", + "timeout": "Tempo limite de conexão", + "badResponse": "Resposta inválida", + "connectionError": "Erro de conexão", + "badCertificate": "Certificado inválido" + }, + "geoAssets": { + "unexpected": "Erro inesperado", + "notUpdate": "Nenhuma atualização disponível", + "activeNotFound": "Ativo de geolocalização ativo não encontrado" + } + }, + "play": { + "title": "Hiddify (Preview)", + "short_description": "Auto, SSH, VLESS, Vmess, Trojan, Reality, Sing-Box, Clash, Xray, Shadowsocks", + "full_description": "O objetivo principal do Hiddify é fornecer um cliente de túnel seguro, fácil de usar e eficiente. Ele permite rotear todo o tráfego ou o tráfego de aplicativos selecionados para um servidor remoto de sua escolha, utilizando a permissão de serviço VPN.\n\nObservação: Não fornecemos nenhum servidor; os usuários devem garantir que suas atividades online permaneçam privadas usando seu próprio servidor hospedado ou servidores confiáveis.\n\nSuportamos servidores com:\n- Link de assinatura normal V2ray/Xray\n- Link de assinatura Clash\n- Link de assinatura Sing-Box\n\nQuais são nossos recursos exclusivos?\n- Fácil de usar\n- Otimizado e rápido\n- Seleção automática de LowestPing\n- Mostra informações de uso do usuário\n- Importação fácil de sublink com um clique usando deeplinking\n- Gratuito e sem anúncios\n- Alternar facilmente entre sublinks de usuário\n- E muito mais\n\nSuporte:\n- Todos os protocolos suportados pelo Sing-Box\n- VLESS + xtls reality, vision\n- VMESS\n- Trojan\n- ShoadowSocks\n- Reality\n- V2ray\n- Hystria2\n- TUIC\n- SSH\n- ShadowTLS\n\n\nO código-fonte está disponível em https://github.com/hiddify/Hiddify-Next\nO núcleo do aplicativo é baseado no open-source sing-box.\n\nDescrição das permissões:\n- Serviço VPN: Como o objetivo deste aplicativo é fornecer um cliente de túnel seguro, fácil de usar e eficiente, precisamos dessa permissão para rotear o tráfego por meio do túnel para o servidor remoto.\n- CONSULTAR TODOS OS PACOTES: Essa permissão é usada para permitir que os usuários incluam ou excluam aplicativos específicos para o túnel.\n- RECEBER INICIALIZAÇÃO DO DISPOSITIVO: Essa permissão pode ser ativada ou desativada nas configurações do aplicativo para ativar este aplicativo durante a inicialização do dispositivo.\n- ENVIAR NOTIFICAÇÕES: Essa permissão é essencial, pois usamos um serviço em primeiro plano para garantir a operação contínua do serviço VPN.\n- Este aplicativo é livre de anúncios. Os dados de análise e falhas ocorrem apenas com o consentimento explícito do usuário no primeiro uso do aplicativo." + } +} \ No newline at end of file