export default {
  loading: '로딩 중…', loadError: '데이터 로드 오류', noData: '데이터 없음', reset: '필터 초기화',
  noResults: '필터 결과 없음', copied: '복사됨!', errorPrefix: '오류', modeLabel: '모드:',
  colTool: '툴', colCalls: '호출 수', colAvgScore: '평균 점수', colDate: '날짜',
  colTrend: '추세', colStatus: '상태', colType: '유형', colValue: '값',
  colField: '필드', colDescription: '설명', colPattern: '패턴',
  colAgents: '에이전트 수', colBestFor: '적합한 용도', colSuccessRate: '성공률',
  colSessionId: '세션 ID', colToolCalls: '툴 호출 수', colFailures: '실패 수',
  colSummaryPatterns: '요약 / 패턴', colObs: '관찰 수', colSkills: '스킬 수',
  colHook: '훅', colCommand: '커맨드', colTrigger: '트리거', colEffect: '효과',
  colPolishResult: 'Polish 결과', colFailureType: '기록되는 실패 유형',
  colPatternDetection: '패턴 감지', colResource: '리소스', colPurpose: '목적',
  colConstant: '상수', colThreshold: '임계값', colId: 'ID', colProject: '프로젝트', colTags: '태그',
  colGoal: '목표', colMode: '모드', colStarted: '시작 시각', colDuration: '소요 시간',
  pageDashboard: '대시보드',
  pageDashboardDesc: '4-Ring 아키텍처 상태 · 평가 점수 · 시스템 상태',
  ring0Desc: '훅 6개 활성', ring1Desc: '사용자 커맨드 3개',
  ring2Desc: '컨텍스트 트리거 19개', ring3Desc: '관찰 → 진화 루프',
  statSessions: '세션', statSessionsSub: '이 프로젝트',
  statAvgScore: '평균 점수', statAvgScoreSub: '복합 점수 (성공 50% + 품질 30% + 비용 20%)',
  statTrend: '추세', statTrendSub: '세션 대비 세션',
  statStagnation: '정체 횟수', statStagnationSub: '한도 3회 · 초과 시 자동 롤백',
  statTotalCalls: '총 호출 수', statTotalCallsSub: '최근 세션 합산',
  statFailures: '실패 수', evalScoreTitle: '평가 점수',
  toolStatsTitle: '툴 통계 (상위 5개)', recentActivityTitle: '최근 활동',
  sessionLabel: '세션', callsAvgScore: '호출, 평균 점수', failuresLabel: '실패',
  recentSessionNone: '최근 세션 없음', failuresSub: 'recent_sessions 합산',
  // R1: Dimension labels
  dimToolSuccess: '도구 성공', dimOutputQuality: '출력 품질', dimExecCost: '실행 비용',
  // R2: Failure categories
  failureCategoriesTitle: '실패 카테고리',
  // R3: Skill attribution
  skillAttributionTitle: '스킬 기여도',
  colSkillName: '스킬', colSessionsActive: '세션', colScoreWith: '적용 시', colScoreWithout: '미적용 시', colDelta: '차이',
  // R4: Agent events
  agentEventLog: '이벤트 로그', colEventType: '이벤트', colTimestamp: '시간', noEvents: '이벤트 없음',
  pageAgents: '내부 에이전트',
  pageAgentsLive: '라이브 에이전트',
  pageAgentsLiveDesc: '활성 코딩 툴 오케스트레이션에서 실시간 에이전트 스폰 현황',
  liveAgentStatus: '오케스트레이터 실행',
  noActiveOrchestration: '활성 에이전트 없음',
  noActiveOrchestrationHint: '/orbit으로 파이프라인을 시작하면 여기서 라이브 에이전트 현황을 볼 수 있습니다',
  runIdLabel: '실행 ID',
  orchRunSub: '오케스트레이션 실행',
  doneLabel: '완료됨',
  failedLabel: '실패함',
  heartbeatLabel: '하트비트',
  completedAtLabel: '완료 시각',
  depGraphTitle: '의존성 그래프',
  colAgentId: '에이전트',
  colDependsOn: '의존 대상',
  activeAgents: 'Active Agents', noActiveAgent: 'No active agents',
  activeLabel: 'Active', ofAgents: (n: number) => `of ${n} agents`,
  completedLabel: 'Completed', failedStatusLabel: 'Failed', agentIdLabel: 'ID:',
  lastTool: '마지막 툴:', scoreLabel: '점수:',
  lowSuccessTools: '/team 패턴 — 주의 필요 툴 (success_rate < 85%)',
  allToolsOk: '모든 툴 정상 (success_rate ≥ 85%)',
  statusCol: '상태', needsAttention: '주의 필요',
  sessionActivity: '세션별 에이전트 활동 요약', noRecentSession: '최근 세션 없음',
  teamPatternsTitle: '/team 오케스트레이션 패턴',
  patternPipelineDesc: '순차 핸드오프, 빌드 → 테스트 → 리뷰',
  patternFanOutDesc: '병렬 독립 작업 후 머지',
  patternExpertPoolDesc: '작업 유형별 전문가 라우팅',
  patternProducerReviewerDesc: '한 명 빌드, 한 명 리뷰, 반복',
  patternSupervisorDesc: '중앙 코디네이터가 워커에 작업 배분',
  pageCommands: '커맨드',
  pageCommandsDesc3: '3개 최상위 커맨드 — orbit, evolve, team — 카드를 클릭하면 복사됩니다',
  cmdEvolveDesc: '스킬 진화 조회 및 트리거',
  cmdTeamDesc: '프로젝트별 에이전트 팀 생성',
  cmdOrbitDesc: '자율 spec→ship 파이프라인',
  pageSkills: '자동 스킬',
  pageSkillsDesc19: '19개 스킬 (15개 자동 + 4개 파이프라인) + _dispatch 코어 라우터 · 카드를 클릭하면 복사됩니다',
  skillSpecDesc: '코딩 전에 요구사항과 완료 기준 정의',
  skillGoDesc: '자동 플랜 + TDD로 빌드, spec에서 구현까지 실행',
  skillCheckDesc: '병렬 리뷰 + 보안 감사 + 테스트 검증',
  skillShipDesc: 'PR 생성, CI 모니터링, 자동 실패 수정, 머지',
  skillDispatchDesc: '컨텍스트에 따라 적합한 스킬로 자동 라우팅',
  skillTddDesc: '테스트 우선 개발 사이클',
  skillDebugDesc: '체계적인 근본 원인 분석',
  skillSecureDesc: '인증/DB/API 코드 보안 체크리스트',
  skillVerifyDesc: '완료 전 빌드 + 테스트 + 린트 확인',
  skillSimplifyDesc: '200줄 초과 파일에서 트리거',
  skillPerfDesc: 'DB/API 코드 성능 분석',
  skillReviewDesc: '코드 품질 및 로직 리뷰',
  skillRefactorDesc: '안전한 구조 개선',
  skillMigrateDesc: '데이터베이스 및 스키마 마이그레이션 안전성',
  skillApiDesignDesc: 'REST/GraphQL API 설계 패턴',
  skillDocDesc: '문서 생성',
  skillTestGenDesc: '미커버 코드 자동 테스트 생성',
  skillCiDesc: 'CI/CD 파이프라인 설정',
  skillDeployDesc: '안전한 배포 체크리스트',
  pageEvolve: '평가 & 진화',
  pageEvolveDesc: '관찰 → 분석 → 진화 → 게이트 → 재로드 자기 개선 루프',
  loadingEvolution: '진화 데이터 로딩 중…',
  statSessionsAnalyzed: '분석된 세션 수', statFailurePatterns: '실패 패턴 수',
  statEvolvedSkills: '진화된 스킬 수', statMaxSkillsCap: '최대 스킬 한도',
  evolvedSkillsTitle: '진화된 스킬', evolutionHistoryTitle: '진화 히스토리',
  trendImproving: '↑ 개선 중', trendDeclining: '↓ 하락 중', trendStable: '→ 안정',
  seedingThresholdsTitle: '스킬 시딩 임계값',
  seedTypeWeakTool: '취약 툴', seedTypeWeakFileType: '취약 파일 유형',
  seedTypeHighFreqError: '고빈도 오류', seedTypeStagnationRollback: '정체 롤백',
  seedThreshWeakTool: '성공률 < 0.6, 최소 관찰 5회',
  seedThreshWeakExt: '성공률 < 0.5, 최소 관찰 3회',
  seedThreshHighFreq: '5회 이상 발생',
  seedThreshStagnation: '5% 개선 없이 3세션 연속',
  noEvolvedSkills: '진화된 스킬 없음 — 더 많은 세션이 쌓이면 자동 생성됩니다',
  filterCountFmt: (n: number, total: number) => `${n}건 / 전체 ${total}건`,
  allTrend: '전체 추세', patternSearch: '패턴 / 요약 검색…',
  noHistoryFilter: '필터 결과 없음', noHistoryEmpty: '아직 진화 히스토리가 없습니다',
  pageHooks: '훅',
  pageHooksDesc: '자동 파일럿 자동화를 제공하는 Claude Code 훅 6개 · Rust 단일 바이너리',
  hookRegistryTitle: '훅 레지스트리',
  hookResumeEffect: '세션 복원 + 진화된 스킬 로드',
  hookGuardEffect: '위험한 셸 패턴 차단',
  hookObserveEffect: '3축 점수를 obs JSONL에 기록',
  hookPolishEffect: '자동 포맷 + 타입 체크',
  hookSnapshotEffect: 'sessions/에 세션 상태 저장',
  hookReflectEffect: '스킬 진화 + 메트릭 저장',
  hookFlowTitle: '훅 흐름도', guardRulesTitle: '가드 규칙 확장',
  guardRulesDesc: '프로젝트 루트의 .harness/guard-rules.yaml 파일로 커스텀 차단/경고 규칙을 추가하세요.',
  polishFeedbackTitle: 'Polish → Observe 피드백',
  polishFeedbackDesc: 'Polish 훅 결과가 observe 파이프라인에 자동으로 기록됩니다.',
  polishFormatFail: '포맷 실패', polishTypecheckFail: '타입 체크 실패',
  polishFormatFeedDesc: 'repeated_same_error 감지기에 데이터 제공',
  polishTypecheckFeedDesc: 'fix_then_break 감지기에 데이터 제공',
  onSessionStart: '세션 시작 시', onPreTool: '모든 툴 호출 전',
  onPostTool: '툴 호출 후 (async)', onPostEdit: '파일 편집 후',
  onPreCompact: '컨텍스트 압축 전', onSessionEnd: '세션 종료 시',
  pageIntegrations: '통합',
  pageIntegrationsDesc: 'AI 코딩 툴 6개 통합 · 설정 파일은 integrations/ 폴더',
  loadingIntegrations: '통합 상태 로딩 중…',
  statusInstalled: '설치됨', statusNotInstalled: '미설치',
  sharedResourcesTitle: '공유 리소스',
  rowCommands: '커맨드', rowSkills: '스킬', rowAgents: '에이전트', rowHooks: '훅',
  pageMemory: 'harness-mem', loadingGraph: '지식 그래프 로딩 중…',
  mcpToolsTitle: 'MCP 툴', smartRecallScoringTitle: '스마트 검색 점수 산식',
  memRecallDesc: '스마트 문맥 검색 — 힌트 + 프로젝트 + 그래프 이웃',
  memAddDesc: '유형별 자동 중요도로 노드 추가',
  memSearchDesc: 'FTS5 키워드 검색, 중요도 순 결과',
  memQueryDesc: '고급 필터링을 위한 SQL 수준 쿼리',
  memContextDesc: '프로젝트 범위 스마트 검색 (힌트 없음)',
  memRelatedDesc: '노드 ID 기준 BFS 그래프 탐색',
  memNoData: 'harness-mem 데이터 없음',
  memWip: 'harness-mem은 현재 WIP 상태입니다.\nMCP 서버(harness-mem)를 통해 노드가 추가되면 그래프가 표시됩니다.',
  pageOrbitDesc: 'spec → go → check → ship → evolve — 단일 커맨드로 spec에서 PR까지 실행',
  entryModeTitle: '진입 모드', runningPipelines: '실행 중인 파이프라인',
  pipelineHistoryTitle: '파이프라인 히스토리',
  pipelineStateSchemaTitle: '파이프라인 상태 스키마',
  safetyMechanismsTitle: '안전 메커니즘',
  safetyGuardTitle: '동시 실행 가드', safetyDeadlineTitle: '마감 시간 강제',
  safetyCrashTitle: '충돌 복구', safetyWorktreeTitle: '워크트리 안전성',
  noGoal: '(goal 없음)', startedAt: '시작', deadlineAt: '마감',
  expired: '만료', minutesLeft: (n: number) => `${n}분 남음`,
  checkFails: '체크 실패',
  filterCountOrbit: (n: number, total: number) => `${n}건 / 전체 ${total}건`,
  searchGoal: '목표 검색…', searchProject: '프로젝트 검색…',
  allStatus: '전체 상태', noPipelines: '실행된 파이프라인 없음',
  durationMin: (n: number) => `${n}분`,
  safetyGuard: '파이프라인 동시 실행 1개 제한',
  safetyDeadline: '30분 하드 타임아웃',
  safetyCrash: '45분 stale 임계값, phase_history 기준 복구',
  safetyWorktree: '격리 빌드, worktree 손실 시 state 보존',
  interactiveDesc: '문제 설명 → spec 스킬 자동 트리거. 요구사항이 불명확할 때.',
  councilDesc: '4-voice 병렬 자동 spec (Architect·Critic·Implementor·QA). 복잡한 요구사항.',
  directDesc: 'auto-spec 후 즉시 빌드 시작. 요구사항이 명확할 때.',
  pageSettings: '설정',
  pageSettingsDesc: 'epic-harness 평가 가중치, 진화 튜닝, 시스템 정보',
  loadingMetrics: '메트릭 로딩 중…',
  evalWeightsTitle: '평가 점수 가중치', evolutionTuningTitle: '진화 튜닝 상수',
  systemInfoTitle: '시스템 정보', labelSessionsAnalyzed: '분석된 세션 수',
  labelCurrentTrend: '현재 추세', labelStagnationCount: '정체 횟수',
  labelVersion: '버전', dangerZoneTitle: '위험 구역',
  resetEvolutionLabel: '진화 초기화', resetEvolutionDesc: '모든 진화된 스킬을 삭제합니다',
  clearMetricsLabel: '메트릭 초기화', clearMetricsDesc: '점수 히스토리를 초기화합니다',
  // R2-R8 new keys
  statBestScore: '최고 점수',
  labelLastErrorContext: '마지막 에러 컨텍스트',
  sessionSnapshotsTitle: '세션 스냅샷',
  colSummary: '요약', colContextUsage: '컨텍스트 %',
  globalPatternsTitle: '프로젝트 간 패턴',
  colWeakTools: '취약 도구',
  statTotalNodes: '전체 노드', statTotalEdges: '전체 엣지', statAvgImportance: '평균 중요도',
  memorySearchTitle: '메모리 노드', memorySearchPlaceholder: '노드 검색…',
  searchButton: '검색', colTitle: '제목', colImportance: '중요도',
  colUpdated: '수정일', noSearchResults: '검색 결과 없음', noNodes: '메모리 노드 없음',
  showingFirst50: (n: number) => `${n}개 중 처음 50개 표시`,
  showMore: '더 보기',
  agentInboxTitle: '받은 메시지',
  allProjects: '모든 프로젝트',
  selectProject: '프로젝트 선택',
} as const;
