Implement extensive localization improvements across forms and components

- Refactored `it.json` translations with added keys for authentication, admin panel, and settings.
- Updated authentication forms (`LoginForm`, `RegisterForm`, `PasswordResetConfirmForm`) to use localized strings via `next-intl`.
- Enhanced password validation schemas with dynamic translations and refined error messages.
- Adjusted `Header` and related components to include localized navigation and status elements.
- Improved placeholder hints, button labels, and inline validation messages for seamless localization.
This commit is contained in:
Felipe Cardoso
2025-11-19 03:02:13 +01:00
parent 333c9c40af
commit 7aa63d79df
9 changed files with 421 additions and 214 deletions

View File

@@ -26,10 +26,13 @@
"settings": "Impostazioni",
"profile": "Profilo",
"logout": "Disconnetti",
"loggingOut": "Disconnessione...",
"login": "Accedi",
"register": "Registrati",
"demos": "Demo",
"design": "Design System"
"design": "Design System",
"admin": "Admin",
"adminPanel": "Pannello Admin"
},
"auth": {
"login": {
@@ -42,10 +45,12 @@
"rememberMe": "Ricordami",
"forgotPassword": "Password dimenticata?",
"loginButton": "Accedi",
"loginButtonLoading": "Accesso in corso...",
"noAccount": "Non hai un account?",
"registerLink": "Registrati",
"success": "Accesso effettuato con successo",
"error": "Email o password non validi"
"error": "Email o password non validi",
"unexpectedError": "Si è verificato un errore imprevisto. Riprova."
},
"register": {
"title": "Crea un account",
@@ -53,63 +58,142 @@
"firstNameLabel": "Nome",
"firstNamePlaceholder": "Mario",
"lastNameLabel": "Cognome",
"lastNamePlaceholder": "Rossi",
"lastNamePlaceholder": "Rossi (facoltativo)",
"emailLabel": "Email",
"emailPlaceholder": "nome@esempio.com",
"passwordLabel": "Password",
"passwordPlaceholder": "Crea una password sicura",
"confirmPasswordLabel": "Conferma Password",
"confirmPasswordPlaceholder": "Reinserisci la tua password",
"confirmPasswordPlaceholder": "Conferma la tua password",
"phoneLabel": "Numero di Telefono",
"phonePlaceholder": "+39 123 456 7890",
"registerButton": "Crea Account",
"registerButton": "Crea account",
"registerButtonLoading": "Creazione account...",
"hasAccount": "Hai già un account?",
"loginLink": "Accedi",
"success": "Account creato con successo",
"error": "Impossibile creare l'account"
"error": "Impossibile creare l'account",
"unexpectedError": "Si è verificato un errore imprevisto. Riprova.",
"passwordRequirements": {
"minLength": "Almeno 8 caratteri",
"hasNumber": "Contiene un numero",
"hasUppercase": "Contiene una lettera maiuscola"
},
"required": "*",
"firstNameRequired": "Il nome è obbligatorio",
"firstNameMinLength": "Il nome deve essere di almeno 2 caratteri",
"firstNameMaxLength": "Il nome non deve superare i 50 caratteri",
"lastNameMaxLength": "Il cognome non deve superare i 50 caratteri",
"passwordRequired": "La password è obbligatoria",
"passwordMinLength": "La password deve essere di almeno 8 caratteri",
"passwordNumber": "La password deve contenere almeno un numero",
"passwordUppercase": "La password deve contenere almeno una lettera maiuscola",
"confirmPasswordRequired": "Conferma la tua password",
"passwordMismatch": "Le password non corrispondono"
},
"passwordReset": {
"title": "Reimposta la tua password",
"subtitle": "Inserisci il tuo indirizzo email e ti invieremo un link per reimpostare la password",
"instructions": "Inserisci il tuo indirizzo email e ti invieremo le istruzioni per reimpostare la password.",
"emailLabel": "Email",
"emailPlaceholder": "nome@esempio.com",
"sendButton": "Invia Link di Reset",
"sendButton": "Invia Istruzioni di Reset",
"sendButtonLoading": "Invio in corso...",
"backToLogin": "Torna al login",
"success": "Link di reset password inviato alla tua email",
"error": "Impossibile inviare il link di reset"
"rememberPassword": "Ricordi la tua password?",
"success": "Le istruzioni per il reset della password sono state inviate al tuo indirizzo email. Controlla la tua casella di posta.",
"error": "Impossibile inviare il link di reset",
"unexpectedError": "Si è verificato un errore imprevisto. Riprova.",
"required": "*"
},
"passwordChange": {
"title": "Cambia Password",
"currentPasswordLabel": "Password Attuale",
"newPasswordLabel": "Nuova Password",
"newPasswordPlaceholder": "Inserisci nuova password",
"confirmPasswordLabel": "Conferma Nuova Password",
"confirmPasswordPlaceholder": "Reinserisci nuova password",
"changeButton": "Cambia Password",
"success": "Password cambiata con successo",
"error": "Impossibile cambiare la password"
},
"passwordResetConfirm": {
"title": "Reimposta Password",
"instructions": "Inserisci la tua nuova password qui sotto. Assicurati che soddisfi tutti i requisiti di sicurezza.",
"newPasswordLabel": "Nuova Password",
"newPasswordPlaceholder": "Inserisci nuova password",
"confirmPasswordLabel": "Conferma Password",
"confirmPasswordPlaceholder": "Reinserisci nuova password",
"resetButton": "Reimposta Password",
"resetButtonLoading": "Reimpostazione Password...",
"rememberPassword": "Ricordi la tua password?",
"backToLogin": "Torna al login",
"success": "La tua password è stata reimpostata con successo. Ora puoi accedere con la tua nuova password.",
"unexpectedError": "Si è verificato un errore imprevisto. Riprova.",
"required": "*",
"tokenRequired": "Token di reset è obbligatorio",
"passwordRequired": "La nuova password è obbligatoria",
"passwordMinLength": "La password deve essere di almeno 8 caratteri",
"passwordNumber": "La password deve contenere almeno un numero",
"passwordUppercase": "La password deve contenere almeno una lettera maiuscola",
"confirmPasswordRequired": "Conferma la tua password",
"passwordMismatch": "Le password non corrispondono",
"passwordRequirements": {
"minLength": "Almeno 8 caratteri",
"hasNumber": "Contiene un numero",
"hasUppercase": "Contiene una lettera maiuscola"
}
}
},
"settings": {
"title": "Impostazioni",
"profile": {
"title": "Profilo",
"subtitle": "Gestisci le informazioni del tuo profilo",
"title": "Informazioni Profilo",
"subtitle": "Aggiorna le tue informazioni personali. Il tuo indirizzo email è di sola lettura.",
"firstNameLabel": "Nome",
"firstNamePlaceholder": "Mario",
"lastNameLabel": "Cognome",
"lastNamePlaceholder": "Rossi",
"emailLabel": "Email",
"emailDescription": "Il tuo indirizzo email non può essere modificato da questo modulo",
"phoneLabel": "Numero di Telefono",
"updateButton": "Aggiorna Profilo",
"updateButton": "Salva Modifiche",
"updateButtonLoading": "Salvataggio...",
"resetButton": "Ripristina",
"success": "Profilo aggiornato con successo",
"error": "Impossibile aggiornare il profilo"
"error": "Impossibile aggiornare il profilo",
"unexpectedError": "Si è verificato un errore imprevisto. Riprova.",
"firstNameRequired": "Il nome è obbligatorio",
"firstNameMinLength": "Il nome deve essere di almeno 2 caratteri",
"firstNameMaxLength": "Il nome non deve superare i 50 caratteri",
"lastNameMaxLength": "Il cognome non deve superare i 50 caratteri",
"emailInvalid": "Indirizzo email non valido"
},
"password": {
"title": "Password",
"subtitle": "Cambia la password del tuo account",
"title": "Cambia Password",
"subtitle": "Aggiorna la tua password per mantenere il tuo account sicuro. Assicurati che sia forte e univoca.",
"currentPasswordLabel": "Password Attuale",
"currentPasswordPlaceholder": "Inserisci la tua password attuale",
"newPasswordLabel": "Nuova Password",
"newPasswordPlaceholder": "Inserisci la tua nuova password",
"newPasswordDescription": "Almeno 8 caratteri con maiuscole, minuscole, numeri e caratteri speciali",
"confirmPasswordLabel": "Conferma Nuova Password",
"updateButton": "Aggiorna Password",
"confirmPasswordPlaceholder": "Conferma la tua nuova password",
"updateButton": "Cambia Password",
"updateButtonLoading": "Cambio Password...",
"cancelButton": "Annulla",
"success": "Password aggiornata con successo",
"error": "Impossibile aggiornare la password"
"error": "Impossibile aggiornare la password",
"unexpectedError": "Si è verificato un errore imprevisto. Riprova.",
"currentPasswordRequired": "La password attuale è obbligatoria",
"newPasswordRequired": "La nuova password è obbligatoria",
"newPasswordMinLength": "La password deve essere di almeno 8 caratteri",
"newPasswordNumber": "La password deve contenere almeno un numero",
"newPasswordUppercase": "La password deve contenere almeno una lettera maiuscola",
"newPasswordLowercase": "La password deve contenere almeno una lettera minuscola",
"newPasswordSpecial": "La password deve contenere almeno un carattere speciale",
"confirmPasswordRequired": "Conferma la tua nuova password",
"passwordMismatch": "Le password non corrispondono"
},
"sessions": {
"title": "Sessioni",