From a33b41f98b7360da85fabdec08d6d2f31ce7ae6c Mon Sep 17 00:00:00 2001 From: glorydavid03023 Date: Mon, 8 Jun 2026 15:01:39 -0500 Subject: [PATCH] feat(i18n): complete Brazilian Portuguese (pt-BR) locale coverage for provider & transaction views (#2220) Several view namespaces only shipped a subset of the 14-locale baseline (ca, de, en, es, fr, hu, nb, nl, pl, pt-BR, ro, tr, zh-CN, zh-TW), leaving Brazilian Portuguese users on English fallbacks for these screens. This adds pt-BR translations for every namespace that had an English source but was missing pt-BR, bringing them to baseline parity: - account_statements, splits, transfer_matches, pending_duplicate_merges, securities, messages - Provider connections: binance_items, brex_items, ibkr_items, kraken_items, sophtron_items All files mirror the en.yml key structure exactly (843 keys, verified with key-parity and %{interpolation} placeholder checks) and reuse existing pt-BR terminology already established in the repo (conta, sincronizado, credenciais, conexao, vincular, Saldo; informal "voce"). Co-authored-by: Claude Opus 4.8 (1M context) --- .../views/account_statements/pt-BR.yml | 116 +++++++ config/locales/views/binance_items/pt-BR.yml | 75 +++++ config/locales/views/brex_items/pt-BR.yml | 277 ++++++++++++++++ config/locales/views/ibkr_items/pt-BR.yml | 92 +++++ config/locales/views/kraken_items/pt-BR.yml | 85 +++++ config/locales/views/messages/pt-BR.yml | 6 + .../views/pending_duplicate_merges/pt-BR.yml | 21 ++ config/locales/views/securities/pt-BR.yml | 14 + config/locales/views/sophtron_items/pt-BR.yml | 313 ++++++++++++++++++ config/locales/views/splits/pt-BR.yml | 47 +++ .../locales/views/transfer_matches/pt-BR.yml | 24 ++ 11 files changed, 1070 insertions(+) create mode 100644 config/locales/views/account_statements/pt-BR.yml create mode 100644 config/locales/views/binance_items/pt-BR.yml create mode 100644 config/locales/views/brex_items/pt-BR.yml create mode 100644 config/locales/views/ibkr_items/pt-BR.yml create mode 100644 config/locales/views/kraken_items/pt-BR.yml create mode 100644 config/locales/views/messages/pt-BR.yml create mode 100644 config/locales/views/pending_duplicate_merges/pt-BR.yml create mode 100644 config/locales/views/securities/pt-BR.yml create mode 100644 config/locales/views/sophtron_items/pt-BR.yml create mode 100644 config/locales/views/splits/pt-BR.yml create mode 100644 config/locales/views/transfer_matches/pt-BR.yml diff --git a/config/locales/views/account_statements/pt-BR.yml b/config/locales/views/account_statements/pt-BR.yml new file mode 100644 index 000000000..7f8f84057 --- /dev/null +++ b/config/locales/views/account_statements/pt-BR.yml @@ -0,0 +1,116 @@ +--- +pt-BR: + account_statements: + account_tab: + coverage_title: Cobertura de extratos + coverage_description: Meses históricos respaldados por extratos enviados e verificações de saldo. + coverage_range: "%{start} - %{end}" + empty: Ainda não há extratos vinculados a esta conta. + open_inbox: Caixa de entrada + statements_title: Extratos + year_label: Ano de cobertura + balance: + unknown: Desconhecido + coverage: + status: + ambiguous: Ambíguo + covered: Coberto + duplicate: Duplicado + mismatched: Divergente + missing: Ausente + not_expected: Não esperado + create: + duplicates: + one: 1 extrato duplicado foi ignorado. + other: "%{count} extratos duplicados foram ignorados." + invalid_file_type: Envie um extrato em PDF, CSV ou XLSX dentro do limite de tamanho. + no_files: Selecione pelo menos um arquivo de extrato. + success: + one: 1 extrato enviado. + other: "%{count} extratos enviados." + destroy: + failure: Não foi possível excluir o extrato. + success: Extrato excluído. + form: + account_upload: Enviar extrato + files_hint: PDF, CSV ou XLSX. Máximo de %{max_size} MB por arquivo. + files_label: Arquivos de extrato + inbox_upload: Enviar + index: + account_label: Conta + confidence: "%{confidence} de correspondência" + empty_linked: Ainda não há extratos vinculados. + empty_unmatched: A caixa de entrada de extratos está vazia. + leave_unmatched: Deixar sem atribuição + linked_title: Extratos vinculados + no_suggestion: Sem sugestão + storage_used: Armazenamento usado + title: Cofre de extratos + unmatched_title: Caixa de entrada sem atribuição + upload_description: Envie extratos para a caixa de entrada ou escolha uma conta para vinculá-los imediatamente. + upload_title: Enviar extratos + link: + no_account: Escolha uma conta antes de vincular este extrato. + success: Extrato vinculado a %{account}. + period: + unknown: Período desconhecido + reconciliation: + checks: + closing_balance: Saldo de fechamento + opening_balance: Saldo de abertura + period_movement: Movimentação do período + unknown_check: Verificação desconhecida + matched: Correspondente + mismatched: Divergente + unavailable: Não verificado + reject: + success: Correspondência de extrato rejeitada. + show: + account_label: Conta + account_last4_hint: Últimos quatro dígitos da conta + account_name_hint: Dica do nome da conta + closing_balance: Saldo de fechamento + currency: Moeda + delete: Excluir + difference: Diferença + download: Baixar + institution_name_hint: Dica da instituição + ledger_amount: Registro do Sure + linked_to: Vinculado a %{account}. + linking_title: Vínculo de conta + link_suggestion: Sugestão de vínculo + metadata_title: Metadados do extrato + no_suggestion: Ainda não há sugestão de conta. + opening_balance: Saldo de abertura + period_end_on: Fim do período + period_start_on: Início do período + reconciliation_title: Conciliação + reconciliation_unavailable: Adicione um período de extrato e um saldo de abertura ou fechamento e verifique se o Sure tem histórico de saldos para essas datas. + reject: Rejeitar + save: Salvar extrato + statement_amount: Extrato + suggested_account: A conta sugerida é %{account} (confiança de %{confidence}). + title: Extrato + unlink: Desvincular + unmatched_account: Caixa de entrada sem atribuição + unknown_value: Desconhecido + status: + linked: Vinculado + rejected: Rejeitado + unmatched: Sem atribuição + table: + account: Conta + actions: Ações + download: Baixar + file: Arquivo + link_suggestion: Sugestão de vínculo + period: Período + reconciliation: Conciliação + reject: Rejeitar sugestão + suggestion: Sugestão + unlink: Desvincular + view: Visualizar + unlink: + success: Extrato devolvido à caixa de entrada sem atribuição. + update: + success: Extrato atualizado. diff --git a/config/locales/views/binance_items/pt-BR.yml b/config/locales/views/binance_items/pt-BR.yml new file mode 100644 index 000000000..a022996db --- /dev/null +++ b/config/locales/views/binance_items/pt-BR.yml @@ -0,0 +1,75 @@ +--- +pt-BR: + binance_items: + create: + default_name: Binance + success: Conexão com a Binance estabelecida com sucesso! Sua conta está sendo sincronizada. + update: + success: Configuração da Binance atualizada com sucesso. + destroy: + success: Conexão da Binance programada para exclusão. + setup_accounts: + title: Importar conta da Binance + subtitle: Selecione quais carteiras você quer acompanhar + instructions: Selecione as carteiras da Binance que você quer importar. Apenas carteiras com saldo são exibidas. + no_accounts: Todas as contas foram importadas. + accounts_count: + one: "%{count} conta disponível" + other: "%{count} contas disponíveis" + select_all: Selecionar todas + import_selected: Importar selecionadas + cancel: Cancelar + creating: Importando... + complete_account_setup: + success: + one: "%{count} conta importada" + other: "%{count} contas importadas" + none_selected: Nenhuma conta selecionada + no_accounts: Nenhuma conta para importar + binance_item: + provider_name: Binance + syncing: Sincronizando... + reconnect: As credenciais precisam ser atualizadas + deletion_in_progress: Excluindo... + sync_status: + no_accounts: Nenhuma conta encontrada + all_synced: + one: "%{count} conta sincronizada" + other: "%{count} contas sincronizadas" + partial_sync: "%{linked_count} sincronizadas, %{unlinked_count} precisam de configuração" + status: "Sincronizado há %{timestamp}" + status_with_summary: "Sincronizado há %{timestamp} - %{summary}" + status_never: Nunca sincronizado + update_credentials: Atualizar credenciais + delete: Excluir + no_accounts_title: Nenhuma conta encontrada + no_accounts_message: Sua carteira da Binance aparecerá aqui após a sincronização. + setup_needed: Conta pronta para importar + setup_description: Selecione quais carteiras da Binance você quer acompanhar. + setup_action: Importar conta + import_accounts_menu: Importar conta + stale_rate_warning: "O saldo é aproximado — a taxa de câmbio exata para %{date} não estava disponível. Será atualizado na próxima sincronização." + select_existing_account: + title: Vincular conta da Binance + no_accounts_found: Nenhuma conta da Binance encontrada. + wait_for_sync: Aguarde a Binance concluir a sincronização + check_provider_health: Verifique se suas credenciais da API da Binance são válidas + currently_linked_to: "Atualmente vinculada a: %{account_name}" + link: Vincular + cancel: Cancelar + link_existing_account: + success: Vinculado com sucesso à conta da Binance + errors: + only_manual: Apenas contas manuais podem ser vinculadas à Binance + invalid_binance_account: Conta da Binance inválida + binance_item: + syncer: + checking_credentials: Verificando credenciais... + credentials_invalid: Credenciais da API inválidas. Verifique sua chave de API e seu segredo. + importing_accounts: Importando contas da Binance... + checking_configuration: Verificando a configuração da conta... + accounts_need_setup: + one: "%{count} conta precisa de configuração" + other: "%{count} contas precisam de configuração" + processing_accounts: Processando os dados da conta... + calculating_balances: Calculando saldos... diff --git a/config/locales/views/brex_items/pt-BR.yml b/config/locales/views/brex_items/pt-BR.yml new file mode 100644 index 000000000..ae1df3e8e --- /dev/null +++ b/config/locales/views/brex_items/pt-BR.yml @@ -0,0 +1,277 @@ +--- +pt-BR: + brex_items: + default_connection_name: Conexão da Brex + account_metadata: + provider: Brex + separator: " • " + kinds: + cash: Dinheiro + card: Cartão + statuses: + ACTIVE: Ativa + active: Ativa + CLOSED: Fechada + closed: Fechada + frozen: Congelada + FROZEN: Congelada + create: + success: Conexão da Brex criada com sucesso + default_card_name: Cartão Brex + default_cash_name: "Brex Cash %{id}" + destroy: + success: Conexão da Brex removida + index: + title: Conexões da Brex + institution_summary: + none: Nenhuma instituição conectada + one: "%{name}" + count: + one: "%{count} instituição" + other: "%{count} instituições" + sync_status: + no_accounts: Nenhuma conta encontrada + all_synced: + one: "%{count} conta sincronizada" + other: "%{count} contas sincronizadas" + partial_setup: "%{synced} sincronizadas, %{pending} precisam de configuração" + api_error: + common_issues: "Problemas comuns:" + expired_credentials: Gere um novo token de API na Brex. + expired_credentials_label: "Credenciais expiradas:" + heading: Não é possível conectar à Brex + invalid_token: Verifique seu token de API nas Configurações do provedor. + invalid_token_label: "Token de API inválido:" + network: Verifique sua conexão com a internet. + network_label: "Problema de rede:" + permissions: Certifique-se de que seu token tenha os escopos de somente leitura necessários para conta e transações. + permissions_label: "Permissões insuficientes:" + service: A API da Brex pode estar temporariamente indisponível. + service_label: "Serviço indisponível:" + settings_link: Verificar Configurações do provedor + title: Erro de conexão com a Brex + errors: + unexpected_error: Ocorreu um erro inesperado. Tente novamente mais tarde. + entries: + default_name: Transação da Brex + loading: + loading_message: Carregando contas da Brex... + loading_title: Carregando + link_accounts: + all_already_linked: + one: "A conta selecionada (%{names}) já está vinculada" + other: "Todas as %{count} contas selecionadas já estão vinculadas: %{names}" + api_error: "Erro da API: %{message}" + invalid_account_names: + one: "Não é possível vincular uma conta com o nome em branco" + other: "Não é possível vincular %{count} contas com os nomes em branco" + invalid_account_type: Tipo de conta da Brex não suportado + link_failed: Não foi possível vincular as contas + no_accounts_selected: Selecione pelo menos uma conta + no_api_token: Token de API da Brex não encontrado. Configure-o nas Configurações do provedor. + partial_invalid: "%{created_count} conta(s) vinculada(s) com sucesso, %{already_linked_count} conta(s) já estavam vinculadas, %{invalid_count} conta(s) tinham nomes inválidos" + partial_success: "%{created_count} conta(s) vinculada(s) com sucesso. %{already_linked_count} conta(s) já estavam vinculadas: %{already_linked_names}" + select_connection: Escolha uma conexão da Brex antes de vincular contas. + success: + one: "%{count} conta vinculada com sucesso" + other: "%{count} contas vinculadas com sucesso" + brex_item: + accounts_need_setup: As contas precisam de configuração + delete: Excluir conexão + deletion_in_progress: exclusão em andamento... + error: Erro + no_accounts_description: Esta conexão ainda não tem contas vinculadas. + no_accounts_title: Sem contas + setup_action: Configurar novas contas + setup_description: "%{linked} de %{total} contas vinculadas. Escolha os tipos de conta para suas contas da Brex recém-importadas." + setup_needed: Novas contas prontas para configurar + status: "Sincronizado há %{timestamp}" + status_never: Nunca sincronizado + status_with_summary: "Sincronizado há %{timestamp} - %{summary}" + syncing: Sincronizando... + total: Total + unlinked: Não vinculada + provider_panel: + accounts_link: Contas + add_connection: Adicionar conexão da Brex + base_url_label: URL base (opcional) + base_url_placeholder: https://api.brex.com + configured_html: "Configurado e pronto para uso. Acesse a aba %{accounts_link} para gerenciar e configurar contas." + connection_name_label: Nome da conexão + connection_name_placeholder: Conta corrente empresarial + default_connection_name: Conexão da Brex + disconnect_label: "Desconectar %{name}" + disconnect_confirm: "Desconectar %{name}?" + encryption_warning: + title: A criptografia do banco de dados não está configurada + message: Configure as chaves de criptografia do Active Record antes de adicionar tokens da Brex em produção. Sem chaves de criptografia, o Sure armazena as credenciais e os instantâneos do provedor Brex em texto não criptografado, assim como outros registros de provedores. + instructions: + copy_token_html: "Copie o token e adicione-o abaixo como uma conexão nomeada. O Sure armazena o token apenas para sincronizar esta família." + create_token: "Crie um token de API com estes escopos de somente leitura: accounts.cash.readonly, accounts.card.readonly, transactions.cash.readonly, transactions.card.readonly" + open_tokens: Acesse as configurações de tokens de desenvolvedor/API da Brex da empresa que você quer conectar + sign_in_html: "Acesse %{link} e faça login na conta que você quer conectar" + keep_token_placeholder: Deixe em branco para manter o token atual + not_configured: Não configurado + sandbox_note_html: "Use uma conexão nomeada separada para cada empresa/token de API da Brex que você quer sincronizar. Deixe a URL base em branco para produção. O ambiente de staging é limitado a testes aprovados pela Brex e não funciona com tokens de clientes." + setup_accounts: Configurar contas + setup_title: "Instruções de configuração:" + sync: Sincronizar + token_label: Token + token_placeholder: Cole o token aqui + update_connection: Atualizar conexão + provider_connection: + default_description: Conectar à sua conta da Brex + default_name: Brex + description: "Conectar via %{name}" + name: "Brex - %{name}" + select_accounts: + accounts_selected: contas selecionadas + api_error: "Erro da API: %{message}" + cancel: Cancelar + configure_name_in_brex: "Não é possível importar - configure o nome da conta na Brex" + description: Selecione as contas que você quer vincular à sua conta do %{product_name}. + link_accounts: Vincular contas selecionadas + no_accounts_found: Nenhuma conta encontrada. Verifique a configuração do seu token de API. + no_api_token: Token de API da Brex não encontrado. Configure-o nas Configurações do provedor. + no_credentials_configured: Configure primeiro seu token de API da Brex nas Configurações do provedor. + no_name_placeholder: "(Sem nome)" + select_connection: Escolha uma conexão da Brex nas Configurações do provedor. + title: Selecionar contas da Brex + unexpected_error: Ocorreu um erro inesperado. Tente novamente mais tarde. + select_existing_account: + account_already_linked: Esta conta já está vinculada a um provedor + all_accounts_already_linked: Todas as contas da Brex já estão vinculadas + api_error: "Erro da API: %{message}" + cancel: Cancelar + configure_name_in_brex: "Não é possível importar - configure o nome da conta na Brex" + description: Selecione uma conta da Brex para vincular a esta conta. As transações serão sincronizadas e desduplicadas automaticamente. + link_account: Vincular conta + no_account_specified: Nenhuma conta especificada + no_accounts_found: Nenhuma conta da Brex encontrada. Verifique a configuração do seu token de API. + no_api_token: Token de API da Brex não encontrado. Configure-o nas Configurações do provedor. + no_credentials_configured: Configure primeiro seu token de API da Brex nas Configurações do provedor. + no_name_placeholder: "(Sem nome)" + select_connection: Escolha uma conexão da Brex nas Configurações do provedor. + title: "Vincular %{account_name} à Brex" + unexpected_error: Ocorreu um erro inesperado. Tente novamente mais tarde. + setup_required: + description: Antes de poder vincular contas da Brex, você precisa configurar seu token de API da Brex. + heading: Token de API não configurado + settings_link: Ir para Configurações do provedor + setup_steps: "Etapas de configuração:" + steps: + enter_token: Insira seu token de API da Brex + find_section_html: "Encontre a seção Brex" + open_settings_html: "Acesse Configurações > Provedores" + return_to_link: Volte aqui para vincular suas contas + title: Configuração da Brex necessária + subtype_select: + placeholder: + subtype: Selecione o subtipo + type: Selecione o tipo + link_existing_account: + account_already_linked: Esta conta já está vinculada a um provedor + api_error: "Erro da API: %{message}" + invalid_account_name: Não é possível vincular uma conta com o nome em branco + missing_parameters: Parâmetros obrigatórios ausentes + no_account_specified: Nenhuma conta especificada + no_api_token: Token de API da Brex não encontrado. Configure-o nas Configurações do provedor. + provider_account_already_linked: Esta conta da Brex já está vinculada a outra conta + provider_account_not_found: Conta da Brex não encontrada + select_connection: Escolha uma conexão da Brex antes de vincular contas. + success: "%{account_name} vinculada com sucesso à Brex" + setup_accounts: + account_type_label: "Tipo de conta:" + all_accounts_linked: "Todas as suas contas da Brex já foram configuradas." + api_error: "Erro da API: %{message}" + fetch_failed: "Não foi possível buscar as contas" + no_accounts_to_setup: "Nenhuma conta para configurar" + no_api_token: Token de API da Brex não encontrado. Configure-o nas Configurações do provedor. + account_types: + skip: Ignorar esta conta + depository: Conta corrente ou poupança + credit_card: Cartão de crédito + investment: Conta de investimento + loan: Empréstimo ou financiamento + other_asset: Outro ativo + subtype_labels: + depository: "Subtipo de conta:" + credit_card: "" + investment: "Tipo de investimento:" + loan: "Tipo de empréstimo:" + other_asset: "" + subtype_messages: + credit_card: "Os cartões de crédito serão configurados automaticamente como contas de cartão de crédito." + other_asset: "Não são necessárias opções adicionais para Outros ativos." + subtypes: + depository: + checking: Conta corrente + savings: Conta poupança + hsa: Conta poupança de saúde + cd: Certificado de depósito + money_market: Conta do mercado monetário + investment: + brokerage: Conta de corretagem + pension: Pensão + retirement: Aposentadoria + "401k": "401(k)" + roth_401k: "Roth 401(k)" + "403b": "403(b)" + tsp: Thrift Savings Plan + "529_plan": "Plano 529" + hsa: Conta poupança de saúde + mutual_fund: Fundo de investimento + ira: IRA tradicional + roth_ira: Roth IRA + angel: Investimento-anjo + loan: + mortgage: Financiamento imobiliário + student: Empréstimo estudantil + auto: Financiamento de veículo + other: Outro empréstimo + balance: Saldo + cancel: Cancelar + choose_account_type: "Escolha o tipo de conta correto para cada conta da Brex:" + create_accounts: Criar contas + creating_accounts: Criando contas... + historical_data_range: "Intervalo de dados históricos:" + subtitle: Escolha os tipos de conta corretos para suas contas importadas + sync_start_date_help: Selecione até que ponto no passado você quer sincronizar o histórico de transações. Há no máximo 3 anos de histórico disponíveis. + sync_start_date_label: "Começar a sincronizar transações a partir de:" + title: Configure suas contas da Brex + complete_account_setup: + all_skipped: "Todas as contas foram ignoradas. Nenhuma conta foi criada." + creation_failed: "Não foi possível criar as contas: %{error}" + creation_failed_count: "Não foi possível criar %{count} conta(s)." + no_accounts: "Nenhuma conta para configurar." + partial_skipped: "%{created_count} conta(s) criada(s) com sucesso; %{skipped_count} conta(s) foram ignoradas." + partial_success: "%{created_count} conta(s) criada(s) com sucesso, mas %{failed_count} conta(s) falharam." + success: "%{count} conta(s) criada(s) com sucesso." + unexpected_error: Ocorreu um erro inesperado. + sync: + success: Sincronização iniciada + syncer: + account_processing_failed: + one: "%{count} conta da Brex falhou durante o processamento." + other: "%{count} contas da Brex falharam durante o processamento." + account_sync_failed: + one: "Não foi possível agendar a sincronização de %{count} conta da Brex." + other: "Não foi possível agendar a sincronização de %{count} contas da Brex." + accounts_need_setup: + one: "%{count} conta precisa de configuração..." + other: "%{count} contas precisam de configuração..." + accounts_failed: + one: "Não foi possível importar %{count} conta da Brex." + other: "Não foi possível importar %{count} contas da Brex." + calculating_balances: Calculando saldos... + checking_account_configuration: Verificando a configuração da conta... + credentials_invalid: Token de API da Brex inválido ou permissões de conta insuficientes + failed: A sincronização falhou. Tente novamente ou entre em contato com o suporte. + import_failed: A importação da Brex falhou. + importing_accounts: Importando contas da Brex... + processing_transactions: Processando transações... + transactions_failed: + one: "%{count} conta da Brex teve falhas na importação de transações." + other: "%{count} contas da Brex tiveram falhas na importação de transações." + update: + success: Conexão da Brex atualizada diff --git a/config/locales/views/ibkr_items/pt-BR.yml b/config/locales/views/ibkr_items/pt-BR.yml new file mode 100644 index 000000000..4eeaa4962 --- /dev/null +++ b/config/locales/views/ibkr_items/pt-BR.yml @@ -0,0 +1,92 @@ +--- +pt-BR: + providers: + ibkr: + name: Interactive Brokers + connection_description: Conecte um relatório do Flex Web Service da Interactive Brokers + institution_name: Interactive Brokers + ibkr_items: + defaults: + name: Interactive Brokers + ibkr_item: + deletion_in_progress: Exclusão em andamento + flex_web_service: Flex Web Service + syncing: Sincronizando + requires_update: As credenciais exigem atenção + error: Erro + synced: Sincronizado há %{time}. %{summary}. + never_synced: Nunca sincronizado. + setup_accounts: Configurar contas + delete: Excluir + accounts_need_setup: As contas precisam de configuração + accounts_need_setup_description: Algumas contas da IBKR precisam ser vinculadas a contas do Sure. + no_accounts_discovered: Nenhuma conta da IBKR encontrada ainda. + no_accounts_discovered_description: Execute uma sincronização após configurar sua consulta Flex para encontrar contas. + setup_accounts: + page_title: Configurar contas da Interactive Brokers + dialog_title: Configure suas contas da Interactive Brokers + subtitle: Selecione quais contas de corretagem da IBKR você quer vincular. + info_box: + title: Importação por consulta Flex da IBKR + items: + item_1: Posições com preços e quantidades atuais + item_2: Custo de aquisição por posição + item_3: Negociações, dividendos, comissões e depósitos ou saques em dinheiro + warning: A atividade histórica é limitada ao período do relatório da consulta Flex + status: + fetching_accounts: Buscando contas na Interactive Brokers... + no_accounts_found_title: Nenhuma conta encontrada. + no_accounts_found_description: O Sure não conseguiu encontrar nenhuma conta da IBKR no relatório Flex mais recente. + available_accounts: + title: Contas disponíveis + account_type_investment: Investimento + account_summary: "%{account_type} • Saldo: %{balance}" + account_id: "ID da conta: %{account_id}" + link_existing: + description: Ou vincule uma conta da IBKR encontrada a uma conta de investimento manual existente. + manual_account_option: "%{name} (%{balance})" + select_prompt: Selecione uma conta... + linked_accounts: + title: Já vinculadas + linked_to_html: "Vinculada a: %{account}" + buttons: + refresh: Atualizar + cancel: Cancelar + back_to_settings: Voltar às Configurações + create_selected_accounts: Criar contas selecionadas + link: Vincular + done: Concluído + sync_status: + no_accounts: Nenhuma conta da IBKR encontrada ainda + all_linked: + one: 1 conta vinculada + other: "%{count} contas vinculadas" + partial: "%{linked} vinculadas, %{unlinked} precisam de configuração" + select_existing_account: + title: Vincular conta da Interactive Brokers + no_accounts_available: Ainda não há contas da Interactive Brokers não vinculadas disponíveis. + run_sync_hint: "Execute uma sincronização em Configurações > Provedores após atualizar sua consulta Flex." + wait_for_sync: Aguarde a conclusão da sincronização de descoberta de contas. + balance: Saldo + link: Vincular + cancel: Cancelar + create: + success: Interactive Brokers configurada com sucesso. + update: + success: Configuração da Interactive Brokers atualizada com sucesso. + destroy: + success: Conexão da Interactive Brokers programada para exclusão. + select_accounts: + not_configured: A Interactive Brokers não está configurada. + link_existing_account: + not_found: Conta ou configuração da Interactive Brokers não encontrada. + only_manual_investment: Apenas contas de investimento manuais podem ser vinculadas à Interactive Brokers. + already_linked: Esta conta da Interactive Brokers já está vinculada. + success: Vinculado com sucesso à conta da Interactive Brokers. + failed: Não foi possível vincular a conta da Interactive Brokers. + complete_account_setup: + success: + one: "%{count} conta da Interactive Brokers criada com sucesso." + other: "%{count} contas da Interactive Brokers criadas com sucesso." + none_selected: Nenhuma conta foi selecionada. + none_created: Nenhuma conta foi criada. diff --git a/config/locales/views/kraken_items/pt-BR.yml b/config/locales/views/kraken_items/pt-BR.yml new file mode 100644 index 000000000..6a6bef331 --- /dev/null +++ b/config/locales/views/kraken_items/pt-BR.yml @@ -0,0 +1,85 @@ +--- +pt-BR: + kraken_items: + provider_connection: + default_name: Kraken + default_description: Vincular a uma conta da corretora Kraken + name: "Kraken - %{name}" + description: "Vincular a %{name}" + create: + default_name: Kraken + success: Conexão com a Kraken estabelecida com sucesso. Sua conta da corretora está sendo sincronizada. + update: + success: Conexão da Kraken atualizada com sucesso. + destroy: + success: Conexão da Kraken programada para exclusão. + select_accounts: + select_connection: Escolha uma conexão da Kraken nas Configurações do provedor. + no_credentials_configured: Adicione as credenciais da API da Kraken antes de configurar as contas. + link_accounts: + select_connection: Escolha uma conexão da Kraken antes de vincular contas. + select_existing_account: + title: Vincular conta da Kraken + no_accounts_found: Nenhuma conta da Kraken encontrada. + wait_for_sync: Aguarde a Kraken concluir a sincronização. + check_provider_health: Verifique se suas credenciais da API da Kraken são válidas. + link: Vincular + cancel: Cancelar + link_existing_account: + success: Vinculado com sucesso à conta da Kraken + select_connection: Escolha uma conexão da Kraken antes de vincular contas. + errors: + only_manual: Apenas contas manuais de corretora de criptomoedas sem um vínculo de provedor existente podem ser vinculadas à Kraken + invalid_kraken_account: Conta da Kraken inválida + kraken_account_already_linked: Esta conta da Kraken já está vinculada + setup_accounts: + title: Importar conta da Kraken + subtitle: Selecione a conta da corretora que você quer acompanhar + instructions: A Kraken importa uma única conta combinada de corretora de criptomoedas para esta conexão, apenas com posições e execuções de negociações à vista. + no_accounts: Todas as contas da Kraken foram importadas. + accounts_count: + one: "%{count} conta disponível" + other: "%{count} contas disponíveis" + select_all: Selecionar todas + import_selected: Importar selecionadas + cancel: Cancelar + creating: Importando... + complete_account_setup: + success: + one: "%{count} conta importada" + other: "%{count} contas importadas" + none_selected: Nenhuma conta selecionada + no_accounts: Nenhuma conta para importar + kraken_item: + provider_name: Kraken + syncing: Sincronizando... + reconnect: As credenciais precisam ser atualizadas + deletion_in_progress: Excluindo... + sync_status: + no_accounts: Nenhuma conta encontrada + all_synced: + one: "%{count} conta sincronizada" + other: "%{count} contas sincronizadas" + partial_sync: "%{linked_count} sincronizadas, %{unlinked_count} precisam de configuração" + status: "Sincronizado há %{timestamp}" + status_with_summary: "Sincronizado há %{timestamp} - %{summary}" + status_never: Nunca sincronizado + delete: Excluir + no_accounts_title: Nenhuma conta encontrada + no_accounts_message: Sua conta da corretora Kraken aparecerá aqui após a sincronização. + setup_needed: Conta pronta para importar + setup_description: Importe esta conexão da Kraken como uma conta de corretora de criptomoedas. + setup_action: Importar conta + import_accounts_menu: Importar conta + stale_rate_warning: "O saldo é aproximado porque a taxa de câmbio exata para %{date} não estava disponível. Será atualizado na próxima sincronização." + kraken_item: + syncer: + checking_credentials: Verificando credenciais... + credentials_invalid: Credenciais da API da Kraken inválidas. Verifique sua chave de API e seu segredo. + importing_accounts: Importando contas da Kraken... + checking_configuration: Verificando a configuração da conta... + accounts_need_setup: + one: "%{count} conta precisa de configuração" + other: "%{count} contas precisam de configuração" + processing_accounts: Processando os dados da conta... + calculating_balances: Calculando saldos... diff --git a/config/locales/views/messages/pt-BR.yml b/config/locales/views/messages/pt-BR.yml new file mode 100644 index 000000000..b4779fe6d --- /dev/null +++ b/config/locales/views/messages/pt-BR.yml @@ -0,0 +1,6 @@ +--- +pt-BR: + messages: + chat_form: + placeholder: "Pergunte qualquer coisa ..." + disclaimer: "As respostas da IA são apenas informativas. Não constituem aconselhamento financeiro!" diff --git a/config/locales/views/pending_duplicate_merges/pt-BR.yml b/config/locales/views/pending_duplicate_merges/pt-BR.yml new file mode 100644 index 000000000..24a118e60 --- /dev/null +++ b/config/locales/views/pending_duplicate_merges/pt-BR.yml @@ -0,0 +1,21 @@ +--- +pt-BR: + pending_duplicate_merges: + create: + no_posted_selected: Selecione uma transação lançada para mesclar + invalid_transaction: Transação selecionada para mesclagem inválida + merge_success: Transação pendente mesclada com a transação lançada + merge_failed: Não foi possível mesclar as transações + set_transaction: + pending_only: Este recurso está disponível apenas para transações pendentes + new: + title: Mesclar com transação lançada + warning_title: Mesclagem manual de duplicatas + warning_description: Use isto para mesclar manualmente uma transação pendente com sua versão lançada. Isso excluirá a transação pendente e manterá apenas a lançada. + pending_transaction: Transação pendente + select_posted: Selecione a transação lançada para mesclar + showing_range: "Exibindo %{start} - %{end}" + previous: "← 10 anteriores" + next: "Próximas 10 →" + no_candidates: Nenhuma transação lançada encontrada nesta conta. + submit_button: Mesclar transações diff --git a/config/locales/views/securities/pt-BR.yml b/config/locales/views/securities/pt-BR.yml new file mode 100644 index 000000000..fbf4cf46b --- /dev/null +++ b/config/locales/views/securities/pt-BR.yml @@ -0,0 +1,14 @@ +--- +pt-BR: + securities: + combobox: + display: "%{symbol} - %{name} (%{exchange})" + exchange_label: "%{symbol} (%{exchange})" + providers: + twelve_data: Twelve Data + yahoo_finance: Yahoo Finance + tiingo: Tiingo + eodhd: EODHD + alpha_vantage: Alpha Vantage + mfapi: MFAPI.in + binance_public: Binance diff --git a/config/locales/views/sophtron_items/pt-BR.yml b/config/locales/views/sophtron_items/pt-BR.yml new file mode 100644 index 000000000..b88ca97b3 --- /dev/null +++ b/config/locales/views/sophtron_items/pt-BR.yml @@ -0,0 +1,313 @@ +--- +pt-BR: + sophtron_items: + defaults: + name: Conexão da Sophtron + new: + title: Conectar a Sophtron + user_id: ID de usuário + user_id_placeholder: cole seu ID de usuário da Sophtron + access_key: Chave de acesso + access_key_placeholder: cole sua chave de acesso da Sophtron + connect: Conectar + cancel: Cancelar + create: + success: Conexão da Sophtron criada com sucesso + destroy: + success: Conexão da Sophtron removida + update: + success: Conexão da Sophtron atualizada com sucesso! Suas contas estão sendo reconectadas. + errors: + blank_user_id: Insira um ID de usuário da Sophtron. + invalid_user_id: ID de usuário inválido. Verifique se você copiou o ID de usuário completo da Sophtron. + user_id_compromised: O ID de usuário pode estar comprometido, expirado ou já usado. Crie um novo. + blank_access_key: Insira uma chave de acesso da Sophtron. + invalid_access_key: Chave de acesso inválida. Verifique se você copiou a chave de acesso completa da Sophtron. + access_key_compromised: A chave de acesso pode estar comprometida, expirada ou já usada. Crie uma nova. + update_failed: "Não foi possível atualizar a conexão: %{message}" + unexpected: Ocorreu um erro inesperado. Tente novamente ou entre em contato com o suporte. + edit: + user_id: + label: "ID de usuário da Sophtron:" + placeholder: "Cole aqui seu ID de usuário da Sophtron..." + help_text: "O ID de usuário deve ser uma sequência longa que começa com letras e números" + access_key: + label: "Chave de acesso da Sophtron:" + placeholder: "Cole aqui sua chave de acesso da Sophtron..." + help_text: "A chave de acesso deve ser uma sequência longa que começa com letras e números" + index: + title: Conexões da Sophtron + loading: + loading_message: Carregando contas da Sophtron... + loading_title: Carregando + link_accounts: + all_already_linked: + one: "A conta selecionada (%{names}) já está vinculada" + other: "Todas as %{count} contas selecionadas já estão vinculadas: %{names}" + api_error: "Erro de conexão com a API" + invalid_account_names: + one: "Não é possível vincular uma conta com o nome em branco" + other: "Não é possível vincular %{count} contas com os nomes em branco" + link_failed: Não foi possível vincular as contas + no_accounts_selected: Selecione pelo menos uma conta + partial_invalid: "%{created_count} conta(s) vinculada(s) com sucesso, %{already_linked_count} já estavam vinculadas, %{invalid_count} conta(s) tinham nomes inválidos" + partial_success: "%{created_count} conta(s) vinculada(s) com sucesso. %{already_linked_count} conta(s) já estavam vinculadas: %{already_linked_names}" + success: + one: "%{count} conta vinculada com sucesso" + other: "%{count} contas vinculadas com sucesso" + no_credentials_configured: "Configure primeiro seu ID de usuário e sua chave de acesso da API da Sophtron nas Configurações do provedor." + no_accounts_found: Nenhuma conta encontrada. Verifique a configuração da sua chave de API. + no_access_key: A chave de acesso da Sophtron não está configurada. Configure-a nas Configurações. + no_user_id: O ID de usuário da Sophtron não está configurado. Configure-o nas Configurações. + no_institution_connected: Conecte primeiro uma instituição bancária à Sophtron. + connect: + cancel: Cancelar + captcha: Captcha + connect: Conectar + institution_search_label: Instituição + institution_search_placeholder: Pesquisar pelo nome do banco + no_institutions: Nenhuma instituição correspondente encontrada. + password: Senha + search: Pesquisar + search_too_short: Insira pelo menos dois caracteres para pesquisar. + title: Conectar instituição da Sophtron + username: Nome de usuário + connect_institution: + api_error: "A conexão com a Sophtron falhou: %{message}" + missing_parameters: Selecione uma instituição e insira as credenciais de acesso do seu banco. + connection_status: + api_error: "Erro de conexão com a API: %{message}" + attempt: "Tentativa %{attempt} de %{max}" + check_again: Verificar novamente + failed: A Sophtron não conseguiu concluir esta conexão com a instituição. + failed_timeout: A Sophtron atingiu o tempo limite enquanto a instituição concluía o acesso. + timeout: A Sophtron não concluiu a conexão dentro do tempo esperado. Você pode verificar novamente ou tentar reconectar mais tarde. + title: Conectando à Sophtron + waiting: A Sophtron ainda está se conectando à sua instituição. + mfa: + captcha: Texto do captcha + captcha_alt: Captcha da Sophtron + phone_confirmed: Confirmei por telefone + submit: Enviar + title: Verificação da Sophtron + token: Código de verificação + submit_mfa: + api_error: "A verificação falhou: %{message}" + invalid_security_answers: As respostas de segurança estão ausentes ou são muito longas. + unknown_challenge: Etapa de verificação da Sophtron desconhecida. + sophtron_item: + accounts_need_setup: As contas precisam de configuração + automatic_sync: Usar sincronização automática + delete: Excluir conexão + deletion_in_progress: exclusão em andamento... + error: Erro + no_accounts_description: Esta conexão ainda não tem contas vinculadas. + no_accounts_title: Sem contas + manual_sync: Sincronização manual + manual_sync_action: Exigir sincronização manual + manual_sync_action_for: "Exigir sincronização manual para %{institution}" + automatic_sync_for: "Usar sincronização automática para %{institution}" + setup_action: Configurar novas contas + setup_description: "%{linked} de %{total} contas vinculadas. Escolha os tipos de conta para suas contas da Sophtron recém-importadas." + setup_needed: Novas contas prontas para configurar + status: "Sincronizado há %{timestamp}" + status_never: Nunca sincronizado + status_with_summary: "Sincronizado há %{timestamp} • %{summary}" + sync_now: Sincronizar agora + syncing: Sincronizando... + total: Total + unlinked: Não vinculada + preload_accounts: + preload_accounts: pré-carregar contas + api_error: "Erro de conexão com a API" + unexpected_error: "Ocorreu um erro inesperado" + no_credentials_configured: "Configure primeiro seu ID de usuário e sua chave de acesso da API da Sophtron nas Configurações do provedor." + no_accounts_found: Nenhuma conta encontrada. Verifique a configuração da sua chave de API. + no_access_key: A chave de acesso da Sophtron não está configurada. Configure-a nas Configurações. + no_user_id: O ID de usuário da Sophtron não está configurado. Configure-o nas Configurações. + select_accounts: + accounts_selected: contas selecionadas + api_error: "Erro de conexão com a API" + unexpected_error: "Ocorreu um erro inesperado" + cancel: Cancelar + configure_name_in_sophtron: "Não é possível importar - configure o nome da conta na Sophtron" + description: Selecione as contas que você quer vincular à sua conta do %{product_name}. + link_accounts: Vincular contas selecionadas + no_accounts_found: Nenhuma conta encontrada. Verifique a configuração da sua chave de API. + no_access_key: A chave de acesso da Sophtron não está configurada. Configure-a nas Configurações. + no_user_id: O ID de usuário da Sophtron não está configurado. Configure-o nas Configurações. + no_credentials_configured: "Configure primeiro seu ID de usuário e sua chave de acesso da API da Sophtron nas Configurações do provedor." + no_institution_connected: Conecte primeiro uma instituição bancária à Sophtron. + no_name_placeholder: "(Sem nome)" + title: Selecionar contas da Sophtron + select_existing_account: + account_already_linked: Esta conta já está vinculada a um provedor + all_accounts_already_linked: Todas as contas da Sophtron já estão vinculadas + api_error: "Erro de conexão com a API" + cancel: Cancelar + configure_name_in_sophtron: "Não é possível importar - configure o nome da conta na Sophtron" + description: Selecione uma conta da Sophtron para vincular a esta conta. As transações serão sincronizadas e desduplicadas automaticamente. + link_account: Vincular conta + no_account_specified: Nenhuma conta especificada + no_accounts_found: Nenhuma conta da Sophtron encontrada. Verifique a configuração da sua chave de API. + no_access_key: A chave de acesso da Sophtron não está configurada. Configure-a nas Configurações. + no_user_id: O ID de usuário da Sophtron não está configurado. Configure-o nas Configurações. + no_institution_connected: Conecte primeiro uma instituição bancária à Sophtron. + no_name_placeholder: "(Sem nome)" + title: "Vincular %{account_name} à Sophtron" + unexpected_error: "Ocorreu um erro inesperado" + link_existing_account: + account_already_linked: Esta conta já está vinculada a um provedor + api_error: "Erro de conexão com a API" + unexpected_error: "Ocorreu um erro inesperado" + invalid_account_name: Não é possível vincular uma conta com o nome em branco + sophtron_account_already_linked: Esta conta da Sophtron já está vinculada a outra conta + sophtron_account_not_found: Conta da Sophtron não encontrada + missing_parameters: Parâmetros obrigatórios ausentes + no_institution_connected: Conecte primeiro uma instituição bancária à Sophtron. + success: "%{account_name} vinculada com sucesso à Sophtron" + setup_accounts: + account_type_label: "Tipo de conta:" + all_accounts_linked: "Todas as suas contas da Sophtron já foram configuradas." + api_error: "Erro de conexão com a API" + unexpected_error: "Ocorreu um erro inesperado" + fetch_failed: "Não foi possível buscar as contas" + no_accounts_to_setup: "Nenhuma conta para configurar" + no_access_key: "A chave de acesso da Sophtron não está configurada. Verifique as configurações da sua conexão." + no_user_id: "O ID de usuário da Sophtron não está configurado. Verifique as configurações da sua conexão." + no_institution_connected: "A instituição da Sophtron ainda não está conectada." + account_types: + skip: Ignorar esta conta + depository: Conta corrente ou poupança + credit_card: Cartão de crédito + investment: Conta de investimento + loan: Empréstimo ou financiamento + other_asset: Outro ativo + subtype_labels: + depository: "Subtipo de conta:" + credit_card: "" + investment: "Tipo de investimento:" + loan: "Tipo de empréstimo:" + other_asset: "" + subtype_messages: + credit_card: "Os cartões de crédito serão configurados automaticamente como contas de cartão de crédito." + other_asset: "Não são necessárias opções adicionais para Outros ativos." + balance: Saldo + cancel: Cancelar + choose_account_type: "Escolha o tipo de conta correto para cada conta da Sophtron:" + create_accounts: Criar contas + creating_accounts: Criando contas... + historical_data_range: "Intervalo de dados históricos:" + subtitle: Escolha os tipos de conta corretos para suas contas importadas + sync_start_date_help: Selecione até que ponto no passado você quer sincronizar o histórico de transações. Há no máximo 3 anos de histórico disponíveis. + sync_start_date_label: "Começar a sincronizar transações a partir de:" + title: Configure suas contas da Sophtron + complete_account_setup: + all_skipped: "Todas as contas foram ignoradas. Nenhuma conta foi criada." + creation_failed: "Não foi possível criar as contas" + api_error: "Erro de conexão com a API" + unexpected_error: "Ocorreu um erro inesperado" + no_accounts: "Nenhuma conta para configurar." + success: "%{count} conta(s) criada(s) com sucesso." + sync: + already_running: Uma sincronização manual da Sophtron já está em andamento. + api_error: "A sincronização manual da Sophtron falhou: %{message}" + failed: A sincronização manual da Sophtron falhou + no_linked_accounts: Esta instituição da Sophtron não tem contas vinculadas para sincronizar. + processing_failed: A sincronização manual da Sophtron não conseguiu processar as transações atualizadas. + success: Sincronização iniciada + toggle_manual_sync: + success_disabled: A instituição da Sophtron será sincronizada automaticamente. + success_enabled: A instituição da Sophtron agora exige sincronização manual. + manual_sync_complete: + close: Fechar + description: Os saldos das contas terminarão de ser atualizados em segundo plano. + message: As transações foram baixadas após a verificação da Sophtron. + title: Sincronização da Sophtron iniciada + sophtron_setup_required: + title: Configuração da Sophtron necessária + message: > + Para concluir a configuração da sua conexão da Sophtron, acesse a página de Configurações do provedor e siga as instruções para autorizar e configurar sua conexão da Sophtron. + go_to_provider_settings: Ir para Configurações do provedor + heading: "ID de usuário e chave de acesso não configurados" + description: "Antes de poder vincular contas da Sophtron, você precisa configurar seu ID de usuário e sua chave de acesso da Sophtron." + setup_steps_title: "Etapas de configuração:" + step_1_html: "Acesse Configurações → Provedores de sincronização bancária" + step_2_html: "Encontre a seção Sophtron" + step_3_html: "Insira seu ID de usuário e sua chave de acesso da Sophtron" + step_4: "Volte aqui para vincular suas contas" + api_error: + title: "Erro de conexão com a Sophtron" + unable_to_connect: "Não é possível conectar à Sophtron" + institution_unable_to_connect: "Não é possível conectar à instituição" + common_issues_title: "Problemas comuns:" + incorrect_user_id: "ID de usuário incorreto: Verifique seu ID de usuário nas Configurações do provedor" + invalid_access_key: "Chave de acesso inválida: Verifique sua chave de acesso nas Configurações do provedor" + expired_credentials: "Credenciais expiradas: Gere um novo ID de usuário e uma nova chave de acesso na Sophtron" + network_issue: "Problema de rede: Verifique sua conexão com a internet" + service_down: "Serviço indisponível: A API da Sophtron pode estar temporariamente indisponível" + bad_credentials: "Credenciais bancárias: Verifique se o nome de usuário e a senha estão corretos" + verification_code: "Código de verificação: Certifique-se de que o código mais recente foi inserido antes de expirar" + institution_timeout: "Tempo limite da instituição: A página de acesso do banco não foi concluída a tempo" + unsupported_mfa: "Suporte a MFA: A Sophtron pode não oferecer suporte ao fluxo de verificação atual desta instituição" + check_provider_settings: "Verificar Configurações do provedor" + try_again: "Tentar conectar novamente" + select_option: "Selecionar %{type}" + subtype: "subtipo" + type: "tipo" + sophtron_panel: + setup_instructions_title: "Instruções de configuração:" + setup_instructions: + step_1_html: 'Acesse Sophtron para obter suas credenciais de API' + step_2: "Copie seu ID de usuário e sua chave de acesso das configurações da sua conta da Sophtron" + step_3: "Cole as credenciais abaixo e clique em Salvar; o Sure criará ou reutilizará seu ID de cliente da Sophtron automaticamente" + field_descriptions_title: "Descrições dos campos:" + field_descriptions: + user_id_html: "ID de usuário: Sua credencial de ID de usuário da Sophtron" + access_key_html: "Chave de acesso: Sua credencial de chave de acesso da Sophtron" + base_url_html: "URL base: A URL do endpoint da API da Sophtron, geralmente https://api.sophtron.com/api" + fields: + user_id: + label: "ID de usuário" + placeholder_new: "Cole seu ID de usuário da Sophtron" + placeholder_edit: "••••••••" + access_key: + label: "Chave de acesso" + placeholder_new: "Cole sua chave de acesso da Sophtron" + placeholder_edit: "••••••••" + base_url: + label: "URL base" + placeholder: "https://api.sophtron.com/api" + save: "Salvar configuração" + update: "Atualizar configuração" + syncer: + manual_sync_required: "É necessária uma sincronização manual da Sophtron para esta instituição; essas contas são ignoradas durante a sincronização automática." + importing_accounts: "Importando contas da Sophtron..." + checking_account_configuration: "Verificando a configuração da conta..." + accounts_need_setup: "%{count} conta(s) precisam de configuração" + processing_transactions: "Processando transações das contas vinculadas..." + calculating_balances: "Calculando saldos das contas vinculadas..." + sophtron_entry: + processor: + unknown_transaction: "Transação desconhecida" + render_connection_timeout: + timeout: "Tempo limite de conexão esgotado. Tente novamente." + redirect_after_account_link: + invalid_account_names: + one: "Não é possível vincular %{count} conta com o nome em branco" + other: "Não é possível vincular %{count} contas com os nomes em branco" + partial_invalid: "%{created_count} conta(s) vinculada(s). %{already_linked_count} já vinculadas, %{invalid_count} tinham nomes inválidos." + partial_success: "%{created_count} conta(s) vinculada(s). %{already_linked_count} conta(s) já estavam vinculadas." + success: + one: "%{count} conta vinculada com sucesso." + other: "%{count} contas vinculadas com sucesso." + all_already_linked: + one: "A conta selecionada já está vinculada" + other: "Todas as %{count} contas selecionadas já estão vinculadas" + link_failed: "Não foi possível vincular as contas" + start_manual_sync: + already_running: "Uma sincronização já está em andamento." + no_linked_accounts: "Não há contas vinculadas disponíveis para sincronizar." + api_error: "Erro da API: %{message}" + start_manual_sync_for_account: + failed: "Não foi possível sincronizar a conta" diff --git a/config/locales/views/splits/pt-BR.yml b/config/locales/views/splits/pt-BR.yml new file mode 100644 index 000000000..c07c90f52 --- /dev/null +++ b/config/locales/views/splits/pt-BR.yml @@ -0,0 +1,47 @@ +--- +pt-BR: + splits: + new: + title: Dividir transação + description: Divida esta transação em vários lançamentos com categorias e valores diferentes. + submit: Dividir transação + cancel: Cancelar + add_row: Adicionar divisão + remove_row: Remover + remaining: Restante + amounts_must_match: Os valores das divisões devem ser iguais ao valor original da transação. + name_label: Nome + name_placeholder: Nome da divisão + amount_label: Valor + category_label: Categoria + uncategorized: "(sem categoria)" + original_name: "Nome:" + original_date: "Data:" + original_amount: "Valor" + split_number: "Divisão nº %{number}" + create: + success: Transação dividida com sucesso + not_splittable: Esta transação não pode ser dividida. + destroy: + success: Divisão da transação desfeita com sucesso + show: + title: Lançamentos divididos + description: Esta transação foi dividida nos seguintes lançamentos. + button_title: Dividir transação + button_description: Divida esta transação em vários lançamentos com categorias e valores diferentes. + button: Dividir + unsplit_title: Desfazer divisão + unsplit_button: Desfazer divisão + unsplit_confirm: Isso removerá todos os lançamentos divididos e restaurará a transação original. + edit: + title: Editar divisão + description: Modifique os lançamentos divididos desta transação. + submit: Atualizar divisão + not_split: Esta transação não está dividida. + update: + success: Divisão atualizada com sucesso + child: + title: Parte de uma divisão + description: Este lançamento faz parte de uma transação dividida. + edit_split: Editar divisão + unsplit: Desfazer divisão diff --git a/config/locales/views/transfer_matches/pt-BR.yml b/config/locales/views/transfer_matches/pt-BR.yml new file mode 100644 index 000000000..11b064995 --- /dev/null +++ b/config/locales/views/transfer_matches/pt-BR.yml @@ -0,0 +1,24 @@ +--- +pt-BR: + transfer_matches: + create: + success: Transferência criada + new: + header: + title: Vincular transferência ou pagamento + subtitle: Vincule a transação correspondente em outra conta ou crie uma caso não exista. + from_account: Conta de origem + from_account_named: "Conta de origem: %{name}" + to_account: Conta de destino + to_account_named: "Conta de destino: %{name}" + outflow_transaction: Transação de saída + inflow_transaction: Transação de entrada + create_transfer_match: Criar vínculo de transferência + matching_fields: + select_method: Selecione um método para vincular suas transações. + match_existing_recommended: Vincular transação existente (recomendado) + create_new_transaction: Criar nova transação + matching_method: Método de vínculo + matching_transaction: Transação a vincular + target_account: Conta de destino + no_matching_transactions: Não encontramos nenhuma transação para vincular em suas outras contas. Selecione uma conta e criaremos uma nova transação de entrada para você.