diff --git a/packages/ui/src/lib/i18n/messages/ko.settings.ts b/packages/ui/src/lib/i18n/messages/ko.settings.ts index 870656a7..742899f6 100644 --- a/packages/ui/src/lib/i18n/messages/ko.settings.ts +++ b/packages/ui/src/lib/i18n/messages/ko.settings.ts @@ -7,10 +7,10 @@ export const settingsDict = { 'settings.view.home.description': '자주 사용하는 페이지로 이동하세요.', 'settings.view.home.cards.providers.title': '프로바이더', 'settings.view.home.cards.providers.description': '모델과 인증 정보를 연결하세요', - 'settings.view.home.cards.agents.title': 'Agents', + 'settings.view.home.cards.agents.title': '에이전트', 'settings.view.home.cards.agents.description': '프롬프트, 도구, 권한', - 'settings.view.home.cards.skillsCatalog.title': 'Skills Catalog', - 'settings.view.home.cards.skillsCatalog.description': '카탈로그에서 스킬을 설치하세요', + 'settings.view.home.cards.skillsCatalog.title': '스킬 카탈로그', + 'settings.view.home.cards.skillsCatalog.description': '카탈로그에서 스킬을 설치합니다', 'settings.view.home.cards.mcp.title': 'MCP', 'settings.view.home.cards.mcp.description': 'MCP 서버 연결을 설정하세요', 'settings.view.home.cards.usage.title': '사용량', @@ -23,34 +23,34 @@ export const settingsDict = { 'settings.view.actions.backToSettings': '설정으로 돌아가기', 'settings.view.actions.closeSettings': '설정 닫기', 'settings.view.actions.openSectionList': '섹션 목록 열기', - 'settings.view.actions.closeSettingsWithShortcut': 'Settings 닫기 ({shortcut}+ ,)', + 'settings.view.actions.closeSettingsWithShortcut': '설정 닫기 ({shortcut}+,)', 'settings.view.actions.back': '뒤로', 'settings.view.actions.resizeNavigation': '설정 내비게이션 크기 조정', 'settings.page.projects.title': '프로젝트', 'settings.page.remoteInstances.title': '원격 인스턴스', 'settings.page.providers.title': '프로바이더', 'settings.page.usage.title': '사용량', - 'settings.page.agents.title': 'Agents', - 'settings.page.commands.title': 'Commands', + 'settings.page.agents.title': '에이전트', + 'settings.page.commands.title': '명령어', 'settings.page.mcp.title': 'MCP', - 'settings.page.skills.title': 'Skills', - 'settings.page.skillsCatalog.title': 'Skills Catalog', + 'settings.page.skills.title': '스킬', + 'settings.page.skillsCatalog.title': '스킬 카탈로그', 'settings.page.git.title': 'Git', 'settings.page.appearance.title': '외관', 'settings.page.chat.title': '채팅', 'settings.page.shortcuts.title': '단축키', 'settings.page.sessions.title': '세션', - 'settings.page.magicPrompts.title': 'Magic Prompts', + 'settings.page.magicPrompts.title': '매직 프롬프트', 'settings.page.notifications.title': '알림', 'settings.page.voice.title': '음성', 'settings.page.tunnel.title': '원격 터널', 'settings.openchamber.tunnel.title': '원격 터널', 'settings.openchamber.tunnel.description': '퀵 링크나 직접 관리하는 Cloudflare 터널로 안전한 원격 접속을 설정하세요.', - 'settings.openchamber.tunnel.note.serverSideEnforced': '보안 터널 접속은 서버에서 강제됩니다.', + 'settings.openchamber.tunnel.note.serverSideEnforced': '보안 터널 접근은 서버 측에서 강제됩니다.', 'settings.openchamber.tunnel.note.connectLinksOneTime': '접속 링크는 일회용이며, 터널이 중지되거나 링크 TTL이 만료되면 폐기됩니다.', 'settings.openchamber.tunnel.note.cloudflareConnectorTarget': 'Cloudflare 커넥터 대상:', - 'settings.openchamber.tunnel.note.cloudflareConnectorTargetUse': 'Cloudflare 커넥터 대상에는 다음을 사용하세요', - 'settings.openchamber.tunnel.note.tokensSavedPerTunnel': '토큰은 터널별로 저장되며 디스크에서 재사용됩니다.', + 'settings.openchamber.tunnel.note.cloudflareConnectorTargetUse': 'Cloudflare 커넥터 대상에는 다음 값을 사용하세요', + 'settings.openchamber.tunnel.note.tokensSavedPerTunnel': '토큰은 터널별로 저장되며 디스크에 저장된 값을 재사용합니다.', 'settings.openchamber.tunnel.note.customConfigUsed': '터널 시작 시 사용자 정의 설정 파일을 사용합니다.', 'settings.openchamber.tunnel.note.defaultConfigUsed': '비워 두면 cloudflared가 기본 설정 파일(~/.cloudflared/config.yml)을 사용합니다.', 'settings.openchamber.tunnel.note.managedRemoteRequiresDomain': 'Managed Remote 터널에는 Cloudflare 계정에 등록된 도메인이 필요합니다.', @@ -68,7 +68,7 @@ export const settingsDict = { 'settings.openchamber.tunnel.field.tunnelSessionTtl': '터널 세션 TTL', 'settings.openchamber.tunnel.field.hostnameLabel': 'Hostname:', 'settings.openchamber.tunnel.field.savedTokenAvailablePlaceholder': '저장된 토큰 사용 가능(교체 선택 사항)', - 'settings.openchamber.tunnel.field.pasteTokenPlaceholder': '이 터널의 토큰 붙여넣기', + 'settings.openchamber.tunnel.field.pasteTokenPlaceholder': '이 터널에 사용할 토큰을 붙여넣으세요', 'settings.openchamber.tunnel.field.newPresetNamePlaceholder': '터널 이름(예: Production)', 'settings.openchamber.tunnel.field.newPresetHostnamePlaceholder': 'Hostname(예: oc.example.com)', 'settings.openchamber.tunnel.field.newPresetTokenPlaceholder': '토큰', @@ -96,7 +96,7 @@ export const settingsDict = { 'settings.openchamber.tunnel.actions.retry': '다시 시도', 'settings.openchamber.tunnel.option.moreProvidersSoon': '더 많은 프로바이더가 곧 추가됩니다', 'settings.openchamber.tunnel.option.mode.quick.label': 'Quick', - 'settings.openchamber.tunnel.option.mode.quick.tooltip': 'Quick Tunnel은 최선 노력 방식이며 Cloudflare는 가동 시간을 보장하지 않습니다.', + 'settings.openchamber.tunnel.option.mode.quick.tooltip': 'Quick Tunnel은 best effort로 제공되며 Cloudflare는 가동 시간을 보장하지 않습니다.', 'settings.openchamber.tunnel.option.mode.managedRemote.label': 'Managed Remote', 'settings.openchamber.tunnel.option.mode.managedRemote.tooltip': 'Managed Remote는 장기 접속을 위해 Cloudflare 계정과 hostname을 사용합니다.', 'settings.openchamber.tunnel.option.mode.managedLocal.label': 'Managed Local', @@ -144,7 +144,7 @@ export const settingsDict = { 'settings.openchamber.tunnel.toast.hostnameAlreadyExists': '이 hostname은 이미 존재합니다', 'settings.openchamber.tunnel.toast.managedRemoteSaved': 'Managed Remote 터널이 저장되었습니다', 'settings.openchamber.tunnel.toast.managedRemoteRemoved': 'Managed Remote 터널이 제거되었습니다', - 'settings.magicPrompts.sidebar.title': 'Magic Prompts', + 'settings.magicPrompts.sidebar.title': '매직 프롬프트', 'settings.magicPrompts.sidebar.description': '편집할 프롬프트 템플릿을 선택하세요.', 'settings.magicPrompts.sidebar.group.git': 'Git', 'settings.magicPrompts.sidebar.group.github': 'GitHub', @@ -155,15 +155,15 @@ export const settingsDict = { 'settings.magicPrompts.sidebar.item.gitConflictResolve': 'Merge/Rebase 충돌 해결', 'settings.magicPrompts.sidebar.item.gitCherrypickConflictResolve': 'Cherry-pick 충돌 해결', 'settings.magicPrompts.sidebar.item.githubPrReview': 'PR 리뷰', - 'settings.magicPrompts.sidebar.item.githubIssueReview': 'Issue 리뷰', - 'settings.magicPrompts.sidebar.item.githubPrFailedChecksReview': 'PR 실패 Checks 리뷰', + 'settings.magicPrompts.sidebar.item.githubIssueReview': '이슈 리뷰', + 'settings.magicPrompts.sidebar.item.githubPrFailedChecksReview': 'PR 실패 체크 리뷰', 'settings.magicPrompts.sidebar.item.githubPrCommentsReview': 'PR 댓글 리뷰', 'settings.magicPrompts.sidebar.item.githubSinglePrCommentReview': '단일 PR 댓글 리뷰', - 'settings.magicPrompts.sidebar.item.planTodo': 'Todo 계획', + 'settings.magicPrompts.sidebar.item.planTodo': '할 일 계획', 'settings.magicPrompts.sidebar.item.planImprove': '계획 개선', 'settings.magicPrompts.sidebar.item.planImplement': '계획 구현', 'settings.magicPrompts.sidebar.item.sessionSummary': '세션 요약', - 'settings.magicPrompts.sidebar.item.sessionWorkspaceReview': 'Workspace 리뷰', + 'settings.magicPrompts.sidebar.item.sessionWorkspaceReview': '워크스페이스 리뷰', 'settings.remoteInstances.sidebar.title': '원격 인스턴스', 'settings.remoteInstances.sidebar.total': '총 {count}개', 'settings.remoteInstances.sidebar.newSshInstanceName': '새 SSH 인스턴스', @@ -252,7 +252,7 @@ export const settingsDict = { 'settings.projects.actions.field.commandPlaceholder': '예: bun run lint', 'settings.projects.actions.field.autoOpenUrl': 'URL 자동 열기', 'settings.projects.actions.field.autoOpenUrlForAria': '{title}의 URL 자동 열기', - 'settings.projects.actions.field.autoOpenUrlDescription': '출력의 URL 또는 아래 사용자 정의 URL을 엽니다', + 'settings.projects.actions.field.autoOpenUrlDescription': '명령 출력에서 감지한 URL 또는 아래의 사용자 정의 URL을 엽니다', 'settings.projects.actions.field.overrideUrlPlaceholder': '대체 URL(선택 사항)', 'settings.projects.actions.field.overrideUrlTooltip': '이 항목을 입력하면 사용자 정의 URL을 사용합니다. 비워 두면 출력에서 가장 적절한 URL을 엽니다.', 'settings.projects.actions.field.desktopSshForward': 'Desktop SSH 포워딩', @@ -270,62 +270,62 @@ export const settingsDict = { 'settings.openchamber.about.actions.updateToVersion': '{version}으로 업데이트', 'settings.openchamber.about.actions.checkForUpdates': '업데이트 확인', 'settings.openchamber.about.toast.latestVersion': '최신 버전을 사용 중입니다', - 'settings.agents.sidebar.title': 'Agents', + 'settings.agents.sidebar.title': '에이전트', 'settings.agents.sidebar.total': '총 {count}개', - 'settings.agents.sidebar.empty.title': '설정된 agent가 없습니다', + 'settings.agents.sidebar.empty.title': '설정된 에이전트가 없습니다', 'settings.agents.sidebar.empty.description': '위의 + 버튼으로 새로 생성하세요', - 'settings.agents.sidebar.section.builtIn': '내장 Agents', - 'settings.agents.sidebar.section.custom': '사용자 정의 Agents', + 'settings.agents.sidebar.section.builtIn': '내장 에이전트', + 'settings.agents.sidebar.section.custom': '사용자 정의 에이전트', 'settings.agents.sidebar.badge.system': 'system', - 'settings.agents.sidebar.dialog.deleteTitle': 'Agent 삭제', - 'settings.agents.sidebar.dialog.resetTitle': 'Agent 초기화', - 'settings.agents.sidebar.dialog.deleteDescription': 'agent "{name}"을(를) 삭제하시겠습니까?', - 'settings.agents.sidebar.dialog.resetDescription': 'agent "{name}"을(를) 기본 설정으로 초기화하시겠습니까?', - 'settings.agents.sidebar.renameDialog.title': 'Agent 이름 변경', - 'settings.agents.sidebar.renameDialog.description': 'agent "@{name}"의 새 이름을 입력하세요', - 'settings.agents.sidebar.renameDialog.placeholder': '새 agent 이름...', - 'settings.agents.sidebar.toast.builtInCannotDelete': '내장 agent는 삭제할 수 없습니다', - 'settings.agents.sidebar.toast.agentDeleted': 'Agent "{name}"이(가) 삭제되었습니다', - 'settings.agents.sidebar.toast.agentReset': 'Agent "{name}"이(가) 기본값으로 초기화되었습니다', - 'settings.agents.sidebar.toast.deleteFailed': 'agent를 삭제하지 못했습니다', - 'settings.agents.sidebar.toast.resetFailed': 'agent를 초기화하지 못했습니다', - 'settings.agents.sidebar.toast.agentNameRequired': 'Agent 이름은 필수입니다', - 'settings.agents.sidebar.toast.agentExists': '이 이름의 agent가 이미 존재합니다', - 'settings.agents.sidebar.toast.removeOldAfterRenameFailed': '이름 변경 후 이전 agent를 제거하지 못했습니다', - 'settings.agents.sidebar.toast.renameFailed': 'agent 이름을 변경하지 못했습니다', + 'settings.agents.sidebar.dialog.deleteTitle': '에이전트 삭제', + 'settings.agents.sidebar.dialog.resetTitle': '에이전트 초기화', + 'settings.agents.sidebar.dialog.deleteDescription': '"{name}" 에이전트를 삭제하시겠습니까?', + 'settings.agents.sidebar.dialog.resetDescription': '"{name}" 에이전트를 기본 설정으로 초기화하시겠습니까?', + 'settings.agents.sidebar.renameDialog.title': '에이전트 이름 변경', + 'settings.agents.sidebar.renameDialog.description': '"@{name}" 에이전트의 새 이름을 입력하세요', + 'settings.agents.sidebar.renameDialog.placeholder': '새 에이전트 이름...', + 'settings.agents.sidebar.toast.builtInCannotDelete': '내장 에이전트는 삭제할 수 없습니다', + 'settings.agents.sidebar.toast.agentDeleted': '"{name}" 에이전트를 삭제했습니다', + 'settings.agents.sidebar.toast.agentReset': '"{name}" 에이전트를 기본값으로 초기화했습니다', + 'settings.agents.sidebar.toast.deleteFailed': '에이전트를 삭제하지 못했습니다', + 'settings.agents.sidebar.toast.resetFailed': '에이전트를 초기화하지 못했습니다', + 'settings.agents.sidebar.toast.agentNameRequired': '에이전트 이름은 필수입니다', + 'settings.agents.sidebar.toast.agentExists': '같은 이름의 에이전트가 이미 존재합니다', + 'settings.agents.sidebar.toast.removeOldAfterRenameFailed': '이름 변경 후 이전 에이전트를 제거하지 못했습니다', + 'settings.agents.sidebar.toast.renameFailed': '에이전트 이름을 변경하지 못했습니다', 'settings.agents.page.toast.permissionNameRequired': '권한 이름은 필수입니다', - 'settings.agents.page.toast.created': 'Agent가 생성되었습니다', - 'settings.agents.page.toast.updated': 'Agent가 업데이트되었습니다', - 'settings.agents.page.toast.createFailed': 'agent를 생성하지 못했습니다', - 'settings.agents.page.toast.updateFailed': 'agent를 업데이트하지 못했습니다', + 'settings.agents.page.toast.created': '에이전트를 생성했습니다', + 'settings.agents.page.toast.updated': '에이전트를 업데이트했습니다', + 'settings.agents.page.toast.createFailed': '에이전트를 생성하지 못했습니다', + 'settings.agents.page.toast.updateFailed': '에이전트를 업데이트하지 못했습니다', 'settings.agents.page.toast.saveUnexpectedError': '저장 중 오류가 발생했습니다', - 'settings.agents.page.empty.title': '사이드바에서 agent를 선택하세요', + 'settings.agents.page.empty.title': '사이드바에서 에이전트를 선택하세요', 'settings.agents.page.empty.description': '또는 새로 생성하세요', - 'settings.agents.page.title.new': '새 Agent', - 'settings.agents.page.subtitle.new': '새 assistant persona를 설정하세요', - 'settings.agents.page.subtitle.edit': 'agent 설정 편집', + 'settings.agents.page.title.new': '새 에이전트', + 'settings.agents.page.subtitle.new': '새 에이전트 페르소나를 설정하세요', + 'settings.agents.page.subtitle.edit': '에이전트 설정 편집', 'settings.agents.page.section.identityRole': '정체성 및 역할', 'settings.agents.page.section.modelParameters': '모델 및 파라미터', - 'settings.agents.page.section.systemPrompt': 'System Prompt', + 'settings.agents.page.section.systemPrompt': '시스템 프롬프트', 'settings.agents.page.section.toolPermissions': '도구 권한', - 'settings.agents.page.field.agentName': 'Agent 이름', - 'settings.agents.page.field.agentNamePlaceholder': 'agent-name', + 'settings.agents.page.field.agentName': '에이전트 이름', + 'settings.agents.page.field.agentNamePlaceholder': 'agent-name (예: code-reviewer)', 'settings.agents.page.field.scopePlaceholder': '범위', - 'settings.agents.page.field.descriptionPlaceholder': '이 agent는 무엇을 하나요?', + 'settings.agents.page.field.descriptionPlaceholder': '이 에이전트는 어떤 작업을 하나요?', 'settings.agents.page.field.mode': '모드', - 'settings.agents.page.field.modeTooltip': 'Primary와 Subagent 표시 여부', + 'settings.agents.page.field.modeTooltip': '주 에이전트/보조 에이전트로 표시할지 선택합니다', 'settings.agents.page.field.overrideModel': '모델 오버라이드', - 'settings.agents.page.field.temperature': 'Temperature', + 'settings.agents.page.field.temperature': '온도', 'settings.agents.page.field.temperatureTooltip': '무작위성을 제어합니다. 높을수록 창의적이고 낮을수록 집중적입니다.', 'settings.agents.page.field.temperatureRange': '0.0 ~ 2.0', - 'settings.agents.page.field.clearTemperatureAria': 'temperature 오버라이드 지우기', + 'settings.agents.page.field.clearTemperatureAria': '온도 오버라이드 지우기', 'settings.agents.page.field.topP': 'Top P', - 'settings.agents.page.field.topPTooltip': 'Nucleus sampling 다양성입니다. 낮을수록 가능성이 높은 토큰만 사용합니다.', + 'settings.agents.page.field.topPTooltip': 'Nucleus sampling 다양성입니다. 값이 낮을수록 확률이 높은 토큰 위주로 선택합니다.', 'settings.agents.page.field.topPRange': '0.0 ~ 1.0', 'settings.agents.page.field.clearTopPAria': 'top p 오버라이드 지우기', 'settings.agents.page.field.systemPromptPlaceholder': 'You are an expert coding assistant...', - 'settings.agents.page.mode.primary': 'Primary', - 'settings.agents.page.mode.subagent': 'Subagent', + 'settings.agents.page.mode.primary': '주 에이전트', + 'settings.agents.page.mode.subagent': '보조 에이전트', 'settings.agents.page.mode.all': '전체', 'settings.agents.page.permissions.defaultLabel': '기본값', 'settings.agents.page.permissions.hideEditor': '편집기 숨기기', @@ -337,75 +337,75 @@ export const settingsDict = { 'settings.agents.page.permissions.addCustomRule': '사용자 정의 규칙 추가', 'settings.agents.page.permissions.permissionPlaceholder': '권한...', 'settings.agents.page.permissions.patternPlaceholder': '패턴(예: *)', - 'settings.commands.sidebar.title': 'Commands', + 'settings.commands.sidebar.title': '명령어', 'settings.commands.sidebar.total': '총 {count}개', - 'settings.commands.sidebar.empty.title': '설정된 command가 없습니다', + 'settings.commands.sidebar.empty.title': '설정된 명령어가 없습니다', 'settings.commands.sidebar.empty.description': '위의 + 버튼으로 새로 생성하세요', - 'settings.commands.sidebar.section.builtIn': '내장 Commands', - 'settings.commands.sidebar.section.custom': '사용자 정의 Commands', - 'settings.commands.sidebar.dialog.deleteTitle': 'Command 삭제', - 'settings.commands.sidebar.dialog.resetTitle': 'Command 초기화', - 'settings.commands.sidebar.dialog.deleteDescription': 'command "{name}"을(를) 삭제하시겠습니까?', - 'settings.commands.sidebar.dialog.resetDescription': 'command "{name}"을(를) 기본 설정으로 초기화하시겠습니까?', - 'settings.commands.sidebar.renameDialog.title': 'Command 이름 변경', - 'settings.commands.sidebar.renameDialog.description': 'command "/{name}"의 새 이름을 입력하세요', - 'settings.commands.sidebar.renameDialog.placeholder': '새 command 이름...', - 'settings.commands.sidebar.toast.builtInCannotDelete': '내장 command는 삭제할 수 없습니다', - 'settings.commands.sidebar.toast.commandDeleted': 'Command "{name}"이(가) 삭제되었습니다', - 'settings.commands.sidebar.toast.commandReset': 'Command "{name}"이(가) 기본값으로 초기화되었습니다', - 'settings.commands.sidebar.toast.deleteFailed': 'command를 삭제하지 못했습니다', - 'settings.commands.sidebar.toast.resetFailed': 'command를 초기화하지 못했습니다', - 'settings.commands.sidebar.toast.commandNameRequired': 'Command 이름은 필수입니다', - 'settings.commands.sidebar.toast.commandExists': '이 이름의 command가 이미 존재합니다', - 'settings.commands.sidebar.toast.removeOldAfterRenameFailed': '이름 변경 후 이전 command를 제거하지 못했습니다', - 'settings.commands.sidebar.toast.renameFailed': 'command 이름을 변경하지 못했습니다', - 'settings.commands.page.toast.templateRequired': 'Command 템플릿은 필수입니다', - 'settings.commands.page.toast.created': 'Command가 생성되었습니다', - 'settings.commands.page.toast.updated': 'Command가 업데이트되었습니다', - 'settings.commands.page.toast.createFailed': 'command를 생성하지 못했습니다', - 'settings.commands.page.toast.updateFailed': 'command를 업데이트하지 못했습니다', + 'settings.commands.sidebar.section.builtIn': '내장 명령어', + 'settings.commands.sidebar.section.custom': '사용자 정의 명령어', + 'settings.commands.sidebar.dialog.deleteTitle': '명령어 삭제', + 'settings.commands.sidebar.dialog.resetTitle': '명령어 초기화', + 'settings.commands.sidebar.dialog.deleteDescription': '"{name}" 명령어를 삭제하시겠습니까?', + 'settings.commands.sidebar.dialog.resetDescription': '"{name}" 명령어를 기본 설정으로 초기화하시겠습니까?', + 'settings.commands.sidebar.renameDialog.title': '명령어 이름 변경', + 'settings.commands.sidebar.renameDialog.description': '"/{name}" 명령어의 새 이름을 입력하세요', + 'settings.commands.sidebar.renameDialog.placeholder': '새 명령어 이름...', + 'settings.commands.sidebar.toast.builtInCannotDelete': '내장 명령어는 삭제할 수 없습니다', + 'settings.commands.sidebar.toast.commandDeleted': '명령어 "{name}"를 삭제했습니다', + 'settings.commands.sidebar.toast.commandReset': '명령어 "{name}"를 기본값으로 초기화했습니다', + 'settings.commands.sidebar.toast.deleteFailed': '명령어를 삭제하지 못했습니다', + 'settings.commands.sidebar.toast.resetFailed': '명령어를 초기화하지 못했습니다', + 'settings.commands.sidebar.toast.commandNameRequired': '명령어 이름은 필수입니다', + 'settings.commands.sidebar.toast.commandExists': '같은 이름의 명령어가 이미 존재합니다', + 'settings.commands.sidebar.toast.removeOldAfterRenameFailed': '이름 변경 후 이전 명령어를 제거하지 못했습니다', + 'settings.commands.sidebar.toast.renameFailed': '명령어 이름을 변경하지 못했습니다', + 'settings.commands.page.toast.templateRequired': '명령어 템플릿은 필수입니다', + 'settings.commands.page.toast.created': '명령어를 생성했습니다', + 'settings.commands.page.toast.updated': '명령어를 업데이트했습니다', + 'settings.commands.page.toast.createFailed': '명령어를 생성하지 못했습니다', + 'settings.commands.page.toast.updateFailed': '명령어를 업데이트하지 못했습니다', 'settings.commands.page.toast.saveUnexpectedError': '저장 중 오류가 발생했습니다', - 'settings.commands.page.empty.title': '사이드바에서 command를 선택하세요', + 'settings.commands.page.empty.title': '사이드바에서 명령어를 선택하세요', 'settings.commands.page.empty.description': '또는 새로 생성하세요', - 'settings.commands.page.title.new': '새 Command', - 'settings.commands.page.subtitle.new': '새 slash command를 설정하세요', - 'settings.commands.page.subtitle.edit': 'command 설정 편집', - 'settings.commands.page.section.identity': 'Identity', + 'settings.commands.page.title.new': '새 명령어', + 'settings.commands.page.subtitle.new': '새 슬래시 명령어를 설정하세요', + 'settings.commands.page.subtitle.edit': '명령어 설정 편집', + 'settings.commands.page.section.identity': '정체성', 'settings.commands.page.section.executionContext': '실행 컨텍스트', - 'settings.commands.page.section.template': 'Command 템플릿', - 'settings.commands.page.field.commandName': 'Command 이름', - 'settings.commands.page.field.commandNamePlaceholder': 'command-name', - 'settings.commands.page.field.descriptionPlaceholder': '이 command는 무엇을 하나요?', - 'settings.commands.page.field.overrideAgent': 'Agent 오버라이드', - 'settings.commands.page.field.templatePlaceholder': '여기에 command 템플릿을 입력하세요...\n\n사용자 입력을 참조하려면 $ARGUMENTS를 사용하세요.\nshell 출력을 삽입하려면 !`shell command`를 사용하세요.\n파일 내용을 포함하려면 @filename을 사용하세요.', + 'settings.commands.page.section.template': '명령어 템플릿', + 'settings.commands.page.field.commandName': '명령어 이름', + 'settings.commands.page.field.commandNamePlaceholder': 'command-name (예: review-pr)', + 'settings.commands.page.field.descriptionPlaceholder': '이 명령어는 어떤 작업을 하나요?', + 'settings.commands.page.field.overrideAgent': '에이전트 오버라이드', + 'settings.commands.page.field.templatePlaceholder': '여기에 명령어 템플릿을 입력하세요...\n\n사용자 입력을 참조하려면 $ARGUMENTS를 사용하세요.\n셸 출력을 삽입하려면 !`shell command`를 사용하세요.\n파일 내용을 포함하려면 @filename을 사용하세요.', 'settings.commands.page.templateHint.userInput': '사용자 입력', - 'settings.commands.page.templateHint.shellOutput': 'shell 출력', + 'settings.commands.page.templateHint.shellOutput': '셸 출력', 'settings.commands.page.templateHint.fileContents': '파일 내용', - 'settings.commands.agentSelector.title': 'agent 선택', + 'settings.commands.agentSelector.title': '에이전트 선택', 'settings.commands.agentSelector.notSelected': '선택 안 됨', - 'settings.commands.agentSelector.selectAgentPlaceholder': 'agent 선택...', - 'settings.gitIdentities.page.section.title': 'Identity', - 'settings.gitIdentities.page.empty.title': '설정된 identity가 없습니다', + 'settings.commands.agentSelector.selectAgentPlaceholder': '에이전트 선택...', + 'settings.gitIdentities.page.section.title': 'Git 자격 증명', + 'settings.gitIdentities.page.empty.title': '설정된 Git 자격 증명이 없습니다', 'settings.gitIdentities.page.empty.description': '프로젝트별 Git author를 관리하려면 하나를 생성하세요', 'settings.gitIdentities.page.discoveredCredentials.title': '~/.git-credentials에서 발견됨', 'settings.gitIdentities.page.badge.default': '기본값', 'settings.gitIdentities.page.actions.setAsDefault': '기본값으로 설정', 'settings.gitIdentities.page.actions.unsetDefault': '기본값 해제', 'settings.gitIdentities.page.actions.import': '가져오기', - 'settings.gitIdentities.page.toast.updateDefaultFailed': '기본 identity를 업데이트하지 못했습니다', - 'settings.gitIdentities.page.toast.defaultUpdated': '기본 identity가 업데이트되었습니다', - 'settings.gitIdentities.page.toast.defaultUnset': '기본 identity가 해제되었습니다', + 'settings.gitIdentities.page.toast.updateDefaultFailed': '기본 Git 자격 증명을 업데이트하지 못했습니다', + 'settings.gitIdentities.page.toast.defaultUpdated': '기본 Git 자격 증명이 업데이트되었습니다', + 'settings.gitIdentities.page.toast.defaultUnset': '기본 Git 자격 증명이 해제되었습니다', 'settings.gitIdentities.page.toast.profileDeleted': '프로필 "{name}"이(가) 삭제되었습니다', 'settings.gitIdentities.page.toast.deleteProfileFailed': '프로필을 삭제하지 못했습니다', 'settings.gitIdentities.page.deleteDialog.title': '프로필 삭제', 'settings.gitIdentities.page.deleteDialog.description': '"{name}"을(를) 삭제하시겠습니까?', 'settings.gitIdentities.editor.title.importCredential': '인증 정보 가져오기', - 'settings.gitIdentities.editor.title.newIdentity': '새 Identity', - 'settings.gitIdentities.editor.title.globalIdentity': '전역 Identity', - 'settings.gitIdentities.editor.title.editIdentity': 'Identity 편집', - 'settings.gitIdentities.editor.description.globalReadOnly': '시스템 전체 Git identity(읽기 전용)', - 'settings.gitIdentities.editor.description.newProfile': '새 Git identity 프로필을 생성하세요', - 'settings.gitIdentities.editor.description.editProfile': 'identity 프로필 설정을 편집하세요', + 'settings.gitIdentities.editor.title.newIdentity': '새 Git 자격 증명', + 'settings.gitIdentities.editor.title.globalIdentity': '전역 Git 자격 증명', + 'settings.gitIdentities.editor.title.editIdentity': 'Git 자격 증명 편집', + 'settings.gitIdentities.editor.description.globalReadOnly': '시스템 전체 Git 자격 증명(읽기 전용)', + 'settings.gitIdentities.editor.description.newProfile': '새 Git 자격 증명 프로필을 생성하세요', + 'settings.gitIdentities.editor.description.editProfile': 'Git 자격 증명 프로필 설정을 편집하세요', 'settings.gitIdentities.editor.field.profileName': '프로필 이름', 'settings.gitIdentities.editor.field.profileNamePlaceholder': 'Work Profile, Personal 등', 'settings.gitIdentities.editor.field.color': '색상', @@ -437,71 +437,71 @@ export const settingsDict = { 'settings.gitIdentities.editor.toast.profileDeleted': '프로필이 삭제되었습니다', 'settings.gitIdentities.editor.toast.deleteProfileFailed': '프로필을 삭제하지 못했습니다', 'settings.gitIdentities.editor.toast.deleteUnexpectedError': '삭제 중 오류가 발생했습니다', - 'settings.skills.sidebar.title': 'Skills', + 'settings.skills.sidebar.title': '스킬', 'settings.skills.sidebar.total': '총 {count}개', - 'settings.skills.sidebar.section.project': '프로젝트 Skills', - 'settings.skills.sidebar.section.user': '사용자 Skills', - 'settings.skills.sidebar.empty.title': '설정된 skill이 없습니다', + 'settings.skills.sidebar.section.project': '프로젝트 스킬', + 'settings.skills.sidebar.section.user': '사용자 스킬', + 'settings.skills.sidebar.empty.title': '설정된 스킬이 없습니다', 'settings.skills.sidebar.empty.description': '위의 + 버튼으로 새로 생성하세요', 'settings.skills.sidebar.badge.claude': 'claude', 'settings.skills.sidebar.badge.agents': 'agents', - 'settings.skills.sidebar.toast.skillDeleted': 'Skill "{name}"이(가) 삭제되었습니다', - 'settings.skills.sidebar.toast.deleteSkillFailed': 'skill을 삭제하지 못했습니다', - 'settings.skills.sidebar.toast.duplicateLoadFailed': '복제를 위한 skill 세부 정보를 로드하지 못했습니다', - 'settings.skills.sidebar.toast.renameLoadFailed': 'skill 세부 정보를 로드하지 못했습니다', - 'settings.skills.sidebar.toast.removeOldAfterRenameFailed': '이름 변경 후 이전 skill을 제거하지 못했습니다', - 'settings.skills.sidebar.toast.renameFailed': 'skill 이름을 변경하지 못했습니다', - 'settings.skills.sidebar.deleteDialog.title': 'Skill 삭제', - 'settings.skills.sidebar.deleteDialog.description': 'skill "{name}"을(를) 삭제하시겠습니까?', - 'settings.skills.sidebar.renameDialog.title': 'Skill 이름 변경', - 'settings.skills.sidebar.renameDialog.description': 'skill "{name}"의 새 이름을 입력하세요', - 'settings.skills.sidebar.renameDialog.placeholder': '새 skill 이름...', - 'settings.skills.page.title.newSkill': '새 Skill', - 'settings.skills.page.subtitle.newSkill': '새 skill을 설정하세요', - 'settings.skills.page.subtitle.skillLocation': '{location} skill', + 'settings.skills.sidebar.toast.skillDeleted': '스킬 "{name}"을 삭제했습니다', + 'settings.skills.sidebar.toast.deleteSkillFailed': '스킬을 삭제하지 못했습니다', + 'settings.skills.sidebar.toast.duplicateLoadFailed': '복제를 위한 스킬 세부 정보를 로드하지 못했습니다', + 'settings.skills.sidebar.toast.renameLoadFailed': '스킬 세부 정보를 로드하지 못했습니다', + 'settings.skills.sidebar.toast.removeOldAfterRenameFailed': '이름 변경 후 이전 스킬을 제거하지 못했습니다', + 'settings.skills.sidebar.toast.renameFailed': '스킬 이름을 변경하지 못했습니다', + 'settings.skills.sidebar.deleteDialog.title': '스킬 삭제', + 'settings.skills.sidebar.deleteDialog.description': '스킬 "{name}"을 삭제하시겠습니까?', + 'settings.skills.sidebar.renameDialog.title': '스킬 이름 변경', + 'settings.skills.sidebar.renameDialog.description': '스킬 "{name}"의 새 이름을 입력하세요', + 'settings.skills.sidebar.renameDialog.placeholder': '새 스킬 이름...', + 'settings.skills.page.title.newSkill': '새 스킬', + 'settings.skills.page.subtitle.newSkill': '새 스킬을 설정하세요', + 'settings.skills.page.subtitle.skillLocation': '{location} 스킬', 'settings.skills.page.section.basicInformation': '기본 정보', 'settings.skills.page.section.instructions': '지침', 'settings.skills.page.section.supportingFiles': '보조 파일', - 'settings.skills.page.field.skillNameLocation': 'Skill 이름 및 위치', + 'settings.skills.page.field.skillNameLocation': '스킬 이름 및 위치', 'settings.skills.page.field.skillNameHint': '소문자, 숫자, 하이픈', 'settings.skills.page.field.skillNamePlaceholder': 'skill-name', - 'settings.skills.page.field.descriptionHint': 'agent는 이 설명을 보고 skill을 로드할 시점을 판단합니다', - 'settings.skills.page.field.descriptionPlaceholder': '이 skill이 하는 일을 간략히 설명하세요...', + 'settings.skills.page.field.descriptionHint': '에이전트는 이 설명을 보고 스킬을 로드할 시점을 판단합니다', + 'settings.skills.page.field.descriptionPlaceholder': '이 스킬이 하는 일을 간략히 설명하세요...', 'settings.skills.page.field.instructionsPlaceholder': '단계별 지침, 가이드라인 또는 참조 내용을 입력하세요...', 'settings.skills.page.badge.claudeCompatible': 'Claude 호환', 'settings.skills.page.badge.pending': '대기 중', 'settings.skills.page.actions.addFile': '파일 추가', - 'settings.skills.page.actions.createSkill': 'Skill 생성', + 'settings.skills.page.actions.createSkill': '스킬 생성', 'settings.skills.page.actions.createFile': '파일 생성', 'settings.skills.page.supportingFiles.empty': '보조 파일이 없습니다. "파일 추가"로 참조 자료를 포함하세요.', - 'settings.skills.page.loading.details': 'skill 세부 정보 로딩 중...', + 'settings.skills.page.loading.details': '스킬 세부 정보 로딩 중...', 'settings.skills.page.loading.fileContent': '파일 내용 로딩 중...', - 'settings.skills.page.empty.title': '사이드바에서 skill을 선택하세요', + 'settings.skills.page.empty.title': '사이드바에서 스킬을 선택하세요', 'settings.skills.page.empty.description': '또는 새로 생성하세요', 'settings.skills.page.deleteFileDialog.title': '보조 파일 삭제', 'settings.skills.page.deleteFileDialog.description': '"{path}"을(를) 삭제하시겠습니까?', 'settings.skills.page.fileDialog.titleEdit': '보조 파일 편집', 'settings.skills.page.fileDialog.titleAdd': '보조 파일 추가', 'settings.skills.page.fileDialog.descriptionEdit': '파일 내용을 수정하세요', - 'settings.skills.page.fileDialog.descriptionAdd': 'skill 디렉터리에 새 파일을 생성하세요', + 'settings.skills.page.fileDialog.descriptionAdd': '스킬 디렉터리에 새 파일을 생성하세요', 'settings.skills.page.fileDialog.field.filePath': '파일 경로', 'settings.skills.page.fileDialog.field.filePathPlaceholder': 'example.md 또는 docs/reference.txt', - 'settings.skills.page.fileDialog.field.filePathHint': 'skill 디렉터리 내 상대 경로입니다. 하위 디렉터리는 자동으로 생성됩니다.', + 'settings.skills.page.fileDialog.field.filePathHint': '스킬 디렉터리 내 상대 경로입니다. 하위 디렉터리는 자동으로 생성됩니다.', 'settings.skills.page.fileDialog.field.content': '내용', 'settings.skills.page.fileDialog.field.contentPlaceholder': '파일 내용...', - 'settings.skills.page.toast.skillNameRequired': 'Skill 이름은 필수입니다', - 'settings.skills.page.toast.invalidSkillName': 'Skill 이름은 1~64자의 소문자 영숫자와 하이픈만 사용할 수 있으며, 하이픈으로 시작하거나 끝날 수 없습니다', + 'settings.skills.page.toast.skillNameRequired': '스킬 이름은 필수입니다', + 'settings.skills.page.toast.invalidSkillName': '스킬 이름은 1~64자의 소문자 영숫자와 하이픈만 사용할 수 있으며, 하이픈으로 시작하거나 끝날 수 없습니다', 'settings.skills.page.toast.descriptionRequired': '설명은 필수입니다', - 'settings.skills.page.toast.skillExists': '이 이름의 skill이 이미 존재합니다', - 'settings.skills.page.toast.skillCreated': 'Skill이 생성되었습니다', - 'settings.skills.page.toast.skillUpdated': 'Skill이 업데이트되었습니다', - 'settings.skills.page.toast.createSkillFailed': 'skill을 생성하지 못했습니다', - 'settings.skills.page.toast.updateSkillFailed': 'skill을 업데이트하지 못했습니다', + 'settings.skills.page.toast.skillExists': '같은 이름의 스킬이 이미 존재합니다', + 'settings.skills.page.toast.skillCreated': '스킬을 생성했습니다', + 'settings.skills.page.toast.skillUpdated': '스킬을 업데이트했습니다', + 'settings.skills.page.toast.createSkillFailed': '스킬을 생성하지 못했습니다', + 'settings.skills.page.toast.updateSkillFailed': '스킬을 업데이트하지 못했습니다', 'settings.skills.page.toast.saveUnexpectedError': '저장 중 오류가 발생했습니다', 'settings.skills.page.toast.loadFileContentFailed': '파일 내용을 로드하지 못했습니다', 'settings.skills.page.toast.fileNameRequired': '파일 이름은 필수입니다', 'settings.skills.page.toast.fileExists': '이 이름의 파일이 이미 존재합니다', - 'settings.skills.page.toast.noSkillSelected': '선택된 skill이 없습니다', + 'settings.skills.page.toast.noSkillSelected': '선택된 스킬이 없습니다', 'settings.skills.page.toast.fileAdded': '파일 "{path}"이(가) 추가되었습니다', 'settings.skills.page.toast.fileCreated': '파일 "{path}"이(가) 생성되었습니다', 'settings.skills.page.toast.fileUpdated': '파일 "{path}"이(가) 업데이트되었습니다', @@ -514,9 +514,9 @@ export const settingsDict = { 'settings.skills.location.option.userOpencode.description': '전역 OpenCode 설정 위치', 'settings.skills.location.option.projectOpencode.label': '프로젝트 / OpenCode', 'settings.skills.location.option.projectOpencode.description': '현재 프로젝트 .opencode 위치', - 'settings.skills.location.option.userAgents.label': '사용자 / Agents', + 'settings.skills.location.option.userAgents.label': '사용자 / 에이전트', 'settings.skills.location.option.userAgents.description': '전역 .agents 호환 위치', - 'settings.skills.location.option.projectAgents.label': '프로젝트 / Agents', + 'settings.skills.location.option.projectAgents.label': '프로젝트 / 에이전트', 'settings.skills.location.option.projectAgents.description': '현재 프로젝트 .agents 호환 위치', 'settings.skills.catalog.shared.field.repository': '저장소', 'settings.skills.catalog.shared.field.repositoryPlaceholder': 'owner/repo 또는 git@github.com:owner/repo.git', @@ -526,22 +526,22 @@ export const settingsDict = { 'settings.skills.catalog.shared.field.project': '프로젝트', 'settings.skills.catalog.shared.field.noProjects': '사용 가능한 프로젝트가 없습니다', 'settings.skills.catalog.shared.field.chooseProjectPlaceholder': '프로젝트 선택', - 'settings.skills.catalog.shared.field.searchSkillsPlaceholder': 'skill 검색…', + 'settings.skills.catalog.shared.field.searchSkillsPlaceholder': '스킬 검색…', 'settings.skills.catalog.shared.toast.repositoryRequired': '저장소 소스는 필수입니다', 'settings.skills.catalog.shared.toast.privateRepoNotSupportedVsCode': '비공개 저장소는 아직 VS Code에서 지원되지 않습니다', - 'settings.skills.catalog.shared.toast.foundSkills': 'skill {count}개를 찾았습니다', + 'settings.skills.catalog.shared.toast.foundSkills': '스킬 {count}개를 찾았습니다', 'settings.skills.catalog.shared.noDescription': '설명이 제공되지 않았습니다', 'settings.skills.catalog.shared.actions.scan': '스캔', 'settings.skills.catalog.shared.actions.scanning': '스캔 중...', 'settings.skills.catalog.shared.actions.install': '설치', 'settings.skills.catalog.shared.actions.installing': '설치 중...', 'settings.skills.catalog.shared.auth.title': '인증 필요', - 'settings.skills.catalog.shared.auth.description': 'Git identity(SSH 키)를 선택하세요', - 'settings.skills.catalog.shared.auth.chooseIdentity': 'identity 선택', - 'settings.skills.catalog.shared.auth.footerHint': 'Settings - Git Identities에서 identity를 설정하세요.', - 'settings.skills.catalog.shared.auth.footerHintArrow': 'Settings → Git Identities에서 identity를 설정하세요.', - 'settings.skills.catalog.conflicts.title': 'Skill이 이미 존재합니다', - 'settings.skills.catalog.conflicts.description': '선택한 일부 skill이 이 범위에 이미 설치되어 있습니다. 건너뛸지 덮어쓸지 선택하세요.', + 'settings.skills.catalog.shared.auth.description': 'Git 자격 증명(SSH 키)을 선택하세요', + 'settings.skills.catalog.shared.auth.chooseIdentity': '자격 증명 선택', + 'settings.skills.catalog.shared.auth.footerHint': '설정 - Git Identities에서 Git 자격 증명을 설정하세요.', + 'settings.skills.catalog.shared.auth.footerHintArrow': '설정 → Git Identities에서 Git 자격 증명을 설정하세요.', + 'settings.skills.catalog.conflicts.title': '스킬이 이미 존재합니다', + 'settings.skills.catalog.conflicts.description': '선택한 일부 스킬이 이 범위에 이미 설치되어 있습니다. 건너뛸지 덮어쓸지 선택하세요.', 'settings.skills.catalog.conflicts.count': '충돌 {count}개', 'settings.skills.catalog.conflicts.installedIn': '{scope} / {source}에 설치됨', 'settings.skills.catalog.conflicts.scope.user': '사용자', @@ -553,8 +553,8 @@ export const settingsDict = { 'settings.skills.catalog.conflicts.actions.skipAll': '모두 건너뛰기', 'settings.skills.catalog.conflicts.actions.overwriteAll': '모두 덮어쓰기', 'settings.skills.catalog.conflicts.actions.continue': '계속', - 'settings.skills.catalog.installSkill.title': 'Skill 설치', - 'settings.skills.catalog.installSkill.descriptionPrefix': '설치할 skill:', + 'settings.skills.catalog.installSkill.title': '스킬 설치', + 'settings.skills.catalog.installSkill.descriptionPrefix': '설치할 스킬:', 'settings.skills.catalog.installSkill.descriptionSuffix': '네 가지 대상 위치 중 하나에 설치합니다.', 'settings.skills.catalog.installSkill.field.destination': '대상', 'settings.skills.catalog.installSkill.field.project': '프로젝트', @@ -562,71 +562,71 @@ export const settingsDict = { 'settings.skills.catalog.installSkill.field.chooseProjectPlaceholder': '프로젝트 선택', 'settings.skills.catalog.installSkill.actions.install': '설치', 'settings.skills.catalog.installSkill.actions.installing': '설치 중...', - 'settings.skills.catalog.installSkill.toast.installed': 'Skill이 설치되었습니다', + 'settings.skills.catalog.installSkill.toast.installed': '스킬이 설치되었습니다', 'settings.skills.catalog.installSkill.toast.authRequired': '인증이 필요합니다', - 'settings.skills.catalog.installSkill.toast.installFailed': 'skill을 설치하지 못했습니다', - 'settings.skills.catalog.add.title': 'Skills Catalog 추가', - 'settings.skills.catalog.add.descriptionPrefix': 'Git 저장소를 새 catalog 소스로 추가합니다. OpenChamber는 다음을 포함하는 폴더를 스캔합니다:', + 'settings.skills.catalog.installSkill.toast.installFailed': '스킬을 설치하지 못했습니다', + 'settings.skills.catalog.add.title': '스킬 카탈로그 추가', + 'settings.skills.catalog.add.descriptionPrefix': 'Git 저장소를 새 카탈로그 소스로 추가합니다. OpenChamber는 다음을 포함하는 폴더를 스캔합니다:', 'settings.skills.catalog.add.descriptionSuffix': '.', - 'settings.skills.catalog.add.field.catalogName': 'Catalog 이름', + 'settings.skills.catalog.add.field.catalogName': '카탈로그 이름', 'settings.skills.catalog.add.field.catalogNamePlaceholder': '예: Team Skills', 'settings.skills.catalog.add.field.repository': '저장소', 'settings.skills.catalog.add.field.optionalSubpath': '하위 경로(선택)', - 'settings.skills.catalog.add.field.repositoryHint': '공개 repo는 모든 환경에서 작동합니다. 비공개 repo에는 SSH identity가 필요합니다(Desktop/Web만 해당).', - 'settings.skills.catalog.add.scanResult': '스캔 결과: skill {count}개 발견', - 'settings.skills.catalog.add.duplicateMessage': '이 catalog는 이미 추가되어 있습니다.', - 'settings.skills.catalog.add.actions.addCatalog': 'catalog 추가', + 'settings.skills.catalog.add.field.repositoryHint': '공개 repo는 모든 환경에서 작동합니다. 비공개 repo에는 SSH Git 자격 증명이 필요합니다(Desktop/Web만 해당).', + 'settings.skills.catalog.add.scanResult': '스캔 결과: 스킬 {count}개 발견', + 'settings.skills.catalog.add.duplicateMessage': '이 카탈로그는 이미 추가되어 있습니다.', + 'settings.skills.catalog.add.actions.addCatalog': '카탈로그 추가', 'settings.skills.catalog.add.toast.repositoryRequired': '저장소 소스는 필수입니다', - 'settings.skills.catalog.add.toast.authenticationRequiredScan': '인증이 필요합니다. Git identity를 선택하고 다시 스캔하세요.', + 'settings.skills.catalog.add.toast.authenticationRequiredScan': '인증이 필요합니다. Git 자격 증명을 선택하고 다시 스캔하세요.', 'settings.skills.catalog.add.toast.scanFailed': '저장소를 스캔하지 못했습니다', - 'settings.skills.catalog.add.toast.noSkillsFound': '이 저장소에서 skill을 찾을 수 없습니다', - 'settings.skills.catalog.add.toast.catalogNameRequired': 'Catalog 이름은 필수입니다', - 'settings.skills.catalog.add.toast.scanBeforeAdd': '이 catalog를 추가하기 전에 저장소를 스캔하세요', - 'settings.skills.catalog.add.toast.catalogAlreadyExists': '이 catalog는 이미 존재합니다', - 'settings.skills.catalog.add.toast.catalogAdded': 'Catalog가 추가되었습니다', - 'settings.skills.catalog.add.toast.saveFailed': 'catalog를 저장하지 못했습니다', + 'settings.skills.catalog.add.toast.noSkillsFound': '이 저장소에서 스킬을 찾을 수 없습니다', + 'settings.skills.catalog.add.toast.catalogNameRequired': '카탈로그 이름은 필수입니다', + 'settings.skills.catalog.add.toast.scanBeforeAdd': '이 카탈로그를 추가하기 전에 저장소를 스캔하세요', + 'settings.skills.catalog.add.toast.catalogAlreadyExists': '이 카탈로그는 이미 존재합니다', + 'settings.skills.catalog.add.toast.catalogAdded': '카탈로그를 추가했습니다', + 'settings.skills.catalog.add.toast.saveFailed': '카탈로그를 저장하지 못했습니다', 'settings.skills.catalog.installFromRepo.title': 'Git 저장소에서 설치', 'settings.skills.catalog.installFromRepo.descriptionPrefix': '다음을 포함하는 폴더를 저장소에서 스캔한 뒤', - 'settings.skills.catalog.installFromRepo.descriptionSuffix': ', 선택한 skill을 설치합니다.', + 'settings.skills.catalog.installFromRepo.descriptionSuffix': ', 선택한 스킬을 설치합니다.', 'settings.skills.catalog.installFromRepo.repositoryHintPrefix': 'GitHub shorthand의 경우 다음과 같은 하위 경로를 추가할 수 있습니다', - 'settings.skills.catalog.installFromRepo.authDescription': '이 저장소에 접속할 수 있는 Git identity(SSH 키)를 선택하세요.', + 'settings.skills.catalog.installFromRepo.authDescription': '이 저장소에 접속할 수 있는 Git 자격 증명(SSH 키)을 선택하세요.', 'settings.skills.catalog.installFromRepo.empty.noScanResultsTitle': '아직 스캔 결과가 없습니다', - 'settings.skills.catalog.installFromRepo.empty.noScanResultsDescription': 'skill을 찾으려면 저장소를 스캔하세요', + 'settings.skills.catalog.installFromRepo.empty.noScanResultsDescription': '스킬을 찾으려면 저장소를 스캔하세요', 'settings.skills.catalog.installFromRepo.actions.selectAll': '모두 선택', 'settings.skills.catalog.installFromRepo.actions.selectNone': '선택 해제', 'settings.skills.catalog.installFromRepo.actions.installSelected': '선택 항목 설치', 'settings.skills.catalog.installFromRepo.badge.installed': '설치됨({scope}/{source})', 'settings.skills.catalog.installFromRepo.selectedCount': '선택됨: {selected} / {total}', - 'settings.skills.catalog.installFromRepo.toast.authenticationRequiredScan': '인증이 필요합니다. Git identity를 선택하고 다시 스캔하세요.', - 'settings.skills.catalog.installFromRepo.toast.authenticationRequiredInstall': '인증이 필요합니다. Git identity를 선택하고 다시 설치하세요.', + 'settings.skills.catalog.installFromRepo.toast.authenticationRequiredScan': '인증이 필요합니다. Git 자격 증명을 선택하고 다시 스캔하세요.', + 'settings.skills.catalog.installFromRepo.toast.authenticationRequiredInstall': '인증이 필요합니다. Git 자격 증명을 선택하고 다시 설치하세요.', 'settings.skills.catalog.installFromRepo.toast.scanFailed': '저장소를 스캔하지 못했습니다', - 'settings.skills.catalog.installFromRepo.toast.selectAtLeastOne': '설치할 skill을 하나 이상 선택하세요', - 'settings.skills.catalog.installFromRepo.toast.installedCount': 'skill {count}개를 설치했습니다', + 'settings.skills.catalog.installFromRepo.toast.selectAtLeastOne': '설치할 스킬을 하나 이상 선택하세요', + 'settings.skills.catalog.installFromRepo.toast.installedCount': '스킬 {count}개를 설치했습니다', 'settings.skills.catalog.installFromRepo.toast.installCompleted': '설치가 완료되었습니다', - 'settings.skills.catalog.installFromRepo.toast.installFailed': 'skill을 설치하지 못했습니다', + 'settings.skills.catalog.installFromRepo.toast.installFailed': '스킬을 설치하지 못했습니다', 'settings.skills.catalog.page.mode.manual': '수동', 'settings.skills.catalog.page.mode.external': 'External', - 'settings.skills.catalog.page.title': 'Skills Catalog', - 'settings.skills.catalog.page.section.sourceRepository': '소스 저장소', - 'settings.skills.catalog.page.field.selectSourcePlaceholder': '소스 선택', + 'settings.skills.catalog.page.title': '스킬 카탈로그', + 'settings.skills.catalog.page.section.sourceRepository': '카탈로그 저장소', + 'settings.skills.catalog.page.field.selectSourcePlaceholder': '저장소 선택', 'settings.skills.catalog.page.actions.refreshTitle': '새로고침', 'settings.skills.catalog.page.actions.removeCatalogTitle': 'Catalog 제거', 'settings.skills.catalog.page.actions.addCatalog': 'Catalog 추가', 'settings.skills.catalog.page.actions.removeCatalog': 'Catalog 제거', - 'settings.skills.catalog.page.actions.loadMoreSkills': 'Skill 더 불러오기', + 'settings.skills.catalog.page.actions.loadMoreSkills': '스킬 더 불러오기', 'settings.skills.catalog.page.loading.catalog': '로딩 중...', - 'settings.skills.catalog.page.loading.skills': 'skill 로딩 중...', + 'settings.skills.catalog.page.loading.skills': '스킬 불러오는 중...', 'settings.skills.catalog.page.loading.more': '로딩 중...', - 'settings.skills.catalog.page.foundCount': 'skill {count}개 발견', + 'settings.skills.catalog.page.foundCount': '스킬 {count}개 발견', 'settings.skills.catalog.page.error.catalogTitle': 'Catalog 오류', - 'settings.skills.catalog.page.empty.noSkillsTitle': 'skill을 찾을 수 없습니다', - 'settings.skills.catalog.page.empty.noSkillsDescription': '다른 검색어를 사용하거나 catalog를 새로고침해 보세요', + 'settings.skills.catalog.page.empty.noSkillsTitle': '스킬을 찾을 수 없습니다', + 'settings.skills.catalog.page.empty.noSkillsDescription': '다른 검색어를 사용하거나 카탈로그를 새로고침해 보세요', 'settings.skills.catalog.page.badge.installed': '설치됨({scope})', 'settings.skills.catalog.page.badge.notInstallable': '설치할 수 없음', 'settings.skills.catalog.page.badge.unknown': '알 수 없음', 'settings.skills.catalog.page.byOwnerPrefix': '작성자', 'settings.skills.catalog.page.removeDialog.title': 'Catalog 제거', - 'settings.skills.catalog.page.removeDialog.description': '이 catalog를 제거하시겠습니까?', + 'settings.skills.catalog.page.removeDialog.description': '이 카탈로그를 제거하시겠습니까?', 'settings.openchamber.passkeys.title': 'Passkeys', 'settings.openchamber.passkeys.field.currentDevice': '현재 기기', 'settings.openchamber.passkeys.actions.add': 'Passkey 추가', @@ -819,7 +819,7 @@ export const settingsDict = { 'settings.remoteInstances.page.section.authenticationDescription': 'SSH와 원격 OpenChamber UI를 위한 인증 정보입니다.', 'settings.remoteInstances.page.section.portForwards': '포트 포워딩', 'settings.remoteInstances.page.section.portForwardsDescription': '기본 터널 외 추가 SSH 포워딩입니다.', - 'settings.remoteInstances.page.field.sshCommand': 'SSH command', + 'settings.remoteInstances.page.field.sshCommand': 'SSH 명령어', 'settings.remoteInstances.page.field.sshCommandPlaceholder': 'ssh user@host', 'settings.remoteInstances.page.field.nickname': '별칭', 'settings.remoteInstances.page.field.nicknamePlaceholder': '내 원격 host', @@ -895,13 +895,13 @@ export const settingsDict = { 'settings.remoteInstances.page.toast.removeInstanceFailed': '인스턴스를 제거하지 못했습니다', 'settings.openchamber.worktrees.state.selectProject': 'worktree를 관리할 프로젝트를 선택하세요.', 'settings.openchamber.worktrees.state.gitOnly': 'Worktree 설정은 Git repository에서만 사용할 수 있습니다.', - 'settings.openchamber.worktrees.setup.title': '설정 command', + 'settings.openchamber.worktrees.setup.title': '설정 명령어', 'settings.openchamber.worktrees.setup.tooltipPrefix': 'worktree 생성 시 새 worktree 디렉터리 안에서 자동 실행됩니다. 프로젝트 root에는 다음을 사용하세요:', 'settings.openchamber.worktrees.setup.tooltipSuffix': '.', 'settings.openchamber.worktrees.setup.loading': '로딩 중...', 'settings.openchamber.worktrees.setup.commandPlaceholder': '예: bun install', - 'settings.openchamber.worktrees.setup.removeCommandAria': 'command 제거', - 'settings.openchamber.worktrees.setup.addCommand': 'command 추가', + 'settings.openchamber.worktrees.setup.removeCommandAria': '명령어 제거', + 'settings.openchamber.worktrees.setup.addCommand': '명령어 추가', 'settings.openchamber.worktrees.list.title': '기존 worktree', 'settings.openchamber.worktrees.list.tooltip': 'Worktree는 repo 외부에 있습니다(OpenCode 관리). worktree를 삭제하면 연결된 세션도 제거됩니다.', 'settings.openchamber.worktrees.list.loading': 'worktree 로딩 중...', @@ -1051,10 +1051,10 @@ export const settingsDict = { 'settings.mcp.page.server.enable': '서버 활성화', 'settings.mcp.page.server.enableAria': '서버 활성화', 'settings.mcp.page.server.transportMode': 'Transport 모드', - 'settings.mcp.page.connection.command': 'Command', + 'settings.mcp.page.connection.command': '명령어', 'settings.mcp.page.connection.serverUrl': '서버 URL', 'settings.mcp.page.connection.serverUrlPlaceholder': 'https://mcp.example.com/mcp', - 'settings.mcp.page.connection.pasteCommand': 'Command 붙여넣기', + 'settings.mcp.page.connection.pasteCommand': '명령어 붙여넣기', 'settings.mcp.page.connection.pasteCommandTitle': '클립보드에서 로컬 command를 붙여넣고 자동 분리', 'settings.mcp.page.connection.previewArgs': '미리보기({count} args)', 'settings.mcp.page.advanced.title': '고급 원격 옵션', @@ -1152,15 +1152,15 @@ export const settingsDict = { 'settings.shared.projectSelector.switchProjectTitle': '프로젝트 전환', 'settings.openchamber.defaults.title': '세션 기본값', 'settings.openchamber.defaults.summaryPrefix': '새 세션은 다음으로 시작됩니다:', - 'settings.openchamber.defaults.summaryOpenCodeDefault': 'OpenCode agent 기본값', + 'settings.openchamber.defaults.summaryOpenCodeDefault': 'OpenCode 에이전트 기본값', 'settings.openchamber.defaults.field.defaultModel': '기본 모델', 'settings.openchamber.defaults.field.defaultThinking': '기본 Thinking', 'settings.openchamber.defaults.field.thinkingPlaceholder': 'Thinking', - 'settings.openchamber.defaults.field.defaultAgent': '기본 Agent', - 'settings.openchamber.defaults.field.showDeletionDialogAria': '삭제 dialog 표시', - 'settings.openchamber.defaults.field.showDeletionDialog': '삭제 dialog 표시', - 'settings.openchamber.defaults.field.openFilesPreviewAria': '파일을 preview 모드로 열기', - 'settings.openchamber.defaults.field.openFilesPreview': '파일을 preview 모드로 열기', + 'settings.openchamber.defaults.field.defaultAgent': '기본 에이전트', + 'settings.openchamber.defaults.field.showDeletionDialogAria': '삭제 확인 대화상자 표시', + 'settings.openchamber.defaults.field.showDeletionDialog': '삭제 확인 대화상자 표시', + 'settings.openchamber.defaults.field.openFilesPreviewAria': '파일을 미리보기 모드로 열기', + 'settings.openchamber.defaults.field.openFilesPreview': '파일을 미리보기 모드로 열기', 'settings.openchamber.defaults.option.default': '기본값', 'settings.openchamber.defaults.option.defaultLowercase': '기본값', 'settings.openchamber.git.title': 'Git', @@ -1207,18 +1207,18 @@ export const settingsDict = { 'settings.notifications.page.delivery.permissionGrantedButDisabled': '권한은 부여되었지만 알림이 비활성화되어 있습니다.', 'settings.notifications.page.delivery.vscodeHint': '활성화하면 알림이 VS Code 기본 알림을 통해 전달됩니다.', 'settings.notifications.page.events.title': '이벤트', - 'settings.notifications.page.events.completionAria': 'Agent 완료', - 'settings.notifications.page.events.completionLabel': 'Agent 완료', - 'settings.notifications.page.events.subtaskAria': 'Subagent 완료', - 'settings.notifications.page.events.subtaskLabel': 'Subagent 완료', - 'settings.notifications.page.events.errorAria': 'Agent 오류', - 'settings.notifications.page.events.errorLabel': 'Agent 오류', - 'settings.notifications.page.events.questionAria': 'Agent 질문', - 'settings.notifications.page.events.questionLabel': 'Agent 질문', + 'settings.notifications.page.events.completionAria': '에이전트 완료', + 'settings.notifications.page.events.completionLabel': '에이전트 완료', + 'settings.notifications.page.events.subtaskAria': '서브에이전트 완료', + 'settings.notifications.page.events.subtaskLabel': '서브에이전트 완료', + 'settings.notifications.page.events.errorAria': '에이전트 오류', + 'settings.notifications.page.events.errorLabel': '에이전트 오류', + 'settings.notifications.page.events.questionAria': '에이전트 질문', + 'settings.notifications.page.events.questionLabel': '에이전트 질문', 'settings.notifications.page.template.title': '알림 템플릿', 'settings.notifications.page.template.variablesLabel': '변수:', 'settings.notifications.page.template.event.completion': '완료', - 'settings.notifications.page.template.event.subtask': 'Subagent 완료', + 'settings.notifications.page.template.event.subtask': '서브에이전트 완료', 'settings.notifications.page.template.event.error': '오류', 'settings.notifications.page.template.event.question': '질문', 'settings.notifications.page.template.field.title': '제목', @@ -1467,7 +1467,7 @@ export const settingsDict = { 'settings.openchamber.visual.option.weekStart.monday.label': '월요일', 'settings.openchamber.visual.option.weekStart.sunday.label': '일요일', 'settings.magicPrompts.page.loading.aria': '로딩 중', - 'settings.magicPrompts.page.loading.text': 'Magic Prompts 로딩 중...', + 'settings.magicPrompts.page.loading.text': '매직 프롬프트 불러오는 중...', 'settings.magicPrompts.page.block.visiblePrompt': '표시 프롬프트', 'settings.magicPrompts.page.block.instructions': '지침', 'settings.magicPrompts.page.group.gitCommitGenerate.title': 'Commit 생성', @@ -1476,9 +1476,9 @@ export const settingsDict = { 'settings.magicPrompts.page.group.gitPrGenerate.description': 'PR 제목/본문 생성에 사용되는 프롬프트: 표시 사용자 메시지 + 숨겨진 지침입니다.', 'settings.magicPrompts.page.group.githubPrReview.title': 'PR 리뷰', 'settings.magicPrompts.page.group.githubPrReview.description': 'PR 리뷰 flow에 사용하는 프롬프트입니다: 표시 사용자 메시지 + 숨겨진 지침 payload.', - 'settings.magicPrompts.page.group.githubIssueReview.title': 'Issue 리뷰', + 'settings.magicPrompts.page.group.githubIssueReview.title': '이슈 리뷰', 'settings.magicPrompts.page.group.githubIssueReview.description': 'issue 리뷰 flow에 사용하는 프롬프트입니다: 표시 사용자 메시지 + 숨겨진 지침 payload.', - 'settings.magicPrompts.page.group.githubPrFailedChecksReview.title': 'PR 실패 Checks 리뷰', + 'settings.magicPrompts.page.group.githubPrFailedChecksReview.title': 'PR 실패 체크 리뷰', 'settings.magicPrompts.page.group.githubPrFailedChecksReview.description': 'PR 실패 checks 분석에 사용되는 프롬프트입니다.', 'settings.magicPrompts.page.group.githubPrCommentsReview.title': 'PR 댓글 리뷰', 'settings.magicPrompts.page.group.githubPrCommentsReview.description': 'PR 댓글 분석에 사용되는 프롬프트입니다.', @@ -1490,13 +1490,13 @@ export const settingsDict = { 'settings.magicPrompts.page.group.gitCherrypickConflictResolve.description': 'integrate flow에서 cherry-pick 충돌을 해결할 때 사용하는 프롬프트입니다.', 'settings.magicPrompts.page.group.planImprove.title': '계획 개선', 'settings.magicPrompts.page.group.planImprove.description': '저장된 계획을 개선 flow로 보낼 때 사용하는 숨겨진 프롬프트입니다.', - 'settings.magicPrompts.page.group.planTodo.title': 'Todo 계획', + 'settings.magicPrompts.page.group.planTodo.title': '할 일 계획', 'settings.magicPrompts.page.group.planTodo.description': 'todo를 새 계획 세션으로 보낼 때 사용하는 숨겨진 프롬프트입니다.', 'settings.magicPrompts.page.group.planImplement.title': '계획 구현', 'settings.magicPrompts.page.group.planImplement.description': '저장된 계획을 구현 flow로 보낼 때 사용하는 숨겨진 프롬프트입니다.', 'settings.magicPrompts.page.group.sessionSummary.title': '세션 요약', 'settings.magicPrompts.page.group.sessionSummary.description': '/summary slash command에서 사용하는 프롬프트입니다: 표시 사용자 메시지 + 숨겨진 지침. 비파괴적이며 세션 기록을 압축하지 않습니다.', - 'settings.magicPrompts.page.group.sessionWorkspaceReview.title': 'Workspace 리뷰', + 'settings.magicPrompts.page.group.sessionWorkspaceReview.title': '워크스페이스 리뷰', 'settings.magicPrompts.page.group.sessionWorkspaceReview.description': '/workspace-review slash command에서 사용하는 프롬프트입니다: 표시 사용자 메시지 + 숨겨진 지침. 현재 workspace 변경 사항에서 중요한 문제만 리뷰합니다.', 'settings.magicPrompts.page.actions.resetting': '초기화 중...', 'settings.magicPrompts.page.actions.resetAllOverrides': '모든 오버라이드 초기화', @@ -1507,10 +1507,10 @@ export const settingsDict = { 'settings.magicPrompts.page.status.unsavedChanges': '저장되지 않은 변경사항', 'settings.magicPrompts.page.status.usingSavedOverride': '저장된 오버라이드 사용 중', 'settings.magicPrompts.page.status.usingBuiltinDefault': '내장 기본값 사용 중', - 'settings.magicPrompts.page.toast.loadFailed': 'Magic Prompts를 로드하지 못했습니다', + 'settings.magicPrompts.page.toast.loadFailed': '매직 프롬프트를 불러오지 못했습니다', 'settings.magicPrompts.page.toast.visiblePromptRequired': '표시 프롬프트는 비워 둘 수 없습니다', - 'settings.magicPrompts.page.toast.saved': 'Magic prompt가 저장되었습니다', - 'settings.magicPrompts.page.toast.saveFailed': 'magic prompt를 저장하지 못했습니다', + 'settings.magicPrompts.page.toast.saved': '매직 프롬프트를 저장했습니다', + 'settings.magicPrompts.page.toast.saveFailed': '매직 프롬프트를 저장하지 못했습니다', 'settings.magicPrompts.page.toast.resetSuccess': '프롬프트가 기본값으로 초기화되었습니다', 'settings.magicPrompts.page.toast.resetFailed': '프롬프트를 초기화하지 못했습니다', 'settings.magicPrompts.page.toast.resetAllSuccess': '모든 프롬프트 오버라이드가 초기화되었습니다', diff --git a/packages/ui/src/lib/i18n/messages/ko.ts b/packages/ui/src/lib/i18n/messages/ko.ts index 5a60f098..feb68edb 100644 --- a/packages/ui/src/lib/i18n/messages/ko.ts +++ b/packages/ui/src/lib/i18n/messages/ko.ts @@ -15,8 +15,8 @@ export const dict: Record = { 'common.revealPath.fileExplorer': 'File Explorer에서 열기', 'common.revealPath.fileManager': '파일 관리자에서 열기', 'layout.mainTab.chat': '채팅', - 'layout.mainTab.plan': '플랜', - 'layout.mainTab.diff': 'diff', + 'layout.mainTab.plan': '계획', + 'layout.mainTab.diff': '변경사항', 'layout.mainTab.files': '파일', 'layout.mainTab.terminal': '터미널', 'layout.rightSidebar.git': 'Git', @@ -27,7 +27,7 @@ export const dict: Record = { 'sessions.sidebar.header.actions.closeSessions': '세션 닫기', 'sessions.sidebar.header.actions.addProject': '프로젝트 추가', 'sessions.sidebar.header.actions.newSession': '새 세션', - 'sessions.sidebar.header.actions.newMultiRun': '새 멀티런', + 'sessions.sidebar.header.actions.newMultiRun': '새 다중 실행', 'sessions.sidebar.header.actions.scheduledTasks': '예약 작업', 'sessions.scheduledTasks.dialog.title': '예약 작업', 'sessions.scheduledTasks.dialog.description': '새 세션을 만들고 설정된 프롬프트를 보내는 서버 작업입니다.', @@ -90,7 +90,7 @@ export const dict: Record = { 'sessions.scheduledTasks.editor.title.new': '새 예약 작업', 'sessions.scheduledTasks.editor.description': '새 세션을 만들고 프롬프트를 보내는 서버 작업을 설정합니다.', 'sessions.scheduledTasks.editor.taskName.label': '작업 이름', - 'sessions.scheduledTasks.editor.taskName.placeholder': '매일 sync', + 'sessions.scheduledTasks.editor.taskName.placeholder': '매일 동기화', 'sessions.scheduledTasks.editor.scheduleType.label': '예약 유형', 'sessions.scheduledTasks.editor.scheduleType.daily': '매일', 'sessions.scheduledTasks.editor.scheduleType.weekly': '매주', @@ -133,7 +133,7 @@ export const dict: Record = { 'sessions.scheduledTasks.editor.validation.atLeastOneTime': '유효한 시간을 하나 이상 추가하세요', 'sessions.scheduledTasks.editor.validation.atLeastOneWeekday': '요일을 하나 이상 선택하세요', 'sessions.scheduledTasks.editor.validation.timezoneRequired': '시간대 필수', - 'multirun.launcher.title': '새 멀티런', + 'multirun.launcher.title': '새 다중 실행', 'multirun.launcher.actions.closeEsc': '닫기(Esc)', 'multirun.launcher.actions.cancel': '취소', 'multirun.launcher.actions.creating': '생성 중…', @@ -144,8 +144,8 @@ export const dict: Record = { 'multirun.launcher.groupName.label': '그룹 이름', 'multirun.launcher.groupName.info': '워크트리 디렉터리와 브랜치 이름에 사용됩니다', 'multirun.launcher.groupName.placeholder': 'feature-auth, bugfix-login', - 'multirun.launcher.baseBranch.label': 'base 브랜치', - 'multirun.launcher.baseBranch.info': '모델마다 이 base에서 새 브랜치를 만듭니다', + 'multirun.launcher.baseBranch.label': '기본 브랜치', + 'multirun.launcher.baseBranch.info': '각 모델은 이 기본 브랜치에서 새 브랜치를 만듭니다', 'multirun.launcher.agent.label': '에이전트', 'multirun.launcher.agent.info': '모든 실행에 사용할 에이전트입니다. 설정된 기본 에이전트를 사용합니다.', 'multirun.launcher.setupCommands.label': '셋업 명령', @@ -286,10 +286,10 @@ export const dict: Record = { 'sessions.sidebar.dialogs.worktreeDelete.descriptionNoLinked': '선택한 워크트리를 제거합니다.', 'sessions.sidebar.dialogs.worktreeDelete.descriptionOneLinked': '선택한 워크트리를 제거하고 연결된 세션 {count}개를 보관합니다.', 'sessions.sidebar.dialogs.worktreeDelete.descriptionManyLinked': '선택한 워크트리를 제거하고 연결된 세션 {count}개를 보관합니다.', - 'sessions.sidebar.dialogs.sessionDelete.descriptionOne': 'This 작업 permanently 제거 1 세션.', - 'sessions.sidebar.dialogs.sessionDelete.descriptionOneWithDate': 'This 작업 permanently 제거 1 세션에서 {dateLabel}.', - 'sessions.sidebar.dialogs.sessionDelete.descriptionMany': 'This 작업 permanently 제거 {count} 세션.', - 'sessions.sidebar.dialogs.sessionDelete.descriptionManyWithDate': 'This 작업 permanently 제거 {count} 세션에서 {dateLabel}.', + 'sessions.sidebar.dialogs.sessionDelete.descriptionOne': '이 작업은 세션 1개를 영구 삭제합니다.', + 'sessions.sidebar.dialogs.sessionDelete.descriptionOneWithDate': '이 작업은 {dateLabel}의 세션 1개를 영구 삭제합니다.', + 'sessions.sidebar.dialogs.sessionDelete.descriptionMany': '이 작업은 세션 {count}개를 영구 삭제합니다.', + 'sessions.sidebar.dialogs.sessionDelete.descriptionManyWithDate': '이 작업은 {dateLabel}의 세션 {count}개를 영구 삭제합니다.', 'sessions.sidebar.dialogs.sessionList.more': '+{count}개 더 보기', 'sessions.sidebar.session.share.successTitle': '세션 공유됨', 'sessions.sidebar.session.share.successDescription': '메뉴에서 링크를 복사할 수 있습니다.', @@ -301,43 +301,43 @@ export const dict: Record = { 'sessions.sidebar.session.delete.error': '세션 삭제 실패', 'sessions.sidebar.session.archive.success': '세션 보관됨', 'sessions.sidebar.session.archive.error': '세션 보관 실패', - 'sessions.sidebar.group.pr.checksPassed': '{success}/{total} checks passed', - 'sessions.sidebar.group.pr.failingCount': '{count} failing', + 'sessions.sidebar.group.pr.checksPassed': '검사 통과: {success}/{total}', + 'sessions.sidebar.group.pr.failingCount': '실패 {count}개', 'sessions.sidebar.group.pr.pendingCount': '{count} 대기 중', - 'sessions.sidebar.group.pr.conflictsOrBlocked': 'Conflicts 또는 blocked', - 'sessions.sidebar.group.pr.mergeable': 'mergeable', - 'sessions.sidebar.group.pr.mergeState': 'merge state: {state}', - 'sessions.sidebar.group.pr.status.merged': 'merged', - 'sessions.sidebar.group.pr.status.readyToMerge': '준비됨로 merge', + 'sessions.sidebar.group.pr.conflictsOrBlocked': '충돌 또는 차단됨', + 'sessions.sidebar.group.pr.mergeable': '병합 가능', + 'sessions.sidebar.group.pr.mergeState': '병합 상태: {state}', + 'sessions.sidebar.group.pr.status.merged': '병합됨', + 'sessions.sidebar.group.pr.status.readyToMerge': '병합 준비됨', 'sessions.sidebar.group.pr.status.open': 'PR 열기', - 'sessions.sidebar.group.pr.status.mergeConflicts': 'merge conflicts', - 'sessions.sidebar.group.pr.status.mergeBlocked': 'merge blocked', - 'sessions.sidebar.group.pr.status.draft': 'Draft PR', - 'sessions.sidebar.group.pr.status.closed': '닫기d', - 'sessions.sidebar.group.empty.noArchivedSessions': '보관d 세션 yet. 없음', + 'sessions.sidebar.group.pr.status.mergeConflicts': '병합 충돌', + 'sessions.sidebar.group.pr.status.mergeBlocked': '병합 차단됨', + 'sessions.sidebar.group.pr.status.draft': '드래프트 PR', + 'sessions.sidebar.group.pr.status.closed': '닫힘', + 'sessions.sidebar.group.empty.noArchivedSessions': '보관된 세션이 없습니다', 'sessions.sidebar.group.empty.noSessionsInWorkspace': '아직 이 워크스페이스에 세션 없음', - 'sessions.sidebar.group.showMoreSingle': '표시 {count} more 세션', - 'sessions.sidebar.group.showMorePlural': '표시 {count} more 세션', - 'sessions.sidebar.group.showFewer': '표시 fewer 세션', + 'sessions.sidebar.group.showMoreSingle': '세션 {count}개 더 보기', + 'sessions.sidebar.group.showMorePlural': '세션 {count}개 더 보기', + 'sessions.sidebar.group.showFewer': '세션 접기', 'sessions.sidebar.group.expandAria': '펼치기 {label}', 'sessions.sidebar.group.collapseAria': '접기 {label}', - 'sessions.sidebar.group.actions.deleteArchivedInGroupAria': '보관d 세션 in {label} 삭제', - 'sessions.sidebar.group.actions.deleteArchivedSessions': '보관d 세션 삭제', + 'sessions.sidebar.group.actions.deleteArchivedInGroupAria': '{label}의 보관된 세션 삭제', + 'sessions.sidebar.group.actions.deleteArchivedSessions': '보관된 세션 삭제', 'sessions.sidebar.group.actions.deleteGroupAria': '{label} 삭제', 'sessions.sidebar.group.actions.deleteWorktree': '워크트리 삭제', - 'sessions.sidebar.group.actions.newDraftInGroupAria': '새 draft 세션 in {label}', - 'sessions.sidebar.grouping.projectRoot': '프로젝트 root', - 'sessions.sidebar.grouping.projectRootWithBranch': '프로젝트 root: {branch}', + 'sessions.sidebar.group.actions.newDraftInGroupAria': '{label}에 새 드래프트 세션 만들기', + 'sessions.sidebar.grouping.projectRoot': '프로젝트 루트', + 'sessions.sidebar.grouping.projectRootWithBranch': '프로젝트 루트: {branch}', 'sessions.sidebar.grouping.archived': '보관됨', - 'sessions.sidebar.grouping.archivedDescription': '보관됨 및 unassigned 세션', + 'sessions.sidebar.grouping.archivedDescription': '보관됨 및 미분류 세션', 'sessions.sidebar.folderItem.expandAria': '펼치기 폴더 {folderName}', 'sessions.sidebar.folderItem.collapseAria': '접기 폴더 {folderName}', - 'sessions.sidebar.folderItem.namePlaceholder': '폴더 name', - 'sessions.sidebar.folderItem.newSessionAria': '새 세션 in {folderName}', - 'sessions.sidebar.folderItem.newSubfolderAria': '새 하위 폴더 in {folderName}', + 'sessions.sidebar.folderItem.namePlaceholder': '폴더 이름', + 'sessions.sidebar.folderItem.newSessionAria': '{folderName}에 새 세션 만들기', + 'sessions.sidebar.folderItem.newSubfolderAria': '{folderName}에 새 하위 폴더 만들기', 'sessions.sidebar.folderItem.newSubfolder': '새 하위 폴더', - 'sessions.sidebar.folderItem.renameAria': 'Rename 폴더 {folderName}', - 'sessions.sidebar.folderItem.deleteArchivedInFolderAria': '보관d 세션 in 폴더 {folderName} 삭제', + 'sessions.sidebar.folderItem.renameAria': '폴더 이름 변경: {folderName}', + 'sessions.sidebar.folderItem.deleteArchivedInFolderAria': '폴더 {folderName}의 보관된 세션 삭제', 'sessions.sidebar.folderItem.deleteFolderAria': '폴더 {folderName} 삭제', 'sessions.sidebar.folderItem.emptyFolder': '비어 있음 폴더', 'sessions.sidebar.sessionDialogs.ok': '확인', @@ -345,11 +345,11 @@ export const dict: Record = { 'sessions.sidebar.sessionDialogs.linkedSessionPlural': '연결된 세션', 'sessions.sidebar.sessionDialogs.delete.note': '워크트리 디렉터리는 그대로 둡니다. 선택한 세션에 연결된 하위 세션도 제거됩니다.', 'sessions.sidebar.sessionDialogs.directory.errorSelectTitle': '디렉터리 선택 실패', - 'sessions.sidebar.sessionDialogs.directory.errorOpenTitle': 'open 디렉터리 실패', - 'sessions.sidebar.sessionDialogs.directory.errorOpenDescription': 'Desktop could not grant 파일 access.', + 'sessions.sidebar.sessionDialogs.directory.errorOpenTitle': '디렉터리를 열지 못했습니다', + 'sessions.sidebar.sessionDialogs.directory.errorOpenDescription': '데스크톱에서 파일 접근 권한을 부여하지 못했습니다.', 'sessions.sidebar.sessionDialogs.directory.errorAddProjectTitle': '프로젝트 추가 실패', 'sessions.sidebar.sessionDialogs.directory.errorAddProjectDescription': '유효한 디렉터리 경로를 선택하세요.', - 'sessions.sidebar.sessionDialogs.worktree.errorRemoveTitle': 'remove 워크트리 실패', + 'sessions.sidebar.sessionDialogs.worktree.errorRemoveTitle': '워크트리 제거 실패', 'sessions.sidebar.sessionDialogs.worktree.removedTitle': '워크트리 제거됨', 'sessions.sidebar.sessionDialogs.worktree.removed': '워크트리가 제거되었습니다.', 'sessions.sidebar.sessionDialogs.worktree.removedWithRemote': '워크트리와 리모트 브랜치가 제거되었습니다.', @@ -357,76 +357,76 @@ export const dict: Record = { 'sessions.sidebar.sessionDialogs.worktree.attachedArchivedPlural': '첨부됨 워크트리 보관됨.', 'sessions.sidebar.sessionDialogs.worktree.archivedAndRemoteRemoved': '워크트리가 보관되고 리모트 브랜치가 제거되었습니다.', 'sessions.sidebar.sessionDialogs.worktree.label': '워크트리', - 'sessions.sidebar.sessionDialogs.worktree.pathUnavailable': '워크트리 경로 unavailable.', + 'sessions.sidebar.sessionDialogs.worktree.pathUnavailable': '워크트리 경로를 사용할 수 없습니다.', 'sessions.sidebar.sessionDialogs.worktree.uncommittedWarning': '커밋하지 않은 변경 사항은 버려집니다.', 'sessions.sidebar.sessionDialogs.actions.deleteRemoteBranch': '리모트 브랜치 삭제', - 'sessions.sidebar.sessionDialogs.actions.remoteBranchInfoUnavailable': '리모트 브랜치 info 사용할 수 없음', - 'sessions.sidebar.sessionDialogs.actions.deleteLocalBranch': 'local 브랜치 삭제', + 'sessions.sidebar.sessionDialogs.actions.remoteBranchInfoUnavailable': '리모트 브랜치 정보를 사용할 수 없음', + 'sessions.sidebar.sessionDialogs.actions.deleteLocalBranch': '로컬 브랜치 삭제', 'sessions.sidebar.sessionDialogs.actions.deleting': '삭제 중…', 'sessions.sidebar.sessionDialogs.actions.deleteWorktree': '워크트리 삭제', - 'gitView.branch.branchToMergeInto': '브랜치 To merge Into', - 'gitView.branch.branchToRebaseOnto': '브랜치 To rebase Onto', - 'gitView.branch.create': 'new 브랜치... 생성', + 'gitView.branch.branchToMergeInto': '병합 대상 브랜치', + 'gitView.branch.branchToRebaseOnto': '리베이스 대상 브랜치', + 'gitView.branch.create': '새 브랜치 생성...', 'gitView.branch.currentBadge': '현재', 'gitView.branch.currentBranchFallback': '현재 브랜치', 'gitView.branch.currentBranchTooltip': '현재 브랜치', 'gitView.branch.detachedHead': 'Detached HEAD', - 'gitView.branch.dialogDescriptionPrefix': 'Dialog Description Prefix', - 'gitView.branch.empty': '브랜치es found. 없음', - 'gitView.branch.localBranches': '로컬 브랜치es', - 'gitView.branch.mergeDescription': 'merge Description', - 'gitView.branch.mergeRebase': 'merge/rebase', - 'gitView.branch.mergeRebaseTooltip': 'merge rebase tooltip', - 'gitView.branch.mergingInProgress': 'Merging In Progress', - 'gitView.branch.namePlaceholder': '브랜치 name', - 'gitView.branch.newBranchPlaceholder': '새 브랜치 name', - 'gitView.branch.noLocalBranches': 'local 브랜치es 없음', - 'gitView.branch.noRemoteBranches': '리모트 브랜치es 없음', - 'gitView.branch.operation': 'Operation', - 'gitView.branch.operationCompleted': 'Operation 완료됨', - 'gitView.branch.operationFailed': 'Operation 실패', - 'gitView.branch.pushToPrefix': 'push To Prefix', - 'gitView.branch.pushToSuffix': 'push To Suffix', - 'gitView.branch.rebaseDescription': 'rebase Description', - 'gitView.branch.rebasingInProgress': 'Rebasing In Progress', - 'gitView.branch.remoteBranches': '리모트 브랜치es', - 'gitView.branch.renameTitle': 'Rename 브랜치', - 'gitView.branch.searchPlaceholder': '브랜치es 검색…', + 'gitView.branch.dialogDescriptionPrefix': '선택한 브랜치:', + 'gitView.branch.empty': '브랜치를 찾을 수 없습니다', + 'gitView.branch.localBranches': '로컬 브랜치', + 'gitView.branch.mergeDescription': '선택한 브랜치를 현재 브랜치로 병합합니다.', + 'gitView.branch.mergeRebase': '병합/리베이스', + 'gitView.branch.mergeRebaseTooltip': '브랜치를 병합하거나 리베이스합니다', + 'gitView.branch.mergingInProgress': '병합 진행 중', + 'gitView.branch.namePlaceholder': '브랜치 이름', + 'gitView.branch.newBranchPlaceholder': '새 브랜치 이름', + 'gitView.branch.noLocalBranches': '로컬 브랜치가 없습니다', + 'gitView.branch.noRemoteBranches': '원격 브랜치가 없습니다', + 'gitView.branch.operation': '작업', + 'gitView.branch.operationCompleted': '작업 완료됨', + 'gitView.branch.operationFailed': '작업 실패', + 'gitView.branch.pushToPrefix': '푸시 대상:', + 'gitView.branch.pushToSuffix': '으로 푸시', + 'gitView.branch.rebaseDescription': '현재 브랜치를 선택한 브랜치 위로 리베이스합니다.', + 'gitView.branch.rebasingInProgress': '리베이스 진행 중', + 'gitView.branch.remoteBranches': '리모트 브랜치', + 'gitView.branch.renameTitle': '브랜치 이름 변경', + 'gitView.branch.searchPlaceholder': '브랜치 검색…', 'gitView.branch.selectBranch': '브랜치 선택', - 'gitView.branch.summaryMergeInfix': 'Summary merge Infix', - 'gitView.branch.summaryMergePrefix': 'Summary merge Prefix', - 'gitView.branch.summaryRebaseInfix': 'Summary rebase Infix', - 'gitView.branch.summaryRebasePrefix': 'Summary rebase Prefix', + 'gitView.branch.summaryMergeInfix': '을(를) 병합', + 'gitView.branch.summaryMergePrefix': '현재 브랜치에', + 'gitView.branch.summaryRebaseInfix': '위로 리베이스', + 'gitView.branch.summaryRebasePrefix': '현재 브랜치를', 'gitView.branch.updateDescriptionPrefix': '브랜치 설명 접두사 업데이트', 'gitView.branch.updateTitle': '브랜치 업데이트', - 'gitView.changes.changedFilesAria': 'Changed 파일', - 'gitView.changes.clearSelectionAria': 'Clear 파일 선택ion', - 'gitView.changes.collapseDirectoryAria': '접기 디렉터리 aria label', - 'gitView.changes.expandDirectoryAria': '펼치기 디렉터리 aria label', - 'gitView.changes.revertAll': 'Revert all', - 'gitView.changes.revertAllDescriptionPlural': 'Revert All Description Plural', - 'gitView.changes.revertAllDescriptionSingle': 'Revert All Description Single', - 'gitView.changes.revertAllDialogTitle': 'Revert all changes?', - 'gitView.changes.revertFileAria': 'Revert 파일 aria label', - 'gitView.changes.revertFileTooltip': 'Revert changes', - 'gitView.changes.reverting': 'Reverting…', - 'gitView.changes.selectAllAria': 'all 파일 선택', - 'gitView.changes.selectFileAria': '파일 aria label 선택', - 'gitView.changes.title': 'Changes', - 'gitView.changes.toggleDirectorySelectionAria': '토글 디렉터리 선택ion aria label', + 'gitView.changes.changedFilesAria': '변경된 파일', + 'gitView.changes.clearSelectionAria': '파일 선택 해제', + 'gitView.changes.collapseDirectoryAria': '디렉터리 접기', + 'gitView.changes.expandDirectoryAria': '디렉터리 펼치기', + 'gitView.changes.revertAll': '모두 되돌리기', + 'gitView.changes.revertAllDescriptionPlural': '선택한 파일 {count}개의 변경 사항을 되돌립니다.', + 'gitView.changes.revertAllDescriptionSingle': '선택한 파일 {count}개의 변경 사항을 되돌립니다.', + 'gitView.changes.revertAllDialogTitle': '모든 변경 사항을 되돌릴까요?', + 'gitView.changes.revertFileAria': '파일 변경 사항 되돌리기', + 'gitView.changes.revertFileTooltip': '변경 사항 되돌리기', + 'gitView.changes.reverting': '되돌리는 중…', + 'gitView.changes.selectAllAria': '모든 파일 선택', + 'gitView.changes.selectFileAria': '파일 선택', + 'gitView.changes.title': '변경사항', + 'gitView.changes.toggleDirectorySelectionAria': '디렉터리 선택 전환', 'gitView.commit.addGitmoji': 'gitmoji 추가', - 'gitView.commit.aiHighlights.insertAria': 'Insert aria label', - 'gitView.commit.aiHighlights.insertTooltip': 'Insert tooltip', + 'gitView.commit.aiHighlights.insertAria': '커밋 메시지에 삽입', + 'gitView.commit.aiHighlights.insertTooltip': '커밋 메시지에 삽입', 'gitView.commit.aiHighlights.title': '제목', 'gitView.commit.commit': '커밋', - 'gitView.commit.commitAria': '커밋 aria label', - 'gitView.commit.committing': '커밋ting…', + 'gitView.commit.commitAria': '커밋 생성', + 'gitView.commit.committing': '커밋 중…', 'gitView.commit.generate': '생성', 'gitView.commit.generateAria': '커밋 메시지 생성', 'gitView.commit.messagePlaceholder': '커밋 메시지', - 'gitView.commit.push': 'push', - 'gitView.commit.pushAria': 'push', - 'gitView.commit.pushing': 'pushing…', + 'gitView.commit.push': '푸시', + 'gitView.commit.pushAria': '푸시', + 'gitView.commit.pushing': '푸시 중…', 'gitView.commit.selectFilesHint': '커밋하려면 변경 사항에서 파일을 선택하세요.', 'gitView.commit.title': '커밋', 'gitView.common.cancel': '취소', @@ -434,104 +434,104 @@ export const dict: Record = { 'gitView.common.done': '완료', 'gitView.common.processing': '처리 중…', 'gitView.common.reset': '초기화', - 'gitView.conflict.abortOperation': 'Abort Operation', - 'gitView.conflict.conflictedFiles': 'Conflicted 파일:', - 'gitView.conflict.continueLater': 'Continue Later', - 'gitView.conflict.detectedDescription': 'Detected Description', - 'gitView.conflict.detectedTitle': 'Detected Title', + 'gitView.conflict.abortOperation': '작업 중단', + 'gitView.conflict.conflictedFiles': '충돌한 파일:', + 'gitView.conflict.continueLater': '나중에 계속', + 'gitView.conflict.detectedDescription': '병합 또는 리베이스 중 해결이 필요한 충돌이 발견되었습니다.', + 'gitView.conflict.detectedTitle': '충돌 발견됨', 'gitView.conflict.errorLoadingDetails': '상세 정보 로드 오류', - 'gitView.conflict.headInfo': 'HEAD information:', - 'gitView.conflict.loadFailed': 'Load 실패', - 'gitView.conflict.loading': 'conflict details 로드 중…', - 'gitView.conflict.noActiveSession': 'Active 세션 없음', - 'gitView.conflict.noActiveSessionDescription': 'Active 세션 Description 없음', - 'gitView.conflict.resolveCurrentSession': 'Resolve에서 현재 세션', - 'gitView.conflict.resolveNewSession': 'Resolve에서 New 세션', + 'gitView.conflict.headInfo': 'HEAD 정보:', + 'gitView.conflict.loadFailed': '로드 실패', + 'gitView.conflict.loading': '충돌 상세 정보를 로드하는 중…', + 'gitView.conflict.noActiveSession': '활성 세션 없음', + 'gitView.conflict.noActiveSessionDescription': '충돌 해결을 시작하려면 먼저 활성 세션을 선택하세요.', + 'gitView.conflict.resolveCurrentSession': '현재 세션에서 해결', + 'gitView.conflict.resolveNewSession': '새 세션에서 해결', 'gitView.empty.cleanDescription': '모든 변경 사항이 커밋됨', 'gitView.empty.cleanTitle': '워킹 트리 깨끗함', - 'gitView.empty.pullBehindPlural': 'pull {count} 커밋', - 'gitView.empty.pullBehindSingle': 'pull {count} 커밋', + 'gitView.empty.pullBehindPlural': '커밋 {count}개 가져오기', + 'gitView.empty.pullBehindSingle': '커밋 {count}개 가져오기', 'gitView.header.identityTooltip': 'Git 인증 정보', 'gitView.header.noIdentity': '인증 정보 없음', 'gitView.header.noProfiles': '적용할 프로필 없음', - 'gitView.header.removeRemoteAria': '리모트 aria label 제거', - 'gitView.header.removeRemoteTitle': '리모트 Title 제거', - 'gitView.history.binary': 'Binary', - 'gitView.history.commitsPlaceholder': '커밋 Placeholder', + 'gitView.header.removeRemoteAria': '리모트 제거', + 'gitView.header.removeRemoteTitle': '리모트 제거', + 'gitView.history.binary': '바이너리', + 'gitView.history.commitsPlaceholder': '커밋 검색', 'gitView.history.copySha': 'SHA 복사', 'gitView.history.loadingFiles': '파일 로드 중…', - 'gitView.history.logSize100': 'Log Size100', - 'gitView.history.logSize25': 'Log Size25', - 'gitView.history.logSize50': 'Log Size50', + 'gitView.history.logSize100': '최근 100개', + 'gitView.history.logSize25': '최근 25개', + 'gitView.history.logSize50': '최근 50개', 'gitView.history.noCommits': '커밋 없음', 'gitView.history.noFiles': '파일 없음', 'gitView.history.title': '히스토리', 'gitView.integrate.checking': '확인 중…', - 'gitView.integrate.cherryPickAbortedToast': 'Cherry Pick 중단됨 Toast', - 'gitView.integrate.cherryPickConflictDescription': 'Cherry Pick Conflict Description', - 'gitView.integrate.cherryPickConflictToast': 'Cherry Pick Conflict Toast', - 'gitView.integrate.cherryPickContinueFailedToast': 'Cherry Pick Continue 실패 Toast', - 'gitView.integrate.cherryPickFinishedToast': 'Cherry Pick Finished Toast', - 'gitView.integrate.commitsMovedDescriptionPlural': '커밋 Moved Description Plural', - 'gitView.integrate.commitsMovedDescriptionSingle': '커밋 Moved Description Single', - 'gitView.integrate.commitsMovedToast': '커밋 Moved Toast', - 'gitView.integrate.commitsToMove': '커밋로 move', - 'gitView.integrate.conflictsInFiles': 'Conflicts In 파일', + 'gitView.integrate.cherryPickAbortedToast': 'Cherry-pick이 중단되었습니다', + 'gitView.integrate.cherryPickConflictDescription': '충돌을 해결한 뒤 계속 진행하세요.', + 'gitView.integrate.cherryPickConflictToast': 'Cherry-pick 충돌이 발생했습니다', + 'gitView.integrate.cherryPickContinueFailedToast': 'Cherry-pick을 계속하지 못했습니다', + 'gitView.integrate.cherryPickFinishedToast': 'Cherry-pick이 완료되었습니다', + 'gitView.integrate.commitsMovedDescriptionPlural': '커밋 {count}개를 새 세션으로 이동했습니다.', + 'gitView.integrate.commitsMovedDescriptionSingle': '커밋 {count}개를 새 세션으로 이동했습니다.', + 'gitView.integrate.commitsMovedToast': '커밋을 이동했습니다', + 'gitView.integrate.commitsToMove': '이동할 커밋', + 'gitView.integrate.conflictsInFiles': '파일 충돌', 'gitView.integrate.currentCommit': '현재 커밋', 'gitView.integrate.currentSession': '현재 세션', - 'gitView.integrate.failedToMoveToast': '실패 To Move Toast', - 'gitView.integrate.moreFiles': 'More 파일', - 'gitView.integrate.move': 'Move', - 'gitView.integrate.moveCommits': 'Move 커밋', - 'gitView.integrate.moving': 'Moving…', + 'gitView.integrate.failedToMoveToast': '커밋을 이동하지 못했습니다', + 'gitView.integrate.moreFiles': '파일 더 보기', + 'gitView.integrate.move': '이동', + 'gitView.integrate.moveCommits': '커밋 이동', + 'gitView.integrate.moving': '이동 중…', 'gitView.integrate.newSession': '새 세션', - 'gitView.integrate.noActiveSession': 'Active 세션 없음', - 'gitView.integrate.noActiveSessionDescription': 'Active 세션 Description 없음', + 'gitView.integrate.noActiveSession': '활성 세션 없음', + 'gitView.integrate.noActiveSessionDescription': '커밋을 이동하려면 먼저 활성 세션을 선택하세요.', 'gitView.integrate.noCommitsToMove': '이동할 커밋 없음', - 'gitView.integrate.noCommitsToMoveToast': '커밋 To Move Toast 없음', + 'gitView.integrate.noCommitsToMoveToast': '이동할 커밋이 없습니다', 'gitView.integrate.previewUnavailable': '미리보기를 사용할 수 없음', - 'gitView.integrate.showAll': '표시 All', - 'gitView.integrate.showLess': '표시 Less', - 'gitView.integrate.showingFirstCommits': '표시ing First 커밋', - 'gitView.integrate.target': 'Target', - 'gitView.integrate.title': 'Re-integrate 커밋', - 'gitView.integrate.toMoveCount': 'To Move Count', + 'gitView.integrate.showAll': '모두 보기', + 'gitView.integrate.showLess': '간단히 보기', + 'gitView.integrate.showingFirstCommits': '처음 커밋부터 표시', + 'gitView.integrate.target': '대상', + 'gitView.integrate.title': '커밋 다시 통합', + 'gitView.integrate.toMoveCount': '이동할 커밋 수', 'gitView.operation.abort': '중단', 'gitView.operation.continue': '계속', - 'gitView.operation.inProgressTitle': 'In Progress Title', - 'gitView.operation.merge': 'merge', - 'gitView.operation.mergeInProgressWithHead': 'merge In Progress With Head', - 'gitView.operation.mergingMessage': 'Merging 메시지', - 'gitView.operation.rebase': 'rebase', - 'gitView.operation.rebaseInProgress': 'rebase In Progress', - 'gitView.operation.rebasingOnto': 'Rebasing Onto', - 'gitView.operation.resolveConflictsHint': 'Resolve Conflicts Hint', + 'gitView.operation.inProgressTitle': 'Git 작업 진행 중', + 'gitView.operation.merge': '병합', + 'gitView.operation.mergeInProgressWithHead': '{head} 병합 진행 중', + 'gitView.operation.mergingMessage': '병합 중…', + 'gitView.operation.rebase': '리베이스', + 'gitView.operation.rebaseInProgress': '리베이스 진행 중', + 'gitView.operation.rebasingOnto': '{branch} 위로 리베이스 중', + 'gitView.operation.resolveConflictsHint': '충돌을 해결한 뒤 계속 진행하세요.', 'gitView.operation.resolveWithAi': 'AI로 해결', - 'gitView.stash.confirmButton': '확인 Button', + 'gitView.stash.confirmButton': '확인', 'gitView.stash.description': '설명', - 'gitView.stash.mergeWith': 'merge With', - 'gitView.stash.rebaseOnto': 'rebase Onto', - 'gitView.stash.restoreAfterOperation': 'Restore After Operation', - 'gitView.stash.restoreAria': 'Restore aria label', + 'gitView.stash.mergeWith': '다음과 병합', + 'gitView.stash.rebaseOnto': '다음 위로 리베이스', + 'gitView.stash.restoreAfterOperation': '작업 후 복원', + 'gitView.stash.restoreAria': 'stash 복원', 'gitView.stash.stepRestore': 'stash한 변경 사항 복원', 'gitView.stash.stepStash': '커밋하지 않은 변경 사항 stash', 'gitView.stash.thisWill': '다음 작업을 수행합니다:', 'gitView.stash.title': '커밋하지 않은 변경 사항', - 'gitView.sync.fetch': 'fetch', - 'gitView.sync.fetchTooltip': '리모트에서 fetch', - 'gitView.sync.pull': 'pull', - 'gitView.sync.pullTooltip': '변경 사항 pull', - 'gitView.sync.pullTooltipBehind': 'pull changes ({count} behind)', - 'gitView.sync.push': 'push', - 'gitView.sync.pushTooltip': '변경 사항 push', - 'gitView.sync.pushTooltipAhead': 'push changes ({count} ahead)', + 'gitView.sync.fetch': '가져오기', + 'gitView.sync.fetchTooltip': '리모트에서 가져오기', + 'gitView.sync.pull': '풀', + 'gitView.sync.pullTooltip': '변경 사항 풀', + 'gitView.sync.pullTooltipBehind': '변경 사항 풀({count}개 뒤처짐)', + 'gitView.sync.push': '푸시', + 'gitView.sync.pushTooltip': '변경 사항 푸시', + 'gitView.sync.pushTooltipAhead': '변경 사항 푸시({count}개 앞섬)', 'gitView.branch.actionsUnavailable': '현재 레포지토리 상태에서는 브랜치 작업을 사용할 수 없음', 'gitView.conflict.noDetailsAvailable': '충돌 상세 정보 없음', 'gitView.empty.notGitRepository': '이 디렉터리는 Git 레포지토리가 아닙니다', 'gitView.empty.notGitRepositoryDescription': '이 디렉터리에서 Git을 초기화하거나 레포지토리를 여세요.', 'gitView.empty.selectSessionOrDirectory': 'Git 상태를 볼 세션 또는 디렉터리를 선택하세요', 'gitView.empty.worktreeFeaturesUnavailable': '이 워크스페이스 모드에서는 워크트리 기능을 사용할 수 없습니다.', - 'gitView.empty.worktreeSetupDescription': 'Finishing 워크트리 setup 및 preparing 레포지토리 state.', + 'gitView.empty.worktreeSetupDescription': '워크트리 설정을 마치고 레포지토리 상태를 준비하고 있습니다.', 'gitView.empty.worktreeSetupInProgress': '워크트리 설정 중', 'gitView.gitmoji.empty': 'gitmoji 없음', 'gitView.gitmoji.searchPlaceholder': 'gitmoji 검색…', @@ -540,35 +540,35 @@ export const dict: Record = { 'gitView.loading.checkingRepository': '레포지토리 확인 중…', 'gitView.loading.loading': '로드 중…', 'gitView.pr.actions.add': '추가', - 'gitView.pr.actions.cancelEditing': '취소 편집ing', - 'gitView.pr.actions.cancelEditingAria': '취소 PR 편집ing', + 'gitView.pr.actions.cancelEditing': '편집 취소', + 'gitView.pr.actions.cancelEditingAria': 'PR 편집 취소', 'gitView.pr.actions.createPr': 'PR 생성', 'gitView.pr.actions.edit': '편집', 'gitView.pr.actions.editPr': 'PR 편집', 'gitView.pr.actions.editPrAria': '편집 PR', 'gitView.pr.actions.hide': '숨기기', - 'gitView.pr.actions.markReady': 'Mark 준비됨', - 'gitView.pr.actions.markReadyAria': 'Mark PR 준비됨용 review', - 'gitView.pr.actions.mergePr': 'PR merge', - 'gitView.pr.actions.mergePrAria': 'merge PR', + 'gitView.pr.actions.markReady': '리뷰 준비로 표시', + 'gitView.pr.actions.markReadyAria': 'PR을 리뷰 준비 상태로 표시', + 'gitView.pr.actions.mergePr': 'PR 병합', + 'gitView.pr.actions.mergePrAria': 'PR 병합', 'gitView.pr.actions.openChecks': '체크 열기', - 'gitView.pr.actions.openChecksAria': 'failed checks 열기', + 'gitView.pr.actions.openChecksAria': '실패한 검사 열기', 'gitView.pr.actions.openComments': '댓글 열기', 'gitView.pr.actions.openCommentsAria': 'PR 댓글 열기', 'gitView.pr.actions.openOnGitHub': 'GitHub에서 열기', - 'gitView.pr.actions.openOnGitHubAria': 'PR on GitHub 열기', + 'gitView.pr.actions.openOnGitHubAria': 'GitHub에서 PR 열기', 'gitView.pr.actions.openSettings': '설정 열기', 'gitView.pr.actions.repo': '레포지토리', - 'gitView.pr.actions.resolveFailedChecks': 'Resolve 실패 checks', - 'gitView.pr.actions.resolveFailedChecksAria': '보내기 실패 checks로 에이전트', + 'gitView.pr.actions.resolveFailedChecks': '실패한 체크 해결', + 'gitView.pr.actions.resolveFailedChecksAria': '실패한 검사를 에이전트에 보내기', 'gitView.pr.actions.savePr': '저장 PR', - 'gitView.pr.actions.savePrAria': '저장 PR changes', + 'gitView.pr.actions.savePrAria': 'PR 변경 사항 저장', 'gitView.pr.actions.sendCommentToAgent': '보내기 댓글로 에이전트', 'gitView.pr.actions.sendCommentToAgentAria': '이 댓글을 에이전트에 보내기', 'gitView.pr.actions.sendToAgent': '보내기로 에이전트', - 'gitView.pr.actions.shareComments': 'Share 댓글', + 'gitView.pr.actions.shareComments': '댓글 공유', 'gitView.pr.actions.shareCommentsAria': '보내기 PR 댓글로 에이전트', - 'gitView.pr.actions.toggleDraftAria': '토글 draft state', + 'gitView.pr.actions.toggleDraftAria': '드래프트 상태 전환', 'gitView.pr.actions.refresh': 'PR 상태 새로고침', 'gitView.pr.actions.refreshAria': '풀 리퀘스트 상태 새로고침', 'gitView.pr.additionalContext.added': '추가됨', @@ -585,34 +585,34 @@ export const dict: Record = { 'gitView.pr.checks.stepLabel': '단계', 'gitView.pr.checks.steps': '단계', 'gitView.pr.comments.empty': '댓글 없음', - 'gitView.pr.comments.generalContext': 'General 댓글', - 'gitView.pr.comments.reviewContext': 'Review 댓글', + 'gitView.pr.comments.generalContext': '일반 댓글', + 'gitView.pr.comments.reviewContext': '리뷰 댓글', 'gitView.pr.comments.title': '댓글', 'gitView.pr.comments.unknownAuthor': '알 수 없는 작성자', 'gitView.pr.createTitle': 'PR 생성', - 'gitView.pr.draftMustBeReady': '드래프트 PR은 merge 전에 리뷰 준비 상태로 바꿔야 합니다.', - 'gitView.pr.field.baseBranch': 'base 브랜치', + 'gitView.pr.draftMustBeReady': '드래프트 PR은 병합 전에 리뷰 준비 상태로 바꿔야 합니다.', + 'gitView.pr.field.baseBranch': '기본 브랜치', 'gitView.pr.field.description': '설명', 'gitView.pr.field.draft': '드래프트', 'gitView.pr.field.title': '제목', 'gitView.pr.githubNotConnected': 'GitHub에 연결되지 않음', 'gitView.pr.loadingDescription': '설명 로드 중…', - 'gitView.pr.mergeMethod.merge': 'merge 커밋 생성', - 'gitView.pr.mergeMethod.rebase': 'rebase 후 merge', - 'gitView.pr.mergeMethod.squash': 'squash 후 merge', + 'gitView.pr.mergeMethod.merge': '병합 커밋 생성', + 'gitView.pr.mergeMethod.rebase': '리베이스 후 병합', + 'gitView.pr.mergeMethod.squash': '스쿼시 후 병합', 'gitView.pr.noDescription': '설명 없음', - 'gitView.pr.noMergePermission': '이 PR을 merge할 권한이 없습니다.', - 'gitView.pr.notMergeable': 'merge 불가', + 'gitView.pr.noMergePermission': '이 PR을 병합할 권한이 없습니다.', + 'gitView.pr.notMergeable': '병합 불가', 'gitView.pr.numberLabel': 'PR #{number}', - 'gitView.pr.placeholder.additionalContext': 'Any constraints, rollout notes, 또는 reviewer 컨텍스트…', + 'gitView.pr.placeholder.additionalContext': '제약 사항, 배포 메모 또는 리뷰어 참고사항을 입력하세요…', 'gitView.pr.placeholder.description': '변경 사항 설명…', 'gitView.pr.placeholder.main': 'PR 요약', - 'gitView.pr.placeholder.selectBaseBranch': 'base 브랜치 선택', + 'gitView.pr.placeholder.selectBaseBranch': '기본 브랜치 선택', 'gitView.pr.placeholder.title': 'PR 제목', 'gitView.pr.placeholder.whatChanged': '무엇이 왜 바뀌었나요?', 'gitView.pr.statusUnavailable': 'PR 상태를 사용할 수 없음', - 'gitView.pr.toast.baseBranchRequired': 'base 브랜치를 선택하세요', - 'gitView.pr.toast.baseMustDifferFromHead': 'base 브랜치는 현재 브랜치와 달라야 합니다', + 'gitView.pr.toast.baseBranchRequired': '기본 브랜치를 선택하세요', + 'gitView.pr.toast.baseMustDifferFromHead': '기본 브랜치는 현재 브랜치와 달라야 합니다', 'gitView.pr.toast.createPrFailed': 'PR 생성 실패', 'gitView.pr.toast.generateDescriptionFailed': 'PR 설명 생성 실패', 'gitView.pr.toast.githubApiUnavailable': 'GitHub API를 사용할 수 없음', @@ -622,15 +622,15 @@ export const dict: Record = { 'gitView.pr.toast.loadPrCommentsFailed': 'PR 댓글 로드 실패', 'gitView.pr.toast.markReadyFailed': 'PR 준비 상태 변경 실패', 'gitView.pr.toast.markedReady': 'PR을 리뷰 준비 상태로 표시함', - 'gitView.pr.toast.mergeFailed': 'PR merge 실패', + 'gitView.pr.toast.mergeFailed': 'PR 병합 실패', 'gitView.pr.toast.noActiveSession': '활성 채팅 세션 없음', 'gitView.pr.toast.noActiveSessionDescription': '에이전트에 컨텍스트를 보내려면 채팅 세션을 열거나 만드세요.', 'gitView.pr.toast.noFailedChecks': '실패한 체크 없음', 'gitView.pr.toast.noModelSelected': '먼저 모델을 선택하세요', 'gitView.pr.toast.noPrComments': 'PR 댓글 없음', 'gitView.pr.toast.prCreated': 'PR 생성됨', - 'gitView.pr.toast.prMerged': 'PR merge됨', - 'gitView.pr.toast.prNotMerged': 'PR이 merge되지 않음', + 'gitView.pr.toast.prMerged': 'PR이 병합되었습니다', + 'gitView.pr.toast.prNotMerged': 'PR이 병합되지 않았습니다', 'gitView.pr.toast.prUpdated': 'PR 업데이트됨', 'gitView.pr.toast.sendMessageFailed': '에이전트에 메시지 전송 실패', 'gitView.pr.toast.titleRequired': '제목 필수', @@ -641,60 +641,60 @@ export const dict: Record = { 'gitView.tabs.pr': 'PR', 'gitView.tabs.update': '업데이트', 'gitView.tabs.worktree': '워크트리', - 'gitView.toast.abortOperationFailed': 'abort operation 실패', - 'gitView.toast.appliedIdentity': 'Applied 인증 정보: {name}', - 'gitView.toast.applyIdentityFailed': 'apply 인증 정보 실패', - 'gitView.toast.branchCreatedLocally': '브랜치 생성됨 로컬ly, but 실패로 set 업스트림.', - 'gitView.toast.cannotCheckout': '브랜치를 checkout할 수 없음: {reason}', + 'gitView.toast.abortOperationFailed': '작업 중단 실패', + 'gitView.toast.appliedIdentity': '인증 정보를 적용했습니다: {name}', + 'gitView.toast.applyIdentityFailed': '작성자 정보 적용 실패', + 'gitView.toast.branchCreatedLocally': '브랜치를 로컬에 생성했지만 업스트림 설정에 실패했습니다.', + 'gitView.toast.cannotCheckout': '브랜치를 체크아웃할 수 없음: {reason}', 'gitView.toast.cannotCreateBranch': '브랜치를 생성할 수 없음: {reason}', 'gitView.toast.cannotRemoveOriginRemote': 'origin 리모트를 제거할 수 없음', 'gitView.toast.cannotRenameBranch': '브랜치 이름을 변경할 수 없음: {reason}', - 'gitView.toast.checkedOut': 'Checked out {name}', - 'gitView.toast.checkoutFailed': 'checkout {name} 실패', + 'gitView.toast.checkedOut': '{name} 브랜치를 체크아웃했습니다', + 'gitView.toast.checkoutFailed': '{name} 체크아웃 실패', 'gitView.toast.commitCreated': '커밋 생성됨', 'gitView.toast.commitHashCopied': '커밋 해시 복사됨', - 'gitView.toast.continueOperationFailed': 'continue operation 실패', - 'gitView.toast.copyFailed': 'copy 실패', - 'gitView.toast.createBranchFailed': 'create 브랜치 실패', - 'gitView.toast.createCommitFailed': 'create 커밋 실패', - 'gitView.toast.createdBranch': '생성됨 브랜치 {name}', + 'gitView.toast.continueOperationFailed': '작업 계속 진행 실패', + 'gitView.toast.copyFailed': '복사에 실패했습니다', + 'gitView.toast.createBranchFailed': '브랜치 생성에 실패했습니다', + 'gitView.toast.createCommitFailed': '커밋 생성에 실패했습니다', + 'gitView.toast.createdBranch': '{name} 브랜치를 생성했습니다', 'gitView.toast.enterCommitMessage': '커밋 메시지를 입력하세요', - 'gitView.toast.fetchedFromRemote': 'fetched에서 {name}', - 'gitView.toast.generateCommitMessageFailed': 'generate 커밋 메시지 실패', + 'gitView.toast.fetchedFromRemote': '{name}에서 가져왔습니다', + 'gitView.toast.generateCommitMessageFailed': '커밋 메시지 생성 실패', 'gitView.toast.mergeAborted': 'merge 중단됨', 'gitView.toast.mergeCompleted': 'merge 완료됨', - 'gitView.toast.mergeConflictsDetected': 'merge conflicts detected', - 'gitView.toast.mergedIntoBranch': 'merged {branch} into {currentBranch}', - 'gitView.toast.pulledFilesPlural': 'pulled {count} 파일에서 {name}', - 'gitView.toast.pulledFilesSingle': 'pulled {count} 파일에서 {name}', - 'gitView.toast.pushedToUpstream': 'pushed로 업스트림', + 'gitView.toast.mergeConflictsDetected': '병합 충돌이 감지되었습니다', + 'gitView.toast.mergedIntoBranch': '{branch}을(를) {currentBranch}에 병합했습니다', + 'gitView.toast.pulledFilesPlural': '{name}에서 파일 {count}개를 풀했습니다', + 'gitView.toast.pulledFilesSingle': '{name}에서 파일 {count}개를 풀했습니다', + 'gitView.toast.pushedToUpstream': '업스트림에 푸시했습니다', 'gitView.toast.rebaseAborted': 'rebase 중단됨', - 'gitView.toast.rebaseConflictsDetected': 'rebase conflicts detected', - 'gitView.toast.rebaseStepCompleted': 'rebase step 완료됨', - 'gitView.toast.rebasedOntoBranch': 'rebased {currentBranch} onto {branch}', - 'gitView.toast.refreshRepositoryFailed': 'refresh 레포지토리 실패', - 'gitView.toast.remoteNameRequired': '리모트 name 필수', + 'gitView.toast.rebaseConflictsDetected': '리베이스 충돌이 감지되었습니다', + 'gitView.toast.rebaseStepCompleted': '리베이스 단계 완료됨', + 'gitView.toast.rebasedOntoBranch': '{currentBranch}을(를) {branch} 위로 리베이스했습니다', + 'gitView.toast.refreshRepositoryFailed': '레포지토리 새로고침 실패', + 'gitView.toast.remoteNameRequired': '리모트 이름은 필수입니다', 'gitView.toast.removedRemote': '리모트 {name} 제거됨', 'gitView.toast.renameBranchFailed': '{oldName}에서 {newName}(으)로 이름 변경 실패', - 'gitView.toast.renamedBranch': 'Renamed {oldName}로 {newName}', - 'gitView.toast.restoreStashFailed': 'restore stash 실패', - 'gitView.toast.restoreStashManually': 'stash restored manually 필요', - 'gitView.toast.revertFailed': 'revert changes 실패', - 'gitView.toast.revertedFile': 'Reverted {path}', - 'gitView.toast.revertedFilesPlural': 'Reverted {count} 파일', - 'gitView.toast.revertedFilesSingle': 'Reverted {count} 파일', - 'gitView.toast.revertedSomePlural': 'Reverted {success} 파일, {failed} 실패', - 'gitView.toast.revertedSomeSingle': 'Reverted {success} 파일, {failed} 실패', + 'gitView.toast.renamedBranch': '{oldName} 브랜치 이름을 {newName}(으)로 변경했습니다', + 'gitView.toast.restoreStashFailed': 'stash 복원 실패', + 'gitView.toast.restoreStashManually': 'stash를 수동으로 복원해야 합니다', + 'gitView.toast.revertFailed': '변경 사항 되돌리기 실패', + 'gitView.toast.revertedFile': '{path} 되돌림', + 'gitView.toast.revertedFilesPlural': '파일 {count}개 되돌림', + 'gitView.toast.revertedFilesSingle': '파일 {count}개 되돌림', + 'gitView.toast.revertedSomePlural': '파일 {success}개 되돌림, {failed}개 실패', + 'gitView.toast.revertedSomeSingle': '파일 {success}개 되돌림, {failed}개 실패', 'gitView.toast.selectFileToCommit': '커밋할 파일을 하나 이상 선택하세요', 'gitView.toast.selectFileToDescribe': '설명할 파일을 하나 이상 선택하세요', - 'gitView.toast.stashedRestored': 'stashed changes restored', + 'gitView.toast.stashedRestored': 'stash한 변경 사항이 복원되었습니다', 'gitView.toast.syncActionFailed': '{action} 실패', - 'gitView.toast.upstreamSet': 'Set 업스트림용 {branch}로 {remote}', - 'gitView.worktree.availableInWorktreeMode': 'Available only에서 워크트리 모드', + 'gitView.toast.upstreamSet': '{branch}의 업스트림을 {remote}(으)로 설정했습니다', + 'gitView.worktree.availableInWorktreeMode': '워크트리 모드에서만 사용할 수 있습니다', 'contextPanel.mode.chat': '채팅', 'contextPanel.mode.files': '파일', - 'contextPanel.mode.diff': 'diff', - 'contextPanel.mode.plan': '플랜', + 'contextPanel.mode.diff': '변경사항', + 'contextPanel.mode.plan': '계획', 'contextPanel.mode.context': '컨텍스트', 'contextPanel.mode.preview': '미리보기', 'contextPanel.preview.actions.reload': '미리보기 새로고침', @@ -747,12 +747,12 @@ export const dict: Record = { 'header.services.shutdownDev': 'OpenChamber 종료', 'chat.messageBody.actions.openPreviewAria': '미리보기 열기', 'chat.messageBody.actions.openPreview': '미리보기 열기', - 'contextPanel.tab.closeTabAria': '{label} tab 닫기', + 'contextPanel.tab.closeTabAria': '{label} 탭 닫기', 'contextPanel.actions.collapsePanel': '접기 패널', 'contextPanel.actions.expandPanel': '펼치기 패널', - 'contextPanel.actions.closePanel': 'panel 닫기', + 'contextPanel.actions.closePanel': '패널 닫기', 'contextPanel.actions.resizePanelAria': '컨텍스트 패널 크기 조정', - 'contextPanel.iframe.sessionChatTitle': '세션 chat {sessionID}', + 'contextPanel.iframe.sessionChatTitle': '세션 채팅 {sessionID}', 'sidebarFilesTree.menu.rename': '이름 변경', 'sidebarFilesTree.menu.copyPath': '경로 복사', 'sidebarFilesTree.menu.save': '저장', @@ -834,15 +834,15 @@ export const dict: Record = { 'filesView.unsaved.description': '계속하기 전에 편집 내용을 저장할까요?', 'filesView.unsaved.saveChanges': '변경 사항 저장', 'filesView.unsaved.discard': '버리기', - 'filesView.editor.back': 'Back', + 'filesView.editor.back': '뒤로', 'filesView.editor.openFilesAria': '파일 열기', 'filesView.editor.closeFileAria': '{name} 닫기', 'filesView.editor.selectFile': '파일 선택', - 'filesView.editor.showControlsAria': '표시 편집or controls', - 'filesView.editor.controlsTitle': '편집or controls', + 'filesView.editor.showControlsAria': '편집기 컨트롤 표시', + 'filesView.editor.controlsTitle': '편집기 컨트롤', 'filesView.editor.pickFileFromTree': '트리에서 파일을 선택하세요.', 'filesView.state.loading': '로드 중…', - 'filesView.state.openingFileAtChange': '열기ing 파일 at change…', + 'filesView.state.openingFileAtChange': '변경 위치에서 파일 여는 중…', 'filesView.tree.search.placeholder': '파일 검색…', 'filesView.tree.search.clearAria': '검색 지우기', 'filesView.tree.search.searching': '검색 중…', @@ -857,7 +857,7 @@ export const dict: Record = { 'filesView.error.readFileFailed': '파일 읽기 실패', 'filesView.editor.htmlPreviewTitle': 'HTML 미리보기', 'contextUsage.aria.label': '컨텍스트 사용량', - 'contextUsage.mobile.title': '컨텍스트 Usage', + 'contextUsage.mobile.title': '컨텍스트 사용량', 'contextUsage.mobile.usedTokens': '사용한 토큰', 'contextUsage.mobile.contextLimit': '컨텍스트 한도', 'contextUsage.mobile.outputLimit': '출력 한도', @@ -868,12 +868,12 @@ export const dict: Record = { 'contextSidebar.session.untitled': '제목 없는 세션', 'contextSidebar.empty.openSession': '컨텍스트를 볼 세션을 여세요.', 'contextSidebar.section.context': '컨텍스트', - 'contextSidebar.section.lastAssistantMessage': 'Last Assistant 메시지', - 'contextSidebar.section.rawMessages': 'Raw 메시지', + 'contextSidebar.section.lastAssistantMessage': '마지막 어시스턴트 메시지', + 'contextSidebar.section.rawMessages': '원본 메시지', 'contextSidebar.context.percentUsed': '{percent}% 사용됨', 'contextSidebar.breakdown.user': '사용자', 'contextSidebar.breakdown.assistant': '어시스턴트', - 'contextSidebar.breakdown.toolCalls': 'Tool Calls', + 'contextSidebar.breakdown.toolCalls': '도구 호출', 'contextSidebar.breakdown.other': '기타', 'contextSidebar.stats.messages': '메시지', 'contextSidebar.stats.user': '사용자', @@ -892,11 +892,11 @@ export const dict: Record = { 'planView.error.saveFailed': '저장 실패', 'planView.error.previewUnavailable': '미리보기를 사용할 수 없음', 'planView.error.switchToEditMode': '문제를 수정하려면 편집 모드로 전환하세요.', - 'planView.error.writeFailed': 'Write 실패', - 'planView.error.writePlanFileFailed': 'write plan 파일 ({status}) 실패', - 'planView.actions.improvePlanAria': 'Improve plan', + 'planView.error.writeFailed': '쓰기 실패', + 'planView.error.writePlanFileFailed': '플랜 파일 쓰기 실패({status})', + 'planView.actions.improvePlanAria': '플랜 개선', 'planView.actions.improve': '개선', - 'planView.actions.implementPlanAria': 'Implement plan', + 'planView.actions.implementPlanAria': '플랜 구현', 'planView.actions.implement': '구현', 'planView.actions.sendToNewSession': '새 세션으로 보내기', 'planView.actions.sendToNewWorktreeSession': '새 워크트리 세션으로 보내기', @@ -917,16 +917,16 @@ export const dict: Record = { 'diffView.selector.viewMode': '보기 모드', 'diffView.image.original': '원본', 'diffView.image.modified': '수정됨', - 'diffView.image.new': 'New', - 'diffView.image.originalAlt': 'Original: {path}', - 'diffView.image.modifiedAlt': 'Modified: {path}', + 'diffView.image.new': '새 파일', + 'diffView.image.originalAlt': '원본: {path}', + 'diffView.image.modifiedAlt': '수정본: {path}', 'diffView.section.files': '파일', - 'diffView.state.selectSessionDirectory': 'diff를 볼 세션 디렉터리를 선택하세요', + 'diffView.state.selectSessionDirectory': '변경사항을 볼 세션 디렉터리를 선택하세요', 'diffView.state.loadingRepositoryStatus': '레포지토리 상태 로드 중…', 'diffView.state.notGitRepository': 'Git 레포지토리가 아닙니다. Git 탭에서 초기화하거나 디렉터리를 변경하세요.', 'diffView.state.cleanWorkingTree': '워킹 트리가 깨끗합니다. 표시할 변경 사항이 없습니다.', - 'diffView.state.failedToLoadDiff': 'diff 로드 실패', - 'diffView.state.loadingDiff': 'diff 로드 중…', + 'diffView.state.failedToLoadDiff': '변경사항을 불러오지 못했습니다', + 'diffView.state.loadingDiff': '변경사항 불러오는 중…', 'diffView.state.loadingChanges': '변경 사항 로드 중…', 'diffView.summary.changedFilesSingle': '파일 {count}개 변경됨', 'diffView.summary.changedFilesPlural': '파일 {count}개 변경됨', @@ -937,16 +937,16 @@ export const dict: Record = { 'diffView.actions.openFileAtFirstChangedLine': '첫 변경 줄에서 이 파일 열기', 'rightSidebar.contextNotesTodo.plan.defaultTitle': '플랜', 'rightSidebar.contextNotesTodo.empty.selectProject': '메모와 Todo를 추가할 프로젝트를 선택하세요.', - 'rightSidebar.contextNotesTodo.notes.title': 'Quick notes - {project}', + 'rightSidebar.contextNotesTodo.notes.title': '빠른 메모 - {project}', 'rightSidebar.contextNotesTodo.notes.placeholder': '컨텍스트, 리마인더, 링크를 기록하세요', 'rightSidebar.contextNotesTodo.todo.title': 'Todo', - 'rightSidebar.contextNotesTodo.todo.itemsSingle': '{count} item', - 'rightSidebar.contextNotesTodo.todo.itemsPlural': '{count} items', + 'rightSidebar.contextNotesTodo.todo.itemsSingle': '{count}개 항목', + 'rightSidebar.contextNotesTodo.todo.itemsPlural': '{count}개 항목', 'rightSidebar.contextNotesTodo.todo.clearCompleted': '완료 항목 지우기', 'rightSidebar.contextNotesTodo.todo.inputPlaceholder': 'Todo 추가', 'rightSidebar.contextNotesTodo.todo.addAria': 'Todo 추가', 'rightSidebar.contextNotesTodo.todo.empty': '아직 Todo가 없습니다. 이 프로젝트용 체크리스트를 추가해 보세요.', - 'rightSidebar.contextNotesTodo.todo.actions.markComplete': 'Mark "{text}" complete', + 'rightSidebar.contextNotesTodo.todo.actions.markComplete': '"{text}" 완료로 표시', 'rightSidebar.contextNotesTodo.todo.actions.collapse': '접기 todo "{text}"', 'rightSidebar.contextNotesTodo.todo.actions.expand': '펼치기 todo "{text}"', 'rightSidebar.contextNotesTodo.todo.actions.delete': '"{text}" 삭제', @@ -960,23 +960,23 @@ export const dict: Record = { 'rightSidebar.contextNotesTodo.plans.importFromFile': '파일에서 플랜 가져오기', 'rightSidebar.contextNotesTodo.plans.empty': '아직 저장된 플랜 없음', 'rightSidebar.contextNotesTodo.plans.deletePlan': '플랜 삭제', - 'rightSidebar.contextNotesTodo.plans.deletePlanWithTitle': 'plan "{title}" 삭제', + 'rightSidebar.contextNotesTodo.plans.deletePlanWithTitle': '플랜 "{title}" 삭제', 'rightSidebar.contextNotesTodo.sendDialog.title.newSession': '새 세션으로 보내기', - 'rightSidebar.contextNotesTodo.sendDialog.title.newWorktree': '보내기로 new 워크트리', + 'rightSidebar.contextNotesTodo.sendDialog.title.newWorktree': '새 워크트리로 보내기', 'rightSidebar.contextNotesTodo.sendDialog.variant.default': '기본값', 'rightSidebar.contextNotesTodo.sendDialog.actions.cancel': '취소', 'rightSidebar.contextNotesTodo.sendDialog.actions.send': '보내기', - 'rightSidebar.contextNotesTodo.sendDialog.actions.sending': '보내기ing', + 'rightSidebar.contextNotesTodo.sendDialog.actions.sending': '보내는 중…', 'rightSidebar.contextNotesTodo.toast.saveNotesFailed': '프로젝트 메모 저장 실패', 'rightSidebar.contextNotesTodo.toast.loadNotesFailed': '프로젝트 메모 로드 실패', 'rightSidebar.contextNotesTodo.toast.noActiveSession': '활성 세션이 선택되지 않음', 'rightSidebar.contextNotesTodo.toast.sentToCurrentSession': 'Todo를 현재 세션으로 보냄', 'rightSidebar.contextNotesTodo.toast.worktreeRequiresGitRepo': '워크트리 작업은 Git 레포지토리에서만 사용할 수 있습니다', 'rightSidebar.contextNotesTodo.toast.createSessionFailed': '세션 생성 실패', - 'rightSidebar.contextNotesTodo.toast.sentToNewSession': 'Todo sent로 new 세션', - 'rightSidebar.contextNotesTodo.toast.sentToNewWorktreeSession': 'Todo sent로 new 워크트리 세션', + 'rightSidebar.contextNotesTodo.toast.sentToNewSession': '할 일을 새 세션으로 보냈습니다', + 'rightSidebar.contextNotesTodo.toast.sentToNewWorktreeSession': '할 일을 새 워크트리 세션으로 보냈습니다', 'rightSidebar.contextNotesTodo.toast.sendTodoFailed': 'Todo 전송 실패', - 'rightSidebar.contextNotesTodo.toast.deletePlanFailed': '삭제 plan 실패', + 'rightSidebar.contextNotesTodo.toast.deletePlanFailed': '플랜 삭제 실패', 'rightSidebar.contextNotesTodo.toast.planFileEmpty': '플랜 파일이 비어 있음', 'rightSidebar.contextNotesTodo.toast.importPlanFailed': '플랜 가져오기 실패', 'rightSidebar.contextNotesTodo.toast.planImported': '플랜 가져옴', @@ -986,76 +986,76 @@ export const dict: Record = { 'inlineComment.actions.cancel': '취소', 'inlineComment.actions.save': '저장', 'inlineComment.actions.comment': '댓글', - 'inlineComment.actions.showLess': '표시 less', - 'inlineComment.actions.showMore': '표시 more', + 'inlineComment.actions.showLess': '간단히 보기', + 'inlineComment.actions.showMore': '더 보기', 'inlineComment.actions.editComment': '편집 댓글', 'inlineComment.actions.deleteComment': '댓글 삭제', 'inlineComment.toast.selectSessionToSave': '댓글을 저장할 세션을 선택하세요', 'header.github.connectedWithLogin': 'GitHub: {login}', - 'header.github.connected': 'GitHub connected', - 'header.github.avatarWithLogin': '{login} avatar', - 'header.github.avatar': 'GitHub avatar', - 'header.github.accountsTitle': 'GitHub Accounts', + 'header.github.connected': 'GitHub 연결됨', + 'header.github.avatarWithLogin': '{login} 아바타', + 'header.github.avatar': 'GitHub 아바타', + 'header.github.accountsTitle': 'GitHub 계정', 'header.services.openWithCurrent': '인스턴스, 사용량, MCP 열기(현재: {current})', 'header.services.open': '서비스, 사용량, MCP 열기', - 'header.services.tooltip.currentInstanceWithShortcuts': '현재 instance: {current} ({toggle}; next 탭 {nextTab})', - 'header.services.tooltip.servicesWithShortcuts': 'Services ({toggle}; next 탭 {nextTab})', - 'header.services.title': 'Services', - 'header.services.viewAria': 'View services', - 'header.services.closeAria': 'services 닫기', + 'header.services.tooltip.currentInstanceWithShortcuts': '현재 인스턴스: {current} ({toggle}; 다음 탭 {nextTab})', + 'header.services.tooltip.servicesWithShortcuts': '서비스 ({toggle}; 다음 탭 {nextTab})', + 'header.services.title': '서비스', + 'header.services.viewAria': '서비스 보기', + 'header.services.closeAria': '서비스 닫기', 'header.services.rateLimits': '레이트 리밋', - 'header.services.refreshRateLimitsAria': '새로고침 레이트 리밋', - 'header.services.noRateLimits': '레이트 리밋 available. 없음', - 'header.services.noRateLimitsReported': '레이트 리밋 레포지토리rted. 없음', + 'header.services.refreshRateLimitsAria': '레이트 리밋 새로고침', + 'header.services.noRateLimits': '사용 가능한 레이트 리밋이 없습니다.', + 'header.services.noRateLimitsReported': '보고된 레이트 리밋이 없습니다.', 'header.services.used': '사용됨', 'header.services.remaining': '남은 양', 'header.services.modelFamily.other': '기타', - 'header.actions.openPlanAria': 'plan 열기', - 'header.actions.planWithShortcut': 'Plan ({shortcut})', + 'header.actions.openPlanAria': '플랜 열기', + 'header.actions.planWithShortcut': '플랜 ({shortcut})', 'header.actions.terminalPanelWithShortcut': '터미널 패널 ({shortcut})', 'header.actions.toggleTerminalPanelAria': '토글 터미널 패널', 'terminalView.stream.processExitedMessage': '\r\n[Process exited{exitCodeSegment}{signalSegment}]\r\n', - 'terminalView.stream.processExitedWithCode': '와 code {exitCode}', - 'terminalView.stream.processExitedWithSignal': ' (signal {signal})', - 'terminalView.error.sessionEnded': '터미널 세션 ended', - 'terminalView.error.connectionFailed': 'Connection 실패: {message}', - 'terminalView.error.startSessionFailed': 'start 터미널 세션 실패', - 'terminalView.error.restartFailed': 'restart 터미널 실패', - 'terminalView.error.sendInputFailed': 'send input 실패', - 'terminalView.empty.noWorkingDirectory': 'working 디렉터리 available for 터미널. 없음', + 'terminalView.stream.processExitedWithCode': ', 종료 코드 {exitCode}', + 'terminalView.stream.processExitedWithSignal': ' (시그널 {signal})', + 'terminalView.error.sessionEnded': '터미널 세션이 종료되었습니다', + 'terminalView.error.connectionFailed': '연결 실패: {message}', + 'terminalView.error.startSessionFailed': '터미널 세션 시작에 실패했습니다', + 'terminalView.error.restartFailed': '터미널 재시작에 실패했습니다', + 'terminalView.error.sendInputFailed': '입력 전송에 실패했습니다', + 'terminalView.empty.noWorkingDirectory': '터미널에서 사용할 작업 디렉터리가 없습니다.', 'terminalView.empty.selectSession': '터미널을 열 세션을 선택하세요.', 'terminalView.empty.noWorkingDirectoryForSession': '이 세션에서 사용할 작업 디렉터리가 없습니다.', 'terminalView.actions.retry': '다시 시도', - 'terminalView.actions.hardRestart': 'Hard 재시작', - 'terminalView.actions.hardRestartTitle': 'Force kill 및 생성 fresh 세션', + 'terminalView.actions.hardRestart': '강제 재시작', + 'terminalView.actions.hardRestartTitle': '강제 종료 후 새 세션을 생성합니다', 'terminalView.quickKeys.escape': 'Esc', 'terminalView.quickKeys.tabAria': 'Tab', 'terminalView.quickKeys.controlLabel': 'Ctrl', - 'terminalView.quickKeys.controlModifierAria': 'Control modifier', - 'terminalView.quickKeys.commandModifierAria': '명령 modifier', - 'terminalView.quickKeys.arrowUpAria': 'Arrow up', - 'terminalView.quickKeys.arrowLeftAria': 'Arrow left', - 'terminalView.quickKeys.arrowDownAria': 'Arrow down', - 'terminalView.quickKeys.arrowRightAria': 'Arrow right', + 'terminalView.quickKeys.controlModifierAria': 'Control 수정키', + 'terminalView.quickKeys.commandModifierAria': 'Command 수정키', + 'terminalView.quickKeys.arrowUpAria': '위쪽 화살표', + 'terminalView.quickKeys.arrowLeftAria': '왼쪽 화살표', + 'terminalView.quickKeys.arrowDownAria': '아래쪽 화살표', + 'terminalView.quickKeys.arrowRightAria': '오른쪽 화살표', 'terminalView.quickKeys.enterAria': 'Enter', - 'terminalView.tabs.closeTabTitle': 'tab 닫기', - 'terminalView.tabs.newTabTitle': '새 tab', + 'terminalView.tabs.closeTabTitle': '탭 닫기', + 'terminalView.tabs.newTabTitle': '새 탭', 'terminalView.bottomDock.resizeAria': '터미널 패널 크기 조정', - 'terminalView.bottomDock.restoreTitle': 'Restore 터미널 패널 height', - 'terminalView.bottomDock.restoreAria': 'Restore 터미널 패널 height', + 'terminalView.bottomDock.restoreTitle': '터미널 패널 높이 복원', + 'terminalView.bottomDock.restoreAria': '터미널 패널 높이 복원', 'terminalView.bottomDock.expandTitle': '펼치기 터미널 패널', 'terminalView.bottomDock.expandAria': '펼치기 터미널 패널', - 'terminalView.bottomDock.closeTitle': '터미널 panel 닫기', - 'terminalView.bottomDock.closeAria': '터미널 panel 닫기', + 'terminalView.bottomDock.closeTitle': '터미널 패널 닫기', + 'terminalView.bottomDock.closeAria': '터미널 패널 닫기', 'terminalView.viewport.inputAria': '터미널 입력', 'directoryExplorerDialog.title': '프로젝트 디렉터리 추가', 'directoryExplorerDialog.description': '프로젝트로 추가할 폴더를 선택하세요.', - 'directoryExplorerDialog.toggle.showHidden': '표시 hidden', + 'directoryExplorerDialog.toggle.showHidden': '숨김 항목 표시', 'directoryExplorerDialog.pathInput.placeholder': '경로를 입력하거나 트리에서 선택…', 'directoryExplorerDialog.actions.cancel': '취소', 'directoryExplorerDialog.actions.openingFinder': '여는 중...', 'directoryExplorerDialog.actions.openInFinder': 'Finder에서 열기', - 'directoryExplorerDialog.actions.adding': 'Adding…', + 'directoryExplorerDialog.actions.adding': '추가 중…', 'directoryExplorerDialog.actions.addProject': '프로젝트 추가', 'directoryExplorerDialog.actions.createAndAdd': '생성하고 추가', 'directoryExplorerDialog.actions.alreadyAdded': '이미 추가됨', @@ -1069,42 +1069,42 @@ export const dict: Record = { 'directoryExplorerDialog.footer.add': '추가', 'directoryExplorerDialog.footer.close': '닫기', 'directoryExplorerDialog.shortcut.enter': 'Enter', - 'directoryExplorerDialog.toast.unableToAccessDirectory': 'access 디렉터리할 수 없음', - 'directoryExplorerDialog.toast.desktopDeniedAccess': 'Desktop denied 디렉터리 access.', - 'directoryExplorerDialog.toast.failedToOpenDirectory': 'open 디렉터리 실패', - 'directoryExplorerDialog.toast.desktopCouldNotGrantAccess': 'Desktop could not grant 파일 access.', + 'directoryExplorerDialog.toast.unableToAccessDirectory': '디렉터리에 접근할 수 없음', + 'directoryExplorerDialog.toast.desktopDeniedAccess': '데스크톱에서 디렉터리 접근이 거부되었습니다.', + 'directoryExplorerDialog.toast.failedToOpenDirectory': '디렉터리를 열지 못했습니다', + 'directoryExplorerDialog.toast.desktopCouldNotGrantAccess': '데스크톱에서 파일 접근 권한을 부여하지 못했습니다.', 'directoryExplorerDialog.toast.failedToAddProject': '프로젝트 추가 실패', 'directoryExplorerDialog.toast.selectValidDirectoryPath': '유효한 디렉터리 경로를 선택하세요.', 'directoryExplorerDialog.toast.failedToSelectDirectory': '디렉터리 선택 실패', - 'directoryExplorerDialog.toast.unknownError': '알 수 없음 오류 occurred.', - 'directoryTree.actions.createNewDirectory': 'new 디렉터리 생성', - 'directoryTree.actions.pinDirectory': 'Pin 디렉터리', - 'directoryTree.actions.unpinDirectory': 'Unpin 디렉터리', + 'directoryExplorerDialog.toast.unknownError': '알 수 없는 오류가 발생했습니다.', + 'directoryTree.actions.createNewDirectory': '새 디렉터리 만들기', + 'directoryTree.actions.pinDirectory': '디렉터리 고정', + 'directoryTree.actions.unpinDirectory': '디렉터리 고정 해제', 'directoryTree.actions.createDirectory': '디렉터리 생성', 'directoryTree.actions.cancel': '취소', - 'directoryTree.actions.selectWorkingDirectoryAria': 'working 디렉터리 선택', - 'directoryTree.state.locatingHomeDirectory': 'Locating home 디렉터리…', + 'directoryTree.actions.selectWorkingDirectoryAria': '작업 디렉터리 선택', + 'directoryTree.state.locatingHomeDirectory': '홈 디렉터리 찾는 중…', 'directoryTree.state.loading': '로드 중…', - 'directoryTree.state.noDirectoriesFound': 'directories 없음', + 'directoryTree.state.noDirectoriesFound': '디렉터리 없음', 'directoryTree.section.pinned': '고정됨', - 'directoryTree.section.browse': 'Browse', + 'directoryTree.section.browse': '찾아보기', 'aboutDialog.versionLabel': '버전 {version}', 'aboutDialog.tagline': '워크스페이스에서 에이전트와 함께 코딩하세요.', 'aboutDialog.actions.copyDiagnostics': '진단 정보 복사', - 'aboutDialog.actions.preparingDiagnostics': 'Preparing 진단 정보…', + 'aboutDialog.actions.preparingDiagnostics': '진단 정보 준비 중…', 'aboutDialog.actions.diagnosticsCopied': '진단 정보 복사됨', - 'aboutDialog.diagnosticsDescription': 'Includes OpenChamber state, OpenCode health, directories, 및 프로젝트.', + 'aboutDialog.diagnosticsDescription': 'OpenChamber 상태, OpenCode 상태, 디렉터리 및 프로젝트를 포함합니다.', 'aboutDialog.footerNote': '커뮤니티를 위해 정성껏 만들었습니다', 'aboutDialog.toast.copyFailed': '복사 실패', 'aboutDialog.toast.diagnosticsNotReady': '진단 정보가 아직 준비되지 않았습니다. 잠시 후 다시 시도하세요.', 'aboutDialog.toast.diagnosticsCopied': '진단 정보 복사됨', 'helpDialog.title': '키보드 단축키', 'helpDialog.description': '이 단축키로 OpenChamber를 빠르게 탐색하세요', - 'helpDialog.section.navigationCommands': 'Navigation & 명령', - 'helpDialog.section.sessionManagement': '세션 Management', + 'helpDialog.section.navigationCommands': '내비게이션 및 명령', + 'helpDialog.section.sessionManagement': '세션 관리', 'helpDialog.section.panels': '패널', 'helpDialog.section.interface': '인터페이스', - 'helpDialog.item.openCommandPalette': 'Command Palette 열기', + 'helpDialog.item.openCommandPalette': '명령 팔레트 열기', 'helpDialog.item.quickOpenFile': '빠른 파일 열기', 'helpDialog.item.showKeyboardShortcuts': '키보드 단축키 보기(이 대화상자)', 'helpDialog.item.toggleSessionSidebar': '토글 세션 사이드바', @@ -1112,124 +1112,124 @@ export const dict: Record = { 'helpDialog.item.openModelSelector': '모델 선택기 열기', 'helpDialog.item.navigateModels': '모델 이동(선택기)', 'helpDialog.item.adjustThinkingMode': '추론 모드 조정(지원되는 선택기)', - 'helpDialog.item.cycleThinkingVariant': 'Cycle Thinking Variant (global 단축키)', - 'helpDialog.item.newWindow': '새 Window (desktop only)', - 'helpDialog.item.createNewSession': 'New 세션 생성', - 'helpDialog.item.createNewWorktreeDraft': 'New 워크트리 Draft 생성', - 'helpDialog.item.focusChatInput': 'Focus Chat 입력', + 'helpDialog.item.cycleThinkingVariant': '추론 변형 순환(전역 단축키)', + 'helpDialog.item.newWindow': '새 창(데스크톱 전용)', + 'helpDialog.item.createNewSession': '새 세션 만들기', + 'helpDialog.item.createNewWorktreeDraft': '새 워크트리 드래프트 만들기', + 'helpDialog.item.focusChatInput': '채팅 입력창으로 포커스 이동', 'helpDialog.item.abortActiveRun': '활성 실행 중단(두 번 누르기)', - 'helpDialog.item.toggleRightSidebar': '토글 Right 사이드바', - 'helpDialog.item.openRightSidebarGitTab': 'Right Sidebar Git Tab 열기', - 'helpDialog.item.openRightSidebarFilesTab': 'Right Sidebar 파일 Tab 열기', - 'helpDialog.item.cycleRightSidebarTab': 'Cycle Right 사이드바 탭', - 'helpDialog.item.toggleTerminalDock': '토글 터미널 Dock', - 'helpDialog.item.toggleTerminalExpanded': '토글 터미널 펼치기ed', - 'helpDialog.item.togglePlanContextPanel': '토글 Plan 컨텍스트 패널', - 'helpDialog.item.cycleTheme': 'Cycle 테마 (Light → Dark → System)', - 'helpDialog.item.switchProject': 'Switch 프로젝트', - 'helpDialog.item.toggleServicesMenu': '토글 Services Menu', - 'helpDialog.item.cycleServicesTab': 'Cycle Services 탭', + 'helpDialog.item.toggleRightSidebar': '오른쪽 사이드바 전환', + 'helpDialog.item.openRightSidebarGitTab': '오른쪽 사이드바 Git 탭 열기', + 'helpDialog.item.openRightSidebarFilesTab': '오른쪽 사이드바 파일 탭 열기', + 'helpDialog.item.cycleRightSidebarTab': '오른쪽 사이드바 탭 순환', + 'helpDialog.item.toggleTerminalDock': '터미널 독 전환', + 'helpDialog.item.toggleTerminalExpanded': '터미널 펼치기/접기', + 'helpDialog.item.togglePlanContextPanel': '플랜 컨텍스트 패널 전환', + 'helpDialog.item.cycleTheme': '테마 순환(라이트 → 다크 → 시스템)', + 'helpDialog.item.switchProject': '프로젝트 전환', + 'helpDialog.item.toggleServicesMenu': '서비스 메뉴 전환', + 'helpDialog.item.cycleServicesTab': '서비스 탭 순환', 'helpDialog.item.openSettings': '설정 열기', 'helpDialog.keyCombiner.or': '또는', 'helpDialog.proTips.title': '팁:', - 'helpDialog.proTips.commandPalette': 'Use 명령 팔레트 ({shortcut})로 quickly access all 작업', + 'helpDialog.proTips.commandPalette': '명령 팔레트({shortcut})로 모든 작업에 빠르게 접근하세요', 'helpDialog.proTips.recentSessions': '최근 세션 5개가 명령 팔레트에 표시됩니다', 'helpDialog.proTips.themeCycling': '테마 순환은 세션 간에도 선호 설정을 기억합니다', - 'header.actions.rightSidebarWithShortcut': 'Right 사이드바 ({shortcut})', + 'header.actions.rightSidebarWithShortcut': '오른쪽 사이드바 ({shortcut})', 'header.actions.toggleRightSidebarAria': '오른쪽 사이드바 토글', 'header.actions.openSessionsWithShortcut': '세션 ({shortcut}) 열기', 'header.actions.openSessionsAria': '세션 열기', 'header.actions.closeSessionsAria': '세션 닫기', 'header.actions.newSessionAria': '새 세션', 'header.actions.newSessionWithShortcut': '새 세션 ({shortcut})', - 'header.actions.backAria': 'Back', - 'header.navigation.mainAria': '메인 navigation', + 'header.actions.backAria': '뒤로', + 'header.navigation.mainAria': '메인 내비게이션', 'header.sessions.title': '세션', - 'header.changes.availableAria': 'Changes available', - 'session.githubIssuePicker.error.noActiveProject': 'active 프로젝트 없음', - 'session.githubIssuePicker.error.runtimeUnavailable': 'GitHub run시간 API 사용할 수 없음', - 'session.githubIssuePicker.error.notConnected': 'GitHub not connected', - 'session.githubIssuePicker.error.repoNotResolvable': '레포지토리 not resolvable', + 'header.changes.availableAria': '변경사항 있음', + 'session.githubIssuePicker.error.noActiveProject': '활성 프로젝트가 없습니다', + 'session.githubIssuePicker.error.runtimeUnavailable': 'GitHub 런타임 API를 사용할 수 없습니다', + 'session.githubIssuePicker.error.notConnected': 'GitHub에 연결되어 있지 않습니다', + 'session.githubIssuePicker.error.repoNotResolvable': '저장소를 확인할 수 없습니다', 'session.githubIssuePicker.error.repoMustBeGithub': 'origin 리모트는 GitHub URL이어야 합니다', - 'session.githubIssuePicker.error.issueNotFound': '이슈 not found', - 'session.githubIssuePicker.error.noModelSelected': '모델 selected 없음', - 'session.githubIssuePicker.toast.loadMoreFailed': 'load more 이슈 실패', - 'session.githubIssuePicker.toast.loadIssueDetailsFailed': 'load 이슈 details 실패', - 'session.githubIssuePicker.toast.sendContextFailed': 'send 이슈 컨텍스트 실패', - 'session.githubIssuePicker.toast.sessionCreated': '세션 생성됨에서 이슈', - 'session.githubIssuePicker.toast.startSessionFailed': 'start 세션 실패', - 'session.githubIssuePicker.title.select': 'Link GitHub 이슈', - 'session.githubIssuePicker.title.createSession': '새 세션 From GitHub 이슈', + 'session.githubIssuePicker.error.issueNotFound': '이슈를 찾을 수 없습니다', + 'session.githubIssuePicker.error.noModelSelected': '선택된 모델이 없습니다', + 'session.githubIssuePicker.toast.loadMoreFailed': '이슈를 더 불러오지 못했습니다', + 'session.githubIssuePicker.toast.loadIssueDetailsFailed': '이슈 상세 정보를 불러오지 못했습니다', + 'session.githubIssuePicker.toast.sendContextFailed': '이슈 컨텍스트 전송에 실패했습니다', + 'session.githubIssuePicker.toast.sessionCreated': '이슈에서 세션을 생성했습니다', + 'session.githubIssuePicker.toast.startSessionFailed': '세션 시작에 실패했습니다', + 'session.githubIssuePicker.title.select': 'GitHub 이슈 연결', + 'session.githubIssuePicker.title.createSession': 'GitHub 이슈로 새 세션 만들기', 'session.githubIssuePicker.description.select': '이 세션에 연결할 이슈를 선택하세요.', 'session.githubIssuePicker.description.createSession': '제목, 본문, 라벨, 댓글을 숨겨진 이슈 컨텍스트로 새 세션에 추가합니다.', - 'session.githubIssuePicker.searchPlaceholder': '검색 by title 또는 #123, 또는 paste 이슈 URL', - 'session.githubIssuePicker.empty.noActiveProject': 'active 프로젝트 selected. 없음', - 'session.githubIssuePicker.empty.runtimeUnavailable': 'GitHub 런타임 API unavailable.', + 'session.githubIssuePicker.searchPlaceholder': '제목 또는 #123으로 검색하거나 이슈 URL을 붙여넣으세요', + 'session.githubIssuePicker.empty.noActiveProject': '선택된 활성 프로젝트가 없습니다', + 'session.githubIssuePicker.empty.runtimeUnavailable': 'GitHub 런타임 API를 사용할 수 없습니다.', 'session.githubIssuePicker.empty.notConnected': 'GitHub에 연결되지 않았습니다. 설정에서 GitHub 계정을 연결하세요.', 'session.githubIssuePicker.empty.noIssuesFound': '이슈 없음', - 'session.githubIssuePicker.empty.noOpenIssuesFound': 'open 이슈 없음', + 'session.githubIssuePicker.empty.noOpenIssuesFound': '열린 이슈가 없습니다', 'session.githubIssuePicker.loading.issues': '이슈 로드 중…', 'session.githubIssuePicker.loading.more': '로드 중…', 'session.githubIssuePicker.actions.openSettings': '설정 열기', - 'session.githubIssuePicker.actions.useIssue': 'Use 이슈 #{number}', - 'session.githubIssuePicker.actions.openInGitHubAria': 'in GitHub 열기', - 'session.githubIssuePicker.actions.loadMore': 'Load more', + 'session.githubIssuePicker.actions.useIssue': '이슈 #{number} 사용', + 'session.githubIssuePicker.actions.openInGitHubAria': 'GitHub에서 열기', + 'session.githubIssuePicker.actions.loadMore': '더 불러오기', 'session.githubIssuePicker.actions.sectionTitle': '작업', 'session.githubIssuePicker.actions.toggleWorktreeAria': '토글 워크트리', - 'session.githubIssuePicker.actions.createInWorktree': 'in 워크트리 생성', + 'session.githubIssuePicker.actions.createInWorktree': '워크트리에서 생성', 'session.githubIssuePicker.actions.openRepo': '레포지토리 열기', 'session.githubIssuePicker.actions.refresh': '새로고침', - 'session.githubPrPicker.error.noActiveProject': 'active 프로젝트 없음', - 'session.githubPrPicker.error.runtimeUnavailable': 'GitHub run시간 API 사용할 수 없음', - 'session.githubPrPicker.error.notConnected': 'GitHub not connected', - 'session.githubPrPicker.error.prNotFound': 'PR not found', - 'session.githubPrPicker.error.repoNotResolvable': '레포지토리 not resolvable', + 'session.githubPrPicker.error.noActiveProject': '활성 프로젝트가 없습니다', + 'session.githubPrPicker.error.runtimeUnavailable': 'GitHub 런타임 API를 사용할 수 없습니다', + 'session.githubPrPicker.error.notConnected': 'GitHub에 연결되어 있지 않습니다', + 'session.githubPrPicker.error.prNotFound': 'PR을 찾을 수 없습니다', + 'session.githubPrPicker.error.repoNotResolvable': '저장소를 확인할 수 없습니다', 'session.githubPrPicker.error.repoMustBeGithub': 'origin 리모트는 GitHub URL이어야 합니다', - 'session.githubPrPicker.toast.loadMoreFailed': 'load more PRs 실패', - 'session.githubPrPicker.toast.loadDetailsFailed': 'load PR details 실패', - 'session.githubPrPicker.title': 'Link GitHub PR', + 'session.githubPrPicker.toast.loadMoreFailed': 'PR을 더 불러오지 못했습니다', + 'session.githubPrPicker.toast.loadDetailsFailed': 'PR 상세 정보를 불러오지 못했습니다', + 'session.githubPrPicker.title': 'GitHub PR 연결', 'session.githubPrPicker.description': '이 메시지에 리뷰 컨텍스트로 첨부할 PR을 선택하세요.', - 'session.githubPrPicker.searchPlaceholder': '검색 by title 또는 #123, 또는 paste PR URL', - 'session.githubPrPicker.includeDiffAria': 'Include PR diff에서 첨부ed 컨텍스트', - 'session.githubPrPicker.includeDiff': 'Include PR diff', - 'session.githubPrPicker.empty.noActiveProject': 'active 프로젝트 selected. 없음', - 'session.githubPrPicker.empty.runtimeUnavailable': 'GitHub 런타임 API unavailable.', + 'session.githubPrPicker.searchPlaceholder': '제목 또는 #123으로 검색하거나 PR URL을 붙여넣으세요', + 'session.githubPrPicker.includeDiffAria': 'PR 변경사항을 첨부 컨텍스트에 포함', + 'session.githubPrPicker.includeDiff': 'PR 변경사항 포함', + 'session.githubPrPicker.empty.noActiveProject': '선택된 활성 프로젝트가 없습니다', + 'session.githubPrPicker.empty.runtimeUnavailable': 'GitHub 런타임 API를 사용할 수 없습니다.', 'session.githubPrPicker.empty.notConnected': 'GitHub에 연결되지 않았습니다. 설정에서 GitHub 계정을 연결하세요.', - 'session.githubPrPicker.empty.noPullRequestsFound': 'PRs 없음', - 'session.githubPrPicker.empty.noOpenPullRequestsFound': 'open PRs 없음', - 'session.githubPrPicker.loading.pullRequests': 'PRs 로드 중…', + 'session.githubPrPicker.empty.noPullRequestsFound': 'PR이 없습니다', + 'session.githubPrPicker.empty.noOpenPullRequestsFound': '열린 PR이 없습니다', + 'session.githubPrPicker.loading.pullRequests': 'PR 불러오는 중…', 'session.githubPrPicker.loading.more': '로드 중…', 'session.githubPrPicker.actions.openSettings': '설정 열기', - 'session.githubPrPicker.actions.usePullRequest': 'Use PR #{number}', - 'session.githubPrPicker.actions.openInGitHubAria': 'in GitHub 열기', - 'session.githubPrPicker.actions.loadMore': 'Load more', + 'session.githubPrPicker.actions.usePullRequest': 'PR #{number} 사용', + 'session.githubPrPicker.actions.openInGitHubAria': 'GitHub에서 열기', + 'session.githubPrPicker.actions.loadMore': '더 불러오기', 'session.newWorktree.title': '새 워크트리', 'session.newWorktree.mode.newBranch': '새 브랜치', - 'session.newWorktree.mode.existingBranch': 'Existing 브랜치', + 'session.newWorktree.mode.existingBranch': '기존 브랜치', 'session.newWorktree.selectBranch': '브랜치 선택', 'session.newWorktree.chooseBranch': '브랜치 선택…', - 'session.newWorktree.fetchBranches': 'fetch 브랜치es', - 'session.newWorktree.searchBranches': '브랜치es 검색…', - 'session.newWorktree.loadingBranches': '브랜치es 로드 중…', - 'session.newWorktree.noBranchesFound': '브랜치es 없음', - 'session.newWorktree.matchingBranches': 'Matching 브랜치es', - 'session.newWorktree.noMatchingBranches': 'matching 브랜치es 없음', - 'session.newWorktree.localBranches': '로컬 브랜치es', - 'session.newWorktree.remoteBranches': '리모트 브랜치es', - 'session.newWorktree.otherLocalBranches': 'Other 로컬 브랜치es', - 'session.newWorktree.otherRemoteBranches': 'Other 리모트 브랜치es', - 'session.newWorktree.branchName': '브랜치 Name', + 'session.newWorktree.fetchBranches': '브랜치 가져오기', + 'session.newWorktree.searchBranches': '브랜치 검색…', + 'session.newWorktree.loadingBranches': '브랜치 불러오는 중…', + 'session.newWorktree.noBranchesFound': '브랜치가 없습니다', + 'session.newWorktree.matchingBranches': '일치하는 브랜치', + 'session.newWorktree.noMatchingBranches': '일치하는 브랜치가 없습니다', + 'session.newWorktree.localBranches': '로컬 브랜치', + 'session.newWorktree.remoteBranches': '리모트 브랜치', + 'session.newWorktree.otherLocalBranches': '기타 로컬 브랜치', + 'session.newWorktree.otherRemoteBranches': '기타 리모트 브랜치', + 'session.newWorktree.branchName': '브랜치 이름', 'session.newWorktree.branchNamePlaceholder': 'feature/my-awesome-feature', - 'session.newWorktree.actions.change': 'Change', - 'session.newWorktree.actions.startFromGitHubIssuePr': '시작에서 GitHub 이슈/PR', - 'session.newWorktree.usingPrBranch': 'Using PR 브랜치: {branch}', - 'session.newWorktree.fromIssue': 'From 이슈 #{number}: {title}', + 'session.newWorktree.actions.change': '변경', + 'session.newWorktree.actions.startFromGitHubIssuePr': 'GitHub 이슈/PR에서 시작', + 'session.newWorktree.usingPrBranch': 'PR 브랜치 사용 중: {branch}', + 'session.newWorktree.fromIssue': '이슈 #{number}에서: {title}', 'session.newWorktree.worktreeDirectory': '워크트리 디렉터리', 'session.newWorktree.worktreeDirectoryPlaceholder': 'my-워크트리-디렉터리', - 'session.newWorktree.resetToMatchBranchName': 'Reset로 match 브랜치 name', - 'session.newWorktree.sourceBranch': 'Source 브랜치', - 'session.newWorktree.selectSourceBranch': 'Source 브랜치 선택', - 'session.newWorktree.selectSourceBranchPlaceholder': 'source 브랜치... 선택', + 'session.newWorktree.resetToMatchBranchName': '브랜치 이름에 맞게 초기화', + 'session.newWorktree.sourceBranch': '원본 브랜치', + 'session.newWorktree.selectSourceBranch': '원본 브랜치 선택', + 'session.newWorktree.selectSourceBranchPlaceholder': '원본 브랜치 선택...', 'session.newWorktree.newBranchFromSource': '{source}에서 새 브랜치가 생성됩니다', 'session.newWorktree.issueNumber': '이슈 #{number}', 'session.newWorktree.prNumber': 'PR #{number}', @@ -1240,128 +1240,128 @@ export const dict: Record = { 'session.newWorktree.actions.creating': '생성 중…', 'session.newWorktree.actions.createWorktree': '워크트리 생성', 'session.newWorktree.actions.reset': '초기화', - 'session.newWorktree.error.noModelSelected': '모델 selected 없음', - 'session.newWorktree.error.noActiveProject': 'active 프로젝트 없음', - 'session.newWorktree.error.branchNameRequired': '브랜치 name 필수', + 'session.newWorktree.error.noModelSelected': '선택된 모델이 없습니다', + 'session.newWorktree.error.noActiveProject': '활성 프로젝트가 없습니다', + 'session.newWorktree.error.branchNameRequired': '브랜치 이름은 필수입니다', 'session.newWorktree.error.worktreeDirectoryRequired': '워크트리 디렉터리 필수', - 'session.newWorktree.error.sendGitHubContextFailed': 'send GitHub 컨텍스트 실패', - 'session.newWorktree.error.createWorktreeFailed': 'create 워크트리 실패', - 'session.newWorktree.toast.sessionFromIssue': '세션 생성됨에서 이슈', - 'session.newWorktree.toast.sessionFromPr': '세션 생성됨에서 PR', - 'session.newWorktree.toast.worktreeCreated': '워크트리 생성됨', - 'session.newWorktree.toast.worktreeCreatedDescription': '{target} - bootstrapping에서 background', + 'session.newWorktree.error.sendGitHubContextFailed': 'GitHub 컨텍스트 전송에 실패했습니다', + 'session.newWorktree.error.createWorktreeFailed': '워크트리 생성에 실패했습니다', + 'session.newWorktree.toast.sessionFromIssue': '이슈에서 세션을 생성했습니다', + 'session.newWorktree.toast.sessionFromPr': 'PR에서 세션을 생성했습니다', + 'session.newWorktree.toast.worktreeCreated': '워크트리를 생성했습니다', + 'session.newWorktree.toast.worktreeCreatedDescription': '{target} - 백그라운드에서 초기 설정 중', 'session.githubIntegration.title': 'GitHub에서 선택', 'session.githubIntegration.tabs.issues': '이슈', - 'session.githubIntegration.tabs.pullRequests': 'PRs', - 'session.githubIntegration.connect.title': 'Connect로 GitHub', - 'session.githubIntegration.connect.description': 'Link 이슈 또는 PRs로 auto-fill 워크트리 상세', - 'session.githubIntegration.connect.action': 'Connect GitHub', + 'session.githubIntegration.tabs.pullRequests': 'PR', + 'session.githubIntegration.connect.title': 'GitHub에 연결', + 'session.githubIntegration.connect.description': '이슈 또는 PR을 연결해 워크트리 정보를 자동으로 채웁니다', + 'session.githubIntegration.connect.action': 'GitHub 연결', 'session.githubIntegration.search.issuesPlaceholder': '이슈 검색 또는 #123 입력…', 'session.githubIntegration.search.prsPlaceholder': 'PR 검색 또는 #456 입력…', 'session.githubIntegration.empty.noIssuesFound': '이슈 없음', - 'session.githubIntegration.empty.noPullRequestsFound': 'PRs 없음', - 'session.githubIntegration.actions.loadMore': 'Load more', + 'session.githubIntegration.empty.noPullRequestsFound': 'PR이 없습니다', + 'session.githubIntegration.actions.loadMore': '더 불러오기', 'session.githubIntegration.actions.cancel': '취소', 'session.githubIntegration.actions.select': '선택', 'session.githubIntegration.selected.issueNumber': '이슈 #{number}', 'session.githubIntegration.selected.prNumber': 'PR #{number}', - 'session.githubIntegration.includeDiffAria': 'Include PR diff에서 세션 컨텍스트', - 'session.githubIntegration.includeDiff': 'Include PR diff', - 'session.githubIntegration.error.notConnected': 'GitHub not connected', - 'session.githubIntegration.error.loadDataFailed': 'load data 실패', - 'session.githubIntegration.validation.branchAlreadyCheckedOut': '브랜치가 이미 워크트리에서 checkout되어 있습니다', - 'session.githubIntegration.validation.failed': 'Validation 실패', + 'session.githubIntegration.includeDiffAria': 'PR 변경사항을 세션 컨텍스트에 포함', + 'session.githubIntegration.includeDiff': 'PR 변경사항 포함', + 'session.githubIntegration.error.notConnected': 'GitHub에 연결되어 있지 않습니다', + 'session.githubIntegration.error.loadDataFailed': '데이터를 불러오지 못했습니다', + 'session.githubIntegration.validation.branchAlreadyCheckedOut': '브랜치가 이미 워크트리에 체크아웃되어 있습니다', + 'session.githubIntegration.validation.failed': '유효성 검사에 실패했습니다', 'chat.fileAttachment.toast.attachFailed': '첨부 파일 실패', 'chat.fileAttachment.toast.someFilesSkipped': '일부 파일을 건너뛰었습니다:\n{summary}', - 'chat.fileAttachment.toast.vscodePickFailed': 'pick 파일 in VS Code 실패', + 'chat.fileAttachment.toast.vscodePickFailed': 'VS Code에서 파일 선택에 실패했습니다', 'chat.fileAttachment.fileFallback': '파일', - 'chat.fileAttachment.skippedFallback': 'skipped', - 'chat.fileAttachment.actions.attachAria': 'Attach 파일', - 'chat.fileAttachment.actions.attach': 'Attach 파일', + 'chat.fileAttachment.skippedFallback': '건너뜀', + 'chat.fileAttachment.actions.attachAria': '파일 첨부', + 'chat.fileAttachment.actions.attach': '파일 첨부', 'chat.fileAttachment.actions.removeNamed': '{name} 제거', - 'chat.fileAttachment.actions.removeImage': 'image 제거', + 'chat.fileAttachment.actions.removeImage': '이미지 제거', 'chat.pendingChanges.fileCountSingle': '{count} 파일', 'chat.pendingChanges.fileCountPlural': '{count} 파일', - 'chat.pendingChanges.changedInWorkspace': 'changed에서 워크스페이스', - 'chat.changedFiles.title': 'Changed 파일', + 'chat.pendingChanges.changedInWorkspace': '워크스페이스에서 변경됨', + 'chat.changedFiles.title': '변경된 파일', 'chat.changedFiles.actions.openFileTitle': '{path} 열기', 'chat.emptyState.opencodeUnreachable': 'OpenCode에 연결할 수 없음', 'chat.emptyState.startNewChat': '새 채팅 시작', - 'chat.scrollToBottom.aria': 'Scroll로 bottom', + 'chat.scrollToBottom.aria': '맨 아래로 스크롤', 'chat.timeline.relative.justNow': '방금 전', 'chat.timeline.relative.minutesAgo': '{count}분 전', - 'chat.timeline.relative.hoursAgo': '{count}h ago', - 'chat.timeline.relative.daysAgo': '{count}d ago', - 'chat.timeline.title': 'Conversation Time줄', + 'chat.timeline.relative.hoursAgo': '{count}시간 전', + 'chat.timeline.relative.daysAgo': '{count}일 전', + 'chat.timeline.title': '대화 타임라인', 'chat.timeline.description': '대화의 원하는 지점으로 이동하거나 새 세션으로 분기하세요', 'chat.timeline.searchPlaceholder': '메시지 검색…', 'chat.timeline.empty.search': '메시지 없음', 'chat.timeline.empty.session': '아직 이 세션에 메시지 없음', - 'chat.timeline.noTextContent': '[No text content]', + 'chat.timeline.noTextContent': '[텍스트 내용 없음]', 'chat.timeline.actions.title': '작업', - 'chat.timeline.actions.revertFromHere': 'Revert에서 here', - 'chat.timeline.actions.forkFromHere': 'Fork에서 here', - 'chat.timeline.actions.previousTurn': 'Previous turn', - 'chat.timeline.actions.latest': 'Latest', + 'chat.timeline.actions.revertFromHere': '여기부터 되돌리기', + 'chat.timeline.actions.forkFromHere': '여기서 분기 시작', + 'chat.timeline.actions.previousTurn': '이전 턴', + 'chat.timeline.actions.latest': '최신', 'chat.timeline.help.clickMessage': '메시지를 클릭하면 대화의 해당 위치로 이동합니다', 'chat.timeline.help.undoToPoint': '이 지점으로 되돌립니다(메시지 텍스트가 입력창에 채워집니다)', 'chat.timeline.help.createSessionFromHere': '여기서 새 세션 생성', - 'chat.statusRow.todo.status.inProgress': 'In progress', + 'chat.statusRow.todo.status.inProgress': '진행 중', 'chat.statusRow.todo.status.pending': '대기 중', 'chat.statusRow.todo.status.completed': '완료됨', 'chat.statusRow.todo.status.cancelled': '취소됨', - 'chat.statusRow.todo.priority.high': 'High priority', - 'chat.statusRow.todo.priority.medium': 'Medium priority', - 'chat.statusRow.todo.priority.low': 'Low priority', - 'chat.statusRow.actions.stopGeneratingAria': '중지 generating', + 'chat.statusRow.todo.priority.high': '높은 우선순위', + 'chat.statusRow.todo.priority.medium': '중간 우선순위', + 'chat.statusRow.todo.priority.low': '낮은 우선순위', + 'chat.statusRow.actions.stopGeneratingAria': '생성 중지', 'chat.statusRow.tasksTitle': '작업', - 'chat.statusRow.summary.activeLeft': '{active} active · {left} left', + 'chat.statusRow.summary.activeLeft': '{active}개 활성 · {left}개 남음', 'chat.statusRow.aborted': '중단됨', - 'chat.errorBoundary.title': 'Chat 오류', + 'chat.errorBoundary.title': '채팅 오류', 'chat.errorBoundary.description': '채팅 인터페이스에서 오류가 발생했습니다. 일시적인 네트워크 이슈 또는 손상된 메시지 데이터 때문일 수 있습니다.', 'chat.errorBoundary.sessionLabel': '세션', 'chat.errorBoundary.detailsSummary': '오류 상세', - 'chat.errorBoundary.resetAction': 'Reset Chat', + 'chat.errorBoundary.resetAction': '채팅 초기화', 'chat.errorBoundary.persistentHint': '문제가 계속되면 페이지를 새로고침해 보세요.', 'chat.autocomplete.tabs.commands': '명령', 'chat.autocomplete.tabs.agents': '에이전트', 'chat.autocomplete.tabs.files': '파일', 'chat.autocomplete.keyboardHint': '↑↓ 이동 • Enter 선택 • Esc 닫기', - 'chat.commandAutocomplete.command.initDescription': '생성/update AGENTS.md 파일', + 'chat.commandAutocomplete.command.initDescription': 'AGENTS.md 파일 생성/업데이트', 'chat.commandAutocomplete.command.undoDescription': '마지막 메시지 실행 취소', - 'chat.commandAutocomplete.command.redoDescription': 'Redo previously undone 메시지', - 'chat.commandAutocomplete.command.compactDescription': 'Compress 세션 history using AI로 reduce 컨텍스트 size', + 'chat.commandAutocomplete.command.redoDescription': '이전에 실행 취소한 메시지 다시 실행', + 'chat.commandAutocomplete.command.compactDescription': 'AI로 세션 기록을 압축해 컨텍스트 크기를 줄입니다', 'chat.commandAutocomplete.command.summaryDescription': '세션 기록을 안전하게 요약합니다. 명령 뒤에 선택적으로 주제 힌트를 넣을 수 있습니다.', - 'chat.commandAutocomplete.command.workspaceReviewDescription': 'Review 현재 워크스페이스 changes용 high-signal 이슈 only.', + 'chat.commandAutocomplete.command.workspaceReviewDescription': '현재 워크스페이스 변경 사항에서 중요한 이슈만 리뷰합니다.', 'chat.commandAutocomplete.badge.skill': '스킬', 'chat.commandAutocomplete.badge.system': 'system', - 'chat.commandAutocomplete.empty': 'commands 없음', + 'chat.commandAutocomplete.empty': '명령 없음', 'chat.agentMentionAutocomplete.badge.system': 'system', 'chat.agentMentionAutocomplete.empty': '에이전트 없음', - 'chat.fileMentionAutocomplete.searchMoreAgents': 'Type로 검색 more 에이전트', - 'chat.fileMentionAutocomplete.empty': 'matches 없음', + 'chat.fileMentionAutocomplete.searchMoreAgents': '입력해 에이전트를 더 검색하세요', + 'chat.fileMentionAutocomplete.empty': '일치하는 항목 없음', 'chat.queuedMessage.attachments': '+{count} 파일(s)', 'chat.queuedMessage.empty': '(비어 있음)', 'chat.queuedMessage.removeAria': '큐에서 제거', - 'chat.container.returnToParent.aria': 'Return로 parent 세션', + 'chat.container.returnToParent.aria': '상위 세션으로 돌아가기', 'chat.container.returnToParent.titleNamed': '돌아가기: {title}', - 'chat.container.returnToParent.title': 'Return로 parent 세션', - 'chat.container.returnToParent.label': 'Parent', - 'chat.unifiedControls.title': 'Controls', + 'chat.container.returnToParent.title': '상위 세션으로 돌아가기', + 'chat.container.returnToParent.label': '상위', + 'chat.unifiedControls.title': '컨트롤', 'chat.unifiedControls.model.title': '모델', - 'chat.unifiedControls.model.noRecent': 'recent 모델 없음', - 'chat.unifiedControls.model.moreAria': 'More 모델', - 'chat.unifiedControls.effort.title': 'Effort', - 'chat.unifiedControls.effort.moreAria': 'More effort options', - 'chat.questionCard.summaryTab': 'Summary', - 'chat.questionCard.noAnswer': '(no answer)', - 'chat.questionCard.inputNeeded': '입력 needed', - 'chat.questionCard.fromSubagent': 'From sub에이전트', - 'chat.questionCard.questionFallback': 'Question {index}', - 'chat.questionCard.selectMultiple': 'multiple 선택', - 'chat.questionCard.recommended': 'recommended', - 'chat.questionCard.other': 'Other…', - 'chat.questionCard.yourAnswer': 'Your answer', + 'chat.unifiedControls.model.noRecent': '최근 모델 없음', + 'chat.unifiedControls.model.moreAria': '모델 더 보기', + 'chat.unifiedControls.effort.title': '추론 강도', + 'chat.unifiedControls.effort.moreAria': '추론 강도 옵션 더 보기', + 'chat.questionCard.summaryTab': '요약', + 'chat.questionCard.noAnswer': '(답변 없음)', + 'chat.questionCard.inputNeeded': '입력 필요', + 'chat.questionCard.fromSubagent': '서브 에이전트에서', + 'chat.questionCard.questionFallback': '질문 {index}', + 'chat.questionCard.selectMultiple': '여러 개 선택', + 'chat.questionCard.recommended': '추천', + 'chat.questionCard.other': '기타…', + 'chat.questionCard.yourAnswer': '내 답변', 'chat.questionCard.submit': '제출', 'chat.questionCard.next': '다음', 'chat.questionCard.dismiss': '닫기', @@ -1374,158 +1374,158 @@ export const dict: Record = { 'chat.textSelection.actions.addToNotes': '메모에 추가', 'chat.textSelection.title.addToCurrentChat': '현재 채팅에 추가', 'chat.textSelection.title.newSessionWithSelection': '선택한 내용으로 새 세션 생성', - 'chat.textSelection.title.saveInsightToNotes': '저장 distilled insight로 notes', + 'chat.textSelection.title.saveInsightToNotes': '정리된 인사이트를 메모에 저장', 'chat.messageBody.actions.revertAria': '이 메시지로 되돌리기', - 'chat.messageBody.actions.revert': 'Revert에서 here', + 'chat.messageBody.actions.revert': '여기부터 되돌리기', 'chat.messageBody.actions.forkAria': '이 메시지에서 분기', - 'chat.messageBody.actions.fork': 'Fork에서 here', + 'chat.messageBody.actions.fork': '여기서 분기 시작', 'chat.messageBody.actions.copyMessageAria': '메시지 텍스트 복사', 'chat.messageBody.actions.copyMessage': '메시지 복사', 'chat.messageBody.actions.copyAnswer': '답변 복사', - 'chat.messageBody.actions.savingImage': 'Saving 이미지…', - 'chat.messageBody.actions.saveAsImage': '저장 as 이미지', - 'chat.messageBody.actions.saveAsPlan': '저장 as plan', + 'chat.messageBody.actions.savingImage': '이미지 저장 중…', + 'chat.messageBody.actions.saveAsImage': '이미지로 저장', + 'chat.messageBody.actions.saveAsPlan': '플랜으로 저장', 'chat.messageBody.actions.startNewSession': '이 응답에서 새 세션 시작', 'chat.messageBody.actions.startNewMultiRun': '이 응답에서 새 멀티런 시작', - 'chat.messageBody.tts.stopSpeaking': '중지 speaking', - 'chat.messageBody.tts.readAloud': 'Read aloud', - 'chat.messageBody.tts.readAloudWithProvider': 'Read aloud ({provider} 음성)', + 'chat.messageBody.tts.stopSpeaking': '읽기 중지', + 'chat.messageBody.tts.readAloud': '소리 내어 읽기', + 'chat.messageBody.tts.readAloudWithProvider': '소리 내어 읽기({provider} 음성)', 'chat.messageBody.toast.noProject': '이 세션의 프로젝트를 찾을 수 없음', - 'chat.messageBody.toast.savePlanFailed': 'save plan 실패', - 'chat.messageBody.toast.planSaved': 'Plan 저장된', + 'chat.messageBody.toast.savePlanFailed': '플랜 저장 실패', + 'chat.messageBody.toast.planSaved': '플랜이 저장되었습니다', 'chat.messageBody.toast.imageSaved': '이미지 저장된', - 'chat.messageBody.toast.generateImageFailed': 'generate image 실패', + 'chat.messageBody.toast.generateImageFailed': '이미지 생성 실패', 'chat.chatInput.actions.commands': '명령', - 'chat.chatInput.actions.attachFiles': 'Attach 파일', - 'chat.chatInput.actions.addAttachment': '첨부ment 추가', - 'chat.chatInput.actions.linkGithubIssue': 'Link GitHub 이슈', - 'chat.chatInput.actions.linkGithubPr': 'Link GitHub PR', + 'chat.chatInput.actions.attachFiles': '파일 첨부', + 'chat.chatInput.actions.addAttachment': '첨부 파일 추가', + 'chat.chatInput.actions.linkGithubIssue': 'GitHub 이슈 연결', + 'chat.chatInput.actions.linkGithubPr': 'GitHub PR 연결', 'chat.chatInput.actions.modelAgentSettings': '모델 및 에이전트 설정', 'chat.chatInput.actions.sendMessageAria': '보내기 메시지', - 'chat.chatInput.actions.queueMessageAria': 'Queue 메시지', - 'chat.chatInput.actions.stopGeneratingAria': '중지 generating', - 'chat.chatInput.focusMode.toggleAria': '토글 focus 모드', - 'chat.chatInput.focusMode.label': 'Focus 모드', - 'chat.chatInput.permissionAutoAccept.disable': 'Disable 권한 auto-accept', - 'chat.chatInput.permissionAutoAccept.enable': '활성화 권한 auto-accept', - 'chat.chatInput.permissionAutoAccept.on': '권한 auto-accept: on', - 'chat.chatInput.permissionAutoAccept.off': '권한 auto-accept: off', - 'chat.chatInput.linked.byAuthor': 'by {author}', - 'chat.chatInput.linked.issue.openInBrowserAria': '이슈 in browser 열기', - 'chat.chatInput.linked.issue.removeAria': 'linked 이슈 제거', + 'chat.chatInput.actions.queueMessageAria': '메시지 대기열에 추가', + 'chat.chatInput.actions.stopGeneratingAria': '생성 중지', + 'chat.chatInput.focusMode.toggleAria': '집중 모드 전환', + 'chat.chatInput.focusMode.label': '집중 모드', + 'chat.chatInput.permissionAutoAccept.disable': '권한 자동 승인 끄기', + 'chat.chatInput.permissionAutoAccept.enable': '권한 자동 승인 켜기', + 'chat.chatInput.permissionAutoAccept.on': '권한 자동 승인: 켜짐', + 'chat.chatInput.permissionAutoAccept.off': '권한 자동 승인: 꺼짐', + 'chat.chatInput.linked.byAuthor': '작성자: {author}', + 'chat.chatInput.linked.issue.openInBrowserAria': '브라우저에서 이슈 열기', + 'chat.chatInput.linked.issue.removeAria': '연결된 이슈 제거', 'chat.chatInput.linked.pr.number': 'PR #{number}', - 'chat.chatInput.linked.pr.openInBrowserAria': 'PR in browser 열기', - 'chat.chatInput.linked.pr.removeAria': 'linked PR 제거', - 'chat.chatInput.placeholder.shell': 'Shell 명령 입력…', - 'chat.chatInput.placeholder.chat': '@용 파일/에이전트; /용 명령; !용 shell', + 'chat.chatInput.linked.pr.openInBrowserAria': '브라우저에서 PR 열기', + 'chat.chatInput.linked.pr.removeAria': '연결된 PR 제거', + 'chat.chatInput.placeholder.shell': '셸 명령 입력…', + 'chat.chatInput.placeholder.chat': '@파일/에이전트 선택, /명령 실행, !셸 명령 실행', 'chat.chatInput.placeholder.selectSession': '채팅을 시작할 세션을 선택하거나 새로 만드세요', - 'chat.chatInput.toast.compactFailed': 'compact 세션 실패', - 'chat.chatInput.toast.summaryFailed': 'generate summary 실패', - 'chat.chatInput.toast.reviewFailed': 'review changes 실패', + 'chat.chatInput.toast.compactFailed': '세션 압축 실패', + 'chat.chatInput.toast.summaryFailed': '요약 생성 실패', + 'chat.chatInput.toast.reviewFailed': '변경사항 검토 실패', 'chat.chatInput.toast.attachmentsTooLarge': '첨부 파일이 너무 커서 보낼 수 없습니다. 이미지 수나 크기를 줄여 보세요.', 'chat.chatInput.toast.sendAttachmentsFailed': '첨부 파일 전송 실패. 파일 수나 이미지 크기를 줄여 보세요.', - 'chat.chatInput.toast.messageSendFailed': '메시지 실패로 보내기. Attachments restored.', + 'chat.chatInput.toast.messageSendFailed': '메시지 전송에 실패했습니다. 첨부 파일을 복원했습니다.', 'chat.chatInput.toast.clipboardAttachFailed': '클립보드 이미지 첨부 실패', 'chat.chatInput.toast.addedFileMentions': '파일 멘션 {count}개 추가됨', 'chat.chatInput.toast.attachFileFailed': '첨부 파일 실패', 'chat.chatInput.toast.attachNamedFailed': '첨부 {name} 실패', 'chat.chatInput.toast.someFilesSkipped': '일부 파일을 건너뛰었습니다:\n{summary}', - 'chat.chatInput.toast.vscodePickFailed': 'pick 파일 in VS Code 실패', + 'chat.chatInput.toast.vscodePickFailed': 'VS Code에서 파일 선택에 실패했습니다', 'chat.chatInput.toast.openSessionFirst': '먼저 세션을 여세요', - 'chat.chatInput.toast.togglePermissionAutoAcceptFailed': 'toggle permission auto-accept 실패', - 'chat.chatInput.reviewComments': 'Review 댓글:', + 'chat.chatInput.toast.togglePermissionAutoAcceptFailed': '권한 자동 승인 전환에 실패했습니다', + 'chat.chatInput.reviewComments': '검토 댓글:', 'chat.chatInput.devServerLogs': 'Dev Server 로그:', 'chat.chatInput.devServerLogsRemove': 'Dev Server 로그 제거', 'chat.chatInput.previewAnnotations': '미리보기 주석:', 'chat.chatInput.previewContext': '미리보기 컨텍스트:', 'chat.chatInput.previewContextRemove': '미리보기 컨텍스트 제거', - 'chat.chatInput.projectRoot': '프로젝트 root', + 'chat.chatInput.projectRoot': '프로젝트 루트', 'chat.chatInput.branch': '브랜치', 'chat.chatInput.worktrees': '워크트리', - 'chat.chatInput.worktreeNew': '+ New', - 'chat.chatInput.drop.insertMention': 'Drop로 insert as mention', - 'chat.chatInput.drop.attachFiles': 'Drop 파일 here로 첨부', + 'chat.chatInput.worktreeNew': '+ 새로 만들기', + 'chat.chatInput.drop.insertMention': '여기에 놓아 멘션으로 추가', + 'chat.chatInput.drop.attachFiles': '여기에 놓아 파일 첨부', 'chat.chatInput.fileFallback': '파일', 'chat.mobileStatus.editProjects.title': '편집 프로젝트', - 'chat.mobileStatus.editProjects.footer': 'Drag items로 reorder, 또는 use arrows로 move. Tap 편집로 change 상세.', + 'chat.mobileStatus.editProjects.footer': '항목을 드래그하여 순서를 바꾸거나 화살표로 이동하세요. 세부 정보는 편집을 탭해 변경하세요.', 'chat.mobileStatus.editProjects.empty': '편집할 프로젝트 없음', 'chat.mobileStatus.projects.empty': '프로젝트 없음', 'chat.mobileStatus.projects.addAria': '프로젝트 추가', 'chat.mobileStatus.projects.removeTitle': '프로젝트 제거', - 'chat.mobileStatus.projects.removeDescriptionPrefix': 'Are you sure you want로 제거', + 'chat.mobileStatus.projects.removeDescriptionPrefix': '다음을 제거하시겠습니까:', 'chat.mobileStatus.projects.cancel': '취소', 'chat.mobileStatus.projects.remove': '제거', - 'chat.mobileStatus.new': 'New', + 'chat.mobileStatus.new': '새로 만들기', 'chat.mobileStatus.noSessionsInProject': '이 프로젝트에 세션 없음', - 'chat.mobileStatus.swipeHint': '← Swipe here로 열기 사이드바 →', + 'chat.mobileStatus.swipeHint': '← 여기서 스와이프해 사이드바 열기 →', 'chat.mobileStatus.toast.addProjectFailed': '프로젝트 추가 실패', 'chat.mobileStatus.toast.selectValidDirectory': '유효한 디렉터리를 선택하세요.', 'chat.mobileStatus.toast.selectDirectoryFailed': '디렉터리 선택 실패', - 'chat.toolOutputDialog.image.previousAria': 'Previous 이미지', + 'chat.toolOutputDialog.image.previousAria': '이전 이미지', 'chat.toolOutputDialog.image.nextAria': '다음 이미지', - 'chat.toolOutputDialog.image.closeAria': 'image preview 닫기', - 'chat.toolOutputDialog.mermaid.missingSource': 'Missing Mermaid source URL.', - 'chat.toolOutputDialog.mermaid.loadFailed': 'load Mermaid diagram.할 수 없음', - 'chat.toolOutputDialog.mermaid.closeAria': 'diagram preview 닫기', - 'chat.toolOutputDialog.mermaid.loading': 'diagram 로드 중…', - 'chat.toolOutputDialog.mermaid.renderFailed': 'render Mermaid diagram.할 수 없음', + 'chat.toolOutputDialog.image.closeAria': '이미지 미리보기 닫기', + 'chat.toolOutputDialog.mermaid.missingSource': 'Mermaid 소스 URL이 없습니다.', + 'chat.toolOutputDialog.mermaid.loadFailed': 'Mermaid 다이어그램을 불러올 수 없습니다', + 'chat.toolOutputDialog.mermaid.closeAria': '다이어그램 미리보기 닫기', + 'chat.toolOutputDialog.mermaid.loading': '다이어그램 로드 중…', + 'chat.toolOutputDialog.mermaid.renderFailed': 'Mermaid 다이어그램을 렌더링할 수 없습니다.', 'chat.toolOutputDialog.mermaid.retry': '다시 시도', - 'chat.toolOutputDialog.commandCompleted': '명령 완료됨 성공fully', + 'chat.toolOutputDialog.commandCompleted': '명령이 성공적으로 완료되었습니다', 'chat.toolOutputDialog.noOutputProduced': '출력 없음', 'chat.toolPart.lspErrors': 'LSP 오류', - 'chat.toolPart.moreErrors': '+{count} more 오류', + 'chat.toolPart.moreErrors': '+오류 {count}개 더 보기', 'chat.toolPart.error': '오류:', - 'chat.toolPart.awaitingResponse': 'Awaiting response…', - 'chat.toolPart.noOutputProduced': 'output produced 없음', + 'chat.toolPart.awaitingResponse': '응답 대기 중…', + 'chat.toolPart.noOutputProduced': '출력 없음', 'chat.toolPart.output': '출력', - 'chat.toolPart.openSubtask': '{type} subtask 열기', - 'chat.todo.total': 'Total', - 'chat.todo.inProgress': 'In Progress', + 'chat.toolPart.openSubtask': '{type} 하위 작업 열기', + 'chat.todo.total': '전체', + 'chat.todo.inProgress': '진행 중', 'chat.todo.pending': '대기 중', 'chat.todo.completed': '완료됨', 'chat.todo.cancelled': '취소됨', - 'chat.permissionCard.workingDirectory': 'Working 디렉터리:', - 'chat.permissionCard.timeout': 'Timeout:', - 'chat.permissionCard.request': 'Request:', - 'chat.permissionCard.headers': 'Headers:', - 'chat.permissionCard.body': 'Body:', + 'chat.permissionCard.workingDirectory': '작업 디렉터리:', + 'chat.permissionCard.timeout': '시간 제한:', + 'chat.permissionCard.request': '요청:', + 'chat.permissionCard.headers': '헤더:', + 'chat.permissionCard.body': '본문:', 'chat.permissionCard.action': '작업:', 'chat.permissionCard.details': '상세:', - 'chat.permissionCard.patterns': 'Patterns:', + 'chat.permissionCard.patterns': '패턴:', 'chat.permissionToast.sessionFallback': '세션', - 'chat.permissionToast.permissionFallback': 'Permission details 사용할 수 없음', + 'chat.permissionToast.permissionFallback': '권한 상세 정보를 사용할 수 없음', 'chat.permissionToast.labels.session': '세션:', 'chat.permissionToast.labels.permission': '권한:', 'chat.permissionToast.actions.once': '한 번', 'chat.permissionToast.actions.always': '항상', 'chat.permissionToast.actions.deny': '거부', - 'chat.permissionToast.actions.approveOnceAria': 'Approve 한 번', - 'chat.permissionToast.actions.approveOnceAriaWithSession': 'Approve 한 번용 {session}', - 'chat.permissionToast.actions.approveAlwaysAria': 'Approve 항상', - 'chat.permissionToast.actions.approveAlwaysAriaWithSession': 'Approve 항상용 {session}', + 'chat.permissionToast.actions.approveOnceAria': '한 번 승인', + 'chat.permissionToast.actions.approveOnceAriaWithSession': '{session}에 한 번 승인', + 'chat.permissionToast.actions.approveAlwaysAria': '항상 승인', + 'chat.permissionToast.actions.approveAlwaysAriaWithSession': '{session}에 항상 승인', 'chat.permissionToast.actions.denyAria': '거부 권한', 'chat.permissionToast.actions.denyAriaWithSession': '거부 권한용 {session}', - 'chat.permissionRequest.required': '권한 required:', + 'chat.permissionRequest.required': '필요한 권한:', 'chat.permissionRequest.actions.once': '한 번', 'chat.permissionRequest.actions.always': '항상', - 'chat.permissionRequest.actions.reject': 'Reject', + 'chat.permissionRequest.actions.reject': '거부', 'chat.modelControls.provider': '프로바이더', - 'chat.modelControls.capability.toolCalling': 'Tool calling', + 'chat.modelControls.capability.toolCalling': '도구 호출', 'chat.modelControls.capability.reasoning': '추론', - 'chat.modelControls.modality.text': 'Text', + 'chat.modelControls.modality.text': '텍스트', 'chat.modelControls.modality.image': '이미지', - 'chat.modelControls.modality.video': 'Video', - 'chat.modelControls.modality.audio': 'Audio', + 'chat.modelControls.modality.video': '비디오', + 'chat.modelControls.modality.audio': '오디오', 'chat.modelControls.modality.pdf': 'PDF', - 'chat.modelControls.capabilities': 'Capabilities', - 'chat.modelControls.modalities': 'Modalities', + 'chat.modelControls.capabilities': '기능', + 'chat.modelControls.modalities': '모달리티', 'chat.modelControls.input': '입력', 'chat.modelControls.output': '출력', 'chat.modelControls.limits': '한도', 'chat.modelControls.context': '컨텍스트', - 'chat.modelControls.metadata': 'Metadata', - 'chat.modelControls.knowledge': 'Knowledge', - 'chat.modelControls.release': 'Release', + 'chat.modelControls.metadata': '메타데이터', + 'chat.modelControls.knowledge': '지식', + 'chat.modelControls.release': '릴리스', 'chat.modelControls.mode': '모드', 'chat.modelControls.model': '모델', 'chat.modelControls.temperature': 'Temperature', @@ -1534,7 +1534,7 @@ export const dict: Record = { 'chat.modelControls.edit': '편집', 'chat.modelControls.bash': 'Bash', 'chat.modelControls.webFetch': 'WebFetch', - 'chat.modelControls.customPrompt': 'Custom 프롬프트', + 'chat.modelControls.customPrompt': '사용자 지정 프롬프트', 'chat.modelControls.selectModel': '모델 선택', 'chat.modelControls.searchProvidersOrModels': '검색 프로바이더 또는 모델', 'chat.modelControls.clearSearch': '검색 지우기', @@ -1543,10 +1543,10 @@ export const dict: Record = { 'chat.modelControls.default': '기본값', 'chat.modelControls.selectAgent': '에이전트 선택', 'chat.modelControls.costPerMillion': '비용 ($/1M 토큰)', - 'chat.modelControls.metadataUnavailable': '모델 metadata unavailable.', - 'chat.modelControls.addNewProvider': 'new 프로바이더 추가', - 'chat.modelControls.noAgentSelected': '에이전트 selected. 없음', - 'chat.modelControls.resetToDefault': 'Reset로 default', + 'chat.modelControls.metadataUnavailable': '모델 메타데이터를 사용할 수 없습니다.', + 'chat.modelControls.addNewProvider': '새 프로바이더 추가', + 'chat.modelControls.noAgentSelected': '선택된 에이전트가 없습니다', + 'chat.modelControls.resetToDefault': '기본값으로 초기화', 'chat.modelControls.searchModels': '모델 검색', 'chat.modelControls.searchAgents': '검색 에이전트', 'chat.modelControls.noModelsFound': '모델 없음', @@ -1554,209 +1554,209 @@ export const dict: Record = { 'chat.modelControls.recent': '최근', 'chat.modelControls.addToFavorites': '즐겨찾기에 추가', 'chat.modelControls.removeFromFavorites': '즐겨찾기에서 제거', - 'chat.modelControls.favoriteAria': 'Favorite', - 'chat.modelControls.unfavoriteAria': 'Unfavorite', + 'chat.modelControls.favoriteAria': '즐겨찾기 추가', + 'chat.modelControls.unfavoriteAria': '즐겨찾기 제거', 'chat.modelControls.collapseProvider': '접기 프로바이더', 'chat.modelControls.expandProvider': '펼치기 프로바이더', 'chat.modelControls.keyboardHint': '↑↓ 이동 {thinking} • Enter 선택 • Esc 닫기', 'chat.modelControls.keyboardHintNavigate': '↑↓ 이동', 'chat.modelControls.keyboardHintSwitchAgent': 'Tab 에이전트 전환', - 'chat.modelControls.keyboardHintThinking': '←→ thinking', + 'chat.modelControls.keyboardHintThinking': '←→ 추론', 'chat.modelControls.showThinkingModes': '추론 모드 표시', 'chat.modelControls.hideThinkingModes': '추론 모드 숨기기', 'chat.modelControls.moreThinkingModes': '추론 모드 더 보기', 'chat.modelControls.noProvidersOrModelsFound': '검색과 일치하는 프로바이더 또는 모델이 없습니다.', 'chat.modelControls.reorderFavoriteAria': '즐겨찾기 순서 변경', 'chat.modelControls.reorderFavoriteTitle': '드래그하여 즐겨찾기 순서 변경', - 'chat.modelControls.permissionLabel.custom': 'Custom', + 'chat.modelControls.permissionLabel.custom': '사용자 지정', 'chat.modelControls.permissionLabel.allow': '허용', 'chat.modelControls.permissionLabel.deny': '거부', 'chat.modelControls.permissionLabel.ask': '묻기', 'chat.modelControls.modeValue.primary': 'Primary', - 'chat.modelControls.modeValue.subagent': 'Sub에이전트', - 'chat.modelControls.modeValue.all': 'All', + 'chat.modelControls.modeValue.subagent': '서브 에이전트', + 'chat.modelControls.modeValue.all': '전체', 'chat.modelControls.modeValue.none': '—', - 'chat.messageBody.subtask.title': 'Delegated 작업', + 'chat.messageBody.subtask.title': '위임된 작업', 'chat.messageBody.subtask.hidePrompt': '숨기기 프롬프트', 'chat.messageBody.subtask.showPrompt': '표시 프롬프트', - 'chat.messageBody.subtask.openSession': 'subtask 세션 열기', + 'chat.messageBody.subtask.openSession': '하위 작업 세션 열기', 'chat.messageBody.shellCommand.title': 'Shell 명령', 'chat.messageBody.shellCommand.hideOutput': '숨기기 출력', 'chat.messageBody.shellCommand.showOutput': '표시 출력', 'chat.messageBody.shellCommand.copied': '복사됨', 'chat.messageBody.shellCommand.copyOutput': '출력 복사', 'commandPalette.input.placeholder': '명령 입력 또는 검색…', - 'commandPalette.empty.noResults': 'results found. 없음', + 'commandPalette.empty.noResults': '결과 없음', 'commandPalette.section.sessions': '세션', - 'commandPalette.section.view': 'View', + 'commandPalette.section.view': '보기', 'commandPalette.section.theme': '테마', 'commandPalette.section.settings': '설정', - 'commandPalette.section.recentSessions': 'Recent 세션', - 'commandPalette.item.quickOpen': 'Quick 열기', + 'commandPalette.section.recentSessions': '최근 세션', + 'commandPalette.item.quickOpen': '빠른 열기', 'commandPalette.item.newSession': '새 세션', - 'commandPalette.item.newWorktreeDraft': '새 워크트리 Draft', - 'commandPalette.item.showSessionSwitcher': '표시 세션 Switcher', + 'commandPalette.item.newWorktreeDraft': '새 워크트리 드래프트', + 'commandPalette.item.showSessionSwitcher': '세션 전환기 표시', 'commandPalette.item.toggleSidebar': '토글 사이드바', - 'commandPalette.item.toggleRightSidebar': '토글 Right 사이드바', - 'commandPalette.item.showGitRightSidebar': '표시 Git에서 Right 사이드바', - 'commandPalette.item.showFilesRightSidebar': '표시 파일에서 Right 사이드바', - 'commandPalette.item.showContextUsage': '표시 컨텍스트 Usage', - 'commandPalette.item.showPlan': '표시 Plan', + 'commandPalette.item.toggleRightSidebar': '오른쪽 사이드바 전환', + 'commandPalette.item.showGitRightSidebar': '오른쪽 사이드바에 Git 표시', + 'commandPalette.item.showFilesRightSidebar': '오른쪽 사이드바에 파일 표시', + 'commandPalette.item.showContextUsage': '컨텍스트 사용량 표시', + 'commandPalette.item.showPlan': '플랜 표시', 'commandPalette.item.toggleTerminal': '토글 터미널', 'commandPalette.item.collapseTerminal': '접기 터미널', 'commandPalette.item.expandTerminal': '펼치기 터미널', 'commandPalette.item.keyboardShortcuts': '키보드 단축키', - 'commandPalette.item.themeLight': 'Light', - 'commandPalette.item.themeDark': 'Dark', - 'commandPalette.item.themeSystem': 'System', + 'commandPalette.item.themeLight': '라이트', + 'commandPalette.item.themeDark': '다크', + 'commandPalette.item.themeSystem': '시스템', 'commandPalette.item.openSettings': '설정... 열기', 'commandPalette.session.untitled': '제목 없는 세션', - 'commandPalette.settingsGroup.appearance': 'Appearance', + 'commandPalette.settingsGroup.appearance': '외관', 'commandPalette.settingsGroup.projects': '프로젝트', - 'commandPalette.settingsGroup.general': 'General', + 'commandPalette.settingsGroup.general': '일반', 'commandPalette.settingsGroup.opencode': 'OpenChamber', 'commandPalette.settingsGroup.git': 'Git', 'commandPalette.settingsGroup.skills': '스킬', 'commandPalette.settingsGroup.usage': '사용량', - 'commandPalette.settingsGroup.advanced': 'Advanced', - 'commandPalette.settingsPage.home': 'Home', + 'commandPalette.settingsGroup.advanced': '고급', + 'commandPalette.settingsPage.home': '홈', 'commandPalette.settingsPage.projects': '프로젝트', - 'commandPalette.settingsPage.remoteInstances': '리모트 Instances', + 'commandPalette.settingsPage.remoteInstances': '원격 인스턴스', 'commandPalette.settingsPage.providers': '프로바이더', 'commandPalette.settingsPage.usage': '사용량', 'commandPalette.settingsPage.agents': '에이전트', 'commandPalette.settingsPage.commands': '명령', 'commandPalette.settingsPage.mcp': 'MCP', - 'commandPalette.settingsPage.skillsInstalled': 'Installed 스킬', + 'commandPalette.settingsPage.skillsInstalled': '설치된 스킬', 'commandPalette.settingsPage.skillsCatalog': '스킬 카탈로그', 'commandPalette.settingsPage.git': 'Git', - 'commandPalette.settingsPage.appearance': 'Appearance', + 'commandPalette.settingsPage.appearance': '외관', 'commandPalette.settingsPage.chat': '채팅', 'commandPalette.settingsPage.shortcuts': '키보드 단축키', 'commandPalette.settingsPage.sessions': '세션', 'commandPalette.settingsPage.magicPrompts': 'Magic 프롬프트', - 'commandPalette.settingsPage.notifications': 'Notifications', + 'commandPalette.settingsPage.notifications': '알림', 'commandPalette.settingsPage.voice': '음성', 'commandPalette.settingsPage.tunnel': '리모트 터널', - 'quickOpenDialog.title': 'Quick 열기', + 'quickOpenDialog.title': '빠른 열기', 'quickOpenDialog.description': '현재 프로젝트에서 파일을 빠르게 여세요.', 'quickOpenDialog.input.placeholder': '파일 검색…', 'quickOpenDialog.empty.openProjectFirst': '먼저 프로젝트를 여세요', - 'quickOpenDialog.empty.searchingFiles': '검색ing 파일…', - 'quickOpenDialog.empty.noMatchingFiles': 'matching 파일 없음', - 'quickOpenDialog.empty.noMatchingRecentFiles': 'recent 파일 없음', + 'quickOpenDialog.empty.searchingFiles': '파일 검색 중…', + 'quickOpenDialog.empty.noMatchingFiles': '일치하는 파일이 없습니다', + 'quickOpenDialog.empty.noMatchingRecentFiles': '최근 파일이 없습니다', 'quickOpenDialog.group.files': '파일', - 'quickOpenDialog.group.recentFiles': 'Recent 파일', - 'openCodeStatusDialog.title': 'OpenCode Status', - 'openCodeStatusDialog.description': 'Inspect 현재 OpenCode status 및 진단 정보.', + 'quickOpenDialog.group.recentFiles': '최근 파일', + 'openCodeStatusDialog.title': 'OpenCode 상태', + 'openCodeStatusDialog.description': '현재 OpenCode 상태와 진단 정보를 확인합니다.', 'openCodeStatusDialog.actions.copy': '복사', - 'openCodeStatusDialog.empty.noData': 'data. 없음', + 'openCodeStatusDialog.empty.noData': '데이터가 없습니다', 'openCodeStatusDialog.toast.copiedTitle': '복사됨', - 'openCodeStatusDialog.toast.copiedDescription': 'Status copied로 clipboard', - 'openCodeStatusDialog.toast.copyFailed': 'copy status 실패', - 'saveProjectPlanDialog.title': '저장 프로젝트 Plan', + 'openCodeStatusDialog.toast.copiedDescription': '상태를 클립보드에 복사했습니다', + 'openCodeStatusDialog.toast.copyFailed': '상태 복사에 실패했습니다', + 'saveProjectPlanDialog.title': '프로젝트 계획 저장', 'saveProjectPlanDialog.description': '이 플랜을 프로젝트에 Markdown 파일로 저장합니다.', 'saveProjectPlanDialog.field.title': '제목', - 'saveProjectPlanDialog.field.titlePlaceholder': 'Plan title', - 'saveProjectPlanDialog.field.contentPreview': 'Content 미리보기', + 'saveProjectPlanDialog.field.titlePlaceholder': '계획 제목', + 'saveProjectPlanDialog.field.contentPreview': '내용 미리보기', 'saveProjectPlanDialog.actions.cancel': '취소', 'saveProjectPlanDialog.actions.save': '저장', 'saveProjectPlanDialog.actions.saving': '저장 중…', - 'branchPickerDialog.title': '브랜치 Picker', - 'branchPickerDialog.description.localBranchesForProject': '로컬 브랜치es용 {project}', + 'branchPickerDialog.title': '브랜치 선택기', + 'branchPickerDialog.description.localBranchesForProject': '{project}의 로컬 브랜치', 'branchPickerDialog.description.selectProject': '브랜치를 볼 프로젝트를 선택하세요', - 'branchPickerDialog.search.placeholder': '브랜치es 검색…', - 'branchPickerDialog.search.renameBranchPlaceholder': 'Rename 브랜치', - 'branchPickerDialog.state.noProjectSelected': '프로젝트 selected 없음', - 'branchPickerDialog.state.loadingBranches': '브랜치es 로드 중…', - 'branchPickerDialog.state.noMatchingBranches': 'matching 브랜치es 없음', - 'branchPickerDialog.state.noBranchesFound': '브랜치es 없음', + 'branchPickerDialog.search.placeholder': '브랜치 검색…', + 'branchPickerDialog.search.renameBranchPlaceholder': '브랜치 이름 변경', + 'branchPickerDialog.state.noProjectSelected': '선택된 프로젝트가 없습니다', + 'branchPickerDialog.state.loadingBranches': '브랜치 불러오는 중…', + 'branchPickerDialog.state.noMatchingBranches': '일치하는 브랜치가 없습니다', + 'branchPickerDialog.state.noBranchesFound': '브랜치가 없습니다', 'branchPickerDialog.badge.head': 'HEAD', 'branchPickerDialog.badge.worktree': '워크트리', 'branchPickerDialog.actions.createWorktreeAria': '브랜치에서 워크트리 생성', - 'branchPickerDialog.actions.renameAria': 'Rename 브랜치', + 'branchPickerDialog.actions.renameAria': '브랜치 이름 변경', 'branchPickerDialog.actions.deleteAria': '브랜치 삭제', 'branchPickerDialog.actions.deleteWorktreeAria': '워크트리 제거', - 'branchPickerDialog.actions.confirmRenameAria': '확인 rename', - 'branchPickerDialog.actions.cancelRenameAria': '취소 rename', + 'branchPickerDialog.actions.confirmRenameAria': '이름 변경 확인', + 'branchPickerDialog.actions.cancelRenameAria': '이름 변경 취소', 'branchPickerDialog.actions.confirmDeleteAria': '확인 삭제 브랜치', 'branchPickerDialog.actions.cancelDeleteAria': '취소 삭제 브랜치', 'branchPickerDialog.actions.deletePrompt': '삭제', - 'branchPickerDialog.actions.forceDeletePrompt': 'Force 삭제', + 'branchPickerDialog.actions.forceDeletePrompt': '강제 삭제', 'branchPickerDialog.tooltip.createWorktree': '워크트리 생성', - 'branchPickerDialog.tooltip.worktreeAlreadyExists': '워크트리 al준비됨 exists', - 'branchPickerDialog.tooltip.rename': 'Rename 브랜치', + 'branchPickerDialog.tooltip.worktreeAlreadyExists': '워크트리가 이미 존재합니다', + 'branchPickerDialog.tooltip.rename': '브랜치 이름 변경', 'branchPickerDialog.tooltip.renameDisabledForRoot': '루트 브랜치는 이름을 바꿀 수 없음', 'branchPickerDialog.tooltip.delete': '브랜치 삭제', 'branchPickerDialog.tooltip.deleteCurrentBranch': '현재 브랜치는 삭제할 수 없음', 'branchPickerDialog.tooltip.deleteDisabledForRoot': '루트 브랜치는 삭제할 수 없음', 'branchPickerDialog.tooltip.deleteWorktree': '워크트리 제거', 'branchPickerDialog.tooltip.deleteWorktreeRootProtected': '루트 워크트리는 제거할 수 없음', - 'branchPickerDialog.toast.branchRenamed': '브랜치 renamed', - 'branchPickerDialog.toast.failedToRenameBranch': 'rename 브랜치 실패', + 'branchPickerDialog.toast.branchRenamed': '브랜치 이름이 변경되었습니다', + 'branchPickerDialog.toast.failedToRenameBranch': '브랜치 이름 변경에 실패했습니다', 'branchPickerDialog.toast.branchDeleted': '브랜치 삭제됨', - 'branchPickerDialog.toast.branchNotMerged': '브랜치가 아직 완전히 merge되지 않았습니다', - 'branchPickerDialog.toast.confirmAgainToForceDelete': '확인 again로 force 삭제', + 'branchPickerDialog.toast.branchNotMerged': '브랜치가 아직 완전히 병합되지 않았습니다', + 'branchPickerDialog.toast.confirmAgainToForceDelete': '강제 삭제하려면 다시 확인하세요', 'branchPickerDialog.toast.failedToDeleteBranch': '삭제 브랜치 실패', 'branchPickerDialog.toast.worktreeCreated': '워크트리 생성됨', - 'branchPickerDialog.toast.failedToCreateWorktree': 'create 워크트리 실패', - 'branchPickerDialog.error.failedToLoad': 'load 브랜치es 실패', + 'branchPickerDialog.toast.failedToCreateWorktree': '워크트리 생성에 실패했습니다', + 'branchPickerDialog.error.failedToLoad': '브랜치를 불러오지 못했습니다', 'branchPickerDialog.error.renameRejected': '이름 변경이 거부되었습니다', - 'branchPickerDialog.error.renameFailed': 'rename 브랜치 실패', + 'branchPickerDialog.error.renameFailed': '브랜치 이름 변경에 실패했습니다', 'branchPickerDialog.error.deleteRejected': '삭제가 거부되었습니다', 'branchPickerDialog.error.deleteFailed': '삭제 브랜치 실패', - 'branchPickerDialog.error.createWorktreeFailed': 'create 워크트리 실패', + 'branchPickerDialog.error.createWorktreeFailed': '워크트리 생성에 실패했습니다', 'projectEditDialog.title': '편집 프로젝트', 'projectEditDialog.field.name': '이름', - 'projectEditDialog.field.namePlaceholder': '프로젝트 name', - 'projectEditDialog.field.color': 'Color', - 'projectEditDialog.field.icon': 'Icon', + 'projectEditDialog.field.namePlaceholder': '프로젝트 이름', + 'projectEditDialog.field.color': '색상', + 'projectEditDialog.field.icon': '아이콘', 'projectEditDialog.field.preview': '미리보기', - 'projectEditDialog.field.iconBackground': 'Icon Background', - 'projectEditDialog.field.iconBackgroundAria': '프로젝트 icon background color', - 'projectEditDialog.option.none': 'None', - 'projectEditDialog.actions.uploadIcon': 'Upload Icon', - 'projectEditDialog.actions.uploading': 'Uploading…', - 'projectEditDialog.actions.discoverFavicon': 'Discover Favicon', - 'projectEditDialog.actions.discovering': 'Discovering…', - 'projectEditDialog.actions.removeProjectIcon': '프로젝트 Icon 제거', + 'projectEditDialog.field.iconBackground': '아이콘 배경', + 'projectEditDialog.field.iconBackgroundAria': '프로젝트 아이콘 배경색', + 'projectEditDialog.option.none': '없음', + 'projectEditDialog.actions.uploadIcon': '아이콘 업로드', + 'projectEditDialog.actions.uploading': '업로드 중…', + 'projectEditDialog.actions.discoverFavicon': '파비콘 찾기', + 'projectEditDialog.actions.discovering': '찾는 중…', + 'projectEditDialog.actions.removeProjectIcon': '프로젝트 아이콘 제거', 'projectEditDialog.actions.removing': '제거 중…', - 'projectEditDialog.actions.undoRemove': 'Undo 제거', - 'projectEditDialog.actions.clear': 'Clear', + 'projectEditDialog.actions.undoRemove': '제거 취소', + 'projectEditDialog.actions.clear': '지우기', 'projectEditDialog.actions.cancel': '취소', 'projectEditDialog.actions.save': '저장', - 'projectEditDialog.toast.failedToUploadIcon': 'upload 프로젝트 icon 실패', - 'projectEditDialog.toast.iconUpdated': '프로젝트 icon 업데이트됨', - 'projectEditDialog.toast.failedToRemoveIcon': 'remove 프로젝트 icon 실패', + 'projectEditDialog.toast.failedToUploadIcon': '프로젝트 아이콘 업로드 실패', + 'projectEditDialog.toast.iconUpdated': '프로젝트 아이콘이 업데이트되었습니다', + 'projectEditDialog.toast.failedToRemoveIcon': '프로젝트 아이콘 제거 실패', 'projectEditDialog.toast.iconRemoved': '프로젝트 아이콘 제거됨', - 'projectEditDialog.toast.failedToDiscoverIcon': 'discover 프로젝트 icon 실패', + 'projectEditDialog.toast.failedToDiscoverIcon': '프로젝트 아이콘 찾기 실패', 'projectEditDialog.toast.customIconAlreadySet': '이 프로젝트에는 이미 사용자 지정 아이콘이 설정되어 있습니다', - 'projectEditDialog.toast.iconDiscovered': '프로젝트 icon discovered', - 'agentManager.sidebar.search.placeholder': '에이전트 Groups 검색…', - 'agentManager.sidebar.actions.newAgentGroup': '새 에이전트 Group', - 'agentManager.sidebar.actions.more': '… More ({count})', - 'agentManager.sidebar.actions.showLess': '표시 less', - 'agentManager.sidebar.section.agentGroups': '에이전트 Groups', + 'projectEditDialog.toast.iconDiscovered': '프로젝트 아이콘을 찾았습니다', + 'agentManager.sidebar.search.placeholder': '에이전트 그룹 검색…', + 'agentManager.sidebar.actions.newAgentGroup': '새 에이전트 그룹', + 'agentManager.sidebar.actions.more': '… 더 보기({count})', + 'agentManager.sidebar.actions.showLess': '간단히 보기', + 'agentManager.sidebar.section.agentGroups': '에이전트 그룹', 'agentManager.sidebar.state.loading': '로드 중…', - 'agentManager.sidebar.state.noGroupsFound': 'groups 없음', - 'agentManager.sidebar.state.noGroupsYet': '에이전트 groups yet 없음', + 'agentManager.sidebar.state.noGroupsFound': '에이전트 그룹 없음', + 'agentManager.sidebar.state.noGroupsYet': '아직 에이전트 그룹 없음', 'agentManager.sidebar.state.createToGetStarted': '시작하려면 새 에이전트 그룹을 만드세요', 'agentManager.sidebar.item.modelCountSingle': '{count} 모델', 'agentManager.sidebar.item.modelCountPlural': '{count} 모델', - 'agentManager.sidebar.item.groupMenuAria': 'Group menu', + 'agentManager.sidebar.item.groupMenuAria': '그룹 메뉴', 'agentManager.sidebar.item.delete': '삭제', - 'agentManager.sidebar.relativeTime.now': 'now', + 'agentManager.sidebar.relativeTime.now': '지금', 'agentManager.sidebar.relativeTime.minutes': '{count}m', 'agentManager.sidebar.relativeTime.hours': '{count}h', 'agentManager.sidebar.relativeTime.days': '{count}d', - 'agentManager.sidebar.dialog.deleteGroupTitle': '에이전트 group 삭제', + 'agentManager.sidebar.dialog.deleteGroupTitle': '에이전트 그룹 삭제', 'agentManager.sidebar.dialog.deleteGroupDescription': '"{group}"을(를) 삭제할까요? 이 그룹의 모든 워크트리와 세션이 제거됩니다.', 'agentManager.sidebar.dialog.cancel': '취소', 'agentManager.sidebar.dialog.delete': '삭제', - 'agentManager.sidebar.dialog.deleting': 'Deleting…', - 'agentManager.sidebar.toast.deletingGroup': 'Deleting "{group}"…', + 'agentManager.sidebar.dialog.deleting': '삭제 중…', + 'agentManager.sidebar.toast.deletingGroup': '"{group}" 삭제 중…', 'agentManager.sidebar.toast.deletedGroup': '삭제됨 "{group}"', - 'agentManager.sidebar.toast.failedToDeleteGroup': 'fully 삭제 "{group}" 실패', + 'agentManager.sidebar.toast.failedToDeleteGroup': '"{group}" 삭제 실패', 'agentManager.detail.header.modelCountSingle': '{count} 모델', 'agentManager.detail.header.modelCountPlural': '{count} 모델', 'agentManager.detail.header.noBranch': '브랜치 없음', @@ -1787,10 +1787,10 @@ export const dict: Record = { 'agentManager.empty.groupName.placeholder': '예: feature-auth, bugfix-login', 'agentManager.empty.groupName.description': '워크트리 디렉터리와 브랜치 이름에 사용됩니다', 'agentManager.empty.baseBranch.label': '베이스 브랜치', - 'agentManager.empty.baseBranch.description': '생성 new 브랜치es에서 {branch}', + 'agentManager.empty.baseBranch.description': '{branch}에서 새 브랜치를 생성', 'agentManager.empty.setupCommands.label': '셋업 명령', - 'agentManager.empty.setupCommands.configured': '{count} configured', - 'agentManager.empty.setupCommands.description': '명령 실행에서 each new 워크트리. Use $ROOT_PROJECT_PATH용 프로젝트 root.', + 'agentManager.empty.setupCommands.configured': '{count}개 설정됨', + 'agentManager.empty.setupCommands.description': '각 새 워크트리에서 실행할 명령입니다. 프로젝트 루트에는 $ROOT_PROJECT_PATH를 사용하세요.', 'agentManager.empty.setupCommands.loading': '로드 중…', 'agentManager.empty.setupCommands.commandPlaceholder': '예: bun install', 'agentManager.empty.setupCommands.removeCommandAria': '명령 제거', @@ -1799,180 +1799,180 @@ export const dict: Record = { 'agentManager.empty.agent.description': '설정된 기본 에이전트를 사용합니다', 'agentManager.empty.models.label': '모델', 'agentManager.empty.models.addModel': '모델 추가', - 'agentManager.empty.models.selectedSingle': '{count} 모델 선택ed', - 'agentManager.empty.models.selectedPlural': '{count} 모델 선택ed', + 'agentManager.empty.models.selectedSingle': '모델 {count}개 선택됨', + 'agentManager.empty.models.selectedPlural': '모델 {count}개 선택됨', 'agentManager.empty.prompt.label': '프롬프트', 'agentManager.empty.prompt.placeholder': '무엇이든 물어보세요…', - 'agentManager.empty.prompt.addAttachmentAria': '첨부ment 추가', - 'agentManager.empty.actions.startAgentGroupAria': '시작 에이전트 Group', + 'agentManager.empty.prompt.addAttachmentAria': '첨부 파일 추가', + 'agentManager.empty.actions.startAgentGroupAria': '에이전트 그룹 시작', 'agentManager.empty.toast.fileTooLarge': '파일 "{fileName}"이 너무 큽니다(최대 10MB)', 'agentManager.empty.toast.failedToAttach': '첨부 "{fileName}" 실패', 'agentManager.empty.toast.attachedSingle': '첨부됨 {count} 파일', 'agentManager.empty.toast.attachedPlural': '첨부됨 {count} 파일', - 'agentManager.empty.toast.failedToCreateGroup': 'create 에이전트 group 실패', + 'agentManager.empty.toast.failedToCreateGroup': '에이전트 그룹 생성에 실패했습니다', 'openInApp.actions.open': '열기', - 'openInApp.actions.openInAria': 'in {app} 열기', - 'openInApp.actions.chooseAppAria': '선택 app로 열기', + 'openInApp.actions.openInAria': '{app}에서 열기', + 'openInApp.actions.chooseAppAria': '열 앱 선택', 'openInApp.actions.copyPath': '경로 복사', 'openInApp.actions.refreshApps': '앱 새로고침', - 'openInApp.toast.pathCopied': '경로 copied로 clipboard', - 'projectActions.actions.addActionAria': 'action 추가', - 'projectActions.actions.addAction': 'action 추가', - 'projectActions.actions.addNewAction': 'new action 추가', + 'openInApp.toast.pathCopied': '경로를 클립보드에 복사했습니다', + 'projectActions.actions.addActionAria': '작업 추가', + 'projectActions.actions.addAction': '작업 추가', + 'projectActions.actions.addNewAction': '새 작업 추가', 'projectActions.actions.autoDiscover': '자동 검색', - 'projectActions.actions.chooseActionAria': '선택 프로젝트 작업', - 'projectActions.actions.openPreview': 'Preview 열기', + 'projectActions.actions.chooseActionAria': '프로젝트 작업 선택', + 'projectActions.actions.openPreview': '미리보기 열기', 'projectActions.actions.runNamedAria': '실행 {name}', 'projectActions.actions.stopNamedAria': '중지 {name}', 'projectActions.label.fallbackAction': '작업', - 'projectActions.toast.openedUrlFromOutput': '열기ed URL에서 작업 출력', - 'projectActions.toast.openedForwardedUrl': '열기ed forwarded URL', - 'projectActions.toast.openedActionUrl': '열기ed 작업 URL', - 'projectActions.error.noActiveDirectory': 'active 디렉터리 없음', - 'projectActions.error.noActiveDirectoryForAction': 'active 디렉터리 for action 없음', - 'projectActions.error.failedToCreateTerminalSession': 'create 터미널 세션 실패', - 'projectActions.error.invalidCustomUrlFormat': '유효하지 않은 custom URL format', + 'projectActions.toast.openedUrlFromOutput': '작업 출력에서 URL을 열었습니다', + 'projectActions.toast.openedForwardedUrl': '포워딩된 URL을 열었습니다', + 'projectActions.toast.openedActionUrl': '작업 URL을 열었습니다', + 'projectActions.error.noActiveDirectory': '활성 디렉터리가 없습니다', + 'projectActions.error.noActiveDirectoryForAction': '작업을 실행할 활성 디렉터리가 없습니다', + 'projectActions.error.failedToCreateTerminalSession': '터미널 세션 생성에 실패했습니다', + 'projectActions.error.invalidCustomUrlFormat': '사용자 지정 URL 형식이 올바르지 않습니다', 'projectActions.error.selectedDesktopSshForwardUnavailable': '선택한 데스크톱 SSH 포워딩을 사용할 수 없음', - 'projectActions.error.failedToRunAction': 'run action 실패', - 'mcpDropdown.title': 'MCP Servers', + 'projectActions.error.failedToRunAction': '작업 실행에 실패했습니다', + 'mcpDropdown.title': 'MCP 서버', 'mcpDropdown.actions.refreshAria': '새로고침', - 'mcpDropdown.actions.openAria': 'MCP servers', - 'mcpDropdown.statusAria': 'MCP status', + 'mcpDropdown.actions.openAria': 'MCP 서버', + 'mcpDropdown.statusAria': 'MCP 상태', 'mcpDropdown.status.unknown': '알 수 없음', - 'mcpDropdown.status.connected': 'Connected', + 'mcpDropdown.status.connected': '연결됨', 'mcpDropdown.status.failed': '실패: {error}', 'mcpDropdown.status.unknownError': '알 수 없음 오류', - 'mcpDropdown.status.needsAuth': 'Needs authentication', - 'mcpDropdown.status.needsRegistration': 'Needs registration: {error}', - 'mcpDropdown.empty.configureInConfig': '설정 MCP servers에서 OpenCode config.', - 'sessionAuth.error.rateLimitTitle': 'Too many attempts', - 'sessionAuth.error.networkTitle': 'reach server할 수 없음', - 'sessionAuth.error.rateLimitDescriptionSingle': 'Please wait {minutes} minute before trying again.', - 'sessionAuth.error.rateLimitDescriptionPlural': 'Please wait {minutes} minutes before trying again.', + 'mcpDropdown.status.needsAuth': '인증 필요', + 'mcpDropdown.status.needsRegistration': '등록 필요: {error}', + 'mcpDropdown.empty.configureInConfig': 'OpenCode 설정에서 MCP 서버를 구성하세요.', + 'sessionAuth.error.rateLimitTitle': '시도가 너무 많습니다', + 'sessionAuth.error.networkTitle': '서버에 연결할 수 없습니다', + 'sessionAuth.error.rateLimitDescriptionSingle': '{minutes}분 후 다시 시도하세요.', + 'sessionAuth.error.rateLimitDescriptionPlural': '{minutes}분 후 다시 시도하세요.', 'sessionAuth.error.networkDescription': 'UI 세션을 확인할 수 없습니다. 서비스가 실행 중인지 확인하고 다시 시도하세요.', 'sessionAuth.error.retry': '다시 시도', - 'sessionAuth.error.passkeySetupFailed': '패스키 setup 실패.', - 'sessionAuth.error.incorrectPassword': 'Incorrect password. Try again.', + 'sessionAuth.error.passkeySetupFailed': '패스키 설정에 실패했습니다.', + 'sessionAuth.error.incorrectPassword': '비밀번호가 올바르지 않습니다. 다시 시도하세요.', 'sessionAuth.error.unexpectedResponse': '서버에서 예상치 못한 응답을 받았습니다.', - 'sessionAuth.error.networkRetry': 'Network 오류. Check connection 및 다시 시도.', + 'sessionAuth.error.networkRetry': '네트워크 오류입니다. 연결 상태를 확인하고 다시 시도하세요.', 'sessionAuth.error.passkeySignInCanceled': '패스키 로그인이 취소되었습니다.', 'sessionAuth.error.enterPasswordForPasskey': '패스키를 추가하려면 비밀번호를 입력하세요.', - 'sessionAuth.locked.tunnelTitle': '터널 access 필요', - 'sessionAuth.locked.unlockTitle': 'Unlock OpenChamber', + 'sessionAuth.locked.tunnelTitle': '터널 접근 필요', + 'sessionAuth.locked.unlockTitle': 'OpenChamber 잠금 해제', 'sessionAuth.locked.tunnelDescription': '데스크톱 앱의 일회용 연결 링크로 이 터널을 여세요.', 'sessionAuth.locked.passwordDescription': '이 세션은 비밀번호로 보호됩니다.', 'sessionAuth.locked.hostSwitcherHint': '원격에 연결할 수 없으면 로컬을 사용하세요.', - 'sessionAuth.actions.cancelPasskey': '취소 패스키', - 'sessionAuth.actions.usePasskey': 'Use 패스키', - 'sessionAuth.actions.unlockingAria': 'Unlocking', - 'sessionAuth.actions.unlockAria': 'Unlock', + 'sessionAuth.actions.cancelPasskey': '패스키 취소', + 'sessionAuth.actions.usePasskey': '패스키 사용', + 'sessionAuth.actions.unlockingAria': '잠금 해제 중', + 'sessionAuth.actions.unlockAria': '잠금 해제', 'sessionAuth.actions.trustDevice': '이 디바이스 신뢰', 'sessionAuth.actions.trustDeviceAria': '이 디바이스 신뢰', - 'sessionAuth.actions.cancelPasskeySetup': '취소 패스키 setup', + 'sessionAuth.actions.cancelPasskeySetup': '패스키 설정 취소', 'sessionAuth.actions.addPasskey': '패스키 추가', 'sessionAuth.password.placeholder': '비밀번호 입력', - 'sessionAuth.toast.passkeyAdded': '패스키 added', - 'sessionAuth.toast.passkeySetupCanceled': '패스키 setup 취소됨', + 'sessionAuth.toast.passkeyAdded': '패스키를 추가했습니다', + 'sessionAuth.toast.passkeySetupCanceled': '패스키 설정을 취소했습니다', 'desktopHostSwitcher.title': '인스턴스', - 'desktopHostSwitcher.description': 'Switch between 로컬 및 리모트 OpenChamber servers', + 'desktopHostSwitcher.description': '로컬과 원격 OpenChamber 서버 간에 전환합니다', 'desktopHostSwitcher.header.current': '현재', 'desktopHostSwitcher.header.default': '기본값', - 'desktopHostSwitcher.header.currentColon': 'Current:', - 'desktopHostSwitcher.header.currentDefaultColon': '현재 default:', - 'desktopHostSwitcher.status.connected': 'Connected', - 'desktopHostSwitcher.status.authRequired': 'Auth 필요', - 'desktopHostSwitcher.status.wrongService': 'Wrong service', - 'desktopHostSwitcher.status.unreachable': 'Unreachable', + 'desktopHostSwitcher.header.currentColon': '현재:', + 'desktopHostSwitcher.header.currentDefaultColon': '현재 기본값:', + 'desktopHostSwitcher.status.connected': '연결됨', + 'desktopHostSwitcher.status.authRequired': '인증 필요', + 'desktopHostSwitcher.status.wrongService': '잘못된 서비스', + 'desktopHostSwitcher.status.unreachable': '연결할 수 없음', 'desktopHostSwitcher.status.unknown': '알 수 없음', - 'desktopHostSwitcher.status.ping': ' · {ms}ms ping', - 'desktopHostSwitcher.statusAria': 'Instance status', + 'desktopHostSwitcher.status.ping': ' · {ms}ms 핑', + 'desktopHostSwitcher.statusAria': '인스턴스 상태', 'desktopHostSwitcher.sshPhase.ready': '준비됨', 'desktopHostSwitcher.sshPhase.error': '오류', - 'desktopHostSwitcher.sshPhase.reconnecting': 'Reconnecting', - 'desktopHostSwitcher.sshPhase.resolvingConfig': 'Resolving config', + 'desktopHostSwitcher.sshPhase.reconnecting': '다시 연결 중', + 'desktopHostSwitcher.sshPhase.resolvingConfig': '구성 확인 중', 'desktopHostSwitcher.sshPhase.checkingAuth': '인증 확인 중', - 'desktopHostSwitcher.sshPhase.connectingSsh': 'Connecting SSH', - 'desktopHostSwitcher.sshPhase.probingRemote': 'Probing 리모트', + 'desktopHostSwitcher.sshPhase.connectingSsh': 'SSH 연결 중', + 'desktopHostSwitcher.sshPhase.probingRemote': '원격 확인 중', 'desktopHostSwitcher.sshPhase.installing': '설치 중', - 'desktopHostSwitcher.sshPhase.updating': 'Updating', - 'desktopHostSwitcher.sshPhase.detectingServer': 'Detecting server', - 'desktopHostSwitcher.sshPhase.startingServer': '시작ing server', - 'desktopHostSwitcher.sshPhase.forwardingPorts': 'Forwarding ports', + 'desktopHostSwitcher.sshPhase.updating': '업데이트 중', + 'desktopHostSwitcher.sshPhase.detectingServer': '서버 감지 중', + 'desktopHostSwitcher.sshPhase.startingServer': '서버 시작 중', + 'desktopHostSwitcher.sshPhase.forwardingPorts': '포트 포워딩 중', 'desktopHostSwitcher.sshPhase.idle': '대기 중', 'desktopHostSwitcher.ssh.needInstancesHint': 'SSH 인스턴스가 필요하신가요? 설정에서 관리하세요.', - 'desktopHostSwitcher.ssh.instanceFallback': 'SSH instance', - 'desktopHostSwitcher.ssh.connectingTo': 'Connecting로 {host}', + 'desktopHostSwitcher.ssh.instanceFallback': 'SSH 인스턴스', + 'desktopHostSwitcher.ssh.connectingTo': '{host}에 연결 중', 'desktopHostSwitcher.actions.refresh': '새로고침', - 'desktopHostSwitcher.actions.refreshInstancesAria': '새로고침 instances', + 'desktopHostSwitcher.actions.refreshInstancesAria': '인스턴스 새로고침', 'desktopHostSwitcher.actions.remoteSsh': '리모트 SSH', - 'desktopHostSwitcher.actions.instanceActionsAria': 'Instance 작업', + 'desktopHostSwitcher.actions.instanceActionsAria': '인스턴스 작업', 'desktopHostSwitcher.actions.edit': '편집', 'desktopHostSwitcher.actions.delete': '삭제', - 'desktopHostSwitcher.actions.connect': 'Connect', - 'desktopHostSwitcher.actions.defaultInstanceAria': 'Default instance', - 'desktopHostSwitcher.actions.setAsDefaultAria': 'Set as default', - 'desktopHostSwitcher.actions.setAsDefault': 'Set as default', - 'desktopHostSwitcher.actions.openInNewWindowAria': 'in new window 열기', - 'desktopHostSwitcher.actions.openInNewWindow': 'in new window 열기', - 'desktopHostSwitcher.actions.addInstance': 'instance 추가', + 'desktopHostSwitcher.actions.connect': '연결', + 'desktopHostSwitcher.actions.defaultInstanceAria': '기본 인스턴스', + 'desktopHostSwitcher.actions.setAsDefaultAria': '기본값으로 설정', + 'desktopHostSwitcher.actions.setAsDefault': '기본값으로 설정', + 'desktopHostSwitcher.actions.openInNewWindowAria': '새 창에서 열기', + 'desktopHostSwitcher.actions.openInNewWindow': '새 창에서 열기', + 'desktopHostSwitcher.actions.addInstance': '인스턴스 추가', 'desktopHostSwitcher.actions.cancel': '취소', 'desktopHostSwitcher.actions.save': '저장', 'desktopHostSwitcher.actions.add': '추가', - 'desktopHostSwitcher.actions.switchToLocal': 'Switch로 로컬', + 'desktopHostSwitcher.actions.switchToLocal': '로컬로 전환', 'desktopHostSwitcher.actions.retry': '다시 시도', - 'desktopHostSwitcher.actions.switchInstanceAria': 'Switch instance', - 'desktopHostSwitcher.actions.switchInstance': 'Switch instance', - 'desktopHostSwitcher.actions.switchToAria': 'Switch로 {instance}', - 'desktopHostSwitcher.field.labelPlaceholder': 'Label', - 'desktopHostSwitcher.field.labelOptionalPlaceholder': 'Label (optional)', + 'desktopHostSwitcher.actions.switchInstanceAria': '인스턴스 전환', + 'desktopHostSwitcher.actions.switchInstance': '인스턴스 전환', + 'desktopHostSwitcher.actions.switchToAria': '{instance}(으)로 전환', + 'desktopHostSwitcher.field.labelPlaceholder': '레이블', + 'desktopHostSwitcher.field.labelOptionalPlaceholder': '레이블(선택)', 'desktopHostSwitcher.field.urlPlaceholder': 'https://host:port', 'desktopHostSwitcher.state.limitedOnPage': '이 페이지에서는 인스턴스 전환 기능이 제한됩니다. 복구하려면 로컬을 사용하세요.', 'desktopHostSwitcher.state.loading': '로드 중…', - 'desktopHostSwitcher.state.instanceUnreachable': 'Instance unreachable', - 'desktopHostSwitcher.edit.title': '편집 instance', - 'desktopHostSwitcher.add.title': 'instance 추가', - 'desktopHostSwitcher.error.failedToSave': 'save 실패', - 'desktopHostSwitcher.error.failedToLoad': 'load 실패', + 'desktopHostSwitcher.state.instanceUnreachable': '인스턴스에 연결할 수 없습니다', + 'desktopHostSwitcher.edit.title': '인스턴스 편집', + 'desktopHostSwitcher.add.title': '인스턴스 추가', + 'desktopHostSwitcher.error.failedToSave': '저장에 실패했습니다', + 'desktopHostSwitcher.error.failedToLoad': '불러오기에 실패했습니다', 'desktopHostSwitcher.error.invalidUrl': '유효하지 않은 URL(http/https 필요)', - 'desktopHostSwitcher.error.failedToOpenNewWindow': 'open new window 실패', + 'desktopHostSwitcher.error.failedToOpenNewWindow': '새 창 열기에 실패했습니다', 'desktopHostSwitcher.instance.local': '로컬', 'desktopHostSwitcher.instance.fallback': '인스턴스', - 'desktopHostSwitcher.startup.title': 'Default SSH instance 사용할 수 없음', - 'desktopHostSwitcher.startup.connectingTo': 'Connecting로 {host}…', + 'desktopHostSwitcher.startup.title': '기본 SSH 인스턴스를 사용할 수 없습니다', + 'desktopHostSwitcher.startup.connectingTo': '{host}에 연결 중…', 'desktopHostSwitcher.startup.failed': '기본 SSH 인스턴스에 연결하지 못했습니다.', - 'desktopHostSwitcher.toast.sshConnected': 'SSH instance "{host}" connected', - 'desktopHostSwitcher.toast.sshFailedToConnect': 'SSH instance "{host}" 실패로 connect', + 'desktopHostSwitcher.toast.sshConnected': 'SSH 인스턴스 "{host}"에 연결했습니다', + 'desktopHostSwitcher.toast.sshFailedToConnect': 'SSH 인스턴스 "{host}" 연결에 실패했습니다', 'desktopHostSwitcher.toast.instanceUnreachable': '인스턴스 "{host}"에 연결할 수 없음', - 'errorBoundary.title': 'Something went wrong', - 'errorBoundary.description': 'The application encountered an unexpected 오류. This has been logged용 debugging.', + 'errorBoundary.title': '문제가 발생했습니다', + 'errorBoundary.description': '애플리케이션에서 예상치 못한 오류가 발생했습니다. 디버깅을 위해 기록되었습니다.', 'errorBoundary.state.unknownError': '알 수 없음 오류', - 'errorBoundary.state.componentStackLabel': 'Component stack:', + 'errorBoundary.state.componentStackLabel': '컴포넌트 스택:', 'errorBoundary.actions.errorDetails': '오류 상세', - 'errorBoundary.actions.tryAgain': 'Try again', + 'errorBoundary.actions.tryAgain': '다시 시도', 'errorBoundary.actions.copy': '복사', 'errorBoundary.actions.copied': '복사됨', - 'jsonTreeView.error.emptyJson': '비어 있음 JSON content', + 'jsonTreeView.error.emptyJson': '빈 JSON 내용', 'jsonTreeView.error.invalidJson': '유효하지 않은 JSON', 'jsonTreeView.error.invalidJsonTitle': '유효하지 않은 JSON', - 'jsonTreeView.actions.expandAll': '펼치기 All', - 'jsonTreeView.actions.collapseAll': '접기 All', - 'numberInput.actions.decreaseAria': 'Decrease value', - 'numberInput.actions.increaseAria': 'Increase value', + 'jsonTreeView.actions.expandAll': '모두 펼치기', + 'jsonTreeView.actions.collapseAll': '모두 접기', + 'numberInput.actions.decreaseAria': '값 감소', + 'numberInput.actions.increaseAria': '값 증가', 'goToLineDialog.field.linePlaceholderShort': '줄', - 'goToLineDialog.field.linePlaceholder': '줄 number', - 'goToLineDialog.actions.go': 'Go', - 'goToLineDialog.helper.editorUnavailable': '편집or unavailable.', + 'goToLineDialog.field.linePlaceholder': '줄 번호', + 'goToLineDialog.actions.go': '이동', + 'goToLineDialog.helper.editorUnavailable': '편집기를 사용할 수 없습니다.', 'goToLineDialog.helper.currentLineRange': '현재 줄: {current}. 1~{max} 사이의 줄 번호를 입력하세요.', - 'goToLineDialog.helper.goToLine': 'Go로 줄 {line}', + 'goToLineDialog.helper.goToLine': '{line}번 줄로 이동', 'dialog.common.actions.close': '닫기', 'filesView.toast.relativePathCopied': '상대 경로 복사됨', 'filesView.tree.menu.copyRelativePath': '상대 경로 복사', - 'multiRun.branchSelector.placeholder.selectSourceBranch': 'source 브랜치... 선택', - 'multiRun.branchSelector.status.loadingBranches': '브랜치es 로드 중…', - 'multiRun.branchSelector.status.noBranchesFound': '브랜치es 없음', + 'multiRun.branchSelector.placeholder.selectSourceBranch': '소스 브랜치 선택...', + 'multiRun.branchSelector.status.loadingBranches': '브랜치 불러오는 중…', + 'multiRun.branchSelector.status.noBranchesFound': '브랜치가 없습니다', 'multiRun.branchSelector.status.notInGitRepository': 'Git 레포지토리가 아닙니다.', - 'multiRun.branchSelector.groups.localBranches': '로컬 브랜치es', - 'multiRun.branchSelector.groups.remoteBranches': '리모트 브랜치es', + 'multiRun.branchSelector.groups.localBranches': '로컬 브랜치', + 'multiRun.branchSelector.groups.remoteBranches': '리모트 브랜치', 'multiRun.window.actions.closeAria': '멀티런 닫기', 'multiRun.window.description': 'OpenChamber 멀티런 창.', 'voice.status.idle': '음성 준비됨', @@ -1980,107 +1980,107 @@ export const dict: Record = { 'voice.status.processing': '처리 중…', 'voice.status.speaking': '말하는 중…', 'voice.status.error': '음성 오류', - 'voice.status.conversationModeActiveAria': 'Conversation 모드 active', - 'onboarding.common.actions.back': 'Back', + 'voice.status.conversationModeActiveAria': '대화 모드 활성 상태', + 'onboarding.common.actions.back': '뒤로', 'onboarding.common.copyToClipboard': '클립보드에 복사', - 'onboarding.common.status.copiedToClipboard': 'Copied로 clipboard', - 'onboarding.chooser.title': 'Welcome로 OpenChamber', - 'onboarding.chooser.description': '선택 how you want로 connect로 get 시작됨.', - 'onboarding.chooser.tabs.localInstall': '로컬 Install', - 'onboarding.chooser.tabs.connectRemote': 'Connect 리모트', - 'onboarding.localSetup.title': 'Setting Up OpenCode', - 'onboarding.localSetup.description': 'Install OpenCode CLI로 continue.', - 'onboarding.localSetup.dialog.selectOpencodeBinary': 'opencode binary 선택', + 'onboarding.common.status.copiedToClipboard': '클립보드에 복사했습니다', + 'onboarding.chooser.title': 'OpenChamber에 오신 것을 환영합니다', + 'onboarding.chooser.description': '시작 방법을 선택하세요.', + 'onboarding.chooser.tabs.localInstall': '로컬 설치', + 'onboarding.chooser.tabs.connectRemote': '원격 연결', + 'onboarding.localSetup.title': 'OpenCode 설정', + 'onboarding.localSetup.description': '계속하려면 OpenCode CLI를 설치하세요.', + 'onboarding.localSetup.dialog.selectOpencodeBinary': 'opencode 바이너리 선택', 'onboarding.localSetup.errors.cliNotReady': 'OpenCode CLI가 아직 준비되지 않았습니다. 설치가 완료되었는지 확인하고 다시 시도하세요.', - 'onboarding.localSetup.errors.detectionFailed': 'Detection 실패', - 'onboarding.localSetup.windows.title': '창 setup (WSL recommended)', + 'onboarding.localSetup.errors.detectionFailed': '감지에 실패했습니다', + 'onboarding.localSetup.windows.title': 'Windows 설정 (WSL 권장)', 'onboarding.localSetup.windows.stepInstallWsl': '필요하면 WSL 설치:', - 'onboarding.localSetup.windows.stepInstallWslSuffix': 'in PowerShell.', + 'onboarding.localSetup.windows.stepInstallWslSuffix': 'PowerShell에서 실행하세요.', 'onboarding.localSetup.windows.stepRunInstallInWsl': '아래 설치 명령을 WSL 터미널에서 실행하세요.', 'onboarding.localSetup.windows.stepSetBinaryPath': 'OpenChamber가 OpenCode를 자동으로 찾지 못하면 아래에 바이너리 경로를 설정하세요.', - 'onboarding.localSetup.docs.windows': 'View 창 + WSL documentation', - 'onboarding.localSetup.docs.default': 'View documentation', + 'onboarding.localSetup.docs.windows': 'Windows + WSL 문서 보기', + 'onboarding.localSetup.docs.default': '문서 보기', 'onboarding.localSetup.actions.checking': '확인 중…', - 'onboarding.localSetup.actions.checkAndContinue': 'I\'ve 완료됨 installation, check 및 continue', + 'onboarding.localSetup.actions.checkAndContinue': '설치를 마쳤습니다. 확인 후 계속', 'onboarding.localSetup.helper.checkAndContinue': 'OpenCode CLI를 사용할 수 있으면 확인을 누르세요. 성공하면 자동으로 메인 화면으로 이동합니다.', 'onboarding.localSetup.field.alreadyInstalled': '이미 설치되어 있나요? OpenCode CLI 경로 설정:', - 'onboarding.localSetup.actions.browse': 'Browse', + 'onboarding.localSetup.actions.browse': '찾아보기', 'onboarding.localSetup.actions.apply': '적용', - 'onboarding.localSetup.helper.saveAndReload': '저장s로 OpenChamber 설정 및 reloads OpenCode configuration.', + 'onboarding.localSetup.helper.saveAndReload': 'OpenChamber 설정에 저장하고 OpenCode 구성을 다시 로드합니다.', 'onboarding.localSetup.remotePreference': '원격 서버를 사용하시겠어요?', - 'onboarding.localSetup.actions.connectRemoteServer': 'Connect로 리모트 Server →', - 'onboarding.localSetup.windows.hintInstallInWsl': 'On 창, install 및 실행 OpenCode에서 WSL용 best compatibility.', + 'onboarding.localSetup.actions.connectRemoteServer': '리모트 서버 연결 →', + 'onboarding.localSetup.windows.hintInstallInWsl': 'Windows에서는 최상의 호환성을 위해 WSL에서 OpenCode를 설치하고 실행하세요.', 'onboarding.localSetup.windows.hintDetectionFailed': '감지에 실패하면 native 경로(opencode.cmd/opencode.exe), wsl.exe 또는 wsl:/usr/local/bin/opencode를 설정하세요.', 'onboarding.localSetup.hint.ensurePath': '이미 설치되어 있나요? opencode가 PATH에 있는지 확인하세요.', - 'onboarding.localSetup.hint.setEnv': 'Or set OPENCODE_BINARY environment variable.', + 'onboarding.localSetup.hint.setEnv': '또는 `OPENCODE_BINARY` 환경 변수를 설정하세요.', 'onboarding.localSetup.hint.missingRuntime': '"env: node: No such file or directory" 또는 "env: bun: No such file or directory"가 보이면 해당 런타임을 설치하거나 PATH에 있는지 확인하세요.', - 'onboarding.remoteConnection.title': 'Connect로 리모트 Server', + 'onboarding.remoteConnection.title': '리모트 서버 연결', 'onboarding.remoteConnection.titleRecovery': '다른 서버에 연결', 'onboarding.remoteConnection.description': '연결할 OpenChamber 서버 주소를 입력하세요.', - 'onboarding.remoteConnection.field.serverAddress': 'Server Address', + 'onboarding.remoteConnection.field.serverAddress': '서버 주소', 'onboarding.remoteConnection.field.serverAddressPlaceholder': 'https://your-server.example.com:4096', - 'onboarding.remoteConnection.field.nameOptional': 'Name (optional)', - 'onboarding.remoteConnection.field.namePlaceholder': 'My 리모트 Server', - 'onboarding.remoteConnection.errors.connectionTestFailed': 'Connection test 실패', - 'onboarding.remoteConnection.errors.failedToSaveConnection': 'save connection 실패', - 'onboarding.remoteConnection.status.connectedSuccessfully': 'Connected 성공fully ({latencyMs}ms)', - 'onboarding.remoteConnection.status.authWarning': 'Server requires authentication. You can still connect.', - 'onboarding.remoteConnection.status.connectionFailed': 'Connection 실패', + 'onboarding.remoteConnection.field.nameOptional': '이름 (선택)', + 'onboarding.remoteConnection.field.namePlaceholder': '내 원격 서버', + 'onboarding.remoteConnection.errors.connectionTestFailed': '연결 테스트에 실패했습니다', + 'onboarding.remoteConnection.errors.failedToSaveConnection': '연결 저장에 실패했습니다', + 'onboarding.remoteConnection.status.connectedSuccessfully': '성공적으로 연결되었습니다 ({latencyMs}ms)', + 'onboarding.remoteConnection.status.authWarning': '서버에 인증이 필요합니다. 그래도 연결할 수 있습니다.', + 'onboarding.remoteConnection.status.connectionFailed': '연결에 실패했습니다', 'onboarding.remoteConnection.status.suggestionsUnreachable': '서버 주소를 확인하고, 서버가 실행 중인지와 네트워크 연결을 점검하세요.', 'onboarding.remoteConnection.status.suggestionsWrongService': 'URL이 OpenChamber 서버를 가리키는지 확인하거나 서버 관리자에게 문의하세요.', - 'onboarding.remoteConnection.actions.testing': 'Testing…', - 'onboarding.remoteConnection.actions.testConnection': 'Test Connection', - 'onboarding.remoteConnection.actions.connectAndRestart': 'Connect & 재시작', - 'onboarding.remoteConnection.actions.whatToDo': 'What would you like로 do?', - 'onboarding.remoteConnection.actions.chooseDifferentServer': '선택 different Server', - 'onboarding.remoteConnection.actions.useLocalInstead': 'Use 로컬 Instead', - 'onboarding.remoteConnection.probe.authMessage': 'Server requires authentication. You can still connect, but may need로 provide credentials.', + 'onboarding.remoteConnection.actions.testing': '테스트 중…', + 'onboarding.remoteConnection.actions.testConnection': '연결 테스트', + 'onboarding.remoteConnection.actions.connectAndRestart': '연결 후 재시작', + 'onboarding.remoteConnection.actions.whatToDo': '어떻게 하시겠습니까?', + 'onboarding.remoteConnection.actions.chooseDifferentServer': '다른 서버 선택', + 'onboarding.remoteConnection.actions.useLocalInstead': '대신 로컬 사용', + 'onboarding.remoteConnection.probe.authMessage': '서버에 인증이 필요합니다. 연결은 가능하지만 자격 증명을 입력해야 할 수 있습니다.', 'onboarding.remoteConnection.probe.wrongServiceMessage': '서버가 응답했지만 OpenChamber가 실행 중이 아닙니다. 주소가 OpenChamber 서버를 가리키는지 확인하세요.', 'onboarding.remoteConnection.probe.unreachableMessage': '서버에 연결할 수 없습니다. 네트워크 연결과 서버 주소를 확인하세요.', 'onboarding.desktopRecovery.localUnavailable.title': '로컬 OpenCode를 사용할 수 없음', 'onboarding.desktopRecovery.localUnavailable.description': 'OpenCode CLI를 시작할 수 없거나 설치되어 있지 않습니다. OpenCode를 설치하거나 원격 서버에 연결하세요.', - 'onboarding.desktopRecovery.localUnavailable.retry': '다시 시도 로컬', - 'onboarding.desktopRecovery.localUnavailable.useLocal': 'Set Up 로컬', - 'onboarding.desktopRecovery.noDefaultConnection.title': 'Default Connection 없음', + 'onboarding.desktopRecovery.localUnavailable.retry': '로컬 다시 시도', + 'onboarding.desktopRecovery.localUnavailable.useLocal': '로컬 설정', + 'onboarding.desktopRecovery.noDefaultConnection.title': '기본 연결이 없습니다', 'onboarding.desktopRecovery.noDefaultConnection.description': '저장된 기본 연결을 찾을 수 없습니다. 연결 방식을 선택하세요.', - 'onboarding.desktopRecovery.remoteUnreachable.title': '리모트 Server Unreachable', + 'onboarding.desktopRecovery.remoteUnreachable.title': '원격 서버에 연결할 수 없습니다', 'onboarding.desktopRecovery.remoteUnreachable.description': '"{host}"에 연결할 수 없습니다. 네트워크 연결과 서버 주소를 확인하세요.', - 'onboarding.desktopRecovery.remoteUnreachable.retry': '다시 시도 Connection', - 'onboarding.desktopRecovery.incompatibleServer.title': 'Incompatible Server', + 'onboarding.desktopRecovery.remoteUnreachable.retry': '연결 다시 시도', + 'onboarding.desktopRecovery.incompatibleServer.title': '호환되지 않는 서버', 'onboarding.desktopRecovery.incompatibleServer.description': '"{host}"의 서버에서 OpenChamber가 실행 중이 아닙니다. 주소가 OpenChamber 서버를 가리키는지 확인하세요.', - 'onboarding.desktopRecovery.common.useLocal': 'Use 로컬', - 'onboarding.desktopRecovery.common.useRemote': 'Use 리모트', - 'onboarding.desktopRecovery.actions.retrying': '다시 시도ing…', - 'onboarding.desktopRecovery.actions.retryConnection': '다시 시도 Connection', - 'startup.initRecovery.title': '시작up 실패', + 'onboarding.desktopRecovery.common.useLocal': '로컬 사용', + 'onboarding.desktopRecovery.common.useRemote': '원격 사용', + 'onboarding.desktopRecovery.actions.retrying': '다시 시도 중…', + 'onboarding.desktopRecovery.actions.retryConnection': '연결 다시 시도', + 'startup.initRecovery.title': '시작 실패', 'startup.initRecovery.description': 'OpenChamber 초기화를 완료할 수 없습니다. 서버가 실행 중인지 확인한 뒤 다시 시도하세요.', 'startup.initRecovery.retry': '다시 시도', - 'startup.initRecovery.retrying': '다시 시도ing…', + 'startup.initRecovery.retrying': '다시 시도 중…', 'onboarding.desktopRecovery.placeholders.remoteServer': '원격 서버', 'onboarding.desktopRecovery.placeholders.unknownServer': '알 수 없음', 'vscodeLayout.title.chat': '채팅', 'vscodeLayout.title.newSession': '새 세션', 'vscodeLayout.title.sessions': '세션', 'vscodeLayout.title.sessionFallback': '세션', - 'vscodeLayout.actions.backToSessionsAria': 'Back로 세션', + 'vscodeLayout.actions.backToSessionsAria': '세션으로 돌아가기', 'vscodeLayout.actions.newSessionAria': '새 세션', - 'vscodeLayout.actions.openAgentManagerAria': '에이전트 Manager 열기', + 'vscodeLayout.actions.openAgentManagerAria': '에이전트 관리자 열기', 'vscodeLayout.actions.resizeSessionsSidebarAria': '세션 사이드바 크기 조정', 'vscodeLayout.actions.settingsAria': '설정', 'vscodeLayout.quota.title': '레이트 리밋', 'vscodeLayout.quota.mode.used': '사용됨', 'vscodeLayout.quota.mode.remaining': '남은 양', - 'vscodeLayout.quota.lastUpdated': 'Last updated {time}', - 'vscodeLayout.quota.noRateLimitsAvailable': '레이트 리밋 available. 없음', - 'vscodeLayout.quota.noRateLimitsReported': '레이트 리밋 레포지토리rted. 없음', + 'vscodeLayout.quota.lastUpdated': '마지막 업데이트: {time}', + 'vscodeLayout.quota.noRateLimitsAvailable': '사용 가능한 레이트 리밋이 없습니다.', + 'vscodeLayout.quota.noRateLimitsReported': '보고된 레이트 리밋이 없습니다.', 'vscodeLayout.quota.actions.rateLimitsAria': '레이트 리밋', - 'vscodeLayout.quota.actions.showUsedAria': '표시 사용됨 quota', - 'vscodeLayout.quota.actions.showRemainingAria': '표시 남은 양 quota', - 'vscodeLayout.quota.actions.refreshAria': '새로고침 레이트 리밋', + 'vscodeLayout.quota.actions.showUsedAria': '사용량 표시', + 'vscodeLayout.quota.actions.showRemainingAria': '잔여량 표시', + 'vscodeLayout.quota.actions.refreshAria': '레이트 리밋 새로고침', 'updateDialog.header.updateAvailable': '업데이트 가능', - 'updateDialog.header.updating': 'Updating OpenChamber…', - 'updateDialog.changelog.title': 'What\'s new', - 'updateDialog.status.installingUpdate': '설치 중 update…', + 'updateDialog.header.updating': 'OpenChamber 업데이트 중…', + 'updateDialog.changelog.title': '새로운 기능', + 'updateDialog.status.installingUpdate': '업데이트 설치 중…', 'updateDialog.status.serverRestarting': '서버 재시작 중…', 'updateDialog.status.waitingForServer': '서버 대기 중…', 'updateDialog.status.autoReloadHint': '업데이트가 완료되면 페이지가 자동으로 새로고침됩니다.', @@ -2136,7 +2136,7 @@ export const dict: Record = { 'memoryDebugPanel.common.live': '실시간', 'memoryDebugPanel.common.notAvailable': 'n/a', 'memoryDebugPanel.common.untitled': '제목 없음', - 'directoryTree.field.newDirectoryPlaceholder': 'new_directory', + 'directoryTree.field.newDirectoryPlaceholder': '새 디렉터리', 'textarea.resizeHandleAria': '텍스트 영역 크기 조정', 'sidebar.resize.leftPanelAria': '왼쪽 패널 크기 조정', 'sidebar.resize.rightPanelAria': '오른쪽 패널 크기 조정',