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": "🔧 Niestandardowy (kompatybilny z OpenAI)",
"saved": "(Zapisano)",
"chatProvider": "Dostawca czatu",
"chatDescription": "Dostawca AI dla asystenta czatu. Przechodzi do dostawcy tagów, jeśli nie jest skonfigurowany."
"chatDescription": "Dostawca AI dla asystenta czatu. Przechodzi do dostawcy tagów, jeśli nie jest skonfigurowany.",
"fetchModelsFailed": "Nie udało się pobrać modeli",
"refreshModels": "Odśwież modele",
"configured": "Skonfigurowany",
"fetchingModels": "Pobieranie modeli...",
"clickToLoadModels": "Kliknij ↺ aby załadować modele",
"searchModel": "Szukaj modelu...",
"noModels": "Brak modeli. Kliknij ↺",
"modelsAvailable": "{count} model(i) dostępny(e)",
"enterUrlToLoad": "Podaj URL i kliknij ↺",
"currentProvider": "(Bieżący: {provider})"
},
"aiTest": {
"description": "Przetestuj swoich dostawców AI pod kątem generowania tagów i embeddingów wyszukiwania semantycznego",
@@ -217,8 +227,11 @@
"jinaKeyDescription": "Używany do pobierania stron. Działa bez klucza, ale z limitami zapytań.",
"saveSettings": "Zapisz Ustawienia Narzędzi",
"updateSuccess": "Ustawienia narzędzi zaktualizowane pomyślnie",
"updateFailed": "Nie udało się zaktualizować ustawień narzędzi"
}
"updateFailed": "Nie udało się zaktualizować ustawień narzędzi",
"testing": "Testowanie...",
"testSearch": "Testuj wyszukiwanie"
},
"settingsDescription": "Konfiguruj ustawienia aplikacji"
},
"ai": {
"analyzing": "Analiza AI...",
@@ -368,7 +381,9 @@
"signIn": "Zaloguj się",
"signInToAccount": "Zaloguj się na swoje konto",
"signOut": "Wyloguj się",
"signUp": "Zarejestruj się"
"signUp": "Zarejestruj się",
"confirmPassword": "Potwierdź hasło",
"confirmPasswordPlaceholder": "Potwierdź swoje hasło"
},
"autoLabels": {
"aiPowered": "Wspierane przez AI",