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": "(Guardado)",
"chatProvider": "Proveedor de chat",
"chatDescription": "Proveedor de IA para el asistente de chat. Usa el proveedor de etiquetas si no está configurado."
"chatDescription": "Proveedor de IA para el asistente de chat. Usa el proveedor de etiquetas si no está configurado.",
"fetchModelsFailed": "Error al obtener modelos",
"refreshModels": "Actualizar modelos",
"configured": "Configurado",
"fetchingModels": "Obteniendo modelos...",
"clickToLoadModels": "Haga clic en ↺ para cargar modelos",
"searchModel": "Buscar modelo...",
"noModels": "Sin modelos. Haga clic en ↺",
"modelsAvailable": "{count} modelo(s) disponible(s)",
"enterUrlToLoad": "Ingrese la URL y haga clic en ↺",
"currentProvider": "(Actual: {provider})"
},
"aiTest": {
"description": "Prueba tus proveedores de IA para generación de etiquetas y embeddings de búsqueda semántica",
@@ -217,8 +227,11 @@
"jinaKeyDescription": "Usada para scraping web. Funciona sin clave pero con límites de tasa.",
"saveSettings": "Guardar Configuración de Herramientas",
"updateSuccess": "Configuración de herramientas actualizada exitosamente",
"updateFailed": "Error al actualizar la configuración de herramientas"
}
"updateFailed": "Error al actualizar la configuración de herramientas",
"testing": "Probando...",
"testSearch": "Probar búsqueda web"
},
"settingsDescription": "Configurar ajustes de la aplicación"
},
"ai": {
"analyzing": "IA analizando...",
@@ -368,7 +381,9 @@
"signIn": "Iniciar sesión",
"signInToAccount": "Inicia sesión en tu cuenta",
"signOut": "Sign out",
"signUp": "Registrarse"
"signUp": "Registrarse",
"confirmPassword": "Confirmar contraseña",
"confirmPasswordPlaceholder": "Confirme su contraseña"
},
"autoLabels": {
"analyzing": "Analizando tus notas...",