feat: Complete Spanish, French, Portuguese, Chinese localization and add German/Italian support
- 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:
@@ -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"
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user