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

// Korean chunk 2/5. Source of truth for translators.
const ko2: TranslationMap = {
  'settings.ai.configStatus': '구성 상태',
  'settings.ai.fallbackMode': '대체 모드',
  'settings.ai.loadedFromRuntime': '런타임에서 로드됨',
  'settings.ai.loadingDuration': '로드 시간',
  'settings.ai.localRuntime': '로컬 모델 런타임',
  'settings.ai.openManager': '관리자 열기',
  'settings.ai.retryDownload': '다운로드 다시 시도',
  'settings.ai.state': '상태',
  'settings.ai.targetModel': '대상 모델',
  'settings.ai.download': '다운로드',
  'settings.ai.localModelUnavailable': '로컬 모델 상태를 사용할 수 없습니다.',
  'settings.ai.soulConfig': 'SOUL 페르소나 구성',
  'settings.ai.refreshing': '새로고침 중...',
  'settings.ai.refreshSoul': 'SOUL 새로고침',
  'settings.ai.loadingSoul': 'SOUL 구성을 불러오는 중...',
  'settings.ai.identity': '정체성',
  'settings.ai.personality': '성격',
  'settings.ai.safetyRules': '안전 규칙',
  'settings.ai.source': '출처',
  'settings.ai.loaded': '로드됨',
  'settings.ai.toolsConfig': 'TOOLS 구성',
  'settings.ai.refreshTools': 'TOOLS 새로고침',
  'settings.ai.toolsAvailable': '사용 가능한 도구',
  'settings.ai.tools': '도구',
  'settings.ai.activeSkills': '활성 스킬',
  'settings.ai.skills': '스킬',
  'settings.ai.skillsOverview': '스킬 개요',
  'settings.ai.refreshingAll': '모두 새로고침 중...',
  'settings.ai.refreshAll': '모든 AI 구성 새로고침',
  'settings.notifications.suppressAll': '모든 알림 억제',
  'settings.notifications.suppressAllDesc':
    '포커스 상태와 관계없이 내장 앱의 모든 OS 알림 토스트를 차단합니다.',
  'settings.notifications.toggleDnd': '방해 금지 전환',
  'settings.notifications.categories': '카테고리',
  'settings.notifications.categoryFooter':
    '카테고리를 비활성화하면 해당 유형의 새 알림이 알림 센터에 표시되지 않습니다. 기존 알림은 삭제될 때까지 남아 있습니다.',
  'settings.billing.movedToWeb': '결제가 웹으로 이동됨',
  'settings.billing.openDashboard': '결제 대시보드 열기',
  'settings.billing.movedToWebDesc':
    '구독 변경, 결제 수단, 크레딧 및 인보이스는 이제 웹의 TinyHumans에서 관리됩니다.',
  'settings.billing.backToSettings': '설정으로 돌아가기',
  'settings.billing.openingBrowser': '브라우저를 여는 중...',
  'settings.billing.browserNotOpen': '브라우저가 열리지 않았다면 위 버튼을 사용하세요.',
  'settings.billing.browserOpenFailed': '브라우저를 자동으로 열 수 없습니다. 위 버튼을 사용하세요.',
  'settings.tools.chooseCapabilities':
    'OpenHuman이 사용자를 대신해 사용할 수 있는 기능을 선택하세요.',
  'settings.tools.saveChanges': '변경 사항 저장',
  'settings.tools.preferencesSaved': '기본 설정이 저장되었습니다',
  'settings.tools.saveFailed': '기본 설정 저장에 실패했습니다. 다시 시도하세요.',
  'settings.screenAwareness.mode': '모드',
  'settings.screenAwareness.allExceptBlacklist': '블랙리스트 제외 모두',
  'settings.screenAwareness.whitelistOnly': '화이트리스트만',
  'settings.screenAwareness.screenMonitoring': '화면 모니터링',
  'settings.screenAwareness.saveSettings': '설정 저장',
  'settings.screenAwareness.session': '세션',
  'settings.screenAwareness.status': '상태',
  'settings.screenAwareness.active': '활성',
  'settings.screenAwareness.stopped': '중지됨',
  'settings.screenAwareness.remaining': '남은 시간',
  'settings.screenAwareness.startSession': '세션 시작',
  'settings.screenAwareness.stopSession': '세션 중지',
  'settings.screenAwareness.analyzeNow': '지금 분석',
  'settings.screenAwareness.macosOnly':
    '화면 인식 데스크톱 캡처 및 권한 제어는 현재 macOS에서만 지원됩니다.',
  'connections.comingSoon': '곧 제공 예정',
  'connections.setUp': '설정',
  'connections.configured': '구성됨',
  'connections.unavailable': '사용할 수 없음',
  'connections.checking': '확인 중…',
  'connections.walletConfigured':
    '로컬 EVM, BTC, Solana 및 Tron ID가 복구 문구에서 구성되었습니다.',
  'connections.walletReady': '하나의 복구 문구에서 로컬 EVM, BTC, Solana 및 Tron ID를 설정합니다.',
  'connections.walletError': '지갑 상태를 확인할 수 없습니다. 복구 문구 패널에서 다시 시도하세요.',
  'connections.walletChecking': '지갑 상태 확인 중...',
  'connections.walletIdentities': '지갑 ID',
  'connections.walletDerived': '복구 문구에서 로컬로 파생되며 안전한 메타데이터로만 저장됩니다.',
  'connections.privacySecurity': '개인정보 및 보안',
  'connections.privacySecurityDesc':
    '모든 데이터와 자격 증명은 무데이터 보존 정책으로 로컬에 저장됩니다. 사용자의 정보는 암호화되며 제3자와 절대 공유되지 않습니다.',
  'channels.status.connecting': '연결 중',
  'channels.status.notConfigured': '구성되지 않음',
  'channels.noActiveRoute': '활성 경로 없음',
  'channels.activeRoute': '활성 경로',
  'channels.loadingDefinitions': '채널 정의를 불러오는 중...',
  'channels.channelConnections': '채널 연결',
  'channels.configureAuthModes': '각 메시징 채널의 인증 모드를 구성합니다.',
  'channels.configNotAvailable': '구성을 사용할 수 없음:',
  'channels.channel': '채널',
  'devOptions.coreModeNotSet': '코어 모드: 설정되지 않음',
  'devOptions.coreModeNotSetDesc':
    '부트 체크 선택기가 아직 확인되지 않았습니다. 선택기에서 모드 전환을 사용하여 로컬 또는 클라우드를 선택하세요.',
  'devOptions.local': '로컬',
  'devOptions.embeddedCoreSidecar': '내장 코어 사이드카',
  'devOptions.sidecarSpawned': '앱 실행 시 Tauri 셸에 의해 프로세스 내부에서 생성됩니다.',
  'devOptions.cloud': '클라우드',
  'devOptions.remoteCoreRpc': '원격 코어 RPC',
  'devOptions.token': '토큰',
  'devOptions.tokenNotSet': '설정되지 않음 — RPC가 401을 반환합니다',
  'devOptions.triggerSentryTest': 'Sentry 테스트 트리거(스테이징)',
  'devOptions.triggerSentryTestDesc':
    'Sentry 파이프라인을 확인하기 위해 태그가 지정된 오류를 발생시킵니다. 이슈 #1072 — 확인 후 제거.',
  'devOptions.sendTestEvent': '테스트 이벤트 보내기',
  'devOptions.sending': '보내는 중…',
  'devOptions.eventSent': '이벤트 전송됨',
  'devOptions.failed': '실패',
  'devOptions.appLogs': '앱 로그',
  'devOptions.appLogsDesc':
    '일별 롤링 로그 파일이 들어 있는 폴더를 엽니다. 문제를 보고할 때 가장 최근 파일을 첨부하세요.',
  'devOptions.openLogsFolder': '로그 폴더 열기',
  'mnemonic.phraseSaved': '복구 문구 저장됨',
  'mnemonic.walletReady': '멀티체인 지갑 ID가 준비되었습니다. 설정으로 돌아가는 중...',
  'mnemonic.writeDownWords': '다음 단어들을 적어 두세요',
  'mnemonic.wordsInOrder':
    '단어를 순서대로 적어 안전한 곳에 보관하세요. 이 문구는 로컬 암호화 키와 EVM, BTC, Solana 및 Tron 지갑 ID를 보호합니다.',
  'mnemonic.cannotRecover':
    '이 문구는 분실하면 복구할 수 없으며 기기에서만 완전히 로컬로 유지되어야 합니다.',
  'mnemonic.copyToClipboard': '클립보드에 복사',
  'mnemonic.alreadyHavePhrase': '이미 복구 문구가 있습니다',
  'mnemonic.consentSaved': '이 문구를 저장했으며 로컬 지갑 설정에 사용하는 데 동의합니다',
  'mnemonic.enterPhraseToRestore':
    '로컬 지갑 ID를 복원하려면 아래에 복구 문구를 입력하거나 전체 문구를 아무 입력란에 붙여넣으세요(새 백업은 12단어, 이전 버전의 24단어 문구도 작동합니다).',
  'mnemonic.words': '단어',
  'mnemonic.validPhrase': '유효한 복구 문구',
  'mnemonic.generateNewPhrase': '대신 새 복구 문구 생성',
  'mnemonic.securingData': '데이터 보호 중...',
  'mnemonic.saveRecoveryPhrase': '복구 문구 저장',
  'mnemonic.userNotLoaded':
    '사용자가 로드되지 않았습니다. 다시 로그인하거나 페이지를 새로고침하세요.',
  'mnemonic.invalidPhrase': '유효하지 않은 복구 문구입니다. 단어를 확인하고 다시 시도하세요.',
  'mnemonic.somethingWentWrong': '문제가 발생했습니다. 다시 시도해 주세요.',
  'team.failedToCreate': '팀 생성에 실패했습니다',
  'team.invalidInviteCode': '유효하지 않거나 만료된 초대 코드입니다',
  'team.failedToSwitch': '팀 전환에 실패했습니다',
  'team.failedToLeave': '팀 나가기에 실패했습니다',
  'team.role.owner': '소유자',
  'team.role.admin': '관리자',
  'team.role.billingManager': '결제 관리자',
  'team.role.member': '멤버',
  'team.active': '활성',
  'team.personalTeam': '개인 팀',
  'team.manageTeam': '팀 관리',
  'team.switching': '전환 중...',
  'team.switch': '전환',
  'team.leaving': '나가는 중...',
  'team.leave': '나가기',
  'team.yourTeams': '내 팀',
  'team.createNewTeam': '새 팀 생성',
  'team.teamName': '팀 이름',
  'team.creating': '생성 중...',
  'team.joinExistingTeam': '기존 팀 참가',
  'team.inviteCode': '초대 코드',
  'team.joining': '참가 중...',
  'team.join': '참가',
  'team.leaveTeam': '팀 나가기',
  'team.confirmLeave': '정말로 나가시겠습니까',
  'team.leaveWarning':
    '팀과 모든 팀 리소스에 대한 접근 권한을 잃게 됩니다. 다시 참가하려면 새 초대가 필요합니다.',
  'team.management': '팀 관리',
  'team.notFound': '팀을 찾을 수 없습니다',
  'team.accessDenied': '접근이 거부되었습니다',
  'team.members': '멤버',
  'voice.title': '음성 받아쓰기',
  'voice.settings': '음성 설정',
  'voice.settingsDesc': '핫키를 길게 눌러 받아쓰기하고 활성 입력란에 텍스트를 삽입합니다.',
  'voice.hotkey': '핫키',
  'voice.activationMode': '활성화 모드',
  'voice.tapToToggle': '탭하여 전환',
  'voice.writingStyle': '작성 스타일',
  'voice.verbatimTranscription': '그대로 전사',
  'voice.naturalCleanup': '자연스럽게 정리',
  'voice.autoStart': '코어와 함께 음성 서버 자동 시작',
  'voice.customDictionary': '사용자 지정 사전',
  'voice.customDictionaryDesc': '이름, 기술 용어, 도메인 단어를 추가하여 인식 정확도를 향상합니다.',
  'voice.addWord': '단어 추가...',
  'voice.sttDisabled': '로컬 STT 모델이 다운로드되고 준비될 때까지 음성 받아쓰기가 비활성화됩니다.',
  'voice.openLocalAiModel': '로컬 AI 모델 열기',
  'voice.serverRestarted': '새 설정으로 음성 서버가 다시 시작되었습니다.',
  'voice.settingsSaved': '음성 설정이 저장되었습니다.',
  'voice.serverStarted': '음성 서버가 시작되었습니다.',
  'voice.serverStopped': '음성 서버가 중지되었습니다.',
  'voice.saveVoiceSettings': '음성 설정 저장',
  'voice.startVoiceServer': '음성 서버 시작',
  'voice.stopVoiceServer': '음성 서버 중지',
  'voice.debugTitle': '음성 디버그',
  'autocomplete.title': '자동 완성',
  'autocomplete.settings': '설정',
  'autocomplete.acceptWithTab': 'Tab으로 수락',
  'autocomplete.stylePreset': '스타일 프리셋',
  'autocomplete.style.balanced': '균형',
  'autocomplete.style.concise': '간결',
  'autocomplete.style.formal': '격식',
  'autocomplete.style.casual': '캐주얼',
  'autocomplete.style.custom': '사용자 지정',
  'autocomplete.disabledApps': '비활성화된 앱(줄마다 하나의 번들/앱 토큰)',
  'autocomplete.saveSettings': '설정 저장',
  'autocomplete.saving': '저장 중…',
  'autocomplete.runtime': '런타임',
  'autocomplete.running': '실행 중',
  'autocomplete.start': '시작',
  'autocomplete.stop': '중지',
  'autocomplete.settingsSaved': '자동 완성 설정이 저장되었습니다.',
  'autocomplete.started': '자동 완성이 시작되었습니다.',
  'autocomplete.didNotStart': '자동 완성이 시작되지 않았습니다. 활성화되어 있는지 확인하세요.',
  'autocomplete.stopped': '자동 완성이 중지되었습니다.',
  'autocomplete.advancedSettings': '고급 설정',
  'autocomplete.debugTitle': '자동 완성 디버그',
  'chat.agentChat': '에이전트 채팅',
  'chat.overrides': '재정의',
  'chat.model': '모델',
  'chat.temperature': '온도',
  'chat.conversation': '대화',
  'chat.startAgentConversation': '에이전트와 대화를 시작하세요.',
  'chat.you': '나',
  'chat.agent': '에이전트',
  'chat.askAgent': '에이전트에게 무엇이든 물어보세요...',
  'chat.sendMessage': '메시지 보내기',
  'composio.triageTitle': '통합 트리거',
  'composio.triageDesc':
    '활성화되면 들어오는 각 Composio 트리거가 이벤트를 분류하고 자동 작업을 시작할 수 있는 AI 선별 단계를 거칩니다 — 트리거당 로컬 LLM 턴 하나가 사용됩니다. 수동 검토를 선호한다면 전체 또는 통합별로 비활성화하세요. 환경 변수가',
  'composio.disableAllTriage': '모든 트리거에 대한 AI 선별 비활성화',
  'composio.triggersStillRecorded': '트리거는 기록에 계속 저장됩니다 — LLM 턴은 실행되지 않습니다.',
  'composio.disableSpecificIntegrations': '특정 통합에 대한 AI 선별 비활성화',
  'composio.settingsSaved': '설정이 저장되었습니다',
  'composio.saveFailed': '저장에 실패했습니다. 다시 시도하세요.',
  'cron.title': 'Cron 작업',
  'cron.scheduledJobs': '예약된 작업',
  'cron.manageCronJobs': '코어 스케줄러에서 cron 작업을 관리합니다.',
  'cron.refreshCronJobs': 'Cron 작업 새로고침',
  'localModel.modelStatus': '모델 상태',
  'localModel.downloadModels': '모델 다운로드',
  'localModel.usage': '사용량',
  'localModel.usageDesc':
    '로컬 모델에서 실행할 하위 시스템을 선택하세요. 꺼진 항목은 클라우드를 사용합니다.',
  'localModel.enableRuntime': '로컬 AI 런타임 활성화',
  'localModel.enableRuntimeDesc':
    '마스터 스위치입니다. 기본값은 꺼짐이며 Ollama는 유휴 상태로 유지됩니다. 켜면 트리 요약기, 화면 인텔리전스, 자동 완성이 항상 로컬 모델을 사용합니다.',
  'localModel.advancedSettings': '고급 설정',
  'localModel.debugTitle': '로컬 모델 디버그',
  'screenAwareness.debugTitle': '화면 인식 디버그',
  'memory.debugTitle': '메모리 디버그',
  'webhooks.debugTitle': '웹훅 디버그',
  'notifications.routingTitle': '알림 라우팅',
  'common.reload': '다시 불러오기',
  'common.skip': '건너뛰기',
  'common.disable': '비활성화',
  'common.enable': '활성화',
  'chat.safetyTimeout': '2분 후에도 에이전트의 응답이 없습니다. 다시 시도하거나 연결을 확인하세요.',
  'chat.filter.all': '전체',
  'chat.filter.work': '업무',
  'chat.filter.briefing': '브리핑',
  'chat.filter.notification': '알림',
  'chat.filter.workers': '워커',
  'chat.selectThread': '스레드 선택',
  'chat.threads': '스레드',
  'chat.noThreads': '아직 스레드가 없습니다',
  'chat.noLabelThreads': '"{label}" 스레드가 없습니다',
  'chat.noWorkerThreads': '아직 워커 스레드가 없습니다',
  'chat.deleteThread': '스레드 삭제',
  'chat.deleteThreadConfirm': '"{title}" 스레드를 삭제하시겠습니까?',
  'chat.untitledThread': '제목 없는 스레드',
  'chat.hideSidebar': '사이드바 숨기기',
  'chat.showSidebar': '사이드바 표시',
  'chat.newThreadShortcut': '새 스레드 (/new)',
  'chat.new': '새로 만들기',
  'chat.failedToLoadMessages': '메시지를 불러오지 못했습니다',
  'chat.thinkingIteration': '생각 중... ({n})',
  'chat.thinkingDots': '생각 중...',
  'chat.approachingLimit': '사용 한도에 가까워지고 있습니다',
  'chat.approachingLimitMsg': '사용 가능한 할당량의 {pct}%를 사용했습니다.',
  'chat.upgrade': '업그레이드',
  'chat.weeklyLimitHit': '포함된 주기 예산을 모두 사용했습니다.',
  'chat.resets': '초기화',
  'chat.topUpToContinue': '계속하려면 충전하세요.',
  'chat.budgetComplete':
    '포함된 예산을 모두 사용했습니다. 계속하려면 크레딧을 추가하거나 업그레이드하세요.',
  'chat.topUp': '충전',
  'chat.cycle': '주기',
  'chat.cycleSpent': '이번 주기 사용량',
  'chat.cycleRemaining': '남은 양',
  'chat.left': '남음',
  'chat.setup': '설정',
  'chat.switchToText': '텍스트로 전환',
  'chat.transcribing': '전사 중...',
  'chat.stopAndSend': '중지하고 보내기',
  'chat.startTalking': '말하기 시작',
  'chat.playingVoiceReply': '음성 응답 재생 중',
  'chat.voiceHint': '마이크를 사용해 말하세요',
  'chat.micUnavailable': '마이크를 사용할 수 없습니다',
  'chat.turn': '턴',
  'chat.turns': '턴',
  'chat.openWorkerThread': '워커 스레드 열기',
  'memory.searchAria': '메모리 검색',
  'memory.searchPlaceholder': '메모리 항목 검색...',
  'memory.sourceFilter.all': '모든 소스',
  'memory.sourceFilter.email': '이메일',
  'memory.sourceFilter.calendar': '캘린더',
  'memory.sourceFilter.telegram': 'Telegram',
  'memory.sourceFilter.aiInsight': 'AI 인사이트',
  'memory.sourceFilter.system': '시스템',
  'memory.sourceFilter.trading': '거래',
  'memory.sourceFilter.security': '보안',
  'memory.ingestionActivity': '수집 활동',
  'memory.events': '이벤트',
  'memory.event': '이벤트',
  'memory.overTheLast': '지난 기간',
  'memory.months': '개월',
  'memory.peak': '최고치',
  'memory.perDay': '/일',
  'memory.less': '적음',
  'memory.more': '많음',
  'memory.on': '켜짐',
  'memory.loading': '메모리 불러오는 중',
  'memory.fetching': '메모리 항목을 가져오는 중...',
  'memory.analyzing': '메모리 분석 중',
  'memory.analyzingHint': '인사이트를 추출하기 위해 메모리를 처리하는 중...',
  'memory.noMatches': '일치하는 항목 없음',
  'memory.noMatchesHint': '검색어 또는 필터를 변경해 보세요.',
  'memory.allCaughtUp': '모두 완료됨',
  'memory.allCaughtUpHint': '처리할 새 메모리 항목이 없습니다.',
  'memory.noAnalysis': '아직 분석 없음',
  'memory.noAnalysisHint': '메모리에서 패턴을 발견하려면 분석을 실행하세요.',
  'memory.emptyHint': '첫 번째 메모리를 만들려면 상호작용을 시작하세요.',
  'mic.unavailable': '마이크를 사용할 수 없습니다',
  'mic.permissionDenied': '마이크 권한이 거부되었습니다',
  'mic.failedToStartRecorder': '녹음기를 시작하지 못했습니다',
  'mic.transcribing': '전사 중...',
  'mic.tapToSend': '탭하여 보내기',
  'mic.waitingForAgent': '에이전트를 기다리는 중...',
  'mic.tapAndSpeak': '탭하고 말하기',
  'mic.stopRecording': '녹음을 중지하고 보내기',
  'mic.startRecording': '녹음 시작',
  'token.usageLimitReached': '사용 한도에 도달했습니다',
  'token.approachingLimit': '한도에 가까워지고 있습니다',
  'token.planClickForDetails': '플랜 - 자세한 내용을 보려면 클릭',
  'token.sessionTokens': '입력: {in} | 출력: {out} | 턴: {turns}',
  'token.limit': '한도 도달',
  'catalog.noCapabilityBinding': '기능 바인딩 없음',
  'catalog.downloadFailed': '다운로드 실패',
  'catalog.active': '활성',
  'catalog.installed': '설치됨',
  'catalog.notDownloaded': '다운로드되지 않음',
  'catalog.inUse': '사용 중',
  'catalog.use': '사용',
  'catalog.deleteModel': '모델 삭제',
  'catalog.download': '다운로드',
  'navigator.recent': '최근',
  'navigator.today': '오늘',
  'navigator.thisWeek': '이번 주',
  'navigator.sources': '소스',
  'navigator.email': '이메일',
  'navigator.slack': 'Slack',
  'navigator.chat': '채팅',
  'navigator.documents': '문서',
  'navigator.people': '사람',
  'navigator.topics': '주제',
  'dreams.description': '꿈은 메모리의 패턴을 종합하는 AI 생성 반영입니다.',
  'dreams.comingSoon': '곧 제공 예정',
  'assignment.memoryLlm': '메모리 LLM',
  'assignment.memoryLlmAria': '메모리 LLM 선택',
  'assignment.embedder': '임베더',
  'assignment.loaded': '로드됨',
  'assignment.notDownloaded': '다운로드되지 않음',
  'assignment.usedForExtractSummarise': '추출 및 요약에 사용됨',
  'insights.knownFacts': '알려진 사실',
  'insights.preferences': '선호도',
  'insights.relationships': '관계',
  'insights.skills': '스킬',
  'insights.opinions': '의견',
};

export default ko2;
