- Replace all hardcoded English strings with TR() translation keys across every tab, dialog, and component (~20 UI files) - Expand all 8 language files (de, es, fr, ja, ko, pt, ru, zh) with complete translations (~37k lines added) - Improve i18n loader with exe-relative path fallback and English base fallback for missing keys - Add pool-side hashrate polling via pool stats API in xmrig_manager - Introduce Layout::beginFrame() per-frame caching and refresh balance layout config only on schema generation change - Offload daemon output parsing to worker thread - Add CJK subset fallback font for Chinese/Japanese/Korean glyphs
647 lines
29 KiB
Python
647 lines
29 KiB
Python
#!/usr/bin/env python3
|
|
"""Generate Portuguese (pt) translations for ObsidianDragon wallet."""
|
|
import json, os
|
|
|
|
translations = {
|
|
"24h_change": "Variação 24h",
|
|
"24h_volume": "Volume 24h",
|
|
"about": "Sobre",
|
|
"about_block_explorer": "Explorador de Blocos",
|
|
"about_block_height": "Altura do Bloco:",
|
|
"about_build_date": "Data de Compilação:",
|
|
"about_build_type": "Tipo de Build:",
|
|
"about_chain": "Chain:",
|
|
"about_connections": "Conexões:",
|
|
"about_credits": "Créditos",
|
|
"about_daemon": "Daemon:",
|
|
"about_debug": "Depuração",
|
|
"about_dragonx": "Sobre o ObsidianDragon",
|
|
"about_edition": "Edição ImGui",
|
|
"about_github": "GitHub",
|
|
"about_imgui": "ImGui:",
|
|
"about_license": "Licença",
|
|
"about_license_text": "Este software é disponibilizado sob a Licença Pública Geral GNU v3 (GPLv3). Você é livre para usar, modificar e distribuir este software sob os termos da licença.",
|
|
"about_peers_count": "%zu pares",
|
|
"about_release": "Versão",
|
|
"about_title": "Sobre o ObsidianDragon",
|
|
"about_version": "Versão:",
|
|
"about_website": "Website",
|
|
"acrylic": "Acrílico",
|
|
"add": "Adicionar",
|
|
"address": "Endereço",
|
|
"address_book_add": "Adicionar Endereço",
|
|
"address_book_add_new": "Adicionar Novo",
|
|
"address_book_added": "Endereço adicionado ao livro",
|
|
"address_book_count": "%zu endereços salvos",
|
|
"address_book_deleted": "Entrada excluída",
|
|
"address_book_edit": "Editar Endereço",
|
|
"address_book_empty": "Nenhum endereço salvo. Clique em 'Adicionar Novo' para criar um.",
|
|
"address_book_exists": "Endereço já existe no livro",
|
|
"address_book_title": "Livro de Endereços",
|
|
"address_book_update_failed": "Falha na atualização - endereço pode ser duplicado",
|
|
"address_book_updated": "Endereço atualizado",
|
|
"address_copied": "Endereço copiado para a área de transferência",
|
|
"address_details": "Detalhes do Endereço",
|
|
"address_label": "Endereço:",
|
|
"address_upper": "ENDEREÇO",
|
|
"address_url": "URL do Endereço",
|
|
"addresses_appear_here": "Seus endereços de recebimento aparecerão aqui após a conexão.",
|
|
"advanced": "AVANÇADO",
|
|
"all_filter": "Todos",
|
|
"allow_custom_fees": "Permitir taxas personalizadas",
|
|
"amount": "Valor",
|
|
"amount_details": "DETALHES DO VALOR",
|
|
"amount_exceeds_balance": "Valor excede o saldo",
|
|
"amount_label": "Valor:",
|
|
"appearance": "APARÊNCIA",
|
|
"auto_shield": "Auto-blindar mineração",
|
|
"available": "Disponível",
|
|
"backup_backing_up": "Fazendo backup...",
|
|
"backup_create": "Criar Backup",
|
|
"backup_created": "Backup da carteira criado",
|
|
"backup_data": "BACKUP & DADOS",
|
|
"backup_description": "Crie um backup do seu arquivo wallet.dat. Este arquivo contém todas as suas chaves privadas e histórico de transações. Guarde o backup em um local seguro.",
|
|
"backup_destination": "Destino do backup:",
|
|
"backup_tip_external": "Armazene backups em unidades externas ou armazenamento em nuvem",
|
|
"backup_tip_multiple": "Crie múltiplos backups em diferentes locais",
|
|
"backup_tip_test": "Teste a restauração do backup periodicamente",
|
|
"backup_tips": "Dicas:",
|
|
"backup_title": "Backup da Carteira",
|
|
"backup_wallet": "Fazer Backup da Carteira...",
|
|
"backup_wallet_not_found": "Aviso: wallet.dat não encontrado no local esperado",
|
|
"balance": "Saldo",
|
|
"balance_layout": "Layout do Saldo",
|
|
"ban": "Banir",
|
|
"banned_peers": "Pares Banidos",
|
|
"block": "Bloco",
|
|
"block_bits": "Bits:",
|
|
"block_click_next": "Clique para ver o próximo bloco",
|
|
"block_click_prev": "Clique para ver o bloco anterior",
|
|
"block_explorer": "Explorador de Blocos",
|
|
"block_get_info": "Obter Info do Bloco",
|
|
"block_hash": "Hash do Bloco:",
|
|
"block_height": "Altura do Bloco:",
|
|
"block_info_title": "Informações do Bloco",
|
|
"block_merkle_root": "Raiz Merkle:",
|
|
"block_nav_next": "Próximo >>",
|
|
"block_nav_prev": "<< Anterior",
|
|
"block_next": "Próximo Bloco:",
|
|
"block_previous": "Bloco Anterior:",
|
|
"block_size": "Tamanho:",
|
|
"block_timestamp": "Carimbo de Data:",
|
|
"block_transactions": "Transações:",
|
|
"blockchain_syncing": "Blockchain sincronizando (%.1f%%)... Os saldos podem ser imprecisos.",
|
|
"cancel": "Cancelar",
|
|
"characters": "caracteres",
|
|
"clear": "Limpar",
|
|
"clear_all_bans": "Remover Todos os Banimentos",
|
|
"clear_form_confirm": "Limpar todos os campos do formulário?",
|
|
"clear_request": "Limpar Solicitação",
|
|
"click_copy_address": "Clique para copiar o endereço",
|
|
"click_copy_uri": "Clique para copiar a URI",
|
|
"close": "Fechar",
|
|
"conf_count": "%d conf.",
|
|
"confirm_and_send": "Confirmar & Enviar",
|
|
"confirm_send": "Confirmar Envio",
|
|
"confirm_transaction": "Confirmar Transação",
|
|
"confirmations": "Confirmações",
|
|
"confirmations_display": "%d confirmações | %s",
|
|
"confirmed": "Confirmado",
|
|
"connected": "Conectado",
|
|
"connected_peers": "Pares Conectados",
|
|
"connecting": "Conectando...",
|
|
"console": "Console",
|
|
"console_auto_scroll": "Rolagem automática",
|
|
"console_available_commands": "Comandos disponíveis:",
|
|
"console_capturing_output": "Capturando saída do daemon...",
|
|
"console_clear": "Limpar",
|
|
"console_clear_console": "Limpar Console",
|
|
"console_cleared": "Console limpo",
|
|
"console_click_commands": "Clique nos comandos acima para inseri-los",
|
|
"console_click_insert": "Clique para inserir",
|
|
"console_click_insert_params": "Clique para inserir com parâmetros",
|
|
"console_close": "Fechar",
|
|
"console_commands": "Comandos",
|
|
"console_common_rpc": "Comandos RPC comuns:",
|
|
"console_completions": "Completações:",
|
|
"console_connected": "Conectado ao daemon",
|
|
"console_copy_all": "Copiar Tudo",
|
|
"console_copy_selected": "Copiar",
|
|
"console_daemon": "Daemon",
|
|
"console_daemon_error": "Erro do daemon!",
|
|
"console_daemon_started": "Daemon iniciado",
|
|
"console_daemon_stopped": "Daemon parado",
|
|
"console_disconnected": "Desconectado do daemon",
|
|
"console_errors": "Erros",
|
|
"console_filter_hint": "Filtrar saída...",
|
|
"console_help_clear": " clear - Limpar o console",
|
|
"console_help_getbalance": " getbalance - Mostrar saldo transparente",
|
|
"console_help_getblockcount": " getblockcount - Mostrar altura atual do bloco",
|
|
"console_help_getinfo": " getinfo - Mostrar informações do nó",
|
|
"console_help_getmininginfo": " getmininginfo - Mostrar status da mineração",
|
|
"console_help_getpeerinfo": " getpeerinfo - Mostrar pares conectados",
|
|
"console_help_gettotalbalance": " gettotalbalance - Mostrar saldo total",
|
|
"console_help_help": " help - Mostrar esta mensagem de ajuda",
|
|
"console_help_setgenerate": " setgenerate - Controlar mineração",
|
|
"console_help_stop": " stop - Parar o daemon",
|
|
"console_line_count": "%zu linhas",
|
|
"console_new_lines": "%d novas linhas",
|
|
"console_no_daemon": "Sem daemon",
|
|
"console_not_connected": "Erro: Não conectado ao daemon",
|
|
"console_rpc_reference": "Referência de Comandos RPC",
|
|
"console_scanline": "Scanline do console",
|
|
"console_search_commands": "Pesquisar comandos...",
|
|
"console_select_all": "Selecionar Tudo",
|
|
"console_show_daemon_output": "Mostrar saída do daemon",
|
|
"console_show_errors_only": "Mostrar apenas erros",
|
|
"console_show_rpc_ref": "Mostrar referência de comandos RPC",
|
|
"console_showing_lines": "Mostrando %zu de %zu linhas",
|
|
"console_starting_node": "Iniciando nó...",
|
|
"console_status_error": "Erro",
|
|
"console_status_running": "Em execução",
|
|
"console_status_starting": "Iniciando",
|
|
"console_status_stopped": "Parado",
|
|
"console_status_stopping": "Parando",
|
|
"console_status_unknown": "Desconhecido",
|
|
"console_tab_completion": "Tab para completar",
|
|
"console_type_help": "Digite 'help' para comandos disponíveis",
|
|
"console_welcome": "Bem-vindo ao Console ObsidianDragon",
|
|
"console_zoom_in": "Aumentar zoom",
|
|
"console_zoom_out": "Diminuir zoom",
|
|
"copy": "Copiar",
|
|
"copy_address": "Copiar Endereço Completo",
|
|
"copy_error": "Copiar Erro",
|
|
"copy_to_clipboard": "Copiar para Área de Transferência",
|
|
"copy_txid": "Copiar TxID",
|
|
"copy_uri": "Copiar URI",
|
|
"current_price": "Preço Atual",
|
|
"custom_fees": "Taxas personalizadas",
|
|
"dark": "Escuro",
|
|
"date": "Data",
|
|
"date_label": "Data:",
|
|
"delete": "Excluir",
|
|
"difficulty": "Dificuldade",
|
|
"disconnected": "Desconectado",
|
|
"dismiss": "Dispensar",
|
|
"display": "Exibição",
|
|
"dragonx_green": "DragonX (Verde)",
|
|
"edit": "Editar",
|
|
"error": "Erro",
|
|
"est_time_to_block": "Tempo Est. por Bloco",
|
|
"exit": "Sair",
|
|
"explorer": "EXPLORADOR",
|
|
"export": "Exportar",
|
|
"export_csv": "Exportar CSV",
|
|
"export_keys_btn": "Exportar Chaves",
|
|
"export_keys_danger": "PERIGO: Isto exportará TODAS as chaves privadas da sua carteira! Qualquer pessoa com acesso a este arquivo pode roubar seus fundos. Guarde com segurança e exclua após o uso.",
|
|
"export_keys_include_t": "Incluir endereços T (transparentes)",
|
|
"export_keys_include_z": "Incluir endereços Z (blindados)",
|
|
"export_keys_options": "Opções de exportação:",
|
|
"export_keys_success": "Chaves exportadas com sucesso",
|
|
"export_keys_title": "Exportar Todas as Chaves Privadas",
|
|
"export_private_key": "Exportar Chave Privada",
|
|
"export_tx_count": "Exportar %zu transações para arquivo CSV.",
|
|
"export_tx_file_fail": "Falha ao criar arquivo CSV",
|
|
"export_tx_none": "Nenhuma transação para exportar",
|
|
"export_tx_success": "Transações exportadas com sucesso",
|
|
"export_tx_title": "Exportar Transações para CSV",
|
|
"export_viewing_key": "Exportar Chave de Visualização",
|
|
"failed_create_shielded": "Falha ao criar endereço blindado",
|
|
"failed_create_transparent": "Falha ao criar endereço transparente",
|
|
"fee": "Taxa",
|
|
"fee_high": "Alta",
|
|
"fee_label": "Taxa:",
|
|
"fee_low": "Baixa",
|
|
"fee_normal": "Normal",
|
|
"fetch_prices": "Buscar preços",
|
|
"file": "Arquivo",
|
|
"file_save_location": "O arquivo será salvo em: ~/.config/ObsidianDragon/",
|
|
"font_scale": "Escala da Fonte",
|
|
"from": "De",
|
|
"from_upper": "DE",
|
|
"full_details": "Detalhes Completos",
|
|
"general": "Geral",
|
|
"go_to_receive": "Ir para Receber",
|
|
"height": "Altura",
|
|
"help": "Ajuda",
|
|
"hide": "Ocultar",
|
|
"history": "Histórico",
|
|
"immature_type": "Imaturo",
|
|
"import": "Importar",
|
|
"import_key_btn": "Importar Chave(s)",
|
|
"import_key_formats": "Formatos de chave suportados:",
|
|
"import_key_full_rescan": "(0 = rescan completo)",
|
|
"import_key_label": "Chave(s) Privada(s):",
|
|
"import_key_no_valid": "Nenhuma chave válida encontrada na entrada",
|
|
"import_key_rescan": "Reescanear blockchain após importação",
|
|
"import_key_start_height": "Altura inicial:",
|
|
"import_key_success": "Chaves importadas com sucesso",
|
|
"import_key_t_format": "Chaves privadas WIF de endereços T",
|
|
"import_key_title": "Importar Chave Privada",
|
|
"import_key_tooltip": "Digite uma ou mais chaves privadas, uma por linha.\nSuporta chaves de z-endereço e t-endereço.\nLinhas começando com # são tratadas como comentários.",
|
|
"import_key_warning": "Aviso: Nunca compartilhe suas chaves privadas! Importar chaves de fontes não confiáveis pode comprometer sua carteira.",
|
|
"import_key_z_format": "Chaves de gasto de z-endereço (secret-extended-key-...)",
|
|
"import_private_key": "Importar Chave Privada...",
|
|
"invalid_address": "Formato de endereço inválido",
|
|
"ip_address": "Endereço IP",
|
|
"keep": "Manter",
|
|
"keep_daemon": "Manter daemon em execução",
|
|
"key_export_fetching": "Buscando chave da carteira...",
|
|
"key_export_private_key": "Chave Privada:",
|
|
"key_export_private_warning": "Mantenha esta chave em SEGREDO! Qualquer pessoa com esta chave pode gastar seus fundos. Nunca a compartilhe online ou com terceiros não confiáveis.",
|
|
"key_export_reveal": "Revelar Chave",
|
|
"key_export_viewing_key": "Chave de Visualização:",
|
|
"key_export_viewing_warning": "Esta chave de visualização permite que outros vejam suas transações recebidas e saldo, mas NÃO gastem seus fundos. Compartilhe apenas com partes confiáveis.",
|
|
"label": "Rótulo:",
|
|
"language": "Idioma",
|
|
"light": "Claro",
|
|
"loading": "Carregando...",
|
|
"loading_addresses": "Carregando endereços...",
|
|
"local_hashrate": "Hashrate Local",
|
|
"low_spec_mode": "Modo econômico",
|
|
"market": "Mercado",
|
|
"market_12h": "12h",
|
|
"market_18h": "18h",
|
|
"market_24h": "24h",
|
|
"market_24h_volume": "VOLUME 24H",
|
|
"market_6h": "6h",
|
|
"market_attribution": "Dados de preço do NonKYC",
|
|
"market_btc_price": "PREÇO BTC",
|
|
"market_cap": "Capitalização",
|
|
"market_no_history": "Nenhum histórico de preços disponível",
|
|
"market_no_price": "Sem dados de preço",
|
|
"market_now": "Agora",
|
|
"market_pct_shielded": "%.0f%% Blindado",
|
|
"market_portfolio": "PORTFÓLIO",
|
|
"market_price_unavailable": "Dados de preço indisponíveis",
|
|
"market_refresh_price": "Atualizar dados de preço",
|
|
"market_trade_on": "Negociar no %s",
|
|
"mature": "Maduro",
|
|
"max": "Máx",
|
|
"memo": "Memo (opcional, criptografado)",
|
|
"memo_label": "Memo:",
|
|
"memo_optional": "MEMO (OPCIONAL)",
|
|
"memo_upper": "MEMO",
|
|
"memo_z_only": "Nota: Memos só estão disponíveis ao enviar para endereços blindados (z)",
|
|
"merge_description": "Fundir múltiplos UTXOs em um único endereço blindado. Isso pode ajudar a reduzir o tamanho da carteira e melhorar a privacidade.",
|
|
"merge_funds": "Fundir Fundos",
|
|
"merge_started": "Operação de fusão iniciada",
|
|
"merge_title": "Fundir para Endereço",
|
|
"mine_when_idle": "Minerar quando ocioso",
|
|
"mined": "minerado",
|
|
"mined_filter": "Minerado",
|
|
"mined_type": "Minerado",
|
|
"mined_upper": "MINERADO",
|
|
"miner_fee": "Taxa de Minerador",
|
|
"mining": "Mineração",
|
|
"mining_active": "Ativo",
|
|
"mining_address_copied": "Endereço de mineração copiado",
|
|
"mining_all_time": "Todo o Tempo",
|
|
"mining_already_saved": "URL do pool já salva",
|
|
"mining_block_copied": "Hash do bloco copiado",
|
|
"mining_chart_1m_ago": "1m atrás",
|
|
"mining_chart_5m_ago": "5m atrás",
|
|
"mining_chart_now": "Agora",
|
|
"mining_chart_start": "Início",
|
|
"mining_click": "Clique",
|
|
"mining_click_copy_address": "Clique para copiar o endereço",
|
|
"mining_click_copy_block": "Clique para copiar o hash do bloco",
|
|
"mining_click_copy_difficulty": "Clique para copiar a dificuldade",
|
|
"mining_connected": "Conectado",
|
|
"mining_connecting": "Conectando...",
|
|
"mining_control": "Controle de Mineração",
|
|
"mining_difficulty_copied": "Dificuldade copiada",
|
|
"mining_est_block": "Bloco Est.",
|
|
"mining_est_daily": "Est. Diário",
|
|
"mining_filter_all": "Todos",
|
|
"mining_filter_tip_all": "Mostrar todos os ganhos",
|
|
"mining_filter_tip_pool": "Mostrar apenas ganhos do pool",
|
|
"mining_filter_tip_solo": "Mostrar apenas ganhos solo",
|
|
"mining_idle_off_tooltip": "Ativar mineração ociosa",
|
|
"mining_idle_on_tooltip": "Desativar mineração ociosa",
|
|
"mining_local_hashrate": "Hashrate Local",
|
|
"mining_mine": "Minerar",
|
|
"mining_mining_addr": "End. Mineração",
|
|
"mining_network": "Rede",
|
|
"mining_no_blocks_yet": "Nenhum bloco encontrado ainda",
|
|
"mining_no_payouts_yet": "Nenhum pagamento de pool ainda",
|
|
"mining_no_saved_addresses": "Nenhum endereço salvo",
|
|
"mining_no_saved_pools": "Nenhum pool salvo",
|
|
"mining_off": "Mineração está DESLIGADA",
|
|
"mining_on": "Mineração está LIGADA",
|
|
"mining_open_in_explorer": "Abrir no explorador",
|
|
"mining_payout_address": "Endereço de Pagamento",
|
|
"mining_payout_tooltip": "Endereço para receber recompensas de mineração",
|
|
"mining_pool": "Pool",
|
|
"mining_pool_hashrate": "Hashrate do Pool",
|
|
"mining_pool_url": "URL do Pool",
|
|
"mining_recent_blocks": "BLOCOS RECENTES",
|
|
"mining_recent_payouts": "PAGAMENTOS DE POOL RECENTES",
|
|
"mining_remove": "Remover",
|
|
"mining_reset_defaults": "Redefinir Padrões",
|
|
"mining_save_payout_address": "Salvar endereço de pagamento",
|
|
"mining_save_pool_url": "Salvar URL do pool",
|
|
"mining_saved_addresses": "Endereços Salvos:",
|
|
"mining_saved_pools": "Pools Salvos:",
|
|
"mining_shares": "Shares",
|
|
"mining_show_chart": "Gráfico",
|
|
"mining_show_log": "Log",
|
|
"mining_solo": "Solo",
|
|
"mining_starting": "Iniciando...",
|
|
"mining_starting_tooltip": "Minerador está iniciando...",
|
|
"mining_statistics": "Estatísticas de Mineração",
|
|
"mining_stop": "Parar",
|
|
"mining_stop_solo_for_pool": "Pare a mineração solo antes de iniciar a mineração em pool",
|
|
"mining_stop_solo_for_pool_settings": "Pare a mineração solo para alterar as configurações do pool",
|
|
"mining_stopping": "Parando...",
|
|
"mining_stopping_tooltip": "Minerador está parando...",
|
|
"mining_syncing_tooltip": "Blockchain está sincronizando...",
|
|
"mining_threads": "Threads de Mineração",
|
|
"mining_to_save": "para salvar",
|
|
"mining_today": "Hoje",
|
|
"mining_uptime": "Tempo Ativo",
|
|
"mining_yesterday": "Ontem",
|
|
"network": "Rede",
|
|
"network_fee": "TAXA DA REDE",
|
|
"network_hashrate": "Hashrate da Rede",
|
|
"new": "+ Novo",
|
|
"new_shielded_created": "Novo endereço blindado criado",
|
|
"new_t_address": "Novo Endereço T",
|
|
"new_t_transparent": "Novo endereço t (Transparente)",
|
|
"new_transparent_created": "Novo endereço transparente criado",
|
|
"new_z_address": "Novo Endereço Z",
|
|
"new_z_shielded": "Novo endereço z (Blindado)",
|
|
"no_addresses": "Nenhum endereço encontrado. Crie um usando os botões acima.",
|
|
"no_addresses_available": "Nenhum endereço disponível",
|
|
"no_addresses_match": "Nenhum endereço corresponde ao filtro",
|
|
"no_addresses_with_balance": "Nenhum endereço com saldo",
|
|
"no_matching": "Nenhuma transação correspondente",
|
|
"no_recent_receives": "Nenhum recebimento recente",
|
|
"no_recent_sends": "Nenhum envio recente",
|
|
"no_transactions": "Nenhuma transação encontrada",
|
|
"node": "NÓ",
|
|
"node_security": "NÓ & SEGURANÇA",
|
|
"noise": "Ruído",
|
|
"not_connected": "Não conectado ao daemon...",
|
|
"not_connected_to_daemon": "Não conectado ao daemon",
|
|
"notes": "Notas",
|
|
"notes_optional": "Notas (opcional):",
|
|
"output_filename": "Nome do arquivo de saída:",
|
|
"overview": "Visão Geral",
|
|
"paste": "Colar",
|
|
"paste_from_clipboard": "Colar da Área de Transferência",
|
|
"pay_from": "Pagar de",
|
|
"payment_request": "SOLICITAÇÃO DE PAGAMENTO",
|
|
"payment_request_copied": "Solicitação de pagamento copiada",
|
|
"payment_uri_copied": "URI de pagamento copiada",
|
|
"peers": "Pares",
|
|
"peers_avg_ping": "Ping Médio",
|
|
"peers_ban_24h": "Banir Par 24h",
|
|
"peers_ban_score": "Score de Ban: %d",
|
|
"peers_banned": "Banidos",
|
|
"peers_banned_count": "Banidos: %d",
|
|
"peers_best_block": "Melhor Bloco",
|
|
"peers_blockchain": "BLOCKCHAIN",
|
|
"peers_blocks": "Blocos",
|
|
"peers_blocks_left": "%d blocos restantes",
|
|
"peers_clear_all_bans": "Remover Todos os Banimentos",
|
|
"peers_click_copy": "Clique para copiar",
|
|
"peers_connected": "Conectados",
|
|
"peers_connected_count": "Conectados: %d",
|
|
"peers_copy_ip": "Copiar IP",
|
|
"peers_dir_in": "Ent.",
|
|
"peers_dir_out": "Saí.",
|
|
"peers_hash_copied": "Hash copiado",
|
|
"peers_hashrate": "Hashrate",
|
|
"peers_in_out": "Ent./Saí.",
|
|
"peers_longest": "Mais longa",
|
|
"peers_longest_chain": "Chain Mais Longa",
|
|
"peers_memory": "Memória",
|
|
"peers_no_banned": "Nenhum par banido",
|
|
"peers_no_connected": "Nenhum par conectado",
|
|
"peers_no_tls": "Sem TLS",
|
|
"peers_notarized": "Notarizado",
|
|
"peers_p2p_port": "Porta P2P",
|
|
"peers_protocol": "Protocolo",
|
|
"peers_received": "Recebido",
|
|
"peers_refresh": "Atualizar",
|
|
"peers_refresh_tooltip": "Atualizar lista de pares",
|
|
"peers_refreshing": "Atualizando...",
|
|
"peers_sent": "Enviado",
|
|
"peers_tt_id": "ID: %d",
|
|
"peers_tt_received": "Recebido: %s",
|
|
"peers_tt_sent": "Enviado: %s",
|
|
"peers_tt_services": "Serviços: %s",
|
|
"peers_tt_start_height": "Altura Inicial: %d",
|
|
"peers_tt_synced": "Sincronizado H/B: %d/%d",
|
|
"peers_tt_tls_cipher": "TLS: %s",
|
|
"peers_unban": "Desbanir",
|
|
"peers_upper": "PARES",
|
|
"peers_version": "Versão",
|
|
"pending": "Pendente",
|
|
"ping": "Ping",
|
|
"price_chart": "Gráfico de Preços",
|
|
"qr_code": "Código QR",
|
|
"qr_failed": "Falha ao gerar código QR",
|
|
"qr_title": "Código QR",
|
|
"qr_unavailable": "QR indisponível",
|
|
"receive": "Receber",
|
|
"received": "recebido",
|
|
"received_filter": "Recebido",
|
|
"received_label": "Recebido",
|
|
"received_upper": "RECEBIDO",
|
|
"receiving_addresses": "Seus Endereços de Recebimento",
|
|
"recent_received": "RECEBIDOS RECENTES",
|
|
"recent_sends": "ENVIOS RECENTES",
|
|
"recipient": "DESTINATÁRIO",
|
|
"recv_type": "Receb.",
|
|
"refresh": "Atualizar",
|
|
"refresh_now": "Atualizar Agora",
|
|
"report_bug": "Reportar Bug",
|
|
"request_amount": "Valor (opcional):",
|
|
"request_copy_uri": "Copiar URI",
|
|
"request_description": "Gere uma solicitação de pagamento que outros podem escanear ou copiar. O código QR contém seu endereço e valor/memo opcionais.",
|
|
"request_label": "Rótulo (opcional):",
|
|
"request_memo": "Memo (opcional):",
|
|
"request_payment": "Solicitar Pagamento",
|
|
"request_payment_uri": "URI de Pagamento:",
|
|
"request_receive_address": "Endereço de Recebimento:",
|
|
"request_select_address": "Selecionar endereço...",
|
|
"request_shielded_addrs": "-- Endereços Blindados --",
|
|
"request_title": "Solicitar Pagamento",
|
|
"request_transparent_addrs": "-- Endereços Transparentes --",
|
|
"request_uri_copied": "URI de pagamento copiada para a área de transferência",
|
|
"rescan": "Reescanear",
|
|
"reset_to_defaults": "Redefinir Padrões",
|
|
"review_send": "Revisar Envio",
|
|
"rpc_host": "Host RPC",
|
|
"rpc_pass": "Senha",
|
|
"rpc_port": "Porta",
|
|
"rpc_user": "Usuário",
|
|
"save": "Salvar",
|
|
"save_settings": "Salvar Configurações",
|
|
"save_z_transactions": "Salvar Z-tx na lista de tx",
|
|
"search_placeholder": "Pesquisar...",
|
|
"security": "SEGURANÇA",
|
|
"select_address": "Selecionar endereço...",
|
|
"select_receiving_address": "Selecionar endereço de recebimento...",
|
|
"select_source_address": "Selecionar endereço de origem...",
|
|
"send": "Enviar",
|
|
"send_amount": "Valor",
|
|
"send_amount_details": "DETALHES DO VALOR",
|
|
"send_amount_upper": "VALOR",
|
|
"send_clear_fields": "Limpar todos os campos do formulário?",
|
|
"send_copy_error": "Copiar Erro",
|
|
"send_dismiss": "Dispensar",
|
|
"send_error_copied": "Erro copiado para a área de transferência",
|
|
"send_error_prefix": "Erro: %s",
|
|
"send_exceeds_available": "Excede o disponível (%.8f)",
|
|
"send_fee": "Taxa",
|
|
"send_fee_high": "Alta",
|
|
"send_fee_low": "Baixa",
|
|
"send_fee_normal": "Normal",
|
|
"send_form_restored": "Formulário restaurado",
|
|
"send_from_this_address": "Enviar deste endereço",
|
|
"send_go_to_receive": "Ir para Receber",
|
|
"send_keep": "Manter",
|
|
"send_network_fee": "TAXA DA REDE",
|
|
"send_no_balance": "Sem saldo",
|
|
"send_no_recent": "Nenhum envio recente",
|
|
"send_recent_sends": "ENVIOS RECENTES",
|
|
"send_recipient": "DESTINATÁRIO",
|
|
"send_select_source": "Selecionar endereço de origem...",
|
|
"send_sending_from": "ENVIANDO DE",
|
|
"send_submitting": "Enviando transação...",
|
|
"send_switch_to_receive": "Mude para Receber para obter seu endereço e começar a receber fundos.",
|
|
"send_to": "Enviar para",
|
|
"send_tooltip_enter_amount": "Digite um valor para enviar",
|
|
"send_tooltip_exceeds_balance": "Valor excede o saldo disponível",
|
|
"send_tooltip_in_progress": "Transação já em andamento",
|
|
"send_tooltip_invalid_address": "Digite um endereço de destinatário válido",
|
|
"send_tooltip_not_connected": "Não conectado ao daemon",
|
|
"send_tooltip_select_source": "Selecione primeiro um endereço de origem",
|
|
"send_tooltip_syncing": "Aguarde a sincronização da blockchain",
|
|
"send_total": "Total",
|
|
"send_transaction": "Enviar Transação",
|
|
"send_tx_failed": "Transação falhou",
|
|
"send_tx_sent": "Transação enviada!",
|
|
"send_tx_success": "Transação enviada com sucesso!",
|
|
"send_txid_copied": "TxID copiado para a área de transferência",
|
|
"send_txid_label": "TxID: %s",
|
|
"send_valid_shielded": "Endereço blindado válido",
|
|
"send_valid_transparent": "Endereço transparente válido",
|
|
"send_wallet_empty": "Sua carteira está vazia",
|
|
"send_yes_clear": "Sim, Limpar",
|
|
"sending": "Enviando transação",
|
|
"sending_from": "ENVIANDO DE",
|
|
"sent": "enviado",
|
|
"sent_filter": "Enviado",
|
|
"sent_type": "Enviado",
|
|
"sent_upper": "ENVIADO",
|
|
"settings": "Configurações",
|
|
"setup_wizard": "Assistente de Configuração",
|
|
"share": "Compartilhar",
|
|
"shield_check_status": "Verificar Status",
|
|
"shield_completed": "Operação concluída com sucesso!",
|
|
"shield_description": "Blinde suas recompensas de mineração enviando saídas coinbase de endereços transparentes para um endereço blindado. Isso melhora a privacidade ocultando sua renda de mineração.",
|
|
"shield_from_address": "Do Endereço:",
|
|
"shield_funds": "Blindar Fundos",
|
|
"shield_in_progress": "Operação em andamento...",
|
|
"shield_max_utxos": "Máx. UTXOs por operação",
|
|
"shield_merge_done": "Blindagem/fusão concluída!",
|
|
"shield_select_z": "Selecionar z-endereço...",
|
|
"shield_started": "Operação de blindagem iniciada",
|
|
"shield_title": "Blindar Recompensas Coinbase",
|
|
"shield_to_address": "Para Endereço (Blindado):",
|
|
"shield_utxo_limit": "Limite UTXO:",
|
|
"shield_wildcard_hint": "Use '*' para blindar de todos os endereços transparentes",
|
|
"shielded": "Blindado",
|
|
"shielded_to": "BLINDADO PARA",
|
|
"shielded_type": "Blindado",
|
|
"show": "Mostrar",
|
|
"show_qr_code": "Mostrar Código QR",
|
|
"showing_transactions": "Mostrando %d\xe2\x80\x93%d de %d transações (total: %zu)",
|
|
"simple_background": "Fundo simples",
|
|
"start_mining": "Iniciar Mineração",
|
|
"status": "Status",
|
|
"stop_external": "Parar daemon externo",
|
|
"stop_mining": "Parar Mineração",
|
|
"submitting_transaction": "Enviando transação...",
|
|
"success": "Sucesso",
|
|
"summary": "Resumo",
|
|
"syncing": "Sincronizando...",
|
|
"t_addresses": "Endereços T",
|
|
"test_connection": "Testar",
|
|
"theme": "Tema",
|
|
"theme_effects": "Efeitos de tema",
|
|
"time_days_ago": "há %d dias",
|
|
"time_hours_ago": "há %d horas",
|
|
"time_minutes_ago": "há %d minutos",
|
|
"time_seconds_ago": "há %d segundos",
|
|
"to": "Para",
|
|
"to_upper": "PARA",
|
|
"tools": "FERRAMENTAS",
|
|
"total": "Total",
|
|
"transaction_id": "ID DA TRANSAÇÃO",
|
|
"transaction_sent": "Transação enviada com sucesso",
|
|
"transaction_sent_msg": "Transação enviada!",
|
|
"transaction_url": "URL da Transação",
|
|
"transactions": "Transações",
|
|
"transactions_upper": "TRANSAÇÕES",
|
|
"transparent": "Transparente",
|
|
"tx_confirmations": "%d confirmações",
|
|
"tx_details_title": "Detalhes da Transação",
|
|
"tx_from_address": "Endereço de Origem:",
|
|
"tx_id_label": "ID da Transação:",
|
|
"tx_immature": "IMATURO",
|
|
"tx_mined": "MINERADO",
|
|
"tx_received": "RECEBIDO",
|
|
"tx_sent": "ENVIADO",
|
|
"tx_to_address": "Endereço de Destino:",
|
|
"tx_view_explorer": "Ver no Explorador",
|
|
"txs_count": "%d txs",
|
|
"type": "Tipo",
|
|
"ui_opacity": "Opacidade da Interface",
|
|
"unban": "Desbanir",
|
|
"unconfirmed": "Não confirmado",
|
|
"undo_clear": "Desfazer Limpeza",
|
|
"unknown": "Desconhecido",
|
|
"use_embedded_daemon": "Usar dragonxd integrado",
|
|
"use_tor": "Usar Tor",
|
|
"validate_btn": "Validar",
|
|
"validate_description": "Digite um endereço DragonX para verificar se é válido e se pertence a esta carteira.",
|
|
"validate_invalid": "INVÁLIDO",
|
|
"validate_is_mine": "Esta carteira possui este endereço",
|
|
"validate_not_mine": "Não pertence a esta carteira",
|
|
"validate_ownership": "Propriedade:",
|
|
"validate_results": "Resultados:",
|
|
"validate_shielded_type": "Blindado (z-endereço)",
|
|
"validate_status": "Status:",
|
|
"validate_title": "Validar Endereço",
|
|
"validate_transparent_type": "Transparente (t-endereço)",
|
|
"validate_type": "Tipo:",
|
|
"validate_valid": "VÁLIDO",
|
|
"validating": "Validando...",
|
|
"verbose_logging": "Log detalhado",
|
|
"version": "Versão",
|
|
"view": "Visualizar",
|
|
"view_details": "Ver Detalhes",
|
|
"view_on_explorer": "Ver no Explorador",
|
|
"waiting_for_daemon": "Aguardando conexão com o daemon...",
|
|
"wallet": "CARTEIRA",
|
|
"wallet_empty": "Sua carteira está vazia",
|
|
"wallet_empty_hint": "Mude para Receber para obter seu endereço e começar a receber fundos.",
|
|
"warning": "Aviso",
|
|
"warning_upper": "AVISO!",
|
|
"website": "Website",
|
|
"window_opacity": "Opacidade da Janela",
|
|
"yes_clear": "Sim, Limpar",
|
|
"your_addresses": "Seus Endereços",
|
|
"z_addresses": "Endereços Z",
|
|
}
|
|
|
|
out = os.path.join(os.path.dirname(__file__), "..", "res", "lang", "pt.json")
|
|
with open(out, "w", encoding="utf-8") as f:
|
|
json.dump(translations, f, indent=4, ensure_ascii=False, sort_keys=True)
|
|
print(f"Wrote {len(translations)} Portuguese translations to {os.path.abspath(out)}")
|