import type { TranslationMap } from '../types';

// Korean chunk 3/5. Source of truth for translators.
const ko3: TranslationMap = {
  'insights.other': '기타',
  'insights.title': '인사이트',
  'insights.empty': '아직 인사이트가 없습니다. 메모리가 늘어나면 인사이트가 생성됩니다.',
  'insights.description': '메모리 그래프의 {count}개 관계를 기반으로 합니다.',
  'insights.items': '항목',
  'insights.more': '더 보기',
  'calls.joiningCall': '통화에 참여하는 중',
  'calls.meetWindowOpening': 'Meet 창이 열리는 중...',
  'calls.failedToStart': 'Meet 통화를 시작하지 못했습니다',
  'calls.couldNotStart': '통화를 시작할 수 없습니다',
  'calls.failedToClose': '통화를 닫지 못했습니다',
  'calls.couldNotClose': '통화를 닫을 수 없습니다',
  'calls.joinMeet': 'Google Meet 통화 참여',
  'calls.joinMeetDescription': '참여할 Google Meet 링크를 입력하세요.',
  'calls.meetLink': 'Meet 링크',
  'calls.displayName': '표시 이름',
  'calls.openingMeet': 'Meet 여는 중...',
  'calls.joinCall': '통화 참여',
  'calls.activeCalls': '활성 통화',
  'calls.leave': '나가기',
  'workspace.wipeConfirm': '모든 메모리를 삭제하시겠습니까? 이 작업은 되돌릴 수 없습니다.',
  'workspace.resetTreeConfirm': '메모리 트리를 다시 빌드하시겠습니까?',
  'workspace.wipeTitle': '메모리 삭제',
  'workspace.resetting': '초기화 중...',
  'workspace.resetMemory': '메모리 초기화',
  'workspace.resetTreeTitle': '메모리 트리 다시 빌드',
  'workspace.rebuilding': '다시 빌드 중...',
  'workspace.resetMemoryTree': '메모리 트리 초기화',
  'workspace.building': '빌드 중...',
  'workspace.buildSummaryTrees': '요약 트리 빌드',
  'workspace.viewVault': '볼트 보기',
  'workspace.openingVaultTitle': 'Opening vault in Obsidian',
  'workspace.openingVaultMessage':
    "If Obsidian doesn't open, install it from obsidian.md or use Reveal Folder. Vault path:",
  'workspace.openVaultFailedTitle': "Couldn't open vault in Obsidian",
  'workspace.openVaultFailedMessage':
    'Use Reveal Folder to open the vault directory directly. Vault path:',
  'workspace.revealVaultFailed': "Couldn't reveal vault folder",
  'workspace.revealFolder': 'Reveal Folder',
  'workspace.graphLoadFailed': '메모리 그래프를 불러오지 못했습니다',
  'workspace.loadingGraph': '메모리 그래프를 불러오는 중...',
  'workspace.graphViewMode': '메모리 그래프 보기 모드',
  'workspace.trees': '트리',
  'workspace.contacts': '연락처',
  'graph.noContactMentions': '연락처 언급 없음',
  'graph.noMemory': '메모리 없음',
  'graph.source': '소스',
  'graph.topic': '주제',
  'graph.global': '전역',
  'graph.document': '문서',
  'graph.contact': '연락처',
  'graph.nodes': '노드',
  'graph.parentChild': '부모-자식',
  'graph.documentContact': '문서-연락처',
  'graph.link': '링크',
  'graph.links': '링크',
  'graph.children': '자식',
  'graph.clickToOpenObsidian': '클릭하여 Obsidian에서 열기',
  'graph.person': '사람',
  'modal.dontShowAgain': '비슷한 제안을 다시 표시하지 않기',
  'reflections.loading': '반영을 불러오는 중...',
  'reflections.empty': '아직 반영이 없습니다',
  'reflections.title': '반영',
  'reflections.proposedAction': '제안된 작업',
  'reflections.act': '실행',
  'reflections.dismiss': '닫기',
  'whatsapp.chatsSynced': '채팅 동기화됨',
  'whatsapp.chatSynced': '채팅 동기화됨',
  'sync.active': '활성',
  'sync.recent': '최근',
  'sync.idle': '유휴',
  'sync.memorySources': '메모리 소스',
  'sync.noConnectedSources': '연결된 소스 없음',
  'sync.chunks': '청크',
  'sync.lastChunk': '마지막 청크:',
  'sync.pending': '대기 중',
  'sync.processed': '처리됨',
  'sync.syncing': '동기화 중…',
  'sync.sync': '동기화',
  'sync.failedToLoad': '동기화 상태를 불러오지 못했습니다',
  'sync.noContent': '아직 메모리에 동기화된 콘텐츠가 없습니다. 시작하려면 통합을 연결하세요.',
  'backend.aiBackend': 'AI 백엔드',
  'backend.cloud': '클라우드',
  'backend.recommended': '추천',
  'backend.cloudDescription':
    '서버에서 호스팅되는 빠르고 강력한 모델입니다. 즉시 사용할 수 있습니다.',
  'backend.privacyNote': '개인 데이터, 메시지 또는 키는 서버로 전송되지 않습니다.',
  'backend.local': '로컬',
  'backend.advanced': '고급',
  'backend.localDescription':
    'Ollama를 사용하여 자신의 컴퓨터에서 모델을 실행합니다. 완전한 개인정보 보호를 제공하지만 설정이 필요합니다.',
  'backend.ramRecommended': '16GB 이상 RAM 권장',
  'subconscious.tasks': '작업',
  'subconscious.ticks': '틱',
  'subconscious.last': '마지막',
  'subconscious.failed': '실패',
  'subconscious.tickInterval': '틱 간격',
  'subconscious.runNow': '지금 실행',
  'subconscious.providerUnavailableTitle': 'Subconscious 일시 중지됨',
  'subconscious.providerSettings': 'AI 설정',
  'subconscious.approvalNeeded': '승인 필요',
  'subconscious.requiresApproval': '승인이 필요함',
  'subconscious.fixInConnections': '연결에서 수정',
  'subconscious.goAhead': '진행',
  'subconscious.activeTasks': '활성 작업',
  'subconscious.noActiveTasks': '활성 작업 없음',
  'subconscious.default': '기본값',
  'subconscious.addTaskPlaceholder': '새 작업 추가...',
  'subconscious.activityLog': '활동 로그',
  'subconscious.noActivity': '아직 활동이 없습니다',
  'subconscious.decision.nothingNew': '새로운 내용 없음',
  'subconscious.decision.completed': '완료됨',
  'subconscious.decision.evaluating': '평가 중',
  'subconscious.decision.waitingApproval': '승인 대기 중',
  'subconscious.decision.failed': '실패',
  'subconscious.decision.cancelled': '취소됨',
  'subconscious.decision.skipped': '건너뜀',
  'actionable.complete': '완료',
  'actionable.dismiss': '닫기',
  'actionable.snooze': '다시 알림',
  'actionable.new': '새 항목',
  'stats.storage': '저장소',
  'stats.files': '파일',
  'stats.documents': '문서',
  'stats.today': '오늘',
  'stats.namespaces': '네임스페이스',
  'stats.relations': '관계',
  'stats.firstMemory': '첫 번째 메모리',
  'stats.latest': '최신',
  'stats.sessions': '세션',
  'stats.tokens': '토큰',
  'bootCheck.invalidUrl': '런타임 URL을 입력해 주세요.',
  'bootCheck.urlMustStartWith': 'URL은 http:// 또는 https://로 시작해야 합니다',
  'bootCheck.validUrlRequired': '유효한 URL처럼 보이지 않습니다(예: https://core.example.com/rpc)',
  'bootCheck.tokenRequired': '연결하려면 인증 토큰이 필요합니다.',
  'bootCheck.chooseCoreMode': '런타임 선택',
  'bootCheck.connectToCore': '런타임에 연결',
  'bootCheck.desktopDescription':
    'OpenHuman은 생각하기 위한 런타임이 필요합니다. 어디에서 실행할지 선택하세요.',
  'bootCheck.webDescription':
    '웹에서 OpenHuman은 사용자가 제어하는 런타임에 연결됩니다. 아래에 URL과 인증 토큰을 입력하거나, 데스크톱 앱을 받아 이 컴퓨터에서 바로 실행하세요.',
  'bootCheck.preferDesktop': '모든 것을 자신의 기기에 보관하고 싶으신가요?',
  'bootCheck.downloadDesktop': '데스크톱 앱 받기',
  'bootCheck.localRecommended': '로컬에서 실행(추천)',
  'bootCheck.localDescription':
    '이 컴퓨터에서 바로 실행됩니다. 가장 빠르고, 완전히 비공개이며, 설정할 것이 없습니다.',
  'bootCheck.cloudMode': '클라우드에서 실행(복잡)',
  'bootCheck.cloudDescription':
    '다른 곳에서 호스팅 중인 런타임에 연결합니다. 24×7 온라인 상태를 유지하므로 이 기기를 계속 켜둘 필요가 없습니다.',
  'bootCheck.coreRpcUrl': '런타임 URL',
  'bootCheck.rpcUrlPlaceholder': 'https://core.example.com/rpc',
  'bootCheck.authToken': '인증 토큰',
  'bootCheck.bearerTokenPlaceholder': '원격 런타임의 bearer 토큰',
  'bootCheck.storedLocally': '이 기기에만 보관됩니다. 다음으로 전송됨: ',
  'bootCheck.testing': '테스트 중…',
  'bootCheck.testConnection': '연결 테스트',
  'bootCheck.connectedOk': '연결되었습니다. 사용할 준비가 되었습니다.',
  'bootCheck.authFailed': '해당 토큰이 작동하지 않았습니다. 다시 확인하고 시도하세요.',
  'bootCheck.unreachablePrefix': '연결할 수 없습니다:',
  'bootCheck.checkingCore': '런타임을 깨우는 중…',
  'bootCheck.cannotReach': '런타임에 연결할 수 없습니다',
  'bootCheck.cannotReachDesc': '런타임에 연결할 수 없습니다. 다른 런타임을 시도하시겠습니까?',
  'bootCheck.switchMode': '다른 런타임 선택',
  'bootCheck.quit': '종료',
  'bootCheck.legacyDetected': '레거시 백그라운드 런타임 감지됨',
  'bootCheck.legacyDescription':
    '별도로 설치된 OpenHuman 데몬이 이 기기에서 이미 실행 중입니다. 내장 런타임이 대신 실행되기 전에 이를 정리해야 합니다.',
  'bootCheck.removing': '제거 중…',
  'bootCheck.removeContinue': '제거하고 계속',
  'bootCheck.localNeedsRestart': '로컬 런타임을 다시 시작해야 함',
  'bootCheck.localNeedsRestartDesc':
    '로컬 런타임의 버전이 이 앱과 다릅니다. 빠르게 다시 시작하면 다시 동기화됩니다.',
  'bootCheck.restarting': '다시 시작 중…',
  'bootCheck.restartCore': '런타임 다시 시작',
  'bootCheck.cloudNeedsUpdate': '클라우드 런타임 업데이트 필요',
  'bootCheck.cloudNeedsUpdateDesc':
    '클라우드 런타임의 버전이 이 앱과 다릅니다. 업데이트 프로그램을 실행하여 다시 동기화하세요.',
  'bootCheck.updating': '업데이트 중…',
  'bootCheck.updateCloudCore': '클라우드 런타임 업데이트',
  'bootCheck.versionCheckFailed': '런타임 버전 확인 실패',
  'bootCheck.versionCheckFailedDesc':
    '런타임이 실행 중이지만 버전을 보고하지 않습니다. 오래된 버전일 수 있습니다. 계속하려면 다시 시작하거나 업데이트하세요.',
  'bootCheck.working': '작업 중…',
  'bootCheck.restartUpdateCore': '런타임 다시 시작 / 업데이트',
  'bootCheck.unexpectedError': '예상치 못한 부트 체크 오류',
  'bootCheck.actionFailed': '문제가 발생했습니다. 다시 시도해 주세요.',
  'notifications.justNow': '방금 전',
  'notifications.minAgo': '{n}분 전',
  'notifications.hrAgo': '{n}시간 전',
  'notifications.dayAgo': '{n}일 전',
  'notifications.category.messages': '메시지',
  'notifications.category.agents': '에이전트',
  'notifications.category.skills': '스킬',
  'notifications.category.system': '시스템',
  'notifications.category.meetings': '회의',
  'notifications.category.reminders': '리마인더',
  'notifications.category.important': '중요',
  'about.update.status.checking': '확인 중...',
  'about.update.status.available': 'v{version} 사용 가능',
  'about.update.status.availableNoVersion': '업데이트 사용 가능',
  'about.update.status.downloading': '다운로드 중...',
  'about.update.status.readyToInstall': 'v{version} 설치 준비 완료',
  'about.update.status.readyToInstallNoVersion':
    '새 버전이 다운로드되어 준비되었습니다. 적용하려면 다시 시작하세요.',
  'about.update.status.installing': '설치 중...',
  'about.update.status.restarting': '다시 시작 중...',
  'about.update.status.upToDate': '최신 버전을 실행 중입니다.',
  'about.update.status.error': '업데이트 확인 실패',
  'about.update.status.default': '업데이트 확인',
  'welcome.connectionFailed': '연결 실패: {status} {statusText}',
  'welcome.connectionFailedMsg': '연결 실패: {message}',
  'chat.agentChatDesc': '에이전트와 직접 채팅 세션을 엽니다.',
  'channels.activeRouteValue': '{channel} via {authMode}',
  'privacy.dataKind.messages': '메시지',
  'privacy.dataKind.agents': '에이전트',
  'privacy.dataKind.skills': '스킬',
  'privacy.dataKind.system': '시스템',
  'privacy.dataKind.meetings': '회의',
  'privacy.dataKind.reminders': '리마인더',
  'privacy.dataKind.important': '중요',
  'onboarding.enableLocalAI': '로컬 AI 활성화',
  'onboarding.skills.status.available': '사용 가능',
  'onboarding.skills.status.connected': '연결됨',
  'onboarding.skills.status.connecting': '연결 중',
  'onboarding.skills.status.error': '오류',
  'onboarding.skills.status.unavailable': '사용할 수 없음',
  'composio.statusUnavailable': '상태를 사용할 수 없음',
  'composio.envVarOverrides': '설정되어 있으며, 이 설정을 재정의합니다.',
  'memory.day.sun': '일',
  'memory.day.mon': '월',
  'memory.day.tue': '화',
  'memory.day.wed': '수',
  'memory.day.thu': '목',
  'memory.day.fri': '금',
  'memory.day.sat': '토',
  'memory.ingesting': '수집 중',
  'memory.ingestionQueued': '대기열에 추가됨',
  'memory.ingestingTitle': '{title} 수집 중',
  'mic.noAudioCaptured': '캡처된 오디오가 없습니다',
  'mic.noSpeechDetected': '음성이 감지되지 않았습니다',
  'mic.failedToStopRecording': '녹음을 중지하지 못했습니다: {message}',
  'mic.transcriptionFailed': '전사에 실패했습니다: {message}',
  'reflections.kind.retrospective': '회고',
  'reflections.kind.derivedFact': '파생된 사실',
  'reflections.kind.moodInsight': '기분 인사이트',
  'reflections.kind.relationshipInsight': '관계 인사이트',
  'graph.tooltip.summary': '요약',
  'graph.tooltip.contact': '연락처',
  'localModel.usage.never': '사용 안 함',
  'localModel.usage.mediumLoad': '중간 부하',
  'localModel.usage.lowLoad': '낮은 부하',
  'localModel.usage.idleMode': '유휴 모드',
  'localModel.rebootstrapComplete': '모델 재부트스트랩 완료.',
  'localModel.modelsVerified': '로컬 모델 확인 완료.',
  'accounts.addModal.allConnected': '모두 연결됨',
  'accounts.addModal.title': '계정 추가',
  'accounts.respondQueue.empty': '비어 있음',
  'accounts.respondQueue.hide': '응답 대기열 숨기기',
  'accounts.respondQueue.loadFailed': '응답 대기열을 불러오지 못했습니다',
  'accounts.respondQueue.loading': '대기열 불러오는 중…',
  'accounts.respondQueue.pending': '대기 중',
  'accounts.respondQueue.show': '응답 대기열 표시',
  'accounts.respondQueue.title': '응답 대기열',
  'accounts.webviewHost.almostReady': '거의 준비됨...',
  'accounts.webviewHost.loadTimeout': 'Webview 로드 시간 초과',
  'accounts.webviewHost.loading': '{providerName} 불러오는 중...',
  'accounts.webviewHost.loadingAccount': '계정 불러오는 중',
  'accounts.webviewHost.restoringSession': '세션 복원 중...',
  'accounts.webviewHost.retryLoading': '다시 불러오기',
  'accounts.webviewHost.takingLonger': '{providerName}이 예상보다 오래 걸리고 있습니다.',
  'accounts.webviewHost.timeoutHint': '시간 초과 힌트',
  'app.connectionBadge.composio': 'Composio',
  'app.connectionBadge.messaging': '메시징',
  'app.connectionIndicator.connected': 'OpenHuman AI에 연결됨 🚀',
  'app.connectionIndicator.connecting': '연결 중',
  'app.connectionIndicator.coreOffline': '코어 오프라인',
  'app.connectionIndicator.disconnected': '연결 해제됨',
  'app.connectionIndicator.offline': '오프라인',
  'app.connectionIndicator.reconnecting': '다시 연결 중…',
  'app.errorFallback.componentStack': '컴포넌트 스택',
  'app.errorFallback.downloadLatest': '최신 버전 다운로드',
  'app.errorFallback.heading': '제목',
  'app.errorFallback.hint': '힌트',
  'app.errorFallback.reloadApp': '앱 다시 불러오기',
  'app.errorFallback.subheading': '부제목',
  'app.errorFallback.tryRecover': '복구 시도',
  'app.localAiDownload.installing': '설치 중...',
  'app.localAiDownload.preparing': '준비 중...',
  'app.openhumanLink.accounts.continueWith': '{label} 로그인으로 계속',
  'app.openhumanLink.accounts.done': '완료',
  'app.openhumanLink.accounts.intro': '소개',
  'app.openhumanLink.accounts.webviewNote': 'Webview 안내',
  'app.openhumanLink.billing.openDashboard': '대시보드 열기',
  'app.openhumanLink.billing.stayOnTrial': '체험판 유지',
  'app.openhumanLink.billing.trialCredit': '체험 크레딧',
  'app.openhumanLink.billing.trialDesc': '체험 설명',
  'app.openhumanLink.defaultBody':
    '아직 팝업에서 준비되지 않았습니다. 필요하면 전체 설정 페이지를 여세요.',
  'app.openhumanLink.discord.intro': '소개',
  'app.openhumanLink.discord.openInvite': '초대 열기',
  'app.openhumanLink.discord.perk1': '혜택1',
  'app.openhumanLink.discord.perk2': '혜택2',
  'app.openhumanLink.discord.perk3': '혜택3',
  'app.openhumanLink.discord.perk4': '혜택4',
  'app.openhumanLink.done': '완료',
  'app.openhumanLink.loadingChannelSetup': '채널 설정 불러오는 중',
  'app.openhumanLink.maybeLater': '나중에',
  'app.openhumanLink.notifications.asking': 'OS에 요청 중…',
  'app.openhumanLink.notifications.blocked': '차단됨',
  'app.openhumanLink.notifications.blockedStep1': '차단 단계1',
  'app.openhumanLink.notifications.blockedStep2': '차단 단계2',
  'app.openhumanLink.notifications.blockedStep3': '차단 단계3',
  'app.openhumanLink.notifications.intro': '소개',
  'app.openhumanLink.notifications.promptHint': '프롬프트 힌트',
  'app.openhumanLink.notifications.retry': '테스트 알림 다시 시도',
  'app.openhumanLink.notifications.send': '테스트 알림 보내기',
  'app.openhumanLink.notifications.sendFailed': '보낼 수 없습니다: {error}',
  'app.openhumanLink.notifications.sent':
    '테스트 알림이 전송되었습니다. 받지 못했다면 시스템 설정 → 알림 → OpenHuman으로 이동해 알림 허용을 켜고 배너 스타일을 지속으로 설정하세요.',
  'app.openhumanLink.skipForNow': '지금은 건너뛰기',
  'app.openhumanLink.telegramUnavailable': 'Telegram을 사용할 수 없음',
  'app.openhumanLink.title.accounts': '앱 연결',
  'app.openhumanLink.title.billing': '결제 및 크레딧',
  'app.openhumanLink.title.discord': '커뮤니티 참여',
  'app.openhumanLink.title.messaging': '채팅 채널 연결',
  'app.openhumanLink.title.notifications': '알림 허용',
  'app.persistRehydration.body': '본문',
  'app.persistRehydration.heading': '제목',
  'app.persistRehydration.resetCta': '초기화 중…',
  'app.persistRehydration.resetting': '초기화 중…',
  'app.routeLoading.initializing': 'OpenHuman 초기화 중...',
  'app.update.currentlyOn': '{version}',
  'app.update.errorFallback': '업데이트 중 문제가 발생했습니다.',
  'app.update.header.default': '업데이트',
  'app.update.header.error': '업데이트 실패',
  'app.update.header.installing': '업데이트 설치 중',
  'app.update.header.readyToInstall': '업데이트 설치 준비 완료',
  'app.update.header.restarting': '다시 시작 중…',
  'app.update.later': '나중에',
  'app.update.newVersionReady': '새 버전을 설치할 준비가 되었습니다.',
  'app.update.progress.downloaded': '{amount} 다운로드됨',
  'app.update.progress.installing': '새 버전 설치 중…',
  'app.update.progress.restarting': '앱 다시 실행 중…',
  'app.update.progress.working': '{percent}%',
  'app.update.restartNote': '다시 시작 안내',
  'app.update.restartNow': '지금 다시 시작',
  'app.update.versionReady': '버전 {newVersion} 설치 준비 완료.',
  'channels.discord.accountLinked': '계정 연결됨',
  'channels.discord.connect': '연결',
  'channels.discord.linkTokenExpired': '링크 토큰이 만료되었습니다. 다시 시도하세요.',
  'channels.discord.linkTokenInstruction': '{token}',
  'channels.discord.linkTokenLabel': '링크 토큰 라벨',
  'channels.discord.linkTokenOnce': '링크 토큰 1회 사용',
  'channels.discord.picker.allPermissionsOk':
    '봇이 이 채널에서 필요한 모든 권한을 가지고 있습니다.',
  'channels.discord.picker.botNotInServers': '봇이 서버에 없습니다',
  'channels.discord.picker.category': '카테고리',
  'channels.discord.picker.channel': '채널',
  'channels.discord.picker.checkingPermissions': '권한 확인 중',
  'channels.discord.picker.loadingChannels': '채널 불러오는 중...',
  'channels.discord.picker.loadingServers': '서버 불러오는 중...',
  'channels.discord.picker.missingPermissions': '권한 누락',
  'channels.discord.picker.noChannels': '텍스트 채널을 찾을 수 없습니다',
  'channels.discord.picker.noServers': '서버를 찾을 수 없습니다',
  'channels.discord.picker.selectChannel': '채널 선택',
  'channels.discord.picker.selectServer': '서버 선택',
  'channels.discord.picker.server': '서버',
  'channels.discord.picker.serverChannelSelection': '서버 및 채널 선택',
  'channels.discord.savedRestartRequired':
    '채널이 저장되었습니다. 활성화하려면 앱을 다시 시작하세요.',
  'channels.telegram.connect': '연결',
  'channels.telegram.managedDmConnecting': '관리형 DM 연결 중',
  'channels.telegram.managedDmTimeout': '관리형 DM 시간이 초과됨',
  'channels.telegram.reconnect': '다시 연결',
  'channels.telegram.savedRestartRequired':
    '채널이 저장되었습니다. 활성화하려면 앱을 다시 시작하세요.',
  'channels.web.alwaysAvailable': '항상 사용 가능',
};
export default ko3;
