{
  "nav.home": "홈",
  "nav.search": "검색",
  "nav.sources": "소스",
  "nav.context_gateway": "게이트웨이",
  "nav.index": "인덱스",
  "nav.tags": "태그",
  "nav.timeline": "타임라인",
  "nav.more": "설정",
  "nav.skip_to_main": "본문으로 건너뛰기",

  "header.stat_chunks": "— 청크",
  "header.stat_sources": "— 소스",
  "header.stat_chunks_count_one": "청크 {count}개",
  "header.stat_chunks_count_other": "청크 {count}개",
  "header.stat_sources_count_one": "소스 {count}개",
  "header.stat_sources_count_other": "소스 {count}개",
  "header.stat_files_chunks": "파일 {files}개 · 청크 {chunks}개",
  "header.sys_info_jump_title": "임베딩 & 저장소 설정 열기",
  "header.settings_title": "설정",
  "header.theme_title": "테마 전환",
  "header.lang_toggle_aria": "언어 전환",
  "header.help_title": "도움말 표시/숨기기 (h)",

  "banner.dev_mode": "관리자 모드 — 모든 페이지가 표시됩니다. 다듬어진 화면을 보려면 `--dev` 없이 `mm web` 을 실행하세요.",
  "banner.emb_reset": "현재 설정으로 초기화 (벡터 삭제)",
  "banner.dismiss_title": "이 세션에서 닫기",
  "banner.model_loading": "모델 로딩 중…",
  "banner.model_downloading_one": "{model} 다운로드 중 (~{size} MB)…",
  "banner.model_downloading_one_no_size": "{model} 다운로드 중…",
  "banner.model_downloading_both": "{emb} 다운로드 중 (~{emb_size} MB) · {rer} 다운로드 중 (~{rer_size} MB)…",
  "banner.model_error": "모델 로드 실패 — 설정 확인.",
  "banner.model_fallback_embedder": "임베더",
  "banner.model_fallback_reranker": "리랭커",
  "banner.emb_mismatch": "임베딩 불일치 — {details}. 해결될 때까지 검색이 작동하지 않을 수 있습니다.",
  "banner.emb_mismatch_dimension": "차원: DB {db} ≠ 설정 {config}",
  "banner.emb_mismatch_model": "모델: DB {db} ≠ 설정 {config}",

  "home.quick_search_placeholder": "기억 빠른 검색...",
  "home.search_btn": "검색",
  "home.stat.total_chunks": "전체 청크",
  "home.stat.source_files": "소스 파일",
  "home.stat.namespaces": "네임스페이스",
  "home.stat.total_size": "전체 크기",
  "home.stat.sessions": "세션",
  "home.stat.working_memory": "작업 메모리",
  "home.section.namespaces": "네임스페이스",
  "home.section.file_types": "파일 유형",
  "home.section.activity": "활동 (1년)",
  "home.activity.summary_last7": "최근 7일: {count}",
  "home.activity.summary_active_days": "활동 일수: {count}",
  "home.activity.summary_most_active": "가장 활발한 날: {date} ({count})",
  "home.activity.summary_aria": "총 청크 {total}개, 활동한 날 {active}일. 최근 7일 청크 {last7}개. 가장 활발한 날: {date}, 청크 {count}개.",
  "home.activity.summary_sample": "최근 샘플: {count}",
  "home.activity.summary_sample_active_days": "샘플 활동 일수: {count}",
  "home.activity.summary_sample_most_active": "샘플에서 가장 활발한 날: {date} ({count})",
  "home.activity.summary_sample_aria": "활동 지도는 타임라인 쿼리에서 반환된 최근 청크 {limit}개를 기준으로 합니다. 샘플 활동 일수는 {active}일입니다. 샘플에서 가장 활발한 날: {date}, 청크 {count}개.",
  "home.activity.none": "없음",
  "home.activity.legend_less": "적음",
  "home.activity.legend_more": "많음",
  "home.activity.intensity_none": "활동 없음",
  "home.activity.intensity_low": "낮은 활동",
  "home.activity.intensity_medium": "보통 활동",
  "home.activity.intensity_high": "높은 활동",
  "home.activity.intensity_peak": "최고 활동",
  "home.activity.cell_title": "{date}: 청크 {count}개, {intensity}",
  "home.activity.cell_aria_one": "{date}, 청크 {count}개, {intensity}. 클릭하면 타임라인에서 확인합니다.",
  "home.activity.cell_aria_other": "{date}, 청크 {count}개, {intensity}. 클릭하면 타임라인에서 확인합니다.",
  "home.section.chunk_sizes": "청크 크기",
  "home.section.chunk_sizes_unit": "(토큰)",
  "home.section.recent_sources": "최근 소스",
  "home.section.quick_actions": "빠른 작업",
  "home.section.pinned_chunks": "고정된 청크",
  "home.section.storage_health": "스토리지 상태",
  "home.action.search": "검색 열기",
  "home.action.search_title": "검색 탭을 엽니다.",
  "home.action.index": "인덱스 열기",
  "home.action.index_title": "인덱스 탭을 엽니다.",
  "home.action.reindex": "전체 재인덱스 준비",
  "home.action.reindex_title": "인덱스 탭을 열고 강제 재인덱스를 켭니다. 실행하기 전까지 인덱싱은 시작되지 않습니다.",
  "home.action.export": "내보내기 열기",
  "home.action.export_title": "설정의 내보내기 / 가져오기 섹션을 엽니다.",
  "home.action.dedup": "중복 검사 열기",
  "home.action.dedup_title": "설정의 중복 제거 섹션을 엽니다. 검사는 자동으로 시작되지 않습니다.",
  "home.action.tags": "태그 열기",
  "home.action.tags_title": "태그 탭을 엽니다.",
  "home.state.loading": "로딩 중…",
  "home.state.load_failed": "대시보드를 불러오지 못했습니다",
  "home.state.no_files_indexed": "인덱싱된 파일 없음",
  "home.state.no_data": "데이터 없음",
  "home.state.no_namespaces": "네임스페이스 없음",
  "home.state.no_sources_title": "인덱싱된 소스가 없습니다",
  "home.state.no_sources_hint": "인덱스 탭에서 파일을 추가하세요",
  "home.state.no_pinned": "고정된 청크가 없습니다 — 상세 패널에서 ☆ 고정을 클릭하세요",
  "home.source_chunks_one": "청크 {count}개",
  "home.source_chunks_other": "청크 {count}개",
  "home.health.embedding": "임베딩",
  "home.health.dimension": "차원",
  "home.health.storage": "스토리지",
  "home.health.last_indexed": "마지막 인덱싱",
  "home.health.never": "없음",
  "home.health.unknown": "알 수 없음",
  "home.pin.unpin_title": "고정 해제",
  "home.pin.open_title": "{source} 에서 고정된 청크 열기",
  "home.pin.missing_title": "고정된 청크가 없습니다. 제거를 눌러 정리하세요.",
  "home.pin.missing_badge": "없는 청크",
  "home.pin.remove_label": "제거",
  "home.pin.remove_title": "오래된 고정 제거",

  "search.help": "인덱싱된 기억을 시맨틱 검색합니다. 필터: 태그, 네임스페이스, 유형, 점수. 파이프라인: BM25 (키워드) + Dense (시맨틱) → RRF 융합.",
  "search.filter_toggle_title": "태그, 유형, 정렬 등 필터 표시/숨기기",
  "search.filter_toggle": "▾ 필터",
  "search.filter_count_aria_one": "필터 {count}개 적용됨",
  "search.filter_count_aria_other": "필터 {count}개 적용됨",
  "search.placeholder": "기억 검색…",
  "search.search_btn": "검색",
  "search.search_btn_title": "시맨틱 검색 실행 (Enter)",
  "search.save_title": "현재 검색 저장",
  "search.unsave_title": "저장된 검색에서 제거",
  "search.delete_query_aria": "저장된 검색 삭제",
  "search.group_title": "소스 파일별로 결과 그룹화",
  "search.view_title": "카드/목록 보기 전환",
  "search.view_card_title": "카드 보기로 전환",
  "search.view_list_title": "목록 보기로 전환",
  "search.tag_filter_placeholder": "태그로 필터…",
  "search.tag_filter_title": "결과에 포함할 태그 (쉼표로 구분)",
  "search.min_relevance_aria": "최소 관련성 점수",
  "search.relevance_label": "관련도",
  "search.advanced_details": "고급 세부정보",
  "search.ns_all": "전체 네임스페이스",
  "search.ns_filter_title": "특정 네임스페이스로 제한",
  "search.type_all": "전체 유형",
  "search.type_markdown": "마크다운",
  "search.type_py_func": "Py 함수",
  "search.type_py_class": "Py 클래스",
  "search.type_js_func": "JS 함수",
  "search.type_code": "코드",
  "search.type_paragraph": "문단",
  "search.type_filter_title": "청크 유형으로 필터 (마크다운, 코드 등)",
  "search.sort_score": "↓ 점수",
  "search.sort_newest": "↓ 최신",
  "search.sort_oldest": "↑ 오래된",
  "search.sort_source": "A→Z 소스",
  "search.sort_title": "검색 결과 정렬 순서",
  "search.topk_help": "반환할 최대 결과 수. 늘리면 더 넓은 범위를 검색합니다.",
  "search.topk_title": "반환할 최대 결과 수",
  "search.context_label": "컨텍스트",
  "search.context_title": "각 결과 주변의 이웃 청크 N개를 포함하여 더 많은 맥락 제공",
  "search.context_off": "끄기",
  "search.date_all": "전체 기간",
  "search.date_today": "오늘",
  "search.date_7d": "최근 7일",
  "search.date_30d": "최근 30일",
  "search.date_90d": "최근 90일",
  "search.date_custom": "사용자 지정…",
  "search.date_title": "날짜 범위로 결과 필터",
  "search.adv_advanced": "⚙ 고급",
  "search.adv_title": "소스 다중 선택, 점수 임계값, 저장된 검색, 내보내기",
  "search.adv_sources": "소스",
  "search.adv_loading": "로딩 중…",
  "search.adv_min_score": "최소 점수:",
  "search.adv_score_help": "유사도 점수 최소값 (0–1). 높을수록 관련성이 높지만 결과가 적어집니다.",
  "search.adv_saved": "저장된 검색",
  "search.adv_saved_load": "— 저장 목록 —",
  "search.adv_save_btn": "저장",
  "search.adv_export_label": "결과 내보내기",
  "search.adv_export_all": "전체 결과",
  "search.bulk_count": "{count}개 선택됨",
  "search.bulk_delete": "선택 항목 삭제",
  "search.bulk_export": "내보내기",
  "search.empty_icon": "🔍",
  "search.empty_text": "검색어를 입력하세요",
  "search.empty_hint": "/ 포커스 · j/k 이동 · p 고정 · c 복사",
  "search.load_more": "더 보기",
  "search.mobile_back": "← 뒤로",
  "search.detail_empty": "결과를 선택하면 상세 정보가 표시됩니다",
  "search.detail_content": "내용",
  "search.detail_copy": "복사",
  "search.detail_expand": "확장",
  "search.detail_view": "보기",
  "search.detail_preview": "미리보기",
  "search.detail_diff": "차이점",
  "search.detail_history": "기록",
  "search.detail_tags": "태그",
  "search.detail_validity_label": "유효",
  "search.detail_validity_expired": "만료됨",
  "search.detail_tag_placeholder": "태그 추가…",
  "search.detail_tag_add": "추가",
  "search.detail_tag_save": "태그 저장",
  "search.detail_save": "편집 저장",
  "search.detail_save_title": "이 청크의 내용과 태그 변경사항 저장",
  "search.detail_delete": "삭제",
  "search.detail_delete_title": "이 청크를 영구 삭제",
  "search.detail_reset": "초기화",
  "search.detail_reset_title": "저장하지 않은 편집 취소 후 원본 복원",
  "search.detail_similar": "유사 찾기",
  "search.detail_similar_title": "의미적으로 유사한 청크 찾기",
  "search.detail_source_btn": "⊞ 소스",
  "search.detail_source_title": "같은 소스 파일의 모든 청크 표시",
  "search.detail_pin": "☆ 고정",
  "search.detail_pin_title": "이 청크를 고정하여 만료 삭제 방지",
  "search.detail_editor_aria": "기억 내용 편집기",
  "search.detail_tag_input_aria": "태그 추가",
  "search.similar_header": "유사한 청크",
  "search.similar_close_aria": "유사 기억 패널 닫기",
  "search.source_chunks_header": "같은 소스의 청크",
  "search.source_chunks_close_aria": "소스 청크 패널 닫기",
  "search.history_header": "편집 기록",
  "search.history_close_aria": "편집 기록 패널 닫기",
  "search.history_remove_title": "제거",
  "search.history_clear": "기록 지우기",
  "search.recent_label": "최근:",
  "search.related_header": "관련 청크",
  "search.drop_msg": "📥 파일을 드롭하여 인덱스",
  "search.prev_title": "소스의 이전 청크",
  "search.next_title": "소스의 다음 청크",

  "chunks.load_all": "전체 불러오기",

  "sources.help": "인덱싱된 소스 파일. 파일을 클릭하여 청크를 탐색. 구분선을 드래그하여 크기 조절. 이름, 청크, 크기, 최근순으로 정렬.",
  "sources.title": "소스",
  "sources.filter_placeholder": "경로 또는 본문으로 필터… 예: .md, src/, utils",
  "sources.filter_title": "부분 경로 또는 인덱싱된 본문 매칭으로 소스 목록 필터",
  "sources.sort_name": "이름",
  "sources.sort_chunks": "청크",
  "sources.sort_size": "크기",
  "sources.sort_recent": "최근",
  "sources.empty_icon": "📄",
  "sources.empty_text": "소스를 선택하면 청크를 탐색할 수 있습니다",
  "sources.language_drift_banner": "⚠️ {count}개 요약이 현재 언어 설정({current})과 다릅니다",
  "sources.regenerate_all_btn": "일괄 재생성",
  "sources.regenerate_later_btn": "나중에",
  "sources.regenerate_in_progress": "재생성 중 {done}/{total}…",
  "sources.regenerate_done": "{processed}개 요약을 재생성했습니다.",
  "sources.regenerate_failed": "재생성을 시작하지 못했습니다: {error}",
  "sources.discovered_label": "발견됨",
  "sources.orphan_label": "기타 (등록되지 않은 위치)",
  "sources.empty_vendor_placeholder": "{vendor} 메모리 없음",
  "sources.add_manually_btn": "+ 수동 추가",
  "sources.default_pill": "기본",

  "index.help": "memtomem 에 기억을 추가하는 3가지 방법.",
  "index.mode_aria": "인덱스 모드",
  "index.mode.folder": "폴더 인덱싱",
  "index.mode.upload": "파일 업로드",
  "index.mode.compose": "새 기억",
  "index.mode.folder_desc": "기존 디렉터리를 제자리에서 스캔합니다.",
  "index.mode.upload_desc": "파일을 memtomem 업로드 저장소로 복사한 뒤 인덱싱합니다.",
  "index.mode.compose_desc": "memtomem 기억 파일에 새 노트를 직접 작성합니다.",
  "index.folder_oneshot_hint": "일회성 스캔입니다. 자동 재인덱싱은 ",
  "index.folder_oneshot_link": "Sources → 경로 추가",
  "index.folder_oneshot_suffix": " 를 사용하세요.",
  "index.path_label": "경로",
  "index.path_placeholder": "예: ~/memories 또는 /path/to/notes",
  "index.ns_label": "네임스페이스",
  "index.ns_placeholder": "기본값 (설정에서)",
  "index.recursive": "하위 폴더 포함",
  "index.force": "강제 재인덱스",
  "index.register_source": "소스로 등록",
  "index.register_source_title": "이 경로를 메모리 디렉터리에 추가하여 향후 변경사항이 자동 인덱싱됩니다",
  "index.index_btn": "인덱스",
  "index.browse_btn": "📁 둘러보기",
  "index.browse_aria": "폴더 선택 창 열기",
  "index.progress_label": "0 / 0 파일",
  "index.progress_files": "{done} / {total} 파일",
  "index.progress_done": "완료 — {count} 파일",
  "index.indicator": "⏳ 인덱싱 중…",
  "index.result.files": "스캔된 파일",
  "index.result.chunks": "전체 청크",
  "index.result.indexed": "인덱싱됨",
  "index.result.skipped": "건너뜀",
  "index.result.deleted": "삭제됨",
  "index.result.duration": "소요 시간",
  "index.result.errors": "오류",
  "index.result.namespace": "네임스페이스",
  "index.ns_suffix.auto": "경로에서 자동 결정",
  "index.ns_suffix.config": "설정에서",
  "index.ns_render.untagged_preview": "(태그 없음) (미리보기)",
  "index.ns_render.single_preview": "{ns} (미리보기)",
  "index.ns_render.multi_preview": "{list} (미리보기, {n}개 네임스페이스)",
  "index.ns_render.untagged_applied": "(태그 없음)",
  "index.ns_render.single_applied": "{ns}",
  "index.ns_render.multi_applied": "{list} ({n}개 네임스페이스)",
  "index.ns_render.truncated_suffix": ", {scanned}개 이상 스캔",
  "index.upload_hint": "파일을 드롭하거나",
  "index.upload_browse": "찾아보기",
  "index.upload_ext": ".md .txt .json .yaml .yml .toml",
  "index.upload_btn": "업로드 & 인덱스",
  "index.upload_usage_label": "저장 위치",
  "index.upload_usage_count_one": "{count}개 파일",
  "index.upload_usage_count_other": "{count}개 파일",
  "index.upload_usage_oldest": "가장 오래된 {rel}",
  "index.add_heading_label": "제목",
  "index.add_heading_placeholder": "선택적 헤딩",
  "index.add_tags_label": "태그",
  "index.add_tags_placeholder": "태그1, 태그2, …",
  "index.add_file_label": "대상 파일 (저장 위치)",
  "index.add_file_placeholder_prefix": "~/.memtomem/memories/",
  "index.add_file_placeholder_suffix": ".md (비워두면 자동)",
  "index.add_ns_label": "네임스페이스",
  "index.add_ns_placeholder": "기본값 (설정에서)",
  "index.add_content_label": "내용",
  "index.add_content_placeholder": "여기에 기억을 작성하세요…",
  "index.add_privacy_hint": "프라이버시 가드는 토큰·API 키·개인 키만 검사하며, 이메일/전화번호는 대상이 아닙니다.",
  "index.add_btn": "추가",

  "compose.privacy_warning_title": "비밀 정보 가능성",
  "compose.privacy_warning_message": "API 키로 보이는 내용이 발견됐습니다. 이 내용은 로컬 DB에 그대로 저장되고 검색에 노출됩니다. 계속할까요?",
  "compose.privacy_warning_proceed": "계속",

  "confirm.redaction_blocked_title": "비밀정보 가드가 쓰기를 차단함",
  "confirm.redaction_blocked_message": "서버가 {surface}에서 {hits}개의 비밀 의심 패턴을 감지했어요. 우회하고 작성할까요? 감사 로그에 기록됩니다.",
  "confirm.redaction_blocked_proceed": "우회하고 작성",
  "toast.redaction_bypassed": "비밀정보 가드 우회 ({hits}건) — 저장됨.",
  "toast.redaction_bypass_partial": "우회 일부만 적용됨 — 차단된 {total}개 중 {succeeded}개만 저장됐습니다. 아래 파일별 결과를 확인하세요.",
  "toast.upload_redaction_cancelled": "업로드 취소됨 — 비밀정보 가드가 {count}개 파일을 차단한 상태로 두었습니다.",
  "surface.web_api_add": "메모리 추가",
  "surface.web_api_chunk_edit": "청크 편집",
  "surface.web_api_scratch_promote": "스크래치 승격",
  "surface.web_api_upload": "파일 업로드",

  "settings.nav.general": "일반",
  "settings.nav.integrations": "컨텍스트 게이트웨이",
  "settings.nav.gateway_sections_aria": "컨텍스트 게이트웨이 섹션",
  "settings.nav.settings_sections_aria": "설정 섹션",
  "settings.nav.runtime": "런타임",
  "settings.nav.data": "데이터",
  "settings.nav.danger_zone": "위험 구역",
  "settings.nav.config": "설정",
  "settings.nav.config_sub": "임베딩 · DB",
  "settings.nav.namespaces": "네임스페이스",
  "settings.nav.namespaces_sub": "기억 분류",
  "settings.nav.hooks_sync": "훅",
  "settings.nav.hooks_sync_sub": "라이프사이클 훅",
  "settings.nav.ctx_overview": "개요",
  "settings.nav.ctx_overview_sub": "동기화 현황",
  "settings.nav.ctx_projects": "프로젝트",
  "settings.nav.ctx_projects_sub": "멀티 프로젝트 포털",
  "settings.nav.ctx_skills": "스킬",
  "settings.nav.ctx_skills_sub": "재사용 워크플로우",
  "settings.nav.ctx_commands": "커스텀 명령어",
  "settings.nav.ctx_commands_sub": "슬래시 명령어",
  "settings.nav.ctx_agents": "서브에이전트",
  "settings.nav.ctx_agents_sub": "전문 에이전트",
  "settings.nav.ctx_mcp_servers": "MCP 서버",
  "settings.nav.ctx_mcp_servers_sub": "프로젝트 도구 서버",
  "settings.nav.dedup": "중복 정리",
  "settings.nav.dedup_sub": "유사 청크 제거",
  "settings.nav.decay": "오래된 기억 만료",
  "settings.nav.decay_sub": "오래된 청크 만료",
  "settings.nav.export_import": "내보내기 / 가져오기",
  "settings.nav.export_import_sub": "JSON 번들 입출력",
  "settings.nav.sessions": "세션",
  "settings.nav.sessions_sub": "에피소딕 기록",
  "settings.nav.working_memory": "작업 메모리",
  "settings.nav.working_memory_sub": "스크래치 KV",
  "settings.nav.procedures": "프로시저",
  "settings.nav.procedures_sub": "저장된 레시피",
  "settings.nav.health": "상태 리포트",
  "settings.nav.health_sub": "상태 + 워치독",
  "settings.nav.reset": "데이터베이스 초기화",
  "settings.nav.reset_sub": "전체 데이터 삭제",

  "settings.ctx.overview_title": "컨텍스트 게이트웨이",
  "settings.ctx.project_root_label": "프로젝트",
  "settings.ctx.active_project": "활성 프로젝트",
  "settings.ctx.server_cwd": "서버 실행 폴더",
  "settings.ctx.projects_fetch_failed": "프로젝트 목록을 불러오지 못해 서버 실행 폴더로 폴백했습니다 ({error})",
  "settings.ctx.user_canonical_label": "사용자 저장소",
  "settings.ctx.user_canonical_path": "~/.memtomem/",
  "settings.ctx.runtimes_label": "런타임",
  "settings.ctx.last_synced_label": "저장소 갱신",
  "settings.ctx.last_synced_tooltip": "기록된 동기화 이벤트가 아니라 저장소에서 가장 최근에 바뀐 파일의 수정 시각 기준입니다. 전체 동기화 없이 저장된 파일을 편집해도 이 값이 갱신됩니다.",
  "settings.ctx.runtime_undetected_tooltip": "이 프로젝트에서 감지되지 않음",
  "settings.ctx.refresh": "새로고침",
  "settings.ctx.sync_all": "전체 동기화",
  "settings.ctx.sync": "동기화",
  "settings.ctx.active": "선택됨",
  "settings.ctx.select": "선택",
  "settings.ctx.sync_started": "프로젝트 동기화 중...",
  "settings.ctx.matrix_sync_disabled_title": "project_local 이거나 누락된 프로젝트는 런타임으로 내보내지 않습니다",
  "settings.ctx.matrix_sync_not_enrolled_title": "미등록 — 프로젝트 보드에서 등록하면 동기화할 수 있습니다",
  "settings.ctx.matrix_sync_paused_title": "동기화 중지됨 — 프로젝트 보드에서 재개하세요",
  "settings.ctx.error_sync_paused": "프로젝트 동기화가 중지되었습니다 — 프로젝트 보드에서 재개하세요.",
  "settings.ctx.error_sync_not_enrolled": "프로젝트가 동기화에 미등록 상태입니다 — 프로젝트 보드에서 등록하세요.",
  "settings.ctx.cascade_unavailable_hint": "이 프로젝트는 동기화가 중지되었거나 미등록 상태라 저장된 사본만 삭제됩니다 — 런타임 파일은 그대로 남습니다.",
  "settings.ctx.import": "가져오기",
  "settings.ctx.create": "만들기",
  "settings.ctx.edit": "편집",
  "settings.ctx.save": "저장",
  "settings.ctx.cancel": "취소",
  "settings.ctx.delete": "삭제",
  "settings.ctx.skills_title": "스킬",
  "settings.ctx.commands_title": "커스텀 명령어",
  "settings.ctx.agents_title": "서브에이전트",
  "settings.ctx.mcp_servers_title": "MCP 서버",
  "settings.ctx.type_names.skills": "스킬",
  "settings.ctx.type_names.commands": "커스텀 명령어",
  "settings.ctx.type_names.agents": "서브에이전트",
  "settings.ctx.type_names.mcp-servers": "MCP 서버",
  "settings.ctx.type_names_singular.skills": "스킬",
  "settings.ctx.type_names_singular.commands": "커스텀 명령어",
  "settings.ctx.type_names_singular.agents": "서브에이전트",
  "settings.ctx.type_names_singular.mcp-servers": "MCP 서버",
  "settings.ctx.back_to_list": "뒤로",
  "settings.ctx.cascade_delete": "생성된 런타임 파일도 함께 삭제",
  "settings.ctx.confirm_delete": "\"{name}\" 항목을 삭제하시겠습니까?",
  "settings.ctx.confirm_delete_msg": ".memtomem/ 에 저장된 항목을 제거합니다.",
  "settings.ctx.confirm_cascade_codex": "~/.codex/ (사용자 범위) 의 파일도 삭제됩니다. 계속하시겠습니까?",
  "settings.ctx.confirm_sync": "{type} {count}개를 이 계층에 구성된 런타임으로 내보낼까요?",
  "settings.ctx.confirm_sync_all": "{dest}에 저장된 모든 항목을 이 계층에 구성된 런타임으로 내보낼까요?",
  "settings.ctx.confirm_sync_impact": "누락된 파일 {create}개를 새로 만들고, 어긋난 파일 {overwrite}개를 덮어씁니다. 대상 런타임: {runtimes}.",
  "settings.ctx.confirm_sync_settings_impact": "추가로 설정 파일 {create}개를 만들고 {overwrite}개를 덮어씁니다.",
  "settings.ctx.confirm_sync_counts": "누락된 파일 {create}개를 새로 만들고, 어긋난 파일 {overwrite}개를 덮어씁니다.",
  "settings.ctx.confirm_sync_no_changes": "모두 이미 동기화되어 있습니다.",
  "settings.ctx.confirm_sync_overwrite_warning": "어긋난 런타임 파일 {overwrite}개가 덮어쓰기됩니다.",
  "settings.ctx.confirm_import": "런타임의 {type}을(를) {dest}(으)로 가져올까요?",
  "settings.ctx.confirm_import_preview": "가져올 항목 {imported}개, 기존 {skipped}개.",
  "settings.ctx.confirm_import_overwrite_hint": "덮어쓰기를 켜면 기존 항목이 교체됩니다.",
  "settings.ctx.confirm_import_overwrite_label": "기존 저장 파일 덮어쓰기",
  "settings.ctx.sync_success": "동기화 완료",
  "settings.ctx.sync_lock_timeout": "동기화가 실행되지 않았습니다 — 다른 프로세스가 대상 잠금을 잡고 있습니다. 잠시 후 다시 시도하세요.",
  "settings.ctx.sync_target_conflict": "충돌하는 대상을 건너뛰었습니다 — {reason}",
  "settings.ctx.sync_skipped_attention": "동기화가 끝났지만 {count}개 항목을 건너뛰었습니다: {items}",
  "settings.ctx.sync_dropped": "동기화 중 {count}개 필드가 제거됨",
  "settings.ctx.import_priority": "같은 이름이 여러 런타임에 있으면 정해진 순서로 스캔해 처음 발견한 사본을 가져옵니다 (Claude 먼저, 그다음 Antigravity; 스킬은 Codex 와 Kimi 에서도 가져옵니다). 그 외 런타임으로는 내보내기만 하고 읽어오지 않습니다.",
  "settings.ctx.import_result": "{imported}개 가져옴, {skipped}개 건너뜀",
  "settings.ctx.import_success": "가져오기 완료",
  "settings.ctx.delete_success": "\"{name}\" 삭제됨",
  "settings.ctx.delete_partial": "삭제 미완료 — 경로 {count}개를 제거하지 못했습니다. {path}: {reason}",
  "settings.ctx.save_success": "\"{name}\" 저장됨",
  "settings.ctx.create_success": "\"{name}\" 생성됨",
  "settings.ctx.mtime_conflict": "파일이 외부에서 수정되었습니다. 다시 불러오는 중...",
  "settings.ctx.conflict_title": "파일이 외부에서 수정됨",
  "settings.ctx.conflict_msg": "편집 중 다른 곳에서 이 파일이 수정되었습니다. 해결 방법을 선택하세요.",
  "settings.ctx.conflict_your_edits": "내 수정",
  "settings.ctx.conflict_on_disk": "디스크 현재 내용",
  "settings.ctx.conflict_reload": "다시 불러오기 (내 수정 버림)",
  "settings.ctx.conflict_force": "강제 저장 (덮어쓰기)",
  "settings.ctx.conflict_diff": "Diff 편집기 열기",
  "settings.ctx.conflict_force_done": "외부 변경을 덮어쓰며 강제 저장됨",
  "settings.ctx.conflict_draft_restored": "이전 세션의 저장 안 된 수정을 복원했습니다",
  "settings.ctx.status_in_sync": "동기화됨",
  "settings.ctx.status_out_of_sync": "불일치",
  "settings.ctx.status_missing_target": "런타임에 없음",
  "settings.ctx.status_missing_canonical": "아직 가져오지 않음",
  "settings.ctx.status_parse_error": "파싱 오류",
  "settings.ctx.status_invalid_name": "잘못된 이름",
  "settings.ctx.parse_error_hint": "{path} 파일을 수정한 뒤 새로 고침을 누르세요.",
  "settings.ctx.badge_synced": "동기화",
  "settings.ctx.badge_missing_target": "런타임에 없음",
  "settings.ctx.badge_missing_canonical": "미가져옴",
  "settings.ctx.badge_out_of_sync": "불일치",
  "settings.ctx.badge_parse_error": "파싱 오류",
  "settings.ctx.badge_invalid_name": "잘못된 이름",
  "settings.ctx.badge_empty": "비어 있음",
  "settings.ctx.badge_error": "오류",
  "settings.ctx.badge_local_draft": "초안",
  "settings.ctx.pointer_missing_target": "전체 동기화로 런타임에 없는 {count}건을 내보내세요.",
  "settings.ctx.pointer_out_of_sync": "{leaf}에서 {count}건의 차이를 해결하세요.",
  "settings.ctx.pointer_missing_canonical": "런타임에 {count}건이 있지만 아직 저장소에 없습니다 — {leaf}에서 가져오세요.",
  "settings.ctx.pointer_empty": "아직 항목이 없습니다 — {leaf}에서 만들거나 가져오세요.",
  "settings.ctx.pointer_empty_hooks": "저장된 훅이 아직 없습니다 — {leaf}에서 런타임의 훅을 가져와 저장하세요.",
  "settings.ctx.pointer_empty_mcp": "MCP 서버 정의가 아직 없습니다 — {leaf}에서 만들 수 있습니다.",
  "settings.ctx.error_kind_parse": "파일을 해석하지 못했습니다",
  "settings.ctx.error_kind_permission": "접근 권한이 없습니다",
  "settings.ctx.error_kind_missing": "경로가 없습니다",
  "settings.ctx.error_kind_internal": "내부 오류",
  "settings.ctx.tier_filter": "저장 위치",
  "settings.ctx.no_artifacts": "{type} 없음",
  "settings.ctx.no_artifacts_hint": "새로 만들거나 기존 런타임에서 가져올 수 있습니다.",
  "settings.ctx.load_overview_failed": "개요를 불러오지 못했습니다",
  "settings.ctx.load_failed": "{type} 목록을 불러오지 못했습니다",
  "settings.ctx.load_detail_failed": "세부 정보를 불러오지 못했습니다",
  "settings.ctx.scopes_load_failed": "프로젝트 스코프를 불러오지 못했습니다 — 다시 시도하고, 계속되면 서버 로그를 확인하세요.",
  "settings.ctx.retry": "다시 시도",
  "settings.ctx.show_all_projects": "모든 프로젝트 보기 ({n})",
  "settings.ctx.not_found": "\"{name}\"을(를) 찾을 수 없습니다",
  "settings.ctx.diff_tab_hint": "Diff 탭을 클릭하면 불러옵니다...",
  "settings.ctx.diff_failed": "Diff에 실패했습니다",
  "settings.ctx.diff_failed_detail": "Diff 실패: {error}",
  "settings.ctx.draft_stash_failed": "초안을 로컬에 저장하지 못했습니다 — 저장할 때까지 이 탭을 닫지 마세요.",
  "settings.ctx.no_runtime_targets": "런타임 대상이 없습니다.",
  "settings.ctx.tier_option_user": "사용자",
  "settings.ctx.tier_option_project_shared": "프로젝트(공유)",
  "settings.ctx.tier_option_project_local": "프로젝트(로컬)",
  "settings.ctx.tier_tooltip_user": "~/.memtomem/ — 이 컴퓨터의 모든 프로젝트에 적용",
  "settings.ctx.tier_tooltip_project_shared": "프로젝트 .memtomem/ — git 에 커밋되어 팀과 공유",
  "settings.ctx.tier_tooltip_project_local": "gitignore 되는 로컬 초안 — 런타임으로 내보내지 않음",
  "settings.ctx.create_destination": "위치: {project} · {tier}",
  "settings.ctx.create_dest_active_project": "활성 프로젝트",
  "settings.ctx.create_name_label": "이름",
  "settings.ctx.create_content_label": "내용",
  "settings.ctx.create_content_placeholder": "# 내용...",
  "settings.ctx.create_name_placeholder": "my-{type}",
  "settings.ctx.import_skipped": "건너뜀",
  "settings.ctx.empty_hint": "{canonical}/<이름>/ 아래에 {type}을(를) 두고 동기화를 누르거나, 이 프로젝트의 {scan_dirs} 에서 기존 {type}을(를) 가져오기로 불러올 수 있습니다.",
  "settings.ctx.empty_hint_user": "{canonical}/<이름>/ 아래에 {type}을(를) 두고 `mm context sync --scope user` 를 실행하세요. 사용자 티어 {type}은(는) 모든 프로젝트에서 공유됩니다.",
  "settings.ctx.empty_hint_mcp": "{canonical}/<이름>/ 아래에 {type}을(를) 두고 동기화를 누르세요. MCP 서버는 이 프로젝트의 .mcp.json 으로 동기화되며 가져오기 단계는 없습니다.",
  "settings.ctx.empty_hint_mcp_project_only": "MCP 서버 정의는 프로젝트(공유) 티어에만 있습니다 — 저장 위치를 프로젝트(공유)로 바꿔 관리하세요.",
  "settings.ctx.import_no_runtimes": "{root} 에서 런타임 {type}을(를) 찾지 못했습니다. 스캔한 경로: {scan_dirs}.",
  "settings.ctx.sync_empty_canonical": "{canonical} 아래에 저장된 {type}이(가) 없습니다. 먼저 하나 만들어 주세요.",
  "settings.ctx.runtime_only_banner": "{scan_dirs} 에서 {type} {count}개를 발견했지만 아직 가져오지 않았습니다. 가져오기를 누르면 memtomem 저장소에 추가됩니다.",
  "settings.ctx.deep_link_filter": "필터: {filter} ({count}개)",
  "settings.ctx.deep_link_artifact": "단일 항목 보기: {name}",
  "settings.ctx.deep_link_artifact_missing": "연결된 항목을 찾을 수 없음: {name}",
  "settings.ctx.deep_link_reset": "전체 보기",
  "settings.ctx.sync_disabled_tooltip": "아직 내보낼 {type}이(가) 없습니다 — 먼저 만들기 또는 가져오기를 사용하세요.",
  "settings.ctx.sync_all_disabled_tooltip": "아직 내보낼 항목이 없습니다 — 각 섹션에서 먼저 만들기/가져오기를 사용하세요.",
  "settings.ctx.sync_all_nothing_synced": "동기화할 항목이 없습니다 — 모든 섹션이 비어 있습니다. 먼저 만들기/가져오기를 사용하세요.",
  "settings.ctx.sync_all_not_enrolled_tooltip": "선택한 프로젝트가 동기화에 미등록 — 프로젝트 보드에서 등록하세요.",
  "settings.ctx.sync_all_paused_tooltip": "선택한 프로젝트의 동기화가 중지됨 — 프로젝트 보드에서 재개하세요.",
  "settings.ctx.missing_canonical_project_shared_title": "아직 프로젝트 저장소(.memtomem/)에 없습니다",
  "settings.ctx.missing_canonical_project_shared_body": "{scan_dirs} 의 {type} {count}개가 아직 memtomem 저장소에 없습니다. 위의 가져오기를 누르거나 다음 명령을 실행하세요:",
  "settings.ctx.missing_canonical_user_title": "아직 사용자 저장소(~/.memtomem/)에 없습니다",
  "settings.ctx.missing_canonical_user_body": "런타임의 {type} {count}개가 아직 memtomem 사용자 저장소에 없습니다. 웹 UI에서 사용자 티어는 읽기 전용입니다 — 아래 명령을 실행하세요:",
  "settings.ctx.missing_canonical_mcp_body": "{scan_dirs} 의 {type} {count}개가 아직 memtomem 저장소에 없습니다. MCP 서버에는 가져오기가 없습니다 — 항목을 열어 정의를 확인한 뒤 만들기로 추가하세요.",
  "settings.ctx.missing_canonical_project_local_title": "아직 로컬 초안에 없습니다",
  "settings.ctx.missing_canonical_project_local_body": "런타임의 {type} {count}개가 아직 로컬 초안에 없습니다. 로컬 초안은 gitignore 되며 런타임으로 내보내지 않습니다 — 아래 명령으로 초기화하세요:",
  "settings.ctx.project_local_no_fanout_tooltip": "project_local 은 초안 티어입니다 — 초안은 런타임으로 내보내지 않습니다.",
  "settings.ctx.tier_no_fanout_annotation": "(런타임으로 내보내지 않음)",
  "settings.ctx.write_blocked_user_tooltip": "사용자 티어 항목은 CLI(`mm context`)로 관리합니다 — 웹에서는 읽기 전용입니다.",
  "settings.ctx.write_blocked_project_local_tooltip": "project_local 은 초안 티어입니다 — 런타임으로 내보내려면 project_shared 로 전환하세요.",
  "settings.ctx.write_blocked_user_banner": "읽기 전용 티어 — 사용자 티어 항목은 CLI 로 관리합니다.",
  "settings.ctx.write_blocked_project_local_banner": "초안 전용 티어 — 로컬 초안은 .memtomem/ 에만 있고 런타임으로 내보내지지 않습니다.",
  "settings.ctx.runtime_only_detail_hint": "런타임 미리보기 — 아직 .memtomem/ 에 없습니다.",
  "settings.ctx.runtime_only_label": "(런타임에만 있음)",
  "settings.ctx.import_this": "이 {type} 가져오기",
  "settings.ctx.runtime_output": "런타임 출력",
  "settings.ctx.canonical_source": "저장소 원본",
  "settings.ctx.diff_view": "비교",
  "settings.ctx.field_map": "필드 맵",
  "settings.ctx.auxiliary_files": "보조 파일",
  "settings.ctx.detail.meta_description": "설명:",
  "settings.ctx.detail.meta_scope": "스코프:",
  "settings.ctx.detail.meta_layout": "레이아웃:",
  "settings.ctx.detail.meta_modified": "수정:",
  "settings.ctx.detail.meta_layout_flat": "단일 파일",
  "settings.ctx.detail.meta_layout_dir": "디렉터리",
  "settings.ctx.detail.meta_file_count": "보조 파일 {count}개",
  "settings.ctx.detail.agent_role": "역할",
  "settings.ctx.detail.agent_isolation": "격리",
  "settings.ctx.detail.agent_kind": "종류",
  "settings.ctx.detail.agent_temperature": "Temperature",
  "settings.ctx.detail.command_argument_hint": "인수 힌트",
  "settings.ctx.detail.command_allowed_tools": "허용 도구",
  "settings.ctx.detail.command_model": "모델",
  "settings.ctx.detail.mcp_command": "명령",
  "settings.ctx.detail.mcp_args_count": "인수",
  "settings.ctx.detail.mcp_env_count": "환경 변수",
  "settings.ctx.versions.title": "버전",
  "settings.ctx.versions.freeze": "현재 고정",
  "settings.ctx.versions.freeze_tooltip": "현재 저장된 내용을 불변 버전으로 고정합니다",
  "settings.ctx.versions.promote": "배포",
  "settings.ctx.versions.promote_tooltip": "선택한 라벨을 이 버전으로 이동합니다 (롤백 = 이전 버전 선택)",
  "settings.ctx.versions.remove_label_tooltip": "이 라벨 제거",
  "settings.ctx.versions.empty": "아직 버전이 없습니다 — 현재 저장된 내용을 고정하면 v1 이 생성됩니다.",
  "settings.ctx.versions.migrate_required": "이 아티팩트는 버전 저장소가 없는 플랫 레이아웃입니다. 버전 관리를 시작하면 디렉터리 레이아웃으로 변환됩니다.",
  "settings.ctx.versions.enable": "버전 관리 시작",
  "settings.ctx.versions.enable_tooltip": "이 플랫 아티팩트를 디렉터리 레이아웃으로 변환해 버전 관리를 활성화합니다",
  "settings.ctx.versions.enable_success": "{name} 버전 관리가 활성화되었습니다 — 현재 저장된 내용을 고정하면 v1 이 생성됩니다.",
  "settings.ctx.versions.freeze_success": "버전 고정 완료 ({tag}): {name}",
  "settings.ctx.versions.promote_success": "배포 완료: {label} → {tag}",
  "settings.ctx.versions.remove_label_success": "라벨 제거됨: {label}",
  "settings.ctx.versions.list_chip_tooltip": "라벨 {label} → 버전 {tag}. 상세 패널에서 버전을 관리하세요.",
  "settings.ctx.versions.list_chip_aria": "라벨 {label}, 버전 {tag}",
  "settings.hooks.detail.event": "이벤트",
  "settings.hooks.detail.matcher": "매처",
  "settings.hooks.detail.command": "명령",
  "settings.hooks.detail.type": "타입",
  "settings.hooks.detail.timeout": "타임아웃",
  "settings.hooks.detail.rule_json": "Rule JSON",
  "settings.hooks.detail.click_hint": "규칙을 클릭하면 상세 내용이 표시됩니다.",
  "settings.ctx.overview_desc": "memtomem 의 에이전트 런타임 아티팩트를 Claude Code, Codex 등 감지된 런타임으로 동기화합니다.",
  "settings.ctx.refresh_tooltip": "감지된 Claude Code · Codex 런타임 상태를 새로고침합니다",
  "settings.ctx.refresh_aria": "감지된 런타임 상태 새로고침",
  "settings.ctx.sync_all_tooltip": "memtomem 저장소의 아티팩트를 이 계층에 구성된 런타임으로 내보냅니다",
  "settings.ctx.sync_all_aria": "모든 아티팩트를 구성된 런타임으로 동기화",
  "settings.ctx.skills_desc": "Claude Code, Codex 등 감지된 런타임에서 공유되는 재사용 워크플로우입니다.",
  "settings.ctx.commands_desc": ".memtomem/commands/ 에 보관되며 각 런타임의 명령어 폴더(.claude/commands/ 등)로 동기화되는 프로젝트별 슬래시 명령어입니다.",
  "settings.ctx.agents_desc": "Claude Code, Codex 등 감지된 런타임에서 공유되는 전문 서브에이전트입니다.",
  "settings.ctx.mcp_servers_desc": ".mcp.json 으로 동기화되는 프로젝트별 MCP 서버 정의입니다.",
  "settings.ctx.add_project": "프로젝트 추가",
  "settings.ctx.add_project_prompt": "프로젝트 루트 절대 경로 (예: /Users/me/Edu/inflearn):",
  "settings.ctx.add_project_success": "프로젝트가 추가되었습니다",
  "settings.ctx.add_project_warning_no_runtime_marker": "이 루트 아래에 .claude/.gemini/.agents/.kimi/.memtomem 디렉터리를 찾지 못했습니다.",
  "settings.ctx.portal_title": "프로젝트",
  "settings.ctx.portal_desc": "memtomem이 추적하는 프로젝트를 조회·전환·이름 변경·등록 해제합니다. 상태 표시로 루트가 없거나 아직 초기화되지 않은 프로젝트를 알 수 있습니다.",
  "settings.ctx.portal_search_placeholder": "프로젝트 필터…",
  "settings.ctx.portal_sort_label": "정렬",
  "settings.ctx.portal_sort_name": "이름",
  "settings.ctx.portal_sort_items": "항목 많은 순",
  "settings.ctx.portal_hide_uninit": "초기화된 항목만",
  "settings.ctx.portal_hidden_uninit": "미초기화 프로젝트 {count}개 숨김 — \"초기화된 항목만\" 체크를 해제하면 표시됩니다.",
  "settings.ctx.portal_counts_empty": "비어 있음",
  "settings.ctx.portal_no_match": "\"{query}\"과(와) 일치하는 프로젝트가 없습니다.",
  "settings.ctx.portal_active": "활성",
  "settings.ctx.portal_use": "사용",
  "settings.ctx.portal_use_aria": "활성 프로젝트를 {label}(으)로 전환",
  "settings.ctx.portal_sync_aria": "{label} 동기화",
  "settings.ctx.portal_rename": "이름 변경",
  "settings.ctx.portal_rename_aria": "프로젝트 {label} 이름 변경",
  "settings.ctx.portal_rename_success": "프로젝트 이름을 변경했습니다",
  "settings.ctx.portal_enroll": "동기화 등록",
  "settings.ctx.portal_enroll_aria": "프로젝트 {label} 동기화 등록",
  "settings.ctx.portal_enroll_tip": "이 프로젝트를 등록해 동기화에 포함합니다",
  "settings.ctx.portal_enroll_success": "프로젝트를 동기화에 등록했습니다",
  "settings.ctx.portal_pause_sync": "동기화 중지",
  "settings.ctx.portal_pause_sync_aria": "프로젝트 {label} 동기화 중지",
  "settings.ctx.portal_pause_success": "동기화를 중지했습니다",
  "settings.ctx.portal_resume_sync": "동기화 재개",
  "settings.ctx.portal_resume_sync_aria": "프로젝트 {label} 동기화 재개",
  "settings.ctx.portal_resume_success": "동기화를 재개했습니다",
  "settings.ctx.portal_sync_paused_badge": "동기화 중지됨",
  "settings.ctx.portal_sync_paused_tip": "재개할 때까지 동기화에서 제외됩니다",
  "settings.ctx.portal_save": "저장",
  "settings.ctx.portal_cancel": "취소",
  "settings.ctx.portal_label_placeholder": "프로젝트 라벨",
  "settings.ctx.portal_stale": "미초기화",
  "settings.ctx.portal_stale_tip": "이 폴더에는 아직 .memtomem 저장소가 없습니다 — 폴더 안에서 mm context init 을 실행하면 추적이 시작됩니다.",
  "settings.ctx.portal_root_unknown": "(경로 없음)",
  "settings.ctx.portal_load_failed": "프로젝트를 불러오지 못했습니다",
  "settings.ctx.portal_add_project_tooltip": "memtomem이 추적할 수 있도록 프로젝트 폴더를 등록합니다",
  "settings.ctx.portal_add_project_aria": "포털에 프로젝트 추가",
  "settings.ctx.runtime_uninstalled_tooltip": "미설치 (클릭하여 설치 가이드 보기)",
  "settings.ctx.runtime_installed_tooltip": "설치됨 (미등록)",
  "settings.ctx.runtime_registered_tooltip": "등록됨 (설정: {path})",
  "settings.ctx.install_guide_title": "설치 가이드: {runtime}",
  "settings.ctx.copied": "복사 완료!",
  "settings.ctx.guide_claude_desc": "Claude Code는 사용자(user), 로컬(local) 또는 프로젝트 로컬(project) 설정 범위를 지원합니다.",
  "settings.ctx.guide_claude_note": "또는 모든 프로젝트에 대해 전역으로 등록하려면 \"-s user\" 옵션과 함께 실행하세요.",
  "settings.ctx.guide_antigravity_desc": "Antigravity CLI(agy) 또는 Antigravity IDE(VS Code)에 memtomem을 등록합니다.",
  "settings.ctx.guide_antigravity_cli": "Antigravity CLI (agy)",
  "settings.ctx.guide_antigravity_cli_desc": "~/.gemini/antigravity-cli/mcp_config.json 파일에 설정을 추가하세요:",
  "settings.ctx.guide_codex_desc": "Codex CLI는 ~/.codex/config.toml (TOML 형식)에서 MCP 서버 정보를 읽어옵니다.",
  "settings.ctx.guide_kimi_desc": "CLI 마법사를 사용하여 Kimi CLI에 memtomem을 자동으로 등록할 수 있습니다.",
  "settings.ctx.copy": "복사",
  "settings.ctx.filter_label": "필터",
  "settings.ctx.filter_all": "전체",
  "settings.ctx.portal_legend_label": "범례",
  "settings.ctx.portal_legend_uninstalled": "미설치",
  "settings.ctx.portal_legend_installed": "설치됨",
  "settings.ctx.portal_legend_registered": "등록됨",
  "settings.ctx.runtime_not_installed": "미설치",
  "settings.ctx.runtime_error_tooltip": "이 클라이언트의 설정을 읽지 못했습니다",
  "settings.ctx.install_guide_ok": "확인",
  "settings.ctx.install_guide_close_aria": "설치 가이드 닫기",
  "settings.ctx.remove_project": "프로젝트 제거",
  "settings.ctx.remove_project_aria": "프로젝트 {label} ({root}) 제거",
  "settings.ctx.confirm_remove_project": "\"{label}\" ({root}) 추적을 중지하시겠습니까? 디스크상의 파일은 영향받지 않습니다.",
  "settings.ctx.remove": "제거",
  "settings.ctx.scope_experimental": "experimental",
  "settings.ctx.scope_experimental_tip": "~/.claude/projects 옵트인 스캔으로 발견된 경로 — 잘못 디코딩되었을 수 있습니다.",
  "settings.ctx.scope_missing": "(없음)",
  "settings.ctx.skills_add_project_tooltip": "memtomem 이 스킬을 감지할 수 있도록 프로젝트 폴더를 등록합니다",
  "settings.ctx.skills_add_project_aria": "스킬 감지용 프로젝트 추가",
  "settings.ctx.skills_create_tooltip": "memtomem 이 관리하는 새 스킬을 만듭니다",
  "settings.ctx.skills_create_aria": "스킬 만들기",
  "settings.ctx.skills_import_tooltip": "감지된 런타임에서 기존 스킬 정의를 memtomem 으로 가져옵니다",
  "settings.ctx.skills_import_aria": "감지된 런타임에서 스킬 가져오기",
  "settings.ctx.skills_sync_tooltip": "memtomem 에 저장된 스킬을 이 계층에 구성된 런타임으로 내보냅니다",
  "settings.ctx.skills_sync_aria": "구성된 런타임으로 스킬 동기화",
  "settings.ctx.commands_add_project_tooltip": "memtomem 이 사용자 정의 명령어를 감지할 수 있도록 프로젝트 폴더를 등록합니다",
  "settings.ctx.commands_add_project_aria": "사용자 정의 명령어 감지용 프로젝트 추가",
  "settings.ctx.commands_create_tooltip": "memtomem 이 관리하는 새 사용자 정의 명령어를 만듭니다",
  "settings.ctx.commands_create_aria": "사용자 정의 명령어 만들기",
  "settings.ctx.commands_import_tooltip": "감지된 런타임에서 기존 사용자 정의 명령어를 memtomem 으로 가져옵니다",
  "settings.ctx.commands_import_aria": "감지된 런타임에서 사용자 정의 명령어 가져오기",
  "settings.ctx.commands_sync_tooltip": "memtomem 에 저장된 사용자 정의 명령어를 이 계층에 구성된 런타임으로 내보냅니다",
  "settings.ctx.commands_sync_aria": "구성된 런타임으로 사용자 정의 명령어 동기화",
  "settings.ctx.agents_add_project_tooltip": "memtomem 이 서브에이전트를 감지할 수 있도록 프로젝트 폴더를 등록합니다",
  "settings.ctx.agents_add_project_aria": "서브에이전트 감지용 프로젝트 추가",
  "settings.ctx.agents_create_tooltip": "memtomem 이 관리하는 새 서브에이전트를 만듭니다",
  "settings.ctx.agents_create_aria": "서브에이전트 만들기",
  "settings.ctx.agents_import_tooltip": "감지된 런타임에서 기존 서브에이전트 정의를 memtomem 으로 가져옵니다",
  "settings.ctx.agents_import_aria": "감지된 런타임에서 서브에이전트 가져오기",
  "settings.ctx.agents_sync_tooltip": "memtomem 에 저장된 서브에이전트를 이 계층에 구성된 런타임으로 내보냅니다",
  "settings.ctx.agents_sync_aria": "구성된 런타임으로 서브에이전트 동기화",
  "settings.ctx.mcp_servers_add_project_tooltip": "memtomem 이 .mcp.json 을 관리할 수 있도록 프로젝트 폴더를 등록합니다",
  "settings.ctx.mcp_servers_add_project_aria": "MCP 서버 정의용 프로젝트 추가",
  "settings.ctx.mcp_servers_create_tooltip": "새 프로젝트 MCP 서버 정의를 만듭니다",
  "settings.ctx.mcp_servers_create_aria": "MCP 서버 정의 만들기",
  "settings.ctx.mcp_servers_sync_tooltip": "저장된 MCP 서버 정의를 프로젝트 .mcp.json 으로 내보냅니다",
  "settings.ctx.mcp_servers_sync_aria": "MCP 서버 정의를 프로젝트 .mcp.json 으로 동기화",

  "settings.hooks.desc": ".memtomem/settings.json 에 정의된 라이프사이클 훅을 활성 런타임에 적용합니다.",
  "settings.hooks.title": "훅",
  "settings.hooks.sync_now": "지금 동기화",
  "settings.hooks.sync_now_tooltip": ".memtomem/settings.json 의 훅 설정을 활성 런타임에 적용합니다",
  "settings.hooks.sync_now_disabled_no_source": "동기화할 .memtomem/settings.json 이 없습니다 — `mm init` 으로 먼저 생성하세요.",
  "settings.hooks.sync_now_disabled_no_hooks": ".memtomem/settings.json 에 동기화할 훅 규칙이 없습니다.",
  "settings.hooks.sync_now_aria": "활성 런타임으로 훅 동기화",
  "settings.hooks.in_sync": "모든 훅이 동기화됨",
  "settings.hooks.no_hooks": "정의된 훅 없음",
  "settings.hooks.conflicts": "개 충돌 발견",
  "settings.hooks.pending": "개 훅이 동기화 시 추가됨",
  "settings.hooks.use_proposed": "memtomem 버전 사용",
  "settings.hooks.synced": "동기화됨",
  "settings.hooks.configured": "대상에 설정됨",
  "settings.hooks.target_only": "대상 전용",
  "settings.hooks.delete_btn": "삭제",
  "settings.hooks.promote_btn": "memtomem에 저장",
  "settings.hooks.promote_all_btn": "모두 memtomem에 저장",
  "settings.hooks.delete_confirm": "선택한 대상 settings 파일에서 \"{label}\" 규칙을 삭제하시겠습니까?",
  "settings.hooks.promote_confirm": "\"{label}\" 규칙을 memtomem 관리 설정에 저장하시겠습니까?",
  "settings.hooks.promote_confirm_private": "\"{label}\" 규칙을 .memtomem/settings.json에 저장하시겠습니까? 이 파일은 커밋되어 팀원에게 공유될 수 있습니다.",
  "settings.hooks.promote_all_confirm": "대상 전용 훅 규칙 {count}개를 memtomem 관리 설정에 저장하시겠습니까?",
  "settings.hooks.promote_all_confirm_private": "대상 전용 훅 규칙 {count}개를 .memtomem/settings.json에 저장하시겠습니까? 이 파일은 커밋되어 팀원에게 공유될 수 있습니다.",
  "settings.hooks.promote_delete_original_option": "저장 후 선택한 대상의 원본 규칙 제거",
  "settings.hooks.promote_delete_success": "memtomem에 저장하고 대상의 원본 규칙을 제거했습니다",
  "settings.hooks.promote_delete_partial": "memtomem에는 저장했지만 대상의 원본 규칙은 제거하지 못했습니다.",
  "settings.hooks.promote_all_result": "{saved}개 저장, 원본 {deleted}개 제거, 충돌 {conflicts}개, stale {aborted}개, 실패 {failed}개",
  "settings.hooks.original_already_removed": "대상의 원본 규칙이 이미 없습니다",
  "settings.hooks.promote_conflict": "memtomem에 같은 이벤트/매처의 다른 훅 규칙이 이미 있습니다.",
  "settings.hooks.edit_unavailable_v1_hint": "여기서는 아직 직접 편집을 지원하지 않습니다. {path} 파일을 직접 수정하세요.",
  "settings.hooks.rule_action_success": "훅 규칙이 업데이트되었습니다",
  "settings.hooks.rule_action_stale": "훅 규칙이 변경되었습니다. 새로고침 후 다시 시도하세요.",
  "settings.hooks.sync_success": "동기화 완료",
  "settings.hooks.no_source": ".memtomem/settings.json 없음",
  "settings.hooks.no_source_hint": ".memtomem/settings.json 을 만들거나 mm init 으로 훅을 설정하세요.",
  "settings.hooks.error_hint": "JSON 파일을 수정한 뒤 다시 불러오세요.",
  "settings.hooks.no_hooks_defined": ".memtomem/settings.json 에 정의된 훅이 없습니다.",
  "settings.hooks.no_hooks_hint": ".memtomem/settings.json 에 훅 규칙을 추가하면 대기 중 또는 동기화됨 상태로 표시됩니다.",
  "settings.hooks.load_failed": "동기화 상태를 불러오지 못했습니다",
  "settings.hooks.target_label": "대상:",
  "settings.hooks.target_label_user": "User 스코프 대상:",
  "settings.hooks.target_label_project_shared": "프로젝트(공유) 대상:",
  "settings.hooks.target_label_project_local": "프로젝트(로컬) 대상:",
  "settings.hooks.needs_confirmation_title": "호스트 쓰기 확인이 필요합니다",
  "settings.hooks.needs_confirmation_body": "서버가 다음 대상에 대해 쓰기를 거부했습니다:\n{targets}\n자세한 내용은 `mm settings sync` 로 확인하세요.",
  "settings.hooks.duplicate_banner_one": "{tier} tier({path})에 memtomem 관리 훅 항목 1개가 이미 있습니다 — {cmd} 로 이동하세요. 활성 스코프: {active}.",
  "settings.hooks.duplicate_banner_many": "{tier} tier({path})에 memtomem 관리 훅 항목 {count}개가 이미 있습니다 — {cmd} 로 이동하세요. 활성 스코프: {active}.",
  "settings.hooks.badge_in_sync": "동기화됨",
  "settings.hooks.badge_out_of_sync": "불일치",
  "settings.hooks.badge_error": "오류",

  "settings.config.desc": "서버 설정: 임베딩 제공자, 스토리지 백엔드, 검색·인덱싱 파라미터를 조정합니다.",
  "settings.config.guide_title": "설정 가이드",
  "settings.config.guide_text": "설정 섹션을 선택하면 문서를 볼 수 있습니다.",
  "settings.config.hint_extensions": "확장자: {exts}",
  "settings.config.hint_max_chunk": "최대 청크: {tokens} 토큰",

  "settings.ns.desc": "네임스페이스별로 기억을 분류하고 그룹별 청크 수를 확인합니다.",
  "settings.ns.title": "네임스페이스",
  "settings.ns.refresh": "새로고침",
  "settings.ns.group_chunks": "{count}개 청크",
  "settings.ns.empty.title": "아직 네임스페이스가 없습니다",
  "settings.ns.empty.body": "파일을 인덱싱할 때 네임스페이스를 지정하거나, 설정 규칙에 정의해 기억을 분류하세요.",
  "settings.ns.empty.cta": "네임스페이스 사용법 알아보기",

  "settings.dedup.desc": "유사도 임계값 기반으로 중복 청크를 찾아 병합하거나 건너뜁니다.",
  "settings.dedup.preflight": "스캔은 후보 미리보기만 수행합니다. 병합 버튼은 검토된 쌍에 표시되며, 선택한 중복 청크만 삭제합니다.",
  "settings.dedup.threshold_label": "임계값",
  "settings.dedup.threshold_help": "이 값 이상의 유사도를 가진 청크를 중복으로 간주합니다. 기본값 0.92는 거의 동일한 내용을 감지합니다.",
  "settings.dedup.limit_label": "제한",
  "settings.dedup.max_scan_label": "최대 스캔",
  "settings.dedup.scan_btn": "스캔",
  "settings.dedup.empty_icon": "📋",
  "settings.dedup.empty_text": "스캔을 실행하면 중복 후보가 표시됩니다",
  "settings.dedup.scan_timeout": "스캔 시간 초과 (120초). Max Scan을 더 작게 설정해 보세요.",
  "settings.dedup.scan_error": "스캔 오류: {error}",
  "settings.dedup.scan_failed": "스캔 실패",
  "settings.dedup.no_results": "중복을 찾을 수 없습니다 (임계값={threshold})",
  "settings.dedup.summary_one": "후보 쌍 {count}개를 찾았습니다. 각 항목을 검토하고 유지할 청크를 선택하세요.",
  "settings.dedup.summary_other": "후보 쌍 {count}개를 찾았습니다. 각 항목을 검토하고 유지할 청크를 선택하세요.",
  "settings.dedup.badge_exact": "정확히 일치",
  "settings.dedup.keep_a": "A 유지",
  "settings.dedup.keep_a_title": "A 유지, B 삭제",
  "settings.dedup.keep_b": "B 유지",
  "settings.dedup.keep_b_title": "B 유지, A 삭제",
  "settings.dedup.skip": "건너뛰기",
  "settings.dedup.chunk_a_label": "A — 유지 후보",
  "settings.dedup.chunk_b_label": "B — 중복 후보",
  "settings.dedup.lines": "{start}–{end}번째 줄",

  "settings.decay.desc": "지정된 기간보다 오래된 청크를 만료 처리합니다. 소스 경로로 필터링할 수 있습니다.",
  "settings.decay.preflight": "먼저 스캔을 실행하세요. 현재 필터에 대한 후보 수를 확인하기 전까지 만료 처리는 비활성화됩니다.",
  "settings.decay.max_age_label": "최대 기간 (일)",
  "settings.decay.source_filter_label": "소스 필터",
  "settings.decay.source_placeholder": "선택적 부분 문자열…",
  "settings.decay.scan_btn": "스캔",
  "settings.decay.expire_btn": "만료 처리",
  "settings.decay.result.total": "전체 청크",
  "settings.decay.result.expired": "만료 후보",
  "settings.decay.result.deleted": "삭제된 청크",
  "settings.decay.no_expire": "만료할 청크가 없습니다.",
  "settings.decay.scan_failed": "스캔 실패: {error}",
  "settings.decay.preview_required": "만료 처리 전 스캔을 다시 실행하세요. 마지막 미리보기 이후 필터가 변경되었습니다.",

  "settings.reset.desc": "모든 기억 데이터를 영구 삭제하고 데이터베이스를 초기화합니다. 임베딩 설정은 보존됩니다.",
  "settings.reset.warning_title": "위험 구역",
  "settings.reset.warning_text": "이 작업은 모든 데이터(청크, 세션, 이력, 관계, 엔티티 등)를 영구 삭제하고 데이터베이스를 초기화합니다. 임베딩 설정은 보존됩니다.",
  "settings.reset.backup_hint": "나중에 복원이 필요할 수 있으면 먼저 JSON 번들을 내보내세요.",
  "settings.reset.chunk_count_label": "현재 청크 수:",
  "settings.reset.reset_btn": "데이터베이스 초기화",
  "settings.reset.confirm_title": "데이터베이스 초기화",
  "settings.reset.confirm_message": "모든 데이터가 영구적으로 삭제됩니다. 이 작업은 되돌릴 수 없습니다. 계속하시겠습니까?",
  "settings.reset.confirm_btn": "초기화",

  "settings.sessions.desc": "에피소딕 세션 기록과 세션별 이벤트 타임라인을 조회합니다.",
  "settings.sessions.title": "에피소딕 세션",
  "settings.sessions.refresh": "새로고침",
  "settings.sessions.events_title": "세션 이벤트",
  "settings.sessions.events_close": "닫기",

  "settings.scratch.desc": "TTL 지원 스크래치 키-값 저장소. 장기 기억으로 승격할 수 있습니다.",
  "settings.scratch.title": "작업 메모리",
  "settings.scratch.refresh": "새로고침",
  "settings.scratch.key_placeholder": "키",
  "settings.scratch.value_placeholder": "값",
  "settings.scratch.ttl_placeholder": "TTL (분)",
  "settings.scratch.add_btn": "추가",

  "settings.procedures.desc": "저장된 프로시저(레시피) 목록을 조회합니다.",
  "settings.procedures.title": "프로시저",
  "settings.procedures.refresh": "새로고침",

  "settings.health.desc": "메모리 상태 리포트 — 커버리지, 죽은 청크, 세션 통계. 워치독 실행 포함.",
  "settings.health.title": "메모리 상태",
  "settings.health.refresh": "새로고침",
  "settings.health.watchdog_heading": "워치독",
  "settings.health.watchdog_desc": "주기적 백그라운드 상태 점검입니다. 수동 실행하면 즉시 업데이트됩니다.",

  "settings.watchdog.title": "상태 워치독",
  "settings.watchdog.run_btn": "지금 실행",
  "settings.watchdog.refresh": "새로고침",

  "settings.export.desc": "필터링된 청크를 JSON 번들로 내보내거나 번들을 다시 가져와 인덱싱합니다.",
  "settings.export.title": "내보내기",
  "settings.export.preflight": "다운로드 전에 필터를 미리보기하여 번들 크기를 명확히 확인하세요.",
  "settings.export.source_label": "소스 필터",
  "settings.export.source_placeholder": "선택적 경로 부분 문자열…",
  "settings.export.tag_label": "태그 필터",
  "settings.export.tag_placeholder": "정확한 태그…",
  "settings.export.since_label": "이후 (ISO 날짜)",
  "settings.export.since_placeholder": "예: 2025-01-01",
  "settings.export.ns_label": "네임스페이스",
  "settings.export.ns_all": "전체 네임스페이스",
  "settings.export.preview_btn": "미리보기",
  "settings.export.download_btn": "JSON 다운로드",
  "settings.export.preview_msg": "{count}개 청크가 내보내집니다",
  "settings.export.preview_required": "다운로드 전에 현재 필터를 미리보기하세요.",
  "settings.import.title": "가져오기",
  "settings.import.hint": "memtomem_export.json 번들을 업로드하여 청크를 다시 인덱싱합니다.",
  "settings.import.file_label": "번들 파일 (.json)",
  "settings.import.choose_btn": "파일 선택",
  "settings.import.no_file": "선택된 파일 없음",
  "settings.import.import_btn": "가져오기",
  "settings.import.result.total": "전체 청크",
  "settings.import.result.imported": "가져옴",
  "settings.import.result.skipped": "건너뜀",
  "settings.import.result.failed": "실패",

  "tags.help": "빈도 기반 태그 클라우드. 태그를 클릭하여 검색을 필터링. Auto-Tag는 내용을 분석하여 태그가 없는 청크에 태그를 제안합니다.",
  "tags.title": "태그",
  "tags.cloud_btn": "클라우드",
  "tags.list_btn": "목록",
  "tags.refresh": "새로고침",
  "tags.filter_placeholder": "태그 검색...",
  "tags.sort_count_desc": "개수↓",
  "tags.sort_count_asc": "개수↑",
  "tags.sort_az": "가-하",
  "tags.sort_za": "하-가",
  "tags.autotag_title": "자동 태그",
  "tags.autotag_desc": "청크 내용을 분석하여 키워드 기반 태그를 자동으로 추출합니다.",
  "tags.autotag_source_label": "소스 필터",
  "tags.autotag_source_placeholder": "선택적 경로 부분 문자열…",
  "tags.autotag_max_label": "청크당 최대 태그 수",
  "tags.autotag_overwrite": "기존 태그 덮어쓰기",
  "tags.autotag_dryrun": "미리보기 모드",
  "tags.autotag_dryrun_help": "태그를 적용하지 않고 제안만 미리봅니다. 해제하면 즉시 적용됩니다.",
  "tags.autotag_btn": "자동 태그 실행",
  "tags.autotag_samples_title": "미리보기",
  "tags.autotag_sample_current": "현재:",
  "tags.autotag_sample_suggested": "제안:",
  "tags.autotag_sample_no_current_tags": "(없음)",
  "tags.empty_msg": "아직 태그가 없습니다",
  "tags.empty_hint": "자동 태그를 실행해 태그를 생성하세요",
  "tags.manage_rename": "이름 변경",
  "tags.manage_merge": "병합",
  "tags.manage_delete": "삭제",
  "tags.manage_rename_title": "태그 “{tag}” 이름 변경",
  "tags.manage_merge_title": "태그 “{tag}” 병합 대상…",
  "tags.manage_delete_title": "태그 “{tag}” 삭제?",
  "tags.manage_new_name_label": "새 이름",
  "tags.manage_target_label": "병합 대상",
  "tags.manage_preview": "미리보기",
  "tags.manage_input_required": "값을 입력하세요.",
  "tags.manage_impact": "모든 범위에서 {count}개 청크에 적용됩니다.",
  "tags.manage_impact_none": "변경될 청크가 없습니다.",
  "tags.manage_rename_done": "“{old}” → “{new}” 이름을 {count}개 청크에서 변경했습니다.",
  "tags.manage_merge_done": "“{source}”를 “{target}”로 {count}개 청크에서 병합했습니다.",
  "tags.manage_delete_done": "“{tag}”를 {count}개 청크에서 제거했습니다.",
  "tags.autotag_result.total": "전체 청크",
  "tags.autotag_result.tagged": "태그됨",
  "tags.autotag_result.skipped": "건너뜀",

  "timeline.help": "인덱싱된 청크의 활동 타임라인. 히트맵은 일별 활동을 표시합니다. 청크/파일 보기를 전환합니다.",
  "timeline.source_label": "소스 필터",
  "timeline.source_placeholder": "선택적 부분 문자열…",
  "timeline.ns_label": "네임스페이스",
  "timeline.ns_all": "전체",
  "timeline.limit_label": "제한",
  "timeline.load_btn": "불러오기",
  "timeline.view_chunks": "청크",
  "timeline.view_files": "파일",
  "timeline.today": "오늘",
  "timeline.7d": "최근 7일",
  "timeline.30d": "최근 30일",
  "timeline.90d": "최근 90일",
  "timeline.180d": "최근 180일",
  "timeline.365d": "최근 365일",
  "timeline.custom": "사용자 지정…",
  "timeline.title_tl": "타임라인 기간",
  "timeline.empty_icon": "🕐",
  "timeline.empty_text": "불러오기를 클릭하면 타임라인이 표시됩니다",
  "timeline.open_in_source": "소스에서 보기",
  "timeline.copy": "복사",

  "modal.settings_title": "설정",
  "modal.default_tab_label": "기본 탭",
  "modal.default_tab_main": "메인",
  "modal.default_tab_settings": "설정",
  "modal.default_topk_label": "기본 Top-K",
  "modal.reset_btn": "기본값 복원",
  "modal.save_btn": "저장",
  "modal.shortcuts_title": "키보드 단축키",
  "modal.cancel_btn": "취소",
  "modal.delete_btn": "삭제",
  "modal.cmd_placeholder": "명령어 입력…",
  "modal.cmd_palette_aria_label": "명령 팔레트",
  "modal.close_expand_aria": "대화상자 닫기",
  "modal.close_settings_aria": "설정 닫기",
  "modal.close_shortcuts_aria": "키보드 단축키 닫기",
  "modal.close_source_preview_aria": "소스 미리보기 닫기",

  "shortcut.focus_search": "검색 입력창 포커스",
  "shortcut.navigate": "결과 탐색 (다음 / 이전)",
  "shortcut.pin": "선택한 청크 고정 / 해제",
  "shortcut.copy": "선택한 청크 내용 복사",
  "shortcut.open_detail": "선택한 결과 상세 보기",
  "shortcut.back": "상세에서 결과 목록으로 돌아가기",
  "shortcut.switch_tabs": "탭 전환 (홈=1 … 더보기=8)",
  "shortcut.cmd_palette": "명령 팔레트",
  "shortcut.go_sources": "소스로 이동",
  "shortcut.close": "패널, 드롭다운 또는 모달 닫기",
  "shortcut.toggle_help": "도움말 표시/숨기기",
  "shortcut.toggle_shortcuts": "이 도움말 표시/숨기기",

  "common.loading": "로딩 중...",
  "common.refresh": "새로고침",
  "common.close": "닫기",
  "common.save": "저장",
  "common.delete": "삭제",
  "common.cancel": "취소",
  "common.confirm": "확인",
  "common.replace": "교체",
  "common.merge": "병합",
  "common.expire": "만료",
  "common.sync": "동기화",
  "common.done": "완료",
  "common.dismiss_help": "도움말 닫기",
  "cmd.group.navigation": "탐색",
  "cmd.group.settings": "설정",
  "cmd.group.actions": "동작",
  "cmd.group.recent_sources": "최근 소스",
  "cmd.nav.home": "홈으로 이동",
  "cmd.nav.search": "검색으로 이동",
  "cmd.nav.sources": "소스로 이동",
  "cmd.nav.index": "인덱스로 이동",
  "cmd.nav.tags": "태그로 이동",
  "cmd.nav.timeline": "타임라인으로 이동",
  "cmd.nav.settings": "설정으로 이동",
  "cmd.open.config": "구성 열기",
  "cmd.open.dedup": "중복 정리 열기",
  "cmd.open.export_import": "내보내기 / 가져오기 열기",
  "cmd.action.focus_search": "검색 포커스",
  "cmd.action.toggle_theme": "테마 전환",
  "cmd.action.keyboard_shortcuts": "키보드 단축키",
  "cmd.open_source": "{name} 열기",
  "cmd.no_match": "일치하는 명령 없음",
  "common.file_chunk_progress": "{file} — {done}/{total} 청크",

  "time.relative.just_now": "방금",
  "time.relative.minutes_ago": "{m}분 전",
  "time.relative.hours_ago": "{h}시간 전",
  "time.relative.days_ago": "{d}일 전",
  "time.relative.months_ago": "{mo}개월 전",
  "time.relative.years_ago": "{y}년 전",

  "picker.aria_label": "폴더 선택",
  "picker.title": "폴더 선택",
  "picker.cancel": "취소",
  "picker.select": "이 폴더 선택",
  "picker.empty": "하위 폴더가 없습니다.",
  "picker.outside": "선택 가능 범위 밖입니다. 창을 닫고 경로를 직접 입력해 주세요.",
  "picker.error": "폴더를 불러오지 못했습니다.",
  "picker.retry": "다시 시도",

  "toast.close_aria": "알림 닫기",
  "toast.copied": "복사됨!",
  "toast.pinned": "고정됨!",
  "toast.unpinned": "고정 해제됨",
  "toast.pinned_chunk_missing": "고정된 청크가 더 이상 없습니다. 오래된 고정을 제거하세요.",
  "toast.chunk_saved": "청크가 저장되었습니다.",
  "toast.chunk_deleted": "청크가 삭제되었습니다.",
  "toast.chunk_updated": "청크가 업데이트되었습니다.",
  "toast.content_restored": "내용이 복원되었습니다.",
  "toast.tags_saved": "태그가 저장되었습니다.",
  "toast.source_deleted": "소스가 삭제되었습니다.",
  "toast.source_reindexed": "소스 재인덱스 완료 — 청크 {count}개.",
  "toast.source_reindex_partial": "소스 재인덱스 완료 (오류 {count}건): {first}",
  "toast.source_reindex_failed": "소스 재인덱스 실패: {error}",
  "toast.dupes_merged": "중복 청크가 병합되었습니다.",
  "toast.settings_saved": "설정이 저장되었습니다",
  "toast.settings_reset": "설정이 기본값으로 복원되었습니다",
  "toast.ns_updated": "네임스페이스가 업데이트되었습니다",
  "toast.search_removed": "저장된 검색에서 제거되었습니다",
  "toast.config_saved": "설정이 저장되었습니다",
  "toast.fts_rebuilt": "FTS 인덱스가 재구축되었습니다 ({count}개 청크).",
  "toast.diff_shown": "차이점 표시: 기록 → 현재",
  "toast.dev_only_section": "알 수 없는 섹션 (dev 전용)",
  "toast.quick_action.open_search": "검색을 열었습니다.",
  "toast.quick_action.open_index": "인덱스를 열었습니다. 소스를 선택한 뒤 인덱싱을 실행하세요.",
  "toast.quick_action.reindex_ready": "강제 재인덱스가 선택되었습니다. 소스를 확인한 뒤 인덱싱을 실행하세요.",
  "toast.quick_action.open_export": "내보내기 / 가져오기를 열었습니다. 미리보기나 다운로드 전에 필터를 선택하세요.",
  "toast.quick_action.open_dedup": "중복 제거를 열었습니다. 임계값을 확인한 뒤 검사를 실행하세요.",
  "toast.quick_action.open_tags": "태그를 열었습니다.",
  "toast.stream_fallback": "스트리밍 실패. Index 버튼을 대신 사용하세요.",
  "toast.watchdog_disabled": "상태 워치독이 비활성화되어 있습니다. MEMTOMEM_HEALTH_WATCHDOG__ENABLED=true로 설정하세요.",
  "toast.file_filter": ".md/.txt/.py/.js/.ts/.json/.yaml 파일만 허용됩니다",
  "toast.enter_query": "검색어를 먼저 입력하세요",
  "toast.select_saved": "삭제할 저장된 검색을 선택하세요",
  "toast.no_results_export": "내보낼 결과가 없습니다",
  "toast.reset_failed": "초기화 실패: {error}",
  "toast.save_failed": "저장 실패: {error}",
  "toast.delete_failed": "삭제 실패: {error}",
  "toast.tag_remove_failed": "태그 제거 실패: {error}",
  "toast.tag_save_failed": "태그 저장 실패: {error}",
  "toast.index_failed": "인덱싱 실패: {error}",
  "toast.upload_failed": "업로드 실패: {error}",
  "toast.merge_failed": "병합 실패: {error}",
  "toast.expire_failed": "만료 처리 실패: {error}",
  "toast.autotag_failed": "자동 태그 실패: {error}",
  "toast.import_failed": "가져오기 실패: {error}",
  "toast.config_save_failed": "설정 저장 실패: {error}",
  "toast.fts_rebuild_failed": "FTS 재구축 실패: {error}",
  "toast.reindex_failed": "재인덱스 실패: {error}",
  "toast.rename_failed": "이름 변경 실패: {error}",
  "toast.update_failed": "업데이트 실패: {error}",
  "toast.error": "오류: {error}",

  "toast.chunk_target_missing": "이 화면에서는 해당 청크를 찾을 수 없습니다.",
  "toast.ns_deleted": "'{name}'에서 {count}개 청크 삭제됨",
  "toast.ns_renamed": "'{oldName}' \u2192 '{newName}' 이름 변경",
  "toast.indexed_count": "{count}개 청크 인덱싱 완료",
  "toast.upload_complete": "업로드 완료 \u2014 {count}개 청크 인덱싱",
  "toast.upload_complete_with_path": "{count}개 청크 인덱싱 \u2192 {path} 에 저장됨",
  "toast.action.register_persistent": "소스로 등록",
  "toast.index_registered_as_source": "{path} 를 소스로 등록했습니다",
  "toast.index_register_failed": "소스 등록 실패: {error}",
  "toast.saved_to_file": "{path} 에 저장됨 \u2014 {count}개 청크 인덱싱",
  "toast.tagged_count": "{label}{count}개 청크에 태그 추가됨",
  "toast.query_saved": "저장됨: \"{name}\"",
  "toast.query_deleted": "삭제됨: \"{name}\"",
  "toast.query_removed": "제거됨: \"{name}\"",
  "toast.exported_count": "{count}개 청크를 {ext} 형식으로 내보냄",
  "toast.indexing_files": "{count}개 파일 인덱싱 중\u2026",
  "toast.indexed_files_chunks": "{files}개 파일 \u2192 {chunks}개 청크 인덱싱됨",
  "toast.bulk_delete_partial": "{deleted}개 삭제, {failed}개 실패",
  "toast.bulk_delete_ok": "{count}개 청크 삭제됨",
  "toast.expired_count": "{count}개 청크가 만료 및 삭제되었습니다.",
  "toast.imported_count": "{count}개 청크를 가져왔습니다.",
  "toast.fields_rejected": "거부된 필드: {fields}",
  "toast.settings_updated_count": "{count}개 설정이 업데이트되었습니다",
  "toast.reindex_partial": "재인덱스 완료 (오류 {count}건): {first}",
  "toast.index_partial": "{count}개 청크 인덱싱 (오류 {errors}건): {first}",
  "toast.reindex_complete": "재인덱스 완료 \u2014 {count}개 청크 인덱싱",
  "toast.indexing_in_progress": "이미 인덱싱이 진행 중입니다",
  "toast.hooks_warnings": "동기화 완료 (경고 {count}건)",
  "toast.sync_partial_settings_needs_confirmation": "Sync All 완료 (Settings 제외) — Settings 패널에서 호스트 쓰기를 확인하세요.",
  "toast.sync_partial_failed": "{succeeded} 동기화됨 — {failed_phase} 실패: {reason}",
  "settings.ctx.skills_phase_title": "스킬",
  "settings.ctx.commands_phase_title": "커스텀 명령어",
  "settings.ctx.agents_phase_title": "서브에이전트",
  "settings.ctx.mcp_servers_phase_title": "MCP 서버",
  "settings.ctx.settings_phase_title": "훅",
  "settings.ctx.sync_status_heading": "동기화 진행",
  "settings.ctx.sync_state_pending": "대기 중",
  "settings.ctx.sync_state_syncing": "동기화 중…",
  "settings.ctx.sync_state_done": "완료",
  "settings.ctx.sync_state_not_run": "실행 안 함",
  "settings.ctx.sync_state_failed": "실패",
  "settings.ctx.sync_state_needs_confirmation": "확인 필요",
  "settings.ctx.sync_count_generated": "{count}개 생성",
  "settings.ctx.sync_count_dropped": "{count}개 제외",
  "settings.ctx.sync_count_skipped": "{count}개 건너뜀",
  "toast.open_settings_action": "Settings 열기",
  "toast.request_failed": "요청 실패",
  "toast.unexpected_response": "예상치 못한 응답",
  "toast.sync_failed": "동기화 실패: {error}",
  "toast.sync_scope_changed": "확인 중 대상 범위가 변경되어 동기화를 취소했습니다. 현재 범위에서 동기화를 다시 실행하세요.",
  "toast.sync_targets_unavailable": "동기화 취소됨 — 서버가 쓰기 대상 파일을 알려주지 않았습니다.",
  "toast.create_failed": "생성 실패: {error}",
  "toast.refresh_complete": "새로고침 완료",
  "toast.name_required": "이름을 입력해주세요",

  "confirm.emb_reset_title": "임베딩 벡터 초기화",
  "confirm.emb_reset_msg": "경고: 모든 인덱싱된 벡터가 삭제됩니다. 새 설정: {provider}/{model} (dim {dimension}). 이후 재인덱싱이 필요합니다.",
  "confirm.emb_reset_btn": "초기화",
  "confirm.ns_delete_title": "네임스페이스 삭제",
  "confirm.ns_delete_msg": "네임스페이스 '{name}'의 모든 청크를 삭제하시겠습니까? 이 작업은 취소할 수 없습니다.",
  "confirm.chunk_delete_title": "청크 삭제",
  "confirm.chunk_delete_msg": "\"{source}\" 파일의 {lines}가 영구적으로 제거되고 인덱스에서도 삭제됩니다. 이 작업은 취소할 수 없습니다.",
  "confirm.chunk_delete_simple_msg": "이 청크(라인 {start}\u2013{end})를 삭제하시겠습니까?",
  "confirm.bulk_delete_title": "청크 {count}개 삭제",
  "confirm.bulk_delete_msg": "{count}개 청크가 소스 파일과 인덱스에서 영구적으로 제거됩니다. 이 작업은 취소할 수 없습니다.",
  "confirm.source_delete_title": "소스 삭제",
  "confirm.source_delete_msg": "다음 소스의 모든 청크를 삭제하시겠습니까?\n{path}",
  "confirm.merge_dupe_title": "중복 병합",
  "confirm.merge_dupe_keep_a_msg": "A를 유지하고 B를 삭제합니다.",
  "confirm.merge_dupe_keep_b_msg": "B를 유지하고 A를 삭제합니다.",
  "confirm.expire_title": "청크 만료",
  "confirm.expire_msg": "만료된 청크 {count}개를 영구적으로 삭제합니다. 이 작업은 취소할 수 없습니다.",
  "confirm.hooks_replace_title": "훅 규칙 교체",
  "confirm.hooks_replace_msg": "\"{label}\" 규칙을 memtomem 버전으로 교체하시겠습니까?",
  "confirm.hooks_sync_title": "설정 동기화",
  "confirm.hooks_sync_msg": ".memtomem/settings.json 훅을 다음 런타임 설정 파일에 병합하시겠습니까?\n{targets}",

  "settings.exclude_patterns.builtin_title": "기본 제공 (읽기 전용)",
  "settings.exclude_patterns.builtin_hint": "비활성화할 수 없습니다",
  "settings.exclude_patterns.group_secret": "시크릿",
  "settings.exclude_patterns.group_noise": "노이즈",
  "settings.exclude_patterns.user_title": "사용자 패턴",
  "settings.exclude_patterns.add": "+ 패턴 추가",
  "settings.exclude_patterns.remove": "패턴 제거",
  "settings.exclude_patterns.placeholder": "예: **/*.log",
  "settings.exclude_patterns.err_empty": "빈 패턴은 사용할 수 없습니다",
  "settings.exclude_patterns.err_duplicate": "중복된 패턴: {pattern}",
  "settings.exclude_patterns.err_syntax": "잘못된 pathspec 패턴: {pattern}",
  "settings.exclude_patterns.err_save_blocked": "저장하기 전에 표시된 exclude 패턴 오류를 수정하세요",

  "settings.supported_extensions.placeholder": "예: .md, .py",
  "settings.supported_extensions.add": "+ 추가",
  "settings.supported_extensions.remove": "확장자 제거",
  "settings.supported_extensions.err_cap": "최대 20개까지 추가할 수 있습니다",
  "settings.supported_extensions.min_required": "최소 1개의 확장자가 필요합니다",
  "settings.supported_extensions.reset_confirm": "확장자를 기본값으로 되돌리시겠습니까?",
  "settings.supported_extensions.reindex_hint": "새 확장자는 다음 인덱싱부터 적용됩니다. 기존 디렉터리는 재인덱싱해야 반영됩니다.",

  "settings.reset.aria_label": "기본값으로 되돌리기",
  "settings.reset.title": "기본값으로 되돌리기 (미리보기 — Save 를 눌러야 적용됨)",

  "sources.memory_dirs.title": "메모리 디렉터리",
  "sources.memory_dirs.total_one": "{count}개",
  "sources.memory_dirs.total_other": "{count}개",
  "sources.memory_dirs.category.user": "사용자",
  "sources.memory_dirs.category.claude_memory": "Claude 프로젝트",
  "sources.memory_dirs.category.claude_plans": "Claude plans",
  "sources.memory_dirs.category.codex": "Codex",
  "sources.category_nav_label": "소스 카테고리",
  "sources.category_showing": "{shown}/{total}개 표시",
  "sources.category_scroll_more": "{shown}/{total}개 표시 · 더 보려면 스크롤",
  "sources.category_scroll_more_folders": "{shown}/{total}개 폴더 표시 · 더 보려면 스크롤",
  "sources.source_reindex_btn": "재인덱스",
  "sources.source_reindex_title": "이 파일만 강제 재인덱스",
  "sources.source_delete_btn": "삭제",
  "sources.source_delete_title": "이 파일의 인덱싱된 청크 삭제",
  "sources.memory_dirs.provider.user": "사용자",
  "sources.memory_dirs.provider.claude": "Claude",
  "sources.memory_dirs.provider.openai": "OpenAI",
  "sources.memory_dirs.add_placeholder": "/절대/경로/디렉터리",
  "sources.memory_dirs.add_btn": "+ 경로 추가",
  "sources.memory_dirs.add_submit": "추가",
  "sources.memory_dirs.add_cancel": "취소",
  "sources.memory_dirs.reindex_all": "전체 재인덱스",
  "sources.memory_dirs.reindex_group": "이 그룹 재인덱스",
  "sources.memory_dirs.reindex_title": "이 디렉터리만 재인덱스",
  "sources.memory_dirs.delete_title": "메모리 디렉터리에서 제거",
  "sources.memory_dirs.action_index": "인덱스",
  "sources.memory_dirs.action_reindex": "재인덱스",
  "sources.memory_dirs.action_delete": "삭제",
  "sources.memory_dirs.action_open": "열기",
  "sources.memory_dirs.action_reindex_group": "재인덱스",
  "sources.memory_dirs.open_title": "파일 관리자에서 열기",
  "sources.memory_dirs.status_empty": "인덱싱 안 됨",
  "sources.memory_dirs.status_missing": "경로 없음",
  "sources.memory_dirs.status_chunks": "청크 {count}",
  "sources.memory_dirs.status_group": "파일 {indexed}/{files} · 청크 {chunks}",
  "sources.memory_dirs.status_files_only": "파일 {count}",
  "sources.memory_dirs.sort_label": "정렬",
  "sources.memory_dirs.sort.created_desc": "최근 생성순",
  "sources.memory_dirs.sort.created_asc": "오래된 순",
  "sources.memory_dirs.sort.path_asc": "경로 순",
  "sources.memory_dirs.sort.files_desc": "파일 많은 순",
  "sources.memory_dirs.sort.chunks_desc": "청크 많은 순",
  "sources.memory_dirs.sort.last_indexed_desc": "최근 인덱싱순",
  "sources.memory_dirs.meta_created": "생성 {dt}",
  "sources.memory_dirs.meta_indexed": "인덱싱 {dt}",
  "sources.memory_dirs.files_empty": "이 디렉터리에 인덱싱된 파일이 없습니다",
  "sources.memory_dirs.file_meta": "청크 {chunks}개",
  "settings.memory_dirs.moved_notice": "메모리 디렉터리는 다음 위치에서 관리됩니다:",
  "settings.memory_dirs.moved_notice_action": "Sources 탭 →",
  "confirm.memory_dir_remove_title": "메모리 디렉터리를 제거할까요?",
  "confirm.memory_dir_remove_msg": "{path} 를 메모리 디렉터리에서 제거할까요? 디스크의 디렉터리와 파일은 그대로 유지됩니다.",
  "confirm.memory_dir_delete_chunks_label": "이 디렉터리에서 인덱싱된 청크 {count} 개도 함께 삭제",
  "toast.memory_dir.added": "{path} 추가됨",
  "toast.memory_dir.added_indexed": "{path} 추가 · 파일 {files}개에서 청크 {chunks}개 인덱싱",
  "toast.memory_dir.removed": "{path} 제거됨",
  "toast.memory_dir.removed_with_chunks": "{path} 및 청크 {count} 개 삭제됨",
  "toast.memory_dir.opened": "{path} 열기 시도",
  "toast.memory_dir.open_failed": "열기 실패: {error}",
  "toast.memory_dir.add_failed": "추가 실패: {error}",
  "toast.memory_dir.remove_failed": "제거 실패: {error}",
  "toast.memory_dir.reindex_started": "{path} 재인덱싱 중…",
  "toast.memory_dir.reindex_done": "{path} 재인덱스 완료 — 청크 {count}개",
  "toast.memory_dir.reindex_failed": "재인덱스 실패: {error}"
}
