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": "🔧 사용자 정의 OpenAI 호환",
"saved": "(저장됨)",
"chatProvider": "채팅 공급자",
"chatDescription": "채팅 도우미를 위한 AI 공급자입니다. 구성되지 않은 경우 태그 공급자를 대신 사용합니다."
"chatDescription": "채팅 도우미를 위한 AI 공급자입니다. 구성되지 않은 경우 태그 공급자를 대신 사용합니다.",
"fetchModelsFailed": "모델을 가져오지 못했습니다",
"refreshModels": "모델 새로고침",
"configured": "구성됨",
"fetchingModels": "모델 가져오는 중...",
"clickToLoadModels": "↺ 클릭하여 모델 로드",
"searchModel": "모델 검색...",
"noModels": "모델 없음. ↺ 클릭",
"modelsAvailable": "{count}개 모델 사용 가능",
"enterUrlToLoad": "URL 입력 후 ↺ 클릭",
"currentProvider": "(현재: {provider})"
},
"aiTest": {
"description": "태그 생성 및 의미 검색 임베딩을 위한 AI 공급자 테스트",
@@ -217,8 +227,11 @@
"jinaKeyDescription": "웹 스크랩에 사용됩니다. 키 없이도 작동하지만 속도 제한이 적용됩니다.",
"saveSettings": "도구 설정 저장",
"updateSuccess": "도구 설정이 성공적으로 업데이트되었습니다",
"updateFailed": "도구 설정 업데이트 실패"
}
"updateFailed": "도구 설정 업데이트 실패",
"testing": "테스트 중...",
"testSearch": "웹 검색 테스트"
},
"settingsDescription": "애플리케이션 설정 구성"
},
"ai": {
"analyzing": "AI 분석 중...",
@@ -368,7 +381,9 @@
"signIn": "로그인",
"signInToAccount": "계정에 로그인하세요",
"signOut": "로그아웃",
"signUp": "회원가입"
"signUp": "회원가입",
"confirmPassword": "비밀번호 확인",
"confirmPasswordPlaceholder": "비밀번호를 다시 입력하세요"
},
"autoLabels": {
"analyzing": "메모 분석 중...",