From 261306dc6353c1f67fb9667db5e83cb77c457525 Mon Sep 17 00:00:00 2001 From: Rafael Fontenelle Date: Fri, 27 Jun 2025 17:56:56 -0300 Subject: [PATCH] Add Brazilian Portuguese translation (#726) * Create pt-br.json Signed-off-by: Rafael Fontenelle * Enable pt-br locale Signed-off-by: Rafael Fontenelle * Fix language code Signed-off-by: Rafael Fontenelle * Update and rename pt-br.json to pt-BR.json Signed-off-by: Rafael Fontenelle * Update lib/localization/locales/pt-BR.json Co-authored-by: Victor Fernandes Signed-off-by: Rafael Fontenelle --------- Signed-off-by: Rafael Fontenelle Co-authored-by: Victor Fernandes --- lib/localization/locales/manifest.json | 2 +- lib/localization/locales/pt-BR.json | 63 ++++++++++++++++++++++++++ 2 files changed, 64 insertions(+), 1 deletion(-) create mode 100644 lib/localization/locales/pt-BR.json diff --git a/lib/localization/locales/manifest.json b/lib/localization/locales/manifest.json index e7d6e6d..aa1341d 100644 --- a/lib/localization/locales/manifest.json +++ b/lib/localization/locales/manifest.json @@ -1,3 +1,3 @@ { - "supportedLanguages": ["en", "fr", "es"] + "supportedLanguages": ["en", "fr", "es", "pt-BR"] } diff --git a/lib/localization/locales/pt-BR.json b/lib/localization/locales/pt-BR.json new file mode 100644 index 0000000..ec84096 --- /dev/null +++ b/lib/localization/locales/pt-BR.json @@ -0,0 +1,63 @@ +{ + "loading": "Carregando...", + "why_am_i_seeing": "Por que estou vendo isso?", + "protected_by": "Protegido por", + "made_with": "Feito com ❤️ no 🇨🇦", + "mascot_design": "Design do mascote por", + "ai_companies_explanation": "Você está vendo isso porque o administrador deste site configurou Anubis para proteger o servidor contra a praga de empresas de IA que realizam scraping agressivo em sites. Isso pode causar, e de fato causa, inoperância nos sites, o que torna seus recursos inacessíveis para todos.", + "anubis_compromise": "O Anubis é um meio-termo. Ele utiliza um esquema de Prova de Trabalho (Proof-of-Work) semelhante ao Hashcash, um esquema de Prova de Trabalho proposto para reduzir spam de e-mail. A ideia é que, em escalas individuais, a carga adicional seja insignificante, mas em níveis em massa de scrapers, ela se acumula e torna o scraping muito mais custoso.", + "hack_purpose": "Em última análise, este é um hack cujo propósito real é fornecer uma solução \"boa o suficiente\" para que mais tempo possa ser gasto na identificação de navegadores sem interface (por exemplo: por meio de como eles fazem a renderização de fontes), para que a página do desafio da prova de trabalho não precise ser apresentada a usuários que têm muito mais probabilidade de serem legítimos.", + "jshelter_note": "Observe que o Anubis requer o uso de recursos JavaScript modernos que plugins como o JShelter desabilitarão. Desabilite o JShelter ou outros plugins semelhantes para este domínio.", + "version_info": "Este site está usando o Anubis versão", + "try_again": "Tente novamente", + "go_home": "Início", + "contact_webmaster": "ou se você acredita que não deveria estar bloqueado, contate o webmaster em", + "connection_security": "Por favor, aguarde um momento enquanto nós garantimos a segurança de sua conexão.", + "javascript_required": "Infelizmente, você deve habilitar JavaScript para passar por este desafio. Isso é necessário porque empresas de IA alteraram o contrato social sobre como a hospedagem de sites funciona. Uma solução que não use JavaScript ainda está sendo desenvolvida.", + "benchmark_requires_js": "Para executar a ferramenta de benchmark, é necessário que o JavaScript esteja habilitado.", + "difficulty": "Dificuldade:", + "algorithm": "Algoritmo:", + "compare": "Comparar:", + "time": "Tempo", + "iters": "Iteração", + "time_a": "Tempo A", + "iters_a": "Iteração A", + "time_b": "Tempo B", + "iters_b": "Iteração B", + "static_check_endpoint": "Este é apenas um ponto de verificação para seu proxy reverso usar.", + "authorization_required": "Autorização necessária", + "cookies_disabled": "Seu navegador está configurado para desabilitar cookies. O Anubis requer cookies para o interesse legítimo de garantir que você seja um cliente válido. Habilite os cookies para este domínio.", + "access_denied": "Acesso negado: código de errado", + "dronebl_entry": "DroneBL relatou uma entrada", + "see_dronebl_lookup": "consulte", + "internal_server_error": "Erro interno do servidor: o administrador configurou incorretamente o Anubis. Entre em contato com o administrador e peça para ele procurar os logs em torno dele.", + "invalid_redirect": "Redirecionamento inválido", + "redirect_not_parseable": "URL de redirecionamento não analisável", + "redirect_domain_not_allowed": "Domínio de redirecionamento não permitido", + "failed_to_sign_jwt": "falha ao assinar JWT", + "invalid_invocation": "Invocação inválida de MakeChallenge", + "client_error_browser": "Erro do cliente: verifique se seu navegador está atualizado e tente novamente mais tarde..", + "oh_noes": "Ah, não!", + "benchmarking_anubis": "Fazendo benchmark do Anubis!", + "you_are_not_a_bot": "Você não é um bot!", + "making_sure_not_bot": "Certificando de que você não é um bot!", + "celphase": "CELPHASE", + "js_web_crypto_error": "Seu navegador não possui um elemento web.crypto funcional. Você está visualizando isso em um contexto seguro?", + "js_web_workers_error": "Seu navegador não oferece suporte a web workers (o Anubis usa isso para evitar que seu navegador trave). Você tem um plugin como o JShelter instalado?", + "js_cookies_error": "Seu navegador não armazena cookies. O Anubis usa cookies para determinar quais clientes passaram nos desafios, armazenando um token assinado em um cookie. Habilite o armazenamento de cookies para este domínio. Os nomes dos cookies armazenados pelo Anubis podem variar sem aviso prévio. Os nomes e valores dos cookies não fazem parte da API pública.", + "js_context_not_secure": "Seu contexto não é seguro!", + "js_context_not_secure_msg": "Tente conectar-se via HTTPS ou avise o administrador para configurar o HTTPS. Para mais informações, consulte o MDN.", + "js_calculating": "Calculando...", + "js_missing_feature": "Faltando recurso", + "js_challenge_error": "Erro no desafio!", + "js_challenge_error_msg": "Falha ao resolver o algoritmo de verificação. Talvez seja necessário recarregar a página.", + "js_calculating_difficulty": "Calculando...
Dificuldade:", + "js_speed": "Velocidade:", + "js_verification_longer": "A verificação está demorando mais do que o esperado. Não atualize a página.", + "js_success": "Sucesso!", + "js_done_took": "Feito! Levou", + "js_iterations": "iterações", + "js_finished_reading": "Terminei de ler, continue →", + "js_calculation_error": "Erro de cálculo!", + "js_calculation_error_msg": "Falha ao calcular o desafio:" +}