feat: add password confirmation to register + fix i18n hardcoded strings

- Add confirmPassword field to registration form with Zod validation
- Replace ~30 hardcoded French/English strings in admin-settings-form
  with proper t() i18n calls (Ollama models, Custom models, search test)
- Extract SettingsHeader to client component for i18n support
- Add 15 i18n keys to all 15 locale files (auth + admin.ai + admin.tools)
- Remove debug "Config value" line from embeddings section

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-04-26 19:59:38 +02:00
parent bbaae76103
commit e358171c45
20 changed files with 385 additions and 114 deletions

View File

@@ -71,7 +71,17 @@
"providerCustomOption": "🔧 Custom OpenAI-Compatible",
"saved": "(Salvato)",
"chatProvider": "Provider chat",
"chatDescription": "Provider IA per l'assistente chat. Usa il provider tag se non configurato."
"chatDescription": "Provider IA per l'assistente chat. Usa il provider tag se non configurato.",
"fetchModelsFailed": "Impossibile recuperare i modelli",
"refreshModels": "Aggiorna modelli",
"configured": "Configurato",
"fetchingModels": "Recupero modelli...",
"clickToLoadModels": "Clicca ↺ per caricare i modelli",
"searchModel": "Cerca modello...",
"noModels": "Nessun modello. Clicca ↺",
"modelsAvailable": "{count} modello/i disponibile/i",
"enterUrlToLoad": "Inserisci URL e clicca ↺ per caricare",
"currentProvider": "(Attuale: {provider})"
},
"aiTest": {
"description": "Test your AI providers for tag generation and semantic search embeddings",
@@ -217,8 +227,11 @@
"jinaKeyDescription": "Utilizzato per lo scraping web. Funziona senza chiave ma con limiti di velocità.",
"saveSettings": "Salva Impostazioni Strumenti",
"updateSuccess": "Impostazioni strumenti aggiornate con successo",
"updateFailed": "Impossibile aggiornare le impostazioni strumenti"
}
"updateFailed": "Impossibile aggiornare le impostazioni strumenti",
"testing": "Test in corso...",
"testSearch": "Test ricerca web"
},
"settingsDescription": "Configura le impostazioni dell applicazione"
},
"ai": {
"analyzing": "AI analyzing...",
@@ -368,7 +381,9 @@
"signIn": "Accedi",
"signInToAccount": "Accedi al tuo account",
"signOut": "Sign out",
"signUp": "Registrati"
"signUp": "Registrati",
"confirmPassword": "Conferma password",
"confirmPasswordPlaceholder": "Conferma la tua password"
},
"autoLabels": {
"aiPowered": "Alimentato da AI",