{
	"cli.errors.bunVersion": "오류: Bun 런타임은 >= {minVersion} 이어야 합니다 (현재 v{currentVersion}). Bun을 업데이트하세요: bun upgrade",
	"cli.errors.bunErrata": "오류: Bun 런타임 오류가 감지되었습니다 (v{version}). Bun을 업데이트하세요: bun upgrade",
	"agents.errors.bothFlags": "--user 또는 --project 중 하나만 선택하세요. 둘 다 사용할 수 없습니다.",
	"agents.status.bundledCount": "번들 에이전트: {total}",
	"agents.status.targetDirectory": "대상 디렉터리: {dir}",
	"agents.warnings.skippedExisting": "기존 항목 건너뜀: {count}개 (덮어쓰려면 --force 사용)",
	"config.errors.unknownCommand": "알 수 없는 config 명령: {action}",
	"config.errors.invalidBoolean": "잘못된 불리언 값: {value}. true/false, yes/no, on/off, 1/0 중 하나를 사용하세요",
	"config.errors.invalidNumber": "잘못된 숫자: {value}",
	"config.errors.invalidEnumValue": "잘못된 값: {value}. 유효한 값: {validValues}",
	"config.errors.invalidArrayJson": "잘못된 배열 JSON: {value}",
	"config.errors.invalidRecordJson": "잘못된 레코드 JSON: {value}",
	"config.help.listKeys": "사용 가능한 키를 보려면 '{appName} config list'를 실행하세요",
	"config.errors.unknownSetting": "알 수 없는 설정: {key}",
	"config.status.valueSet": "{path} = {value} 로 설정됨",
	"config.status.valueReset": "{path}이(가) {value}(으)로 초기화됨",
	"file.errors.notFound": "오류: 파일을 찾을 수 없습니다: {path}",
	"file.warnings.tooLarge": "경고: 파일 내용을 건너뜁니다 (너무 큼: {size}): {path}",
	"file.errors.readFailed": "오류: 파일 {path}을(를) 읽을 수 없습니다: {message}",
	"grep.errors.patternRequired": "오류: 패턴이 필요합니다",
	"grep.results.totalMatches": "총 일치 항목: {count}",
	"grep.results.filesWithMatches": "일치 항목이 있는 파일: {count}",
	"grep.results.filesSearched": "검색된 파일: {count}",
	"read.errors.fileNotFound": "오류: 파일을 찾을 수 없습니다: {path}",
	"setup.errors.usage": "사용법: {appName} setup <component>",
	"setup.python.errors.notFound": "Python을 찾을 수 없습니다",
	"setup.python.help.installPython": "Python 3.8 이상을 설치하고 PATH에 등록되어 있는지 확인하세요",
	"setup.python.status.ready": "Python 실행 환경이 준비되었습니다",
	"setup.python.warnings.missingPackages": "누락된 패키지: {packages}",
	"setup.python.errors.noPackageManager": "패키지 관리자를 찾을 수 없습니다",
	"setup.python.help.installManagers": "uv (권장) 또는 pip을 설치하세요:",
	"setup.python.errors.installationFailed": "설치에 실패했습니다",
	"setup.python.help.manualInstall": "수동으로 설치해 보세요:",
	"setup.python.errors.setupIncomplete": "설정이 완료되지 않았습니다",
	"setup.stt.status.ready": "음성 텍스트 변환(STT)이 준비되었습니다",
	"setup.stt.errors.pythonNotFound": "Python을 찾을 수 없습니다",
	"setup.stt.status.installingWhisper": "openai-whisper를 설치하는 중...",
	"setup.stt.errors.whisperFailed": "openai-whisper 설치에 실패했습니다",
	"setup.stt.help.manualWhisper": "수동으로 시도해 보세요: pip install openai-whisper",
	"setup.help.title": "setup - 선택적 기능에 필요한 종속성 설치",
	"setup.help.pythonDescription": "Python 코드 실행을 위한 Jupyter 커널 종속성 설치",
	"setup.help.sttDescription": "음성 텍스트 변환 종속성 설치 (openai-whisper, 녹음 도구)",
	"setup.litellm.errors.envNotSet": "필수 환경 변수가 설정되지 않았습니다:",
	"setup.litellm.errors.baseUrlHint": "LITELLM_BASE_URL — LiteLLM 프록시 URL (예: https://your-proxy.example.com)",
	"setup.litellm.errors.apiKeyHint": "LITELLM_API_KEY  — LiteLLM 프록시의 API 키",
	"setup.litellm.help.setEnvVars": "셸 프로필 (.zshrc, .bashrc) 또는 .env 파일에 이 값들을 설정하세요.",
	"setup.litellm.status.generated": "LiteLLM 설정이 생성되었습니다",
	"setup.litellm.errors.generationFailed": "LiteLLM 설정 생성에 실패했습니다",
	"ssh.errors.hostRequired": "오류: 호스트 이름이 필요합니다",
	"ssh.errors.hostFlagRequired": "오류: --host 가 필요합니다",
	"ssh.errors.invalidPort": "오류: 포트는 1에서 65535 사이의 정수여야 합니다",
	"ssh.status.hostAdded": "SSH 호스트 \"{name}\"이(가) {scope} 설정에 추가되었습니다",
	"ssh.status.hostRemoved": "SSH 호스트 \"{name}\"이(가) {scope} 설정에서 제거되었습니다",
	"ssh.controller.unknownSubcommand": "알 수 없는 하위 명령입니다: {subcommand}. 사용법은 /ssh help를 입력하세요.",
	"ssh.add.usage": "사용법: /ssh add <name> --host <host> [--user <user>] [--port <port>] [--key <keyPath>] [--desc <description>] [--compat] [--scope project|user]",
	"ssh.add.missingHost": "--host 값이 지정되지 않았습니다.",
	"ssh.add.missingUser": "--user 값이 지정되지 않았습니다.",
	"ssh.add.missingPort": "--port 값이 지정되지 않았습니다.",
	"ssh.add.invalidPort": "--port 값이 잘못되었습니다. 1에서 65535 사이의 정수여야 합니다.",
	"ssh.add.missingKey": "--key 값이 지정되지 않았습니다.",
	"ssh.add.missingDesc": "--desc 값이 지정되지 않았습니다.",
	"ssh.add.invalidScope": "--scope 값이 잘못되었습니다. project 또는 user를 사용하세요.",
	"ssh.add.unknownOption": "알 수 없는 옵션입니다: {option}",
	"ssh.add.nameRequired": "호스트 이름이 필요합니다. 사용법: /ssh add <name> --host <host> ...",
	"ssh.add.hostRequired": "--host는 필수입니다. 사용법: /ssh add <name> --host <host> ...",
	"ssh.add.failed": "호스트 추가에 실패했습니다: {message}",
	"ssh.list.noneConfigured": "설정된 SSH 호스트가 없습니다.",
	"ssh.list.title": "설정된 SSH 호스트",
	"ssh.list.userLevel": "사용자 수준",
	"ssh.list.projectLevel": "프로젝트 수준",
	"ssh.list.discovered": "검색됨",
	"ssh.list.readOnly": "읽기 전용",
	"ssh.list.failed": "호스트 목록 조회에 실패했습니다: {message}",
	"ssh.remove.invalidScope": "--scope 값이 잘못되었습니다. project 또는 user를 사용하세요.",
	"ssh.remove.unknownOption": "알 수 없는 옵션입니다: {option}",
	"ssh.remove.nameRequired": "호스트 이름이 필요합니다. 사용법: /ssh remove <name> [--scope project|user]",
	"ssh.remove.notFound": "호스트 \"{name}\"을(를) {scope} 설정에서 찾을 수 없습니다.",
	"ssh.remove.failed": "호스트 삭제에 실패했습니다: {message}",
	"mode.plan.status.enabled": "플랜 모드가 활성화되었습니다. 플랜 파일: {path}",
	"mode.plan.status.paused": "플랜 모드가 일시 중지되었습니다.",
	"mode.plan.status.disabled": "플랜 모드가 비활성화되었습니다.",
	"mode.plan.errors.noEditor": "편집기가 설정되지 않았습니다. $VISUAL 또는 $EDITOR 환경 변수를 설정하세요.",
	"mode.plan.errors.fileNotFound": "{path}에서 플랜 파일을 찾을 수 없습니다",
	"mode.plan.errors.editorOpenFailed": "외부 편집기를 열지 못했습니다: {message}",
	"mode.plan.status.updated": "외부 편집기에서 플랜이 업데이트되었습니다.",
	"mode.plan.errors.notActive": "플랜 모드가 활성 상태가 아닙니다.",
	"mode.stt.warnings.disabled": "음성 텍스트 변환(STT)이 비활성화되어 있습니다. 설정에서 활성화하세요: stt.enabled",
	"mode.subagent.status.noActive": "활성 서브에이전트 세션이 없습니다",
	"ui.status.sessionCompacted": "세션이 {times}회 압축되었습니다",
	"ui.status.messageQueued": "압축 후 전송할 메시지를 대기열에 추가했습니다",
	"ui.errors.queuedMessageFailed": "대기 중인 메시지 전송에 실패했습니다: {message}",
	"shell.errors.ttyRequired": "오류: 셸 콘솔은 대화형 TTY가 필요합니다.",
	"search.errors.queryRequired": "오류: 쿼리가 필요합니다",
	"commands.settings.description": "설정 메뉴 열기",
	"commands.plan.description": "플랜 모드 전환 (실행 전에 에이전트가 계획을 세웁니다)",
	"commands.plan.inlineHint": "[프롬프트]",
	"commands.model.description": "모델 선택 (선택 UI를 엽니다)",
	"commands.fast.description": "패스트 모드 전환 (OpenAI 서비스 티어 우선순위)",
	"commands.fast.sub.on.description": "패스트 모드 활성화",
	"commands.fast.sub.off.description": "패스트 모드 비활성화",
	"commands.fast.sub.status.description": "패스트 모드 상태 표시",
	"commands.fast.enabled": "패스트 모드가 활성화되었습니다.",
	"commands.fast.disabled": "패스트 모드가 비활성화되었습니다.",
	"commands.fast.statusOn": "패스트 모드가 켜져 있습니다.",
	"commands.fast.statusOff": "패스트 모드가 꺼져 있습니다.",
	"commands.fast.usage": "사용법: /fast [on|off|status]",
	"commands.export.description": "세션을 HTML 파일로 내보내기",
	"commands.export.inlineHint": "[경로]",
	"commands.dump.description": "세션 기록을 클립보드에 복사",
	"commands.share.description": "세션을 GitHub 비밀 gist로 공유",
	"commands.browser.description": "브라우저 헤드리스 모드와 표시 모드 전환",
	"commands.browser.sub.headless.description": "헤드리스 모드로 전환",
	"commands.browser.sub.visible.description": "표시 모드로 전환",
	"commands.browser.disabled": "브라우저 도구가 비활성화되어 있습니다 (설정에서 활성화하세요)",
	"commands.browser.usage": "사용법: /browser [headless|visible]",
	"commands.browser.modeHeadless": "브라우저 모드: 헤드리스",
	"commands.browser.modeVisible": "브라우저 모드: 표시",
	"commands.browser.restartFailed": "브라우저 재시작에 실패했습니다: {message}",
	"commands.copy.description": "마지막 에이전트 메시지를 클립보드에 복사",
	"commands.copy.sub.last.description": "마지막 에이전트 메시지 전체 복사",
	"commands.copy.sub.code.description": "마지막 코드 블록 복사",
	"commands.copy.sub.all.description": "마지막 메시지의 모든 코드 블록 복사",
	"commands.copy.sub.cmd.description": "마지막 bash/python 명령 복사",
	"commands.session.description": "세션 관리 명령",
	"commands.session.sub.info.description": "세션 정보 및 통계 표시",
	"commands.session.sub.delete.description": "현재 세션을 삭제하고 선택 화면으로 돌아가기",
	"commands.jobs.description": "비동기 백그라운드 작업 상태 표시",
	"commands.usage.description": "프로바이더 사용량 및 제한 표시",
	"commands.changelog.description": "변경 이력 표시",
	"commands.changelog.sub.full.description": "전체 변경 이력 표시",
	"commands.hotkeys.description": "모든 키보드 단축키 표시",
	"commands.tools.description": "에이전트에 표시되는 현재 도구 표시",
	"commands.extensions.description": "확장 기능 제어 센터 대시보드 열기",
	"commands.agents.description": "에이전트 제어 센터 대시보드 열기",
	"commands.branch.description": "이전 메시지에서 새 브랜치 생성",
	"commands.fork.description": "이전 메시지에서 새 포크 생성",
	"commands.tree.description": "세션 트리 탐색 (브랜치 전환)",
	"commands.login.description": "OAuth 프로바이더로 로그인",
	"commands.login.inlineHint": "[프로바이더|리다이렉트 URL]",
	"commands.login.alreadyInProgressFor": "{provider}의 OAuth 로그인이 이미 진행 중입니다. 리다이렉트 URL을 /login <url>로 붙여넣으세요.",
	"commands.login.alreadyInProgress": "OAuth 로그인이 이미 진행 중입니다. 리다이렉트 URL을 /login <url>로 붙여넣으세요.",
	"commands.login.callbackReceived": "OAuth 콜백을 수신했습니다. 로그인을 완료하는 중…",
	"commands.login.noCallbackWaiting": "수동 콜백을 대기 중인 OAuth 로그인이 없습니다.",
	"commands.logout.description": "OAuth 프로바이더에서 로그아웃",
	"commands.mcp.description": "MCP 서버 관리 (추가, 목록, 삭제, 테스트)",
	"commands.mcp.sub.add.description": "새 MCP 서버 추가",
	"commands.mcp.sub.list.description": "설정된 모든 MCP 서버 목록 표시",
	"commands.mcp.sub.remove.description": "MCP 서버 삭제",
	"commands.mcp.sub.test.description": "서버 연결 테스트",
	"commands.mcp.sub.reauth.description": "서버의 OAuth 재인증",
	"commands.mcp.sub.unauth.description": "서버의 OAuth 인증 삭제",
	"commands.mcp.sub.enable.description": "MCP 서버 활성화",
	"commands.mcp.sub.disable.description": "MCP 서버 비활성화",
	"commands.mcp.sub.smitherySearch.description": "Smithery 레지스트리를 검색하고 MCP 서버 배포",
	"commands.mcp.sub.smitheryLogin.description": "Smithery에 로그인하고 API 키 캐시",
	"commands.mcp.sub.smitheryLogout.description": "캐시된 Smithery API 키 삭제",
	"commands.mcp.sub.reconnect.description": "특정 MCP 서버에 재연결",
	"commands.mcp.sub.reload.description": "MCP 런타임 도구 강제 리로드",
	"commands.mcp.sub.resources.description": "연결된 서버의 사용 가능한 리소스 목록 표시",
	"commands.mcp.sub.prompts.description": "연결된 서버의 사용 가능한 프롬프트 목록 표시",
	"commands.mcp.sub.notifications.description": "알림 기능 및 구독 표시",
	"commands.mcp.sub.help.description": "도움말 메시지 표시",
	"commands.ssh.description": "SSH 호스트 관리 (추가, 목록, 삭제)",
	"commands.ssh.sub.add.description": "SSH 호스트 추가",
	"commands.ssh.sub.list.description": "설정된 모든 SSH 호스트 목록 표시",
	"commands.ssh.sub.remove.description": "SSH 호스트 삭제",
	"commands.ssh.sub.help.description": "도움말 메시지 표시",
	"commands.new.description": "새 세션 시작",
	"commands.compact.description": "세션 컨텍스트를 수동으로 압축",
	"commands.compact.inlineHint": "[포커스 지시]",
	"commands.handoff.description": "세션 컨텍스트를 새 세션으로 인계",
	"commands.handoff.inlineHint": "[포커스 지시]",
	"commands.resume.description": "다른 세션 재개",
	"commands.btw.description": "현재 세션 컨텍스트를 사용하여 임시 보조 질문하기",
	"commands.btw.inlineHint": "<질문>",
	"commands.background.description": "UI를 분리하고 백그라운드에서 계속 실행",
	"commands.debug.description": "디버그 도구 선택기 열기",
	"commands.memory.description": "메모리 유지 관리 확인 및 작업",
	"commands.memory.sub.view.description": "현재 메모리 주입 페이로드 표시",
	"commands.memory.sub.clear.description": "저장된 메모리 데이터 및 아티팩트 삭제",
	"commands.memory.sub.reset.description": "clear의 별칭",
	"commands.memory.sub.enqueue.description": "메모리 통합 유지 관리를 대기열에 추가",
	"commands.memory.sub.rebuild.description": "enqueue의 별칭",
	"commands.rename.description": "현재 세션 이름 변경",
	"commands.rename.inlineHint": "<제목>",
	"commands.rename.usage": "사용법: /rename <title>",
	"commands.move.description": "세션을 다른 작업 디렉터리로 이동",
	"commands.move.inlineHint": "<경로>",
	"commands.move.usage": "사용법: /move <path>",
	"commands.exit.description": "애플리케이션 종료",
	"commands.plugin.description": "플러그인 및 마켓플레이스 소스 관리",
	"commands.plugin.sub.marketplace.description": "마켓플레이스 소스 관리 (추가, 삭제, 업데이트, 목록)",
	"commands.plugin.sub.install.description": "플러그인 설치",
	"commands.plugin.sub.uninstall.description": "플러그인 제거",
	"commands.plugin.sub.enable.description": "플러그인 활성화",
	"commands.plugin.sub.disable.description": "플러그인 비활성화",
	"commands.plugin.sub.upgrade.description": "플러그인 업그레이드",
	"commands.plugin.sub.discover.description": "사용 가능한 플러그인 탐색",
	"commands.plugin.sub.list.description": "설치된 모든 플러그인 목록 표시",
	"commands.plugin.sub.validate.description": "마켓플레이스 또는 플러그인 매니페스트 검증",
	"commands.plugin.sub.setup.description": "권장 플러그인 가이드 설정",
	"commands.plugin.sub.help.description": "사용 가이드 표시",
	"commands.plugin.marketplace.addUsage": "사용법: /plugin marketplace add <source>",
	"commands.plugin.marketplace.added": "마켓플레이스를 추가했습니다: {name}",
	"commands.plugin.marketplace.removeUsage": "사용법: /plugin marketplace remove <name>",
	"commands.plugin.marketplace.removed": "마켓플레이스를 삭제했습니다: {name}",
	"commands.plugin.marketplace.updated": "마켓플레이스를 업데이트했습니다: {name}",
	"commands.plugin.marketplace.updatedAll": "{count}개의 마켓플레이스를 업데이트했습니다",
	"commands.plugin.marketplace.noneConfiguredGetStarted": "마켓플레이스가 설정되지 않았습니다.\n\n시작하기:\n  /plugin marketplace add f5-sales-demo/marketplace",
	"commands.plugin.marketplace.listHint": "플러그인을 탐색하려면 /plugin discover를 사용하세요",
	"commands.plugin.marketplace.noneConfiguredTry": "마켓플레이스가 설정되지 않았습니다. 다음을 시도하세요:\n  /plugin marketplace add f5-sales-demo/marketplace",
	"commands.plugin.marketplace.noPluginsAvailable": "설정된 마켓플레이스에 사용 가능한 플러그인이 없습니다",
	"commands.plugin.installed": "{marketplace}에서 {name}을(를) 설치했습니다",
	"commands.plugin.uninstalled": "{pluginId}을(를) 제거했습니다",
	"commands.plugin.enabled": "{pluginId}을(를) 활성화했습니다",
	"commands.plugin.disabled": "{pluginId}을(를) 비활성화했습니다",
	"commands.plugin.upgraded": "{pluginId}을(를) {version}(으)로 업그레이드했습니다",
	"commands.plugin.allUpToDate": "모든 플러그인이 최신 상태입니다",
	"commands.plugin.upgradedCount": "{count}개의 플러그인을 업그레이드했습니다:",
	"commands.plugin.npmPlugins": "npm 플러그인:",
	"commands.plugin.marketplacePlugins": "마켓플레이스 플러그인:",
	"commands.plugin.noneInstalled": "설치된 플러그인이 없습니다",
	"commands.plugin.validate.marketplaceValid": "마켓플레이스 \"{name}\"은(는) 유효합니다 ({count}개의 플러그인)",
	"commands.plugin.validate.pluginValid": "플러그인 \"{name}\" 매니페스트가 유효합니다",
	"commands.plugin.validate.notFound": "{path}에 .xcsh-plugin/marketplace.json 또는 .xcsh-plugin/plugin.json이 없습니다",
	"commands.plugin.setup.noRecommended": "설정된 마켓플레이스에 권장 플러그인이 없습니다",
	"commands.plugin.setup.allInstalled": "모든 권장 플러그인이 이미 설치되어 있습니다",
	"commands.plugin.setup.title": "권장 플러그인 설정:",
	"commands.plugin.setup.installCount": "권장 플러그인 {installed}/{total}개를 설치했습니다",
	"commands.plugin.setup.skippedCount": "{count}개 건너뜀 — 위의 문제를 해결하고 /plugin setup을 다시 실행하세요 (멱등)",
	"commands.plugin.setup.installFailed": "설치 실패",
	"commands.plugin.setup.installed": "설치됨",
	"commands.plugin.setup.notAuthenticated": "인증되지 않음",
	"commands.plugin.setup.authenticatedAs": "{user}(으)로 인증됨",
	"commands.plugin.setup.ready": "준비 완료",
	"commands.plugin.setup.pluginInstalled": "플러그인 설치됨",
	"commands.plugin.setup.pluginInstallFailed": "플러그인 설치에 실패했습니다: {message}",
	"commands.plugin.setup.notFoundInMarketplace": "어떤 마켓플레이스에서도 찾을 수 없습니다",
	"commands.plugin.help": "플러그인 명령:\n  /plugin                                    플러그인 대시보드 열기\n  /plugin marketplace add <source>           마켓플레이스 추가 (예: owner/repo)\n  /plugin marketplace remove <name>          마켓플레이스 삭제\n  /plugin marketplace update [name]          카탈로그 재조회\n  /plugin marketplace list                   설정된 마켓플레이스 목록 표시\n  /plugin discover [marketplace]             사용 가능한 플러그인 탐색\n  /plugin install <name@marketplace>         플러그인 설치\n  /plugin uninstall <name@marketplace>       플러그인 제거\n  /plugin enable <name@marketplace>          플러그인 활성화\n  /plugin disable <name@marketplace>         플러그인 비활성화\n  /plugin upgrade [name@marketplace]         플러그인 업그레이드\n  /plugin list                               설치된 플러그인 목록 표시\n  /plugin validate [path]                    마켓플레이스 또는 플러그인 검증\n  /plugin setup                              권장 플러그인 가이드 설정\n\n빠른 시작:\n  /plugin marketplace add f5-sales-demo/marketplace\n  /plugin                                    (플러그인 대시보드를 엽니다)\n\n별칭: /marketplace, /plugins",
	"commands.plugin.marketplace.noneConfiguredBrowse": "마켓플레이스가 설정되지 않았습니다.\n\n시작하기:\n  /plugin marketplace add f5-sales-demo/marketplace\n\n그런 다음 /plugin 또는 /plugin discover로 플러그인을 탐색하세요",
	"commands.plugin.marketplace.listHintAll": "플러그인을 탐색하려면 /plugin discover를, 모든 명령을 보려면 /plugin help를 사용하세요",
	"commands.plugin.error": "플러그인 오류: {message}",
	"commands.reloadPlugins.description": "모든 플러그인 리로드 (스킬, 명령, 훅, 도구, 에이전트, MCP)",
	"commands.reloadPlugins.done": "플러그인을 리로드했습니다.",
	"commands.force.description": "다음 턴에서 특정 도구를 강제 사용",
	"commands.force.inlineHint": "<도구명> [프롬프트]",
	"commands.force.usage": "사용법: /force:<tool-name> [prompt]",
	"commands.force.set": "다음 턴에서 {toolName}을(를) 강제 사용합니다.",
	"commands.quit.description": "애플리케이션 종료",
	"commands.context.description": "F5 XC 인증 컨텍스트 관리",
	"commands.context.sub.list.description": "모든 컨텍스트 목록 표시",
	"commands.context.sub.activate.description": "지정된 컨텍스트로 전환",
	"commands.context.sub.validate.description": "활성화하지 않고 컨텍스트 자격 증명 검증",
	"commands.context.sub.show.description": "컨텍스트 세부 정보 표시 (마스킹됨)",
	"commands.context.sub.status.description": "현재 인증 상태 표시",
	"commands.context.sub.create.description": "새 컨텍스트 생성",
	"commands.context.sub.delete.description": "컨텍스트 삭제",
	"commands.context.sub.rename.description": "컨텍스트 이름 변경",
	"commands.context.sub.export.description": "컨텍스트(또는 모든 컨텍스트)를 JSON으로 내보내기",
	"commands.context.sub.import.description": "파일 경로 또는 인라인 JSON에서 컨텍스트 가져오기",
	"commands.context.sub.namespace.description": "활성 컨텍스트 내에서 namespace 전환",
	"commands.context.sub.env.description": "환경 변수 관리",
	"commands.context.sub.set.description": "환경 변수 설정",
	"commands.context.sub.unset.description": "환경 변수 삭제",
	"commands.context.sub.wizard.description": "가이드 대화형 컨텍스트 설정",
	"welcome.modelProvider": "모델 프로바이더",
	"welcome.plugins": "플러그인",
	"welcome.pluginSetupHint": "실행: /plugin setup",
	"welcome.updateHint": "실행: xcsh self-update",
	"welcome.newVersion": "새 버전",
	"welcome.connectionFailed": "— 연결 실패",
	"welcome.runLoginReconnect": "/login을 실행하여 재연결하세요",
	"welcome.noModelProvider": "모델 프로바이더가 설정되지 않았습니다",
	"welcome.runLoginConnect": "/login을 실행하여 연결하세요",
	"login.wizard.urlPrompt": "Model Provider URL",
	"login.wizard.urlPlaceholder": "https://your-proxy.example.com",
	"login.wizard.apiKeyPrompt": "API Key",
	"login.wizard.apiKeyPlaceholder": "sk-...",
	"login.wizard.connecting": "Connecting to {url}…",
	"login.wizard.success": "Connected — {count} models available",
	"login.wizard.configSaved": "Configuration saved. You're ready to go!",
	"login.wizard.failed": "Connection failed — {error}",
	"login.wizard.retryHint": "Press Escape to skip, or enter a new value:",
	"gate.noProvider": "No LLM provider configured — run /login to connect one before sending a message.",
	"gate.noProviderBlock": "No LLM provider configured. Run /login to connect one, then retry. (/help and /model still work.)",
	"plugins.tabs.installed": "설치됨",
	"plugins.tabs.recommended": "권장",
	"plugins.tabs.discover": "검색",
	"plugins.tabs.updates": "업데이트",
	"plugins.list.searchPlaceholder": "입력하여 필터링",
	"plugins.list.emptyDiscover": "사용 가능한 플러그인이 없습니다. 먼저 마켓플레이스를 추가하세요.",
	"plugins.list.emptyRecommended": "모든 권장 플러그인이 설치되어 있습니다.",
	"plugins.list.emptyUpdates": "모든 플러그인이 최신 상태입니다.",
	"plugins.list.emptyInstalled": "설치된 플러그인이 없습니다.",
	"plugins.list.shadowed": "섀도우",
	"plugins.list.disabled": "비활성화됨",
	"plugins.dashboard.title": "xcsh 플러그인 센터",
	"plugins.dashboard.helpRecommended": "↑/↓: 탐색  Enter: 설치  A: 모두 설치  Tab: 다음 탭  Ctrl+R: 리로드  Esc: 닫기",
	"plugins.dashboard.helpDiscover": "↑/↓: 탐색  Enter: 설치  Tab: 다음 탭  Ctrl+R: 리로드  Esc: 닫기",
	"plugins.dashboard.helpUpdates": "↑/↓: 탐색  Enter: 업그레이드  Tab: 다음 탭  Ctrl+R: 리로드  Esc: 닫기",
	"plugins.dashboard.helpInstalled": "↑/↓: 탐색  Space: 전환  Enter: 제거  U: 업그레이드  Tab: 다음 탭  Ctrl+R: 리로드  Esc: 닫기",
	"plugins.dashboard.settingUp": "{name} 설정 중... ({current}/{total})",
	"plugins.dashboard.installCount": "권장 플러그인 {installed}/{total}개를 설치했습니다",
	"plugins.dashboard.allRecommendedInstalled": "모든 권장 플러그인이 이미 설치되어 있습니다",
	"plugins.dashboard.failedCount": "{count}개 실패",
	"plugins.dashboard.authNeeded": "인증 필요: {items}",
	"plugins.dashboard.uninstalled": "{name}을(를) 제거했습니다",
	"plugins.dashboard.uninstallFailed": "제거에 실패했습니다: {message}",
	"plugins.dashboard.upgraded": "{name}을(를) 업그레이드했습니다",
	"plugins.dashboard.upgradeFailed": "업그레이드에 실패했습니다: {message}",
	"plugins.dashboard.upgrading": "{name} 업그레이드 중...",
	"controller.export.warnings.useDump": "세션을 클립보드에 복사하려면 /dump을 사용하세요.",
	"controller.export.status.exported": "세션을 내보냈습니다: {path}",
	"controller.export.errors.failed": "세션 내보내기에 실패했습니다: {message}",
	"controller.dump.errors.noMessages": "덤프할 메시지가 아직 없습니다.",
	"controller.dump.status.copied": "세션을 클립보드에 복사했습니다",
	"controller.dump.errors.failed": "세션 복사에 실패했습니다: {message}",
	"controller.debug.errors.noMessages": "덤프할 메시지가 아직 없습니다.",
	"controller.debug.status.written": "디버그 기록을 작성했습니다:\n{path}",
	"controller.debug.errors.failed": "디버그 기록 작성에 실패했습니다: {message}",
	"controller.copy.errors.unknownSub": "알 수 없는 하위 명령입니다: {sub}. code, all, cmd 또는 last를 사용하세요.",
	"controller.copy.errors.noMessages": "복사할 에이전트 메시지가 아직 없습니다.",
	"controller.copy.status.lastMessage": "마지막 에이전트 메시지를 클립보드에 복사했습니다",
	"controller.copy.warnings.noCodeBlock": "마지막 에이전트 메시지에 코드 블록이 없습니다.",
	"controller.copy.status.codeBlock": "마지막 코드 블록을 클립보드에 복사했습니다",
	"controller.copy.warnings.noCodeBlocks": "마지막 에이전트 메시지에 코드 블록이 없습니다.",
	"controller.copy.status.codeBlocks": "{count}개의 코드 블록을 클립보드에 복사했습니다",
	"controller.copy.status.bashCommand": "마지막 bash 명령을 클립보드에 복사했습니다",
	"controller.copy.status.pythonCode": "마지막 Python 코드를 클립보드에 복사했습니다",
	"controller.copy.warnings.noCommand": "대화에서 bash 또는 Python 명령을 찾을 수 없습니다.",
	"controller.session.title": "세션 정보",
	"controller.session.file": "파일:",
	"controller.session.inMemory": "인메모리",
	"controller.session.id": "ID:",
	"controller.session.provider": "프로바이더",
	"controller.session.noModel": "모델이 선택되지 않았습니다",
	"controller.session.messages": "메시지",
	"controller.session.user": "사용자:",
	"controller.session.assistant": "어시스턴트:",
	"controller.session.toolCalls": "도구 호출:",
	"controller.session.toolResults": "도구 결과:",
	"controller.session.total": "합계:",
	"controller.session.tokens": "토큰",
	"controller.session.input": "입력:",
	"controller.session.output": "출력:",
	"controller.session.cacheRead": "캐시 읽기:",
	"controller.session.cacheWrite": "캐시 쓰기:",
	"controller.session.cost": "비용",
	"controller.session.premiumRequests": "프리미엄 요청:",
	"controller.session.pythonGateway": "Python 게이트웨이",
	"controller.session.status": "상태:",
	"controller.session.gatewayActive": "활성 (전역)",
	"controller.session.gatewayInactive": "비활성",
	"controller.session.url": "URL:",
	"controller.session.pid": "PID:",
	"controller.session.python": "Python:",
	"controller.session.venv": "Venv:",
	"controller.session.uptime": "가동 시간:",
	"controller.session.lspServers": "LSP 서버",
	"controller.session.mcpServers": "MCP 서버",
	"controller.session.noneConnected": "연결 없음",
	"controller.jobs.title": "백그라운드 작업",
	"controller.jobs.running": "실행 중:",
	"controller.jobs.noJobs": "비동기 작업이 아직 없습니다.",
	"controller.jobs.runningJobs": "실행 중인 작업",
	"controller.jobs.recentJobs": "최근 작업",
	"controller.jobs.unavailable": "이 세션에서는 비동기 백그라운드 작업을 사용할 수 없습니다.",
	"controller.usage.notConfigured": "이 세션에서는 사용량 보고가 설정되지 않았습니다.",
	"controller.usage.fetchFailed": "사용량 데이터 조회에 실패했습니다: {message}",
	"controller.usage.noData": "사용량 데이터가 없습니다.",
	"controller.changelog.noEntries": "변경 이력 항목을 찾을 수 없습니다.",
	"controller.changelog.fullTitle": "전체 변경 이력",
	"controller.changelog.recentTitle": "최근 변경 사항",
	"controller.hotkeys.title": "키보드 단축키",
	"controller.tools.title": "사용 가능한 도구",
	"controller.memory.title": "메모리 주입 페이로드",
	"controller.memory.empty": "메모리 페이로드가 비어 있습니다 (메모리가 비활성화되었거나 메모리 요약을 찾을 수 없습니다).",
	"controller.memory.cleared": "메모리 데이터를 삭제하고 시스템 프롬프트를 새로고침했습니다.",
	"controller.memory.clearFailed": "메모리 삭제에 실패했습니다: {message}",
	"controller.memory.enqueued": "메모리 통합을 대기열에 추가했습니다.",
	"controller.memory.enqueueFailed": "메모리 통합 대기열 추가에 실패했습니다: {message}",
	"controller.memory.usage": "사용법: /memory <view|clear|reset|enqueue|rebuild>",
	"controller.newSession": "새 세션을 시작했습니다",
	"controller.fork.streaming": "포크하기 전에 현재 응답이 완료되거나 중단될 때까지 기다리세요.",
	"controller.fork.failed": "포크에 실패했습니다 (세션이 저장되지 않았거나 취소되었습니다)",
	"controller.fork.success": "세션을 {path}에 포크했습니다",
	"controller.move.streaming": "이동하기 전에 현재 응답이 완료되거나 중단될 때까지 기다리세요.",
	"controller.move.usage": "사용법: /move <path>",
	"controller.move.notDirectory": "디렉터리가 아닙니다: {path}",
	"controller.move.notExists": "디렉터리가 존재하지 않습니다: {path}",
	"controller.move.success": "세션을 {path}(으)로 이동했습니다",
	"controller.move.failed": "이동에 실패했습니다: {message}",
	"controller.rename.empty": "세션 이름은 비워둘 수 없습니다.",
	"controller.rename.success": "세션 이름을 \"{name}\"(으)로 변경했습니다.",
	"controller.rename.failed": "이름 변경에 실패했습니다: {message}",
	"controller.share.ghNotLoggedIn": "GitHub CLI가 로그인되어 있지 않습니다. 먼저 'gh auth login'을 실행하세요.",
	"controller.share.ghNotInstalled": "GitHub CLI (gh)가 설치되어 있지 않습니다. https://cli.github.com/ 에서 설치하세요",
	"controller.share.creatingGist": "gist를 생성하는 중...",
	"controller.share.sharing": "공유하는 중...",
	"controller.share.cancelled": "공유가 취소되었습니다",
	"controller.share.sessionShared": "세션을 공유했습니다",
	"controller.share.customFailed": "사용자 정의 공유에 실패했습니다: {message}",
	"controller.share.gistFailed": "gist 생성에 실패했습니다: {message}",
	"controller.share.gistParseFailed": "gh 출력에서 gist ID를 파싱하지 못했습니다",
	"controller.bash.failed": "Bash 명령이 실패했습니다: {message}",
	"hotkeys.navigation.title": "내비게이션",
	"hotkeys.navigation.moveCursor": "커서 이동 / 히스토리 탐색 (비어있을 때 위쪽 키)",
	"hotkeys.navigation.moveByWord": "단어 단위로 이동",
	"hotkeys.navigation.startOfLine": "줄 시작으로",
	"hotkeys.navigation.endOfLine": "줄 끝으로",
	"hotkeys.editing.title": "편집",
	"hotkeys.editing.sendMessage": "메시지 보내기",
	"hotkeys.editing.newLine": "줄바꿈",
	"hotkeys.editing.deleteWordBackwards": "이전 단어 삭제",
	"hotkeys.editing.deleteToStart": "줄 시작까지 삭제",
	"hotkeys.editing.deleteToEnd": "줄 끝까지 삭제",
	"hotkeys.editing.copyLine": "현재 줄 복사",
	"hotkeys.editing.copyPrompt": "프롬프트 전체 복사",
	"hotkeys.other.title": "기타",
	"hotkeys.other.pathCompletion": "경로 완성 / 자동완성 확정",
	"hotkeys.other.cancelInterrupt": "자동완성 취소 / 진행 중인 작업 중단",
	"hotkeys.other.clearExit": "편집기 지우기(1회) / 종료(2회)",
	"hotkeys.other.exit": "종료 (편집기가 비어있을 때)",
	"hotkeys.other.suspend": "백그라운드로 일시 중지",
	"hotkeys.other.cycleThinking": "사고 수준 전환",
	"hotkeys.other.cycleModelsForward": "역할 모델 전환 (slow/default/smol)",
	"hotkeys.other.cycleModelsBackward": "역할 모델 전환 (임시)",
	"hotkeys.other.selectModelTemp": "모델 선택 (임시)",
	"hotkeys.other.selectModel": "모델 선택 (역할 설정)",
	"hotkeys.other.togglePlan": "플랜 모드 전환",
	"hotkeys.other.searchHistory": "프롬프트 히스토리 검색",
	"hotkeys.other.toggleToolExpand": "도구 출력 확장 전환",
	"hotkeys.other.toggleThinking": "사고 블록 표시 전환",
	"hotkeys.other.externalEditor": "외부 편집기에서 메시지 편집",
	"hotkeys.other.pasteImage": "클립보드에서 이미지 붙여넣기",
	"hotkeys.other.toggleStt": "음성 인식 녹음 전환",
	"hotkeys.other.promptActions": "프롬프트 액션 열기",
	"hotkeys.other.slashCommands": "슬래시 명령",
	"hotkeys.other.runBash": "bash 명령 실행",
	"hotkeys.other.runBashExcluded": "bash 명령 실행 (컨텍스트에서 제외)",
	"hotkeys.other.runPython": "공유 커널에서 Python 실행",
	"hotkeys.other.runPythonExcluded": "Python 실행 (컨텍스트에서 제외)",
	"tools.emptyState": "에이전트에 표시되는 도구가 없습니다.",
	"tools.noDescription": "설명이 제공되지 않았습니다.",
	"tools.tableHeaderTool": "도구",
	"tools.tableHeaderDescription": "설명",
	"context.list.noneFound": "F5 XC 컨텍스트를 찾을 수 없습니다. /context create를 사용하거나 설정을 도와달라고 요청하세요.",
	"context.activate.usage": "사용법: /context activate <name>. 사용 가능한 컨텍스트를 보려면 `/context list`를 실행하세요.",
	"context.activate.notFound": "컨텍스트 '{name}'을(를) 찾을 수 없습니다. /context list로 사용 가능한 컨텍스트를 확인하거나 /context create {name} <url> <token>으로 생성하세요.",
	"context.show.noActive": "활성 컨텍스트가 없습니다. `/context create <name>`으로 생성하거나, 컨텍스트가 있는 경우 `/context activate <name>`을 실행하세요.",
	"context.show.notFound": "컨텍스트 '{name}'을(를) 찾을 수 없습니다. /context list로 사용 가능한 컨텍스트를 확인하세요.",
	"context.validate.usage": "컨텍스트 이름이 지정되지 않았습니다. 사용법: /context validate <name>. 활성 컨텍스트의 경우 /context status를 사용하세요.",
	"context.status.notConfigured": "설정되지 않았습니다. /context create를 사용하거나 설정을 도와달라고 요청하세요.",
	"context.create.usage": "사용법: /context create <name> <url> <token> [namespace]",
	"context.create.invalidName": "컨텍스트 이름은 영숫자, 하이픈, 밑줄만 사용할 수 있으며 최대 64자입니다.",
	"context.create.invalidUrl": "API URL은 유효한 HTTPS URL이어야 합니다 (예: https://tenant.console.ves.volterra.io)",
	"context.rename.usage": "사용법: /context rename <old> <new>",
	"context.export.usage": "사용법: /context export [name] [--include-token]",
	"context.import.usage": "사용법: /context import <path-or-json> [--overwrite]",
	"context.import.invalidJson": "가져오기 소스가 유효한 JSON이 아닙니다: {message}",
	"context.import.fileNotFound": "가져오기 파일을 찾을 수 없습니다: {path}",
	"context.delete.usage": "사용법: /context delete <name> --confirm",
	"context.delete.cannotDeleteActive": "활성 컨텍스트는 삭제할 수 없습니다. 먼저 `/context activate <other>`로 전환하세요.",
	"context.namespace.usage": "사용법: /context namespace <name>\n컨텍스트를 변경하지 않고 활성 namespace를 전환합니다. 기본값은 'default'입니다.",
	"context.env.unknownAction": "알 수 없는 env 액션입니다: {action}. /context env set|unset|list를 사용하세요",
	"context.env.noActive": "활성 컨텍스트가 없습니다. 먼저 /context activate <name>을 실행하세요.",
	"context.env.set.usage": "KEY=VALUE 쌍을 찾을 수 없습니다. 사용법: /context set KEY=VALUE [KEY2=VALUE2 ...]",
	"context.env.unset.usage": "변수 이름을 찾을 수 없습니다. 사용법: /context unset KEY [KEY2 ...]",
	"mcp.errors.unknownSubcommand": "알 수 없는 하위 명령입니다: {subcommand}. 사용법은 /mcp help를 입력하세요.",
	"mcp.errors.invalidScope": "--scope 값이 잘못되었습니다. project 또는 user를 사용하세요.",
	"mcp.errors.unknownOption": "알 수 없는 옵션입니다: {option}",
	"mcp.errors.missingUrl": "--url 값이 지정되지 않았습니다.",
	"mcp.errors.invalidTransport": "--transport 값이 잘못되었습니다. http 또는 sse를 사용하세요.",
	"mcp.errors.missingToken": "--token 값이 지정되지 않았습니다.",
	"mcp.errors.missingLimit": "--limit 값이 지정되지 않았습니다.",
	"mcp.errors.invalidLimit": "--limit 값이 잘못되었습니다. 1에서 100 사이의 정수를 사용하세요.",
	"mcp.errors.serverNotFound": "서버 \"{name}\"을(를) 찾을 수 없습니다.",
	"mcp.errors.serverNotFoundInScope": "서버 \"{name}\"을(를) {scope} 설정에서 찾을 수 없습니다.",
	"mcp.errors.noManager": "MCP 관리자를 사용할 수 없습니다.",
	"mcp.action.enable": "활성화",
	"mcp.action.disable": "비활성화",
	"mcp.add.nameRequired": "빠른 추가에는 서버 이름이 필요합니다. 사용법: /mcp add <name> ...",
	"mcp.add.urlOrCommand": "--url 또는 -- <command...> 중 하나만 사용하세요. 둘 다 사용할 수 없습니다.",
	"mcp.add.tokenRequiresUrl": "--token에는 --url (HTTP/SSE 전송)이 필요합니다.",
	"mcp.remove.usage": "서버 이름이 필요합니다. 사용법: /mcp remove <name> [--scope project|user]",
	"mcp.remove.failed": "서버 삭제에 실패했습니다: {message}",
	"mcp.test.usage": "서버 이름이 필요합니다. 사용법: /mcp test <name>",
	"mcp.test.disabled": "서버 \"{name}\"이(가) 비활성화되어 있습니다. 먼저 /mcp enable {name}을 실행하세요.",
	"mcp.test.cancelled": "\"{name}\"의 MCP 테스트가 취소되었습니다",
	"mcp.test.failed": "\"{name}\"에 연결하지 못했습니다: {message}",
	"mcp.enable.usage": "서버 이름이 필요합니다. 사용법: /mcp enable <name>",
	"mcp.disable.usage": "서버 이름이 필요합니다. 사용법: /mcp disable <name>",
	"mcp.setEnabled.failed": "서버 {action}에 실패했습니다: {message}",
	"mcp.unauth.usage": "서버 이름이 필요합니다. 사용법: /mcp unauth <name>",
	"mcp.unauth.failed": "인증 삭제에 실패했습니다: {message}",
	"mcp.reauth.usage": "서버 이름이 필요합니다. 사용법: /mcp reauth <name>",
	"mcp.reauth.disabled": "서버 \"{name}\"이(가) 비활성화되어 있습니다. 먼저 /mcp enable {name}을 실행하세요.",
	"mcp.reauth.failed": "서버 재인증에 실패했습니다: {message}",
	"mcp.reload.failed": "MCP 리로드에 실패했습니다: {message}",
	"mcp.reconnect.usage": "서버 이름이 필요합니다. 사용법: /mcp reconnect <name>",
	"mcp.reconnect.failed": "\"{name}\"에 재연결하지 못했습니다. 서버 상태와 로그를 확인하세요.",
	"mcp.reconnect.failedWithError": "\"{name}\"에 재연결하지 못했습니다: {message}",
	"mcp.smithery.searchUsage": "키워드가 필요합니다. 사용법: /mcp smithery-search <keyword> [--scope project|user] [--limit <1-100>] [--semantic]",
	"mcp.smithery.keyEmpty": "Smithery API 키는 비워둘 수 없습니다.",
	"mcp.smithery.keySaved": "Smithery API 키를 저장했습니다.",
	"mcp.smithery.validationFailed": "Smithery API 키 검증에 실패했습니다: {message}",
	"mcp.smithery.loginCancelled": "Smithery 로그인이 취소되었습니다.",
	"mcp.smithery.keyRemoved": "Smithery API 키를 삭제했습니다.",
	"mcp.smithery.noKeyFound": "캐시된 Smithery API 키를 찾을 수 없습니다.",
	"mcp.smithery.deployCancelled": "MCP 배포가 취소되었습니다.",
	"mcp.smithery.selectionCancelled": "MCP Smithery 선택이 취소되었습니다.",
	"mcp.smithery.searchFailed": "Smithery 검색에 실패했습니다: {message}"
}
