feat: Complete Spanish, French, Portuguese, Chinese localization and add German/Italian support
Some checks failed
CI/CD Pipeline / Lint and Test (push) Has been cancelled
CI/CD Pipeline / E2E Tests (push) Has been cancelled
CI/CD Pipeline / Build Application (push) Has been cancelled

- Updated all Spanish (es) translation files with comprehensive translations for tracking, AI, family, insights, children, and settings pages
- Updated French (fr), Portuguese (pt), and Chinese (zh) translations to match English structure
- Added German (de) and Italian (it) language support with complete translation files
- Fixed medicine tracker route from /track/medication to /track/medicine
- Updated i18n config to support 7 languages: en, es, fr, pt, zh, de, it
- All tracking pages now fully localized: sleep, feeding, diaper, medicine, activity
- AI assistant interface fully translated with thinking messages and suggested questions
- Family management and insights pages now support all languages

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-10-03 15:03:02 +00:00
parent 41320638e5
commit 58c3a8d9d5
74 changed files with 5413 additions and 1735 deletions

View File

@@ -1,88 +1,88 @@
{
"login": {
"title": "Welcome Back",
"subtitle": "Sign in to your account",
"email": "Email",
"password": "Password",
"rememberMe": "Remember me",
"forgotPassword": "Forgot password?",
"submit": "Sign In",
"noAccount": "Don't have an account?",
"signUp": "Sign up",
"or": "Or",
"continueWithGoogle": "Continue with Google",
"continueWithApple": "Continue with Apple",
"title": "Bienvenido de Vuelta",
"subtitle": "Inicia sesión en tu cuenta",
"email": "Correo Electrónico",
"password": "Contraseña",
"rememberMe": "Recordarme",
"forgotPassword": "¿Olvidaste tu contraseña?",
"submit": "Iniciar Sesión",
"noAccount": "¿No tienes una cuenta?",
"signUp": "Regístrate",
"or": "O",
"continueWithGoogle": "Continuar con Google",
"continueWithApple": "Continuar con Apple",
"biometric": {
"useFaceId": "Use Face ID",
"useTouchId": "Use Touch ID",
"useFingerprint": "Use Fingerprint"
"useFaceId": "Usar Face ID",
"useTouchId": "Usar Touch ID",
"useFingerprint": "Usar Huella Digital"
}
},
"signup": {
"title": "Create Account",
"subtitle": "Join Maternal today",
"name": "Full Name",
"email": "Email",
"password": "Password",
"confirmPassword": "Confirm Password",
"agreeToTerms": "I agree to the {{termsLink}} and {{privacyLink}}",
"termsOfService": "Terms of Service",
"privacyPolicy": "Privacy Policy",
"submit": "Create Account",
"hasAccount": "Already have an account?",
"signIn": "Sign in",
"or": "Or",
"continueWithGoogle": "Continue with Google",
"continueWithApple": "Continue with Apple"
"title": "Crear Cuenta",
"subtitle": "Únete a Maternal hoy",
"name": "Nombre Completo",
"email": "Correo Electrónico",
"password": "Contraseña",
"confirmPassword": "Confirmar Contraseña",
"agreeToTerms": "Acepto los {{termsLink}} y la {{privacyLink}}",
"termsOfService": "Términos de Servicio",
"privacyPolicy": "Política de Privacidad",
"submit": "Crear Cuenta",
"hasAccount": "¿Ya tienes una cuenta?",
"signIn": "Iniciar sesión",
"or": "O",
"continueWithGoogle": "Continuar con Google",
"continueWithApple": "Continuar con Apple"
},
"forgotPassword": {
"title": "Reset Password",
"subtitle": "Enter your email to receive a reset link",
"email": "Email",
"submit": "Send Reset Link",
"backToLogin": "Back to login",
"success": "Reset link sent! Check your email.",
"checkEmail": "We've sent a password reset link to {{email}}"
"title": "Restablecer Contraseña",
"subtitle": "Ingresa tu correo para recibir un enlace de restablecimiento",
"email": "Correo Electrónico",
"submit": "Enviar Enlace de Restablecimiento",
"backToLogin": "Volver al inicio de sesión",
"success": "¡Enlace de restablecimiento enviado! Revisa tu correo.",
"checkEmail": "Hemos enviado un enlace de restablecimiento de contraseña a {{email}}"
},
"resetPassword": {
"title": "Create New Password",
"subtitle": "Enter your new password",
"password": "New Password",
"confirmPassword": "Confirm Password",
"submit": "Reset Password",
"success": "Password reset successfully!",
"backToLogin": "Back to login"
"title": "Crear Nueva Contraseña",
"subtitle": "Ingresa tu nueva contraseña",
"password": "Nueva Contraseña",
"confirmPassword": "Confirmar Contraseña",
"submit": "Restablecer Contraseña",
"success": "¡Contraseña restablecida exitosamente!",
"backToLogin": "Volver al inicio de sesión"
},
"verification": {
"title": "Verify Your Email",
"subtitle": "We've sent a verification code to {{email}}",
"code": "Verification Code",
"submit": "Verify",
"resend": "Resend Code",
"resendIn": "Resend in {{seconds}}s",
"success": "Email verified successfully!",
"didNotReceive": "Didn't receive the code?"
"title": "Verifica tu Correo",
"subtitle": "Hemos enviado un código de verificación a {{email}}",
"code": "Código de Verificación",
"submit": "Verificar",
"resend": "Reenviar Código",
"resendIn": "Reenviar en {{seconds}}s",
"success": "¡Correo verificado exitosamente!",
"didNotReceive": "¿No recibiste el código?"
},
"errors": {
"invalidEmail": "Please enter a valid email address",
"invalidPassword": "Password must be at least 8 characters",
"passwordMismatch": "Passwords do not match",
"emailRequired": "Email is required",
"passwordRequired": "Password is required",
"nameRequired": "Name is required",
"termsRequired": "You must agree to the terms and privacy policy",
"invalidCredentials": "Invalid email or password",
"emailExists": "An account with this email already exists",
"weakPassword": "Password is too weak. Please use a stronger password.",
"networkError": "Network error. Please try again.",
"unknownError": "An error occurred. Please try again."
"invalidEmail": "Por favor ingresa una dirección de correo válida",
"invalidPassword": "La contraseña debe tener al menos 8 caracteres",
"passwordMismatch": "Las contraseñas no coinciden",
"emailRequired": "El correo es requerido",
"passwordRequired": "La contraseña es requerida",
"nameRequired": "El nombre es requerido",
"termsRequired": "Debes aceptar los términos y la política de privacidad",
"invalidCredentials": "Correo o contraseña inválidos",
"emailExists": "Ya existe una cuenta con este correo",
"weakPassword": "La contraseña es muy débil. Por favor usa una contraseña más fuerte.",
"networkError": "Error de red. Por favor intenta de nuevo.",
"unknownError": "Ocurrió un error. Por favor intenta de nuevo."
},
"passwordRequirements": {
"title": "Password must contain:",
"minLength": "At least 8 characters",
"uppercase": "At least one uppercase letter",
"lowercase": "At least one lowercase letter",
"number": "At least one number",
"special": "At least one special character"
"title": "La contraseña debe contener:",
"minLength": "Al menos 8 caracteres",
"uppercase": "Al menos una letra mayúscula",
"lowercase": "Al menos una letra minúscula",
"number": "Al menos un número",
"special": "Al menos un carácter especial"
}
}
}