From 947b451c1b7755756a742d0fb0a69a9004b16a9a Mon Sep 17 00:00:00 2001 From: MaakCode <11623298+maakcode@users.noreply.github.com> Date: Fri, 20 Mar 2026 12:37:41 +0900 Subject: [PATCH 1/2] Update Korean translations with latest English strings Co-authored-by: Antigravity --- ko/chat.json | 33 +++- ko/config.json | 384 ++++++++++++++++++++++++++++++++++++++++++++-- ko/developer.json | 28 ++++ ko/discover.json | 1 + ko/download.json | 24 ++- ko/models.json | 72 +++++++-- ko/settings.json | 65 +++++++- ko/shared.json | 275 ++++++++++++++++++++++++++++++++- 8 files changed, 836 insertions(+), 46 deletions(-) diff --git a/ko/chat.json b/ko/chat.json index df8ae941..3b3161e9 100644 --- a/ko/chat.json +++ b/ko/chat.json @@ -41,6 +41,7 @@ "actions/sendMessage/error": "메시지 전송 실패", "actions/loadModel/error": "🥲 모델 로드 실패", "actions/addFile": "[실험적] 이 메시지에 파일 첨부\n(.pdf, 일반 텍스트, 또는 .docx)", + "actions/addFile/label": "파일 첨부", "actions/changeRole": "사용자와 어시스턴트 역할 전환.\n\n대화 방향을 특정 방향으로 유도하는 데 유용합니다.\n\n'소수 샷 학습' 또는 '문맥 내 학습' 시나리오 구성에 사용 가능", "actions/addImage": "이미지 추가", "actions/deleteMessage": "메시지 삭제", @@ -59,6 +60,8 @@ "actions/loadLastModel": "마지막 사용 모델 다시 로드", "actions/loadLastModel/tooltip": "이 채팅에서 마지막으로 사용한 모델 로드:\n\n{{lastModel}}", "actions/loadLastModel/error": "마지막 사용 모델 로드 실패", + "actions/clearLastUsedModel": "마지막으로 사용한 모델 지우기", + "actions/clearLastUsedModel/error": "마지막으로 사용한 모델 지우기에 실패했습니다.", "actions/continueCurrentModel": "현재 모델 사용", "actions/continueCurrentModel/tooltip": "현재 모델: {{currentModel}}", "actions/changeToLastUsedModel": "{{lastModel}} 로드", @@ -88,6 +91,9 @@ "actions/createChatAtRoot/error": "루트에서 채팅 생성 실패", "actions/createFolderAtRoot": "새 폴더 만들기", "actions/createFolderAtRoot/error": "루트에서 폴더 생성 실패", + "actions/openInFolder/mac": "Finder에서 보기", + "actions/openInFolder/pc": "파일 탐색기에서 보기", + "actions/createChat/error": "채팅 생성 실패", "actions/deleteChat/errorTitle": "채팅 삭제 실패", @@ -124,6 +130,11 @@ "style/viewMode/plaintext": "일반 텍스트", "style/viewMode/monospace": "모노스페이스", + "speculativeDecodingVisualization/toggle": "수락된 초안 토큰 시각화", + "speculativeDecodingVisualization/fromDraftModel_one": "수락된 초안 토큰", + "speculativeDecodingVisualization/fromDraftModel_other": "수락된 초안 토큰", + "speculativeDecodingVisualization/cannotChangeViewMode": "초안 토큰을 시각화할 때는 뷰 모드 선택이 비활성화됩니다.", + "style/fontSize/label": "글꼴 크기", "style/fontSize/medium": "기본", "style/fontSize/large": "크게", @@ -134,6 +145,8 @@ "style/thinkingUI/label": "추론 블록을 기본적으로 확장", "style/chatFullWidth/label": "채팅 컨테이너를 창 너비에 맞게 확장", + "style/chatUtilityMenusShowLabel/label": "채팅 유틸리티 메뉴 라벨 표시하기", + "messageBlocks": { "expandBlockTooltip": "콘텐츠 확장", "collapseBlockTooltip": "콘텐츠 접기", @@ -144,6 +157,9 @@ } }, + "chatTabOptions/clearAllMessages": "모든 메시지 지우기...", + "chatTabOptions/duplicateChat": "채팅 복제", + "topBarActions/duplicateChat": "채팅 복제", "topBarActions/clearChat": "모든 메시지 지우기", "topBarActions/clearChatConfirmation": "이 채팅의 모든 메시지를 지우시겠습니까?", @@ -177,7 +193,8 @@ "placeholder": "생성한 플러그인이 여기에 표시됩니다" }, "startRunningDevelopmentPlugin/error": "개발 모드에서 플러그인 실행 시작 실패", - "stopRunningDevelopmentPlugin/error": "개발 모드에서 플러그인 실행 중지 실패" + "stopRunningDevelopmentPlugin/error": "개발 모드에서 플러그인 실행 중지 실패", + "forceReInitPlugin/error": "플러그인 다시 시작 실패" }, "pluginConfiguration": { "title": "플러그인 구성", @@ -201,7 +218,11 @@ "revealInFinder": "Finder에서 보기", "openInFileExplorer": "파일 탐색기에서 열기" } - } + }, + "localFork": { + "error": "플러그인의 로컬 개발 복사본을 만드는 데 실패했습니다." + }, + "restartErrorPlugin/error": "플러그인 다시 시작 실패" }, "genInfo": { @@ -218,6 +239,12 @@ "stopReason.maxPredictedTokensReached": "최대 예측 토큰 수 도달", "stopReason.contextLengthReached": "컨텍스트 길이 제한 도달", "speculativeDecodedBy": "초안 모델: {{decodedBy}}", - "speculativeDecodingStats": "{{total}}개 중 {{accepted}}개의 초안 토큰 수락 ({{percentage}}%)" + "speculativeDecodingStats": "{{total}}개 중 {{accepted}}개의 초안 토큰 수락 ({{percentage}}%)", + "speculativeDecodingAcceptedPercentage": "초안 토큰의 {{percentage}}% 수락됨", + "speculativeDecodingTooltip": "{{accepted}}/{{total}}개의 초안 토큰 수락됨" + }, + + "tabs": { + "systemPromptEditorTab.headerLabel": "시스템 프롬프트 편집 중" } } diff --git a/ko/config.json b/ko/config.json index bda6ee98..7dcb46ce 100644 --- a/ko/config.json +++ b/ko/config.json @@ -21,11 +21,29 @@ "loadParameters/title": "매개변수 불러오기", "loadParameters/description": "모델 초기화 및 메모리 로드 방식을 제어하는 설정입니다.", "loadParameters/reload": "변경 사항을 적용하려면 다시 불러오세요", + "loadParameters/reload/error": "모델 다시 로드 실패", "discardChanges": "변경 취소", "loadModelToSeeOptions": "옵션을 보려면 모델을 로드하세요", + "schematicsError.title": "구성 스키마의 다음 필드에 오류가 있습니다:", + "manifestSections": { + "structuredOutput/title": "구조화된 출력", + "speculativeDecoding/title": "추측 디코딩", + "sampling/title": "샘플링", + "settings/title": "설정", + "toolUse/title": "도구 사용", + "promptTemplate/title": "프롬프트 템플릿", + "customFields/title": "사용자 지정 필드" + }, + "llm.prediction.systemPrompt/title": "시스템 프롬프트", "llm.prediction.systemPrompt/description": "모델에 배경 지침을 제공하는 데 사용합니다. 규칙, 제약 조건 또는 일반 요구 사항 등을 포함할 수 있습니다. 이 필드는 '시스템 프롬프트'라고도 합니다.", "llm.prediction.systemPrompt/subTitle": "AI를 위한 지침", + "llm.prediction.systemPrompt/openEditor": "편집기", + "llm.prediction.systemPrompt/closeEditor": "편집기 닫기", + "llm.prediction.systemPrompt/openedEditor": "편집기로 열렸습니다...", + "llm.prediction.systemPrompt/edit": "시스템 프롬프트 편집...", + "llm.prediction.systemPrompt/addInstructionsWithMore": "지시 사항 추가...", + "llm.prediction.systemPrompt/addInstructions": "지시 사항 추가", "llm.prediction.temperature/title": "온도", "llm.prediction.temperature/subTitle": "무작위성 정도를 조절합니다. 0은 항상 같은 결과를 생성하며, 높은 값은 창의성과 다양성을 증가시킵니다", "llm.prediction.temperature/info": "llama.cpp 도움말: \"기본값은 <{{dynamicValue}}>로, 무작위성과 결정론적 특성 사이의 균형을 제공합니다. 극단적으로, 온도 0은 항상 가장 가능성 높은 다음 토큰을 선택하여 매번 동일한 출력을 생성합니다\"", @@ -61,6 +79,15 @@ "llm.prediction.llama.presencePenalty/title": "존재 페널티 (Presence Penalty)", "llm.prediction.llama.tailFreeSampling/title": "테일 프리 샘플링 (Tail-Free Sampling)", "llm.prediction.llama.locallyTypicalSampling/title": "로컬리 티피컬 샘플링 (Locally Typical Sampling)", + "llm.prediction.llama.xtcProbability/title": "XTC 샘플링 확률", + "llm.prediction.llama.xtcProbability/subTitle": "XTC (기존 최상위 선택 제외) 샘플러는 생성된 토큰당 이 확률로만 활성화됩니다. XTC 샘플링은 창의성을 높이고 진부함을 줄일 수 있습니다", + "llm.prediction.llama.xtcProbability/info": "XTC (기존 최상위 선택 제외) 샘플링은 생성된 토큰당 이 확률로만 활성화됩니다. XTC 샘플링은 대게 창의성을 높이고 진부함을 줄입니다", + "llm.prediction.llama.xtcThreshold/title": "XTC 샘플링 임계값", + "llm.prediction.llama.xtcThreshold/subTitle": "XTC (기존 최상위 선택 제외) 임계값. `xtc-probability`의 확률로 `xtc-threshold`에서 0.5 사이의 확률을 가진 토큰을 검색하고, 가장 가능성이 낮은 토큰을 제외한 모든 해당 토큰을 제거합니다", + "llm.prediction.llama.xtcThreshold/info": "XTC (기존 최상위 선택 제외) 임계값. `xtc-probability`의 확률로 `xtc-threshold`에서 0.5 사이의 확률을 가진 토큰을 검색하고, 가장 가능성이 낮은 토큰을 제외한 모든 해당 토큰을 제거합니다", + "llm.prediction.mlx.topKSampling/title": "Top K 샘플링", + "llm.prediction.mlx.topKSampling/subTitle": "다음 토큰을 상위 k개의 가장 가능성 높은 토큰 중 하나로 제한합니다. 온도 설정과 비슷하게 작동합니다", + "llm.prediction.mlx.topKSampling/info": "다음 토큰을 상위 k개의 가장 가능성 높은 토큰 중 하나로 제한합니다. 온도 설정과 비슷하게 작동합니다", "llm.prediction.onnx.topKSampling/title": "탑 K 샘플링 (Top K Sampling)", "llm.prediction.onnx.topKSampling/subTitle": "다음 토큰을 상위 k개의 가장 가능성 높은 토큰 중 하나로 제한합니다. 온도와 유사하게 작동합니다", "llm.prediction.onnx.topKSampling/info": "ONNX 문서에서 발췌:\n\n상위 k개의 가장 높은 확률의 어휘 토큰을 유지하여 필터링합니다\n\n• 이 필터는 기본적으로 꺼져 있습니다", @@ -74,8 +101,40 @@ "llm.prediction.structured/title": "구조화된 출력 (Structured Output)", "llm.prediction.structured/info": "구조화된 출력", "llm.prediction.structured/description": "고급: JSON 스키마를 제공하여 모델의 특정 출력 형식을 강제할 수 있습니다. 자세한 내용은 [문서](https://lmstudio.ai/docs/advanced/structured-output)를 참조하세요", + "llm.prediction.tools/title": "도구 사용", + "llm.prediction.tools/description": "고급: 모델이 호출을 요청할 도구 목록을 JSON 규격에 맞게 제공할 수 있습니다. 자세한 내용은 [문서](https://lmstudio.ai/docs/advanced/tool-use)를 읽어보세요", + "llm.prediction.tools/serverPageDescriptionAddon": "서버 API를 사용할 때 요청 본문에 `tools`로 전달하세요", "llm.prediction.promptTemplate/title": "프롬프트 템플릿", "llm.prediction.promptTemplate/subTitle": "채팅 메시지가 모델에 전송되는 형식입니다. 이를 변경하면 예상치 못한 동작이 발생할 수 있으므로 신중히 사용하세요!", + "llm.prediction.speculativeDecoding.numDraftTokensExact/title": "생성할 초안 토큰", + "llm.prediction.speculativeDecoding.numDraftTokensExact/subTitle": "기본 모델 토큰당 초안 모델로 생성할 토큰의 수. 계산량 대비 보상의 균형점을 찾으세요", + "llm.prediction.speculativeDecoding.minContinueDraftingProbability/title": "초안 작성 확률 컷오프", + "llm.prediction.speculativeDecoding.minContinueDraftingProbability/subTitle": "토큰의 확률이 이 임계값 아래로 떨어질 때까지 초안 작성을 계속합니다. 값이 높을수록 위험도는 낮아지고 보상도 줄어듭니다", + "llm.prediction.speculativeDecoding.minDraftLengthToConsider/title": "최소 초안 크기", + "llm.prediction.speculativeDecoding.minDraftLengthToConsider/subTitle": "이보다 작은 초안은 기본 모델이 무시합니다. 값이 높을수록 위험도는 낮아지고 보상도 줄어듭니다", + "llm.prediction.speculativeDecoding.maxTokensToDraft/title": "최대 초안 크기", + "llm.prediction.speculativeDecoding.maxTokensToDraft/subTitle": "초안에 허용되는 최대 토큰 수입니다. 모든 토큰 확률이 컷오프보다 크면 제한합니다. 값이 낮을수록 위험도는 낮아지고 보상도 줄어듭니다", + "llm.prediction.speculativeDecoding.draftModel/title": "초안 모델", + "llm.prediction.reasoning.parsing/title": "추론 섹션 파싱", + "llm.prediction.reasoning.parsing/subTitle": "모델 출력에서 추론 섹션을 파싱하는 방법", + + "llm.load.mainGpu/title": "메인 GPU", + "llm.load.mainGpu/subTitle": "모델 연산을 위해 우선 시 할 GPU", + "llm.load.mainGpu/placeholder": "메인 GPU 선택...", + "llm.load.splitStrategy/title": "분할 전략", + "llm.load.splitStrategy/subTitle": "GPU들 간에 모델 연산을 분할하는 방법", + "llm.load.splitStrategy/placeholder": "분할 전략 선택...", + "llm.load.offloadKVCacheToGpu/title": "KV 캐시를 GPU 메모리로 오프로드", + "llm.load.offloadKVCacheToGpu/subTitle": "KV 캐시를 GPU 메모리로 오프로드합니다. 성능은 향상되지만 GPU 메모리가 더 필요합니다", + "llm.load.numParallelSessions/title": "최대 동시 예측", + "llm.load.numParallelSessions/subTitle": "특정 시간에 모델이 실행할 수 있는 예측의 최대 수. 개별 예측 속도는 동시성으로 감소할 수 있으나, 각 예측의 시작이 더 빨라지고 총 처리량이 높아질 수 있습니다", + "llm.load.useUnifiedKvCache/title": "통합 KV 캐시", + "llm.load.useUnifiedKvCache/subTitle": "동시 예측이 단일 KV 캐시를 공유하여 메모리를 절약할지 제어합니다. 이 옵션을 비활성화하면 메모리 사용량이 늘어나는 대신 각 예측이 전체 컨텍스트 길이를 활용할 수 있습니다", + "load.gpuStrictVramCap/title": "모델 오프로드를 전용 GPU 메모리로 제한", + "load.gpuStrictVramCap.customSubTitleOff": "끄기: 전용 GPU 메모리가 가득 찬 경우 모델 가중치를 공유 메모리로 오프로드하는 것을 허용", + "load.gpuStrictVramCap.customSubTitleOn": "켜기: 시스템이 모델 가중치의 오프로드를 전용 GPU 메모리와 RAM으로만 제안합니다. 컨텍스트는 여전히 공유 메모리를 사용할 수 있습니다", + "load.gpuStrictVramCap.customGpuOffloadWarning": "모델 오프로드가 전용 GPU 메모리로 제한되었습니다. 실제 오프로드된 레이어 수는 다를 수 있습니다", + "load.allGpusDisabledWarning": "모든 GPU가 현재 비활성화되어 있습니다. 오프로드하려면 하나 이상을 활성화하세요", "llm.load.contextLength/title": "컨텍스트 길이 (Context Length)", "llm.load.contextLength/subTitle": "모델이 하나의 프롬프트에서 처리할 수 있는 최대 토큰 수입니다. '추론 매개변수' 아래의 대화 초과 옵션을 참조하여 이를 관리하는 방법을 확인하세요", @@ -84,6 +143,9 @@ "llm.load.seed/title": "시드 (Seed)", "llm.load.seed/subTitle": "텍스트 생성에 사용되는 난수 생성기의 시드입니다. -1은 무작위입니다", "llm.load.seed/info": "랜덤 시드: 재현 가능한 결과를 보장하기 위해 난수 생성의 시드를 설정합니다", + "llm.load.numCpuExpertLayersRatio/title": "CPU로 강제 오프로드할 MoE 전문가 레이어 수", + "llm.load.numCpuExpertLayersRatio/subTitle": "전문가를 CPU로 강제할 레이어 수. VRAM을 절약하며 부분 GPU 오프로드보다 빠를 수 있습니다. 모델이 VRAM에 완전히 들어가는 경우에는 권장하지 않습니다.", + "llm.load.numCpuExpertLayersRatio/info": "전문가를 CPU로 강제할 레이어 수를 지정합니다. 어텐션 레이어는 GPU에 남겨두어 인퍼런스 속도를 꽤 빠르게 유지하면서 VRAM을 절약합니다.", "llm.load.llama.evalBatchSize/title": "평가 배치 크기 (Evaluation Batch Size)", "llm.load.llama.evalBatchSize/subTitle": "한 번에 처리할 입력 토큰 수입니다. 이를 늘리면 성능이 향상되지만 메모리 사용량이 증가합니다", @@ -111,6 +173,38 @@ "llm.load.llama.tryMmap/title": "mmap() 시도", "llm.load.llama.tryMmap/subTitle": "모델의 로드 시간을 개선합니다. 모델이 사용 가능한 시스템 RAM보다 클 때 이를 비활성화하면 성능이 향상될 수 있습니다", "llm.load.llama.tryMmap/info": "모델 파일을 디스크에서 메모리로 직접 로드합니다", + "llm.load.llama.cpuThreadPoolSize/title": "CPU 쓰레드 풀 크기", + "llm.load.llama.cpuThreadPoolSize/subTitle": "모델 연산을 위해 쓰레드 풀에 할당할 CPU 쓰레드 수", + "llm.load.llama.cpuThreadPoolSize/info": "모델 연산을 위해 쓰레드 풀에 할당할 CPU 쓰레드 수입니다. 쓰레드 수를 늘린다고 항상 성능이 좋아지는 것은 아닙니다. 기본값은 <{{dynamicValue}}>입니다.", + "llm.load.llama.kCacheQuantizationType/title": "K 캐시 양자화 유형", + "llm.load.llama.kCacheQuantizationType/subTitle": "낮은 값은 메모리 사용량을 줄이지만 품질을 저하시킬 수 있습니다. 그 효과는 모델마다 상당히 다릅니다.", + "llm.load.llama.vCacheQuantizationType/title": "V 캐시 양자화 유형", + "llm.load.llama.vCacheQuantizationType/subTitle": "낮은 값은 메모리 사용량을 줄이지만 품질을 저하시킬 수 있습니다. 그 효과는 모델마다 상당히 다릅니다.", + "llm.load.llama.vCacheQuantizationType/turnedOnWarning": "⚠️ Flash Attention이 활성화되어 있지 않으면 이 값을 비활성화해야 합니다", + "llm.load.llama.vCacheQuantizationType/disabledMessage": "Flash Attention이 활성화되어 있을 때만 켤 수 있습니다", + "llm.load.llama.vCacheQuantizationType/invalidF32MetalState": "⚠️ F32를 사용할 때는 flash attention을 비활성화해야 합니다", + "llm.load.mlx.kvCacheBits/title": "KV 캐시 양자화", + "llm.load.mlx.kvCacheBits/subTitle": "KV 캐시를 양자화할 비트 수", + "llm.load.mlx.kvCacheBits/info": "KV 캐시를 양자화할 비트 수", + "llm.load.mlx.kvCacheBits/turnedOnWarning": "KV 캐시 양자화를 사용할 때는 컨텍스트 길이 설정이 무시됩니다", + "llm.load.mlx.kvCacheGroupSize/title": "KV 캐시 양자화: 그룹 크기", + "llm.load.mlx.kvCacheGroupSize/subTitle": "KV 캐시 양자화 작업 중 그룹 크기입니다. 더 큰 그룹 크기는 메모리 사용량을 줄이지만 품질이 저하될 수 있습니다", + "llm.load.mlx.kvCacheGroupSize/info": "KV 캐시를 양자화할 비트 수입니다", + "llm.load.mlx.kvCacheQuantizationStart/title": "KV 캐시 양자화: 컨텍스트가 이 길이를 넘으면 양자화 시작", + "llm.load.mlx.kvCacheQuantizationStart/subTitle": "KV 캐시 양자화를 시작할 컨텍스트 길이 임계값", + "llm.load.mlx.kvCacheQuantizationStart/info": "KV 캐시 양자화를 시작할 컨텍스트 길이 임계값", + "llm.load.mlx.kvCacheQuantization/title": "KV 캐시 양자화", + "llm.load.mlx.kvCacheQuantization/subTitle": "모델의 KV 캐시를 양자화합니다. 이로 인해 생성 속도가 빨라지고 메모리 사용량이 감소할 수 있지만, 모델 출력 품질은 희생됩니다.", + "llm.load.mlx.kvCacheQuantization/bits/title": "KV 캐시 양자화 비트", + "llm.load.mlx.kvCacheQuantization/bits/tooltip": "KV 캐시를 양자화할 비트 수", + "llm.load.mlx.kvCacheQuantization/bits/bits": "비트", + "llm.load.mlx.kvCacheQuantization/groupSize/title": "그룹 크기 전략", + "llm.load.mlx.kvCacheQuantization/groupSize/accuracy": "정확도", + "llm.load.mlx.kvCacheQuantization/groupSize/balanced": "균형", + "llm.load.mlx.kvCacheQuantization/groupSize/speedy": "속도", + "llm.load.mlx.kvCacheQuantization/groupSize/tooltip": "고급: 양자화된 'matmul 그룹 크기' 구성\n\n• 정확도 = 그룹 크기 32\n• 균형 = 그룹 크기 64\n• 속도 = 그룹 크기 128\n", + "llm.load.mlx.kvCacheQuantization/quantizedStart/title": "컨텍스트가 이 길이에 도달하면 양자화 시작", + "llm.load.mlx.kvCacheQuantization/quantizedStart/tooltip": "컨텍스트가 이 양의 토큰에 도달하면 KV 캐시 양자화를 시작합니다", "embedding.load.contextLength/title": "컨텍스트 길이 (Context Length)", "embedding.load.contextLength/subTitle": "모델이 하나의 프롬프트에서 처리할 수 있는 최대 토큰 수입니다. '추론 매개변수' 아래의 대화 초과 옵션을 참조하여 이를 관리하는 방법을 확인하세요", @@ -141,8 +235,8 @@ "presetTooltip": { "included/title": "적용됨", "included/description": "다음 필드가 적용됩니다", - "included/conflict": "이 값을 적용할지 선택하라는 메시지가 표시됩니다", "included/empty": "이 컨텍스트에서는 이 프리셋의 필드가 적용되지 않습니다.", + "included/conflict": "이 값을 적용할지 선택하라는 메시지가 표시됩니다", "separateLoad/title": "로드 시간 구성", "separateLoad/description.1": "프리셋에는 다음과 같은 로드 시간 구성도 포함됩니다. 로드 시간 구성은 모델 전체에 적용되며 효과를 적용하려면 모델을 다시 로드해야 합니다.", "separateLoad/description.2": "을(를) 눌러 적용하세요", @@ -150,7 +244,13 @@ "excluded/title": "제외됨", "excluded/description": "다음 필드는 프리셋에 포함되어 있지만 현재 컨텍스트에서는 적용되지 않습니다.", "legacy/title": "레거시 프리셋", - "legacy/description": "이 프리셋은 레거시 프리셋입니다. 현재 자동으로 처리되거나 더 이상 적용되지 않는 다음 필드를 포함합니다." + "legacy/description": "이 프리셋은 레거시 프리셋입니다. 현재 자동으로 처리되거나 더 이상 적용되지 않는 다음 필드를 포함합니다.", + "button/publish": "Hub에 게시", + "button/pushUpdate": "Hub로 변경 사항 푸시", + "button/noChangesToPush": "푸시할 변경 사항 없음", + "button/export": "내보내기", + "hubLabel": "{{user}}님이 Hub에서 가져온 사전 설정", + "ownHubLabel": "Hub에 있는 내 사전 설정" }, "customInputs": { @@ -160,6 +260,12 @@ "checkboxNumeric": { "off": "꺼짐" }, + "llamaCacheQuantizationType": { + "off": "끄기" + }, + "mlxKvCacheBits": { + "off": "끄기" + }, "stringArray": { "empty": "<비어 있음>" }, @@ -205,6 +311,44 @@ "llamaAccelerationOffloadRatio": { "max": "최대", "off": "꺼짐" + }, + "gpuSplitStrategy": { + "evenly": "균등하게", + "favorMainGpu": "메인 GPU를 우선으로" + }, + "speculativeDecodingDraftModel": { + "readMore": "작동 방식 읽기", + "placeholder": "호환되는 초안 모델 선택", + "noCompatible": "현재 선택한 모델과 호환되는 초안 모델을 찾을 수 없습니다", + "stillLoading": "호환되는 초안 모델 확인 중...", + "notCompatible": "선택한 초안 모델()이 현재 선택한 모델()과 호환되지 않습니다.", + "off": "끄기", + "loadModelToSeeOptions": "호환 옵션을 보려면 모델 을 로드하세요", + "compatibleWithNumberOfModels": "내 모델 중 최소 {{dynamicValue}}개에 대해 권장됨", + "recommendedForSomeModels": "일부 모델에 대해 권장됨", + "recommendedForLlamaModels": "Llama 모델에 대해 권장됨", + "recommendedForQwenModels": "Qwen 모델에 대해 권장됨", + "onboardingModal": { + "introducing": "소개", + "speculativeDecoding": "추측 디코딩", + "firstStepBody": "llama.cppMLX 모델을 위한 인퍼런스 속도 향상", + "secondStepTitle": "추측 디코딩을 통한 인퍼런스 속도 향상", + "secondStepBody": "추측 디코딩은 두 개의 모델이 협력하는 기법입니다:\n - 더 큰 \"메인\" 모델\n - 더 작은 \"초안\" 모델\n\n생성 동안, 초안 모델이 더 큰 메인 모델이 검증할 토큰을 빠르게 제안합니다. 토큰을 검증하는 것은 실제로 생성하는 것보다 훨씬 빠른 과정이며, 이것이 속도 이득의 원천입니다. **일반적으로 메인 모델과 초안 모델 간의 크기 차이가 클수록 속도 향상이 큽니다**.\n\n품질을 유지하기 위해 메인 모델은 자신이 스스로 생성했을 토큰과 일치하는 초안만 수락하여, 더 빠른 인퍼런스 속도에서 더 큰 모델의 응답 품질을 가능하게 합니다. 두 모델은 동일한 어휘(Vocabulary)를 공유해야 합니다.", + "draftModelRecommendationsTitle": "초안 모델 권장 사항", + "basedOnCurrentModels": "현재 내 모델 기반", + "close": "닫기", + "next": "다음", + "done": "완료" + }, + "speculativeDecodingLoadModelToSeeOptions": "먼저 모델을 로드해 주세요 ", + "errorEngineNotSupported": "추측 디코딩은 엔진 {{engineName}}의 최소 버전 {{minVersion}}이 필요합니다. 엔진()을 업데이트하고 모델을 다시 로드하여 이 기능을 사용하세요.", + "errorEngineNotSupported/noKey": "추측 디코딩은 엔진 {{engineName}}의 최소 버전 {{minVersion}}이 필요합니다. 엔진을 업데이트하고 모델을 다시 로드하여 이 기능을 사용하세요." + }, + "llmReasoningParsing": { + "startString/label": "시작 문자열", + "startString/placeholder": "시작 문자열 입력...", + "endString/label": "종료 문자열", + "endString/placeholder": "종료 문자열 입력..." } }, "saveConflictResolution": { @@ -226,23 +370,30 @@ "cancel": "취소" }, "empty": "<비어 있음>", + "noModelSelected": "선택된 모델 없음", + "apiIdentifier.label": "API 식별자", + "apiIdentifier.hint": "선택적으로 이 모델의 식별자를 제공합니다. API 요청에서 사용됩니다. 비워두면 기본 식별자를 사용합니다.", + "idleTTL.label": "유휴 시 자동 언로드 (TTL)", + "idleTTL.hint": "설정된 경우, 지정된 시간 동안 유휴 상태이면 모델이 자동으로 언로드됩니다.", + "idleTTL.mins": "분", + "presets": { "title": "프리셋", - "commitChanges": "변경사항 커밋", - "commitChanges/description": "변경사항을 프리셋에 커밋합니다.", - "commitChanges.manual": "새로운 필드가 감지되었습니다. 프리셋에 포함할 변경사항을 선택할 수 있습니다.", - "commitChanges.manual.hold.0": "누르고 있으면", - "commitChanges.manual.hold.1": "프리셋에 커밋할 변경사항을 선택할 수 있습니다.", - "commitChanges.saveAll.hold.0": "누르고 있으면", - "commitChanges.saveAll.hold.1": "모든 변경사항을 저장합니다.", - "commitChanges.saveInPreset.hold.0": "누르고 있으면", - "commitChanges.saveInPreset.hold.1": "프리셋에 이미 포함된 필드의 변경사항만 저장합니다.", - "commitChanges/error": "프리셋에 변경사항 커밋 실패.", - "commitChanges.manual/description": "프리셋에 포함할 변경사항을 선택하세요.", + "saveChanges": "저장", + "saveChanges/description": "변경 사항을 사전 설정에 저장합니다.", + "saveChanges.manual": "새 필드가 감지되었습니다. 사전 설정에 포함할 변경 사항을 취사선택할 수 있습니다.", + "saveChanges.manual.hold.0": "길게 누르기", + "saveChanges.manual.hold.1": "을 통해 사전 설정에 저장할 변경 사항을 선택합니다.", + "saveChanges.saveAll.hold.0": "길게 누르기", + "saveChanges.saveAll.hold.1": "을 통해 모든 변경 사항을 저장합니다.", + "saveChanges.saveInPreset.hold.0": "길게 누르기", + "saveChanges.saveInPreset.hold.1": "을 통해 이미 사전 설정에 포함된 필드에 대한 변경 사항만 저장합니다.", + "saveChanges/error": "사전 설정 변경 사항 저장 실패.", + "saveChanges.manual/description": "사전 설정에 포함할 변경 사항을 선택하세요.", "saveAs": "새로 저장...", "presetNamePlaceholder": "프리셋 이름을 입력하세요...", "cannotCommitChangesLegacy": "이것은 레거시 프리셋이라 수정할 수 없습니다. \"새로 저장...\"을 사용하여 복사본을 만들 수 있습니다.", - "cannotCommitChangesNoChanges": "커밋할 변경사항이 없습니다.", + "cannotSaveChangesNoChanges": "저장할 변경 사항이 없습니다.", "emptyNoUnsaved": "프리셋 선택...", "emptyWithUnsaved": "저장되지 않은 프리셋", "saveEmptyWithUnsaved": "프리셋 다른 이름으로 저장...", @@ -257,13 +408,214 @@ "discardChanges": "저장되지 않은 항목 취소", "discardChanges/info": "저장되지 않은 모든 변경사항을 취소하고 프리셋을 원래 상태로 복원합니다", "newEmptyPreset": "새 빈 프리셋 만들기...", + "importPreset": "가져오기", + "contextMenuCopyIdentifier": "사전 설정 식별자 복사", "contextMenuSelect": "프리셋 선택", - "contextMenuDelete": "삭제" + "contextMenuDelete": "삭제", + "contextMenuShare": "게시...", + "contextMenuOpenInHub": "웹에서 보기", + "contextMenuPullFromHub": "최신 풀", + "contextMenuPushChanges": "Hub로 변경 사항 푸시", + "contextMenuPushingChanges": "푸시 중...", + "contextMenuPushedChanges": "변경 사항 푸시 완료", + "contextMenuExport": "파일 내보내기", + "contextMenuRevealInExplorer": "파일 탐색기에서 보기", + "contextMenuRevealInFinder": "Finder에서 보기", + "share": { + "title": "사전 설정 게시", + "action": "다른 사람들이 다운로드, 좋아요, 포크할 수 있도록 사전 설정 공유", + "presetOwnerLabel": "소유자", + "uploadAs": "사전 설정이 {{name}}로 생성됩니다", + "presetNameLabel": "사전 설정 이름", + "descriptionLabel": "설명 (선택 사항)", + "loading": "게시 중...", + "success": "사전 설정이 성공적으로 푸시되었습니다", + "presetIsLive": "이(가) 이제 Hub에 라이브되었습니다!", + "close": "닫기", + "confirmViewOnWeb": "웹에서 보기", + "confirmCopy": "URL 복사", + "confirmCopied": "복사 완료!", + "pushedToHub": "사전 설정이 Hub에 푸시되었습니다", + "descriptionPlaceholder": "설명 입력...", + "willBePublic": "이 사전 설정은 공개됩니다. 인터넷의 누구나 이를 볼 수 있습니다.", + "willBePrivate": "이 사전 설정은 본인만 볼 수 있습니다", + "willBeOrgVisible": "이 사전 설정은 조직의 모든 사람에게 표시됩니다.", + "publicSubtitle": "내 사전 설정이 공개 상태입니다. 다른 사람들이 lmstudio.ai에서 다운로드하고 포크할 수 있습니다", + "privateUsageReached": "비공개 사전 설정 개수 제한에 도달했습니다.", + "continueInBrowser": "브라우저에서 계속", + "confirmShareButton": "게시하기", + "error": "사전 설정 게시 실패", + "createFreeAccount": "사전 설정을 게시하려면 Hub에서 무료 계정을 만드세요" + }, + "update": { + "title": "Hub로 변경 사항 푸시", + "title/success": "사전 설정이 성공적으로 업데이트되었습니다", + "subtitle": "의 변경 사항을 만들고 Hub로 푸시합니다", + "descriptionLabel": "설명", + "descriptionPlaceholder": "설명 입력...", + "loading": "푸시 중...", + "cancel": "취소", + "createFreeAccount": "사전 설정을 게시하려면 Hub에서 무료 계정을 만드세요", + "error": "업데이트 푸시 실패", + "confirmUpdateButton": "푸시" + }, + "resolve": { + "title": "충돌 해결...", + "tooltip": "Hub 버전과의 차이를 해결하는 모달 열기" + }, + "loginToManage": { + "title": "관리하려면 로그인하세요..." + }, + "downloadFromHub": { + "title": "다운로드", + "downloading": "다운로드 중...", + "success": "다운로드 완료!", + "error": "다운로드 실패" + }, + "push": { + "title": "변경 사항 푸시", + "pushing": "푸시 중...", + "success": "푸시 완료", + "tooltip": "로컬 변경 사항을 Hub의 원격 버전으로 푸시", + "error": "푸시 실패" + }, + "saveAsNewModal": { + "title": "이런! Hub에서 사전 설정을 찾지 못했습니다", + "confirmSaveAsNewDescription": "이 사전 설정을 새 것으로 게시하시겠습니까?", + "confirmButton": "새로 게시" + }, + "pull": { + "title": "최신 풀", + "error": "풀 실패", + "contextMenuErrorMessage": "풀 실패", + "success": "풀 성공", + "pulling": "풀 중...", + "upToDate": "최신 상태입니다!", + "unsavedChangesModal": { + "title": "저장하지 않은 변경 사항이 있습니다.", + "bodyContent": "원격에서 풀하면 저장하지 않은 변경 사항을 덮어씁니다. 계속하시겠습니까?", + "confirmButton": "저장하지 않은 변경 사항 덮어쓰기" + } + }, + "import": { + "title": "파일에서 사전 설정 가져오기", + "dragPrompt": "사전 설정 파일(.tar.gz 또는 preset.json)을 드래그 앤 드롭하거나 컴퓨터에서 선택하세요", + "remove": "제거", + "cancel": "취소", + "importPreset_zero": "사전 설정 가져오기", + "importPreset_one": "사전 설정 가져오기", + "importPreset_other": "{{count}}개의 사전 설정 가져오기", + "selectDialog": { + "title": "사전 설정 파일 선택 (preset.json 또는 .tar.gz)", + "button": "가져오기" + }, + "error": "사전 설정 가져오기 실패", + "resultsModal": { + "titleSuccessSection_one": "사전 설정 1개 가져오기 성공", + "titleSuccessSection_other": "{{count}}개의 사전 설정 가져오기 성공", + "titleFailSection_zero": "", + "titleFailSection_one": "({{count}} 실패)", + "titleFailSection_other": "({{count}} 실패)", + "titleAllFailed": "사전 설정 가져오기 실패", + "importMore": "더 가져오기", + "close": "완료", + "successBadge": "성공", + "alreadyExistsBadge": "사전 설정이 이미 존재함", + "errorBadge": "오류", + "invalidFileBadge": "잘못된 파일", + "otherErrorBadge": "사전 설정 가져오기 실패", + "errorViewDetailsButton": "자세히 보기", + "seeError": "오류 보기", + "noName": "사전 설정 이름 없음", + "useInChat": "채팅에서 사용" + }, + "importFromUrl": { + "button": "URL에서 가져오기...", + "title": "URL에서 가져오기", + "back": "파일에서 가져오기...", + "action": "아래에 가져오려는 사전 설정의 LM Studio Hub URL을 붙여넣으세요", + "invalidUrl": "잘못된 URL입니다. 올바른 LM Studio Hub URL을 붙여넣었는지 확인하세요.", + "tip": "LM Studio Hub에서 {{buttonName}} 버튼으로 사전 설정을 직접 설치할 수 있습니다", + "confirm": "가져오기", + "cancel": "취소", + "loading": "가져오는 중...", + "error": "사전 설정 다운로드 실패." + } + }, + "download": { + "title": "LM Studio Hub에서 풀", + "subtitle": "을(를) 사전 설정에 저장합니다. 이렇게 하면 앱에서이 사전 설정을 사용할 수 있습니다", + "button": "풀", + "button/loading": "풀 중...", + "cancel": "취소", + "error": "사전 설정 다운로드 실패." + }, + "inclusiveness": { + "speculativeDecoding": "사전 설정에 포함" + } }, "flashAttentionWarning": "플래시 어텐션은 일부 모델에서 문제를 일으킬 수 있는 실험적 기능입니다. 문제가 발생하면 비활성화해 보세요.", + "llamaKvCacheQuantizationWarning": "KV 캐시 양자화는 일부 모델에서 문제를 일으킬 수 있는 실험적인 기능입니다. V 캐시 양자화를 위해 Flash Attention이 활성화되어 있어야 합니다. 문제가 발생하면 기본값인 \"F16\"으로 재설정하세요.", "seedUncheckedHint": "랜덤 시드", "ropeFrequencyBaseUncheckedHint": "자동", - "ropeFrequencyScaleUncheckedHint": "자동" + "ropeFrequencyScaleUncheckedHint": "자동", + + "hardware": { + "environmentVariables": "환경 변수", + "environmentVariables.info": "확실하지 않다면 기본값으로 두십시오", + "environmentVariables.reset": "기본값으로 재설정", + + "gpus.information": "시스템에서 감지된 그래픽 처리 장치(GPU) 구성", + "gpuSettings": { + "editMaxCapacity": "최대 용량 편집", + "hideEditMaxCapacity": "최대 용량 편집 숨기기", + "allOffWarning": "모든 GPU가 꺼져 있거나 비활성화되어 있습니다. 모델을 로드하려면 약간의 GPU 할당이 있어야 합니다.", + "split": { + "title": "전략", + "placeholder": "GPU 메모리 할당 선택", + "options": { + "generalDescription": "GPU에 모델이 로드되는 방식 구성", + "evenly": { + "title": "균등하게 분할", + "description": "GPU 전체에 걸쳐 메모리를 균등하게 할당" + }, + "priorityOrder": { + "title": "우선순위 역임", + "description": "드래그하여 우선순위를 재정렬하세요. 시스템은 위에 나열된 GPU에 더 많은 메모리를 할당하려고 시도합니다." + }, + "custom": { + "title": "사용자 지정", + "description": "메모리 할당", + "maxAllocation": "최대 할당" + } + } + }, + "deviceId.info": "이 장치의 고유 식별자", + "changesOnlyAffectNewlyLoadedModels": "변경 사항은 새로 로드되는 모델에만 영향을 미칩니다", + "toggleGpu": "GPU 활성화/비활성화" + } + }, + + "load.gpuSplitConfig/title": "GPU 분할 구성", + "envVars/title": "환경 변수 설정", + "envVars": { + "select": { + "placeholder": "환경 변수 선택...", + "noOptions": "더 이상 없음", + "filter": { + "placeholder": "검색 결과 필터링", + "resultsFound_zero": "결과 없음", + "resultsFound_one": "1개의 결과 찾음", + "resultsFound_other": "{{count}}개의 결과 찾음" + } + }, + "inputValue": { + "placeholder": "값 입력" + }, + "values": { + "title": "현재 값" + } + } } diff --git a/ko/developer.json b/ko/developer.json index 2835963e..34e6845e 100644 --- a/ko/developer.json +++ b/ko/developer.json @@ -27,6 +27,10 @@ "serverOptions/contentLogging/title": "프롬프트 및 응답 로깅", "serverOptions/contentLogging/subtitle": "로컬 요청 / 응답 로깅 설정", "serverOptions/contentLogging/hint": "로컬 서버 로그 파일에 프롬프트 및/또는 응답을 기록할지 여부입니다.", + "serverOptions/redactContent/title": "콘텐츠 수정", + "serverOptions/redactContent/hint": "활성화되면 요청 및 응답 콘텐츠와 같은 민감한 데이터가 로깅되지 않도록 합니다.", + "serverOptions/logIncomingTokens/title": "수신 토큰 로깅", + "serverOptions/logIncomingTokens/hint": "생성되는 각 토큰을 기록할지 여부입니다.", "serverOptions/fileLoggingMode/title": "파일 로깅 모드", "serverOptions/fileLoggingMode/off/title": "꺼짐", "serverOptions/fileLoggingMode/off/hint": "로그 파일 생성 안 함", @@ -43,6 +47,15 @@ "serverOptions/jitModelLoadingTTL/ttl/unit": "분", "serverOptions/unloadPreviousJITModelOnLoad/title": "마지막 JIT 로드 모델만 유지", "serverOptions/unloadPreviousJITModelOnLoad/hint": "언제든지 JIT를 통해 로드된 모델이 최대 1개만 있도록 합니다(이전 모델 언로드)", + "serverOptions/allowMcp/title": "원격 MCP 허용", + "serverOptions/allowMcp/hint": "mcp.json에 없는 MCP 사용을 허용합니다. 이러한 MCP 연결은 일시적이며 요청이 진행되는 동안에만 존재합니다. 현재는 원격 MCP만 지원됩니다.", + "serverOptions/allowMcp/mode/off": "끄기", + "serverOptions/allowMcp/mode/off/hint": "서버 요청이 MCP를 사용하도록 허용하지 않음", + "serverOptions/allowMcp/mode/remote": "원격", + "serverOptions/allowMcp/mode/remote/hint": "원격 MCP 서버 연결 허용", + + "serverOptions/start/error": "서버 시작 실패", + "serverOptions/stop/error": "서버 중지 실패", "serverLogs/scrollToBottom": "맨 아래로 이동", "serverLogs/clearLogs": "로그 지우기 ({{shortcut}})", @@ -55,6 +68,12 @@ "runtimeSettings/chooseRuntime/showAllVersions/hint": "기본적으로 LM Studio는 각 호환 런타임의 최신 버전만 표시합니다. 이 옵션을 활성화하면 사용 가능한 모든 런타임을 볼 수 있습니다.", "runtimeSettings/chooseRuntime/select/placeholder": "런타임 선택", + "runtimeSettings/chooseFrameworks/title": "프레임워크", + "runtimeSettings/chooseFrameworks/description": "각 기능에 사용할 프레임워크 선택", + "runtimeSettings/chooseFramework/documentParser/builtIn/label": "내장 파서", + "runtimeSettings/chooseFramework/documentParser/select/label": "문서 파서", + "runtimeSettings/chooseFramework/documentParser/select/placeholder": "문서 파서를 선택하세요", + "runtimeOptions/uninstall": "제거", "runtimeOptions/uninstallDialog/title": "{{runtimeName}}을 제거하시겠습니까?", "runtimeOptions/uninstallDialog/body": "이 런타임을 제거하면 시스템에서 삭제됩니다. 이 작업은 되돌릴 수 없습니다.", @@ -152,10 +171,19 @@ }, "endpoints/openaiCompatRest/title": "지원되는 엔드포인트 (OpenAI-like)", + "endpoints/openaiCompatRest/segmentedLabel": "OpenAI 호환", "endpoints/openaiCompatRest/getModels": "현재 로드된 모델 목록", "endpoints/openaiCompatRest/postCompletions": "텍스트 완성 모드. 프롬프트를 제공하여 다음 토큰을 예측합니다. 참고: OpenAI는 이 엔드포인트를 '사용 중단'으로 간주합니다.", "endpoints/openaiCompatRest/postChatCompletions": "채팅 완성. 모델에 채팅 기록을 보내어 다음 어시스턴트 응답을 예측합니다", "endpoints/openaiCompatRest/postEmbeddings": "텍스트 임베딩. 주어진 텍스트 입력에 대한 텍스트 임베딩을 생성합니다. 문자열 또는 문자열 배열을 입력으로 받습니다.", + "endpoints/openaiCompatRest/postResponses": "모델 응답 생성을 위한 고급 인터페이스. 이전 응답의 id를 다음의 입력으로 전달하여 상태 유지 상호작용을 만듭니다.", + "endpoints/lmStudioRest/segmentedLabel": "LM Studio", + "endpoints/lmStudioRestV1/getModels": "사용 가능한 모델 목록", + "endpoints/lmStudioRestV1/postModelsLoad": "옵션과 함께 모델 로드", + "endpoints/lmStudioRestV1/postModelsDownload": "모델 다운로드", + "endpoints/lmStudioRestV1/postChat": "모델과 채팅. 상태 유지 다중 턴 대화 및 MCP 지원", + "endpoints/lmStudioRestV1/getModelsDownloadStatus": "모델 다운로드 상태 가져오기", + "endpoints/anthropicCompatRest/segmentedLabel": "Anthropic 호환", "model.createVirtualModelFromInstance": "설정을 새 가상 모델로 저장", "model.createVirtualModelFromInstance/error": "설정을 새 가상 모델로 저장하지 못했습니다", diff --git a/ko/discover.json b/ko/discover.json index dfeec142..016ce552 100644 --- a/ko/discover.json +++ b/ko/discover.json @@ -23,6 +23,7 @@ "download.option.recommended/description": "하드웨어를 기반으로 이 옵션이 권장됩니다.", "download.option.downloaded/title": "다운로드됨", "download.option.downloading/title": "다운로드 중 ({{progressPercentile}}%)", + "failedToStartDownload": "다운로드 시작에 실패했습니다", "feed.action.refresh": "피드 새로 고침" } diff --git a/ko/download.json b/ko/download.json index 319facec..336ef43c 100644 --- a/ko/download.json +++ b/ko/download.json @@ -1,8 +1,18 @@ { "postDownloadActionExecutor.zipExtraction/status": "추출 중...", + "postDownloadActionExecutor.tarGzExtraction/status": "파일 추출 중...", + "postDownloadActionExecutor.runtimeIndexerTarGzExtraction/status": "파일 추출 중...", + "postDownloadActionExecutor.modifyModelData/status": "모델 데이터 업데이트 중...", + "postDownloadActionExecutor.notification/status": "사용자에게 알리는 중...", + "postDownloadActionExecutor.writeString/status": "메타데이터 쓰는 중...", + "postDownloadActionExecutor.updateSelectedBackendVersions/status": "선택한 버전 업데이트 중...", + "postDownloadActionExecutor.extensionPackAutoDeletion/status": "사용하지 않는 확장 삭제 중...", + "postDownloadActionExecutor.pluginInstall/status": "플러그인 설치 중...", + "postDownloadActionExecutor.pluginUninstall/status": "플러그인 제거 중...", + "finalizing": "다운로드 마무리 중... (잠시만 기다려 주세요)", "noOptions": "다운로드 가능한 호환 옵션이 없습니다", - + "deeplink/confirmation/title": "Hugging Face에서 모델 다운로드 🤗", "deeplink/confirmation/subtitle": "{{modelName}}", "deeplink/confirmation/selectRecommended": "권장 옵션 선택", @@ -19,5 +29,15 @@ "downloadsPanel/title": "다운로드", "downloadsPanel/sectionTitle/ongoing": "진행 중", - "downloadsPanel/sectionTitle/completed": "완료됨" + "downloadsPanel/sectionTitle/completed": "완료됨", + "downloadsPanel": { + "reveal": { + "mac": "Finder에서 보기", + "mac/error": "Finder에서 보기 실패", + "nonMac": "파일 탐색기에서 보기", + "nonMac/error": "파일 탐색기에서 보기 실패" + }, + "completed": "다운로드 완료", + "loadModel": "모델 로드" + } } diff --git a/ko/models.json b/ko/models.json index 38dc9acf..5be3bb06 100644 --- a/ko/models.json +++ b/ko/models.json @@ -14,34 +14,25 @@ "modelsTable.publisher/label": "발행자", "modelsTable.displayName/label": "이름", "modelsTable.modelKey/label": "모델 키", - "modelsTable.llms/label": "LLM", - "modelsTable.embeddingModels/label": "임베딩 모델", - "modelsTable.quant/label": "양자화", "modelsTable.size/label": "크기", "modelsTable.dateModified/label": "수정 날짜", "modelsTable.actions/label": "실행", + "modelsTable.quant/label": "양자화", + "modelsTable.llms/label": "LLM", + "modelsTable.embeddingModels/label": "임베딩 모델", + "action.model.delete": "삭제", "action.model.delete.full": "모델 삭제", "action.model.delete.confirmation/title": "{{name}} 삭제", "action.model.delete.confirmation/description": "정말로 삭제하시겠습니까? 이 작업은 이 모델과 관련된 모든 파일을 기기에서 영구적으로 삭제합니다. 이 작업은 되돌릴 수 없습니다.", "action.model.delete.confirmation/confirm": "삭제", - - "action.createVirtual": "프리셋 생성", - "action.createVirtual.details/title": "프리셋 생성", - "action.createVirtual.details/create": "생성", - "action.createVirtual.details/cancel": "취소", - "action.createVirtual.details.base/label": "기본 모델", - "action.createVirtual.details.name/label": "이름", - "action.createVirtual.details.includeMachineDependent/label": "기계 종속 설정 포함", - "action.createVirtual.details.includeMachineDependent/hint": "프리셋에 기계 종속 설정(GPU 설정 등)을 포함할지 여부입니다. 공유에는 권장되지 않습니다.", - "action.createVirtual.details.config/label": "구성 재정의", - "action.createVirtual.details.config.empty": "구성 재정의 없음", - "action.createVirtual.details/error": "가상 모델 생성 실패.", + "action.model.delete/error": "모델 삭제 실패", "loader.model.bundled": "번들됨", "action.cancel": "취소", "indexingOngoing": "모델 색인 중... 몇 초 정도 걸릴 수 있습니다", + "indexingPageLoaderText": "모델 인덱싱 중...", "index/error_one": "다음 폴더를 색인하는 데 실패했습니다:", "index/error_other": "다음 폴더들을 색인하는 데 실패했습니다:", "badModels/title_one": "다음 모델을 색인하는 데 실패했습니다:", @@ -52,12 +43,19 @@ "unresolvedVirtualModels/title_other": "다음 가상 모델들을 해결하는 데 실패했습니다:", "unresolvedVirtualModels.missingModel": "종속 모델이 누락되었습니다: {{missing}}. 종속 경로:\n{{chain}}", "unresolvedVirtualModels.circular": "순환 종속성이 감지되었습니다.", + "unresolvedVirtualModels.fix": "수정", + "unresolvedVirtualModels.revealInExplorer": "탐색기에서 보기", + "unresolvedVirtualModels.revealInFinder": "Finder에서 보기", + "unresolvedVirtualModels.reveal/error": "열기 실패", "modelsDirectory": "모델 디렉토리", "modelsDirectory.change": "변경...", + "modelsDirectory.change/error": "모델 디렉터리 변경 실패", "modelsDirectory.reset": "기본 경로로 재설정", "modelsDirectory.reveal.mac": "Finder에서 보기", "modelsDirectory.reveal.nonMac": "파일 탐색기에서 열기", + "modelsDirectory.reveal.mac/error": "Finder에서 열기 실패", + "modelsDirectory.reveal.nonMac/error": "파일 탐색기에서 열기 실패", "modelsDirectory.forceReindex": "새로 고침", "loadState/loaded": "로드됨", "loadState/loading": "로드 중", @@ -73,6 +71,15 @@ "contextMenu/copyModelDefaultIdentifier": "기본 식별자 복사", "contextMenu/showRawMetadata": "원시 메타데이터 보기", "contextMenu/openOnHuggingFace": "Hugging Face에서 열기", + "contextMenu": { + "showOnWeb": "웹에서 보기", + "pullLatest": { + "label": "최신 풀", + "checking": "업데이트 확인 중...", + "upToDate": "최신 상태", + "error": "업데이트 확인 실패" + } + }, "tooltip/moreActions": "추가 작업", "tooltip/getInfo": "정보 얻기", "tooltip/editModelDefaultConfig": "모델 기본 구성 편집", @@ -88,5 +95,38 @@ "loader.action.cancel": "취소", "loader.info.clickOnModelToLoad": "로드할 모델을 클릭하세요", "loader.info.configureLoadParameters": "모델 로드 매개변수 구성", - "loader.info.activeGeneratorWarning": "사용자 정의 생성기가 있는 플러그인을 사용 중입니다. 현재 로드된 모델은 생성기의 구현에 따라 이 플러그인에서 적용될 수도 있고 적용되지 않을 수도 있습니다" + "loader.info.activeGeneratorWarning": "사용자 정의 생성기가 있는 플러그인을 사용 중입니다. 현재 로드된 모델은 생성기의 구현에 따라 이 플러그인에서 적용될 수도 있고 적용되지 않을 수도 있습니다", + "loader.guardrails.estimatedMemoryUsage": "예상 메모리 사용량", + "loader.guardrails.total": "전체", + "loader.guardrails.gpu": "GPU", + "loader.guardrails.unavailable": "이 모델의 메모리 예상을 사용할 수 없습니다", + "loader.guardrails.notEnoughResources": "현재 설정으로 모델을 로드하기에 리소스가 부족합니다", + "loader.guardrails.notEnoughResources/options": "옵션", + "loader.guardrails.notEnoughResources.moreInfoSection.appearsNotEnoughMemory": "모델을 로드하기에 시스템 메모리가 부족한 것 같습니다.", + "loader.guardrails.notEnoughResources.moreInfoSection.ifYouBelieveThisIsIncorrect": "설정에서 모델 로딩 가드레일을 조정하거나 Alt/Option을 누른 채 즉시 로드할 수 있습니다.", + "loader.guardrails.notEnoughResources.moreInfoSection.warning": "너무 큰 모델을 로드하면 시스템 과부하로 멈출 수 있습니다.", + "loader.guardrails.notEnoughResources.alwaysAllowLoadAnyway": "(권장 안 함) Alt/Option을 누르지 않고 '강제 로드' 항상 허용", + + "virtual": { + "local": { + "create": "가상 모델 생성", + "title": "로컬 가상 모델 생성", + "description": "모델과 여러 설정을 묶어 가상 모델을 생성합니다. 원본 가중치는 복제되지 않습니다.", + "modelKey.label": "모델 키", + "modelKey.placeholder": "고유한 모델 키 입력", + "modelKey.normalized": "모델 키가 다음과 같이 정규화됩니다: {{normalized}}", + "baseModel.label": "기본 모델", + "baseModel.placeholder": "기본 모델 선택", + "baseModel.empty": "기본 모델로 사용할 모델을 다운로드하세요", + "next": "다음", + "confirm": "생성", + "error": "가상 모델 생성 실패" + }, + "altsSelect": { + "title": "모델 소스 전환", + "resetButton": "기본값으로 재설정", + "description": "이 모델에 대해 사용 가능한 소스 파일이 여러 개 있습니다.", + "trigger": "변형" + } + } } diff --git a/ko/settings.json b/ko/settings.json index 78a64698..6482db0e 100644 --- a/ko/settings.json +++ b/ko/settings.json @@ -1,6 +1,7 @@ { "settingsDialogTitle": "앱 설정", "settingsDialogButtonTooltip": "앱 설정", + "accountDialogButtonTooltip": "계정", "settingsNewButtonPopover": { "primary": "앱 설정이 이제 우측 하단에 있습니다", @@ -23,6 +24,7 @@ "yourCurrentVersion": "현재 버전:", "latestVersion": "최신 버전:", "downloadLabel": "지금 업데이트", + "downloadLabel/Linux": "업데이트 다운로드", "cancelDownloadLabel": "취소", "downloadingUpdate": "업데이트 다운로드 중...", "updateDownloaded": "새 업데이트가 성공적으로 다운로드되었습니다. 업데이트를 적용하려면 앱을 다시 시작하세요.", @@ -30,6 +32,9 @@ "appUpdatedToastTitle": "{{title}}(으)로 업데이트됨", "appUpdatedToastDescriptionPrefix": "다음을 확인하세요 ", "AppUpdatedToastDescriptionReleaseNotes": "릴리스 노트", + "toolUseToastTitle": "베타의 새로운 기능: 도구 사용 및 함수 호출 API", + "toolUseToastDescription": "Llama 3.1/3.2, Mistral, Qwen 등 선택된 모델과 함께 사용하는 OpenAI 도구 사용의 드롭인 대체 기능.", + "toolUseToastButtonText": "개발자 페이지로 이동하여 사용해 보기", "doItLater": "나중에 할게요", "failedToUpdate": "앱 업데이트 실패. 인터넷 연결을 다시 확인하거나 나중에 다시 시도하세요.", "retryInBackground": "백그라운드에서 다시 시도", @@ -42,7 +47,11 @@ "preferences": "환경 설정", "general": "일반", "sideButtonLabels": "사이드 버튼 레이블 표시", + "showModelFileNames": "내 모델: 전체 모델 파일명 항상 표시", "colorThemeLabel": "색상 테마", + "appNavigationBarPositionLabel": "탐색 모음 위치", + "appNavigationBarPositionTop": "위", + "appNavigationBarPositionLeft": "왼쪽", "complexityLevelLabel": "사용자 인터페이스 복잡도 수준", "selectComplexityLevelPlaceholder": "기본 UI 복잡도 수준 선택", "userComplexityLevelLabel": "사용자", @@ -53,6 +62,15 @@ "chat/highlightChatMessageOnHover": "마우스를 올리면 채팅 메시지 강조 표시", "chat/doubleClickMessageToEdit": "채팅 메시지를 더블 클릭하여 편집", + "chat/aiNaming/label": "AI 채팅 네이밍", + "chat/aiNaming/mode/label": "AI 생성 채팅 이름", + "chat/aiNaming/mode/value/never": "사용 안 함", + "chat/aiNaming/mode/value/never/subTitle": "AI 생성 채팅 이름을 만들지 않습니다", + "chat/aiNaming/mode/value/auto": "자동", + "chat/aiNaming/mode/value/auto/subTitle": "생성 속도에 따라 이름 생성 여부를 결정합니다", + "chat/aiNaming/mode/value/always": "항상", + "chat/aiNaming/mode/value/always/subTitle": "생성 속도와 무관하게 AI 생성 채팅 이름을 만듭니다", + "chat/aiNaming/emoji": "AI 생성 채팅 이름에 이모지 사용", "chat/keyboardShortcuts/label": "키보드 단축키", "chat/keyboardShortcuts/verbPrefix": "사용", "chat/keyboardShortcuts/regenerate": "마지막 메시지를 재생성하려면", @@ -76,6 +94,8 @@ "languageLabel": "언어", "changeLanguageLabel": "앱 언어 변경", "developerLabel": "개발자", + "localServiceLabel": "로컬 LLM 서비스 (백그라운드)", + "modelDefaultsLabel": "모델 기본값", "showExperimentalFeaturesLabel": "실험적 기능 표시", "appFirstLoadLabel": "앱 첫 로드 경험", "showDebugInfoBlocksInChatLabel": "채팅에서 디버그 정보 블록 표시", @@ -96,6 +116,7 @@ "appUpdateChannel.label": "LM Studio 업데이트 채널", "appUpdateChannel.value.stable": "Stable", "appUpdateChannel.value.beta": "Beta", + "appUpdateChannel.value.alpha": "알파", "appUpdateChannel.shortLabel": "앱 업데이트 채널", "appUpdateChannel.hint": "LM Studio 앱 업데이트를 받을 채널을 선택하세요. 대부분의 사용자에게는 \"{{stableName}}\" 채널이 권장됩니다.", @@ -119,15 +140,25 @@ "modelLoadingGuardrails.custom.label": "메모리 한도: ", "modelLoadingGuardrails.custom.unitGB": "GB", "modelLoadingGuardrails.custom.description": "모델 로딩을 위한 사용자 정의 메모리 한도를 설정하세요. 이 한도를 초과하면 모델이 로드되지 않습니다.", + "modelLoadingGuardrails.alwaysAllowLoadAnyway": "(권장 안 함) Alt/Option을 누르지 않고 '강제 로드' 항상 허용", "experimentalLoadPresets": "프리셋에서 모델 로드 구성 지원 활성화", "experimentalLoadPresets.description": "프리셋에 모델 로드 구성을 포함할 수 있도록 허용할지 여부입니다. 이 기능은 실험적이며 피드백을 환영합니다.", + "unloadPreviousJITModelOnLoad": "JIT 모델 자동 해제: 동시에 JIT로 최대 1개의 모델만 로드되도록 합니다 (이전 모델 해제)", + "autoDeleteExtensionPacks": "최근에 가장 적게 사용된 런타임 확장팩 자동 삭제", + "autoUpdateExtensionPacks": "선택한 런타임 확장팩 자동 업데이트", + "useHFProxy.label": "LM Studio의 Hugging Face 프록시 사용", + "useHFProxy.hint": "LM Studio의 Hugging Face 프록시를 사용하여 모델을 검색하고 다운로드합니다. Hugging Face 직접 접속에 문제가 있는 사용자를 돕습니다.", + "separateReasoningContentInResponses": "가능한 경우, API 응답에서 `reasoning_content`와 `content`를 분리", + "separateReasoningContentInResponses/hint": "이 설정은 DeepSeek R1, 그 파생 모델 및 ``와 `` 태그 내에 CoT를 생성하는 '추론(reasoning)' 모델에서만 작동합니다.", + "promptWhenCommittingUnsavedChangesWithNewFields": "프리셋: 새 필드를 프리셋에 커밋할 때 확인 대화 상자 표시", "promptWhenCommittingUnsavedChangesWithNewFields.description": "프리셋에 실수로 새 필드를 추가하는 것을 방지하고 싶을 때 유용합니다", - "autoStartOnLogin": "로그인 시 LLM 서비스 시작", - "autoStartOnLogin.description": "컴퓨터에 로그인할 때 자동으로 LLM 서비스를 시작합니다", + "enableLocalService": "로컬 LLM 서비스 활성화", + "enableLocalService.subtitle": "LM Studio 애플리케이션을 열어두지 않고도 LM Studio의 LLM 서버 사용", + "enableLocalService.description": "활성화되면 시작 시 LM Studio 로컬 LLM 서비스가 실행됩니다. LM Studio를 닫아도 시스템 트레이에서 로컬 LLM 서비스가 계속 실행됩니다.", "expandConfigsOnClick": "클릭 시 구성 확장 (호버 대신)", @@ -138,9 +169,9 @@ "action_other": "{{count}}개의 채팅 마이그레이션", "inProgress": "채팅 마이그레이션 중...", "hint": { - "primary": "v0.3.0+ 채팅의 내부 데이터 구조를 개편하여 다중 버전 채팅 메시지와 같은 기능을 지원합니다. 이전 채팅을 앱에 표시하려면 새 형식으로 마이그레이션해야 합니다.", - "details": "마이그레이션 과정에서 이전 채팅이 삭제되지 않고 새 형식으로 복사됩니다.", - "footer": "이전 버전의 LM Studio를 통해 여전히 이전 채팅에 접근할 수 있습니다. 현재 이미지는 자동으로 마이그레이션되지 않습니다." + "primary": "v0.3.0+ 채팅의 내부 데이터 구조를 개편하여 다중 버전 채팅 메시지와 같은 기능을 지원합니다. 이전 채팅을 앱에 표시하려면 새 형식으로 마이그레이션해야 합니다.", + "details": "마이그레이션 과정에서 이전 채팅이 삭제되지 않고 새 형식으로 복사됩니다.", + "footer": "이전 버전의 LM Studio를 통해 여전히 이전 채팅에 접근할 수 있습니다. 현재 이미지는 자동으로 마이그레이션되지 않습니다." }, "hasBetterHint": { "primary": "이전 채팅을 마이그레이션한 이후 채팅 마이그레이터가 개선되었습니다. 다시 실행하시겠습니까?", @@ -155,5 +186,29 @@ "hasBetterFooterCardText": "이전 채팅을 마이그레이션한 이후 채팅 마이그레이터가 개선되었습니다. 마이그레이션 과정을 다시 실행할 수 있습니다. (새로 마이그레이션된 채팅을 담을 새 폴더를 만들 것입니다.)", "dismissConfirm": "닫기", "dismissConfirmDescription": "설정에서 언제든지 채팅 마이그레이션을 처리할 수 있습니다" + }, + "toolConfirmation": { + "label": "도구 호출 확인", + "neverAsk": { + "label": "도구 실행 전에 확인 묻지 않기 (권장 안 함)", + "hint": "도구 실행 전 확인을 비활성화합니다. 권장되지 않습니다.", + "warnTitle": "확실합니까?", + "warnDescription": "도구 호출 확인 비활성화는 위험합니다. 파괴적인 작업(명령 실행, 파일 삭제, 덮어쓰기, 파일 업로드 등)을 할 수 있는 도구를 플러그인이 제공한 경우, 모델이 확인 없이 실행할 수 있게 됩니다. 도구별 혹은 플러그인별로 확인을 비활성화할 수 있습니다. 이 옵션 활성화는 권장되지 않습니다. 주의해 주세요.", + "warnButton": "위험을 이해합니다" + } + }, + + "defaultContextLength": { + "label": "기본 컨텍스트 길이", + "maxTitle": "모델 최대치", + "customTitle": "사용자 지정 값", + "maxSubtitle": "각 모델이 지원하는 최대 컨텍스트 길이를 사용합니다.", + "customSubtitle": "새 모델을 로드할 기본 컨텍스트 길이를 설정합니다. 모델의 지원 최대 컨텍스트 길이가 더 낮으면 해당 값이 사용됩니다.", + "invalidNaNError": "잘못된 컨텍스트 길이 값입니다. {{value}} 사용", + "invalidRangeError": "잘못된 컨텍스트 길이 값입니다. 1에서 2^30 사이여야 합니다. {{value}} 사용", + "largeContextWarning": "컨텍스트 길이가 길수록 모델이 차지하는 메모리가 많아집니다. 확실하지 않으면 기본값을 변경하지 마세요" + }, + "jitTTL": { + "subtitle": "지정된 시간 동안 유휴 상태이면 JIT 로드된 모델이 자동으로 해제됩니다." } } diff --git a/ko/shared.json b/ko/shared.json index b154ed15..64c046dc 100644 --- a/ko/shared.json +++ b/ko/shared.json @@ -1,4 +1,4 @@ -{ +{ "copyLmStudioLinkButton/toolTip": "모델 다운로드 링크 복사", "filter.noMatches": "일치하는 항목 없음", @@ -31,8 +31,275 @@ "retry": "다시 시도" }, "artifacts": { - "fetchError": "아티팩트 가져오기 실패" + "fetchError": "아티팩트 가져오기 실패", + "organizationVisible": "조직 내 표시됨" }, + "incompatible": "호환되지 않음", - "compatible": "호환됨" -} \ No newline at end of file + "compatible": "호환됨", + "public": "공개", + "private": "비공개", + "yes": "예", + "no": "아니요", + "go": "이동", + + "proceedWithEllipsis": "진행...", + "proceed": "진행", + "inProgress": "진행 중...", + "failed": "실패", + "pending": "대기 중", + "doneWithExclamation": "완료!", + "done": "완료", + "beta": "베타", + + "complete": { + "completeWithEllipsis": "완료...", + "complete": "완료", + "completingWithEllipsis": "완료 중...", + "completing": "완료 중", + "completedWithExclamation": "완료!", + "completed": "완료" + }, + + "cancel": { + "cancelWithEllipsis": "취소...", + "cancel": "취소", + "cancelingWithEllipsis": "취소 중...", + "canceling": "취소 중", + "canceled": "취소 완료" + }, + + "next": { + "nextWithEllipsis": "다음...", + "next": "다음" + }, + + "back": { + "backWithEllipsis": "뒤로...", + "back": "뒤로" + }, + + "close": { + "closeWithEllipsis": "닫기...", + "close": "닫기", + "closingWithEllipsis": "닫는 중...", + "closing": "닫는 중", + "closedWithExclamation": "닫기 완료!", + "closed": "닫기 완료" + }, + + "delete": { + "deleteWithEllipsis": "삭제...", + "delete": "삭제", + "deletingWithEllipsis": "삭제 중...", + "deleting": "삭제 중", + "deletedWithExclamation": "삭제 완료!", + "deleted": "삭제 완료" + }, + + "retry": { + "retryWithEllipsis": "재시도...", + "retry": "재시도", + "retryingWithEllipsis": "재시도 중...", + "retrying": "재시도 중" + }, + + "refresh": { + "refreshWithEllipsis": "새로 고침...", + "refresh": "새로 고침", + "refreshingWithEllipsis": "새로 고침 중...", + "refreshing": "새로 고침 중", + "refreshedWithExclamation": "새로 고침 완료!", + "refreshed": "새로 고침 완료" + }, + + "confirm": { + "confirm": "확인", + "confirmingWithEllipsis": "확인 중...", + "confirming": "확인 중", + "confirmedWithExclamation": "확인 완료!", + "confirmed": "확인 완료" + }, + + "copy": { + "copyWithEllipsis": "복사...", + "copy": "복사", + "copyingWithEllipsis": "복사 중...", + "copying": "복사 중", + "copiedWithExclamation": "복사 완료!", + "copied": "복사 완료" + }, + + "edit": { + "editWithEllipsis": "편집...", + "edit": "편집", + "editingWithEllipsis": "편집 중...", + "editing": "편집 중", + "editedWithExclamation": "편집 완료!", + "edited": "편집됨" + }, + + "load": { + "loadWithEllipsis": "로드...", + "load": "로드", + "loadingWithEllipsis": "로드 중...", + "loading": "로드 중", + "loadedWithExclamation": "로드 완료!", + "loaded": "로드 완료" + }, + + "save": { + "saveWithEllipsis": "저장...", + "save": "저장", + "savingWithEllipsis": "저장 중...", + "saving": "저장 중", + "savedWithExclamation": "저장 완료!", + "saved": "저장 완료" + }, + + "saveAs": { + "saveAsWithEllipsis": "다른 이름으로 저장...", + "saveAs": "다른 이름으로 저장" + }, + + "saveAsNew": { + "saveAsNewWithEllipsis": "새 파일로 저장...", + "saveAsNew": "새 파일로 저장" + }, + + "search": { + "searchWithEllipsis": "검색...", + "search": "검색", + "searchingWithEllipsis": "검색 중...", + "searching": "검색 중" + }, + + "update": { + "updateWithEllipsis": "업데이트...", + "update": "업데이트", + "updatingWithEllipsis": "업데이트 중...", + "updating": "업데이트 중", + "updatedWithExclamation": "업데이트 완료!", + "updated": "업데이트 완료" + }, + + "create": { + "createWithEllipsis": "생성...", + "create": "생성", + "creatingWithEllipsis": "생성 중", + "creating": "생성 중", + "createdWithExclamation": "생성 완료!", + "created": "생성 완료" + }, + + "reset": { + "resetWithEllipsis": "재설정...", + "reset": "재설정", + "resettingWithEllipsis": "재설정 중...", + "resetting": "재설정 중" + }, + + "pause": { + "pause": "일시 중지", + "pausingWithEllipsis": "일시 중지 중...", + "pausing": "일시 중지 중", + "paused": "일시 중지 완료" + }, + + "download": { + "download": "다운로드", + "downloadingWithEllipsis": "다운로드 중...", + "downloading": "다운로드 중", + "downloadedWithExclamation": "다운로드 완료!", + "downloaded": "다운로드 완료" + }, + + "upload": { + "uploadWithEllipsis": "업로드...", + "upload": "업로드", + "uploadingWithEllipsis": "업로드 중...", + "uploading": "업로드 중", + "uploadedWithExclamation": "업로드 완료!", + "uploaded": "업로드 완료" + }, + + "remove": { + "removeWithEllipsis": "제거...", + "remove": "제거", + "removingWithEllipsis": "제거 중...", + "removing": "제거 중", + "removedWithExclamation": "제거 완료!", + "removed": "제거 완료" + }, + + "uninstall": { + "uninstallWithEllipsis": "제거...", + "uninstall": "제거", + "uninstallingWithEllipsis": "제거 중...", + "uninstalling": "제거 중", + "uninstalledWithExclamation": "제거 완료!", + "uninstalled": "제거 완료" + }, + + "resume": { + "resumeWithEllipsis": "재개...", + "resume": "재개", + "resumingWithEllipsis": "재개 중...", + "resuming": "재개 중" + }, + + "start": { + "startWithEllipsis": "시작...", + "start": "시작", + "startingWithEllipsis": "시작 중...", + "starting": "시작 중", + "started": "시작 완료" + }, + + "stop": { + "stopWithEllipsis": "중지...", + "stop": "중지", + "stoppingWithEllipsis": "중지 중...", + "stopping": "중지 중", + "stoppedWithExclamation": "중지 완료!", + "stopped": "중지 완료" + }, + + "import": { + "importWithEllipsis": "가져오기...", + "import": "가져오기", + "importingWithEllipsis": "가져오는 중...", + "importing": "가져오는 중", + "importedWithExclamation": "가져오기 완료!", + "imported": "가져오기 완료" + }, + + "letsGo": { + "letsGo": "시작하기", + "letsGoWithEllipsis": "시작하기...", + "letsGoWithExclamation": "시작하기!" + }, + + "run": { + "runWithEllipsis": "실행...", + "run": "실행", + "runningWithEllipsis": "실행 중...", + "running": "실행 중" + }, + + "configure": { + "configureWithEllipsis": "구성...", + "configure": "구성", + "configuringWithEllipsis": "구성 중...", + "configured": "구성 완료" + }, + + "publish": { + "publishWithEllipsis": "게시...", + "publish": "게시", + "publishingWithEllipsis": "게시 중...", + "publishing": "게시 중", + "publishedWithExclamation": "게시됨!", + "published": "게시됨" + } +} From c1da6ea30d9f5bed5b8ab71431bfc10a7e8b5b61 Mon Sep 17 00:00:00 2001 From: MaakCode <11623298+maakcode@users.noreply.github.com> Date: Fri, 20 Mar 2026 13:00:43 +0900 Subject: [PATCH 2/2] Fix awkward translations for korean users Co-authored-by: Antigravity --- ko/config.json | 4 ++-- ko/models.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ko/config.json b/ko/config.json index 7dcb46ce..6bb44d07 100644 --- a/ko/config.json +++ b/ko/config.json @@ -414,7 +414,7 @@ "contextMenuDelete": "삭제", "contextMenuShare": "게시...", "contextMenuOpenInHub": "웹에서 보기", - "contextMenuPullFromHub": "최신 풀", + "contextMenuPullFromHub": "최신 내용 가져오기", "contextMenuPushChanges": "Hub로 변경 사항 푸시", "contextMenuPushingChanges": "푸시 중...", "contextMenuPushedChanges": "변경 사항 푸시 완료", @@ -485,7 +485,7 @@ "confirmButton": "새로 게시" }, "pull": { - "title": "최신 풀", + "title": "최신 내용 가져오기", "error": "풀 실패", "contextMenuErrorMessage": "풀 실패", "success": "풀 성공", diff --git a/ko/models.json b/ko/models.json index 5be3bb06..42e7a49b 100644 --- a/ko/models.json +++ b/ko/models.json @@ -74,7 +74,7 @@ "contextMenu": { "showOnWeb": "웹에서 보기", "pullLatest": { - "label": "최신 풀", + "label": "최신 내용 가져오기", "checking": "업데이트 확인 중...", "upToDate": "최신 상태", "error": "업데이트 확인 실패"