diff --git a/src/locales/i18n.js b/src/locales/i18n.js index 9cf1e30..175a73d 100644 --- a/src/locales/i18n.js +++ b/src/locales/i18n.js @@ -4,9 +4,10 @@ import en from './en.json' import ar from './ar.json' import tr from './tr.json' import bn from './bn.json' +import pt from './pt.json' // 语言包 -const messages = { en, ar, zh, tr, bn } +const messages = { en, ar, zh, tr, bn, pt } // 默认语言配置 const defaultLocale = 'en' @@ -29,6 +30,7 @@ export const setDocumentDirection = (lang) => { ar: 'rtl', tr: 'ltr', bn: 'ltr', + pt: 'ltr', } const direction = languages[lang] || 'ltr' diff --git a/src/locales/pt.json b/src/locales/pt.json new file mode 100644 index 0000000..30b98f9 --- /dev/null +++ b/src/locales/pt.json @@ -0,0 +1,526 @@ +{ + "page_not_found": "Página não encontrada", + "page_not_found_description": "Este link de atividade é inválido ou expirou.", + "close_page": "Fechar", + "apply_join_team": "Candidatar-se para entrar na equipe", + "apply_reminder": "Lembrete antes da candidatura:", + "apply_reminder_detail": "Insira o ID do seu agente. Você se tornará anfitrião após a aprovação da candidatura. Ao se tornar anfitrião, sua renda será administrada pelo seu agente.", + "apply_id": "ID da candidatura:", + "enter_agent_id": "Insira o ID do agente", + "apply": "Candidatar-se", + "application_help": "Ajuda sobre a candidatura", + "application_help_detail": "Insira o ID da sua agência e clique em Candidatar-se. Após o envio, aguarde a aprovação do agente.", + "got_it": "Entendi", + "application_records": "Registros de candidaturas:", + "agency": "Agência", + "agencies": "Agências", + "pending": "Pendente", + "cancel": "Cancelar", + "success": "Sucesso", + "application_submitted": "Candidatura enviada com sucesso!", + "ok": "OK", + "application_cancelled": "Candidatura cancelada com sucesso!", + "warning": "Aviso", + "not_authorized": "Sem autorização para entrar", + "cancellation_failed": "Falha ao cancelar", + "network_error": "Erro de rede. Verifique sua conexão e tente novamente.", + "host": "Anfitrião", + "host_center": "Central do Anfitrião", + "my_account": "Minha conta", + "my_salary": "Meu salário:", + "personal_salary": "Salário pessoal", + "history_salary": "Histórico de salários:", + "current_salary": "Salário atual:", + "todays_task": "Tarefa de hoje:", + "platform_policy": "Política da plataforma", + "cp_reward": "Recompensa de CP", + "num_teams": "Número de equipes:", + "team_top_up": "Recarga da equipe", + "bd_income_top_up": "Renda de BD (recarga)", + "bd_income_salary": "Renda de BD (salário)", + "host_type": "Tipo de anfitrião", + "minutes": "Minutos", + "gift_task": "Tarefa de presentes", + "target": "Meta", + "salary": "Salário", + "time_days": "Tempo (dias)", + "more": "Mais >", + "exchange": "Trocar", + "transfer": "Transferir", + "host_salary": "Salário do anfitrião", + "agent_salary": "Salário do agente", + "total_salary": "Salário total", + "my_agent": "Meu agente", + "leave": "Sair", + "work_report": "Relatório de trabalho:", + "in_progress": "Em andamento", + "completed": "Concluído", + "out_of_account": "Fora da conta", + "salary_details": "Detalhes do salário", + "monthly_salary": "Salário mensal", + "previous_period_income": "Renda do período anterior", + "daily_salary": "Salário diário", + "income": "Renda", + "expenditure": "Despesa", + "time": "Tempo", + "help": "Ajuda", + "work_report_description": "Abaixo está o relatório de trabalho dos membros. Toque em \"Mais\" para ver mais detalhes.", + "status_description": "Descrição do status:", + "status_completed": "(1) Concluído: o sistema concluiu o relatório de liquidação.", + "status_pending": "(2) Pendente: há uma contestação e o sistema não pode efetuar a liquidação.", + "status_out_of_account": "(3) Fora da conta: aguardando a verificação do sistema.", + "status_in_progress": "(4) Em andamento: trabalho em andamento.", + "exchange_gold_coins": "Trocar moedas de ouro", + "information": "Informações", + "available_salaries": "Renda disponível:", + "confirm_exchange": "Tem certeza de que deseja trocar moedas?", + "transfer_to_others": "Transferir para outros", + "search": "Pesquisar", + "change": "Alterar", + "search_payee_id": "Pesquisar ID do beneficiário", + "confirm_transfer": "Tem certeza de que deseja transferir moedas para este usuário?", + "add": "Adicionar", + "agency_center": "Central da Agência", + "team_bill": "Conta da equipe", + "chat": "Chat", + "total": "Total", + "team_member": "Membro da equipe", + "history_team_income": "Histórico de renda da equipe:", + "enter_host_id": "Insira o ID do anfitrião", + "confirm_remove_member_start": "Tem certeza de que deseja remover o ID:", + "confirm_remove_member_end": "da equipe?", + "invite_members": "Convidar membros", + "invite_download_app": "Convide usuários para baixar o aplicativo.", + "invited_users_login": "Os usuários convidados precisam entrar no aplicativo.", + "join_team_steps": "Eu > Central do Anfitrião > Candidatar-se para entrar na equipe.", + "enter_team_id": "Insira o ID da equipe e toque em Enviar para entrar.", + "recharge_agency": "Agência de recarga", + "invite_sub_coin_seller": "Convidar subrevendedor de moedas", + "my_coins": "Minhas moedas:", + "current_balance": "Saldo atual", + "balance": "Saldo", + "refresh": "Atualizar", + "sub_coin_sellers": "Subrevendedores de moedas", + "sub_coin_seller_list": "Lista de subrevendedores de moedas", + "enter_coin_seller_id": "Insira o ID do revendedor de moedas", + "bind_sub_coin_seller": "Vincular", + "sub_coin_seller_bound": "Subrevendedor de moedas adicionado", + "no_sub_coin_sellers": "Nenhum subrevendedor de moedas", + "transfer_to_sub_coin_seller": "Transferir para subrevendedor de moedas", + "enter_transfer_amount": "Insira o valor da transferência", + "sub_coin_seller_transfer_success": "Transferência realizada com sucesso", + "user": "Usuário:", + "search_user": "Pesquisar usuário", + "enter_user_id": "Insira o ID do usuário", + "recharge": "Recarregar", + "recharge_dollar": "Recarregar ($)", + "enter_recharge_amount": "Insira a quantidade de moedas a recarregar para o usuário.", + "enter_recharge_dollar_amount": "Insira o valor em dólares a recarregar para o usuário.", + "recharge_auto_convert_tip": "Converta automaticamente as moedas de ouro necessárias para a recarga.", + "recharge_ratio_text": "*$1={ratio} moedas", + "recharge_now": "Recarregar agora", + "succeed": "Concluído", + "seller_records": "Registros do revendedor", + "transaction_records": "Registros de transações", + "bd_center": "Central de BD", + "bd_leader_center": "Central do Líder de BD", + "number_of_bd": "Número de BDs", + "total_team_salary": "Salário total da equipe", + "last_month": "Mês passado", + "this_month": "Este mês", + "invite_become_agent": "Convidar usuário para se tornar agente", + "invite_become_BD": "Convidar usuário para se tornar BD", + "invite_become_BD_Leader": "Convidar usuário para se tornar Líder de BD", + "invite": "Convidar", + "invitation_submitted": "Informações do convite enviadas com sucesso!", + "agent_number": "Número de agentes", + "team_target": "Meta da equipe", + "my": "Meu", + "host_count": "Número de anfitriões:", + "agency_number": "Número de agências", + "team_salary": "Salário da equipe", + "team_recharge": "Recarga total da equipe", + "bd_number": "Número de BDs", + "no_policy_data_available": "Nenhum dado de política disponível", + "host_setting": "Configurações do anfitrião", + "my_agency": "Minha agência", + "tips": "Dicas", + "prompt": "Aviso", + "to_improve": "A melhorar", + "leave_agent_tips": "O anfitrião só pode deixar o agente atual nos dias 1 e 16 de cada mês.", + "loading": "Carregando", + "details": "Detalhes", + "failed_to_load_balance": "Falha ao carregar o saldo. Tente novamente.", + "failed_to_load_user_info": "Falha ao carregar as informações do usuário", + "please_select_coin_amount": "Primeiro selecione uma quantidade de moedas", + "insufficient_balance": "Saldo insuficiente. Seu saldo atual é ${balance}, mas você precisa de ${price} para trocar.", + "confirm_exchange_coins": "Deseja trocar moedas por ${price}?", + "exchange_success": "Moedas trocadas com sucesso por ${price}", + "exchange_failed": "Falha na troca. Tente novamente mais tarde.", + "exchange_error_occurred": "Ocorreu um erro durante a troca. Tente novamente mais tarde.", + "please_select_amount": "Primeiro selecione um valor", + "please_select_payee": "Primeiro selecione um beneficiário", + "enter_payment_password": "Insira sua senha de pagamento:", + "payment_password_required": "A senha de pagamento é obrigatória", + "transfer_coin_success": "{amount} moedas transferidas com sucesso para {name}", + "transfer_coin_failed": "Falha ao transferir {amount} moedas", + "transfer_dollar_success": "${price} transferidos com sucesso para {name}", + "transfer_dollar_failed": "Falha ao transferir ${price}", + "transfer_error": "Falha na transferência. Tente novamente mais tarde.", + "insufficient_item_vouchers": "Você não tem cupons de itens suficientes. Verifique a quantidade disponível.", + "search_payee": "Pesquisar beneficiário", + "checking_permissions": "Verificando permissões", + "searching": "Pesquisando", + "confirm_transfer_to_user": "Tem certeza de que deseja transferir moedas para este usuário?", + "user_not_found_or_search_failed": "Usuário não encontrado ou falha na pesquisa", + "application_record_not_found": "Registro da candidatura não encontrado", + "application_processed_cannot_cancel": "A candidatura foi processada e não pode ser cancelada", + "cancellation_failed_try_again": "Falha ao cancelar. Tente novamente.", + "error": "Erro", + "unknown_error": "Ocorreu um erro desconhecido", + "service_unavailable": "Serviço indisponível", + "exchange_not_available": "A função de troca não está disponível", + "team_not_found": "Equipe não encontrada", + "team_not_exist": "A equipe não existe ou foi dissolvida", + "request_not_acceptable": "Solicitação não aceitável", + "something_went_wrong": "Algo deu errado. Tente novamente.", + "confirm": "Confirmar", + "information_details": "Detalhes das informações", + "no_transaction_records": "Nenhum registro de transação", + "retry": "Tentar novamente", + "failed_to_load_data": "Falha ao carregar os dados", + "no_data_available": "Nenhum dado disponível", + "no_more_members": "Não há mais membros", + "failed_to_delete_member": "Falha ao excluir o membro. Tente novamente.", + "no_users_found": "Nenhum usuário encontrado", + "enter_user_id_to_search": "Insira o ID do usuário para pesquisar", + "total_recharge": "Recarga total", + "total_expenditure": "Despesa total", + "coins": "moedas", + "no_selling_records_yet": "Ainda não há registros de venda", + "users_message": "Mensagem do usuário", + "no_messages": "Nenhuma mensagem", + "agree": "Aceitar", + "refuse": "Recusar", + "unknown_user": "Usuário desconhecido", + "approved_application": "Candidatura de {name} aprovada", + "rejected_application": "Candidatura de {name} rejeitada", + "operation_failed": "Falha na operação. Tente novamente.", + "cash_out": "Sacar", + "complete_information": "Preencher informações", + "contact_number": "Número de contato", + "other_description": "Outra descrição", + "cash_withdrawal_tips": "Os saques exigem análise. Após a aprovação, aguarde o recebimento do valor.", + "receive": "Receber", + "rejection": "Rejeição", + "kyc": "KYC", + "transfer_coins": "Transferir moedas", + "plus_coins": "+{amount} moedas", + "enter_contact_number": "Insira seu número de contato", + "enter_other_description": "Insira outra descrição (por exemplo, sua conta do WhatsApp para entrarmos em contato).", + "passport_id_card_title": "Passaporte/Documento de identidade", + "submit": "Enviar", + "upload_failed": "Falha no envio", + "under_review": "Em análise", + "approved": "Aprovado", + "current_earnings_label": "Ganhos atuais:", + "current_earnings": "Ganhos atuais: ${amount}", + "transfer_to_recharge_agent": "Transferir para agente de recarga", + "select": "Selecionar", + "go_to_withdraw": "Ir para saque", + "ticket": "Bilhete", + "current_tickets": "Bilhetes atuais: {count}", + "task_for_tickets": "Tarefas para obter bilhetes", + "single_spin": "1 giro", + "ten_spin": "10 giros", + "minutes_short": "min", + "hours_short": "horas", + "on_mic_progress": "No microfone ({current}/{total} {unit})", + "send_gift_progress": "Enviar {current}/{total} presentes", + "invite_user_progress": "Convidar {current}/{total} usuários", + "withdrawable_amount": "Valor disponível para saque: {amount}", + "fill_info_tips": "Preencha as informações com atenção. Você só poderá sacar após concluir o preenchimento.", + "card_issue_tips": "* Se houver um problema com o número do cartão e a transferência não puder ser feita, a análise será rejeitada.", + "ranking_help_rule_1": "1. Os usuários podem celebrar o Eid al-Fitr enviando presentes da sorte indicados. Para cada presente indicado no valor de 1 moeda, a pontuação de generosidade aumenta em 1 ponto. Consulte a página do evento para mais detalhes.", + "ranking_help_rule_2": "2. Ao final do evento, os três primeiros colocados receberão prêmios especiais de itens, enviados diretamente às suas contas.", + "ranking_help_rule_3": "*Aviso", + "ranking_help_rule_4": "Se um jogador participar de forma indevida, a organização se reserva o direito de desclassificá-lo, banir a conta e retirar todas as recompensas, conforme a gravidade, sem aviso prévio, incluindo, entre outros:", + "ranking_help_rule_5": "a) Comentários maliciosos, boatos, insinuações etc. contra participantes durante o evento", + "ranking_help_rule_6": "b) Obtenção ilegal de moedas e presentes indicados", + "activity_apple_disclaimer": "*Esta atividade não tem relação com a Apple Inc.", + "recharge_help_rule_1": "1. O evento de recompensa por recarga ocorrerá de agora até 4 de abril de 2026.", + "recharge_help_rule_2": "2. Se a recarga acumulada do usuário atingir o valor necessário para criar itens exclusivos durante o evento, entre em contato imediatamente com a equipe oficial (ID: 10086, ID: 10000, ID: 10003, ID: 10001), envie uma captura de tela do evento e seu ID de usuário e informe os materiais ou requisitos dos itens exclusivos.", + "recharge_help_rule_3": "3. Usuários no mesmo dispositivo ou endereço IP podem criar várias contas, mas a recompensa da tarefa só pode ser resgatada uma vez.", + "withdrawal_help_rule_1": "1. Os usuários podem sacar quando seus ganhos em dólares atingirem $10.", + "withdrawal_help_rule_2": "2. Os usuários também podem trocar ou transferir para um agente de recarga para obter um retorno maior do que no saque.", + "withdrawal_help_rule_3": "3. Se o usuário não realizar nenhuma operação até o fim do evento, será considerado que desistiu de receber os dólares, que serão removidos pelo sistema.", + "bd": "BD", + "bd_leader": "Líder de BD", + "bd_salary": "Salário de BD", + "agency_list": "Lista de agências", + "bd_list": "Lista de BDs", + "bd_leader_history": "Histórico de Líderes de BD", + "current_status": "Status atual:", + "review_passed": "Análise aprovada", + "review_failed": "Análise rejeitada", + "awaiting_review": "Aguardando análise", + "withdrawal_method": "Método de saque", + "please_select_bank_card": "Selecione um cartão bancário", + "change_withdrawal_method": "Alterar método de saque", + "enter_cash_out_amount": "Insira o valor do saque", + "cash_out_min_amount_tip": "*O valor do saque deve ser >= $10", + "cash_withdraw": "Saque em dinheiro", + "bank_card": "Cartão bancário", + "currently_in_use": "Seu cartão (em uso)", + "no_bank_cards_in_use": "Nenhum cartão bancário está em uso.", + "all_bank_cards": "Todos os cartões bancários", + "no_bank_cards_added": "Nenhum cartão bancário foi adicionado.", + "card_number": "Número do cartão", + "add_payment_method": "Adicionar método de pagamento", + "category": "Categoria:", + "card_number_label": "Número do cartão:", + "payee": "Beneficiário", + "delete": "Excluir", + "use": "Usar", + "using": "Em uso", + "add_new_payment_method": "Adicionar novo método de pagamento", + "choose_withdrawal_method": "Escolher método de saque", + "card_name": "Nome do cartão", + "enter_card_name": "Insira o nome do cartão", + "enter_card_number": "Insira o número do cartão", + "enter_payee": "Insira o beneficiário", + "change_kyc": "Alterar KYC", + "confirm_modify_kyc": "Tem certeza de que deseja alterar as informações atuais?", + "salary_balance": "Saldo salarial: ${amount}", + "enter_withdraw_amount": "Insira o valor do saque", + "withdrawal_rule_1": "*(1) O valor do saque deve ser >=${amount}", + "withdrawal_rule_2": "(2) A plataforma cobrará uma taxa de {fee}% sobre o valor atual do saque.", + "admin_policy": "Política do administrador", + "invitation_to_register": "Convite para cadastro", + "total_invitations": "Total de convites:", + "todays_invitation": "Convites de hoje:", + "invitation_total_income": "Renda total:", + "todays_income": "Renda de hoje:", + "users": "Usuários", + "unbinding_time": "Data de desvinculação", + "prowide_income": "Renda provida", + "copied_successfully": "Copiado com sucesso", + "please_enter_valid_invitation_code": "Insira um código de convite válido.", + "please_enter_valid_amount": "Insira um valor válido.", + "invitation_code_bound_successfully": "Código de convite vinculado com sucesso!", + "invitation_code_binding_failed": "Falha ao vincular o código de convite.", + "user_id_prefix": "ID:", + "day_unit": "Dia", + "select_country": "Selecionar país", + "select_your_country": "Selecione seu país", + "my_information": "Minhas informações:", + "select_a_country": "Selecione um país:", + "min_transfer_amount": "Valor mínimo de transferência aceito:", + "min_transfer_amount_tip": "Os agentes de recarga podem escolher o valor mínimo que aceitam em transferências de usuários. Ele pode ser alterado no primeiro dia de cada mês. Por exemplo, se um agente passar a aceitar apenas transferências de $10 ou mais, usuários com transferências individuais abaixo de $10 não poderão enviar fundos para ele.", + "confirm_transfer_limit": "Tem certeza de que deseja selecionar este limite de transferência?", + "admin_center": "Central do Administrador", + "my_leader": "Meu líder:", + "my_role": "Minha função:", + "admin": "Administrador", + "task_completion_status": "Status de conclusão da tarefa:", + "team_earnings_this_period": "Ganhos da equipe neste período:", + "my_bd_leader_teams": "Minhas equipes de Líderes de BD", + "total_income": "Renda total:", + "my_bd_teams": "Minhas equipes de BD", + "my_agency_teams": "Minhas equipes de agências", + "number_of_recharge_agents_invited": "Número de agentes de recarga que convidei", + "send_welcome_gift": "Enviar presente de boas-vindas", + "user_editing": "Edição de usuário", + "room_editing": "Edição de sala", + "mic_usage_time": "Tempo de uso do microfone:", + "working_days_desc": "Dias trabalhados (2 horas equivalem a um dia):", + "new_bd_leaders_bound": "Novos Líderes de BD vinculados:", + "new_bds_bound": "Novos BDs vinculados:", + "new_agencies_bound": "Novas agências vinculadas:", + "ranking_wealth": "Riqueza", + "ranking_charm": "Charme", + "ranking_room": "Sala", + "ranking_daily": "Diário", + "ranking_weekly": "Semanal", + "ranking_monthly": "Mensal", + "ranking_hourly": "Por hora", + "good_id_placeholder": "Insira de 2 a 8 dígitos", + "my_wealth_level": "Meu nível de riqueza:", + "application_submitted_success": "Sua candidatura foi enviada com sucesso. Aguarde a análise!", + "error_wealth_level_insufficient": "Você precisa atingir o nível de riqueza 10 para solicitar um ID exclusivo.", + "error_invalid_id_format": "Insira um ID no formato correto.", + "error_already_applied": "Você já solicitou um ID exclusivo no nível de riqueza atual.", + "error_id_already_used": "O ID já está sendo usado por outro usuário.", + "recharge_placeholder": "Insira o ID do seu aplicativo", + "recharge_button": "Recarregar", + "faq_title": "Perguntas frequentes:", + "faq_question_1": "1. Pergunta:", + "faq_how_to_check_recharge": "Como verificar se a recarga foi recebida.", + "faq_answer_label": "Resposta:", + "faq_how_to_check_recharge_answer": "Primeiro, abra o aplicativo, acesse a página 'Eu', toque em 'Carteira' e selecione o registro de recargas no canto superior direito.", + "user_recharge_instructions": "Instruções de recarga do usuário:", + "recharge_instruction_1": "1. Antes da recarga, o usuário deve fornecer o ID correto do aplicativo.", + "recharge_instruction_2": "2. Após a recarga do revendedor, as moedas serão enviadas diretamente para a conta do revendedor de moedas.", + "recharge_instruction_3": "3. Como obter o ID de uma conta: (1) abra a página 'Eu' no aplicativo; (2) confira o ID da conta no topo da página.", + "recharge_instruction_4": "4. Se o ID informado pertencer a um revendedor de moedas, as moedas serão enviadas para a Central do Revendedor dessa conta.", + "bd_leaders_label": "Líderes de BD:", + "team_total_income_label": "Renda total da equipe:", + "number_of_agencies_personnel_label": "Número de membros de agências:", + "bd_leader_id_label": "ID do Líder de BD:", + "income_details_label": "Detalhes da renda:", + "agency_label": "Agência:", + "team_total_income_text": "Renda total da equipe:", + "team_total_income_text_capitalized": "Renda total da equipe:", + "bds_label": "BDs:", + "bd_id_label": "ID do BD:", + "agency_team_income": "Renda da equipe da agência:", + "agencies_label": "Agências:", + "agency_id_label": "ID da agência:", + "number_of_hosts_personnel_label": "Número de anfitriões:", + "host_label": "Anfitrião:", + "host_income_label": "Renda do anfitrião:", + "my_linked_recharge_agent": "Meu agente de recarga vinculado", + "my_total_income": "Minha renda total:", + "this_period_recharge": "Recarga deste período:", + "recharge_agency_list": "Lista de agências de recarga:", + "invite_recharge_agent": "Convidar usuário para se tornar agente de recarga", + "item_distribution": "Distribuição de itens", + "validity": "Validade", + "day": "dia", + "enter_user_id_placeholder": "Insira o ID do usuário", + "send": "Enviar", + "gift_delivery_successful": "Presente enviado com sucesso", + "frames": "Molduras", + "vehicles": "Veículos", + "chat_box": "Caixa de chat", + "theme": "Tema", + "vip": "VIP", + "bd_policy": "Política de BD", + "bd_leader_policy": "Política do Líder de BD", + "recharge_reward": "Recompensa por recarga", + "ranking": "Classificação", + "lottery": "Sorteio", + "withdraw": "Sacar", + "Accumulated recharge": "Recarga acumulada", + "Rewards": "Recompensas", + "Total Tickets": "Total de bilhetes", + "Rewards:": "Recompensas:", + "Total Tickets:({ usedCount }/100)": "Total de bilhetes: ({ usedCount }/100)", + "Lucky Dollars Medal*permanent": "Medalha Dólares da Sorte * permanente", + "Task for tickets": "Tarefas para obter bilhetes", + "done": "concluído", + "Daily total recharge amount: $1 ({currentValue}/{targetValue})": "Recarga diária total: $1 ({currentValue}/{targetValue})", + "Daily total recharge amount: $10 ({currentValue}/{targetValue})": "Recarga diária total: $10 ({currentValue}/{targetValue})", + "Daily total recharge amount: $50 ({currentValue}/{targetValue})": "Recarga diária total: $50 ({currentValue}/{targetValue})", + "Daily total recharge amount: $100 ({currentValue}/{targetValue})": "Recarga diária total: $100 ({currentValue}/{targetValue})", + "Win 50,000 coins in total across any games ({currentValue}/{targetValue})": "Ganhe um total de 50.000 moedas em quaisquer jogos. ({currentValue}/{targetValue})", + "Win 100,000 coins in total across any games ({currentValue}/{targetValue})": "Ganhe um total de 100.000 moedas em quaisquer jogos. ({currentValue}/{targetValue})", + "Win 500,000 coins in total across any games ({currentValue}/{targetValue})": "Ganhe um total de 500.000 moedas em quaisquer jogos. ({currentValue}/{targetValue})", + "Send 5 Ramadan gifts ({currentValue}/{targetValue})": "Envie 5 presentes do Ramadã. ({currentValue}/{targetValue})", + "exchange_success_coins": "Moedas trocadas com sucesso", + "exchange_failed_coins": "Falha na troca. Tente novamente mais tarde.", + "barrage_won_prize": "{nickname} ganhou {prizeName}", + "barrage_won_the_prize": "{nickname} ganhou o prêmio {prizeName}", + "sign_in_received": "Recebido", + "sign_in_free": "Grátis", + "sign_in_make_up": "Recuperar", + "no_relationship": "Você não está em um relacionamento no momento.", + "go_add_cp": "Adicionar CP", + "my_couple": "Meu casal", + "send_love_letter": "Enviar uma carta de amor", + "no_couples": "Não há casais no momento.", + "love_letter_placeholder": "Escreva o que deseja dizer...", + "publish_love_letter": "Deseja publicar o conteúdo da sua carta de amor?", + "love_letter_title": "Carta de amor", + "spend_5000_coins_confess": "Tem certeza de que deseja gastar 5.000 moedas para declarar seus sentimentos a ela?", + "insufficient_wallet_balance": "Saldo insuficiente na carteira,", + "consecutive_check_in_reward": "Recompensa por check-in consecutivo", + "check_in_successful": "Check-in realizado com sucesso.", + "you_get": "Você recebeu", + "not_enough_pieces": "Você não tem peças suficientes", + "confirm_item_exchange": "Tem certeza de que deseja trocar o item atual?", + "heartbeat_value_points_4_percent": "{amount} (4% dos pontos de Valor do Coração) * 2", + "heartbeat_value_points_3_percent": "{amount} (3% dos pontos de Valor do Coração) * 2", + "heartbeat_value_points_2_percent": "{amount} (2% dos pontos de Valor do Coração) * 2", + "task_go": "Ir >", + "task_receive": "Receber", + "task_received": "Recebido", + "remaining_lottery_tickets": "Bilhetes de sorteio restantes", + "how_to_get_ticket": "Como obter um bilhete", + "lucky_and_magical_gifts_win_gold_coins": "Presentes mágicos e da sorte dão moedas de ouro", + "win_coins_in_the_game": "Ganhe moedas no jogo", + "coins_per_get": "100000 moedas/vez", + "ramadan_kareem": "Ramadã Kareem", + "enter_invitation_code": "Inserir código de convite >", + "contact_your_inviter": "Contatar quem convidou você >", + "copy_invitation_code_tip": "*Copie seu código de convite e envie-o aos seus novos amigos.", + "share_invitation_message": "Baixe o aplicativo e insira o código de convite '{code}' para ter a chance de receber recompensas de até $100! Junte-se a nós e ganhe prêmios incríveis!", + "my_invitation_code": "Meu código de convite:", + "reward_days": "{quantity} dias", + "weekly_rank": "Classificação semanal", + "daily_rank": "Classificação diária", + "weekly_rewards": "Recompensas semanais", + "daily_rewards": "Recompensas diárias", + "active_game_current_daily_recharge_amount": "Valor da recarga diária atual: {amount}.", + "active_game_current_daily_game_spending": "Gasto diário atual no jogo: {coins} moedas.", + "active_game_task1_detail": "1. Meta diária: gaste ({progress} moedas). Desbloqueie uma recompensa de {reward} moedas para amanhã!", + "active_game_task2_detail": "2. Alcance ({progress}) para resgatar a recompensa atual.", + "active_game_level_label": "Nv.{level}", + "active_game_rule_1": "(1) Todas as recompensas em moedas obtidas hoje serão entregues no dia seguinte.", + "active_game_rule_2": "(2) A recompensa da Tarefa 2 deve ser resgatada manualmente.", + "active_game_rule_3": "(3) Você precisa concluir as duas tarefas para avançar ao próximo nível.", + "active_game_rule_4": "(4) A recarga diária será zerada às 00:00 (horário da Arábia Saudita). Usuários que concluíram a tarefa devem resgatar as recompensas a tempo. Recompensas não resgatadas ficarão indisponíveis após a redefinição.", + "active_game_vap_playback_failed": "Falha ao reproduzir VAP", + "active_game_claim_reward_failed": "Falha ao resgatar a recompensa", + "active_game_reward_gift": "Presentes personalizados *1", + "active_game_reward_frame": "Molduras personalizadas * 365 dias", + "active_game_reward_ride": "Veículos personalizados * 60 dias", + "active_game_reward_banner": "Banners personalizados * 15 dias", + "rule": "Regra", + "history": "Histórico", + "CollectCards to Win Prizes": "Colecione cartas para ganhar prêmios", + "Personal Rank": "Classificação pessoal", + "Room Rank": "Classificação de salas", + "Reward": "Recompensa", + "Ranking": "Classificação", + "gulben_collect_tip": "*Troque suas cartas e participe do sorteio de recompensas incríveis!", + "gulben_barrage_get_a": "Recebeu", + "gulben_remaining_tickets": "Bilhetes restantes: *{count}", + "gulben_coins_cost": "{count}/moedas", + "gulben_combine_count": "Combinar * {count}", + "gulben_redeem": "Trocar", + "gulben_accept": "Aceitar", + "gulben_rule_title_earn": "1. Como obter bilhetes:", + "gulben_rule_earn_1": "(1) Conclua as séries de tarefas indicadas para obter bilhetes.", + "gulben_rule_title_use": "2. Como usar os bilhetes:", + "gulben_rule_use_1": "(1) Cada bilhete pode ser usado para sortear aleatoriamente uma carta de categoria R.", + "gulben_rule_title_combine": "3. Combinação e melhoria de cartas:", + "gulben_rule_combine_1": "(1) Combine 5 cartas R diferentes para sortear aleatoriamente uma carta SR.", + "gulben_rule_combine_2": "(2) Combine 3 cartas SR diferentes para sortear aleatoriamente uma carta SSR.", + "gulben_rule_title_redeem": "4. Colete e troque por recompensas:", + "gulben_rule_redeem_1": "(1) Colete 5 cartas R diferentes para obter uma chance de sortear uma Recompensa Padrão.", + "gulben_rule_redeem_2": "(2) Colete 3 cartas SR diferentes para obter uma chance de sortear uma Recompensa Premium.", + "gulben_rule_redeem_3": "(3) Colete 2 cartas SSR diferentes para obter uma chance de sortear uma Recompensa Deluxe!", + "gulben_room_rule_title": "Regras da atividade:", + "gulben_room_rule_1": "1. A receita da sua sala será contabilizada durante a atividade. Ao final, as 10 salas mais bem classificadas receberão moedas e recompensas VIP conforme sua receita.", + "gulben_room_rule_2": "2. Este evento não tem relação com iPhone ou Google.", + "gulben_room_rule_3": "3. A organização se reserva o direito de interpretação final deste evento.", + "greedy_king_help_rule_1": "1. Quanto mais moedas um usuário acumular durante o evento, maior será sua classificação.", + "greedy_king_help_rule_2": "2. O evento durará 15 dias. Ao final, as recompensas serão distribuídas aos três primeiros usuários da classificação.", + "greedy_king_help_rule_3": "3. Os três primeiros usuários devem entrar em contato com a equipe oficial em tempo hábil para combinar o recebimento da recompensa em USD.", + "greedy_king_help_rule_4": "(1) Saque: forneça o ID da sua conta de recebimento USDT ou o respectivo código QR.", + "greedy_king_help_rule_5": "(2) Sem saque: se o valor for convertido em moedas, daremos 5% de moedas de ouro adicionais sobre o valor original ($1: 10500 moedas).", + "bounty_football_help_rule_1": "1. Quanto mais moedas um usuário acumular durante o evento, maior será sua classificação.", + "bounty_football_help_rule_2": "2. O evento durará 7 dias. Ao final, as recompensas serão distribuídas aos três primeiros usuários da classificação.", + "bounty_football_help_rule_3": "3. Aviso: se um jogador participar da atividade por meios indevidos, a organização se reserva o direito de desclassificá-lo, banir sua conta e retirar todas as recompensas conforme a gravidade, sem aviso prévio, incluindo, entre outros: a) comentários maliciosos, boatos, insinuações etc. contra participantes durante a atividade; b) obtenção ilegal de moedas e presentes indicados. *Esta atividade não tem relação com a Apple Inc.", + "weekly_star_help_rule_1": "1. A atividade ocorre semanalmente, das 05:00:00 (UTC+8) de cada segunda-feira às 04:59:59 (UTC+8) da segunda-feira seguinte.", + "weekly_star_help_rule_2": "2. A atividade Estrela Semanal recompensa os três primeiros jogadores conforme a classificação semanal final. Além das recompensas regulares, os vencedores recebem \"Fragmentos de Estrela Semanal\", que podem ser trocados na página específica.", + "weekly_star_help_rule_3": "3. 1 moeda = 1 ponto.", + "weekly_star_help_rule_4": "4. É necessário um mínimo de 1 milhão de pontos para concorrer às recompensas dos três primeiros lugares. Jogadores abaixo desse limite não receberão recompensas de classificação.", + "weekly_star_help_rule_5": "5. Após o fim da atividade, as recompensas serão entregues aos três primeiros jogadores da classificação Estrela Semanal em até 24 horas.", + "king_queen_help_rule_1": "1. Duração da atividade: começa às 05:00:00 (UTC+8) de cada segunda-feira e termina às 04:59:59 (UTC+8) da segunda-feira seguinte.", + "king_queen_help_rule_2": "2. Critérios de classificação — Rei: usuários classificados pelo valor total de moedas de ouro presenteadas. Rainha: usuários classificados pelo valor total de moedas de ouro gasto em presentes.", + "king_queen_help_rule_3": "3. Regra de pontuação: 1 moeda = 1 ponto.", + "king_queen_help_rule_4": "4. É necessário um mínimo de 1 milhão de pontos para concorrer às recompensas dos três primeiros lugares. Jogadores abaixo desse limite não receberão recompensas de classificação.", + "king_queen_help_rule_5": "5. Recompensas e distribuição: os três primeiros usuários das classificações Rei e Rainha receberão as recompensas correspondentes após o fim da atividade. As recompensas serão entregues às contas dos vencedores em até 3 dias úteis após o anúncio do resultado final." +} diff --git a/src/main.js b/src/main.js index fb73f97..08c8024 100644 --- a/src/main.js +++ b/src/main.js @@ -58,6 +58,9 @@ if (langParam) { finalLang = 'tr' } else if (langParam === 'bn') { finalLang = 'bn' + } else if (langParam.startsWith('pt')) { + // Portuguese regional variants (for example pt-BR and pt-PT) share one translation pack. + finalLang = 'pt' } } diff --git a/src/stores/lang.js b/src/stores/lang.js index 2958e99..d233519 100644 --- a/src/stores/lang.js +++ b/src/stores/lang.js @@ -29,6 +29,11 @@ export const useLangStore = defineStore('lang', () => { value: 'বাংলা', dir: 'ltr', }, + { + type: 'pt', + value: 'Português', + dir: 'ltr', + }, ]) const selectedLang = ref(langList.value[0])