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": "Bon Retour",
"subtitle": "Connectez-vous à votre compte",
"email": "E-mail",
"password": "Mot de Passe",
"rememberMe": "Se souvenir de moi",
"forgotPassword": "Mot de passe oublié ?",
"submit": "Se Connecter",
"noAccount": "Vous n'avez pas de compte ?",
"signUp": "S'inscrire",
"or": "Ou",
"continueWithGoogle": "Continuer avec Google",
"continueWithApple": "Continuer avec Apple",
"biometric": {
"useFaceId": "Use Face ID",
"useTouchId": "Use Touch ID",
"useFingerprint": "Use Fingerprint"
"useFaceId": "Utiliser Face ID",
"useTouchId": "Utiliser Touch ID",
"useFingerprint": "Utiliser l'Empreinte Digitale"
}
},
"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": "Créer un Compte",
"subtitle": "Rejoignez Maternal aujourd'hui",
"name": "Nom Complet",
"email": "E-mail",
"password": "Mot de Passe",
"confirmPassword": "Confirmer le Mot de Passe",
"agreeToTerms": "J'accepte les {{termsLink}} et la {{privacyLink}}",
"termsOfService": "Conditions d'Utilisation",
"privacyPolicy": "Politique de Confidentialité",
"submit": "Créer un Compte",
"hasAccount": "Vous avez déjà un compte ?",
"signIn": "Se connecter",
"or": "Ou",
"continueWithGoogle": "Continuer avec Google",
"continueWithApple": "Continuer avec 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": "Réinitialiser le Mot de Passe",
"subtitle": "Entrez votre e-mail pour recevoir un lien de réinitialisation",
"email": "E-mail",
"submit": "Envoyer le Lien de Réinitialisation",
"backToLogin": "Retour à la connexion",
"success": "Lien de réinitialisation envoyé ! Vérifiez votre e-mail.",
"checkEmail": "Nous avons envoyé un lien de réinitialisation de mot de passe à {{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": "Créer un Nouveau Mot de Passe",
"subtitle": "Entrez votre nouveau mot de passe",
"password": "Nouveau Mot de Passe",
"confirmPassword": "Confirmer le Mot de Passe",
"submit": "Réinitialiser le Mot de Passe",
"success": "Mot de passe réinitialisé avec succès !",
"backToLogin": "Retour à la connexion"
},
"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": "Vérifiez votre E-mail",
"subtitle": "Nous avons envoyé un code de vérification à {{email}}",
"code": "Code de Vérification",
"submit": "Vérifier",
"resend": "Renvoyer le Code",
"resendIn": "Renvoyer dans {{seconds}}s",
"success": "E-mail vérifié avec succès !",
"didNotReceive": "Vous n'avez pas reçu le code ?"
},
"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": "Veuillez entrer une adresse e-mail valide",
"invalidPassword": "Le mot de passe doit contenir au moins 8 caractères",
"passwordMismatch": "Les mots de passe ne correspondent pas",
"emailRequired": "L'e-mail est requis",
"passwordRequired": "Le mot de passe est requis",
"nameRequired": "Le nom est requis",
"termsRequired": "Vous devez accepter les conditions et la politique de confidentialité",
"invalidCredentials": "E-mail ou mot de passe invalide",
"emailExists": "Un compte avec cet e-mail existe déjà",
"weakPassword": "Le mot de passe est trop faible. Veuillez utiliser un mot de passe plus fort.",
"networkError": "Erreur réseau. Veuillez réessayer.",
"unknownError": "Une erreur s'est produite. Veuillez réessayer."
},
"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": "Le mot de passe doit contenir :",
"minLength": "Au moins 8 caractères",
"uppercase": "Au moins une lettre majuscule",
"lowercase": "Au moins une lettre minuscule",
"number": "Au moins un chiffre",
"special": "Au moins un caractère spécial"
}
}
}