- Add go-i18n package for internationalization - Create i18n middleware to extract Accept-Language header - Add translation files for en, es, fr, de, pt languages - Localize all handler error messages and responses - Add language context to all API handlers Supported languages: English, Spanish, French, German, Portuguese 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
188 lines
9.8 KiB
JSON
188 lines
9.8 KiB
JSON
{
|
|
"error.invalid_request_body": "Corpo da solicitacao invalido",
|
|
"error.invalid_credentials": "Credenciais invalidas",
|
|
"error.account_inactive": "A conta esta inativa",
|
|
"error.username_taken": "Nome de usuario ja em uso",
|
|
"error.email_taken": "Email ja registrado",
|
|
"error.email_already_taken": "Email ja em uso",
|
|
"error.registration_failed": "Falha no registro",
|
|
"error.not_authenticated": "Nao autenticado",
|
|
"error.failed_to_get_user": "Falha ao obter usuario",
|
|
"error.failed_to_update_profile": "Falha ao atualizar perfil",
|
|
"error.invalid_verification_code": "Codigo de verificacao invalido",
|
|
"error.verification_code_expired": "O codigo de verificacao expirou",
|
|
"error.email_already_verified": "Email ja verificado",
|
|
"error.verification_failed": "Falha na verificacao",
|
|
"error.failed_to_resend_verification": "Falha ao reenviar verificacao",
|
|
"error.rate_limit_exceeded": "Muitas solicitacoes de redefinicao de senha. Por favor, tente novamente mais tarde.",
|
|
"error.too_many_attempts": "Muitas tentativas. Por favor, solicite um novo codigo.",
|
|
"error.invalid_reset_token": "Token de redefinicao invalido ou expirado",
|
|
"error.password_reset_failed": "Falha na redefinicao de senha",
|
|
"error.apple_signin_not_configured": "O login com Apple nao esta configurado",
|
|
"error.apple_signin_failed": "Falha no login com Apple",
|
|
"error.invalid_apple_token": "Token de identidade Apple invalido",
|
|
|
|
"error.invalid_task_id": "ID da tarefa invalido",
|
|
"error.invalid_residence_id": "ID da propriedade invalido",
|
|
"error.invalid_contractor_id": "ID do prestador invalido",
|
|
"error.invalid_document_id": "ID do documento invalido",
|
|
"error.invalid_completion_id": "ID de conclusao invalido",
|
|
"error.invalid_user_id": "ID do usuario invalido",
|
|
"error.invalid_notification_id": "ID da notificacao invalido",
|
|
"error.invalid_device_id": "ID do dispositivo invalido",
|
|
|
|
"error.task_not_found": "Tarefa nao encontrada",
|
|
"error.residence_not_found": "Propriedade nao encontrada",
|
|
"error.contractor_not_found": "Prestador nao encontrado",
|
|
"error.document_not_found": "Documento nao encontrado",
|
|
"error.completion_not_found": "Conclusao da tarefa nao encontrada",
|
|
"error.user_not_found": "Usuario nao encontrado",
|
|
"error.share_code_invalid": "Codigo de compartilhamento invalido",
|
|
"error.share_code_expired": "O codigo de compartilhamento expirou",
|
|
|
|
"error.task_access_denied": "Voce nao tem acesso a esta tarefa",
|
|
"error.residence_access_denied": "Voce nao tem acesso a esta propriedade",
|
|
"error.contractor_access_denied": "Voce nao tem acesso a este prestador",
|
|
"error.document_access_denied": "Voce nao tem acesso a este documento",
|
|
"error.not_residence_owner": "Apenas o proprietario pode realizar esta acao",
|
|
"error.cannot_remove_owner": "Nao e possivel remover o proprietario",
|
|
"error.user_already_member": "O usuario ja e membro desta propriedade",
|
|
"error.properties_limit_reached": "Voce atingiu o numero maximo de propriedades para sua assinatura",
|
|
|
|
"error.task_already_cancelled": "A tarefa ja esta cancelada",
|
|
"error.task_already_archived": "A tarefa ja esta arquivada",
|
|
|
|
"error.failed_to_parse_form": "Falha ao analisar o formulario",
|
|
"error.task_id_required": "task_id e obrigatorio",
|
|
"error.invalid_task_id_value": "task_id invalido",
|
|
"error.failed_to_upload_image": "Falha ao enviar imagem",
|
|
"error.residence_id_required": "residence_id e obrigatorio",
|
|
"error.invalid_residence_id_value": "residence_id invalido",
|
|
"error.title_required": "Titulo e obrigatorio",
|
|
"error.failed_to_upload_file": "Falha ao enviar arquivo",
|
|
|
|
"message.logged_out": "Logout realizado com sucesso",
|
|
"message.email_verified": "Email verificado com sucesso",
|
|
"message.verification_email_sent": "Email de verificacao enviado",
|
|
"message.password_reset_email_sent": "Se existir uma conta com este email, um codigo de redefinicao foi enviado.",
|
|
"message.reset_code_verified": "Codigo verificado com sucesso",
|
|
"message.password_reset_success": "Senha redefinida com sucesso. Por favor, faca login com sua nova senha.",
|
|
|
|
"message.task_deleted": "Tarefa excluida com sucesso",
|
|
"message.task_in_progress": "Tarefa marcada como em andamento",
|
|
"message.task_cancelled": "Tarefa cancelada",
|
|
"message.task_uncancelled": "Tarefa reativada",
|
|
"message.task_archived": "Tarefa arquivada",
|
|
"message.task_unarchived": "Tarefa desarquivada",
|
|
"message.completion_deleted": "Conclusao excluida com sucesso",
|
|
|
|
"message.residence_deleted": "Propriedade excluida com sucesso",
|
|
"message.user_removed": "Usuario removido da propriedade",
|
|
"message.tasks_report_generated": "Relatorio de tarefas gerado com sucesso",
|
|
"message.tasks_report_sent": "Relatorio de tarefas gerado e enviado para {{.Email}}",
|
|
"message.tasks_report_email_failed": "Relatorio de tarefas gerado mas o email nao pode ser enviado",
|
|
|
|
"message.contractor_deleted": "Prestador excluido com sucesso",
|
|
|
|
"message.document_deleted": "Documento excluido com sucesso",
|
|
"message.document_activated": "Documento ativado",
|
|
"message.document_deactivated": "Documento desativado",
|
|
|
|
"message.notification_marked_read": "Notificação marcada como lida",
|
|
"message.all_notifications_marked_read": "Todas as notificações marcadas como lidas",
|
|
"message.device_removed": "Dispositivo removido",
|
|
|
|
"message.subscription_upgraded": "Assinatura atualizada com sucesso",
|
|
"message.subscription_cancelled": "Assinatura cancelada. Você manterá os benefícios Pro até o final do seu período de faturamento.",
|
|
"message.subscription_restored": "Assinatura restaurada com sucesso",
|
|
|
|
"message.file_deleted": "Arquivo excluído com sucesso",
|
|
"message.static_data_refreshed": "Dados estáticos atualizados",
|
|
|
|
"error.notification_not_found": "Notificação não encontrada",
|
|
"error.invalid_platform": "Plataforma inválida",
|
|
|
|
"error.upgrade_trigger_not_found": "Gatilho de atualização não encontrado",
|
|
"error.receipt_data_required": "receipt_data é obrigatório para iOS",
|
|
"error.purchase_token_required": "purchase_token é obrigatório para Android",
|
|
|
|
"error.no_file_provided": "Nenhum arquivo fornecido",
|
|
|
|
"error.failed_to_fetch_residence_types": "Falha ao buscar tipos de propriedade",
|
|
"error.failed_to_fetch_task_categories": "Falha ao buscar categorias de tarefas",
|
|
"error.failed_to_fetch_task_priorities": "Falha ao buscar prioridades de tarefas",
|
|
"error.failed_to_fetch_task_frequencies": "Falha ao buscar frequências de tarefas",
|
|
"error.failed_to_fetch_task_statuses": "Falha ao buscar status de tarefas",
|
|
"error.failed_to_fetch_contractor_specialties": "Falha ao buscar especialidades de prestadores",
|
|
|
|
"push.task_due_soon.title": "Tarefa Proxima do Vencimento",
|
|
"push.task_due_soon.body": "{{.TaskTitle}} vence em {{.DueDate}}",
|
|
"push.task_overdue.title": "Tarefa Atrasada",
|
|
"push.task_overdue.body": "{{.TaskTitle}} esta atrasada",
|
|
"push.task_completed.title": "Tarefa Concluida",
|
|
"push.task_completed.body": "{{.UserName}} concluiu {{.TaskTitle}}",
|
|
"push.task_assigned.title": "Nova Tarefa Atribuida",
|
|
"push.task_assigned.body": "{{.TaskTitle}} foi atribuida a voce",
|
|
"push.residence_shared.title": "Propriedade Compartilhada",
|
|
"push.residence_shared.body": "{{.UserName}} compartilhou {{.ResidenceName}} com voce",
|
|
|
|
"email.welcome.subject": "Bem-vindo ao Casera!",
|
|
"email.verification.subject": "Verifique Seu Email",
|
|
"email.password_reset.subject": "Codigo de Redefinicao de Senha",
|
|
"email.tasks_report.subject": "Relatorio de Tarefas para {{.ResidenceName}}",
|
|
|
|
"lookup.residence_type.house": "Casa",
|
|
"lookup.residence_type.apartment": "Apartamento",
|
|
"lookup.residence_type.condo": "Condominio",
|
|
"lookup.residence_type.townhouse": "Sobrado",
|
|
"lookup.residence_type.mobile_home": "Casa Movel",
|
|
"lookup.residence_type.other": "Outro",
|
|
|
|
"lookup.task_category.plumbing": "Encanamento",
|
|
"lookup.task_category.electrical": "Eletrica",
|
|
"lookup.task_category.hvac": "Climatizacao",
|
|
"lookup.task_category.appliances": "Eletrodomesticos",
|
|
"lookup.task_category.exterior": "Exterior",
|
|
"lookup.task_category.interior": "Interior",
|
|
"lookup.task_category.landscaping": "Paisagismo",
|
|
"lookup.task_category.safety": "Seguranca",
|
|
"lookup.task_category.cleaning": "Limpeza",
|
|
"lookup.task_category.pest_control": "Controle de Pragas",
|
|
"lookup.task_category.seasonal": "Sazonal",
|
|
"lookup.task_category.other": "Outro",
|
|
|
|
"lookup.task_priority.low": "Baixa",
|
|
"lookup.task_priority.medium": "Media",
|
|
"lookup.task_priority.high": "Alta",
|
|
"lookup.task_priority.urgent": "Urgente",
|
|
|
|
"lookup.task_status.pending": "Pendente",
|
|
"lookup.task_status.in_progress": "Em Andamento",
|
|
"lookup.task_status.completed": "Concluida",
|
|
"lookup.task_status.cancelled": "Cancelada",
|
|
"lookup.task_status.archived": "Arquivada",
|
|
|
|
"lookup.task_frequency.once": "Uma Vez",
|
|
"lookup.task_frequency.daily": "Diario",
|
|
"lookup.task_frequency.weekly": "Semanal",
|
|
"lookup.task_frequency.biweekly": "Quinzenal",
|
|
"lookup.task_frequency.monthly": "Mensal",
|
|
"lookup.task_frequency.quarterly": "Trimestral",
|
|
"lookup.task_frequency.semiannually": "Semestral",
|
|
"lookup.task_frequency.annually": "Anual",
|
|
|
|
"lookup.contractor_specialty.plumber": "Encanador",
|
|
"lookup.contractor_specialty.electrician": "Eletricista",
|
|
"lookup.contractor_specialty.hvac_technician": "Tecnico de Climatizacao",
|
|
"lookup.contractor_specialty.handyman": "Faz-tudo",
|
|
"lookup.contractor_specialty.landscaper": "Paisagista",
|
|
"lookup.contractor_specialty.roofer": "Telhadista",
|
|
"lookup.contractor_specialty.painter": "Pintor",
|
|
"lookup.contractor_specialty.carpenter": "Carpinteiro",
|
|
"lookup.contractor_specialty.pest_control": "Controle de Pragas",
|
|
"lookup.contractor_specialty.cleaning": "Limpeza",
|
|
"lookup.contractor_specialty.pool_service": "Servico de Piscina",
|
|
"lookup.contractor_specialty.general_contractor": "Empreiteiro Geral",
|
|
"lookup.contractor_specialty.other": "Outro"
|
|
}
|