edd4580a5a
Implementazione completa del frontend Flask: - Layout base.html con TailwindCSS CDN, dark/light theme, flash messages - Navbar responsive role-based (Maker, MeasurementTec, Metrologist, Admin) - Login page professionale con form + API integration - Profilo utente: nome, lingua, tema, badge ruoli - Sistema tema dark/light: CSS variables + Alpine.js store + localStorage - i18n completo IT/EN: Flask-Babel (.po) + alpinejs-i18n (JSON) - API Client riscritto: error handling normalizzato, no crash su 4xx/5xx - CSRF protection con Flask-WTF su tutti i form - Logo aziendale dinamico da system_settings - Asset SVG: tmflow-logo.svg + tmflow-icon.svg (favicon) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
77 lines
1.8 KiB
JSON
77 lines
1.8 KiB
JSON
{
|
|
"numpad": {
|
|
"title": "Tastierino Numerico",
|
|
"clear": "Cancella",
|
|
"submit": "Conferma",
|
|
"decimal": "Virgola",
|
|
"close": "Chiudi"
|
|
},
|
|
"measurement": {
|
|
"pass": "Conforme",
|
|
"warning": "Attenzione",
|
|
"fail": "Non Conforme",
|
|
"value": "Valore",
|
|
"next": "Prossima misura"
|
|
},
|
|
"common": {
|
|
"loading": "Caricamento...",
|
|
"save": "Salva",
|
|
"cancel": "Annulla",
|
|
"confirm": "Conferma",
|
|
"delete": "Elimina",
|
|
"edit": "Modifica",
|
|
"search": "Cerca...",
|
|
"noResults": "Nessun risultato",
|
|
"close": "Chiudi",
|
|
"error": "Errore",
|
|
"success": "Successo",
|
|
"warning": "Attenzione",
|
|
"info": "Info",
|
|
"page": "Pagina",
|
|
"of": "di",
|
|
"previous": "Precedente",
|
|
"next": "Successivo"
|
|
},
|
|
"theme": {
|
|
"light": "Chiaro",
|
|
"dark": "Scuro",
|
|
"toggle": "Cambia tema"
|
|
},
|
|
"language": {
|
|
"switch": "Cambia lingua",
|
|
"it": "Italiano",
|
|
"en": "English"
|
|
},
|
|
"auth": {
|
|
"login": "Accedi al sistema",
|
|
"username": "Username",
|
|
"password": "Password",
|
|
"signIn": "Accedi",
|
|
"invalidCredentials": "Credenziali non valide",
|
|
"enterCredentials": "Inserisci username e password",
|
|
"forgotPassword": "Hai dimenticato la password? Contatta l'amministratore",
|
|
"welcome": "Benvenuto, {name}!",
|
|
"logoutSuccess": "Logout effettuato",
|
|
"loginRequired": "Effettua il login per continuare"
|
|
},
|
|
"nav": {
|
|
"measurements": "Misure",
|
|
"recipes": "Ricette",
|
|
"statistics": "Statistiche",
|
|
"admin": "Admin",
|
|
"users": "Utenti",
|
|
"settings": "Impostazioni",
|
|
"profile": "Profilo",
|
|
"logout": "Esci"
|
|
},
|
|
"profile": {
|
|
"title": "Profilo Utente",
|
|
"displayName": "Nome Visualizzato",
|
|
"language": "Lingua",
|
|
"theme": "Tema",
|
|
"roles": "Ruoli",
|
|
"saveChanges": "Salva Modifiche",
|
|
"updateSuccess": "Profilo aggiornato con successo"
|
|
}
|
|
}
|