fix: comprehensive i18n — replace hardcoded French/English strings with t() calls
Some checks failed
Deploy to Production / Build and Deploy (push) Failing after 1m7s

Replaced ~100+ hardcoded French and English text strings across 30+ components
with proper i18n t() calls. Added 57 new translation keys to all 15 locale files
(ar, de, en, es, fa, fr, hi, it, ja, ko, nl, pl, pt, ru, zh).

Key changes:
- contextual-ai-chat.tsx: 30 French strings → t() (actions, toasts, labels, placeholders)
- ai-chat.tsx: 15 French/English strings → t() (header, tabs, welcome, insights, history)
- note-inline-editor.tsx: 20 French fallbacks removed (toolbar, save status, checklist)
- lab-skeleton.tsx: French loading text → t()
- admin-header.tsx, header.tsx, editor-connections-section.tsx: French fallbacks removed
- New AI chat component, agent cards, sidebar, settings panel i18n cleanup

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-04-26 21:14:45 +02:00
parent e358171c45
commit 153c921960
60 changed files with 4125 additions and 1677 deletions

View File

@@ -81,7 +81,30 @@
"noModels": "모델 없음. ↺ 클릭",
"modelsAvailable": "{count}개 모델 사용 가능",
"enterUrlToLoad": "URL 입력 후 ↺ 클릭",
"currentProvider": "(현재: {provider})"
"currentProvider": "(현재: {provider})",
"pageTitle": "AI 관리",
"pageDescription": "AI 기능 모니터링 및 구성",
"configure": "구성",
"features": "AI 기능",
"providerStatus": "AI 제공업체 상태",
"recentRequests": "최근 AI 요청",
"comingSoon": "출시 예정",
"activeFeatures": "활성 기능",
"successRate": "성공률",
"avgResponseTime": "평균 응답 시간",
"configuredProviders": "구성된 제공업체",
"settingUpdated": "설정이 업데이트되었습니다",
"updateFailedShort": "업데이트 실패",
"titleSuggestions": "제목 제안",
"titleSuggestionsDesc": "50단어 이상 노트에 제목 제안",
"aiAssistant": "AI 어시스턴트",
"aiAssistantDesc": "AI 채팅 및 텍스트 개선 도구 활성화",
"memoryEchoFeature": "무언가를 발견했습니다...",
"memoryEchoFeatureDesc": "노트 간 연결의 일일 분석",
"languageDetection": "언어 감지",
"languageDetectionDesc": "각 노트의 언어 자동 감지",
"autoLabeling": "자동 라벨링",
"autoLabelingDesc": "라벨 자동 제안 및 적용"
},
"aiTest": {
"description": "태그 생성 및 의미 검색 임베딩을 위한 AI 공급자 테스트",
@@ -195,7 +218,9 @@
"email": "이메일",
"name": "이름",
"role": "역할"
}
},
"title": "사용자",
"description": "사용자 및 권한 관리"
},
"chat": "AI 채팅",
"lab": "랩",
@@ -231,7 +256,18 @@
"testing": "테스트 중...",
"testSearch": "웹 검색 테스트"
},
"settingsDescription": "애플리케이션 설정 구성"
"settingsDescription": "애플리케이션 설정 구성",
"dashboard": {
"title": "대시보드",
"description": "애플리케이션 지표 개요",
"recentActivity": "최근 활동",
"recentActivityPlaceholder": "최근 활동이 여기에 표시됩니다."
},
"error": {
"title": "관리자 패널에서 오류 발생",
"description": "페이지 렌더링 실패. 다시 시도할 수 있습니다.",
"retry": "재시도"
}
},
"ai": {
"analyzing": "AI 분석 중...",
@@ -322,7 +358,57 @@
"translationFailed": "번역 실패",
"undo": "AI 실행 취소",
"undoAI": "AI 변환 실행 취소",
"undoApplied": "원본 텍스트가 복원되었습니다"
"undoApplied": "원본 텍스트가 복원되었습니다",
"minWordsError": "AI 작업을 사용하려면 노트에 최소 5단어가 필요합니다.",
"genericError": "AI 오류",
"actionError": "AI 작업 중 오류",
"appliedToNote": "노트에 적용됨",
"applyToNote": "노트에 적용",
"undoLastAction": "마지막 AI 작업 실행 취소",
"selectContext": "컨텍스트 선택...",
"selectNotebook": "노트북 선택",
"chatPlaceholder": "AI에게 편집, 요약 또는 초안 작성 요청...",
"assistantTitle": "AI 어시스턴트",
"currentNote": "현재 노트",
"shrinkPanel": "패널 축소",
"expandPanel": "패널 확장",
"chatTab": "채팅",
"noteActions": "노트 작업",
"askToStart": "시작하려면 어시스턴트에게 질문하세요.",
"contextLabel": "컨텍스트",
"thisNote": "이 노트",
"allMyNotes": "모든 노트",
"notebookGeneric": "노트북",
"writingTone": "글 톤",
"askAboutThisNote": "이 노트에 대해 AI에게 질문...",
"askAboutYourNotes": "노트에 대해 AI에게 질문...",
"webSearchLabel": "웹 검색",
"newLineHint": "Shift+Enter = 새 줄",
"resultLabel": "결과",
"discardAction": "취소",
"transformationsDesc": "변환 — 노트에 직접 적용",
"writeMinWordsAction": "AI 작업을 활성화하려면 최소 5단어를 작성하세요.",
"processingAction": "처리 중...",
"action": {
"clarify": "명확화",
"shorten": "요약",
"improve": "개선",
"toMarkdown": "Markdown으로"
},
"openAssistant": "AI 어시스턴트 열기",
"poweredByMomento": "Momento AI 제공",
"welcomeMsg": "안녕하세요! AI 어시스턴트입니다. 오늘 노트에 대해 어떻게 도와드릴까요? 어조 조정, 메시지 확장, 콘텐츠 요약 등이 가능합니다.",
"summaryLast5": "최근 5개 노트 요약",
"analyzingProgress": "분석 중...",
"generateInsightsBtn": "인사이트 생성",
"newDiscussion": "새 대화",
"noRecentConversations": "최근 대화 없음.",
"discussionContextLabel": "대화 컨텍스트",
"webSearchNotConfigured": "웹 검색 (미설정)",
"historyTab": "기록",
"insightsTab": "인사이트",
"aiCopilot": "AI 코파일럿",
"suggestTitle": "AI 제목 제안"
},
"aiSettings": {
"description": "AI 기반 기능 및 환경설정 구성",
@@ -884,7 +970,12 @@
"viewModeGroup": "노트 표시 모드",
"reorderTabs": "탭 재정렬",
"modified": "수정됨",
"created": "생성됨"
"created": "생성됨",
"loading": "로딩 중...",
"exportPDF": "PDF 내보내기",
"savedStatus": "저장됨",
"dirtyStatus": "수정됨",
"completedLabel": "완료"
},
"pagination": {
"next": "→",
@@ -976,7 +1067,8 @@
"searchPlaceholder": "노트 검색...",
"searching": "검색 중...",
"semanticInProgress": "AI 검색 진행 중...",
"semanticTooltip": "AI 의미 검색"
"semanticTooltip": "AI 의미 검색",
"disabledAdmin": "관리자 모드에서 검색 비활성화"
},
"semanticSearch": {
"exactMatch": "정확히 일치",
@@ -1417,5 +1509,9 @@
"markUndone": "미완료로 표시",
"todayAt": "오늘 {time}",
"tomorrowAt": "내일 {time}"
},
"lab": {
"initializing": "작업 공간 초기화 중",
"loadingIdeas": "아이디어 로딩 중..."
}
}