{
  "ai-chat-ui.show-settings": "AI 설정 표시",
  "ai.executePlanWithCoder": "Coder로 현재 계획 실행",
  "aiConfiguration:open": "AI 구성 보기 열기",
  "aiConfiguration:openTools": "AI 도구 구성 열기",
  "aiHistory:clear": "AI 기록: 기록 지우기",
  "aiHistory:open": "AI 기록 보기 열기",
  "aiHistory:sortChronologically": "AI 기록: 시간순으로 정렬",
  "aiHistory:sortReverseChronologically": "AI 기록: 역순으로 정렬",
  "aiHistory:toggleCompact": "AI 기록: 간략 보기 전환",
  "aiHistory:toggleHideNewlines": "AI 기록: 줄바꿈 해석 중지",
  "aiHistory:toggleRaw": "AI 기록: 원본 보기 전환",
  "aiHistory:toggleRenderNewlines": "AI 기록: 개행문자 해석",
  "debug.breakpoint.editCondition": "조건 편집...",
  "debug.breakpoint.removeSelected": "선택한 중단점 제거",
  "debug.breakpoint.toggleEnabled": "중단점 활성화 토글",
  "notebook.cell.changeToCode": "셀을 코드로 변경",
  "notebook.cell.changeToMarkdown": "셀을 마크다운으로 변경",
  "notebook.cell.insertMarkdownCellAbove": "위쪽에 마크다운 셀 삽입",
  "notebook.cell.insertMarkdownCellBelow": "아래에 마크다운 셀 삽입",
  "terminal:new:profile": "프로필에서 새 통합 터미널 생성",
  "terminal:profile:default": "기본 터미널 프로필 선택",
  "theia": {
    "ai": {
      "agents": {
        "capabilityOverrides": {
          "mdDescription": "템플릿 기반 기능에 대한 사용자 정의 설정. 키는 기능 조각 ID이며, 값은 활성화(true) 또는 비활성화(false)입니다.",
          "title": "기능 재정의"
        },
        "completionNotification": {
          "mdDescription": "이 에이전트가 사용자의 주의를 필요로 할 때(예: 작업 완료 또는 사용자 입력 요청 시)의 알림 동작입니다.                     설정하지 않은 경우, 전역 기본 알림 설정이 사용됩니다.\n                    - `os-notification`: OS/시스템 알림 표시\n                    - `message`: 상태 표시줄/메시지 영역에 알림 표시\n                    - `blink`: UI 깜빡이거나 강조 표시\n                    - `off`: 이 에이전트에 대한 알림 비활성화",
          "title": "알림"
        },
        "enable": {
          "mdDescription": "에이전트를 활성화(true)할지 비활성화(false)할지를 지정합니다.",
          "title": "에이전트 활성화"
        },
        "genericCapabilitySelections": {
          "agentDelegation": "위임을 위한 선택된 에이전트 ID",
          "functions": "선택된 함수 ID",
          "mcpFunctions": "선택된 MCP 함수 ID",
          "mdDescription": "기술, 기능, MCP 도구와 같은 일반적인 기능에 대한 사용자 선택 사항.",
          "promptFragments": "선택된 프롬프트 조각 ID",
          "skills": "선택된 기술 ID",
          "title": "일반 기능 선택",
          "variables": "선택된 변수 이름"
        },
        "languageModelRequirements": {
          "identifier": {
            "mdDescription": "사용할 언어 모델의 식별자."
          },
          "mdDescription": "이 에이전트에 사용되는 언어 모델을 지정합니다.",
          "purpose": {
            "mdDescription": "이 언어 모델이 사용되는 목적.",
            "title": "목적"
          },
          "title": "언어 모델 요구사항"
        },
        "mdDescription": "특정 에이전트 활성화/비활성화, 프롬프트 구성, LLM 선택 등 에이전트 설정 구성.",
        "selectedVariants": {
          "mdDescription": "이 에이전트에 대해 현재 선택된 프롬프트 변형을 지정합니다.",
          "title": "선택된 변형"
        },
        "serverToolSelections": {
          "mdDescription": "모델 공급업체별로 분류된 공급자 서버 도구에 대한 사용자 선택 항목입니다. 각 값에는 해당 공급업체에 대해 활성화된 서버 도구 ID가 포함되어 있습니다.",
          "title": "서버 도구 선택"
        },
        "showInChat": {
          "mdDescription": "에이전트를 채팅 UI에 표시할지(true) 숨길지(false)를 지정합니다.",
          "title": "채팅에 표시"
        },
        "title": "에이전트 설정"
      },
      "anthropic": {
        "apiKey": {
          "description": "공식 Anthropic 계정의 API 키를 입력하세요. **참고:** 이 설정을 사용하면 Anthropic API 키가 Theia가 실행되는 머신에 평문으로 저장됩니다. 키를 안전하게 설정하려면 환경 변수 `ANTHROPIC_API_KEY`를 사용하세요."
        },
        "compaction": {
          "default": "전역 채팅 서버 측 압축 설정을 따릅니다.",
          "description": "Anthropic 모델에 대해 제공업체의 기본 서버 측 압축 기능을 재정의합니다. “default”는 전역 채팅 설정({0})을 따릅니다. 이 기능이 활성화되면, 대화가 임계값을 초과할 경우 제공업체가 이전 대화 내용을 요약할 수 있도록 Anthropic 베타 메시지 API가 사용됩니다.",
          "disabled": "Anthropic 모델에 대해서는 절대로 서버 측 압축을 요청하지 마십시오.",
          "enabled": "Anthropic 모델의 경우 항상 서버 측 압축을 요청하십시오."
        },
        "compactionTokenThreshold": {
          "description": "Anthropic 모델에 대한 서버 측 압축의 전역 입력 토큰 임계값을 재정의합니다. 이 설정이 지정되지 않은 경우, 전역 설정 또는 공급자 기본값이 적용됩니다. 설정된 경우, 값은 50,000 토큰 이상이어야 합니다."
        },
        "customEndpoints": {
          "apiKey": {
            "title": "지정된 URL에서 제공되는 API에 접근하기 위한 키 또는 글로벌 Anthropic API 키를 사용하려면 `true`"
          },
          "enableStreaming": {
            "title": "스트리밍 API 사용 여부를 나타냅니다. 기본값은 `true`입니다."
          },
          "id": {
            "title": "UI에서 사용자 정의 모델을 식별하는 데 사용되는 고유 식별자"
          },
          "maxRetries": {
            "title": "요청 실패 시 최대 재시도 횟수. 기본값은 3입니다."
          },
          "mdDescription": "Anthropic API와 호환되는 사용자 정의 모델을 통합합니다. 필수 속성은 `model`과 `url`입니다.            \n            선택적으로 다음을 수행할 수 있습니다.            \n            - UI에서 사용자 정의 모델을 식별할 고유한 `id`를 지정합니다. 지정하지 않으면 `model`이 `id`로 사용됩니다.            \n            - 지정된 URL에서 제공되는 API에 액세스하기 위해 `apiKey`를 제공하십시오. 전역 Anthropic API 키를 사용하려면 `true`를 사용하십시오.            \n            - 스트리밍을 사용하지 않으려면 `enableStreaming: false`를 지정하십시오.            \n            - 프롬프트 캐싱을 사용하지 않으려면 `useCaching: false`를 지정합니다.            \n            - 요청이 실패할 때 재시도할 최대 횟수를 지정하려면 `maxRetries: <number>`를 사용합니다. 기본값은 3입니다.            \n            추론 기능 및 최대 출력 토큰 제한은 엔드포인트의 `/v1/models` 응답에서 파생됩니다.",
          "modelId": {
            "title": "모델 ID"
          },
          "url": {
            "title": "모델이 호스팅되는 Anthropic API 호환 엔드포인트"
          },
          "useCaching": {
            "title": "모델이 프롬프트 캐싱을 지원하는지 여부를 나타냅니다. 기본값은 `true`입니다."
          }
        },
        "models": {
          "description": "사용할 공식 Anthropic 모델"
        }
      },
      "chat": {
        "agent": {
          "architect": "아키텍트",
          "coder": "Coder",
          "universal": "보편적"
        },
        "app-tester": {
          "description": "이 에이전트는 브라우저 자동화를 통해 사용자가 지정한 테스트 시나리오를 검증하기 위해 애플리케이션 사용자 인터페이스를 테스트합니다. 테스트 워크플로를 자동화하고 애플리케이션 기능에 대한 상세한 피드백을 제공할 수 있습니다."
        },
        "applySuggestion": "제안 적용",
        "bypassModelRequirement": {
          "description": "언어 모델 요구 사항 검사를 우회합니다. Theia 언어 모델이 필요 없는 외부 에이전트(예: Claude Code)를 사용하는 경우 이 옵션을 활성화하십시오."
        },
        "category": "AI",
        "changeSetDefaultTitle": "제안된 변경 사항",
        "changeSetFileDiffUriLabel": "AI 변경 사항: {0}",
        "chatAgentsVariable": {
          "description": "시스템에서 사용 가능한 채팅 에이전트 목록을 반환합니다."
        },
        "chatSessionNamingAgent": {
          "description": "채팅 세션 이름 생성 에이전트",
          "vars": {
            "conversation": {
              "description": "채팅 대화 내용."
            },
            "listOfSessionNames": {
              "description": "기존 세션 이름 목록."
            }
          }
        },
        "chatSessionSummaryAgent": {
          "description": "채팅 세션 요약 생성 에이전트."
        },
        "clipboardSeparator": "클립보드",
        "confirmApplySuggestion": "이 제안이 생성된 이후 {0} 파일이 변경되었습니다. 변경 사항을 적용하시겠습니까?",
        "confirmRevertSuggestion": "이 제안이 생성된 이후 {0} 파일이 변경되었습니다. 변경 사항을 되돌리시겠습니까?",
        "couldNotFindMatchingLM": "일치하는 언어 모델을 찾을 수 없습니다. 설정을 확인해 주세요!",
        "couldNotFindReadyLMforAgent": "에이전트{0}용 준비된 언어 모델을 찾을 수 없습니다. 설정을 확인해 주세요!",
        "customAgents": {
          "migratePrompt": {
            "message": "사용자 정의 에이전트는 여전히 구형 `customAgents.yml` 형식을 사용하고 있습니다. {0}에서 앞으로 사용할 새로운 에이전트별 형식(`agents/<id>/agent.md`)으로 마이그레이션하는 것을 권장합니다. 각 에이전트는 `customAgents.yml` 파일 옆에 별도의 파일을 갖게 되며, 원본 파일은 `customAgents.yml.bak`라는 이름으로 백업으로 보관됩니다."
          },
          "migrationResult": {
            "empty": "사용자 지정 에이전트 마이그레이션: 마이그레이션할 항목이 없습니다."
          },
          "rerunMigration": "사용자 지정 에이전트 마이그레이션 다시 실행"
        },
        "defaultAgent": {
          "description": "선택 사항: 사용자 쿼리에서 @<에이전트명>으로 명시적으로 언급된 에이전트가 없는 경우 호출될 채팅 에이전트의 <에이전트명>.         기본 에이전트가 구성되지 않은 경우 Theia의 기본값이 적용됩니다."
        },
        "defaultToolConfirmation": {
          "description": "\"ai-features.chat.toolConfirmation\" 아래에 도구별 항목이 없는 도구에 대해 사용되는 기본 확인 동작입니다. 자동 승인 전에 명시적으로 확인을 요구하는 도구는 이 설정과 관계없이 항상 기본적으로 \"확인\"으로 설정됩니다."
        },
        "fromClipboard": "$(clippy) 클립보드에서 가져오기",
        "fromClipboardDescription": "클립보드에서 이미지 붙여넣기",
        "imageContextVariable": {
          "args": {
            "data": {
              "description": "base64로 인코딩된 이미지 데이터."
            },
            "mimeType": {
              "description": "이미지의 MIME 유형."
            },
            "name": {
              "description": "사용 가능한 경우 이미지 파일의 이름."
            },
            "wsRelativePath": {
              "description": "사용 가능한 경우 이미지 파일의 작업 공간 상대 경로."
            }
          },
          "description": "이미지에 대한 컨텍스트 정보를 제공합니다.",
          "label": "이미지 파일"
        },
        "imagePickerPlaceholder": "이미지 파일을 선택하거나 이름으로 검색하세요",
        "orchestrator": {
          "description": "이 에이전트는 사용자의 요청을 모든 사용 가능한 채팅 에이전트의 설명과 비교 분석하여 요청에 가장 적합한 에이전트를 선택합니다(AI 활용). 사용자의 요청은 추가 확인 없이 선택된 에이전트에게 직접 전달됩니다.",
          "vars": {
            "availableChatAgents": {
              "description": "오케스트레이터가 위임할 수 있는 채팅 에이전트 목록으로, 제외 목록 환경설정에 지정된 에이전트는 제외됩니다."
            }
          }
        },
        "pendingImage": {
          "file": "대기 중인 이미지: {0}",
          "pasted": "보류 중인 이미지 (붙여넣기)"
        },
        "persistedSessionLimit": {
          "description": "지속적으로 유지할 최대 채팅 세션 수. 무제한 세션을 원할 경우 -1을, 세션 지속 기능을 비활성화하려면 0을 사용하십시오. 제한이 줄어들면 새 제한을 초과하는 가장 오래된 세션들은 다음 저장 시 자동으로 제거됩니다."
        },
        "pinChatAgent": {
          "description": "에이전트 고정 기능을 활성화하면 언급된 채팅 에이전트가 프롬프트 간에 자동으로 활성화된 상태를 유지하여 반복적인 언급 필요성을 줄입니다.        언제든지 수동으로 고정 해제하거나 에이전트를 전환할 수 있습니다."
        },
        "revertSuggestion": "제안 내용 되돌리기",
        "sessionStorageScope": {
          "description": "채팅 세션을 별도의 작업 공간별 저장소에 유지할지, 아니면 단일 글로벌 저장소에 유지할지 선택하십시오. 열려 있는 작업 공간이 없는 경우 세션은 글로벌 저장소로 자동 전환됩니다.",
          "global": "모든 작업 공간에서 공유되는 단일 저장소에 채팅 세션을 저장합니다.",
          "workspace": "워크스페이스별 메타데이터 저장소에 채팅 세션을 저장합니다. 세션은 워크스페이스와 연관되지만 워크스페이스 디렉터리 외부에서 저장됩니다."
        },
        "taskContextService": {
          "summarizeProgressMessage": "요약: {0}"
        },
        "taskContextStorageDirectory": {
          "description": "작업 컨텍스트 설명을 저장하고 불러올 작업 공간 상대 경로입니다. 빈 값으로 설정하면 생성된 작업 컨텍스트가 디스크가 아닌 메모리에 저장됩니다."
        },
        "toolConfirmation": {
          "alwaysAllow": {
            "description": "확인 메시지 없이 도구를 자동으로 실행"
          },
          "confirm": {
            "description": "도구 실행 전에 확인을 요청합니다"
          },
          "description": "개별 도구의 확인 동작을 구성합니다. 키는 도구 ID이며, 값은 확인 모드입니다. 모든 도구의 기본값을 변경하려면 \"ai-features.chat.defaultToolConfirmation\"을 사용하십시오.",
          "disabled": {
            "description": "도구 실행 비활성화"
          }
        },
        "toolConfirmationTimeout": {
          "denialReason": "{0}초 후 확인 시간 초과",
          "description": "도구 확인 대화 상자의 시간 초과(초) 설정입니다. 양수 값으로 설정하면 지정된 시간이 경과한 후 도구 확인이 자동으로 거부됩니다. 비활성화하려면 0으로 설정하십시오(기본값)."
        },
        "universal": {
          "description": "이 에이전트는 일반적인 프로그래밍 및 소프트웨어 개발 질문에 대해 간결하고 정확한 답변을 제공함으로써 소프트웨어 개발자를 지원하도록 설계되었습니다. 또한 사용자가 제기할 수 있는 모든 일반적인 질문에 대한 대체 답변 역할을 합니다. 현재 범용 에이전트는 기본적으로 어떠한 컨텍스트도 보유하지 않습니다. 즉, 현재 사용자 컨텍스트나 작업 공간에 접근할 수 없습니다."
        },
        "view": {
          "label": "AI 채팅"
        },
        "welcomeScreenSessions": {
          "description": "채팅 개요(홈 화면)에 표시할 채팅 세션의 최대 개수입니다. 활성 세션이 우선 표시되며, 초과된 세션은 “모든 채팅 보기...” 링크를 통해 확인할 수 있습니다. 편집기 확대 비율이 높아져 스크롤바가 표시될 경우 이 값을 낮추십시오. 0으로 설정하면 인라인 목록이 완전히 숨겨지지만, “모든 채팅 보기...” 링크를 통해 세션에 계속 접근할 수 있습니다."
        }
      },
      "chat-ui": {
        "addContextVariable": "컨텍스트 변수 추가",
        "agentDefaultModel": "에이전트 기본값",
        "agentDelegationDescription": "위임할 수 있는 다른 AI 에이전트들",
        "aiDisabled": "AI 기능이 비활성화되었습니다",
        "allowedResourceUrls": "AI 채팅 응답에서 참조되는 외부 리소스(이미지, 스타일시트, 미디어 등)는 기본적으로 차단되며, 명시적으로 허용될 때까지 자리 표시자로 대체됩니다. 설정된 접두사 중 하나로 시작하는 URL을 가진 리소스는 차단되지 않고 직접 렌더링됩니다. 의도하지 않은 일치 현상을 방지하려면 슬래시(/)로 끝나는 전체 원본 주소(예: \"https://example.com/\")를 포함하십시오. 완전히 신뢰할 수 있는 출처만 추가하십시오.",
        "applyAll": "모두 적용",
        "applyAllTitle": "모든 보류 중인 변경 사항 적용",
        "askQuestion": "질문하기",
        "attachToContext": "요소를 컨텍스트에 연결",
        "cancel": "취소 (Esc)",
        "chat-view-tree-widget": {
          "ai": "AI",
          "generating": "생성",
          "noRenderer": "오류: 렌더러를 찾을 수 없습니다",
          "scrollToBottom": "최신 메시지로 이동",
          "waitingForInput": "입력을 기다립니다",
          "you": "당신"
        },
        "chatInput": {
          "clearHistory": "입력 프롬프트 기록 지우기",
          "cycleMode": "사이클 채팅 모드",
          "nextPrompt": "다음 프롬프트",
          "pasteWithImageSupport": "붙여넣기 (이미지 지원)",
          "previousPrompt": "이전 프롬프트",
          "toggleCapabilities": "기능 구성 토글"
        },
        "chatInputAriaLabel": "여기에 메시지를 입력하세요",
        "chatRequestFailedWithDetail": "채팅 요청 실패: {0}",
        "chatResponses": "채팅 응답",
        "clearAllSelections": "검색 문자열 및 기능 선택 항목 지우기",
        "code-part-renderer": {
          "generatedCode": "생성된 코드"
        },
        "collapseAll": "모두 접기",
        "collapseChangeSet": "변경 세트 접기",
        "command-part-renderer": {
          "commandNotExecutable": "해당 명령어의 ID는 \"{0}\"이지만, 채팅 창에서는 실행할 수 없습니다."
        },
        "compaction-part-renderer": {
          "compactionMarker": "대화 요약"
        },
        "copyCodeBlock": "코드 블록 복사",
        "couldNotSendRequestToSession": "세션 {1}에 \"{0}\" 요청을 보낼 수 없었습니다.",
        "delegatedSession": "위임됨",
        "delegation-response-renderer": {
          "interactionNeeded": "사용자 상호작용 필요",
          "prompt": {
            "label": "위임 프롬프트:"
          },
          "response": {
            "label": "응답:"
          },
          "restoredNotAvailable": "복원된 세션에는 응답을 제공할 수 없습니다.",
          "starting": "위임 시작 중...",
          "status": {
            "canceled": "취소됨",
            "generating": "생성 중...",
            "starting": "시작 중..."
          }
        },
        "deleteChangeSet": "변경 세트 삭제",
        "editRequest": "편집",
        "edited": "수정됨",
        "editedTooltipHint": "이 프롬프트 변형은 편집되었습니다. AI 구성 보기에서 재설정할 수 있습니다.",
        "enterChatName": "채팅 이름 입력",
        "errorChatInvocation": "채팅 서비스 호출 중에 오류가 발생했습니다.",
        "expandChangeSet": "변경 세트 확장",
        "failedToDeleteSession": "채팅 세션 삭제 실패",
        "failedToLoadChats": "채팅 세션 로드 실패",
        "failedToRestoreSession": "채팅 세션 복원에 실패했습니다",
        "failedToRetry": "재시도 실패 메시지",
        "focusInput": "초점 채팅 입력",
        "focusResponse": "포커스 채팅 응답",
        "functions": "기능",
        "functionsDescription": "{0} 확장 프로그램에서 제공하는 내장 기능",
        "genericCapabilities": "일반 기능",
        "mcpFunctionsDescription": "연결된 서버의 모델 컨텍스트 프로토콜(MCP) 기능",
        "mermaid-rendering": {
          "copySource": "소스 복사",
          "error": "Mermaid 다이어그램을 렌더링할 수 없습니다. 정의를 확인하려면 소스 보기로 전환하십시오.",
          "rendering": "도식 표시 중…",
          "resetView": "보기 초기화",
          "showDiagram": "다이어그램 보기",
          "showSource": "소스 보기",
          "title": "머메이드 다이어그램",
          "wheelZoomHint": "{0} + 스크롤"
        },
        "modelBadgeTooltip": "이 응답에 사용된 언어 모델: {0}",
        "modelUnavailable": "사용 불가",
        "noChatAgentsAvailable": "사용 가능한 채팅 에이전트가 없습니다.",
        "noMatchingCapabilities": "일치하는 기능 없음",
        "openDiff": "차이점 열기",
        "openImage": "이미지 열기",
        "openOriginalFile": "원본 파일 열기",
        "performThisTask": "이 작업을 수행하십시오.",
        "persistedSession": "지속 세션 (복원하려면 클릭)",
        "promptFragmentsDescription": "대화에 포함할 사용자 지정 프롬프트 조각",
        "removeChat": "채팅 제거",
        "requestNotFoundForRetry": "요청을 찾을 수 없습니다. 재시도하십시오.",
        "responseFrom": "{0}의 응답",
        "saveCurrentSelectionsToSettings": "기능 설정 저장",
        "searchCapabilities": "검색 기능",
        "sectionRestored": "복원됨",
        "selectAgentQuickPickPlaceholder": "새 세션에 대한 에이전트를 선택하십시오",
        "selectAllInCategory": "이 카테고리의 모든 항목 선택",
        "selectChat": "채팅 선택",
        "selectContextVariableQuickPickPlaceholder": "메시지에 첨부할 컨텍스트 변수를 선택하세요",
        "selectTaskContextQuickPickItem": {
          "currentlyOpen": "현재 열려 있는"
        },
        "selectTaskContextQuickPickPlaceholder": "작업 컨텍스트를 선택하여 연결하십시오",
        "selectVariableArguments": "선택적 가변 인수",
        "send": "보내기(Enter)",
        "server-toolcall-part-renderer": {
          "indicator": "서버",
          "serverTooltip": "제공업체의 서버에서 실행됩니다(로컬이 아님). 서버 도구는 선택 시 자동으로 승인됩니다."
        },
        "serverToolWarning": "이 도구는 선택 시 자동으로 승인됩니다. 모델이 언제든지 이 도구를 실행할 수 있습니다.",
        "serverTools": "서버 도구",
        "serverToolsDescription": "서버 도구는 공급업체의 인프라에서 LLM에 의해 서버 측에서 실행됩니다.",
        "serverToolsWarning": "이러한 도구는 선택 시 자동으로 승인됩니다. 모델은 언제든지 이를 실행할 수 있습니다.",
        "sessionModel": "이 채팅의 모델",
        "sessionModelDefault": "이 채팅의 모델 ({0})",
        "sessionModelUnavailable": "이 채팅에 대한 모델은 사용할 수 없습니다({0}); 요청 시 에이전트 기본값을 사용합니다.",
        "sessionNotFoundForRetry": "재시도할 세션을 찾을 수 없음",
        "skillsDescription": "대화에 추가할 수 있는 재사용 가능한 기술 지침",
        "switchAgentMode": "에이전트 모드 전환",
        "text-part-renderer": {
          "cantDisplay": "응답을 표시할 수 없습니다. ChatResponsePartRenderers를 확인해 주세요!"
        },
        "toggleCapabilitiesConfig": "기능 구성 토글",
        "tokenUsageIndicatorEnabled": "채팅 창에 실험적인 토큰 사용량 표시기가 표시될지 여부를 제어합니다. 이 기능은 실험 단계이며, 모델 및 제공업체에 따라 토큰 수치가 부정확할 수 있습니다.",
        "tokenUsageLabel": "토큰 사용법",
        "tokenUsageOverflow": "토큰 사용량이 경고 기준을 훨씬 초과했습니다. 토큰을 압축하거나 새 세션을 시작하는 것을 고려해 보십시오.",
        "tokenUsageTooltipCacheCreate": "캐시 생성: {0}",
        "tokenUsageTooltipCacheRead": "캐시 읽기: {0}",
        "tokenUsageTooltipCompactions": "{0} 압축 x",
        "tokenUsageTooltipCumulative": "누적 버전: {0}",
        "tokenUsageTooltipTotal": "총계: {0} / {1} ({2} %)",
        "tokenUsageWarning": "토큰 사용 경고 기준치에 도달했습니다.",
        "tokenUsageWarningEnabled": "채팅 세션의 토큰 사용량이 설정된 임계값을 초과할 때 알림이 표시될지 여부를 제어합니다. 이를 위해서는 언어 모델 제공자가 토큰 사용량을 보고해야 합니다.",
        "tokenUsageWarningMessage": "채팅 세션 토큰 사용량이 컨텍스트 창의 {0}%에 도달했습니다. 제한에 도달하지 않도록 이 세션을 요약하거나 새 세션을 시작해 보세요.",
        "tokenUsageWarningNewSessionAction": "새 채팅 시작",
        "tokenUsageWarningSummarizeAction": "현재 세션 요약",
        "tokenUsageWarningThresholdPercentage": "토큰 사용 경고가 트리거되는 모델 컨텍스트 창의 비율입니다. 이 값은 토큰 사용 표시기의 경고/오류 색상 대역도 결정합니다. 현재는 200k 컨텍스트 창을 기준으로 계산되나, 향후 모델별 실제 컨텍스트 크기가 확인되는 대로 해당 값을 사용할 예정입니다.",
        "toolcall-part-renderer": {
          "denied": "실행이 거부되었습니다",
          "finished": "실행",
          "rejected": "실행이 취소되었습니다"
        },
        "toolconfirmation": {
          "allow-options-dropdown-tooltip": "추가 허용 옵션",
          "allow-session": "이 채팅 허용",
          "allowed": "도구 실행 허용됨",
          "alwaysAllowConfirm": "알겠습니다, 자동 승인을 활성화합니다.",
          "alwaysAllowGenericWarning": "이 도구는 자동 승인 기능을 활성화하기 전에 확인이 필요합니다. 활성화 후에는 향후 모든 호출이 확인 없이 실행됩니다. 해당 도구를 신뢰하고 잠재적 위험을 이해하는 경우에만 활성화하십시오.",
          "alwaysAllowTitle": "\"{0}\"에 대한 자동 승인을 활성화하시겠습니까?",
          "approveLatest": "최신 도구 승인 확인",
          "autoCancel": "{0}의 자동 취소",
          "canceled": "도구 실행이 취소되었습니다",
          "denied": "도구 실행이 거부되었습니다",
          "deny-forever": "항상 거부",
          "deny-options-dropdown-tooltip": "추가 거부 옵션",
          "deny-reason-placeholder": "거부 사유를 입력하세요...",
          "deny-session": "이 채팅에 대해 거부",
          "deny-with-reason": "이유를 제시하며 거부...",
          "denyLatest": "최신 도구 확인 거부",
          "executionDenied": "도구 실행이 거부되었습니다",
          "header": "도구 실행 확인"
        },
        "unableToSummarizeCurrentSession": "현재 세션을 요약할 수 없습니다. 요약 에이전트가 비활성화되지 않았는지 확인해 주세요.",
        "unknown-part-renderer": {
          "contentNotRestoreable": "이 콘텐츠(유형 '{0}')는 완전히 복원되지 않았습니다. 더 이상 사용 불가능한 확장 프로그램에서 비롯된 것일 수 있습니다."
        },
        "unpinAgent": "에이전트 고정 해제",
        "unselectAllInCategory": "이 범주에서 모두 선택 해제",
        "variablesDescription": "컨텍스트 정보를 제공하는 동적 변수",
        "variantTooltip": "프롬프트 변형: {0}",
        "yourMessage": "귀하의 메시지"
      },
      "claude-code": {
        "agentDescription": "Anthropic의 코딩 에이전트",
        "allowSession": "이 세션 허용",
        "apiKey": {
          "description": "Claude Code용 API 키를 입력하세요. **참고:** 이 설정을 사용하면 API 키가 Theia가 실행되는 머신에 평문으로 저장됩니다. 키를 안전하게 설정하려면 환경 변수 `ANTHROPIC_API_KEY`를 사용하세요."
        },
        "askBeforeEdit": "수정 전에 문의하세요",
        "changeSetTitle": "Claude Code에 의한 변경 사항",
        "clearCommand": {
          "description": "새 세션 생성"
        },
        "compactCommand": {
          "description": "선택적 포커스 지침이 포함된 간결한 대화"
        },
        "completedCount": "{0} / {1} 완료됨",
        "configCommand": {
          "description": "Open Claude 코드 구성"
        },
        "currentDirectory": "현재 디렉터리",
        "differentAgentRequestWarning": "이전 채팅 요청은 다른 에이전트가 처리했습니다. Claude Code는 해당 메시지를 확인할 수 없습니다.",
        "edit": "{0} 편집",
        "editAutomatically": "자동으로 편집",
        "editing": "편집",
        "editsCount": "{0} 수정",
        "emptyTodoList": "사용 가능한 항목 없음",
        "entireFile": "전체 파일",
        "excludingOnePattern": " (1개 패턴 제외)",
        "excludingPatterns": " ({0} 패턴 제외)",
        "executablePath": {
          "description": "`@anthropic-ai/claude-agent-sdk`의 Claude Code 실행 파일(cli.js) 경로. 지정되지 않은 경우 시스템은 글로벌 npm 설치 위치에서 경로를 자동으로 해결하려고 시도합니다."
        },
        "executedCommand": "실행 위치: {0}",
        "failedToParseBashToolData": "Bash 도구 데이터 구문 분석 실패",
        "failedToParseEditToolData": "편집 도구 데이터 구문 분석 실패",
        "failedToParseGlobToolData": "Glob 도구 데이터 구문 분석 실패",
        "failedToParseGrepToolData": "Grep 도구 데이터 구문 분석 실패",
        "failedToParseLSToolData": "LS 도구 데이터 구문 분석 실패",
        "failedToParseMultiEditToolData": "MultiEdit 도구 데이터 구문 분석 실패",
        "failedToParseReadToolData": "Read 도구 데이터 구문 분석 실패",
        "failedToParseTodoListData": "할 일 목록 데이터 구문 분석 실패",
        "failedToParseWebFetchToolData": "WebFetch 도구 데이터 구문 분석 실패",
        "failedToParseWriteToolData": "Write 도구 데이터 구문 분석 실패",
        "fetching": "Fetching",
        "fileFilter": "파일 필터",
        "filePath": "파일 경로",
        "fileType": "파일 유형",
        "findMatchingFiles": "현재 디렉터리에서 \"{0}\" 글로브 패턴에 일치하는 파일을 찾습니다.",
        "findMatchingFilesWithPath": "{1} 내에서 \"{0}\" 글로브 패턴에 일치하는 파일을 찾습니다.",
        "finding": "찾기",
        "from": "From",
        "globPattern": "glob 패턴",
        "grepOptions": {
          "caseInsensitive": "대소문자 구분 없음",
          "glob": "glob: {0}",
          "headLimit": "제한: {0}",
          "lineNumbers": "줄 번호",
          "linesAfter": "+{0} after",
          "linesBefore": "+{0} before",
          "linesContext": "±{0} 컨텍스트",
          "multiLine": "multiline",
          "type": "type: {0}"
        },
        "grepOutputModes": {
          "content": "content",
          "count": "count",
          "filesWithMatches": "일치하는 파일"
        },
        "ignoredPatterns": "무시되는 패턴",
        "ignoringPatterns": "{0} 패턴 무시",
        "initCommand": {
          "description": "CLAUDE.md 가이드로 프로젝트 초기화"
        },
        "itemCount": "{0} 항목",
        "lineLimit": "줄 제한",
        "lines": "줄",
        "listDirectoryContents": "디렉터리 내용 열기",
        "listing": "목록",
        "memoryCommand": {
          "description": "CLAUDE.md 메모리 파일 편집"
        },
        "multiEditing": "다중 편집",
        "oneEdit": "1번 편집",
        "oneItem": "1개 항목",
        "oneOption": "1 옵션",
        "openDirectoryTooltip": "클릭하여 디렉터리 열기",
        "openFileTooltip": "클릭하여 편집기에서 파일 열기",
        "optionsCount": "{0} 옵션",
        "partial": "부분",
        "plan": "계획 모드",
        "project": "프로젝트",
        "projectRoot": "프로젝트 루트",
        "readMode": "읽기 모드",
        "reading": "읽기",
        "replaceAllCount": "{0} replace-all",
        "replaceAllOccurrences": "모든 발생 위치에서 교체",
        "resumeCommand": {
          "description": "세션 재개"
        },
        "reviewCommand": {
          "description": "코드 검토 요청"
        },
        "searchPath": "검색 경로",
        "searching": "검색",
        "startingLine": "시작 라인",
        "timeout": "타임아웃",
        "timeoutInMs": "타임아웃: {0} ms",
        "to": "To",
        "todoList": "Todo List",
        "todoPriority": {
          "high": "높음",
          "low": "낮음",
          "medium": "중간"
        },
        "toolApprovalRequest": "Claude Code가 \"{0}\" 도구를 사용하려고 합니다. 허용하시겠습니까?",
        "totalEdits": "총 수정 횟수",
        "vars": {
          "activeEditor": {
            "description": "현재 활성화된 편집기의 URI."
          }
        },
        "webFetch": "웹 페치",
        "writing": "작성"
      },
      "code-completion": {
        "progressText": "AI 코드 완성 계산 중..."
      },
      "codex": {
        "agentDescription": "Codex 기반 OpenAI의 코딩 어시스턴트",
        "apiKey": {
          "description": "Codex용 OpenAI API 키. 설정되지 않은 경우 공유 OpenAI API 키(`ai-features.openAiOfficial.openAiApiKey`)로 대체됩니다. `OPENAI_API_KEY` 환경 변수를 통해서도 설정할 수 있습니다."
        },
        "completedCount": "{0} / {1} 완료됨",
        "exitCode": "종료 코드: {0}",
        "fileChangeFailed": "Codex가 다음에 대한 변경 사항 적용에 실패했습니다: {0}",
        "fileChangeFailedGeneric": "Codex가 파일 변경 사항을 적용하지 못했습니다.",
        "itemCount": "{0} 항목",
        "noItems": "항목 없음",
        "oneItem": "1개 항목",
        "searched": "검색됨",
        "searching": "검색",
        "todoList": "Todo List"
      },
      "completion": {
        "agent": {
          "description": "이 에이전트는 {0}의 코드 편집기에서 인라인 코드 완성 기능을 제공합니다.",
          "vars": {
            "file": {
              "description": "편집 중인 파일의 URI"
            },
            "language": {
              "description": "편집 중인 파일의 languageId"
            },
            "prefix": {
              "description": "현재 커서 위치 앞의 코드"
            },
            "suffix": {
              "description": "현재 커서 위치 뒤의 코드"
            }
          }
        },
        "automaticEnable": {
          "description": "편집 중 (Monaco) 에디터 내에서 자동으로 AI 자동완성을 인라인으로 트리거합니다.            \n            또는 \"인라인 제안 트리거\" 명령어나 기본 단축키 \"Ctrl+Alt+Space\"를 통해 수동으로 코드를 실행할 수 있습니다."
        },
        "cacheCapacity": {
          "description": "캐시에 저장할 코드 완성 최대 개수. 숫자를 높이면 성능이 향상되지만 더 많은 메모리를 소모합니다.                최소값은 10이며, 권장 범위는 50~200 사이입니다.",
          "title": "코드 완성 캐시 용량"
        },
        "debounceDelay": {
          "description": "편집기에서 변경 사항이 감지된 후 AI 자동 완성 기능이 실행되기까지의 지연 시간을 밀리초 단위로 제어합니다.                '자동 코드 완성' 기능이 활성화되어야 합니다. 디바운스 지연 시간을 비활성화하려면 0을 입력하세요.",
          "title": "디바운스 지연"
        },
        "excludedFileExts": {
          "description": "AI 자동 완성 기능을 비활성화해야 하는 파일 확장자(예: .md, .txt)를 지정하십시오.",
          "title": "제외된 파일 확장자"
        },
        "fileVariable": {
          "description": "편집 중인 파일의 URI. 코드 완성 컨텍스트에서만 사용 가능합니다."
        },
        "languageVariable": {
          "description": "편집 중인 파일의 languageId. 코드 완성 컨텍스트에서만 사용 가능합니다."
        },
        "maxContextLines": {
          "description": "커서 위치 전후의 줄(접두사 및 접미사)에 분배되는 컨텍스트로 사용되는 최대 줄 수.            -1로 설정하면 줄 제한 없이 전체 파일을 컨텍스트로 사용하며, 0으로 설정하면 현재 줄만 사용합니다.",
          "title": "최대 컨텍스트 라인 수"
        },
        "prefixVariable": {
          "description": "현재 커서 위치 앞의 코드. 코드 완성 컨텍스트에서만 사용 가능합니다."
        },
        "stripBackticks": {
          "description": "일부 LLM이 반환하는 코드에서 주변 백틱을 제거합니다. 백틱이 감지되면 닫는 백틱 이후의 모든 내용도 함께 제거됩니다. 이 설정은 언어 모델이 마크다운과 유사한 서식을 사용할 때 순수 코드가 반환되도록 보장하는 데 도움이 됩니다.",
          "title": "인라인 완성에서 백틱 제거"
        },
        "suffixVariable": {
          "description": "현재 커서 위치 이후의 코드. 코드 완성 컨텍스트에서만 사용 가능합니다."
        }
      },
      "configuration": {
        "selectItem": "항목을 선택하십시오."
      },
      "copilot": {
        "auth": {
          "aiConfiguration": "AI 구성",
          "authorize": "저는 승인했습니다.",
          "copied": "복사 완료!",
          "copyCode": "코드 복사",
          "expired": "인증이 만료되었거나 거부되었습니다. 다시 시도해 주세요.",
          "hint": "코드를 입력하고 인증한 후, 아래의 \"인증 완료\"를 클릭하세요.",
          "initiating": "인증 시작 중...",
          "instructions": "{0}가 GitHub Copilot을 사용할 수 있도록 승인하려면 아래 URL을 방문하여 코드를 입력하세요:",
          "openGitHub": "GitHub 열기",
          "privacy": "Theia는 오픈소스 프로젝트입니다. GitHub Copilot 서비스 연결을 위해 GitHub 사용자 이름에 대한 접근 권한만 요청하며, 다른 데이터는 접근하거나 저장하지 않습니다.",
          "success": "GitHub Copilot에 성공적으로 로그인했습니다!",
          "successHint": "GitHub 계정에 Copilot 접근 권한이 있다면, 이제 Copilot 언어 모델을 설정할 수 있습니다. ",
          "tos": "로그인함으로써 귀하는 다음에 동의합니다: ",
          "tosLink": "GitHub 서비스 약관",
          "verifying": "인증 확인 중..."
        },
        "category": "Copilot",
        "commands": {
          "signIn": "GitHub Copilot에 로그인하세요",
          "signOut": "GitHub Copilot에서 로그아웃"
        },
        "enabled": {
          "mdDescription": "GitHub Copilot 제공자를 활성화하세요. 활성화되면 인증을 위한 상태 표시줄 항목이 나타나며, Copilot 구독에서 사용 가능한 모델이 검색됩니다."
        },
        "enterpriseUrl": {
          "mdDescription": "Copilot API용 GitHub Enterprise 도메인(예: `github.mycompany.com`). GitHub.com을 사용할 경우 비워둡니다."
        },
        "modelOverrides": {
          "mdDescription": "자동으로 검색된 GitHub Copilot 모델을 재정의합니다. 비워두면(기본값), 사용 가능한 모델은 Copilot 구독에서 검색됩니다. 자동 검색을 재정의하려면 모델 ID를 명시적으로 설정하십시오."
        },
        "signOut": {
          "confirmMessage": "GitHub Copilot에서 로그아웃하시겠습니까?"
        },
        "statusBar": {
          "signedIn": "{0}로 GitHub Copilot에 로그인했습니다. 로그아웃하려면 클릭하세요.",
          "signedOut": "GitHub Copilot에 로그인하지 않았습니다. 클릭하여 로그인하세요."
        },
        "tokenMigration": "GitHub Copilot 세션에서 오래된 인증 방법이 사용되어 세션이 종료되었습니다. 사용 가능한 모든 모델에 액세스하려면 다시 로그인해 주세요."
      },
      "core": {
        "agentConfiguration": {
          "addCustomAgent": "사용자 지정 에이전트 추가",
          "availableCapabilities": "사용 가능한 기능",
          "completionNotificationDescriptionPrefix": "이 에이전트가 사용자의 주의가 필요할 때(예: 작업 완료 시 또는 사용자 입력을 요청할 때) 알림을 받는 방식을 선택하십시오. “기본값”은 ",
          "defaultNotificationDescription": "전역 AI 알림 설정을 사용합니다",
          "enableAgent": "에이전트 활성화",
          "llmRequirements": "LLM 요구사항",
          "notUsedInPrompt": "프롬프트에서 사용되지 않음",
          "notUsedInPromptTooltip": "이 변수는 에이전트에 의해 선언되었지만 현재 프롬프트 템플릿에서는 참조되지 않습니다.",
          "notificationSettings": "알림 설정",
          "notificationSettingsLink": "AI 알림 설정",
          "promptTemplates": "프롬프트 템플릿",
          "selectAgentMessage": "먼저 에이전트를 선택해 주세요!",
          "showInChat": "채팅에 표시",
          "templateName": "템플릿",
          "undeclared": "미선언",
          "undeclaredTooltip": "이 변수는 프롬프트에서 사용되지만 에이전트에 의해 선언된 설명이 없습니다.",
          "usedAgentSpecificVariables": "사용된 에이전트별 변수",
          "usedFunctions": "사용된 함수",
          "usedGlobalVariables": "사용된 전역 변수",
          "variant": "변형"
        },
        "agentsVariable": {
          "description": "시스템에서 사용 가능한 에이전트 목록을 반환합니다."
        },
        "aiConfiguration": {
          "label": "AI 구성"
        },
        "blinkTitle": {
          "agentCompleted": "{0} - 에이전트 완료",
          "namedAgentCompleted": "{0} - 에이전트 \"{1}\" 완료"
        },
        "capabilityVariable": {
          "argDescription": "프롬프트 조각 ID, 선택적으로 \"기본값 켜기\" 또는 \"기본값 끄기\"가 뒤따름 (기본값은 끔)",
          "completions": {
            "detail": {
              "off": "기본적으로 비활성화된 기능",
              "on": "기본적으로 활성화된 기능"
            }
          },
          "description": "기본 켜짐/꺼짐 설정에 따라 프롬프트 조각을 조건부로 해결합니다."
        },
        "changeSetSummaryVariable": {
          "description": "변경 세트 내 파일 및 해당 내용에 대한 요약 정보를 제공합니다."
        },
        "contextDetailsVariable": {
          "description": "모든 컨텍스트 요소에 대한 전체 텍스트 값과 설명을 제공합니다."
        },
        "contextSummaryVariable": {
          "description": "주어진 세션의 컨텍스트에서 파일을 설명합니다."
        },
        "customAgentTemplate": {
          "description": "이것은 예시 에이전트입니다. 필요에 맞게 속성을 조정하십시오."
        },
        "defaultModelAliases": {
          "code": {
            "description": "코드 이해 및 생성 작업에 최적화됨."
          },
          "code-completion": {
            "description": "코드 자동 완성 시나리오에 가장 적합합니다."
          },
          "fast": {
            "description": "심층적인 추론이 필요하지 않은 탐색이나 기본 도구 호출과 같은 단순한 작업을 위한 더 빠르고 저렴한 모델."
          },
          "summarize": {
            "description": "내용 요약 및 압축을 위해 우선순위가 지정된 모델들."
          },
          "universal": {
            "description": "코드와 일반 언어 사용 모두에 균형 잡힌 용어입니다."
          }
        },
        "defaultNotification": {
          "mdDescription": "AI 에이전트가 사용자의 주의를 필요로 할 때(예: 작업을 완료했거나 사용자의 입력을 요청할 때) 사용되는 기본 알림 방식입니다. 개별 에이전트는 이 설정을 재정의할 수 있습니다.",
          "title": "기본 알림 유형"
        },
        "discard": {
          "label": "AI 프롬프트 템플릿 삭제"
        },
        "discardCustomPrompt": {
          "tooltip": "사용자 지정 내용 삭제"
        },
        "fileVariable": {
          "description": "파일의 내용을 해결합니다",
          "uri": {
            "description": "요청된 파일의 URI."
          }
        },
        "languageModelRenderer": {
          "alias": "[별칭] {0}",
          "languageModel": "언어 모델",
          "purpose": "목적"
        },
        "maxRetries": {
          "mdDescription": "AI 공급자에 대한 요청이 실패할 때의 최대 재시도 횟수. 값이 0이면 재시도 없음.",
          "title": "최대 재시도 횟수"
        },
        "modelAliasesConfiguration": {
          "agents": "이 별칭을 사용하는 에이전트",
          "defaultList": "[기본 목록]",
          "evaluatesTo": "다음과 같이 평가됩니다.",
          "label": "모델 별칭",
          "modelNotReadyTooltip": "준비되지 않음",
          "modelReadyTooltip": "준비됨",
          "noAgents": "이 별칭을 사용하는 에이전트는 없습니다.",
          "noModelReadyTooltip": "모델 준비되지 않음",
          "noResolvedModel": "이 별칭에 대한 모델이 준비되어 있지 않습니다.",
          "priorityList": "우선순위 목록",
          "selectAlias": "모델 별칭을 선택하십시오.",
          "selectedModelId": "선택된 모델",
          "unavailableModel": "선택한 모델은 더 이상 제공되지 않습니다"
        },
        "noVariableFoundForOpenRequest": "열기 요청에 대한 변수를 찾을 수 없습니다.",
        "notification": {
          "message": {
            "description": "애플리케이션 내부에 알림 메시지를 표시합니다"
          },
          "off": {
            "description": "모든 알림 비활성화"
          },
          "osNotification": "OS 알림",
          "windowBlink": "창 깜빡임"
        },
        "openEditorsShortVariable": {
          "description": "현재 열려 있는 모든 파일의 간략 참조(상대 경로, 쉼표로 구분)"
        },
        "openEditorsVariable": {
          "description": "현재 열려 있는 모든 파일의 쉼표로 구분된 목록으로, 작업 공간 상대 경로(예: my-project/src/index.ts)로 표시됩니다."
        },
        "preference": {
          "languageModelAliases": {
            "description": "[AI 구성 보기]({0})에서 각 언어 모델 별칭에 대한 모델을 구성하세요. 또는 settings.json에서 수동으로 설정을 지정할 수 있습니다:\n```\n\"default/code\": {\n  \"selectedModel\": \"anthropic/claude-opus-4-20250514\"\n}\n```",
            "selectedModel": "이 별칭에 대해 사용자가 선택한 모델.",
            "title": "언어 모델 별칭"
          }
        },
        "productNameVariable": {
          "description": "사용자가 작업 중인 제품/애플리케이션의 이름"
        },
        "promptFragmentsConfiguration": {
          "activeCustomizationTitle": "활성 사용자 정의",
          "createCustomizationTitle": "사용자 지정 생성",
          "customization": "사용자 지정",
          "customizationLabel": "사용자 지정",
          "defaultVariantTitle": "기본 변형",
          "deleteCustomizationTitle": "사용자 지정 삭제",
          "editTemplateTitle": "템플릿 편집",
          "headerTitle": "프롬프트 조각",
          "label": "프롬프트 조각",
          "noFragmentsAvailable": "프롬프트 조각이 없습니다.",
          "otherPromptFragmentsHeader": "기타 프롬프트 조각들",
          "promptTemplateText": "프롬프트 템플릿 텍스트",
          "promptVariantsHeader": "프롬프트 변형 세트",
          "removeCustomizationDialogMsg": "\"{1}\" 프롬프트 조각에 대한 {0} 사용자 지정을 제거하시겠습니까?",
          "removeCustomizationDialogTitle": "사용자 지정 제거",
          "removeCustomizationWithDescDialogMsg": "\"{1}\" 프롬프트 조각({2})에 대한 {0} 사용자 지정을 제거하시겠습니까?",
          "resetAllButton": "모두 재설정",
          "resetAllCustomizationsDialogMsg": "모든 프롬프트 조각을 기본값으로 재설정하시겠습니까? 이 작업은 모든 사용자 지정을 제거합니다.",
          "resetAllCustomizationsDialogTitle": "모든 사용자 지정 재설정",
          "resetAllCustomizationsTitle": "모든 사용자 지정 설정 재설정",
          "resetAllPromptFragments": "모든 프롬프트 조각 재설정",
          "resetToBuiltInDialogMsg": "프롬프트 조각 \"{0}\"을 기본값으로 재설정하시겠습니까? 이 작업은 모든 사용자 지정 설정을 제거합니다.",
          "resetToBuiltInDialogTitle": "기본값으로 재설정",
          "resetToBuiltInTitle": "이 기본값으로 재설정",
          "resetToCustomizationDialogMsg": "\"{0}\" 프롬프트 조각을 {1} 사용자 정의로 재설정하시겠습니까? 이 작업은 우선순위가 높은 모든 사용자 정의를 제거합니다.",
          "resetToCustomizationDialogTitle": "사용자 지정으로 재설정",
          "resetToCustomizationTitle": "이 사용자 지정으로 재설정",
          "selectedVariantLabel": "선택됨",
          "selectedVariantTitle": "선택된 변형",
          "usedByAgentTitle": "사용 에이전트: {0}",
          "variantSetError": "선택한 변형이 존재하지 않으며 기본값도 찾을 수 없습니다. 설정을 확인해 주십시오.",
          "variantSetWarning": "선택한 변형이 존재하지 않습니다. 대신 기본 변형이 사용됩니다.",
          "variantsOfSystemPrompt": "이 프롬프트 변형 세트의 변형들:"
        },
        "promptTemplates": {
          "description": "사용자 정의 프롬프트 템플릿을 저장하는 폴더입니다. 사용자 정의하지 않은 경우 사용자 구성 디렉터리가 사용됩니다. 프롬프트 템플릿의 다양한 변형을 관리하기 위해 버전 관리 하에 있는 폴더를 사용하는 것을 고려해 주십시오."
        },
        "promptVariable": {
          "argDescription": "해결해야 할 프롬프트 템플릿 ID",
          "completions": {
            "detail": {
              "builtin": "내장 프롬프트 조각",
              "custom": "사용자 지정 프롬프트 조각"
            }
          },
          "description": "프롬프트 서비스를 통해 프롬프트 템플릿을 해결합니다"
        },
        "prompts": {
          "category": "AI 프롬프트 템플릿"
        },
        "reasoning": {
          "mdDescription": "추론 기능을 지원하는 모델에 적용되는 채팅 입력의 추론 선택기 기본값입니다.\n\n이는 UI 수준 설정입니다. 선택된 수준은 요청 시점에 공급자의 네이티브 API 매개변수로 변환되며(예: Anthropic `thinking` / `output_config.effort`, OpenAI `reasoning.effort`, Gemini `thinkingConfig`), 동일한 필드에 대해 `#ai-features.modelSettings.requestSettings#`를 통해 제공된 원시 값보다 우선합니다.\n\n각 항목은 다음으로 구성됩니다:\n- `scope`: 설정이 적용되는 시점을 정의합니다(`modelId`, `providerId`, `agentId`).\n- `reasoning.level`: `off`, `minimal`, `low`, `medium`, `high`, `auto` 중 하나입니다.\n\n실행 시 우선순위(높은 순서): 선택기를 통한 세션 재정의 → 이 기본값 → 모델의 선언된 기본값. 선택기에 표시된 값이 전송됩니다. `#ai-features.modelSettings.requestSettings#`를 통해 제공자의 추론 필드를 수동으로 재정의하려면, 여기서 `reasoning.level`을 `off`로 설정하여 레벨 기반 변환을 비활성화하십시오.\n\n항목은 범위(scope)의 우선순위에 따라 매칭됩니다(에이전트: 100, 모델: 10, 제공자: 1점).\n\n예시:\n```json\n[\n  { \"scope\": { \"providerId\": \"anthropic\" }, \"reasoning\": { \"level\": \"medium\" } },\n  { \"scope\": { \"modelId\": \"openai/gpt-5\" }, \"reasoning\": { \"level\": \"high\" } },\n  { \"scope\": { \"agentId\": \"Coder\" }, \"reasoning\": { \"level\": \"off\" } }\n]\n```",
          "title": "기본값 설정"
        },
        "requestSettings": {
          "clientSettings": {
            "description": "LLM으로 다시 전송되는 메시지를 처리하는 방법에 대한 클라이언트 설정.",
            "keepThinking": {
              "description": "false로 설정된 경우, 다중 회화에서 다음 사용자 요청을 전송하기 전에 모든 사고 출력이 필터링됩니다."
            },
            "keepToolCalls": {
              "description": "false로 설정된 경우, 다중 회화에서 다음 사용자 요청을 전송하기 전에 모든 도구 요청 및 도구 응답이 필터링됩니다."
            }
          },
          "mdDescription": "여러 모델에 대한 사용자 지정 요청 설정을 지정할 수 있습니다.\n            각 설정은 다음으로 구성됩니다:\n            - `scope`: 설정이 적용되는 시점을 정의합니다:\n              - `modelId` (선택 사항): 일치시킬 모델 ID\n              - `providerId` (선택 사항): 일치시킬 제공자 ID (예: huggingface, openai, ollama, llamafile)\n              - `agentId` (선택 사항): 일치시킬 에이전트 ID\n            - `requestSettings`: 모델별 설정을 키-값 쌍으로 지정\n            - `clientSettings`: 클라이언트 측 메시지 처리 설정:\n              - `keepToolCalls` (부울): 컨텍스트에 도구 호출을 유지할지 여부\n              - `keepThinking` (부울): 생각 메시지를 유지할지 여부\n            설정은 특정성(에이전트: 100점, 모델: 10점, 제공자: 1점)에 따라 일치됩니다.\n            자세한 내용은 [문서](https://theia-ide.org/docs/user_ai/#custom-request-settings)를 참조하세요.",
          "modelSpecificSettings": {
            "description": "특정 모델 ID에 대한 설정."
          },
          "scope": {
            "agentId": {
              "description": "설정을 적용할 (선택 사항인) 에이전트 ID."
            },
            "modelId": {
              "description": "(선택 사항) 모델 ID"
            },
            "providerId": {
              "description": "설정을 적용할 (선택적) 공급자 ID."
            }
          },
          "title": "사용자 지정 요청 설정"
        },
        "serverSideCompaction": {
          "description": "채팅 요청에 대해 기본적으로 제공업체 고유의 서버 측 압축 기능을 활성화합니다. 이 기능이 켜져 있으면, 이를 지원하는 모델은 대화 분량이 자체 임계값을 초과할 경우 오래된 대화 내용을 자동으로 요약하여, 긴 세션이 컨텍스트 제한을 넘어 계속 진행될 수 있도록 합니다. 각 제공업체는 자체적인 재정의 옵션을 제공하며, 개별 채팅 세션에서는 세션 설정에서 이 설정을 재정의할 수 있습니다. 이 기능을 지원하지 않는 모델은 이를 무시합니다."
        },
        "serverSideCompactionTokenThreshold": {
          "description": "프로바이더 고유의 서버 측 압축이 실행되어야 하는 기본 입력 토큰 임계값입니다. 프로바이더 및 개별 채팅 세션에서 이 값을 재정의할 수 있습니다. 설정되지 않은 경우, 프로바이더가 자체 기본 임계값을 선택합니다. 설정된 경우, 값은 50,000 토큰 이상이어야 합니다."
        },
        "skillDirectories": {
          "description": "스킬 정의(SKILL.md 파일)가 포함된 추가 디렉터리. 스킬은 AI 에이전트가 참조할 수 있는 재사용 가능한 지침을 제공합니다. 작업 공간의 .prompts/skills 및 .agents/skills 디렉터리, 홈 디렉터리의 .agents/skills 디렉터리, 그리고 제품 구성 폴더의 skills 디렉터리는 항상 포함됩니다."
        },
        "skillsVariable": {
          "description": "AI 에이전트가 사용할 수 있는 사용 가능한 기술 목록을 반환합니다."
        },
        "taskContextSummary": {
          "description": "세션 컨텍스트에 존재하는 모든 작업 컨텍스트 항목을 해결합니다."
        },
        "templateSettings": {
          "edited": "수정됨",
          "unavailableVariant": "사용 불가"
        },
        "todayVariable": {
          "description": "오늘을 위한 무언가를 합니다",
          "format": {
            "description": "날짜의 형식"
          }
        },
        "unableToDisplayVariableValue": "변수 값을 표시할 수 없습니다.",
        "unableToResolveVariable": "변수를 해결할 수 없습니다.",
        "variable-contribution": {
          "builtInVariable": "{0} 내장 변수",
          "currentAbsoluteFilePath": "현재 열려 있는 파일의 절대 경로.",
          "currentFileContent": "현재 열려 있는 파일의 순수 콘텐츠입니다. 여기에는 콘텐츠의 출처에 대한 정보는 포함되지 않습니다.",
          "currentRelativeDirPath": "현재 열려 있는 파일이 포함된 디렉터리의 작업 공간 상대 경로(예: my-project/src).",
          "currentRelativeFilePath": "현재 열려 있는 파일의 작업 공간 상대 경로(예: my-project/src/index.ts).",
          "currentSelectedText": "열린 파일에서 현재 선택된 일반 텍스트입니다. 여기에는 콘텐츠의 출처에 대한 정보는 포함되지 않습니다.",
          "dotRelativePath": "현재 열려 있는 파일('currentRelativeFilePath')의 작업 공간 상대 경로에 대한 간략한 참조."
        }
      },
      "editor": {
        "editorContextVariable": {
          "description": "에디터별 컨텍스트 정보를 해결합니다",
          "label": "EditorContext"
        },
        "explainWithAI": {
          "prompt": "이 오류를 설명해 주세요",
          "title": "AI로 설명하기"
        },
        "fixWithAI": {
          "prompt": "이 오류 수정 방법"
        }
      },
      "google": {
        "apiKey": {
          "description": "공식 Google AI(Gemini) 계정의 API 키를 입력하세요. **참고:** 이 설정을 사용하면 GOOGLE AI API 키가 Theia가 실행되는 머신에 평문으로 저장됩니다. 키를 안전하게 설정하려면 환경 변수 `GOOGLE_API_KEY`를 사용하세요."
        },
        "maxRetriesOnErrors": {
          "description": "오류 발생 시 최대 재시도 횟수. 1보다 작을 경우 재시도 로직이 비활성화됩니다."
        },
        "models": {
          "description": "사용할 공식 Google Gemini 모델"
        },
        "retryDelayOnOtherErrors": {
          "description": "기타 오류 발생 시 재시도 간격(초) 설정(Google GenAI가 모델에서 반환된 불완전한 JSON 구문이나 500 내부 서버 오류 등의 오류를 보고하는 경우). 이 값을 -1로 설정하면 해당 오류 발생 시 재시도가 차단됩니다. 그렇지 않으면 재시도가 즉시(0으로 설정 시) 또는 이 지연 시간(초) 후(양수 설정 시) 발생합니다."
        },
        "retryDelayOnRateLimitError": {
          "description": "속도 제한 오류 발생 시 재시도 간격(초). 자세한 내용은 https://ai.google.dev/gemini-api/docs/rate-limits 참조"
        }
      },
      "history": {
        "clear": {
          "tooltip": "모든 에이전트의 기록 지우기"
        },
        "edited": "수정됨",
        "exchange-card": {
          "timestamp": "시작됨"
        },
        "open-history-tooltip": "AI 기록 열기...",
        "request-card": {
          "promptVariant": "프롬프트 변형",
          "timestamp": "타임스탬프"
        },
        "sortChronologically": {
          "tooltip": "시간순으로 정렬"
        },
        "sortReverseChronologically": {
          "tooltip": "역순으로 정렬"
        },
        "toggleCompact": {
          "tooltip": "컴팩트 보기 표시"
        },
        "toggleHideNewlines": {
          "tooltip": "줄바꿈 해석 중지"
        },
        "toggleRaw": {
          "tooltip": "원본 보기"
        },
        "toggleRenderNewlines": {
          "tooltip": "줄바꿈 해석"
        },
        "view": {
          "label": "AI 에이전트 기록",
          "noAgent": "사용 가능한 에이전트가 없습니다.",
          "noAgentSelected": "에이전트가 선택되지 않았습니다.",
          "noHistoryForAgent": "선택한 에이전트 '{0}'에 대한 기록이 없습니다."
        }
      },
      "huggingFace": {
        "apiKey": {
          "mdDescription": "Hugging Face 계정의 API 키를 입력하세요. **참고:** 이 설정을 사용하면 Hugging Face API 키가 Theia가 실행되는 머신에 평문으로 저장됩니다. 키를 안전하게 설정하려면 환경 변수 `HUGGINGFACE_API_KEY`를 사용하세요."
        },
        "models": {
          "mdDescription": "사용할 Hugging Face 모델. **참고:** 현재 채팅 완성 API를 지원하는 모델만 지원됩니다 (`*-Instruct`와 같은 명령어 학습 모델). 일부 모델은 Hugging Face 웹사이트에서 라이선스 약관에 동의해야 할 수 있습니다."
        }
      },
      "ide": {
        "agent-description": "[AI 구성 보기]({0})에서 AI 에이전트 설정을 구성하세요. 여기에는 활성화, LLM 선택, 프롬프트 템플릿 사용자 지정 및 사용자 정의 에이전트 생성이 포함됩니다.",
        "agentConfiguration": {
          "customAgentLocationQuickPick": {
            "placeholder": "agents/<id>/agent.md 파일을 생성할 위치를 선택하세요",
            "title": "새 사용자 지정 에이전트의 위치를 선택하십시오"
          },
          "genericCapabilitiesSettings": "일반 기능",
          "genericCapabilityType": {
            "agentDelegation": "에이전트 위임",
            "functions": "기능",
            "mcpFunctions": "MCP 기능",
            "promptFragments": "프롬프트 조각"
          },
          "newAgent": {
            "createFailed": "사용자 지정 에이전트 \"{0}\"을(를) 생성할 수 없습니다: {1}",
            "defaultDescription": "사용자 정의 에이전트. agent.md 파일에서 이 설명을 편집하십시오.",
            "defaultPrompt": "당신은 도움이 되는 에이전트입니다. 필요에 맞게 이 프롬프트를 수정해 주세요.",
            "idInvalid": "문자, 숫자, 대시, 밑줄 또는 점만 사용하십시오.",
            "idPrompt": "에이전트 ID(agents/ 폴더 내 폴더 이름으로 사용됨)",
            "idTitle": "새로운 사용자 지정 에이전트",
            "noLocation": "사용자 지정 에이전트를 생성할 수 없습니다. 프롬프트 템플릿 위치가 구성되지 않았습니다. 전역 또는 작업 공간 프롬프트 템플릿 폴더를 설정하고 다시 시도하십시오."
          },
          "noDescription": "설명 없음",
          "resetAllCapabilities": "모든 기능을 기본값으로 재설정",
          "resetAllDefaults": "모두 기본값으로 재설정",
          "selections": "선택 항목"
        },
        "agentMode": {
          "enabled": {
            "mdDescription": "Coder 에이전트에 대해 에이전트 모드를 활성화합니다. 에이전트 모드를 사용하면 별도의 확인 절차 없이 파일을 자동으로 수정할 수 있습니다.                 이 설정이 `true`로 설정될 때까지 에이전트 모드를 사용할 때 첫 사용 확인 대화 상자가 표시됩니다."
          }
        },
        "agentModeConfirmation": {
          "continueAgentMode": "에이전트 모드로 계속하기",
          "continueEditMode": "편집 모드로 계속",
          "info": "에이전트 모드로 계속 진행하면 확인 내용이 저장됩니다. 나중에 `ai-features.agentMode.enabled` 설정을 통해 이 설정을 다시 취소할 수 있습니다.\n\n편집 모드로 계속 진행하면 기본 모드가 편집 모드로 변경됩니다.\n\n모드 선택기나 AI 구성에서 언제든지 모드를 변경할 수 있습니다.",
          "msg": "이 에이전트는 **에이전트 모드**를 사용합니다. 자율적인 작업 흐름을 활성화하기 위해, 별도의 확인 절차 없이 작업 공간 파일에 직접 기록할 수 있습니다.\n\n변경 사항을 검토하고 되돌릴 수 있도록 버전 관리 시스템(예: Git)을 사용하는 것이 좋습니다.\n\n아래 채팅 입력 영역의 모드 선택기를 사용하여 **편집 모드**로 전환하거나, 읽기 전용 계획 수립을 위해 **Architect** 에이전트를 사용할 수 있습니다.\n\n이 확인 메시지는 해당 작업 공간에 저장되며 다시 표시되지 않습니다. 이 설정을 초기화하거나 전역적으로 구성하려면 설정에서 `ai-features.agentMode.confirmed`를 찾아주세요.",
          "waiting": "확인 중..."
        },
        "allowAllMode": {
          "stripTooltip": "이 세션에서는 AI 도구 호출이 확인 절차 없이 실행됩니다. 신뢰할 수 있는 환경에서만 활성화하십시오.",
          "stripTooltipFooter": "--session-preference 옵션을 통해 설정합니다. 저장된 설정을 복원하려면 해당 플래그를 지정하지 않고 다시 시작하십시오.",
          "title": "Theia AI 허용 모드"
        },
        "app-tester": {
          "errorCheckingDevToolsServerStatus": "DevTools MCP 서버 상태 확인 중 오류: {0}",
          "errorCheckingPlaywrightServerStatus": "Playwright MCP 서버 상태 오류 확인: {0}",
          "startChromeDevToolsMcpServers": {
            "canceled": "Chrome DevTools MCP 서버를 설정해 주세요.",
            "error": "Chrome DevTools MCP 서버 시작 실패: {0}",
            "progress": "Chrome DevTools MCP 서버 시작 중.",
            "question": "Chrome DevTools MCP 서버가 실행 중이 아닙니다. 지금 시작하시겠습니까? 이 작업은 Chrome DevTools MCP 서버를 설치할 수 있습니다."
          },
          "startMcpServers": {
            "no": "아니요, 취소",
            "yes": "예, 서버를 시작하세요"
          },
          "startPlaywrightServers": {
            "canceled": "Playwright MCP 서버를 설정해 주십시오.",
            "error": "Playwright MCP 서버 시작 실패: {0}",
            "progress": "Playwright MCP 서버 시작 중.",
            "question": "Playwright MCP 서버가 실행 중이 아닙니다. 지금 시작하시겠습니까? 이 작업은 Playwright MCP 서버를 설치할 수 있습니다."
          }
        },
        "architectAgent": {
          "mode": {
            "planNext": "계획 모드 (다음)",
            "simple": "단순 모드"
          },
          "suggestion": {
            "executePlanWithCoder": "Coder로 \"{0}\" 실행"
          }
        },
        "browseAllChats": "모든 채팅 보기...",
        "bypassHint": "Claude Code와 같은 일부 에이전트는 Theia 언어 모델이 필요하지 않습니다.",
        "chatDisabledMessage": {
          "title": "AI 기능이 비활성화되었습니다"
        },
        "chatRestrictedMessage": {
          "title": "AI 기능 사용 제한"
        },
        "childInteractionNeeded": "위임된 세션에 대한 확인이 필요합니다.",
        "codeReviewerAgent": {
          "description": "코드 변경 사항을 분석하여 체계적인 평가 결과를 제공하는 코드 검토 보조 도구입니다.         완료 기준, 빌드/린트/테스트 결과, 그리고 코드 품질을 확인합니다."
        },
        "coderAgent": {
          "mode": {
            "agentNext": "에이전트 모드 (다음)",
            "edit": "편집 모드"
          },
          "suggestion": {
            "fixProblems": {
              "content": "[문제 해결]({0})을 현재 파일에서 수행합니다.",
              "prompt": "{1}를 확인하시고 문제가 있으면 수정해 주세요."
            },
            "startNewChat": "대화는 짧고 핵심만 전달하세요. 새 작업에 대해서는 [새 대화 시작]({0})하거나, [이 대화 내용을 요약한 새 대화 시작]({1})하세요."
          }
        },
        "collapseSession": "{0} 접기",
        "commandAgent": {
          "commandCallback": {
            "confirmAction": "알겠습니다",
            "label": "AI 명령어",
            "message": "{0} 인자와 함께 콜백 실행. 첫 번째 인자는 동적으로 등록된 명령에 대해 등록된 명령 ID입니다. 다른 인자들은 핸들러의 실제 인자입니다."
          },
          "description": "이 에이전트는 사용자가 실행할 수 있는 모든 명령을 파악하고 있습니다. 사용자의 요청에 따라 적절한 명령을 찾아 사용자가 이를 실행할 수 있도록 합니다.",
          "response": {
            "customHandler": "이것을 실행해 보세요:",
            "noCommand": "죄송합니다. 해당 명령어를 찾을 수 없습니다.",
            "theiaCommand": "도움이 될 만한 명령어를 찾았습니다:"
          },
          "vars": {
            "commandIds": {
              "description": "사용 가능한 명령어 목록."
            }
          }
        },
        "configurationState": "구성 문제",
        "configureAgent": {
          "header": "기본 에이전트 구성"
        },
        "continueAnyway": "어쨌든 계속",
        "createSkillAgent": {
          "mode": {
            "edit": "기본 모드"
          }
        },
        "enableAI": {
          "mdDescription": "이 설정을 통해 최신 AI 기능에 접근할 수 있습니다.            \n            특히, 이 기능들은 사용자가 접근 권한을 부여한 언어 모델(LLM)에 지속적인 요청을 발생시킬 수 있다는 점을 인지해야 합니다. 이로 인해 비용이 발생할 수 있으므로 주의 깊게 모니터링해야 합니다. 이 옵션을 활성화함으로써 귀하는 이러한 위험을 인지한 것으로 간주됩니다.            \n            **주의! 본 섹션의 아래 설정은 메인 기능 설정이 활성화된 후에만 적용됩니다.            기능 활성화 후 아래에서 최소 한 개의 LLM 공급자를 구성해야 합니다. [관련 문서](https://theia-ide.org/docs/user_ai/)도 참조하십시오.**"
        },
        "expandSession": "{0} 확장",
        "exploreAgent": {
          "description": "코드베이스에서 정보를 추출하고 요약해 주는 코드베이스 탐색 도우미입니다.         존재하는 요소에 대한 정보를 보고하고, 코드 발췌문을 제공하며, 관찰된 패턴을 설명합니다."
        },
        "github": {
          "configureGitHubServer": {
            "canceled": "GitHub 서버 구성이 취소되었습니다. 이 에이전트를 사용하려면 GitHub MCP 서버를 구성하십시오.",
            "followup": "설정 파일이 열렸습니다. GitHub 서버 구성의 `serverAuthToken` 속성에 GitHub 개인 액세스 토큰을 추가한 후 저장하고 다시 시도해 주세요.\n\n개인 액세스 토큰은 다음 주소에서 생성할 수 있습니다: https://github.com/settings/tokens",
            "no": "아니요, 취소",
            "question": "GitHub MCP 서버가 구성되지 않았습니다. 지금 구성하시겠습니까? 설정.json 파일이 열리면 GitHub 액세스 토큰을 추가할 수 있습니다.",
            "yes": "예, GitHub 서버를 구성하세요"
          },
          "description": "이 에이전트는 GitHub MCP 서버를 통해 GitHub 저장소, 이슈, 풀 리퀘스트 및 기타 GitHub 기능과 상호작용할 수 있도록 지원합니다. 저장소 관리, 이슈 생성, 풀 리퀘스트 처리 및 다양한 GitHub 작업 수행에 활용할 수 있습니다.",
          "errorCheckingGitHubServerStatus": "GitHub MCP 서버 상태 확인 중 오류: {0}",
          "startGitHubServer": {
            "canceled": "이 에이전트를 사용하려면 GitHub MCP 서버를 시작하십시오.",
            "error": "GitHub MCP 서버 시작 실패: {0}",
            "no": "아니요, 취소",
            "progress": "GitHub MCP 서버 시작 중.",
            "question": "GitHub MCP 서버가 구성되었지만 실행 중이 아닙니다. 지금 시작하시겠습니까?",
            "yes": "예, 서버를 시작하세요"
          }
        },
        "githubCapability": {
          "description": "에이전트가 GitHub와 상호작용할 수 있도록 합니다. 이를 위해 에이전트는 GitHub 에이전트에 위임할 수 있으며, 해당 에이전트는 이슈, 풀 리퀘스트, 댓글 및 저장소 내용을 읽고 쓸 수 있습니다."
        },
        "githubRepoName": {
          "description": "작업 공간 루트(예: \"eclipse-theia/theia\")와 연결된 GitHub 저장소"
        },
        "howToGetStarted": "시작하는 방법",
        "model-selection-description": "[AI 구성 보기]({0})에서 각 AI 에이전트가 사용할 대규모 언어 모델(LLM)을 선택하세요.",
        "moreAgentsAvailable": {
          "header": "추가 에이전트 사용 가능"
        },
        "noRecommendedAgents": "권장 에이전트가 없습니다.",
        "openSettings": "AI 설정 열기",
        "orchestrator": {
          "error": {
            "noAgents": "요청을 처리할 채팅 에이전트가 없습니다. 활성화된 에이전트가 있는지 설정을 확인해 주세요."
          },
          "excludedAgents": {
            "mdDescription": "오케스트레이터가 위임할 수 없는 에이전트 ID 목록입니다. 요청 처리를 위한 에이전트 선택 시 오케스트레이터에서 이 에이전트들은 표시되지 않습니다."
          },
          "progressMessage": "가장 적합한 에이전트 결정",
          "response": {
            "delegatingToAgent": "`@{0}`로 위임"
          }
        },
        "prReview": {
          "capability": {
            "codebaseExploration": {
              "description": "아키텍처, 사용법, 규칙 및 테스트 탐색 기능을 Explore 에이전트에 위임합니다. 비활성화 상태일 경우, PR 검토자는 자체 도구를 사용하여 탐색합니다.",
              "name": "위임된 탐색"
            },
            "githubInfo": {
              "description": "GitHub 에이전트에 위임하여 풀 리퀘스트 메타데이터, 차이점, 댓글, 검사 및 연결된 이슈를 가져옵니다.",
              "name": "GH PR 정보"
            },
            "localCheckout": {
              "description": "풀 리퀘스트를 로컬에 체크아웃하고 기존 작업 트리의 변경 사항을 보호합니다.",
              "name": "체크아웃"
            },
            "localValidation": {
              "description": "풀 리퀘스트에 대해 로컬 설치, 빌드, 린트, 테스트 또는 이와 유사한 검증 작업을 실행합니다.",
              "name": "빌드"
            },
            "pendingGitHubReview": {
              "description": "사용자의 명시적인 확인 후, GitHub 에이전트에 위임하여 준비된 인라인 코멘트와 함께 보류 중인 풀 리퀘스트 검토를 생성하거나 업데이트합니다.",
              "name": "GH 검토 대기 중"
            }
          }
        },
        "prReviewAgent": {
          "description": "전체 코드 리뷰 워크플로를 조율하는 AI 기반 PR 검토 에이전트: PR 정보를 가져오고, 코드베이스를 탐색하며, 구조화된 분석을 수행하고, diff 뷰어를 통해 사용자에게 발견 사항을 대화형으로 안내하며, 선택적으로 GitHub에 검토 대기 중인 이슈를 생성합니다."
        },
        "prompt-template-description": "[AI 구성 보기]({0})에서 AI 에이전트의 프롬프트 변형을 선택하고 프롬프트 템플릿을 사용자 정의하세요.",
        "requiresApproval": "승인이 필요합니다",
        "restoredSession": "세션 복원",
        "restrictedModeDetails": "AI 채팅, 인라인 제안, 코드 작업 및 프롬프트 템플릿이 비활성화되었습니다.",
        "restrictedModeLabel": "AI 기능(제한 모드에서는 비활성화됨)",
        "sectionRestored": "복원됨",
        "sessionOverride": {
          "defaultToolConfirmation": "기본 도구 확인 메시지: {0}",
          "toolConfirmation": "도구별 확인 메시지 재정의: {0}",
          "toolConfirmationGeneric": "도구별 확인 설정 재정의"
        },
        "shellAllowlist": {
          "placeholder": "예: \"git log\" (정확한 명령어) 또는 \"git log *\" (인수 포함)"
        },
        "shellDenylist": {
          "placeholder": "예: \"git push *\" 또는 \"rm -rf /\""
        },
        "shellExecutionCapability": {
          "description": "에이전트가 호스트 시스템에서 임의의 셸 명령을 실행할 수 있도록 합니다. 이를 통해 에이전트는 작업으로 제공되지 않는 스크립트 실행 위임, 시스템 정보 조회, 전용 도구가 없는 작업 수행이 가능합니다.",
          "name": "셸 실행"
        },
        "skillsConfiguration": {
          "noSkills": "사용 가능한 기술 없음",
          "noSlashCommands": "사용 가능한 슬래시 명령어가 없습니다.",
          "slashCommand": {
            "allAgents": "모든 에이전트"
          },
          "slashCommandsSectionHeader": "슬래시 명령어"
        },
        "toolConfirmationInfo": {
          "header": "도구 확인"
        },
        "toolConfirmationOverrides": {
          "stripTooltip": "명령줄 플래그를 통해 이 세션에 하나 이상의 AI 도구가 자동으로 승인됩니다.",
          "title": "AI 도구 확인 설정 재정의"
        },
        "toolsConfiguration": {
          "confirmAlwaysAllow": {
            "confirm": "알겠습니다, 자동 승인을 활성화합니다.",
            "genericWarning": "이 도구는 자동 승인 기능을 활성화하기 전에 확인이 필요합니다. 활성화 후에는 향후 모든 호출이 확인 없이 실행됩니다. 해당 도구를 신뢰하고 잠재적 위험을 이해하는 경우에만 활성화하십시오.",
            "title": "\"{0}\"에 대한 자동 승인을 활성화하시겠습니까?"
          },
          "confirmationMode": {
            "label": "확인 모드"
          },
          "default": {
            "label": "기본 도구 확인 모드:"
          },
          "recommendedDefaults": {
            "apply": "기본 도구 허용",
            "dialogConfirm": "알겠습니다, 허용합니다",
            "dialogTitle": "기본 도구 사용 허용?",
            "message": "현재 도구 호출에는 승인이 필요합니다. 모든 내장 도구를 한 번에 자동으로 허용합니다. 추가 확인이 필요한 도구(예: 셸 실행), MCP 도구 및 나중에 추가된 도구는 실행 전에 여전히 확인을 요청합니다.",
            "msg": {
              "line1": "이렇게 하면 현재 등록된 모든 내장 도구가 “항상 허용”으로 설정됩니다.",
              "line2": "추가 확인이 필요한 도구(예: 셸 실행)의 경우, 실행 전에 여전히 확인을 요청합니다.",
              "line3": "MCP 도구는 타사 제품으로, 기본 제공되지 않습니다. 이 화면에서 각 도구를 개별적으로 허용할 수 있습니다.",
              "line4": "나중에 추가된 도구들도 여전히 기본적으로 “확인”으로 설정되므로, 이를 검토할 수 있습니다.",
              "line5": "이 화면에서 나중에 이 설정을 변경할 수 있습니다."
            }
          },
          "resetAll": "모두 재설정",
          "resetAllConfirmDialog": {
            "msg": "모든 도구 확인 모드를 기본값으로 재설정하시겠습니까? 이 작업은 모든 사용자 지정 설정을 제거합니다.",
            "title": "모든 도구 재설정 확인 모드"
          },
          "resetAllTooltip": "모든 도구를 기본값으로 재설정",
          "shellAllowlist": {
            "description": "이러한 패턴에 일치하는 명령어는 확인 없이 자동으로 허용됩니다. 와일드카드로 *를 사용하세요: \"git log\" (정확한 일치), \"git log *\" (모든 인자 포함). 와일드카드 앞에는 반드시 공백이 있어야 합니다.",
            "empty": "구성된 패턴이 없습니다. 모든 셸 명령어는 확인이 필요합니다.",
            "title": "셸 실행 허용 목록"
          },
          "shellDenylist": {
            "description": "이러한 패턴에 일치하는 명령어는 확인 없이 자동으로 차단됩니다. 'git push *' 또는 'rm -rf /'와 같은 위험한 명령어를 차단하는 데 사용하십시오.",
            "empty": "구성된 패턴이 없습니다. 셸 명령어는 자동으로 차단되지 않습니다.",
            "title": "셸 실행 거부 목록"
          },
          "toolOptions": {
            "confirm": {
              "label": "확인"
            }
          }
        },
        "tooltip": {
          "errorMessage": "오류 메시지",
          "lastActivity": "마지막 활동",
          "lastMessage": "마지막 메시지",
          "multipleExchanges": "{0} 교환",
          "oneExchange": "1 교환",
          "unread": "읽지 않음"
        },
        "variableConfiguration": {
          "selectVariable": "변수를 선택하십시오.",
          "usedByAgents": "에이전트 사용"
        },
        "waitingForInput": "사용자의 입력을 기다리고 있습니다"
      },
      "llamaFile": {
        "prefs": {
          "mdDescription": "이 설정은 Theia IDE에서 LlamaFile 모델을 구성하고 관리할 수 있게 합니다.            \n            각 항목에는 사용자 친화적인 `이름`, LlamaFile을 가리키는 파일 `URI`, 그리고 실행될 `포트`가 필요합니다.            \n            LlamaFile을 시작하려면 원하는 모델을 선택할 수 있는 \"LlamaFile 시작\" 명령을 사용하세요.            \n            항목을 수정할 경우(예: 포트 변경), 실행 중인 인스턴스는 모두 중지되며 수동으로 다시 시작해야 합니다.            \n            [Theia IDE 문서에서 LlamaFile 구성 및 관리 방법 자세히 알아보기](https://theia-ide.org/docs/user_ai/#llamafile-models).",
          "name": {
            "description": "이 Llamafile에 사용할 모델 이름."
          },
          "port": {
            "description": "서버를 시작할 때 사용할 포트."
          },
          "title": "AI LlamaFile",
          "uri": {
            "description": "Llamafile에 대한 파일 URI."
          }
        },
        "start": "Llamafile 시작",
        "stop": "Llamafile 중지"
      },
      "llamafile": {
        "error": {
          "noConfigured": "라마파일즈가 구성되지 않았습니다.",
          "noRunning": "Llamafiles 실행 중이 아닙니다.",
          "startFailed": "라마파일 시작 중 문제가 발생했습니다: {0}.\n자세한 내용은 콘솔을 참조하십시오.",
          "stopFailed": "라마파일 중지 중 문제가 발생했습니다: {0}.\n자세한 내용은 콘솔을 참조하세요."
        }
      },
      "mcp": {
        "blockedServersLabel": "MCP 서버(자동 시작 차단됨)",
        "error": {
          "allServersRunning": "모든 MCP 서버는 이미 실행 중입니다.",
          "authenticationRequired": "MCP 서버 \"{0}\"는 인증이 필요합니다. 로그인하려면 서버를 다시 시작하십시오.",
          "getRedirectUrlFailed": "MCP OAuth 리디렉션 URL을 확인하는 과정에서 오류가 발생했습니다.",
          "noOAuthServersConfigured": "OAuth가 활성화된 MCP 서버가 구성되지 않았습니다.",
          "noRunningServers": "실행 중인 MCP 서버가 없습니다.",
          "noServersConfigured": "구성된 MCP 서버가 없습니다.",
          "oauthRequiresTrustedWorkspace": "OAuth가 활성화된 MCP 서버를 시작하려면 신뢰할 수 있는 작업 공간이 필요합니다.",
          "signInFailed": "MCP 서버에 로그인하는 동안 오류가 발생했습니다.",
          "signOutFailed": "MCP 서버에서 로그아웃하는 동안 오류가 발생했습니다.",
          "startFailed": "MCP 서버 시작 중 오류가 발생했습니다.",
          "stopFailed": "MCP 서버를 중지하는 과정에서 오류가 발생했습니다."
        },
        "getRedirectUrl": {
          "label": "MCP: MCP OAuth 리디렉션 URL 가져오기"
        },
        "info": {
          "oauthRedirectUrl": "MCP OAuth 리디렉션 URL: {0}",
          "serverSignedIn": "MCP 서버 \"{0}\"에 로그인했습니다.",
          "serverSignedOut": "MCP 서버 \"{0}\"에서 로그아웃되었습니다.",
          "serverStarted": "MCP 서버 \"{0}\"가 성공적으로 시작되었습니다. 등록된 도구: {1}",
          "signInCancelled": "MCP 서버 \"{0}\"에 대한 로그인이 취소되었습니다."
        },
        "oauth": {
          "completeSignInInBrowser": "브라우저에서 MCP OAuth 로그인을 완료하십시오. 로그인 탭이 열리지 않았다면, 브라우저에서 팝업 창을 차단했을 수 있습니다.",
          "notification": {
            "signInPrompt": "MCP 서버 \"{0}\"는 시작하기 위해 인증이 필요합니다."
          }
        },
        "servers": {
          "args": {
            "mdDescription": "명령에 전달할 인수 배열.",
            "title": "명령어에 대한 인수"
          },
          "autostart": {
            "mdDescription": "프론트엔드가 시작될 때 이 서버를 자동으로 시작합니다. 새로 추가된 서버는 즉시 자동 시작되지 않으며, 재시작 시에만 적용됩니다.",
            "title": "자동 시작"
          },
          "command": {
            "mdDescription": "MCP 서버를 시작하는 데 사용되는 명령어, 예: \"uvx\" 또는 \"npx\".",
            "title": "MCP 서버 실행 명령어"
          },
          "deferLoading": {
            "mdDescription": "이 기능이 활성화되면, 이 서버에서 제공하는 도구는 생성된 프롬프트 조각 `mcp_<server>_tools`에서 '지연(deferred)'으로 표시됩니다. 지연 도구는 모델의 컨텍스트에 미리 로드되지 않습니다. 대신, 지원되는 경우 모델은 제공업체(Anthropic, OpenAI)의 내장 도구 검색 메커니즘을 통해 필요에 따라 해당 도구를 탐색합니다. 이를 통해 많은 도구를 노출하는 서버의 토큰 오버헤드를 크게 줄일 수 있습니다.",
            "title": "로딩 연기"
          },
          "env": {
            "mdDescription": "서버에 설정할 선택적 환경 변수(예: API 키).",
            "title": "환경 변수"
          },
          "headers": {
            "mdDescription": "서버에 보내는 각 요청에 포함되는 선택적 추가 헤더입니다. 헤더 값은 환경 설정에 일반 텍스트로 저장되므로, 민감한 값이 포함된 경우 작업 공간 설정을 사용하지 마십시오."
          },
          "mdDescription": "명령어, 인수 및 선택적으로 환경 변수를 사용하여 로컬 MCP 서버를 구성하거나, 서버 URL, 인증 토큰, OAuth 구성 및 선택적으로 인증 헤더 이름을 사용하여 원격 MCP 서버를 구성할 수 있습니다. 또한 자동 시작을 구성할 수도 있습니다(기본값은 true). 각 서버는 \"brave-search\"나 \"filesystem\"과 같은 고유한 키로 식별됩니다. 서버를 시작하려면 \"MCP: Start MCP Server\" 명령을 사용하여 원하는 서버를 선택하십시오. 서버를 중지하려면 \"MCP: Stop MCP Server\" 명령을 사용하십시오. 자동 시작 설정은 재시작 후에만 적용되므로, 처음에는 서버를 수동으로 시작해야 합니다. AI 레지스트리에서 설치된 서버에는 자동으로 관리되며 수동으로 편집해서는 안 되는 추가적인 `registryMetadata` 블록이 포함되어 있습니다.\n구성 예시:\n```{\n  \"brave-search\": {\n    \"command\": \"npx\",\n    \"args\": [\n      \"-y\",\n      \"@modelcontextprotocol/server-brave-search\"\n    ],\n    \"env\": {\n      \"BRAVE_API_KEY\": \"YOUR_API_KEY\"\n    },\n  },\n  \"filesystem\": {\n    \"command\": \"npx\",\n    \"args\": [\"-y\", \"@modelcontextprotocol/server-filesystem\", \"/Users/YOUR_USERNAME/Desktop\"],\n    \"env\": {\n      \"CUSTOM_ENV_VAR\": \"custom-value\"\n    },\n    \"autostart\": false\n  },\n  \"jira\": {\n    \"serverUrl\": \"YOUR_JIRA_MCP_SERVER_URL\",\n    \"serverAuthToken\": \"YOUR_JIRA_MCP_SERVER_TOKEN\"\n  },\n  \"oauth-protected-server\": {\n    \"serverUrl\": \"YOUR_OAUTH_PROTECTED_MCP_SERVER_URL\",\n    \"oauth\": {\n      \"clientId\": \"OPTIONAL_CLIENT_ID\",\n      \"scopes\": [\"OPTIONAL_SCOPE\"]\n    }\n  }\n  }\n```",
          "oauth": {
            "authorizationServer": {
              "mdDescription": "선택 사항인 인증 서버 URL 재정의. 생략할 경우, Theia는 MCP 서버에서 해당 URL을 자동으로 탐지합니다.",
              "title": "인증 서버"
            },
            "clientId": {
              "mdDescription": "선택 사항인 정적 OAuth 클라이언트 ID입니다. 생략할 경우, Theia는 동적 클라이언트 등록을 시도합니다.",
              "title": "클라이언트 ID"
            },
            "clientSecret": {
              "mdDescription": "사전 등록된 기밀 클라이언트만 허용하는(동적 클라이언트 등록 불가) 인증 서버용 선택적 OAuth 클라이언트 시크릿입니다. 클라이언트 ID와 함께 사용해야만 합니다. 이 정보는 환경 설정에 일반 텍스트로 저장되므로, 시크릿이 민감한 정보인 경우 작업 공간 설정을 사용하지 마십시오.",
              "title": "클라이언트 시크릿"
            },
            "mdDescription": "인증이 필요한 원격 MCP 서버를 위한 선택적 OAuth 2.1 구성입니다. 이 객체가 존재하면 서버에서 OAuth가 활성화되며, 제거하면 OAuth가 비활성화됩니다. Theia는 기본적으로 PKCE를 사용하는 공개 클라이언트를 사용하므로, 사전 등록된 기밀 클라이언트가 필요한 서버에 대해서만 클라이언트 시크릿을 구성하십시오. 변경 사항은 MCP 서버를 재시작한 후에 적용됩니다.",
            "resource": {
              "mdDescription": "이 MCP 서버에 대한 선택적 RFC 8707 리소스 표시기 재정의.",
              "title": "리소스"
            },
            "scopes": {
              "mdDescription": "서버가 범위를 공개하지 않는 경우 요청할 수 있는 선택적 OAuth 범위.",
              "title": "적용 범위"
            },
            "title": "OAuth"
          },
          "registryMetadata": {
            "configHash": {
              "mdDescription": "이 서버를 설치하는 데 사용된 레지스트리 승인 내용의 해시 값입니다.",
              "title": "레지스트리 구성 해시"
            },
            "mdDescription": "AI 레지스트리에서 설치된 서버에 대한 출처 메타데이터입니다. `@theia/ai-registry`가 작성했으며, 사용자가 편집할 수 없습니다.",
            "serverId": {
              "mdDescription": "이 서버가 설치된 AI 레지스트리 항목을 식별합니다.",
              "title": "레지스트리 서버 ID"
            },
            "title": "레지스트리 메타데이터",
            "version": {
              "mdDescription": "설치 시점에 기록된 레지스트리에 게시된 버전입니다.",
              "title": "레지스트리 버전"
            }
          },
          "serverAuthToken": {
            "mdDescription": "필요한 경우 서버용 인증 토큰. 이 토큰은 환경 설정에 일반 텍스트로 저장되므로, 토큰이 민감한 정보인 경우 작업 공간 설정을 사용하지 마십시오.",
            "title": "인증 토큰"
          },
          "serverAuthTokenHeader": {
            "mdDescription": "서버 인증 토큰에 사용할 헤더 이름입니다. 지정하지 않을 경우 \"Authorization\"에 \"Bearer\"가 사용됩니다.",
            "title": "인증 헤더 이름"
          },
          "serverUrl": {
            "mdDescription": "원격 MCP 서버의 URL입니다. 이 URL이 제공되면 서버는 로컬 프로세스를 시작하는 대신 이 URL에 연결합니다.",
            "title": "서버 URL"
          },
          "title": "MCP 서버 구성"
        },
        "signin": {
          "label": "MCP: MCP 서버에 로그인"
        },
        "signout": {
          "label": "MCP: MCP 서버에서 로그아웃"
        },
        "start": {
          "label": "MCP: MCP 서버 시작"
        },
        "stop": {
          "label": "MCP: MCP 서버 중지"
        },
        "useWorkspaceAsRoot": {
          "mdDescription": "루트는 파일 시스템 내에서 서버가 작동할 수 있는 경계를 정의합니다. 활성화된 경우 작업 공간 폴더가 루트로 사용되며, 그렇지 않으면 MCP 서버가 전체 파일 시스템에 접근할 수 있습니다. 이 설정을 변경하면 새 루트 구성을 적용하기 위해 실행 중인 모든 MCP 서버가 재시작됩니다.",
          "title": "루트로 작업 공간 사용"
        },
        "warn": {
          "serverPreferenceChangeFailed": "MCP 서버 기본 설정 변경 사항을 적용하지 못했습니다: {0}",
          "signInNotCompleted": "MCP 서버 \"{0}\"에 대한 로그인이 완료되지 않았습니다."
        }
      },
      "mcpConfiguration": {
        "autostart": "자동 시작",
        "browseAIRegistry": "AI 레지스트리 찾아보기",
        "browseAIRegistryTooltip": "확장 프로그램 보기를 열어 AI 레지스트리 항목을 살펴보세요.",
        "command": {
          "addServer": "로컬 MCP 구성 추가..."
        },
        "copiedAllList": "모든 도구를 클립보드에 복사함 (모든 도구 목록)",
        "copiedAllSingle": "모든 도구를 클립보드에 복사함 (모든 도구가 포함된 단일 프롬프트 조각)",
        "copiedForPromptTemplate": "모든 도구를 클립보드에 복사하여 프롬프트 템플릿 생성                                     (모든 도구가 포함된 단일 프롬프트 조각)",
        "copyAllList": "모두 복사 (모든 도구 목록)",
        "copyAllSingle": "채팅용 전체 복사 (모든 도구가 포함된 단일 프롬프트 조각)",
        "copyForPrompt": "복사 도구 (채팅 또는 프롬프트 템플릿용)",
        "copyForPromptTemplate": "프롬프트 템플릿용 전체 복사 (모든 도구가 포함된 단일 프롬프트 조각)",
        "deferLoading": "도구 로딩 연기",
        "deleteServer": "서버 삭제",
        "deleteServerDialogMsg": "서버 \"{0}\"를 삭제하시겠습니까?",
        "deleteServerDialogTitle": "MCP 서버 삭제",
        "deleteServerError": "MCP 서버 삭제 실패: {0}",
        "editServer": "서버 편집",
        "editServerTitle": "MCP 서버 편집",
        "environmentVariables": "환경 변수",
        "form": {
          "argsPlaceholder": "공백으로 구분, 예: -y @modelcontextprotocol/server-brave-search",
          "authHeaderPlaceholder": "기본값: Bearer 인증",
          "authTokenPlaceholder": "선택적 인증 토큰",
          "autostart": "자동 시작",
          "commandPlaceholder": "예: npx 또는 uvx",
          "commandRequired": "로컬 서버에는 명령어가 필요합니다",
          "deferLoading": "도구 로딩 연기 (프로바이더 도구 검색을 통해 필요 시 도구를 검색)",
          "envPlaceholder": "KEY=value (한 줄에 하나씩)",
          "headersPlaceholder": "헤더-이름=값 (한 줄에 하나씩)",
          "localServer": "로컬 (명령)",
          "nameExists": "이 이름의 서버가 이미 존재합니다",
          "nameRequired": "서버 이름이 필요합니다",
          "oauthAuthorizationServerInvalid": "OAuth 인증 서버는 유효한 http(s) URL이어야 합니다.",
          "oauthAuthorizationServerPlaceholder": "선택적 인증 서버 URL",
          "oauthClientIdPlaceholder": "선택적 정적 클라이언트 ID",
          "oauthClientSecretPlaceholder": "기밀 클라이언트가 필요한 서버 전용",
          "oauthPublicClientDescription": "Theia는 기본적으로 PKCE를 사용하는 공개 OAuth 클라이언트를 사용합니다. 서버에서 사전 등록된 기밀 클라이언트를 요구하는 경우에만 클라이언트 시크릿을 제공하십시오.",
          "oauthRedirectUrlDescription": "인증 콜백은 이 URL로 전송됩니다. 고정된 클라이언트 ID를 사용하여 OAuth 제공업체에 리디렉션 URI로 등록하십시오.",
          "oauthResourceInvalid": "OAuth 리소스는 유효한 http(s) URL이어야 합니다.",
          "oauthResourcePlaceholder": "선택적 리소스 URI",
          "oauthScopesPlaceholder": "공백으로 구분된 범위",
          "oauthSharedCredentialsDescription": "저장된 OAuth 세션은 동일한 서버 이름과 URL(또는 리소스)을 사용하는 워크스페이스 간에 공유됩니다.",
          "remoteOAuthServer": "원격(OAuth)",
          "remoteServer": "원격 (URL)",
          "saveChanges": "변경 사항 저장",
          "serverName": "서버 이름",
          "serverNamePlaceholder": "예: my-mcp-server",
          "serverUrlPlaceholder": "예: https://mcp.example.com",
          "serverUrlRequired": "원격 서버에는 서버 URL이 필요합니다."
        },
        "fromRegistryLink": "레지스트리에서",
        "oauth": "OAuth",
        "oauthAuthorizationServer": "인증 서버",
        "oauthClientId": "OAuth 클라이언트 ID",
        "oauthClientSecret": "OAuth 클라이언트 시크릿",
        "oauthRedirectUrl": "리디렉션 URL",
        "oauthResource": "OAuth 리소스",
        "oauthScopes": "OAuth 범위",
        "openInRegistry": "AI 레지스트리에서 열기: {0}",
        "saveServerError": "MCP 서버 구성을 저장하지 못했습니다: {0}",
        "serverAuthToken": "인증 토큰",
        "serverAuthTokenHeader": "인증 헤더 이름",
        "serverUrl": "서버 URL",
        "signInServerFailed": "MCP 서버 \"{0}\"에 로그인하는 데 실패했습니다.",
        "signInServerNotCompleted": "MCP 서버 \"{0}\"에 대한 로그인이 완료되지 않았습니다.",
        "signInServerSucceeded": "MCP 서버 \"{0}\"에 로그인했습니다.",
        "signOutServerDialogMsg": "\"{0}\" 서버에서 로그아웃하시겠습니까? 이 작업을 수행하면 해당 서버에 저장된 OAuth 토큰이 삭제됩니다.",
        "signOutServerDialogTitle": "MCP 서버에서 로그아웃",
        "signOutServerFailed": "MCP 서버 \"{0}\"에서 로그아웃하는 데 실패했습니다.",
        "startServerFailed": "MCP 서버 \"{0}\"을(를) 시작하지 못했습니다.",
        "stopServerFailed": "MCP 서버 \"{0}\"을 중지하는 데 실패했습니다.",
        "tools": "도구: "
      },
      "openai": {
        "apiKey": {
          "mdDescription": "공식 OpenAI 계정의 API 키를 입력하세요. **참고:** 이 설정을 사용하면 OpenAI API 키가 Theia가 실행되는 머신에 평문으로 저장됩니다. 키를 안전하게 설정하려면 환경 변수 `OPENAI_API_KEY`를 사용하세요."
        },
        "compaction": {
          "default": "전역 채팅 서버 측 압축 설정을 따릅니다.",
          "description": "공식 OpenAI 모델에 대해 제공업체 기본 서버 측 압축 기능을 재정의합니다. 이는 OpenAI Response API에만 적용되며, Chat Completions API는 이를 무시합니다. “default”는 전역 채팅 설정({0})을 따릅니다. 이 기능이 활성화되면, 대화 내용이 제공업체의 임계값을 초과할 경우 Response API에 이전 대화 내용을 요약하도록 요청됩니다.",
          "disabled": "공식 OpenAI 모델에 대해서는 절대로 서버 측 압축을 요청하지 마십시오.",
          "enabled": "공식 OpenAI 모델의 경우 항상 서버 측 압축을 요청하십시오."
        },
        "compactionTokenThreshold": {
          "description": "공식 OpenAI 모델에 대한 서버 측 압축의 전역 입력 토큰 임계값을 재정의합니다. 이 설정이 지정되지 않은 경우, 전역 설정 또는 공급자 기본값이 적용됩니다. 설정된 경우, 값은 50,000 토큰 이상이어야 합니다."
        },
        "customEndpoints": {
          "apiKey": {
            "title": "지정된 URL에서 제공되는 API에 접근하기 위한 키 또는 글로벌 OpenAI API 키를 사용하려면 `true`"
          },
          "apiVersion": {
            "title": "Azure에서 제공되는 지정된 URL의 API에 접근할 버전 또는 글로벌 OpenAI API 버전을 사용하려면 `true`"
          },
          "deployment": {
            "title": "Azure에서 지정된 URL로 제공되는 API에 접근하기 위한 배포 이름"
          },
          "developerMessageSettings": {
            "title": "시스템 메시지 처리 방식을 제어합니다: `user`, `system`, `developer`는 역할로 사용되며, `mergeWithFollowingUserMessage`는 다음 사용자 메시지에 시스템 메시지를 접두사로 추가하거나 다음 메시지가 사용자 메시지가 아닐 경우 시스템 메시지를 사용자 메시지로 변환합니다. `skip`은 시스템 메시지를 단순히 제거합니다. 기본값은 `developer`입니다."
          },
          "enableStreaming": {
            "title": "스트리밍 API 사용 여부를 나타냅니다. 기본값은 `true`입니다."
          },
          "id": {
            "title": "UI에서 사용자 정의 모델을 식별하는 데 사용되는 고유 식별자"
          },
          "mdDescription": "`vllm` 등을 통해 OpenAI API와 호환되는 사용자 정의 모델을 통합합니다. 필수 속성은 `model`과 `url`입니다.            \n            선택적으로 다음을 수행할 수 있습니다.            \n            - UI에서 사용자 정의 모델을 식별할 고유한 `id`를 지정합니다. 지정하지 않으면 `model`이 `id`로 사용됩니다.            \n            - 지정된 URL에서 제공되는 API에 액세스하기 위해 `apiKey`를 제공하십시오. 전역 OpenAI API 키 사용을 나타내려면 `true`를 사용하십시오.            \n            - Azure에서 지정된 URL에서 제공되는 API에 액세스하기 위해 `apiVersion`을 제공하십시오. 글로벌 OpenAI API 버전을 사용하려면 `true`를 지정하십시오.            \n            - Azure 배포에 대한 `deployment` 이름을 제공하십시오.            \n            - `developerMessageSettings`를 `user`, `system`, `developer`, `mergeWithFollowingUserMessage` 또는 `skip` 중 하나로 설정하여 개발자 메시지가 포함되는 방식을 제어하십시오 (여기서 `user`, `system`, `developer`는 역할로 사용되며, `mergeWithFollowingUserMessage`는 다음 사용자 메시지 앞에 시스템 메시지를 추가하거나, 다음 메시지가 사용자 메시지가 아닐 경우 시스템 메시지를 사용자 메시지로 변환합니다. `skip`은 시스템 메시지를 단순히 제거합니다).            기본값은 `developer`입니다.            \n            - `supportsStructuredOutput: false`를 지정하여 구조화된 출력을 사용하지 않도록 설정합니다.            \n            - `enableStreaming: false`를 지정하여 스트리밍을 사용하지 않도록 설정합니다.            \n            - `useResponseApi: true`를 지정하여 Chat Completion API 대신 최신 OpenAI Response API를 사용합니다(호환되는 엔드포인트 필요).            \n            - `reasoningSupport`를 지정하여 채팅 추론 선택기를 활성화할 수 있습니다. `supportedLevels`(예: `[\"off\", \"low\", \"medium\", \"high\", \"auto\"]`)와 선택 사항인 `defaultLevel`을 포함한 객체를 제공하십시오.            \n            자세한 내용은 [문서](https://theia-ide.org/docs/user_ai/#openai-compatible-models-eg-via-vllm)를 참조하십시오.",
          "modelId": {
            "title": "모델 ID"
          },
          "reasoningSupport": {
            "title": "모델의 추론 기능을 선언합니다. 이 설정이 활성화되면 채팅 창에 해당 모델에 대한 추론 선택기가 표시됩니다."
          },
          "supportsStructuredOutput": {
            "title": "모델이 구조화된 출력을 지원하는지 여부를 나타냅니다. 기본값은 `true`입니다."
          },
          "url": {
            "title": "모델이 호스팅되는 OpenAI API 호환 엔드포인트"
          },
          "useResponseApi": {
            "title": "Chat Completion API 대신 최신 OpenAI Response API를 사용하십시오. 사용자 정의 제공자의 경우 기본값은 `false`입니다.참고: 도구가 사용될 경우 자동으로 Chat Completions API로 대체됩니다."
          }
        },
        "models": {
          "description": "사용할 공식 OpenAI 모델"
        },
        "useResponseApi": {
          "mdDescription": "공식 OpenAI 모델의 경우, Chat Completion API 대신 최신 OpenAI Response API를 사용하십시오. 이 설정은 공식 OpenAI 모델에만 적용되며, 사용자 정의 제공자는 이를 개별적으로 구성해야 합니다."
        }
      },
      "promptTemplates": {
        "directories": {
          "description": "WORKSPACE 전용 프롬프트 템플릿을 검색할 현재 작업 공간 내 폴더를 나타내는 상대 경로 목록. 동일한 ID(파일명)의 템플릿이 여러 위치에 존재할 경우, 우선순위에 따라 충돌이 해결됩니다: 특정 템플릿 파일(가장 높음) > 작업 공간 디렉터리 > 글로벌 디렉터리(가장 낮음).",
          "title": "워크스페이스별 프롬프트 템플릿 디렉터리"
        },
        "extensions": {
          "description": "프롬프트 위치에서 프롬프트 템플릿으로 간주되는 추가 파일 확장자 목록. '.prompttemplate'은 항상 기본값으로 간주됩니다.",
          "title": "추가 프롬프트 템플릿 파일 확장자"
        },
        "files": {
          "description": "현재 작업 공간 내 특정 파일로의 상대 경로 목록으로, 프롬프트 템플릿으로 사용됩니다. 동일한 ID(파일명)를 가진 템플릿이 여러 위치에 존재할 경우, 우선순위에 따라 충돌이 해결됩니다: 특정 템플릿 파일(가장 높음) > 작업 공간 디렉터리 > 글로벌 디렉터리(가장 낮음).",
          "title": "워크스페이스별 프롬프트 템플릿 파일"
        }
      },
      "scanoss": {
        "changeSet": {
          "clean": "일치하는 항목 없음",
          "error": "오류: 다시 실행",
          "error-notification": "ScanOSS 오류 발생: {0}.",
          "match": "일치 항목 보기",
          "scan": "스캔",
          "scanning": "스캔 중..."
        },
        "mode": {
          "automatic": {
            "description": "채팅 뷰에서 코드 스니펫 자동 스캔을 활성화합니다."
          },
          "description": "채팅 뷰에서 코드 스니펫을 분석하기 위한 SCANOSS 기능 구성. 이 설정은 제안된 코드 스니펫의 해시 값을 [Software Transparency foundation](https://www.softwaretransparency.org/osskb)에서 호스팅하는 SCANOSS 서비스로 전송하여 분석합니다.",
          "manual": {
            "description": "사용자는 채팅 뷰에서 SCANOSS 항목을 클릭하여 수동으로 스캔을 실행할 수 있습니다."
          },
          "off": {
            "description": "기능이 완전히 꺼져 있습니다."
          }
        },
        "snippet": {
          "dialog-header": "ScanOSS 결과",
          "errored": "SCANOSS - 오류 - {0}",
          "file-name-heading": "{0}에서 일치하는 항목 발견",
          "in-progress": "SCANOSS - 스캔 수행 중...",
          "match-count": "{0}개 일치 항목 발견",
          "matched": "SCANOSS - {0} 일치 항목 발견",
          "no-match": "SCANOSS - 일치하는 항목 없음"
        }
      },
      "session-settings-dialog": {
        "advancedSettings": "고급 설정 (JSON)",
        "compactionHeader": "서버 측 압축",
        "compactionLabel": "압축:",
        "compactionNote": "이 세션에 대한 전역 및 제공자별 압축 설정을 재정의합니다. 서버 측 압축을 지원하는 제공자에게만 적용됩니다.",
        "compactionTokenThreshold": "토큰 임계값:",
        "confirmationTimeout": "확인 시간 초과",
        "confirmationTimeoutNote": "지정된 시간이 지나면 도구 확인 메시지를 자동으로 거부합니다. 이 세션에 대해서는 전체 환경 설정을 무시합니다.",
        "enableConfirmationTimeout": "활성화 확인 시간 제한",
        "timeoutSeconds": "타임아웃(초):",
        "title": "세션 설정 지정",
        "tooltip": "세션 설정 지정"
      },
      "terminal": {
        "agent": {
          "description": "이 에이전트는 임의의 터미널 명령어 작성 및 실행을 지원합니다.         사용자의 요청에 따라 명령어를 제안하며, 사용자가 직접 터미널에 붙여넣어 실행할 수 있도록 합니다.         터미널 세션의 현재 디렉터리, 환경 변수 및 최근 출력 내용을 참조하여 컨텍스트 기반 지원을 제공합니다.",
          "vars": {
            "cwd": {
              "description": "현재 작업 디렉터리."
            },
            "recentTerminalContents": {
              "description": "터미널에 표시되는 최근 0~50개의 마지막 줄."
            },
            "shell": {
              "description": "사용 중인 셸, 예: /usr/bin/zsh."
            },
            "userRequest": {
              "description": "사용자의 질문 또는 요청."
            }
          }
        },
        "askAi": "Ask AI",
        "askTerminalCommand": "터미널 명령어에 대해 문의하기...",
        "hitEnterConfirm": "확인하려면 엔터 키를 누르세요",
        "howCanIHelp": "어떻게 도와드릴까요?",
        "terminalCommandBlockAIVariable": {
          "description": "실행된 터미널 명령어와 그에 해당하는 출력을 저장합니다.",
          "index": {
            "description": "터미널 기록 내 명령어 블록의 인덱스입니다. 지정되지 않은 경우 기본적으로 마지막 명령어가 사용됩니다."
          },
          "quickPick": {
            "placeholder": "명령어를 입력하여 필터링하세요",
            "title": "터미널 기록에서 명령어와 해당 출력을 선택합니다"
          }
        },
        "tryAgain": "다시 시도해 보세요...",
        "useArrowsAlternatives": " 또는 ⇅를 사용하여 대안을 표시할 수 있습니다..."
      },
      "tokenUsage": {
        "cachedInputTokens": "캐시에 기록된 입력 토큰",
        "cachedInputTokensTooltip": "'입력 토큰'에 추가로 추적됩니다. 일반적으로 캐시되지 않은 토큰보다 비용이 더 높습니다.",
        "failedToGetTokenUsageData": "토큰 사용량 데이터 가져오기 실패: {0}",
        "inputTokens": "입력 토큰",
        "label": "토큰 사용법",
        "lastUsed": "마지막 사용",
        "noData": "아직 토큰 사용 데이터가 없습니다.",
        "note": "토큰 사용량은 애플리케이션 시작 시점부터 추적되며 저장되지 않습니다.",
        "outputTokens": "출력 토큰",
        "readCachedInputTokens": "캐시에서 읽은 입력 토큰",
        "readCachedInputTokensTooltip": "'입력 토큰'에 추가로 추적됩니다. 일반적으로 캐시되지 않은 경우보다 훨씬 저렴합니다. 일반적으로 속도 제한에 포함되지 않습니다.",
        "totalTokensTooltip": "'입력 토큰' + '출력 토큰'"
      },
      "vercelai": {
        "anthropicApiKey": {
          "mdDescription": "Vercel AI SDK에서 사용하는 Anthropic 모델용 API 키를 입력하세요.                 **참고:** 이 설정을 사용하면 API 키가 Theia가 실행되는 머신에 평문으로 저장됩니다. 키를 안전하게 설정하려면 환경 변수 `ANTHROPIC_API_KEY`를 사용하세요."
        },
        "customEndpoints": {
          "apiKey": {
            "title": "지정된 URL에서 제공되는 API에 접근하기 위한 키 또는 글로벌 API 키를 사용하려면 `true`"
          },
          "enableStreaming": {
            "title": "스트리밍 API 사용 여부를 나타냅니다. 기본값은 `true`입니다."
          },
          "id": {
            "title": "UI에서 사용자 정의 모델을 식별하는 데 사용되는 고유 식별자"
          },
          "mdDescription": "Vercel AI SDK와 호환되는 사용자 정의 모델을 통합합니다. 필수 속성은 `model`과 `url`입니다.            \n            선택적으로 다음을 지정할 수 있습니다:            \n            - UI에서 사용자 정의 모델을 식별하기 위한 고유한 `id`를 지정합니다. 지정되지 않으면 `model`이 `id`로 사용됩니다.            \n            - 지정된 URL에서 제공되는 API에 접근하기 위한 `apiKey`를 제공합니다. `true`를 사용하여 글로벌 API 키 사용을 지정합니다.            \n            - `supportsStructuredOutput: false`를 지정하여 구조화된 출력을 사용하지 않도록 합니다.            \n            - `enableStreaming: false`를 지정하여 스트리밍을 사용하지 않도록 합니다.            \n            - `provider`를 지정하여 모델의 공급자(openai, anthropic)를 명시합니다.",
          "modelId": {
            "title": "모델 ID"
          },
          "supportsStructuredOutput": {
            "title": "모델이 구조화된 출력을 지원하는지 여부를 나타냅니다. 기본값은 `true`입니다."
          },
          "url": {
            "title": "모델이 호스팅되는 API 엔드포인트"
          }
        },
        "models": {
          "description": "Vercel AI SDK와 함께 사용할 공식 모델",
          "id": {
            "title": "모델 ID"
          },
          "model": {
            "provider": "제공자",
            "title": "모델명"
          }
        },
        "openaiApiKey": {
          "mdDescription": "Vercel AI SDK에서 사용하는 OpenAI 모델용 API 키를 입력하세요.                 **참고:** 이 설정을 사용하면 API 키가 Theia가 실행되는 머신에 평문으로 저장됩니다. 키를 안전하게 설정하려면 환경 변수 `OPENAI_API_KEY`를 사용하세요."
        }
      },
      "workspace": {
        "allowedExternalPaths": {
          "description": "AI 도구가 읽을 수 있는 작업 공간 외부의 절대 경로 또는 파일 URI(디렉터리 또는 파일) 목록입니다. 사용자 홈 디렉터리를 참조하기 위해 `~`를 지원합니다. 기본적으로 비어 있으며, 사용자가 직접 활성화해야만 사용됩니다. getFileContent, findFilesByPattern, getWorkspaceFileList 및 getWorkspaceDirectoryStructure에서 지원됩니다. 작업 공간이 신뢰되지 않을 경우 작업 공간 범위의 값은 무시됩니다. 허용 목록에 포함된 디렉터리 내의 심볼릭 링크는 추적되며, 허용 목록 외부의 파일을 가리킬 수 있습니다. 따라서 내용물을 신뢰할 수 있는 디렉터리만 추가하십시오.",
          "title": "허용된 외부 경로"
        },
        "coderAgent": {
          "description": "Theia IDE에 통합된 AI 어시스턴트로, 소프트웨어 개발자를 지원하도록 설계되었습니다. 이 에이전트는 사용자의 작업 공간에 접근할 수 있으며, 사용 가능한 모든 파일 및 폴더 목록을 가져오고 해당 내용을 검색할 수 있습니다. 또한 사용자에게 파일 수정 사항을 제안할 수 있습니다. 따라서 코딩 작업이나 파일 변경이 필요한 기타 작업을 지원할 수 있습니다."
        },
        "considerGitignore": {
          "description": "이 기능이 활성화되면 각 작업 공간 루트 디렉터리에 있는 .gitignore 규칙에 일치하는 파일/폴더가 제외됩니다.",
          "title": ".gitignore를 고려하십시오"
        },
        "createSkillAgent": {
          "description": "새로운 스킬을 생성하기 위한 AI 어시스턴트입니다. 스킬은 AI 에이전트를 위한 재사용 가능한 지침과 도메인 지식을 제공합니다. 이 에이전트는 적절한 YAML 프론트매터와 마크다운 콘텐츠를 포함하여 .agents/skills 또는 .prompts/skills 디렉터리에 잘 구조화된 스킬을 생성할 수 있도록 도와줍니다. 이 기능은 아직 초기 단계에 있으며 변경될 수 있습니다."
        },
        "excludedPattern": {
          "description": "제외할 파일/폴더에 대한 패턴(글로브 또는 정규식) 목록.",
          "title": "제외된 파일 패턴"
        },
        "fileContentMaxSizeKB": {
          "description": "getFileContent 도구가 반환하는 콘텐츠의 최대 크기(킬로바이트 단위). 전체 파일을 읽을 때(오프셋/제한 없음), 이 제한을 초과하는 파일은 오류를 반환합니다. 오프셋과 제한을 사용할 경우, 요청된 범위만 이 제한에 대해 확인됩니다.",
          "title": "파일 내용 최대 크기 (KB)"
        },
        "projectInfoAgent": {
          "description": "프로젝트 정보 템플릿 관리를 위한 AI 에이전트입니다. 이 에이전트는 다른 AI 에이전트에게 프로젝트에 대한 컨텍스트를 제공하는 .prompts/project-info.prompttemplate 파일의 생성, 업데이트 및 검토를 지원합니다. 작업 공간을 분석하여 프로젝트 정보를 제안하거나 요구 사항에 따라 기존 템플릿을 업데이트할 수 있습니다."
        },
        "searchMaxResults": {
          "description": "작업 공간 검색 기능이 반환하는 최대 검색 결과 수.",
          "title": "최대 검색 결과"
        },
        "workspaceAgent": {
          "description": "소프트웨어 개발자를 지원하기 위해 설계된 Theia IDE에 통합된 AI 어시스턴트입니다. 이 에이전트는 사용자의 작업 공간에 접근할 수 있으며, 사용 가능한 모든 파일 및 폴더 목록을 가져오고 해당 내용을 검색할 수 있습니다. 파일을 수정할 수는 없습니다. 따라서 작업 공간 내 현재 프로젝트, 프로젝트 파일 및 소스 코드에 관한 질문(예: 프로젝트 빌드 방법, 소스 코드 저장 위치, 특정 코드나 설정 찾기 등)에 답변할 수 있습니다."
        }
      }
    },
    "ai-chat": {
      "fileChangeSetTitle": "제안된 변경 사항"
    },
    "ai-chat-ui": {
      "blockedResource": {
        "allow": "이 차단된 콘텐츠 허용",
        "aria": "차단된 외부 리소스: {0}",
        "inlineContent": "(인라인 외부 콘텐츠)",
        "label": "외부 리소스 차단됨:",
        "resourcesToAllow": "{0} 리소스가 활성화됩니다"
      },
      "browseAllChats": "모든 채팅 보기...",
      "confirm": "확인",
      "deleteChat": "채팅 삭제",
      "home": "홈",
      "initiate-session-task-context": "작업 컨텍스트: 세션 시작",
      "noOutput": "출력 없음",
      "open-current-session-summary": "현재 세션 요약 열기",
      "open-settings-tooltip": "AI 설정 열기...",
      "openSession": "채팅 세션 열기",
      "renameChat": "채팅 이름 변경",
      "scroll-lock": "스크롤 잠금",
      "scroll-unlock": "스크롤 잠금 해제",
      "session-settings": "세션 설정 지정",
      "summarize-current-session": "현재 세션 요약"
    },
    "ai-claude-code": {
      "open-config": "Open Claude 코드 구성",
      "open-memory": "클로드 코드 메모리(CLAUDE.MD) 열기"
    },
    "ai-core": {
      "agentCompletionMessage": "에이전트 \"{0}\"가 작업을 완료했습니다.",
      "agentCompletionMessageWithSession": "에이전트 \"{0}\"가 \"{1}\"에서 작업을 완료했습니다.",
      "agentCompletionTitle": "에이전트 \"{0}\" 작업 완료됨",
      "agentInputNeededMessage": "에이전트 \"{0}\"가 사용자의 입력을 기다리고 있습니다.",
      "agentInputNeededMessageWithSession": "에이전트 \"{0}\"가 \"{1}\"에서 사용자의 입력을 기다리고 있습니다.",
      "agentInputNeededTitle": "에이전트 “{0}”가 여러분의 의견을 기다립니다",
      "aiDisabledInRestrictedMode": "신뢰할 수 없는 작업 공간에서는 AI 기능을 사용할 수 없습니다.",
      "preferences": {
        "linuxEnvHint": "Linux에서 데스크톱 바로 가기를 통해 애플리케이션을 실행하는 경우, 변수가 `~/.bashrc`뿐만 아니라 `~/.profile`에도 정의되어 있는지 확인하십시오. 자세한 내용은 [문서](https://theia-ide.org/docs/user_ai/#setting-api-keys)를 참조하십시오.",
        "title": "AI 기능"
      },
      "showChat": "채팅 표시"
    },
    "ai-editor": {
      "contextMenu": "Ask AI",
      "sendToChat": "AI 채팅으로 보내기"
    },
    "ai-ide": {
      "addressGhReviewCommand": {
        "argumentHint": "<pr-number>",
        "description": "GitHub 풀 리퀘스트에 대한 검토 코멘트 처리"
      },
      "appTester": {
        "description": "구현 후 브라우저 기반 UI 검증을 위해 AppTester 에이전트로 위임합니다.",
        "name": "E2E 테스트"
      },
      "codeReview": {
        "description": "각 구현 후 코드 검토 에이전트에 위임합니다. 검토가 통과될 때까지 다음 단계를 차단합니다."
      },
      "fixGhTicketCommand": {
        "argumentHint": "<티켓 번호>",
        "description": "GitHub 티켓을 분석하고 해결책을 구현하십시오."
      },
      "newChat": "새 채팅",
      "noSessions": "아직 채팅 세션이 없습니다.",
      "open-ai-configuration-tooltip": "OpenAI 구성",
      "perspective": {
        "aiFirst": "AI 우선"
      },
      "rememberCommand": {
        "argumentHint": "[topic-hint]",
        "description": "대화에서 주제를 추출하고 프로젝트 정보를 업데이트하십시오."
      },
      "sessionsView": "AI 세션",
      "ticketCommand": {
        "argumentHint": "<티켓 번호>",
        "description": "GitHub 티켓을 분석하고 구현 계획을 수립하십시오."
      },
      "todoTool": {
        "noTasks": "작업 없음"
      },
      "userInteractionCommentPlaceholder": "이 단계에 대한 설명을 추가하세요...",
      "userInteractionEmpty": "비어 있음",
      "userInteractionFinishStep": "완료",
      "userInteractionGoToStep": "{0} 단계로 이동: {1}",
      "userInteractionMalformed": "사용자 상호작용을 표시할 수 없습니다",
      "userInteractionMalformedFallback": "인수를 구문 분석할 수 없습니다.",
      "userInteractionPreparing": "사용자 상호작용 준비 중...",
      "userInteractionPreparingSteps": "준비: {0} ({1} 단계)",
      "userInteractionPreparingTitle": "준비 중: {0}",
      "userInteractionWorkingCopy": "Working Copy"
    },
    "ai-mcp": {
      "installDialog": {
        "authTokenPlaceholder": "이 서버에 연결하기 위해 필요합니다.",
        "authTokenRequired": "이 서버를 설치하려면 인증 토큰이 필요합니다.",
        "oauthClientIdPlaceholder": "이 서버에 연결하기 위해 필요합니다.",
        "oauthClientSecretPlaceholder": "이 서버에 연결하기 위해 필수적인 사항",
        "oauthCredentialsRequired": "이 서버를 설치하려면 OAuth 클라이언트 ID와 클라이언트 시크릿이 필요합니다.",
        "oauthDescription": "이 서버는 사전 등록된 기밀 클라이언트와 함께 OAuth를 사용합니다. OAuth 제공업체에서 발급한 클라이언트 ID와 시크릿을 입력하십시오.",
        "title": "MCP 서버 설치",
        "trust": {
          "unknown": "AI 레지스트리가 구성되어 있지 않습니다. 신뢰성을 확인할 수 없습니다.",
          "unverified": "이 서버는 AI 레지스트리({0})에 등록되어 있지 않습니다. 설치는 전적으로 사용자의 책임 하에 진행하십시오.",
          "verified": "AI 레지스트리({0})의 승인을 받았습니다."
        }
      },
      "installUri": {
        "alreadyInstalled": {
          "msg": "\"{0}\"이라는 이름의 MCP 서버가 이미 구성되어 있습니다. 계속 진행하면 레지스트리의 구성 정보로 기존 항목을 덮어쓰게 됩니다.",
          "title": "MCP 서버가 이미 설치되어 있습니다"
        },
        "missingId": "설치 링크에 필수 \"id\" 매개변수가 누락되었습니다.",
        "noRegistry": "MCP 서버 \"{0}\"을 설치할 수 없습니다. 이 제품에 AI 레지스트리가 구성되어 있지 않습니다.",
        "success": "AI 레지스트리에서 MCP 서버 “{0}”를 설치했습니다.",
        "unknownId": "MCP 서버 \"{0}\"가 AI 레지스트리에 등록되어 있지 않습니다."
      }
    },
    "ai-registry": {
      "action": {
        "fix": "설정 수정",
        "link": "레지스트리 링크",
        "unlink": "연결 해제",
        "updateTooltip": "{0}에서 {1}로 업데이트됨"
      },
      "skill": {
        "action": {
          "fix": "스킬 수정",
          "link": "레지스트리 링크",
          "unlink": "연결 해제"
        },
        "fixed": "\"{0}\" 스킬을 복원했습니다.",
        "githubToken": {
          "mdDescription": "GitHub에서 스킬을 다운로드할 때 사용되는 선택적 GitHub 개인 액세스 토큰입니다. 이 토큰을 사용하면 GitHub의 요청 제한이 시간당 60회에서 5000회로 늘어납니다. **주의 사항:** 이 설정을 사용하면 토큰이 Theia가 실행 중인 컴퓨터에 일반 텍스트로 저장됩니다. 안전하게 토큰을 제공하려면 환경 변수 `GITHUB_TOKEN`을 사용하는 것이 좋습니다."
        },
        "installUri": {
          "confirm": {
            "msg": "{1}에서 파일을 다운로드하여 “{0}” 스킬을 설치하십시오.",
            "title": "스킬 설치"
          },
          "fetchFailed": "\"{0}\" 스킬을 설치하기 위해 AI 레지스트리를 불러올 수 없습니다.",
          "missingId": "설치 링크에 필수 \"id\" 매개변수가 누락되었습니다.",
          "success": "AI 레지스트리에서 “{0}” 스킬을 설치했습니다.",
          "unknownId": "\"{0}\" 스킬이 AI 레지스트리에 등록되어 있지 않습니다."
        },
        "installed": "\"{0}\" 스킬이 설치되었습니다.",
        "linked": "연관 기술: “{0}”.",
        "uninstalled": "\"{0}\" 스킬이 제거되었습니다.",
        "unlinked": "연결되지 않은 스킬 “{0}”.",
        "updated": "\"{0}\" 스킬을 업데이트했습니다.",
        "warning": {
          "fix": "이 스킬의 파일은 레지스트리와 다릅니다. '스킬 수정'을 클릭하여 파일을 복원하십시오.",
          "linkStale": "이 스킬은 레지스트리를 통해 설치되었으나, 더 이상 레지스트리에 표시되지 않습니다. ‘연결 해제’를 클릭하여 레지스트리 연결을 제거하고 파일을 유지하거나, ‘제거’를 클릭하여 스킬을 제거하십시오.",
          "notInRegistry": "레지스트리에 없음"
        },
        "watcherStopped": "스킬 폴더의 변경 사항을 더 이상 모니터링하지 않습니다. 설치된 스킬이 더 이상 자동으로 새로 고쳐지지 않을 수 있습니다. 창을 다시 불러오면 기능을 재개할 수 있습니다."
      },
      "warning": {
        "fixConfig": "이 서버의 구성이 레지스트리와 다릅니다. '구성 수정'을 클릭하여 복원하십시오.",
        "linkStale": "이 서버는 레지스트리를 통해 설치되었으나, 더 이상 레지스트리에 나열되어 있지 않습니다. 이 서버를 계속 유지하고자 하고 정상적으로 작동한다면, [연결 해제]를 클릭하여 레지스트리 연결을 해제하십시오. 그렇지 않은 경우 [제거]를 클릭하여 서버를 제거하십시오.",
        "notInRegistry": "레지스트리에 없음"
      }
    },
    "ai-terminal": {
      "allowAllConfirm": "알겠습니다, 모두 허용합니다",
      "allowAllForever": "항상 모든 셸 명령을 허용...",
      "allowAllSession": "이 채팅에 대해 모든 셸 명령을 허용...",
      "allowAllSessionConfirm": "알겠습니다, 이 채팅에 대해 모두 허용합니다",
      "allowAllSessionTitle": "이 채팅에 대해 모든 셸 명령을 허용하시겠습니까?",
      "allowAllSessionWarning": "이 설정은 AI가 본 채팅 세션이 끝날 때까지 확인 없이 모든 셸 명령어를 실행할 수 있도록 허용합니다. 셸 명령어는 전체 시스템 접근 권한을 가지며, 모든 명령어 실행, 작업 공간 외부 파일 수정, 네트워크 리소스 접근이 가능합니다. 차단 목록에 있는 명령어는 여전히 차단됩니다.",
      "allowAllTitle": "모든 셸 명령어 허용?",
      "allowAllWarning": "이를 통해 AI는 확인 없이 모든 셸 명령어를 실행할 수 있습니다. 셸 명령어는 전체 시스템 접근 권한을 가지며, 모든 명령어 실행, 작업 공간 외부 파일 수정, 네트워크 리소스 접근이 가능합니다. 차단 목록에 있는 명령어는 여전히 차단됩니다.",
      "alwaysAllowPattern": "{0} 항상 허용",
      "alwaysAllowPatterns": "{0} 및 {1}을 항상 허용하십시오.",
      "alwaysAllowPatternsList": "{0} 항상 허용",
      "alwaysDenyPattern": "{0}을 항상 거부합니다",
      "alwaysDenyPatterns": "{0} 및 {1}에 대한 요청은 항상 거부하십시오.",
      "alwaysDenyPatternsList": "{0}을 항상 거부합니다",
      "cancelExecution": "명령 실행 취소",
      "canceling": "취소 중...",
      "configurePermissions": "셸 명령어 권한 구성",
      "confirmExecution": "셸 명령어 확인",
      "denialReason": "이유",
      "executionDenied": "거부됨",
      "executionDeniedWithReason": "거부됨 (이유 포함)",
      "partialOutput": "부분 출력",
      "shellCommandAllowlist": {
        "description": "셸 명령어 패턴 목록. 와일드카드로 * 사용: \"git log\" (정확한 일치), \"git log *\" (선택적 인자 포함), \"* --version\" (--version으로 끝나는 모든 명령어). 와일드카드 앞에는 공백이 반드시 있어야 합니다. 위험한 패턴($, 백틱)을 포함하는 명령어는 절대 자동 허용되지 않습니다."
      },
      "shellCommandDenylist": {
        "description": "항상 거부해야 하는 셸 명령어 패턴 목록. 해당 패턴과 일치하는 명령어는 확인 없이 자동으로 거부됩니다. 패턴 구문 사용: \"git push\"(정확한 일치) 또는 \"git push *\"(모든 인수 포함). 위험한 명령어(eval, exec, sudo, rm -rf 등)에 대한 기본 패턴이 제공됩니다."
      },
      "timeout": "타임아웃",
      "workingDirectory": "작업 디렉터리"
    },
    "ai-tool-sketchpad": {
      "addItemProperty": "항목 속성 추가",
      "addParameter": "매개변수 추가",
      "addProperty": "속성 추가",
      "addTool": "도구 추가",
      "askAtRuntimeHint": "LLM이 이 도구를 호출하면, 반환 값을 입력하라는 메시지가 표시되는 빠른 입력 창이 열립니다.",
      "askReturnPlaceholder": "이 도구 호출의 반환 값을 입력하십시오...",
      "askReturnPrompt": "\"{0}\" 도구가 다음 명령으로 호출되었습니다: {1}",
      "confirmDelete": "\"{0}\" 도구를 삭제하시겠습니까?",
      "descriptionPlaceholder": "이 도구의 기능을 설명해 주세요...",
      "itemType": "항목 유형:",
      "label": "AI 도구 스케치패드",
      "nParameters": "{0} 매개변수",
      "nameDuplicate": "이 이름의 도구가 이미 존재합니다.",
      "nameEmpty": "도구 이름은 비워둘 수 없습니다.",
      "nameInvalid": "도구 이름에는 영문자, 숫자, 밑줄 및 하이픈만 사용할 수 있습니다(1~128자).",
      "noItemProperties": "정의된 항목 속성이 없습니다.",
      "noParameters": "정의된 매개변수가 없습니다.",
      "noTools": "아직 도구가 없습니다.",
      "oneParameter": "매개변수 1개",
      "parameters": "매개변수",
      "required": "필수",
      "returnMode": "리턴 모드",
      "returnModeAskAtRuntime": "실행 시 문의",
      "returnModeAskShort": "실행 시 확인",
      "returnModeStatic": "정적 반환 값",
      "returnModeStaticShort": "정적",
      "selectTool": "편집할 도구를 선택하거나, 새로운 도구를 추가하여 스케치를 시작하세요.",
      "staticReturn": "정적 반환 값",
      "staticReturnHint": "이 정적 값은 입력 인자에 관계없이 도구가 호출될 때마다 반환됩니다.",
      "staticReturnPlaceholder": "이 도구가 호출될 때 반환되는 값(예: JSON 문자열)",
      "toolName": "도구 이름",
      "toolNamePlaceholder": "예: getWeather",
      "untitledTool": "제목 없음 도구"
    },
    "callhierarchy": {
      "noCallers": "발신자가 감지되지 않았습니다.",
      "open": "호출 계층 구조 열기"
    },
    "chat": {
      "taskContextVariable": {
        "args": {
          "contextId": {
            "description": "검색할 작업 컨텍스트의 ID 또는 요약할 채팅 세션."
          }
        },
        "description": "작업에 대한 컨텍스트 정보를 제공합니다. 예를 들어, 작업 완료 계획이나 이전 세션의 요약 등이 포함됩니다.",
        "label": "작업 컨텍스트"
      }
    },
    "collaboration": {
      "collaborate": "협업",
      "collaboration": "협업",
      "collaborationWorkspace": "협업 작업 공간",
      "connected": "연결됨",
      "connectedSession": "협업 세션에 연결됨",
      "copiedInvitation": "초대 코드가 클립보드에 복사되었습니다.",
      "copyAgain": "다시 복사",
      "createRoom": "새 협업 세션 생성",
      "creatingRoom": "세션 생성",
      "end": "협업 세션 종료",
      "endDetail": "세션을 종료하고 콘텐츠 공유를 중단하며 다른 사용자의 접근 권한을 취소하십시오.",
      "enterCode": "협업 세션 코드 입력",
      "failedCreate": "룸 생성 실패: {0}",
      "failedJoin": "방에 참여하지 못했습니다: {0}",
      "fieldRequired": "{0} 필드는 필수입니다. 로그인이 중단되었습니다.",
      "invite": "다른 사람 초대하기",
      "inviteDetail": "세션에 참여하도록 다른 사람들과 공유할 초대 코드를 복사하세요.",
      "joinRoom": "협업 세션에 참여하기",
      "joiningRoom": "세션 참여",
      "leave": "협업 세션 종료",
      "leaveDetail": "현재 협업 세션에서 연결을 끊고 작업 공간을 닫습니다.",
      "loginFailed": "로그인 실패.",
      "loginSuccessful": "로그인 성공.",
      "noAuth": "서버에서 인증 방법을 제공하지 않았습니다.",
      "optional": "선택 사항",
      "selectAuth": "인증 방법 선택",
      "selectCollaboration": "협업 옵션 선택",
      "serverUrl": "서버 URL",
      "serverUrlDescription": "실시간 협업 세션을 위한 Open Collaboration Tools 서버 인스턴스의 URL",
      "sharedSession": "협업 세션 공유",
      "startSession": "협업 세션 시작 또는 참여",
      "userWantsToJoin": "사용자 '{0}'가 협업 방에 참여하고자 합니다.",
      "whatToDo": "다른 공동 작업자와 무엇을 하시겠습니까?"
    },
    "core": {
      "about": {
        "compatibility": "{0} 호환성",
        "defaultApi": "기본{0}API",
        "listOfExtensions": "확장 기능 목록",
        "monacoEditor": "Monaco Editor 버전"
      },
      "common": {
        "closeAll": "모든 탭 닫기",
        "closeAllTabMain": "메인 영역의 모든 탭 닫기",
        "closeOtherTabMain": "메인 영역의 다른 탭 닫기",
        "closeOthers": "다른 탭 닫기",
        "closeRight": "탭 오른쪽 닫기",
        "closeTab": "탭 닫기",
        "closeTabMain": "메인 영역에서 탭 닫기",
        "collapseAllTabs": "모든 사이드 패널 접기",
        "collapseBottomPanel": "하단 패널 토글",
        "collapseLeftPanel": "왼쪽 패널 토글",
        "collapseRightPanel": "오른쪽 패널 토글",
        "collapseTab": "사이드 패널 접기",
        "showNextTabGroup": "다음 탭 그룹으로 전환",
        "showNextTabInGroup": "그룹 내 다음 탭으로 전환",
        "showPreviousTabGroup": "이전 탭 그룹으로 전환",
        "showPreviousTabInGroup": "그룹 내 이전 탭으로 전환",
        "toggleMaximized": "최대화 토글"
      },
      "copyInfo": "파일 경로를 복사하려면 먼저 파일을 엽니다",
      "copyWarn": "브라우저의 복사 명령 또는 단축키를 사용하십시오.",
      "cutWarn": "브라우저의 잘라내기 명령 또는 단축키를 사용하십시오.",
      "enhancedPreview": {
        "classic": "탭의 기본 정보가 포함된 간단한 미리보기를 표시합니다.",
        "enhanced": "탭에 대한 향상된 미리보기를 추가 정보와 함께 표시합니다.",
        "visual": "탭의 시각적 미리보기를 표시합니다."
      },
      "highlightModifiedTabs": "수정된(더티) 편집기 탭에 상단 테두리를 그릴지 여부를 제어합니다.",
      "jumpListName": "최근 작업 공간",
      "keybinding": {
        "duplicateModifierError": "{0} 키 바인딩을 해석할 수 없음 중복 수정자",
        "metaError": "{0} 키 바인딩을 구문 분석할 수 없음. meta는 OSX 전용입니다.",
        "unrecognizedKeyError": "{1}에서 인식되지 않는 키 {0}"
      },
      "keybindingStatus": "{0} 누르셨고, 추가 키 입력을 기다리고 있습니다",
      "keyboard": {
        "choose": "키보드 레이아웃 선택",
        "chooseLayout": "키보드 레이아웃 선택",
        "current": "(현재: {0})",
        "currentLayout": " - 현재 레이아웃",
        "mac": "Mac 키보드",
        "pc": "PC 키보드",
        "tryDetect": "브라우저 정보와 입력된 키를 통해 키보드 배열을 감지하도록 시도하십시오."
      },
      "navigator": {
        "clipboardWarn": "클립보드 접근이 거부되었습니다. 브라우저의 권한 설정을 확인하세요.",
        "clipboardWarnFirefox": "클립보드 API를 사용할 수 없습니다. '{1}' 페이지의 '{0}' 환경설정으로 활성화할 수 있습니다. 이후 Theia를 재로드하세요. 참고: 이 설정은 파이어폭스가 시스템 클립보드에 대한 전체 접근 권한을 얻도록 허용합니다."
      },
      "pasteWarn": "브라우저의 붙여넣기 명령 또는 단축키를 사용하십시오.",
      "perspective": {
        "resetPerspective": "퍼스펙티브 재설정 (실험적 기능)",
        "selectPerspective": "관점 선택",
        "switchPerspective": "관점 전환 (실험적 기능)"
      },
      "quitMessage": "저장되지 않은 변경 사항은 저장되지 않습니다.",
      "resetWorkbenchLayout": "워크벤치 레이아웃 재설정",
      "searchbox": {
        "close": "닫기 (Escape)",
        "next": "다음 (아래)",
        "previous": "이전 (위로)",
        "showAll": "모든 항목 표시",
        "showOnlyMatching": "일치하는 항목만 표시"
      },
      "secondaryWindow": {
        "alwaysOnTop": "활성화된 경우 보조 창은 다른 애플리케이션의 창을 포함하여 모든 창 위에 고정됩니다.",
        "description": "추출된 보조 창의 초기 위치와 크기를 설정합니다.",
        "fullSize": "추출된 위젯의 위치와 크기는 실행 중인 Theia 애플리케이션과 동일합니다.",
        "halfWidth": "추출된 위젯의 위치와 크기는 실행 중인 Theia 애플리케이션 너비의 절반이 됩니다.",
        "originalSize": "추출된 위젯의 위치와 크기는 원본 위젯과 동일합니다."
      },
      "severity": {
        "log": "로그"
      },
      "silentNotifications": "알림 팝업 표시를 억제할지 여부를 제어합니다.",
      "tabDefaultSize": "탭의 기본 크기를 지정합니다.",
      "tabMaximize": "더블 클릭 시 탭을 최대화할지 여부를 제어합니다.",
      "tabMinimumSize": "탭의 최소 크기를 지정합니다.",
      "tabShrinkToFit": "사용 가능한 공간에 맞게 탭을 축소합니다.",
      "window": {
        "tabCloseIconPlacement": {
          "description": "탭 제목의 닫기 아이콘은 탭의 시작 부분 또는 끝 부분에 배치하십시오. 모든 플랫폼에서 기본값은 끝 부분입니다.",
          "end": "닫기 아이콘은 레이블 끝에 배치하십시오. 좌우 방향 언어에서는 탭의 오른쪽에 위치합니다.",
          "start": "닫기 아이콘은 레이블의 시작 부분에 배치하십시오. 좌우 방향 언어에서는 탭의 왼쪽 부분입니다."
        }
      },
      "window.menuBarVisibility": "메뉴는 사이드바에 컴팩트 버튼 형태로 표시됩니다. 이 값은 {0}가 {1}일 때 무시됩니다."
    },
    "debug": {
      "TheiaIDE": "Theia IDE",
      "addConfigurationPlaceholder": "구성 추가를 위한 작업 공간 루트 선택",
      "breakpoint": "중단점",
      "cannotRunToThisLocation": "현재 스레드를 지정된 위치로 실행할 수 없습니다.",
      "compound-cycle": "실행 구성 '{0}'에는 자체를 반복하는 사이클이 포함되어 있습니다",
      "conditionalBreakpoint": "조건부 중단점",
      "conditionalBreakpointsNotSupported": "이 디버그 유형에서는 조건부 중단점이 지원되지 않습니다.",
      "confirmRunToShiftedPosition_msg": "대상 위치가 Ln {0}, Col {1}로 이동됩니다. 실행하시겠습니까?",
      "confirmRunToShiftedPosition_title": "현재 스레드를 정확히 지정된 위치로 실행할 수 없습니다",
      "consoleFilterAriaLabel": "디버그 콘솔 출력 필터링",
      "consoleFilterPlaceholder": "필터 (예: text, !exclude)",
      "consoleFilterTooltip": "텍스트로 콘솔 출력을 필터링합니다. 여러 용어는 쉼표로 구분합니다. 용어 앞에 `!`를 붙이면 제외됩니다.\n\n예시:\n\n- `text` - \"text\"가 포함된 줄 표시\n- `text, other` - \"text\" 또는 \"other\"가 포함된 줄 표시\n- `!text` - \"text\"가 포함된 줄 숨김\n- `text, !other` - \"text\"는 표시하고 \"other\"는 숨김",
      "consoleSessionSelectorTooltip": "디버그 세션 간 전환. 각 디버그 세션은 자체 콘솔 출력을 가집니다.",
      "consoleSeverityTooltip": "중요도 수준별로 콘솔 출력을 필터링합니다. 선택한 중요도 수준의 메시지만 표시됩니다.",
      "continueAll": "모두 계속",
      "copyExpressionValue": "표현식 값 복사",
      "couldNotRunTask": "'{0}' 작업을 실행할 수 없습니다.",
      "dataBreakpoint": "데이터 중단점",
      "debugConfiguration": "디버그 구성",
      "debugRestricted": "제한 모드에서는 디버깅이 비활성화됩니다",
      "debugSessionInitializationFailed": "디버그 세션 초기화 실패. 자세한 내용은 콘솔을 참조하십시오.",
      "debugSessionTypeNotSupported": "디버그 세션 유형 \"{0}\"은 지원되지 않습니다.",
      "debugToolbarMenu": "디버그 도구 모음 메뉴",
      "debugVariableInput": "{0}값 설정",
      "disableSelectedBreakpoints": "선택한 중단점 비활성화",
      "disabledBreakpoint": "{0} 비활성화됨",
      "enableSelectedBreakpoints": "선택한 중단점 활성화",
      "entry": "항목",
      "errorStartingDebugSession": "디버그 세션 시작 중 오류가 발생했습니다. 자세한 내용은 로그를 확인하십시오.",
      "exception": "예외",
      "functionBreakpoint": "함수 중단점",
      "goto": "goto",
      "htiConditionalBreakpointsNotSupported": "이 디버그 유형에서는 조건부 중단점 실행을 지원하지 않습니다.",
      "instruction-breakpoint": "명령어 중단점",
      "instructionBreakpoint": "명령어 중단점",
      "logpointsNotSupported": "이 디버그 유형에서는 로그포인트를 지원하지 않습니다.",
      "missingConfiguration": "동적 구성 '{0}: {1}'이 누락되었거나 적용되지 않습니다.",
      "pause": "일시 중지",
      "pauseAll": "모두 일시 중지",
      "reveal": "공개",
      "step": "단계",
      "taskTerminatedBySignal": "태스크 '{0}'가 신호{1}로 종료되었습니다.",
      "taskTerminatedForUnknownReason": "작업 '{0}'이 알 수 없는 이유로 종료되었습니다.",
      "taskTerminatedWithExitCode": "작업 '{0}'가 종료 코드{1}로 종료되었습니다.",
      "threads": "스레드",
      "toggleTracing": "디버그 어댑터와의 추적 통신 활성화/비활성화",
      "unknownSession": "알 수 없는 세션",
      "unverifiedBreakpoint": "미확인 {0}"
    },
    "dev-container": {
      "devcontainerFileNotFound": "{0}에 있는 Devcontainer 파일을 작업 공간에서 찾을 수 없습니다",
      "failedToRebuild": "컨테이너 재구축에 실패했습니다: {0}",
      "noDevcontainerFileSpecified": "작업 공간에 devcontainer 파일이 지정되지 않았습니다",
      "removingOldContainer": "오래된 컨테이너 제거 중..."
    },
    "editor": {
      "autoSaveWhenNoErrors": "이 기능이 활성화되면, 자동 저장 시점에 오류가 보고되지 않은 파일에 대해서만 편집기의 자동 저장이 제한됩니다. 이 설정은 '{0}'가 활성화된 경우에만 적용됩니다.",
      "clearFormatterSetting": "포맷터 설정 지우기",
      "configuredIn": "{0}에서 구성됨",
      "configuredNotInstalled": "{1}에 구성되었으나 설치되지 않은 '{0}'",
      "configuredNotInstalledFallbackNamed": "{1}에 설정된 '{0}'가 설치되지 않아 '{2}'를 사용 중입니다.",
      "currentFormatter": "(현재)",
      "diffEditor.wordWrap2": "줄 바꿈은 `#editor.wordWrap#` 설정에 따라 적용됩니다.",
      "dirtyEncoding": "파일이 변경되었습니다. 다른 인코딩으로 다시 열기 전에 먼저 저장하십시오.",
      "editor.bracketPairColorization.enabled": "괄호 쌍 색상 표시 기능을 활성화할지 여부를 제어합니다. 괄호 강조 표시 색상을 재정의하려면 `#workbench.colorCustomizations#`를 사용하세요.",
      "editor.codeActions.triggerOnFocusChange": "`#files.autoSave#`가 `afterDelay`로 설정되었을 때 `#editor.codeActionsOnSave#` 트리거를 활성화합니다. 창 및 포커스 변경 시 코드 액션이 트리거되려면 `always`로 설정되어야 합니다.",
      "editor.detectIndentation": "파일 열기 시 파일 내용을 기반으로 `#editor.tabSize#` 및 `#editor.insertSpaces#`가 자동으로 감지될지 여부를 제어합니다.",
      "editor.inlayHints.enabled1": "인레이 힌트는 기본적으로 표시되며 Ctrl+Alt 키를 누르고 있을 때 숨겨집니다.",
      "editor.inlayHints.enabled2": "인레이 힌트는 기본적으로 숨겨져 있으며 Ctrl+Alt 키를 누르고 있을 때 표시됩니다.",
      "editor.inlayHints.fontFamily": "편집기 내 인레이 힌트의 글꼴 패밀리를 제어합니다. 빈 값으로 설정 시 `#editor.fontFamily#`이 사용됩니다.",
      "editor.inlayHints.fontSize": "편집기 내 인레이 힌트의 글꼴 크기를 제어합니다. 기본적으로 설정된 값이 `5`보다 작거나 편집기 글꼴 크기보다 클 경우 `#editor.fontSize#`가 사용됩니다.",
      "editor.inlineSuggest.edits.experimental.enabled": "인라인 제안에서 실험적 편집 기능을 활성화할지 여부를 제어합니다.",
      "editor.inlineSuggest.edits.experimental.onlyShowWhenCloseToCursor": "커서가 제안 근처에 있을 때만 인라인 제안을 표시할지 여부를 제어합니다.",
      "editor.inlineSuggest.edits.experimental.useInterleavedLinesDiff": "인라인 제안에서 실험적인 인터리브된 라인 차이 비교 기능을 활성화할지 여부를 제어합니다.",
      "editor.inlineSuggest.edits.experimental.useMixedLinesDiff": "인라인 제안에서 실험적 편집 기능을 활성화할지 여부를 제어합니다.",
      "editor.insertSpaces": "`Tab` 키를 누를 때 공백을 삽입합니다. `#editor.detectIndentation#`이 켜져 있을 때는 파일 내용에 따라 이 설정이 재정의됩니다.",
      "editor.quickSuggestions": "입력 중 자동으로 제안이 표시될지 여부를 제어합니다. 이 설정은 주석, 문자열 및 기타 코드 입력 시 적용됩니다. 빠른 제안은 유령 텍스트로 표시되거나 제안 위젯과 함께 표시되도록 구성할 수 있습니다. 또한 특수 문자로 제안이 트리거되는지 제어하는 `#editor.suggestOnTriggerCharacters#` 설정을 참고하십시오.",
      "editor.suggestFontSize": "제안 위젯의 글꼴 크기. `0`으로 설정 시 `#editor.fontSize#` 값이 사용됩니다.",
      "editor.suggestLineHeight": "제안 위젯의 줄 높이. `0`으로 설정 시 `#editor.lineHeight#` 값이 사용됩니다. 최소값은 8입니다.",
      "editor.tabSize": "탭이 해당하는 공백 수. `#editor.detectIndentation#`이 켜져 있을 때 이 설정은 파일 내용에 따라 재정의됩니다.",
      "formatOnSaveTimeout": "파일 저장 시 실행되는 서식 지정이 취소되는 시간(밀리초 단위).",
      "formatter": "포맷터",
      "noDefaultConfiguredLabel": "기본 포맷터가 구성되지 않음",
      "noDefaultConfiguredTooltip": "기본 포맷터가 구성되지 않음 (사용 가능한 포맷터: {0})",
      "noEditor": "활성 편집기가 없습니다",
      "noFormatter": "No Formatter",
      "noFormatterInstalled": "포맷터가 설치되지 않았습니다",
      "noFormattersAvailable": "이 언어에 대한 포맷터가 없습니다.",
      "noFormattersInstalledTooltip": "이 언어에 대한 포매터가 설치되어 있지 않습니다.",
      "onlyAvailableFormatter": "사용 가능한 포맷터",
      "onlyFormatterInstalled": "{0} (포맷터만 설치됨)",
      "persistClosedEditors": "작업 공간의 닫힌 편집기 기록을 창 재로드 시에도 유지할지 여부를 제어합니다.",
      "selectFormatter": "기본 포맷터 선택",
      "selectScope": "설정을 저장할 위치를 선택하세요",
      "showAllEditors": "열린 모든 편집기 표시",
      "showFormatterInfo": "포맷터 정보 표시",
      "splitHorizontal": "수평 분할 편집기",
      "splitVertical": "수직 분할 편집기",
      "toggleStickyScroll": "고정 스크롤 토글",
      "userSettingsDetail": "모든 작업 공간에 적용",
      "workspaceSettingsDetail": "현재 작업 공간에만 적용"
    },
    "external-terminal": {
      "cwd": "새 외부 터미널을 위한 현재 작업 디렉터리 선택"
    },
    "file-search": {
      "toggleExcludedFiles": " ({0}를 눌러 제외된 파일을 표시하거나 숨길 수 있습니다)"
    },
    "fileDialog": {
      "showHidden": "숨겨진 파일 표시"
    },
    "fileSystem": {
      "fileResource": {
        "overWriteBody": "파일 시스템에서 '{0}'에 적용된 변경 사항을 덮어쓰시겠습니까?"
      }
    },
    "filesystem": {
      "copiedToClipboard": "다운로드 링크를 클립보드에 복사했습니다.",
      "copyDownloadLink": "다운로드 링크 복사",
      "dialog": {
        "initialLocation": "초기 위치로 이동",
        "multipleItemMessage": "항목은 하나만 선택할 수 있습니다",
        "navigateBack": "뒤로 가기",
        "navigateForward": "앞으로 이동",
        "navigateUp": "한 단계 위 디렉터리로 이동"
      },
      "fileResource": {
        "binaryFileQuery": "열리는 데 시간이 걸릴 수 있으며 IDE가 응답하지 않을 수 있습니다. 그래도 '{0}'을 열겠습니까?",
        "binaryTitle": "이 파일은 바이너리이거나 지원되지 않는 텍스트 인코딩을 사용합니다.",
        "largeFileTitle": "파일 크기가 너무 큽니다({0}).",
        "overwriteTitle": "파일 시스템에서 '{0}' 파일이 변경되었습니다."
      },
      "filesExclude": "파일 및 폴더 제외를 위한 글로브 패턴 구성. 예를 들어, 파일 탐색기는 이 설정에 따라 표시하거나 숨길 파일 및 폴더를 결정합니다.",
      "format": "형식:",
      "maxConcurrentUploads": "여러 파일을 업로드할 때 동시에 업로드할 수 있는 최대 파일 수. 0은 모든 파일이 동시에 업로드됨을 의미합니다.",
      "maxFileSizeMB": "열 수 있는 최대 파일 크기를 MB 단위로 제어합니다.",
      "prepareDownload": "다운로드 준비 중...",
      "prepareDownloadLink": "다운로드 링크 준비 중...",
      "processedOutOf": "처리된 {0} (출처: {1})",
      "replaceTitle": "파일 교체",
      "uploadFailed": "파일 업로드 중 오류가 발생했습니다. {0}",
      "uploadFiles": "파일 업로드",
      "uploadedOutOf": "업로드됨 {0} / {1}"
    },
    "getting-started": {
      "ai": {
        "header": "{0}에서 AI 지원 기능을 이용하실 수 있습니다!",
        "openAIChatView": "지금 AI 채팅 뷰를 열어 시작하는 방법을 알아보세요!"
      },
      "apiComparator": "{0} API 호환성",
      "newExtension": "새 확장 프로그램 만들기",
      "newPlugin": "새 플러그인 구축",
      "startup-editor": {
        "welcomePage": "{0}와 확장 프로그램 사용을 시작하는 데 도움이 되는 콘텐츠가 포함된 시작 페이지를 엽니다."
      },
      "telemetry": "데이터 사용 및 텔레메트리"
    },
    "keybinding-schema-updater": {
      "deprecation": "대신 `when` 절을 사용하십시오."
    },
    "keymaps": {
      "addKeybindingTitle": "{0}용 키 바인딩 추가",
      "editKeybinding": "키 바인딩 편집...",
      "editKeybindingTitle": "{0}용 키 바인딩 편집",
      "editWhenExpression": "표현식 편집...",
      "editWhenExpressionTitle": "{0}용 표현식 편집",
      "keybinding": {
        "copy": "키 바인딩 복사",
        "copyCommandId": "키 바인딩 명령어 ID 복사",
        "copyCommandTitle": "키 바인딩 명령어 제목 복사",
        "edit": "키 바인딩 편집...",
        "editWhenExpression": "표현식 편집 시 키 바인딩..."
      },
      "keybindingCollidesValidation": "키 바인딩이 현재 충돌 중입니다",
      "requiredKeybindingValidation": "키 바인딩 값이 필요합니다",
      "resetKeybindingConfirmation": "이 키 바인딩을 정말 기본값으로 재설정하시겠습니까?",
      "resetKeybindingTitle": "{0}의 키 바인딩 재설정",
      "resetMultipleKeybindingsWarning": "이 명령에 대해 여러 키 바인딩이 존재하는 경우, 모두 재설정됩니다."
    },
    "localize": {
      "offlineTooltip": "백엔드에 연결할 수 없습니다."
    },
    "markers": {
      "clearAll": "모두 지우기",
      "copyAsText": "텍스트로 복사",
      "export": "내보내기",
      "exportProblems": "내보내기 문제",
      "exportSuccess": "문제가 성공적으로 내보내졌습니다.",
      "jsonFiles": "JSON 파일",
      "noProblems": "현재까지 작업 공간에서 문제가 발견되지 않았습니다.",
      "tabbarDecorationsEnabled": "탭 바에 문제 표시기(진단 마커)를 표시합니다."
    },
    "memory-inspector": {
      "addressTooltip": "표시할 메모리 위치, 주소 또는 주소로 평가되는 표현식",
      "ascii": "ASCII",
      "binary": "바이너리",
      "byteSize": "바이트 크기",
      "bytesPerGroup": "그룹당 바이트",
      "closeSettings": "설정 닫기",
      "columns": "컬럼",
      "command": {
        "createNewMemory": "새 메모리 검사기 생성",
        "createNewRegisterView": "새 레지스트리 보기 생성",
        "followPointer": "포인터 따라가기",
        "followPointerMemory": "메모리 검사기에서 포인터 추적",
        "resetValue": "값 재설정",
        "showRegister": "메모리 검사기에서 레지스터 표시",
        "viewVariable": "메모리 검사기에서 변수 표시"
      },
      "data": "데이터",
      "decimal": "십진수",
      "diff": {
        "label": "Diff: {0}"
      },
      "diff-widget": {
        "offset-label": "{0} 오프셋",
        "offset-title": "{0}에서 메모리를 오프셋하기 위한 바이트 수"
      },
      "editable": {
        "apply": "변경 사항 적용",
        "clear": "변경 내용 지우기"
      },
      "endianness": "엔디안성",
      "extraColumn": "추가 열",
      "groupsPerRow": "행당 그룹 수",
      "hexadecimal": "16진수",
      "length": "길이",
      "lengthTooltip": "가져올 바이트 수, 십진수 또는 16진수",
      "memory": {
        "addressField": {
          "memoryReadError": "위치 필드에 주소나 표현식을 입력하세요."
        },
        "freeze": "메모리 뷰 고정",
        "hideSettings": "설정 패널 숨기기",
        "readError": {
          "bounds": "메모리 경계를 초과했습니다. 결과가 잘릴 것입니다.",
          "noContents": "현재 사용 가능한 메모리 내용이 없습니다."
        },
        "readLength": {
          "memoryReadError": "길이 필드에 길이(십진수 또는 16진수)를 입력하십시오."
        },
        "showSettings": "설정 패널 표시",
        "unfreeze": "메모리 보기 해제",
        "userError": "메모리 가져오기 중 오류가 발생했습니다."
      },
      "memoryCategory": "메모리 검사기",
      "memoryInspector": "메모리 검사기",
      "memoryTitle": "메모리",
      "octal": "8진수",
      "offset": "오프셋",
      "offsetTooltip": "현재 메모리 위치에 추가할 오프셋, 탐색 시",
      "provider": {
        "localsError": "로컬 변수를 읽을 수 없습니다. 활성 디버그 세션이 없습니다.",
        "readError": "메모리를 읽을 수 없습니다. 활성 디버그 세션이 없습니다.",
        "writeError": "메모리에 쓰기 불가능합니다. 활성 디버그 세션이 없습니다."
      },
      "register": "등록",
      "register-widget": {
        "filter-placeholder": "필터 (시작하는)"
      },
      "registerReadError": "레지스터를 가져오는 중에 오류가 발생했습니다.",
      "registers": "레지스터",
      "toggleComparisonWidgetVisibility": "비교 위젯 표시/숨기기 토글",
      "utils": {
        "afterBytes": "비교하려는 두 위젯 모두에 메모리를 로드해야 합니다. {0}에는 메모리가 로드되어 있지 않습니다.",
        "bytesMessage": "비교하려는 두 위젯 모두에 메모리를 로드해야 합니다. {0}에는 메모리가 로드되어 있지 않습니다."
      }
    },
    "messages": {
      "notificationTimeout": "이 시간 초과 후에는 정보성 알림이 숨겨집니다.",
      "toggleNotifications": "알림 토글"
    },
    "mini-browser": {
      "typeUrl": "URL을 입력하세요"
    },
    "monaco": {
      "noSymbolsMatching": "일치하는 기호 없음",
      "typeToSearchForSymbols": "기호를 검색하려면 입력하세요"
    },
    "navigator": {
      "autoReveal": "자동 표시",
      "clipboardWarn": "클립보드 접근이 거부되었습니다. 브라우저의 권한 설정을 확인하세요.",
      "clipboardWarnFirefox": "클립보드 API를 사용할 수 없습니다. '{1}' 페이지의 '{0}' 환경설정으로 활성화할 수 있습니다. 이후 Theia를 재로드하세요. 참고: 이 설정은 파이어폭스가 시스템 클립보드에 대한 전체 접근 권한을 얻도록 허용합니다.",
      "nothingToPaste": "클립보드에는 여기에 붙여넣을 수 있는 작업 공간 파일이 포함되어 있지 않습니다.",
      "openWithSystemEditor": "시스템 편집기로 열기",
      "refresh": "탐색기에서 새로 고침",
      "reveal": "탐색기에서 보기",
      "systemEditor": "시스템 에디터",
      "toggleHiddenFiles": "숨김 파일 표시/숨김"
    },
    "output": {
      "clearOutputChannel": "출력 채널 지우기...",
      "closeOutputChannel": "출력 채널 닫기...",
      "hiddenChannels": "숨겨진 채널",
      "hideOutputChannel": "출력 채널 숨기기...",
      "maxChannelHistory": "출력 채널의 최대 항목 수.",
      "outputChannels": "출력 채널",
      "showOutputChannel": "출력 채널 표시..."
    },
    "plugin": {
      "blockNewTab": "새 탭 열기가 차단되었습니다"
    },
    "plugin-dev": {
      "alreadyRunning": "호스팅된 인스턴스가 이미 실행 중입니다.",
      "debugInstance": "디버그 인스턴스",
      "debugMode": "Node.js 디버깅을 위한 inspect 또는 inspect-brk 사용",
      "debugPorts": {
        "debugPort": "이 서버의 Node.js 디버깅에 사용할 포트",
        "serverName": "플러그인 호스트 서버 이름, 예: \"--hosted-plugin-inspect=\"에서와 같은 \"hosted-plugin\" 또는 \"--headless-hosted-plugin-inspect=\"에서와 같은 \"headless-hosted-plugin\""
      },
      "devHost": "개발 호스트",
      "failed": "호스팅된 플러그인 인스턴스 실행 실패: {0}",
      "hostedPlugin": "호스팅 플러그인",
      "hostedPluginRunning": "호스팅 플러그인: 실행 중",
      "hostedPluginStarting": "호스팅 플러그인: 시작 중",
      "hostedPluginStopped": "호스팅 플러그인: 중지됨",
      "hostedPluginWatching": "호스팅 플러그인: 감시",
      "instanceTerminated": "{0} 종료되었습니다",
      "launchOutFiles": "생성된 자바스크립트 파일을 찾기 위한 글로브 패턴 배열(`${pluginPath}`는 플러그인의 실제 경로로 대체됨).",
      "noValidPlugin": "지정된 폴더에 유효한 플러그인이 포함되어 있지 않습니다.",
      "notRunning": "호스팅된 인스턴스가 실행 중이 아닙니다.",
      "pluginFolder": "플러그인 폴더는 다음 경로로 설정됩니다: {0}",
      "preventedNewTab": "새 탭 열기가 차단되었습니다",
      "restartInstance": "인스턴스 재시작",
      "running": "호스팅된 인스턴스가 실행 중인 위치:",
      "selectPath": "경로 선택",
      "startInstance": "인스턴스 시작",
      "starting": "호스팅된 인스턴스 서버 시작 중...",
      "stopInstance": "인스턴스 중지",
      "unknownTerminated": "인스턴스가 종료되었습니다",
      "watchMode": "개발 중인 플러그인에서 워처 실행"
    },
    "plugin-ext": {
      "authentication-main": {
        "loginTitle": "로그인",
        "signedOut": "로그아웃에 성공했습니다."
      },
      "extensionsRestrictedMode": "제한 모드에서는 일부 확장 기능이 비활성화됩니다",
      "supportNodeGlobalNavigator": "이 옵션이 활성화되면 확장 호스트의 전역 navigator 객체가 Node.js에서 제공하는 대로 정의됩니다. 확장 프로그램은 navigator 객체의 존재 여부를 코드가 브라우저에서 실행되고 있다는 단서로 사용할 수 있습니다. 이 옵션을 비활성화하면(기본값) 확장 호스트에서 navigator 객체의 정의를 제거하여 이러한 가정을 유지합니다.",
      "webviewTrace": "웹뷰와의 통신 추적을 제어합니다.",
      "webviewWarnIfUnsecure": "웹뷰가 현재 안전하지 않게 배포되어 있음을 사용자에게 경고합니다."
    },
    "preferences": {
      "ai-features": "AI 기능",
      "hostedPlugin": "호스팅 플러그인",
      "input": {
        "browse": "찾아보기"
      },
      "sessionOverride": {
        "suffix": "세션에 의해 재정의됨",
        "suffixTooltip": "이 환경 설정은 --session-preference를 통해 세션 값이 설정됩니다. 여기서 이 값을 편집하면 해당 세션이 끝날 때까지 세션 재정의가 해제됩니다."
      },
      "sessionPreferences": {
        "statusBar": "세션 기본 설정 ({0})",
        "tooltipBody": "이 설정들은 --session-preference 옵션을 통해 전달되었으며 메모리에만 존재합니다. 설정 이름을 클릭하면 설정 보기에서 해당 항목으로 이동합니다.",
        "tooltipChangeNote": "이 중 하나를 편집하면 해당 실행에 대한 세션 재정의가 지워집니다. 다음 실행부터 저장된 값을 사용하려면 --session-preference 인수를 지정하지 않고 다시 시작하십시오.",
        "tooltipHeader": "이 세션에서는 이러한 설정이 무시됩니다.",
        "valueOff": "off",
        "valueOn": "on"
      },
      "toolbar": "도구 모음"
    },
    "preview": {
      "openByDefault": "기본적으로 편집기 대신 미리보기를 엽니다."
    },
    "property-view": {
      "lastModified": "마지막 수정일",
      "noProperties": "사용 가능한 속성이 없습니다.",
      "properties": "속성",
      "symbolicLink": "심볼릭 링크"
    },
    "remote": {
      "dev-container": {
        "attach": "실행 중인 컨테이너에 연결",
        "attachError": "컨테이너에 연결하지 못했습니다: {0}",
        "attachWarning": "컨테이너에 연결하면 그 안의 코드가 실행됩니다. 출처를 신뢰할 수 있는 컨테이너에만 연결하십시오.",
        "attachWarningTitle": "컨테이너에 연결",
        "attaching": "컨테이너에 연결",
        "cliAttachError": "컨테이너에 연결하지 못했습니다: {0}",
        "cliContainerNotFound": "컨테이너 \"{0}\"을 찾을 수 없거나 실행 중이 아닙니다.",
        "connect": "컨테이너에서 다시 열기",
        "enterCustomPath": "사용자 지정 경로를 입력하세요...",
        "enterWorkspacePath": "컨테이너 내부의 작업 공간 경로를 입력하십시오",
        "foundConfigMsg": "{0}에서 devcontainer.json 파일이 발견되었습니다. 이 파일의 포스트 어태치 설정(확장 프로그램, 포트 포워딩 등)을 적용하시겠습니까?",
        "foundConfigTitle": "개발 컨테이너 구성 발견됨",
        "noDevcontainerFiles": "작업 공간에서 devcontainer.json 파일을 찾을 수 없습니다. .devcontainer 디렉터리에 devcontainer.json 파일이 있는지 확인하십시오.",
        "noRunningContainers": "실행 중인 컨테이너가 없습니다.",
        "rebuild": "컨테이너 재구축",
        "rebuilding": "개발용 컨테이너 재구축",
        "reopenInContainer": "컨테이너에서 다시 열기",
        "selectContainer": "연결할 실행 중인 컨테이너를 선택하세요",
        "selectDevcontainer": "devcontainer.json 파일을 선택하세요.",
        "selectWorkspacePath": "컨테이너 내의 작업 공간 경로를 선택하십시오",
        "suggestion": "이 작업 공간에는 개발용 컨테이너 구성이 적용되어 있습니다. 컨테이너에서 다시 열겠습니까?"
      },
      "port-forwarding": {
        "focusPorts": "포트: 포트 보기 집중"
      },
      "ssh": {
        "connect": "현재 창을 호스트에 연결...",
        "connectToConfigHost": "구성 파일에서 현재 창을 호스트에 연결...",
        "enterHost": "SSH 호스트 이름 입력",
        "enterUser": "SSH 사용자 이름 입력",
        "failure": "원격지에 SSH 연결을 열 수 없습니다.",
        "hostPlaceHolder": "예: hello@example.com",
        "needsHost": "호스트 이름을 입력하십시오.",
        "needsUser": "사용자 이름을 입력하십시오.",
        "userPlaceHolder": "예: hello"
      },
      "sshNoConfigPath": "SSH 구성 경로를 찾을 수 없습니다.",
      "wsl": {
        "connectToWsl": "WSL에 연결",
        "connectToWslUsingDistro": "Distro를 사용하여 WSL에 연결...",
        "noWslDistroFound": "WSL 배포판이 발견되지 않았습니다. 먼저 WSL 배포판을 설치하십시오.",
        "reopenInWsl": "WSL에서 폴더 다시 열기",
        "selectWSLDistro": "WSL 배포판 선택"
      }
    },
    "scm": {
      "1HourAgo": "1시간 전",
      "1MinuteAgo": "1분 전",
      "amend": "수정하다",
      "amendHeadCommit": "HEAD 커밋",
      "amendLastCommit": "마지막 커밋 수정",
      "changeRepository": "저장소 변경...",
      "dirtyDiff": {
        "close": "닫기 변경 미리보기 보기"
      },
      "justNow": "방금",
      "mergeEditor": {
        "resetConfirmationTitle": "이 편집기에서 병합 결과를 정말 재설정하시겠습니까?"
      },
      "noChanges": "변경된 파일이 없습니다.",
      "noHistory": "소스 제어 기록이 없습니다.",
      "noHistoryForError": "{0}에 대한 기록이 없습니다.",
      "prepositionIn": "그리고",
      "unamend": "수정 불가",
      "unamendCommit": "수정되지 않은 커밋"
    },
    "search-in-workspace": {
      "includeIgnoredFiles": "무시된 파일 포함",
      "noFolderSpecified": "폴더를 열거나 지정하지 않았습니다. 현재 열려 있는 파일만 검색됩니다.",
      "resultSubset": "이는 전체 결과의 일부에 불과합니다. 더 구체적인 검색어를 사용하여 결과 목록을 좁혀보세요.",
      "searchExclude": "전체 텍스트 검색 및 빠른 열기(Quick Open)의 파일 검색에서 제외할 파일과 폴더를 지정하기 위해 [글로브 패턴](https://aka.ms/vscode-glob-patterns)을 구성합니다. `#files.exclude#` 설정의 모든 글로브 패턴을 상속합니다.",
      "searchOnEditorModification": "수정 시 활성 편집기를 검색합니다."
    },
    "secondary-window": {
      "extract-widget": "보기 창을 보조 창으로 이동"
    },
    "shell-area": {
      "secondary": "보조 창"
    },
    "task": {
      "attachTask": "작업 연결...",
      "circularReferenceDetected": "순환 참조 감지됨: {0} --> {1}",
      "clearHistory": "기록 지우기",
      "errorKillingTask": "'{0}' 작업 종료 중 오류: {1}",
      "errorLaunchingTask": "작업 '{0}' 실행 중 오류: {1}",
      "invalidTaskConfigs": "잘못된 작업 구성이 발견되었습니다. tasks.json 파일을 열고 문제 보기에서 세부 정보를 확인하세요.",
      "neverScanTaskOutput": "작업 출력을 절대 스캔하지 마십시오",
      "noTaskToRun": "실행할 작업이 없습니다. 작업 구성...",
      "noTasksFound": "작업이 없습니다.",
      "notEnoughDataInDependsOn": "\"dependsOn\"에 제공된 정보만으로는 올바른 작업을 매칭하기에 충분하지 않습니다!",
      "schema": {
        "commandOptions": {
          "cwd": "실행 중인 프로그램 또는 스크립트의 현재 작업 디렉터리. 생략 시 Theia의 현재 작업 공간 루트가 사용됩니다."
        },
        "presentation": {
          "panel": {
            "dedicated": "터미널은 특정 작업에 전용됩니다. 해당 작업이 다시 실행되면 터미널이 재사용됩니다. 그러나 다른 작업의 출력은 별도의 터미널에 표시됩니다.",
            "new": "해당 작업의 모든 실행은 새로운 깨끗한 터미널을 사용합니다.",
            "shared": "터미널은 공유되며, 다른 작업 실행의 출력 결과는 동일한 터미널에 추가됩니다."
          },
          "showReuseMessage": "\"터미널이 작업에 재사용됩니다\" 메시지 표시 여부를 제어합니다."
        },
        "problemMatcherObject": {
          "owner": "Theia 내부의 문제 소유자. base가 지정된 경우 생략 가능. 생략되고 base가 지정되지 않은 경우 기본값은 'external'입니다."
        }
      },
      "taskAlreadyRunningInTerminal": "작업이 이미 터미널에서 실행 중입니다",
      "taskExitedWithCode": "작업 '{0}'가 종료 코드{1}로 종료되었습니다.",
      "taskIdLabel": "#{0}",
      "taskRestricted": "제한 모드에서는 작업 실행이 비활성화됩니다.",
      "taskTerminatedBySignal": "작업 '{0}'가 신호{1}로 종료되었습니다.",
      "terminalWillBeReusedByTasks": "터미널은 작업에서 재사용됩니다."
    },
    "telemetry": {
      "filters": "각 텔레메트리 싱크로 전달되는 토픽 패턴을 제한합니다. 항목을 지정하지 않으면 모든 싱크 관심사가 허용되며, 배열을 비워두면 해당 싱크가 비활성화됩니다."
    },
    "terminal": {
      "defaultProfile": "{0}에서 사용되는 기본 프로필",
      "enableCommandHistory": "셸 인젝션을 사용하여 터미널 명령어와 그 출력을 별도로 추적합니다. 이를 통해 UI에서 명령어를 시각적으로 구분하거나 AI 에이전트가 터미널에 보다 체계적으로 접근할 수 있는 등의 사용 사례가 가능해집니다. 이 설정을 토글하더라도 이미 열려 있는 터미널에는 영향을 미치지 않습니다.\n\n&nbsp;\n\n이 기능은 현재 bash 또는 zsh를 실행하는 작업 터미널과 사용자 터미널에서만 지원됩니다.",
      "enableCommandSeparator": "터미널에서 실행된 명령어와 그 출력 결과 사이에 시각적 구분선을 표시합니다. 변경 사항은 이 설정을 수정한 후 실행되는 명령어에만 적용됩니다. '{0}'가 활성화된 경우에만 작동합니다.",
      "enableCopy": "Ctrl+C(macOS에서는 Cmd+C)를 활성화하여 선택한 텍스트 복사",
      "enablePaste": "클립보드에서 붙여넣기하려면 Ctrl+V(macOS에서는 Cmd+V)를 활성화하세요",
      "profileArgs": "이 프로필이 사용하는 셸 인수.",
      "profileColor": "터미널과 연결할 터미널 테마 색상 ID.",
      "profileDefault": "기본 프로필 선택...",
      "profileIcon": "터미널 아이콘과 연결할 코디콘 ID.\nterminal-tmux:\"$(terminal-tmux)\"",
      "profileNew": "새 터미널 (프로필 포함)...",
      "profilePath": "이 프로필이 사용하는 셸의 경로.",
      "profiles": "새 터미널 생성 시 표시할 프로필 목록입니다. 경로 속성을 선택적 인자와 함께 수동으로 설정하세요.\n기존 프로필을 `null`로 설정하면 목록에서 해당 프로필이 숨겨집니다. 예시: `\"{0}\": null`.",
      "rendererType": "터미널의 렌더링 방식을 제어합니다.",
      "rendererTypeDeprecationMessage": "렌더러 유형은 더 이상 옵션으로 지원되지 않습니다.",
      "selectProfile": "새 터미널에 대한 프로필 선택",
      "shell.deprecated": "이 설정은 더 이상 권장되지 않습니다. 기본 셸을 구성하는 새로운 권장 방법은 'terminal.integrated.profiles.{0}'에 터미널 프로필을 생성하고 'terminal.integrated.defaultProfile.{0}'에서 해당 프로필 이름을 기본값으로 설정하는 것입니다.",
      "shellArgsLinux": "리눅스 터미널에서 사용할 명령줄 인수.",
      "shellArgsOsx": "macOS 터미널에서 사용할 명령줄 인수.",
      "shellArgsWindows": "Windows 터미널에서 사용할 명령줄 인수.",
      "shellLinux": "터미널이 Linux에서 사용하는 셸의 경로(기본값: '{0}'}).",
      "shellOsx": "macOS에서 터미널이 사용하는 셸의 경로(기본값: '{0}'}).",
      "shellWindows": "Windows에서 터미널이 사용하는 셸의 경로. (기본값: '{0}')."
    },
    "terminal-manager": {
      "addTerminalToGroup": "터미널을 그룹에 추가",
      "closeDialog": {
        "message": "터미널 관리자를 닫으면 해당 레이아웃을 복원할 수 없습니다. 터미널 관리자를 닫으시겠습니까?",
        "title": "터미널 관리자를 닫으시겠습니까?"
      },
      "closeTerminalManager": "터미널 관리자 닫기",
      "createNewTerminalGroup": "새 터미널 그룹 만들기",
      "createNewTerminalPage": "새 터미널 페이지 생성",
      "deleteGroup": "그룹 삭제",
      "deletePage": "페이지 삭제",
      "deleteTerminal": "터미널 삭제",
      "label": "터미널",
      "maximizeBottomPanel": "하단 패널 최대화",
      "minimizeBottomPanel": "하단 패널 최소화",
      "openTerminalManager": "터미널 관리자 열기",
      "page": "페이지",
      "rename": "이름 변경",
      "resetTerminalManagerLayout": "터미널 관리자 레이아웃 재설정",
      "tabsDisplay": "터미널 표시 방식을 제어합니다. '트리'는 관리용 트리 뷰와 함께 여러 터미널을 단일 뷰에 표시하고, '탭'은 각 터미널을 별도의 탭에 독립된 뷰로 표시합니다.",
      "toggleTreeView": "트리 보기 토글",
      "treeViewLocation": "터미널 관리자의 트리 뷰 위치. 'terminal.grouping.mode'가 'tree'로 설정된 경우에만 적용됩니다."
    },
    "test": {
      "cancelAllTestRuns": "모든 테스트 실행 취소",
      "showTestOutput": "테스트 결과 표시",
      "stackFrameAt": "at",
      "testRunDefaultName": "{0} {1} 실행",
      "testRuns": "테스트 실행"
    },
    "toolbar": {
      "addCommand": "도구 모음에 명령 추가",
      "addCommandPlaceholder": "도구 모음에 추가할 명령어 찾기",
      "centerColumn": "중앙 열",
      "failedUpdate": "'{1}'에서 '{0}' 값 업데이트에 실패했습니다.",
      "filterIcons": "필터 아이콘",
      "iconSelectDialog": "'{0}' 아이콘 선택",
      "iconSet": "아이콘 세트",
      "insertGroupLeft": "그룹 구분선 삽입 (왼쪽)",
      "insertGroupRight": "그룹 구분자 삽입(오른쪽)",
      "jsonError": "toolbar.json 파일을 읽는 과정에서 오류가 발생했습니다. 도구 모음을 마우스 오른쪽 버튼으로 클릭하고 \"도구 모음 사용자 지정\"을 선택하여 파일이 손상되었는지 확인해 주십시오. 또한 \"도구 모음 기본값 복원\"을 선택하여 기본값으로 재설정할 수도 있습니다.",
      "leftColumn": "왼쪽 열",
      "openJSON": "도구 모음 사용자 지정 (JSON 열기)",
      "removeCommand": "도구 모음에서 명령 제거",
      "restoreDefaults": "도구 모음 기본값 복원",
      "rightColumn": "오른쪽 열",
      "selectIcon": "아이콘 선택",
      "toggleToolbar": "도구 모음 토글",
      "toolbarLocationPlaceholder": "명령어를 어디에 추가하시겠습니까?",
      "useDefaultIcon": "기본 아이콘 사용"
    },
    "typehierarchy": {
      "subtypeHierarchy": "하위 유형 계층 구조",
      "supertypeHierarchy": "슈퍼타입 계층 구조"
    },
    "variableResolver": {
      "listAllVariables": "변수: 모두 나열"
    },
    "vsx-registry": {
      "confirmDialogMessage": "확장 프로그램 \"{0}\"은 검증되지 않았으며 보안 위험을 초래할 수 있습니다.",
      "confirmDialogTitle": "설치를 계속하시겠습니까?",
      "downloadCount": "다운로드 횟수: {0}",
      "duplicateVSIX": "VSIX에서 '{0}'를 설치하는 데 실패했습니다. 해당 확장 프로그램이 이미 설치되어 있습니다. VSIX에서 새 버전을 설치하기 전에 기존 확장 프로그램을 제거하십시오.",
      "errorFetching": "확장 프로그램 가져오기 중 오류 발생.",
      "errorFetchingConfigurationHint": "이는 네트워크 구성 문제로 인해 발생할 수 있습니다.",
      "failedInstallingVSIX": "{0}를 VSIX에서 설치하는 데 실패했습니다.",
      "filter": {
        "showBuiltin": "내장 기능 표시",
        "showInstalled": "설치된 항목 표시",
        "showRecommended": "추천 항목 표시"
      },
      "invalidVSIX": "선택한 파일은 유효한 \"*.vsix\" 플러그인이 아닙니다.",
      "license": "라이선스: {0}",
      "onlyShowVerifiedExtensionsDescription": "이를 통해 {0}에서 검증된 확장 프로그램만 표시할 수 있습니다.",
      "onlyShowVerifiedExtensionsTitle": "검증된 확장 프로그램만 표시",
      "recommendedExtensions": "이 작업 공간에서 사용을 권장하는 확장 프로그램 이름 목록.",
      "restrictedModeInstallWarning": "'{0}' 확장 프로그램은 제한 모드(Restricted Mode)에서 실행을 지원하지 않는 경우 비활성화될 수 있습니다. 확장 프로그램이 정상적으로 작동하도록 하려면 이 작업 공간을 신뢰하십시오.",
      "searchPlaceholder": "Open VSX 레지스트리 검색",
      "showInstalled": "설치된 확장 프로그램 표시",
      "showRecommendedExtensions": "확장 프로그램 추천에 대한 알림 표시 여부를 제어합니다.",
      "vsx-extensions-contribution": {
        "no-other-versions": "다른 버전은 제공되지 않습니다.",
        "update-version-uninstall-error": "확장 프로그램 제거 중 오류 발생: {0}.",
        "update-version-version-error": "{1}의 버전 {0} 설치에 실패했습니다."
      }
    },
    "webview": {
      "goToReadme": "README로 이동",
      "messageWarning": "            {0} 엔드포인트의 호스트 패턴이 `{1}`로 변경되었습니다. 패턴 변경은 보안 취약점을 초래할 수 있습니다.             자세한 내용은 `{2}`를 참조하십시오."
    },
    "workspace": {
      "bothAreDirectories": "두 리소스 모두 디렉터리입니다.",
      "compareWithEachOther": "서로 비교하기",
      "confirmDeletePermanently.description": "휴지통을 사용하여 \"{0}\"를 삭제하는 데 실패했습니다. 대신 영구적으로 삭제하시겠습니까?",
      "confirmDeletePermanently.solution": "환경 설정에서 휴지통 사용을 비활성화할 수 있습니다.",
      "confirmDeletePermanently.title": "파일 삭제 중 오류 발생",
      "confirmMessage.delete": "다음 파일을 정말 삭제하시겠습니까?",
      "confirmMessage.dirtyMultiple": "저장되지 않은 변경 사항이 있는 {0} 파일을 정말 삭제하시겠습니까?",
      "confirmMessage.dirtySingle": "저장되지 않은 변경 사항이 있는 상태에서 정말로 {0}를 삭제하시겠습니까?",
      "confirmMessage.uriMultiple": "{0}에서 선택한 모든 파일을 정말 삭제하시겠습니까?",
      "confirmMessage.uriSingle": "{0}를 정말 삭제하시겠습니까?",
      "directoriesCannotBeCompared": "디렉터리는 비교할 수 없습니다. {0}",
      "duplicate": "중복",
      "failSaveAs": "현재 위젯에 대해 \"{0}\"를 실행할 수 없습니다.",
      "isDirectory": "'{0}'는 디렉터리입니다.",
      "manageTrustPlaceholder": "이 작업 공간에 대한 신뢰 상태 선택",
      "newFilePlaceholder": "파일 이름",
      "newFolderPlaceholder": "폴더 이름",
      "noErasure": "참고: 디스크에서 아무것도 삭제되지 않습니다.",
      "notWorkspaceFile": "유효하지 않은 작업 공간 파일: {0}",
      "openRecentPlaceholder": "열고자 하는 작업 공간의 이름을 입력하세요",
      "openRecentWorkspace": "최근 작업 공간 열기...",
      "preserveWindow": "현재 창에서 작업 공간 열기 활성화.",
      "removeFolder": "다음 폴더를 작업 공간에서 제거하시겠습니까?",
      "removeFolders": "다음 폴더들을 작업 공간에서 제거하시겠습니까?",
      "restrictedModeDescription": "이 작업 공간이 신뢰되지 않기 때문에 일부 기능이 비활성화되었습니다.",
      "restrictedModeFeatures": "잠재적으로 유해한 코드로부터 보호하기 위해 작업 실행, 디버깅, 확장 기능 및 AI와 같은 기능이 비활성화되었습니다.",
      "schema": {
        "folders": {
          "description": "작업 공간의 루트 폴더"
        },
        "title": "작업 공간 파일"
      },
      "trashTitle": "{0}를 휴지통으로 이동",
      "trustDialogMessage": "작성자를 신뢰하는 경우, 이 폴더에 있는 코드(작업, 디버그 구성, 확장 프로그램 및 AI 기능 포함)가 실행될 수 있습니다.",
      "trustDialogRestricted": "작성자를 신뢰하지 않는 경우, 작업 공간이 제한 모드로 열리며, 이 모드에서는 잠재적으로 유해한 코드로부터 보호하기 위해 이러한 기능이 비활성화됩니다.",
      "trustEmptyWindow": "기본적으로 빈 작업 공간이 신뢰되는지 여부를 제어합니다.",
      "trustEnabled": "작업 공간 신뢰 설정이 활성화되었는지 여부를 제어합니다. 비활성화된 경우 모든 작업 공간이 신뢰됩니다.",
      "trustLearnMore": "Theia의 Workspace Trust에 대해 자세히 알아보기",
      "trustTrustedFolders": "확인 없이 신뢰되는 폴더 URI 목록.",
      "untitled-cleanup": "제목이 지정되지 않은 작업 공간 파일이 다수 존재하는 것으로 보입니다. {0} 를 확인하고 사용하지 않는 파일을 제거해 주세요.",
      "variables": {
        "cwd": {
          "description": "작업 실행기의 시작 시점 현재 작업 디렉터리"
        },
        "file": {
          "description": "현재 열려 있는 파일의 경로"
        },
        "fileBasename": {
          "description": "현재 열려 있는 파일의 기본 이름"
        },
        "fileBasenameNoExtension": {
          "description": "확장자를 제외한 현재 열려 있는 파일의 이름"
        },
        "fileDirname": {
          "description": "현재 열려 있는 파일의 디렉터리 이름"
        },
        "fileExtname": {
          "description": "현재 열려 있는 파일의 확장자"
        },
        "relativeFile": {
          "description": "작업 공간 루트에 대한 현재 열려 있는 파일의 상대 경로"
        },
        "relativeFileDirname": {
          "description": "현재 열려 있는 파일의 경로명(${workspaceFolder} 상대 경로)"
        },
        "workspaceFolder": {
          "description": "작업 공간 루트 폴더의 경로"
        },
        "workspaceFolderBasename": {
          "description": "작업 공간 루트 폴더의 이름"
        },
        "workspaceRoot": {
          "description": "작업 공간 루트 폴더의 경로"
        },
        "workspaceRootFolderName": {
          "description": "작업 공간 루트 폴더의 이름"
        }
      },
      "workspaceFolderAdded": "여러 루트가 있는 작업 공간이 생성되었습니다. 작업 공간 구성을 파일로 저장하시겠습니까?",
      "workspaceFolderAddedTitle": "폴더가 작업 공간에 추가됨"
    }
  },
  "vsx.disabling": "비활성화",
  "vsx.disabling.extensions": "{0} 비활성화 중...",
  "vsx.enabling": "활성화",
  "vsx.enabling.extension": "{0} 활성화 중..."
}
