{
  "app.title": "oMLX 관리자",
  "app.tagline": "Mac에 최적화된 LLM추론 서버",
  "login.title_login": "로그인 - oMLX 관리자",
  "login.title_setup": "초기 설정 - oMLX 관리자",
  "login.setup.heading": "API 키 설정",
  "login.setup.description": "서버 보안을 위한 API 키를 생성하세요",
  "login.setup.label_api_key": "API 키",
  "login.setup.label_confirm": "API 키 확인",
  "login.setup.placeholder_new": "새 API 키 입력",
  "login.setup.placeholder_confirm": "API 키 다시 입력",
  "login.setup.validation_hint": "4자 이상, 공백 불가",
  "login.setup.button_set": "API 키 설정",
  "login.setup.button_setting_up": "설정 중...",
  "login.setup.generate_tooltip": "랜덤 키 생성",
  "login.setup.copy_tooltip": "클립보드에 복사",
  "login.setup.copied": "복사됨!",
  "login.login.label_api_key": "API 키",
  "login.login.placeholder": "API 키를 입력하세요",
  "login.login.remember": "30일 동안 로그인 유지",
  "login.login.button_sign_in": "로그인",
  "login.login.button_signing_in": "로그인 중...",
  "login.error.invalid_api_key": "유효하지 않은 API 키",
  "login.error.connect_failed": "서버에 연결할 수 없습니다",
  "login.error.min_length": "API 키는 4자 이상이어야 합니다",
  "login.error.no_whitespace": "API 키에 공백을 포함할 수 없습니다",
  "login.error.mismatch": "API 키가 일치하지 않습니다",
  "login.error.setup_failed": "API 키 설정에 실패했습니다",
  "dashboard.title": "대시보드 - oMLX 관리자",
  "navbar.brand": "oMLX",
  "navbar.admin": "관리",
  "navbar.tab.status": "대시보드",
  "navbar.tab.models": "모델",
  "navbar.tab.settings": "설정",
  "navbar.tab.logs": "로그",
  "navbar.tab.bench": "벤치마크",
  "navbar.tab.chat": "채팅",
  "navbar.dropdown.manager": "관리",
  "navbar.dropdown.downloader": "다운로드",
  "navbar.dropdown.quantizer": "oQ 양자화",
  "navbar.dropdown.uploader": "oQ Uploader",
  "navbar.dropdown.global_settings": "기본 설정",
  "navbar.dropdown.model_settings": "모델 설정",
  "navbar.theme.auto": "자동",
  "navbar.theme.dark_mode": "다크 모드",
  "navbar.theme.light_mode": "라이트 모드",
  "navbar.logout": "로그아웃",
  "navbar.update_available": "업데이트 가능: v{version}",
  "navbar.go_to_github": "GitHub으로 이동",
  "status.section_label": "대시보드",
  "status.heading": "서빙 통계",
  "status.clear": "초기화",
  "status.clear_tooltip": "세션 지표 초기화",
  "status.clear_confirm": "정말 초기화하시겠습니까?",
  "status.clear_yes": "확인",
  "status.clear_cancel": "취소",
  "status.scope_session": "세션",
  "status.scope_alltime": "누적",
  "status.clear_alltime": "초기화",
  "status.clear_alltime_tooltip": "누적 지표 초기화",
  "status.clear_ssd_cache_tooltip": "SSD 캐시 전체 삭제",
  "status.clear_ssd_cache_confirm": "SSD 캐시를 전체 삭제할까요?",
  "status.filter_all_models": "전체 모델",
  "status.stat.total_tokens": "총 프리필 토큰 수",
  "status.stat.cached_tokens": "캐시된 토큰 수",
  "status.stat.cache_efficiency": "캐시 효율",
  "status.speed.section_label": "평균 속도",
  "status.speed.prompt_processing": "프롬프트 처리",
  "status.speed.prompt_processing_note": "(캐시 제외)",
  "status.speed.token_generation": "토큰 생성",
  "status.active_models.section_label": "활성 모델",
  "status.active_models.no_models": "로드된 모델 없음",
  "status.active_models.active": "활성",
  "status.active_models.waiting": "대기",
  "status.active_models.req": "요청",
  "status.active_models.generating": "생성 중...",
  "status.active_models.unload": "모델 언로드",
  "status.api.section_label": "API 엔드포인트",
  "status.api.openai": "OpenAI API",
  "status.api.claude": "Claude API",
  "status.api.copy_tooltip": "복사",
  "status.claude_code.section_label": "oMLX 에서 Claude Code 사용하기",
  "status.claude_code.mode": "모드",
  "status.claude_code.mode_cloud": "클라우드",
  "status.claude_code.mode_local": "로컬",
  "status.claude_code.no_models_warning": "로드된 모델 없음 — 로컬 모드를 사용하려면 모델과 함께 oMLX를 시작하세요",
  "status.claude_code.opus_tier": "Opus 티어",
  "status.claude_code.sonnet_tier": "Sonnet 티어",
  "status.claude_code.haiku_tier": "Haiku 티어",
  "status.claude_code.haiku_hint": "백그라운드 작업 및 빠른 작업용 — 가능한 작은 모델을 선택하세요",
  "status.claude_code.select_model": "— 모델 선택 —",
  "status.claude_code.model_unavailable": "저장된 모델을 더 이상 사용할 수 없습니다",
  "status.claude_code.command": "명령어",
  "status.claude_code.copy_command_tooltip": "명령어 복사",
  "status.claude_code.context_scaling": "Claude Code용 컨텍스트 스케일링",
  "status.claude_code.target_context_size": "기준 컨텍스트 크기",
  "status.claude_code.tokens_unit": "tokens",
  "status.claude_code.context_scaling_description": "토큰 사용량을 스케일링하여 작은 컨텍스트 모델에서도 Claude Code의 자동 Compact기능이 올바르게 작동하도록 합니다.",
  "status.integrations.section_label": "기타 통합",
  "status.integrations.model": "모델",
  "status.integrations.select_model": "— 모델 선택 —",
  "status.integrations.model_unavailable": "저장된 모델을 더 이상 사용할 수 없습니다",
  "status.integrations.command": "명령어",
  "status.integrations.copy_command_tooltip": "명령어 복사",
  "status.integrations.opencode_desc": "터미널 AI 코딩 어시스턴트",
  "status.integrations.openclaw_desc": "메시징 통합 AI 어시스턴트",
  "status.integrations.openclaw_tools_profile": "도구",
  "status.engines.section_label": "엔진 버전",
  "status.engines.unknown_version": "알 수 없음",
  "models.tab.manager": "관리",
  "models.tab.downloader": "다운로드",
  "models.tab.quantizer": "oQ Quantization",
  "models.tab.uploader": "oQ Uploader",
  "models.manager.section_label": "모델",
  "models.manager.heading": "모델 관리",
  "models.manager.description": "로컬 모델을 관리합니다.",
  "models.manager.local_models": "로컬 모델",
  "models.manager.models_count": "{count}개 모델",
  "models.manager.refresh": "새로고침",
  "models.manager.reload": "새로고침",
  "models.manager.reloading": "새로고침 중...",
  "models.manager.no_models": "모델 디렉토리에서 모델을 찾을 수 없습니다.",
  "models.manager.copy_model_name_tooltip": "모델 이름 복사",
  "models.manager.delete_tooltip": "모델 삭제",
  "models.manager.delete_confirm": "삭제할까요?",
  "models.manager.delete_yes": "예",
  "models.manager.delete_no": "아니오",
  "models.downloader.section_label": "모델",
  "models.downloader.heading": "모델 다운로드",
  "models.downloader.description": "HuggingFace 또는 ModelScope에서 모델을 다운로드하고 사용 가능한 모델을 탐색합니다.",
  "models.downloader.source.hf": "HuggingFace",
  "models.downloader.source.ms": "ModelScope",
  "models.downloader.mirror_settings": "미러 설정",
  "models.downloader.mirror_cancel": "취소",
  "models.downloader.mirror_save": "저장",
  "models.downloader.mirror_saving": "저장 중...",
  "models.downloader.download_section": "HuggingFace에서 다운로드",
  "models.downloader.repo_id": "리포지토리 ID",
  "models.downloader.repo_placeholder": "mlx-community/Llama-3-8B-4bit",
  "models.downloader.hf_token": "HF 토큰",
  "models.downloader.hf_token_optional": "(선택사항)",
  "models.downloader.hf_token_placeholder": "hf_...",
  "models.downloader.download_button": "다운로드",
  "models.downloader.ms_download_section": "ModelScope에서 다운로드",
  "models.downloader.ms_repo_id": "모델 ID",
  "models.downloader.ms_repo_placeholder": "qwen/Qwen2.5-7B-Instruct-MLX",
  "models.downloader.ms_token": "MS 토큰",
  "models.downloader.ms_token_optional": "(선택사항)",
  "models.downloader.ms_token_placeholder": "your_token...",
  "models.downloader.ms_mirror_settings": "미러 설정",
  "models.downloader.ms_unavailable": "ModelScope SDK가 설치되지 않았습니다. 설치: pip install \"omlx[modelscope]\"",
  "models.search.section_label": "HuggingFace 검색",
  "models.search.placeholder": "HuggingFace에서 모델 검색...",
  "models.search.ms_section_label": "ModelScope 검색",
  "models.search.ms_placeholder": "ModelScope에서 모델 검색...",
  "models.search.recent_searches": "최근 검색",
  "models.search.sort.trending": "인기 급상승",
  "models.search.sort.downloads": "다운로드 순",
  "models.search.sort.created": "최근 생성",
  "models.search.sort.updated": "최근 업데이트",
  "models.search.sort.most_params": "파라미터 많은 순",
  "models.search.sort.least_params": "파라미터 적은 순",
  "models.search.button": "검색",
  "models.browse.section_label": "모델 탐색",
  "models.browse.system_suffix": "{memory} 시스템용",
  "models.browse.tab.trending": "인기 급상승",
  "models.browse.tab.popular": "많은 다운로드",
  "models.browse.tab.search_results": "검색 결과",
  "models.browse.loading": "추천 모델 로딩 중...",
  "models.browse.load_prompt": "추천 모델을 로드하려면 클릭하세요.",
  "models.browse.load_button": "추천 모델 로드",
  "models.browse.no_trending": "시스템에 적합한 인기 급상승 모델을 찾을 수 없습니다.",
  "models.browse.no_popular": "시스템에 적합한 많은 다운로드 모델을 찾을 수 없습니다.",
  "models.browse.searching": "검색 중...",
  "models.browse.search_prompt": "검색어를 입력하여 모델을 찾으세요.",
  "models.browse.no_results": "검색 결과가 없습니다.",
  "models.browse.tight_fit": "메모리 여유 적음",
  "models.browse.high_oom_risk": "OOM 위험 높음",
  "models.browse.params_suffix": "파라미터",
  "models.browse.mlx_only": "MLX 전용",
  "models.queue.section_label": "다운로드 대기열",
  "models.queue.downloading": "다운로드 중...",
  "models.queue.cancel_tooltip": "다운로드 취소",
  "models.queue.remove_tooltip": "목록에서 제거",
  "models.oq.section_label": "양자화",
  "models.oq.heading": "oQ 양자화",
  "models.oq.description": "oQ 혼합 정밀도 전략으로 모델을 양자화하여 낮은 비트에서 더 높은 품질을 달성합니다.",
  "models.oq.form_section": "새 양자화",
  "models.oq.select_model": "소스 모델",
  "models.oq.select_placeholder": "모델을 선택하세요...",
  "models.oq.level": "oQ 레벨",
  "models.oq.start_button": "시작",
  "models.oq.queue_section": "양자화 큐",
  "models.oq.no_models": "모델 디렉토리에 양자화되지 않은 모델이 없습니다.",
  "models.oq.cancel_tooltip": "양자화 취소",
  "models.oq.remove_tooltip": "목록에서 제거",
  "models.oq.advanced_settings": "고급 설정",
  "models.uploader.section_label": "Hub Upload",
  "models.uploader.heading": "Upload oQ Models",
  "models.uploader.description": "Upload your locally quantized oQ models to HuggingFace Hub.",
  "models.uploader.hf_token_label": "HuggingFace Token",
  "models.uploader.hf_token_placeholder": "Enter HF write token (hf_...)",
  "models.uploader.namespace_label": "Namespace",
  "models.uploader.validate_button": "Validate",
  "models.uploader.validating": "Validating...",
  "models.uploader.validated": "Authenticated as {username}",
  "models.uploader.invalid_token": "Invalid token. Ensure it has write access.",
  "models.uploader.oq_models_label": "oQ Models",
  "models.uploader.no_oq_models": "No oQ models found in model directories.",
  "models.uploader.upload_button": "Upload",
  "models.uploader.queue_section": "Upload Queue",
  "models.uploader.cancel_tooltip": "Cancel upload",
  "models.uploader.remove_tooltip": "Remove from list",
  "models.uploader.modal_title": "Upload to HuggingFace",
  "models.uploader.modal_repo_label": "Repository Name",
  "models.uploader.modal_readme_label": "README Source",
  "models.uploader.modal_readme_none": "Auto-generate basic README",
  "models.uploader.modal_redownload_label": "Show re-download notice",
  "models.uploader.modal_redownload_hint": "Add a notice at the top of README asking previous users to re-download",
  "models.uploader.modal_private_label": "Private Repository",
  "models.uploader.modal_confirm": "Upload",
  "models.uploader.modal_cancel": "Cancel",
  "models.detail.loading": "모델 정보 로딩 중...",
  "models.detail.tab.model_card": "모델 카드",
  "models.detail.tab.files": "파일",
  "models.detail.tab.tags": "태그",
  "models.detail.no_model_card": "모델 카드가 없습니다.",
  "models.detail.no_files": "파일 정보가 없습니다.",
  "models.detail.no_tags": "태그가 없습니다.",
  "models.detail.view_on_hf": "HuggingFace에서 보기",
  "models.detail.view_on_ms": "ModelScope에서 보기",
  "models.detail.close": "닫기",
  "models.detail.lora_warning": "LoRA adapter — not supported",
  "settings.tab.global": "기본 설정",
  "settings.tab.models": "모델 설정",
  "settings.global.section_label": "기본 설정",
  "settings.global.heading": "서버 설정",
  "settings.global.restart_notice": "",
  "settings.global.restart_badge": "재시작 필요",
  "settings.global.restart_suffix": "표시가 있는 설정은 서버 재시작이 필요합니다.",
  "settings.auth.section_label": "인증 및 정보",
  "settings.auth.base_path": "기본 경로",
  "settings.auth.base_path_hint": "읽기 전용",
  "settings.auth.api_key": "API 키",
  "settings.auth.api_key_hint": "4자 이상, 공백 불가",
  "settings.auth.api_key_placeholder": "API 키 입력",
  "settings.auth.toggle_visibility_tooltip": "표시/숨기기 전환",
  "settings.auth.skip_verification": "API 키 검증 건너뛰기",
  "settings.auth.skip_verification_hint": "API 엔드포인트에서 인증을 요구하지 않습니다 (localhost 전용)",
  "settings.auth.sub_keys_label": "추가 API 키",
  "settings.auth.sub_keys_hint": "API 전용 키입니다. 관리자 로그인에는 사용할 수 없습니다.",
  "settings.auth.sub_keys_add": "추가",
  "settings.auth.sub_keys_cancel": "취소",
  "settings.auth.sub_keys_create": "생성",
  "settings.auth.sub_keys_delete": "삭제",
  "settings.auth.sub_keys_delete_confirm": "이 서브 키를 삭제하시겠습니까?",
  "settings.auth.sub_keys_name_placeholder": "이름 (선택)",
  "settings.auth.sub_keys_key_placeholder": "API 키 값",
  "settings.auth.sub_keys_unnamed": "이름 없음",
  "settings.auth.sub_keys_empty": "서브 키가 없습니다",
  "settings.auth.sub_keys_generate_tooltip": "랜덤 키 생성",
  "settings.server.section_label": "서버",
  "settings.server.host": "호스트",
  "settings.server.host_localhost": "로컬만 (127.0.0.1)",
  "settings.server.host_public": "전체 공개 (0.0.0.0)",
  "settings.server.host_custom": "사용자 지정 (주의)",
  "settings.server.host_placeholder": "예: 192.168.1.100",
  "settings.server.port": "포트",
  "settings.server.log_level": "로그 레벨",
  "settings.server.log_level_error": "error",
  "settings.server.log_level_warning": "warning",
  "settings.server.log_level_info": "info (기본값)",
  "settings.server.log_level_debug": "debug",
  "settings.server.log_level_trace": "trace - 전체 내용 포함",
  "settings.model.section_label": "모델",
  "settings.model.model_fallback": "기본 모델로 대체",
  "settings.model.model_fallback_desc": "요청된 모델을 찾을 수 없을 때 기본 모델을 사용합니다",
  "settings.model.model_directories": "모델 디렉토리",
  "settings.model.add": "추가",
  "settings.model.placeholder_primary": "기본 모델 디렉토리",
  "settings.model.placeholder_additional": "추가 모델 디렉토리",
  "settings.resource.section_label": "리소스 관리",
  "settings.resource.live_badge": "실시간",
  "settings.resource.memory_limit_total": "전체 메모리 제한",
  "settings.resource.memory_limit_total_description": "oMLX 프로세스의 총 메모리 제한 (모델 + KV 캐시 + 오버헤드).",
  "settings.resource.memory_limit_total_eviction": "이 제한을 초과하면 즉시 가장 사용량이 적은 모델이 언로드됩니다.",
  "settings.resource.memory_limit_total_auto": "자동",
  "settings.resource.memory_limit_total_auto_desc": ": 시스템 RAM - 8GB.",
  "settings.resource.auto": "자동",
  "settings.resource.off": "끄기",
  "settings.resource.memory_limit_total_disabled": "0으로 설정하면 비활성화.",
  "settings.resource.memory_limit_models": "모델 점유 메모리 제한",
  "settings.resource.memory_limit_models_description": "로드된 모델의 최대 메모리 제한. 0으로 설정하면 비활성화.",
  "settings.resource.hot_cache_limit": "Hot cache 한도 (메모리 캐시)",
  "settings.resource.hot_cache_description": "자주 접근하는 KV 캐시 블록을 위한 메모리 캐시.",
  "settings.resource.hot_cache_zero_note": "반복 프롬프트의 SSD I/O 지연을 줄입니다.",
  "settings.resource.hot_cache_disabled": "0",
  "settings.resource.hot_cache_disabled_label": "= 비활성화.",
  "settings.resource.cold_cache_limit": "Cold Cache 한도 (SSD 캐시)",
  "settings.resource.cold_cache_description": "Hot cache 용량이 초과할 경우 KV 캐시는 Cold cache로 저장됩니다.",
  "settings.resource.prefill_memory_guard": "메모리 가드",
  "settings.resource.prefill_memory_guard_description": "프리필 전 메모리를 추정하고, 메모리 압력 시 스케줄링을 지연하여 Metal 할당 오류를 방지합니다.",
  "settings.resource.max_concurrent_requests": "최대 동시 요청",
  "settings.resource.max_concurrent_requests_hint": "동시에 처리할 수 있는 최대 요청 수. 높을수록 처리량이 증가하지만 메모리 사용량도 늘어납니다.",
  "settings.resource.restart_badge": "재시작 필요",
  "settings.cache.section_label": "캐시",
  "settings.cache.enabled": "캐시 활성화",
  "settings.cache.ssd_directory": "SSD 캐시 디렉토리",
  "settings.generation.section_label": "생성 기본값",
  "settings.generation.max_context_window": "최대 컨텍스트 윈도우",
  "settings.generation.max_context_window_hint": "이 토큰 제한이 초과될 경우 요청이 거부됩니다",
  "settings.generation.max_tokens": "최대 응답 토큰 수",
  "settings.generation.temperature": "Temperature",
  "settings.generation.temperature_hint": "0.0 = 정해진 응답, 2.0 = 랜덤한 응답",
  "settings.generation.top_p": "Top P",
  "settings.generation.top_p_hint": "Top-P 샘플링 값",
  "settings.generation.top_k": "Top K",
  "settings.generation.top_k_hint": "0 = 비활성화",
  "settings.generation.repetition_penalty": "Repetition Penalty",
  "settings.generation.repetition_penalty_hint": "1.0 = 비활성화",
  "settings.mcp.section_label": "MCP",
  "settings.mcp.restart_badge": "재시작 필요",
  "settings.mcp.config_path": "설정 경로",
  "settings.mcp.config_placeholder": "MCP 설정 파일 경로",
  "settings.huggingface.endpoint": "미러 엔드포인트",
  "settings.huggingface.endpoint_hint": "HuggingFace API 커스텀 엔드포인트 URL (예: https://hf-mirror.com)",
  "settings.huggingface.endpoint_clear_hint": "기본 엔드포인트를 사용하려면 입력값을 삭제하고 저장하세요.",
  "settings.advanced.section_label": "고급",
  "settings.advanced.restart_badge": "재시작 필요",
  "settings.advanced.cache": "캐시",
  "settings.advanced.initial_cache_blocks": "초기 캐시 블록 수",
  "settings.advanced.initial_cache_blocks_hint": "시작 시 미리 할당할 블록 수. 높을수록 동적 할당 오버헤드 감소.",
  "settings.language.section_label": "언어",
  "settings.language.label": "인터페이스 언어",
  "settings.language.en": "English",
  "settings.language.zh": "中文（简体）",
  "settings.language.zh-TW": "中文（繁體）",
  "settings.language.ko": "한국어",
  "settings.language.ja": "日本語",
  "settings.save.button": "설정 저장",
  "settings.save.saving": "저장 중...",
  "settings.models.section_label": "모델 설정",
  "settings.models.heading": "사용 가능한 모델",
  "settings.models.description": "모델별 샘플링 파라미터 등을 설정합니다.",
  "settings.models.loading": "모델 로딩 중...",
  "settings.models.no_models_heading": "모델을 찾을 수 없습니다",
  "settings.models.no_models_description": "모델 디렉토리에 모델을 추가하여 시작하세요.",
  "settings.models.table.model": "모델",
  "settings.models.table.type": "유형",
  "settings.models.table.size": "크기",
  "settings.models.table.status": "상태",
  "settings.models.table.pin": "고정",
  "settings.models.table.default": "디폴트",
  "settings.models.table.status_loading": "로딩 중",
  "settings.models.table.status_loaded": "로드됨",
  "settings.models.table.status_unload": "언로드",
  "settings.models.table.status_load": "로드",
  "settings.models.table.status_ready": "준비됨",
  "settings.models.table.copy_model_name_tooltip": "모델 이름 복사",
  "settings.models.table.sampling_settings_tooltip": "샘플링 설정",
  "settings.models.badge.ctx_window": "ctx_window:",
  "settings.models.badge.max_tokens": "max_tokens:",
  "settings.models.badge.temp": "temp:",
  "settings.models.badge.top_p": "top_p:",
  "settings.models.badge.top_k": "top_k:",
  "settings.models.badge.min_p": "min_p:",
  "settings.models.badge.rep_penalty": "rep_penalty:",
  "settings.models.badge.presence_penalty": "presence_penalty:",
  "settings.models.badge.tool_result_tokens": "tool_result_tokens:",
  "settings.models.badge.force_sampling": "force_sampling",
  "modal.model_settings.section_label": "모델 설정",
  "modal.model_settings.model_alias": "모델 별칭",
  "modal.model_settings.model_type": "모델 타입",
  "modal.model_settings.model_type_auto": "자동 감지",
  "modal.model_settings.max_context_window": "Ctx Window",
  "modal.model_settings.max_tokens": "최대 토큰 수",
  "modal.model_settings.temperature": "Temperature",
  "modal.model_settings.repetition_penalty": "Repetition Penalty",
  "modal.model_settings.repetition_penalty_short": "Rep. Penalty",
  "modal.model_settings.min_p": "Min P",
  "modal.model_settings.presence_penalty": "Presence Penalty",
  "modal.model_settings.top_p": "Top P",
  "modal.model_settings.top_k": "Top K",
  "modal.model_settings.ttl_seconds": "TTL (초)",
  "modal.model_settings.ttl_pinned": "고정됨",
  "modal.model_settings.ttl_no_ttl": "TTL 없음",
  "modal.model_settings.load_defaults": "기본값 로드",
  "modal.model_settings.loading_defaults": "로딩 중...",
  "modal.model_settings.placeholder_default": "기본값",
  "modal.model_settings.thinking_budget": "Thinking 토큰 제한",
  "modal.model_settings.thinking_budget_hint": "추론 모델의 thinking 토큰 수를 제한합니다. 초과 시 thinking을 강제 종료합니다.",
  "modal.model_settings.thinking_budget_placeholder": "예: 4096",
  "modal.model_settings.limit_tool_result": "Tool calling 토큰 제한",
  "modal.model_settings.limit_tool_result_hint": "Tool calling(예: 파일 읽기) 결과를 정해진 크기로 자릅니다",
  "modal.model_settings.limit_tool_placeholder": "예: 2000",
  "modal.model_settings.turboquant_kv": "TurboQuant KV Cache",
  "modal.model_settings.turboquant_kv_hint": "Compress KV cache using vector quantization. Reduces memory ~60-75% with near-lossless quality for long context.",
  "modal.model_settings.turboquant_kv_bits_label": "Bits per channel",
  "modal.model_settings.index_cache": "인덱스 캐시",
  "modal.model_settings.index_cache_hint": "DSA 레이어에서 중복 인덱서 연산을 건너뜁니다 (DeepSeek V3/GLM-5).",
  "modal.model_settings.index_cache_freq": "빈도 (N번째 레이어마다 인덱서 유지)",
  "modal.model_settings.force_sampling": "강제 샘플링",
  "modal.model_settings.force_sampling_hint": "설정된 값으로 요청의 샘플링 파라미터를 덮어씁니다",
  "modal.model_settings.chat_template_kwargs": "채팅 템플릿 피라미터 설정",
  "modal.model_settings.chat_template_kwargs_hint": "채팅 템플릿에 전달되는 파라미터",
  "modal.model_settings.add_kwarg": "+ 추가",
  "modal.model_settings.kwarg_enable_thinking": "enable_thinking",
  "modal.model_settings.kwarg_reasoning_effort": "reasoning_effort",
  "modal.model_settings.kwarg_custom": "사용자 지정",
  "modal.model_settings.kwarg_custom_key_placeholder": "키",
  "modal.model_settings.kwarg_custom_value_placeholder": "값",
  "modal.model_settings.kwarg_force": "강제",
  "modal.model_settings.kwarg_force_tooltip": "강제: API 요청으로 이 값을 덮어쓸 수 없음",
  "modal.model_settings.kwarg_effort_low": "low",
  "modal.model_settings.kwarg_effort_medium": "medium",
  "modal.model_settings.kwarg_effort_high": "high",
  "modal.model_settings.no_kwargs": "설정된 인자 없음",
  "modal.model_settings.empty_hint": "비워두면 기본값을 사용합니다",
  "modal.model_settings.basic_label": "기본 설정",
  "modal.model_settings.advanced_label": "고급 설정",
  "modal.model_settings.experimental_label": "실험적 기능",
  "modal.model_settings.cancel": "취소",
  "modal.model_settings.save": "저장",
  "modal.model_settings.saving": "저장 중...",
  "logs.section_label": "로그",
  "logs.heading": "서버 로그",
  "logs.description": "실시간 서버 로그를 자동 새로고침으로 확인합니다.",
  "logs.viewer_label": "로그 뷰어",
  "logs.auto_refresh": "자동 새로고침",
  "logs.lines_label": "줄 수:",
  "logs.refresh_label": "새로고침:",
  "logs.refresh_unit": "초 (0=끄기)",
  "logs.file_label": "파일:",
  "logs.refresh_button": "새로고침",
  "logs.loading": "로딩 중...",
  "logs.auto_scroll": "자동 스크롤",
  "logs.showing_lines": "{total}줄 중 {lines}줄 표시",
  "logs.placeholder": "로그가 없습니다. 서버를 시작하면 로그가 생성됩니다.",
  "logs.last_updated": "마지막 업데이트: {time}",
  "bench.section_label": "벤치마크",
  "bench.heading": "성능 벤치마크",
  "bench.description": "단일 요청 및 연속 배칭의 추론 속도를 측정합니다. 벤치마크 전에 다른 모든 모델이 언로드됩니다.",
  "bench.config.section_label": "설정",
  "bench.config.model": "모델",
  "bench.config.model_placeholder": "모델 선택...",
  "bench.config.single_request": "단일 요청 테스트",
  "bench.config.generation_hint": "생성 길이: 128 tokens (고정)",
  "bench.config.batch_tests": "연속 배칭 테스트",
  "bench.config.batch_hint": "배칭 테스트는 pp1024 / tg128 사용",
  "bench.config.run_button": "벤치마크 실행",
  "bench.progress.preparing": "준비 중...",
  "bench.progress.cancel": "취소",
  "bench.progress.starting": "벤치마크 시작 중...",
  "bench.results.single.section_label": "단일 요청 결과",
  "bench.results.single.test": "테스트",
  "bench.results.single.ttft": "TTFT (ms)",
  "bench.results.single.tpot": "TPOT (ms/tok)",
  "bench.results.single.pp_tps": "pp TPS",
  "bench.results.single.tg_tps": "tg TPS",
  "bench.results.single.e2e_latency": "E2E 지연",
  "bench.results.single.throughput": "처리량",
  "bench.results.single.peak_mem": "최대 메모리",
  "bench.results.batch.section_label": "Continuous Batching",
  "bench.results.batch.subtitle": "pp1024 / tg128",
  "bench.results.batch.batch_size": "배치 크기",
  "bench.results.batch.tg_tps": "tg TPS",
  "bench.results.batch.speedup": "속도 향상",
  "bench.results.batch.pp_tps": "pp TPS",
  "bench.results.batch.pp_tps_req": "pp TPS/요청",
  "bench.results.batch.avg_ttft": "평균 TTFT (ms)",
  "bench.results.batch.e2e_latency": "E2E 지연",
  "bench.results.batch.baseline": "1x (기준)",
  "bench.results.text_export.section_label": "벤치마크 결과 (텍스트 — 복사/붙여넣기)",
  "bench.results.text_export.copy": "복사",
  "bench.results.text_export.copied": "복사됨!",
  "bench.metrics.section_label": "지표 참고",
  "bench.metrics.ttft.name": "TTFT",
  "bench.metrics.ttft.full_name": "(첫 토큰 생성 시간)",
  "bench.metrics.test.tooltip": "ppN/tgM 형식의 테스트 케이스 레이블. 'pp' = 프롬프트 처리(입력 토큰 수), 'tg' = 토큰 생성(출력 토큰 수). 예: pp1024/tg256은 입력 1024토큰, 출력 256토큰을 의미합니다.",
  "bench.metrics.ttft.tooltip": "Time to First Token — 사용자가 첫 출력을 보기까지 대기하는 시간. 모델은 첫 토큰을 생성하기 전에 전체 프롬프트를 읽고 처리(프리필)해야 합니다. 프롬프트가 길수록 TTFT가 높아집니다. 밀리초 단위. 낮을수록 좋습니다.",
  "bench.metrics.tpot.tooltip": "Time Per Output Token — 생성(디코드) 단계에서 연속 출력 토큰 사이의 평균 간격. 화면에 텍스트가 표시되는 속도에 직접 영향을 줍니다. 예: 20ms/tok이면 초당 약 50토큰. 낮을수록 좋습니다.",
  "bench.metrics.tg_tps.tooltip": "Token Generation TPS — 디코드 단계에서 초당 생성되는 출력 토큰 수. TPOT의 역수입니다 (예: TPOT 20ms = 50 tg TPS). 모델이 응답을 얼마나 빨리 작성하는지의 핵심 지표. 높을수록 좋습니다.",
  "bench.metrics.pp_tps.tooltip": "Prompt Processing TPS — 프리필 단계에서 모델이 초당 처리하는 입력 토큰 수. 값이 높을수록 프롬프트를 빨리 읽어 TTFT가 직접 줄어듭니다. 긴 컨텍스트 작업에서 중요합니다. 높을수록 좋습니다.",
  "bench.metrics.e2e.tooltip": "End-to-End Latency — 요청 전송부터 완전한 응답 수신까지의 총 경과 시간. TTFT + (TPOT x 출력 토큰 수)와 같습니다. 사용자가 전체 답변을 받기까지 기다리는 총 시간입니다.",
  "bench.metrics.throughput.tooltip": "Total Throughput — 초당 처리된 입력 + 출력 토큰의 합계. 프리필과 생성을 모두 포함한 전체 시스템 활용도를 보여줍니다. 서로 다른 프롬프트 길이 간의 총 연산 효율성을 비교하는 데 유용합니다.",
  "bench.metrics.peak_mem.tooltip": "Peak GPU Memory — 이 테스트에서 추론 중 사용된 최대 GPU(통합) 메모리. 모델 가중치, KV 캐시, 중간 활성화를 포함합니다. 하드웨어가 감당할 수 있는 모델 크기를 추정하는 데 도움됩니다.",
  "bench.metrics.batch_size.tooltip": "Batch Size — 동시에 처리되는 요청 수. 배칭을 통해 GPU가 여러 요청을 한번에 처리하여 총 처리량은 증가하지만 개별 요청의 지연이 다소 늘어납니다. 메모리 대역폭 제한으로 2x 배치가 2배 속도를 의미하지는 않습니다.",
  "bench.metrics.speedup.tooltip": "Speedup — 단일 요청(1x 기준) 대비 토큰 생성 속도 향상 배수. 예: 1.8x는 배칭을 통해 전체적으로 1.8배 빠르게 토큰을 생성한다는 의미입니다. 1x 이상이면 배칭으로 GPU 활용이 더 효율적임을 나타냅니다.",
  "bench.metrics.pp_tps_req.tooltip": "Per-Request Prompt Processing TPS — pp TPS를 배치 크기로 나눈 값. GPU를 다른 요청과 공유할 때 각 개별 요청의 프롬프트가 얼마나 빨리 처리되는지 보여줍니다. 연산이 공유되므로 단일 요청 pp TPS보다 낮을 것입니다.",
  "bench.metrics.avg_ttft.tooltip": "배치 내 모든 요청의 평균 Time to First Token. GPU가 여러 프롬프트를 처리해야 하므로 단일 요청 TTFT보다 높습니다. 배칭 환경에서 각 사용자가 경험하는 대기 시간을 보여줍니다.",
  "bench.metrics.ttft.description": "모델이 응답을 시작하기까지의 지연 시간. 프롬프트 처리(프리필) 속도를 측정합니다. 낮을수록 좋습니다.",
  "bench.metrics.tpot.name": "TPOT",
  "bench.metrics.tpot.full_name": "(출력 토큰당 시간)",
  "bench.metrics.tpot.description": "생성된 각 토큰 사이의 평균 시간. 디코딩 속도를 측정합니다. 낮을수록 좋습니다.",
  "bench.metrics.tg_tps.name": "tg TPS",
  "bench.metrics.tg_tps.full_name": "(토큰 생성 TPS)",
  "bench.metrics.tg_tps.description": "초당 생성되는 출력 토큰 수. TPOT의 역수. 높을수록 좋습니다.",
  "bench.metrics.pp_tps.name": "pp TPS",
  "bench.metrics.pp_tps.full_name": "(프롬프트 처리 TPS)",
  "bench.metrics.pp_tps.description": "프리필 단계에서 초당 처리되는 입력/프롬프트 토큰 수. 높을수록 좋습니다.",
  "bench.metrics.e2e.name": "E2E 지연",
  "bench.metrics.e2e.full_name": "(엔드투엔드)",
  "bench.metrics.e2e.description": "요청 제출부터 응답 완료까지의 총 시간. 프리필 + 생성을 포함합니다.",
  "bench.metrics.throughput.name": "총 처리량",
  "bench.metrics.throughput.description": "초당 전체 토큰 수 (입력 + 출력). 시스템 전체 활용도를 측정합니다.",
  "bench.metrics.batch_size.name": "배치 크기",
  "bench.metrics.batch_size.description": "동시에 처리되는 요청 수. 배치 크기가 클수록 총 처리량은 향상되지만 요청당 지연 시간이 증가합니다.",
  "bench.metrics.speedup.name": "속도 향상",
  "bench.metrics.speedup.description": "단일 요청 기준(1x) 대비 토큰 생성 처리량 배수. 높을수록 좋습니다.",
  "bench.metrics.pp_tps_req.name": "pp TPS/req",
  "bench.metrics.pp_tps_req.full_name": "(요청당 프롬프트 처리 TPS)",
  "bench.metrics.pp_tps_req.description": "프롬프트 처리 처리량을 배치 크기로 나눈 값. 배칭 부하에서의 요청당 프리필 속도를 나타냅니다.",
  "navbar.dropdown.performance": "Performance",
  "navbar.dropdown.accuracy": "Intelligence",
  "acc_bench.section_label": "Intelligence",
  "acc_bench.heading": "지능 벤치마크",
  "acc_bench.description": "지식, 추론, 수학, 코딩 벤치마크로 모델의 지능을 평가합니다. 벤치마크 전에 다른 모든 모델이 언로드됩니다.",
  "acc_bench.config.section_label": "설정",
  "acc_bench.config.model": "모델",
  "acc_bench.config.model_placeholder": "모델 선택...",
  "acc_bench.config.benchmarks": "벤치마크",
  "acc_bench.config.benchmarks_hint": "고정 시드 샘플링으로 모델 간 동일한 문제로 공정한 비교를 보장합니다. 전체 데이터셋은 Full을 선택하세요.",
  "acc_bench.config.livecodebench_warning": "LiveCodeBench는 모델이 생성한 코드를 사용자의 기기에서 실행합니다 (타임아웃 및 메모리 제한이 있는 샌드박스 환경).",
  "acc_bench.config.code_exec": "코드 실행",
  "acc_bench.config.batch_size": "배치 크기",
  "acc_bench.config.batch_size_hint": "여러 문제를 동시에 처리합니다. 배치 크기가 클수록 빠르지만 메모리를 더 사용합니다.",
  "acc_bench.config.thinking": "Thinking Mode",
  "acc_bench.config.thinking_on": "On",
  "acc_bench.config.thinking_off": "Off",
  "acc_bench.config.thinking_hint": "Enable for reasoning models (e.g., DeepSeek-R1, QwQ). Auto-detects if the model thinks even when disabled.",
  "acc_bench.results.thinking_badge": "Thinking",
  "acc_bench.config.add_run": "추가 및 실행",
  "acc_bench.config.cancel_button": "취소",
  "acc_bench.config.queue_label": "대기열",
  "acc_bench.results.section_label": "결과",
  "acc_bench.results.clear": "결과 초기화",
  "acc_bench.results.download": "Download",
  "acc_bench.results.show_categories": "카테고리 분류 보기",
  "acc_bench.results.hide_categories": "카테고리 분류 숨기기",
  "acc_bench.results.category": "카테고리",
  "acc_bench.results.score": "점수",
  "acc_bench.results.show_text": "텍스트 내보내기 보기",
  "acc_bench.results.hide_text": "텍스트 내보내기 숨기기",
  "chat.title": "채팅 - oMLX 관리자",
  "chat.brand": "oMLX 채팅",
  "chat.api_key_prompt": "채팅을 시작하려면 API 키를 입력하세요",
  "chat.api_key_placeholder": "API 키 입력...",
  "chat.api_key_continue": "계속",
  "chat.new_chat": "새 대화",
  "chat.new_chat_title": "새 대화",
  "chat.admin_settings": "관리자 설정",
  "chat.clear_all_history": "전체 기록 삭제",
  "chat.change_api_key": "API 키 변경",
  "chat.select_model": "모델 선택",
  "chat.no_models": "사용 가능한 모델 없음",
  "chat.welcome_heading": "Chat with oMLX",
  "chat.welcome_description": "당신의 MLX 모델과 대화를 시작하세요. 위에서 모델을 선택하세요.",
  "chat.welcome_privacy": "모든 대화는 로컬 기기에서 실행됩니다.",
  "chat.input_placeholder": "메시지를 입력하세요... (Shift+Enter로 줄바꿈)",
  "chat.input_placeholder_mobile": "메시지를 입력하세요...",
  "chat.edit_cancel": "취소",
  "chat.edit_save": "저장 후 재전송",
  "chat.copy_tooltip": "복사",
  "chat.regenerate_tooltip": "재생성",
  "chat.stop_tooltip": "중지",
  "chat.edit_tooltip": "메시지 수정",
  "chat.delete_tooltip": "대화 삭제",
  "chat.assistant_label": "어시스턴트",
  "chat.confirm_change_api_key": "API 키를 변경하시겠습니까?",
  "chat.confirm_delete_chat": "이 대화를 삭제하시겠습니까?",
  "chat.confirm_clear_all": "모든 대화 기록을 삭제하시겠습니까? 이 작업은 되돌릴 수 없습니다.",
  "chat.error.incorrect_api_key": "API 키가 올바르지 않습니다. 다시 입력해 주세요.",
  "chat.upload_image": "이미지 업로드",
  "chat.remove_image": "이미지 제거",
  "chat.image_not_available": "이미지",
  "chat.image_preview": "이미지 미리보기",
  "chat.system_prompt.title": "시스템 프롬프트",
  "chat.system_prompt.description": "모델에 대한 지시사항을 설정합니다. 이 채팅의 모든 메시지에 적용됩니다.",
  "chat.system_prompt.placeholder": "예: 당신은 유능한 어시스턴트입니다. 간결하게 답변하세요.",
  "chat.system_prompt.save": "저장",
  "chat.system_prompt.cancel": "취소",
  "chat.system_prompt.clear": "초기화",
  "chat.error.invalid_image_type": "이미지 파일을 선택해주세요",
  "chat.error.image_too_large": "이미지 크기는 10MB 이하여야 합니다",
  "chat.error.image_load_failed": "이미지를 불러오지 못했습니다. 다시 시도해 주세요.",
  "js.error.required_fields": "필수 항목이 비어 있습니다: {fields}",
  "js.error.api_key_min_length": "API 키는 4자 이상이어야 합니다",
  "js.error.api_key_no_whitespace": "API 키에 공백을 포함할 수 없습니다",
  "js.error.save_settings_failed": "설정 저장에 실패했습니다",
  "js.error.update_model_setting_failed": "모델 설정 업데이트에 실패했습니다",
  "js.error.load_model_failed": "모델 로드에 실패했습니다",
  "js.error.reload_failed": "모델 새로고침에 실패했습니다",
  "js.error.unload_model_failed": "모델 언로드에 실패했습니다",
  "js.error.save_model_settings_failed": "모델 설정 저장에 실패했습니다",
  "js.info.model_type_reload_required": "모델 타입이 변경되었습니다. 변경 사항을 적용하려면 모델을 언로드한 후 다시 로드해 주세요.",
  "js.error.no_config_defaults": "이 모델의 기본 설정을 찾을 수 없습니다",
  "js.error.load_generation_config_failed": "생성 설정 로드에 실패했습니다",
  "js.error.select_prompt_length": "프롬프트 길이를 하나 이상 선택하세요",
  "js.error.start_benchmark_failed": "벤치마크 시작에 실패했습니다",
  "js.error.start_benchmark_error": "벤치마크 시작 실패: {message}",
  "js.error.benchmark_connection_lost": "벤치마크 연결이 끊어졌습니다",
  "js.error.load_logs_failed": "로그 로드에 실패했습니다",
  "js.error.start_download_failed": "다운로드 시작에 실패했습니다",
  "js.error.start_download_connection": "다운로드 시작에 실패했습니다. 서버 연결을 확인하세요.",
  "js.error.delete_model_failed": "모델 삭제에 실패했습니다",
  "js.error.delete_model_connection": "모델 삭제에 실패했습니다. 서버 연결을 확인하세요.",
  "js.success.download_started": "다운로드 시작: {repo_id}",
  "js.success.settings_saved": "설정이 저장되었습니다"
}
