From 661231c09b611fb42b6171ec9d9557377682239e Mon Sep 17 00:00:00 2001 From: Guilherme S Date: Sun, 31 Jul 2022 20:25:30 -0300 Subject: [PATCH 1/2] feat(translation): add pt-br --- .../src/main/java/jadx/gui/utils/NLS.java | 1 + .../resources/i18n/Messages_pt_BR.properties | 311 ++++++++++++++++++ 2 files changed, 312 insertions(+) create mode 100644 jadx-gui/src/main/resources/i18n/Messages_pt_BR.properties diff --git a/jadx-gui/src/main/java/jadx/gui/utils/NLS.java b/jadx-gui/src/main/java/jadx/gui/utils/NLS.java index 9d91fd10520..7432b204e84 100644 --- a/jadx-gui/src/main/java/jadx/gui/utils/NLS.java +++ b/jadx-gui/src/main/java/jadx/gui/utils/NLS.java @@ -37,6 +37,7 @@ public class NLS { LANG_LOCALES.add(new LangLocale("es", "ES")); LANG_LOCALES.add(new LangLocale("de", "DE")); LANG_LOCALES.add(new LangLocale("ko", "KR")); + LANG_LOCALES.add(new LangLocale("pt", "BR")); LANG_LOCALES.forEach(NLS::load); diff --git a/jadx-gui/src/main/resources/i18n/Messages_pt_BR.properties b/jadx-gui/src/main/resources/i18n/Messages_pt_BR.properties new file mode 100644 index 00000000000..585260290dc --- /dev/null +++ b/jadx-gui/src/main/resources/i18n/Messages_pt_BR.properties @@ -0,0 +1,311 @@ +language.name=Português + +menu.file=Arquivo +menu.view=Ver +menu.recent_projects=Projetos recentes +menu.no_recent_projects=Nenhum projeto recente +menu.preferences=Preferências +menu.sync=Sincronizar com editor +menu.flatten=Mostrar pacotes achatados +menu.heapUsageBar=Mostrar uso de memória +menu.alwaysSelectOpened=Sempre selecionar arquivo/classe aberta +menu.navigation=Navegação +menu.text_search=Buscar por texto +menu.class_search=Buscar por classe +menu.comment_search=Busca por comentário +menu.tools=Ferramentas +menu.deobfuscation=Desofuscar +menu.log=Visualizador de log +menu.help=Ajuda +menu.about=Sobre +menu.update_label=Nova versão %s disponível! + +file.open_action=Abrir arquivos... +file.add_files_action=Adicionar arquivos +file.open_title=Abrir arquivo +file.new_project=Novo projeto +file.save_project=Salvar projeto +file.save_project_as=Salvar projeto como... +file.reload=Recarregar arquivos +file.live_reload=Recarregar em tempo real +file.live_reload_desc=Recarregar arquivos automaticamente ao serem alterados +file.export_mappings_as=Exportar mappings como... +file.save_all=Salvar tudo +file.export_gradle=Salvar como um projeto gradle +file.save_all_msg=Selecionar diretório para salvar arquivos descompilados +file.exit=Sair + +tree.sources_title=Código fonte +tree.resources_title=Recursos +tree.loading=Carregando... + +progress.load=Carregando +progress.export_mappings=Exportando mappings +progress.decompile=Descompilando +progress.canceling=Cancelando + +error_dialog.title=Erro + +search.previous=Anterior +search.next=Próximo +search.mark_all=Marcar todos +search.regex=Regex +search.match_case=Match Case +search.whole_word=Palavra inteira +search.find=Encontrar + +tabs.copy_class_name=Copiar nome +tabs.close=Fechar +tabs.closeOthers=Fechar outros +tabs.closeAll=Fechar todos +tabs.code=Código +tabs.smali=Smali + +nav.back=Voltar +nav.forward=Avançar + +message.taskTimeout=Tarefa excedeu limite de tempo de %d ms. +message.userCancelTask=Tarefa foi cancelada pelo usuário. +message.memoryLow=Jadx está rodando com pouca memória. Por favor reinicie com um limite de memória heap maior. +message.taskError=Tarefa falhou com erro (cheque o log para detalhes). +message.errorTitle=Erro +message.load_errors=Carregamento falhou.\nNúmero de erros: %d\nClique em ok para abrir o visualizador de log. +message.no_classes=Nenhuma classe carregada, nada para ser descompilado! + +message.saveIncomplete=Operação não foi completa.
%s
%d classes ou recursos não foram salvos! +message.indexIncomplete=Indexação de algumas classes foram ignoradas.
%s
%d classes não foram indexadas não vão aparecer nos resultados de busca! +message.indexingClassesSkipped=Jadx está rodando com pouca memória. Por conta disso, %d classes não foram indexadas.
Se você deseja que todas classes sejam indexadas, reinicie com um limite de memória heap maior. + +heapUsage.text=Uso de memória do JADX: %.2f GB of %.2f GB + +common_dialog.ok=Ok +common_dialog.cancel=Cancelar +common_dialog.add=Adicionar +common_dialog.update=Atualizar +common_dialog.remove=Remover + +file_dialog.supported_files=Arquivos suportados +file_dialog.load_dir_title=Carregar diretório +file_dialog.load_dir_confirm=Carregar todos arquivos do diretório? + +search_dialog.open=Abrir +search_dialog.cancel=Cancelar +search_dialog.open_by_name=Buscar por text: +search_dialog.search_in=Buscar definições de: +search_dialog.class=Classe +search_dialog.method=Método +search_dialog.field=Propriedade +search_dialog.code=Código +search_dialog.options=Opções de busca: +search_dialog.ignorecase=Não diferencia maiúsculas de minúsculas +search_dialog.load_more=Carregar mais +search_dialog.load_all=Carregar todas +search_dialog.results_incomplete=Encontradas %d+ +search_dialog.results_complete=Encontradas %d (complete) +search_dialog.col_node=Nó +search_dialog.col_code=Código +search_dialog.regex=Regex +search_dialog.active_tab=Apenas abas ativas +search_dialog.comments=Comentários +search_dialog.resource=Recursos +search_dialog.keep_open=Manter aberto +search_dialog.tip_searching=Buscando + +usage_dialog.title=Busca por utilização +usage_dialog.label=Usado por: + +comment_dialog.title.add=Adicionar comentário ao código +comment_dialog.title.update=Atualizar comentário do código +comment_dialog.label=Comentário: +comment_dialog.usage=Use Shift + Enter para pular uma linha + +log_viewer.title=Visualizador de log +log_viewer.log_level=Nível do log: + +about_dialog.title=Sobre o JADX + +preferences.title=Preferências +preferences.deobfuscation=Desofuscar +preferences.appearance=Aparência +preferences.decompile=Descompilação +preferences.plugins=Plugins +preferences.project=Projeto +preferences.other=Outro +preferences.language=Idioma +preferences.lineNumbersMode=Modo do contador de linhas do editor +preferences.jumpOnDoubleClick=Ativar salto no duplo clique +preferences.check_for_updates=Verificar por atualizações ao inicializar +preferences.useDx=Usar dx/d8 para converter bytecode Java +preferences.decompilationMode=Modo de descompilação +preferences.codeCacheMode=Modo de cachê do código +preferences.showInconsistentCode=Mostrar código inconsistent +preferences.escapeUnicode=Escapar unicode +preferences.replaceConsts=Substituir constantes +preferences.respectBytecodeAccessModifiers=Respeitar modificadores de acesso do bytecode +preferences.useImports=Utilizar declaração de imports +preferences.useDebugInfo=Utilizar informação de depuração +preferences.inlineAnonymous=Classes anônimas de uma linha +preferences.inlineMethods=Métodos de uma linha +preferences.extractFinally=Extrair blocos finally +preferences.fsCaseSensitive=Sistema de arquivo diferencia maiúsculas de minúsculas +preferences.skipResourcesDecode=Não decodificar recursos +preferences.useKotlinMethodsForVarNames=Usar métodos do kotlin para renomear variáveis +preferences.commentsLevel=Nível de comentários do código +preferences.autoSave=Salvar automaticamente +preferences.threads=Número de threads no processo +preferences.excludedPackages=Pacotes ignorados +preferences.excludedPackages.tooltip=Lista espaço de pacotes que não vão ser descompilados ou indexados (economiza RAM) +preferences.excludedPackages.button=Editar +preferences.excludedPackages.editDialog=Lista espaço de pacotes que não vão ser descompilados ou indexados (economiza RAM)
ex: android.support +preferences.cfg=Gera gráficos de métodos CFG no formato de pontos ('dot') +preferences.raw_cfg=Gera gráficos CFG no formato RAW +preferences.font=Fonte do editor +preferences.smali_font=Fonte do editor de smali +preferences.laf_theme=Tema +preferences.theme=Tema do editor +preferences.start_jobs=Inicializar descompilação automaticamente em segundo-plano +preferences.select_font=Alterar +preferences.select_smali_font=Alterar +preferences.deobfuscation_on=Ativar desofuscação +preferences.deobfuscation_map_file_mode=Modo do arquivo Map +preferences.deobfuscation_min_len=Tamanho mínimo do nome +preferences.deobfuscation_max_len=Tamanho máximo do nome +preferences.deobfuscation_source_alias=Utilizar nome do arquivo como apelido da classe +preferences.deobfuscation_kotlin_metadata=Parsear metadados do kotlin para nome de classes e pacotes +preferences.deobfuscation_res_name_source=Melhora nome da fonte dos recursos +preferences.save=Salvar +preferences.cancel=Cancelar +preferences.reset=Redefinir +preferences.reset_message=Redefinir configurações para o padrão? +preferences.reset_title=Redefinir configurações +preferences.copy=Copy to clipboard +preferences.copy_message=Todas configurações foram copiadas para área de transferência +preferences.rename=Renomear identificadores +preferences.rename_case=Corrigir problemas de capitalização (case sensitivity) +preferences.rename_valid=Deixá-las válidas +preferences.rename_printable=Deixá-las imprimíveis (printable) +preferences.search_res_title=Buscar recursos +preferences.res_file_ext=Extensões de arquivos (ex: .xml|.html), * significa todas +preferences.res_skip_file=Pular arquivos excedidos + +msg.open_file=Abra um arquivo +msg.saving_sources=Salvando recursos +msg.language_changed_title=Idioma alterado +msg.language_changed=Novo idioma será mostrado na próxima inicialização. +msg.project_error_title=Erro +msg.project_error=Projeto não pôde ser carregado +msg.cmd_select_class_error=Falha ao selecionar classe\n%s\nA classe não existe. +msg.cant_add_comment=Não é possível adicionar comentários aqui + +popup.bytecode_col=Mostrar Dalvik Bytecode +popup.line_wrap=Quebra de linha +popup.undo=Desfazer +popup.redo=Refazer +popup.cut=Cortar +popup.copy=Copiar +popup.paste=Colar +popup.delete=Apagar +popup.select_all=Selecionar todos +popup.frida=Copiar como snippet frida +popup.xposed=Copiar como snippet xposed +popup.find_usage=Buscar uso +popup.go_to_declaration=Ir para declaração +popup.exclude=Ignorar +popup.exclude_packages=Pacotes ignorados +popup.add_comment=Comentar +popup.search_comment=Buscar comentários +popup.rename=Renomear +popup.search=Buscar "%s" +popup.search_global=Busca global "%s" + +exclude_dialog.title=Selecionar pacote +exclude_dialog.ok=OK +exclude_dialog.select_all=Selecionar tudo +exclude_dialog.deselect=Remover seleção +exclude_dialog.invert=Inverter + +confirm.save_as_title=Confirmar operação +confirm.save_as_message=%s Já existe.\nVocê deseja substituir? +confirm.not_saved_title=Salvar projeto +confirm.not_saved_message=Salvar projeto atual antes de continuar? + +certificate.cert_type=Tipo +certificate.serialSigVer=Versão +certificate.serialNumber=Número de série (serial) +certificate.cert_subject=Remetente +certificate.serialValidFrom=Válido de +certificate.serialValidUntil=Válido até +certificate.serialPubKeyType=Tipo de chave pública +certificate.serialPubKeyExponent=Expoente +certificate.serialPubKeyModulus=Módulo +certificate.serialPubKeyModulusSize=Tamanho do módulo (bits) +certificate.serialSigType=Tipo de assinatura +certificate.serialSigOID=Assinatura OID +certificate.serialMD5=Assinatura digital MD5 +certificate.serialSHA1=Assinatura digital SHA-1 +certificate.serialSHA256=Assinatura digital SHA-256 +certificate.serialPubKeyY=Y + +apkSignature.signer=Assinador +apkSignature.verificationSuccess=Verificação de assinatura bem-sucedida +apkSignature.verificationFailed=Verificação de assinatura falhou +apkSignature.signatureSuccess=Assinatura válida de apk v%d encontrada +apkSignature.signatureFailed=Assinatura inválida de apk v%d encontrada +apkSignature.errors=Erros +apkSignature.warnings=Avisos +apkSignature.exception=Verificação do APK falhou +apkSignature.unprotectedEntry=Arquivos que não são protegidos pela assinatura v1. Modificações não autorizadas a essas entradas só podem ser detectadas por uma assinatura de versão 2 ou maior. + +issues_panel.label=Problemas: +issues_panel.errors=%d error +issues_panel.warnings=%d avisos +issues_panel.tooltip=Abrir no visualizador de log + +debugger.process_selector=Selecionar um processo para depurar +debugger.step_into=Passar para próxima chamada de função (F7) +debugger.step_over=Passar sobre próxima chamada de função (F8) +debugger.step_out=Sair da função atual (Shift + F8) +debugger.run=Executar (F9) +debugger.stop=Parar depurador e matar o aplicativo +debugger.pause=Pausar +debugger.rerun=Reexecutar +debugger.cfm_dialog_title=Sair enquanto depura +debugger.cfm_dialog_msg=Você tem certeza de que deseja terminar o depurador? + +debugger.popup_set_value=Definir valor +debugger.popup_change_to_zero=Alterar para 0 +debugger.popup_change_to_one=Alterar para 1 +debugger.popup_copy_value=Copiar valor + +set_value_dialog.label_value=Valor +set_value_dialog.btn_set=Definir Valor +set_value_dialog.title=Definir Valor +set_value_dialog.neg_msg=Falha ao definir valor. +set_value_dialog.sel_type=Selecionar um tipo para definir valor. + +.addr=Endereço do ADB +adb_dialog.port=Porta do ADB +adb_dialog.path=Caminho do ADB +adb_dialog.launch_app=Iniciar Aplicativo +adb_dialog.start_server=Iniciar servidor ADB +adb_dialog.refresh=Recarregar +adb_dialog.tip_devices=%d dispositivos +adb_dialog.device_node=dispositivo +adb_dialog.missing_path=Caminho do ADB deve ser especificado para iniciar o servidor. +adb_dialog.waiting=Aguardando para conectar no servidor ADB... +adb_dialog.connecting=Conectando ao servidor ADB, endereço: %s:%s... +adb_dialog.connect_okay=Servidor ADB conectado, endereço: %s:%s +adb_dialog.connect_fail=Falha ao se conectar ao servidor ADB. +adb_dialog.disconnected=Servidor ADB desconectado. +adb_dialog.start_okay=Servidor ADB inicializado na porta: %s. +adb_dialog.start_fail=Falha ao iniciar servidor ADB na porta: %s! +adb_dialog.forward_fail=Falha ao encaminhar por um motivo não especificado. +adb_dialog.being_debugged_msg=Esse processo parece estar sendo depurado, deseja continuar? +adb_dialog.unknown_android_ver=Falha ao obter versão do Android, deseja usar o Android 8 como padrão? +adb_dialog.being_debugged_title=Está sendo depurado por outro processo. +adb_dialog.init_dbg_fail=Falha ao iniciar depurador. +adb_dialog.msg_read_mani_fail=Falha ao decodificar AndroidManifest.xml +adb_dialog.no_devices=Não foi possível encontrar nenhum dispositivo para iniciar o aplicativo. +adb_dialog.restart_while_debugging_title=Reiniciar enquanto depura +adb_dialog.restart_while_debugging_msg=Você está depurando um aplicativo, você tem certeza que deseja reiniciar a sessão? +adb_dialog.starting_debugger=Iniciando depurador... From 55fa234e2cbc5ddf546903edd36fd60b3820cfdf Mon Sep 17 00:00:00 2001 From: Guilherme S Date: Sun, 31 Jul 2022 20:42:06 -0300 Subject: [PATCH 2/2] fix: `adb_dialog` prefix deleted --- jadx-gui/src/main/resources/i18n/Messages_pt_BR.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jadx-gui/src/main/resources/i18n/Messages_pt_BR.properties b/jadx-gui/src/main/resources/i18n/Messages_pt_BR.properties index 585260290dc..a577f34db3b 100644 --- a/jadx-gui/src/main/resources/i18n/Messages_pt_BR.properties +++ b/jadx-gui/src/main/resources/i18n/Messages_pt_BR.properties @@ -283,7 +283,7 @@ set_value_dialog.title=Definir Valor set_value_dialog.neg_msg=Falha ao definir valor. set_value_dialog.sel_type=Selecionar um tipo para definir valor. -.addr=Endereço do ADB +adb_dialog.addr=Endereço do ADB adb_dialog.port=Porta do ADB adb_dialog.path=Caminho do ADB adb_dialog.launch_app=Iniciar Aplicativo