diff --git a/packages/i18n/locales/ko/app.json b/packages/i18n/locales/ko/app.json
index 2cf740485b..5dea2e2439 100644
--- a/packages/i18n/locales/ko/app.json
+++ b/packages/i18n/locales/ko/app.json
@@ -1,11 +1,6806 @@
{
+ "actions": {
+ "add": "추가",
+ "apply": "적용",
+ "back": "뒤로",
+ "cancel": "취소",
+ "close": "닫기",
+ "closeInsightsView": "인사이트 보기 닫기",
+ "closeModal": "모달 닫기",
+ "confirm": "확인",
+ "continue": "계속",
+ "create": "만들기",
+ "delete": "삭제",
+ "discard": "버리기",
+ "dismiss": "닫기",
+ "dismissOAuth": "OAuth 재로그인 배너 닫기",
+ "done": "완료",
+ "edit": "편집",
+ "generateInsights": "새 인사이트 생성",
+ "no": "아니오",
+ "openSettings": "설정 열기",
+ "pull": "Pull",
+ "refresh": "새로고침",
+ "refreshInsights": "인사이트 새로고침",
+ "retry": "재시도",
+ "run": "실행",
+ "save": "저장",
+ "search": "검색",
+ "send": "전송",
+ "showLess": "간략히 보기",
+ "showMore": "더 보기",
+ "update": "업데이트",
+ "yes": "예"
+ },
+ "activityLog": {
+ "activeFilters": "활성 필터:",
+ "allEvents": "모든 이벤트",
+ "allProjects": "모든 프로젝트",
+ "clearFilters": "모두 지우기",
+ "clearFiltersBtnLabel": "필터 초기화",
+ "clearLog": "로그 지우기",
+ "confirmClear": "활동 로그를 지우시겠습니까?",
+ "confirmClearButton": "로그 지우기",
+ "confirmClearMessage": "모든 활동 로그 항목이 영구적으로 삭제됩니다. 이 작업은 되돌릴 수 없습니다.",
+ "eventType": {
+ "autoArchivedDeterministicDuplicate": "작업 자동 보관됨 (결정적 중복)",
+ "autoArchivedDuplicate": "작업 자동 보관됨 (중복)",
+ "autoArchivedGhostBug": "작업 자동 보관됨 (유령 버그)",
+ "autoArchivedNearDuplicate": "작업 자동 보관됨 (유사 중복)",
+ "duplicateWarningOverridden": "중복 경고 무시됨",
+ "mergeWorktreeReacquired": "병합 작업트리 재확보됨",
+ "nearDuplicateFlagged": "유사 중복 표시됨",
+ "projectIsolationTransition": "프로젝트 격리 전환",
+ "settingsUpdated": "설정 업데이트됨",
+ "taskCreated": "작업 생성됨",
+ "taskDeleted": "작업 삭제됨",
+ "taskFailed": "작업 실패함",
+ "taskMerged": "작업 병합됨",
+ "taskMoved": "작업 이동됨",
+ "taskUpdated": "작업 업데이트됨"
+ },
+ "loadMore": "더 불러오기",
+ "merged": "병합됨",
+ "noActivityRecorded": "아직 기록된 활동이 없습니다",
+ "noMatchingActivity": "현재 필터에 일치하는 활동이 없습니다",
+ "notMerged": "병합되지 않음",
+ "refresh": "새로고침",
+ "time": {
+ "daysAgo": "{{count}}일 전",
+ "hoursAgo": "{{count}}시간 전",
+ "justNow": "방금",
+ "minutesAgo": "{{count}}분 전"
+ },
+ "title": "활동 로그"
+ },
+ "agentError": {
+ "copied": "복사됨",
+ "copiedLabel": "오류가 클립보드에 복사되었습니다",
+ "copy": "복사",
+ "copyLabel": "오류를 클립보드에 복사",
+ "dialogLabel": "에이전트 오류 세부 정보",
+ "openDetails": "오류 세부 정보 열기",
+ "reportOnGithub": "GitHub에 보고",
+ "title": "에이전트 오류 세부 정보"
+ },
+ "agentLog": {
+ "agentNameTriage": "계획",
+ "collapseModelDetails": "모델 세부 정보 접기",
+ "empty": "아직 에이전트 출력이 없습니다.",
+ "executor": "실행기",
+ "exitFullscreen": "전체 화면 종료",
+ "expandFullscreen": "에이전트 로그를 전체 화면으로 확장",
+ "expandModelDetails": "모델 세부 정보 펼치기",
+ "hideOutput": "출력 숨기기",
+ "hideToolCallsResults": "도구 호출 및 결과 숨기기",
+ "hideToolOutput": "도구 출력 숨기기",
+ "live": "실시간",
+ "loadMore": "더 불러오기",
+ "loading": "에이전트 로그를 불러오는 중…",
+ "loadingMore": "불러오는 중…",
+ "markdown": "Markdown",
+ "plain": "일반 텍스트",
+ "planning": "계획 중",
+ "reviewer": "검토자",
+ "showFormattedMarkdown": "형식화된 마크다운 표시",
+ "showOutput": "출력 표시",
+ "showRawText": "원시 텍스트 표시",
+ "showToolCallsResults": "도구 호출 및 결과 표시",
+ "showToolOutput": "도구 출력 표시",
+ "showing": "{{total}}개 중 {{visible}}개 표시",
+ "switchMarkdown": "마크다운 모드로 전환",
+ "switchPlainText": "일반 텍스트 모드로 전환",
+ "timeDaysAgo": "{{count}}일 전",
+ "timeHoursAgo": "{{count}}시간 전",
+ "timeJustNow": "방금",
+ "timeMinutesAgo": "{{count}}분 전",
+ "toolEntriesHidden": "도구 항목 {{count}}개 숨김",
+ "toolsOff": "도구: 끔",
+ "toolsOn": "도구: 켬",
+ "usingDefault": "기본값 사용 중"
+ },
+ "agentMention": {
+ "membersOf": "#{{roomName}} 멤버",
+ "noAgentsFound": "에이전트를 찾을 수 없습니다",
+ "otherAgents": "다른 에이전트",
+ "roomMemberBadge": "룸 멤버",
+ "roomMembers": "룸 멤버",
+ "suggestionsLabel": "에이전트 멘션 추천",
+ "typeToSearch": "다른 에이전트 검색을 위해 입력"
+ },
+ "agentPolicy": {
+ "allow": "허용",
+ "approvalRequired": "승인 필요",
+ "ariaLabel": "권한 정책 카테고리",
+ "block": "차단",
+ "category": {
+ "commandExecution": {
+ "description": "셸 명령어 및 스크립트를 실행합니다.",
+ "label": "명령어 실행"
+ },
+ "fileWriteDelete": {
+ "description": "워크스페이스에서 파일을 생성, 편집 또는 삭제합니다.",
+ "label": "파일 쓰기/삭제"
+ },
+ "gitWrite": {
+ "description": "커밋, 브랜치 업데이트 및 병합에 영향을 주는 git 변경.",
+ "label": "Git 쓰기"
+ },
+ "networkApi": {
+ "description": "아웃바운드 네트워크 또는 API 접근.",
+ "label": "네트워크/API"
+ },
+ "taskAgentMutation": {
+ "description": "작업 상태 변경, 위임 또는 에이전트 수명 주기 작업.",
+ "label": "작업/에이전트 변경"
+ }
+ },
+ "categoryExamples": "{{label}} 예시",
+ "custom": "사용자 정의",
+ "exemptTools": "승인 정책에서 제외된 도구",
+ "exemptToolsDescription": "이 조정 도구들은 하트비트와 에이전트 간 메시지 교환이 교착 상태에 빠지지 않도록 승인 정책을 우회합니다. 사용자가 설정할 수 없습니다.",
+ "fromProjectDefault": "프로젝트 기본값에서",
+ "inherit": "상속",
+ "inheritDefault": "프로젝트 기본값 상속",
+ "lockedDown": "잠금",
+ "preset": "프리셋",
+ "requireApproval": "승인 필요",
+ "unrestricted": "무제한"
+ },
+ "agentPrompts": {
+ "actions": {
+ "addCustomTemplate": "사용자 정의 템플릿 추가",
+ "cancel": "취소",
+ "collapse": "접기",
+ "create": "만들기",
+ "delete": "삭제",
+ "reset": "초기화",
+ "save": "저장"
+ },
+ "ariaLabels": {
+ "collapse": "접기",
+ "deleteTemplate": "{{name}} 삭제",
+ "editTemplate": "{{name}} 편집",
+ "expand": "펼치기",
+ "expandPrompt": "프롬프트를 전체 화면으로 확장",
+ "expandToFullscreen": "전체 화면으로 확장",
+ "promptOverride": "{{name}} 프롬프트 재정의 ({{key}})",
+ "promptOverrideFullscreen": "{{name}} 프롬프트 재정의 ({{key}}) - 전체 화면",
+ "templatePromptFullscreen": "템플릿 프롬프트 - 전체 화면",
+ "viewFullPromptFor": "{{name}}의 전체 프롬프트 보기"
+ },
+ "badges": {
+ "builtin": "기본 제공",
+ "custom": "사용자 정의",
+ "customized": "사용자 정의됨",
+ "overridesBuiltin": "기본 제공 재정의"
+ },
+ "confirmations": {
+ "deleteTemplate": "\"{{name}}\"을(를) 삭제하시겠습니까?"
+ },
+ "descriptions": {
+ "assignmentNote": "역할 할당은 agentPrompts 설정에 저장됩니다. 사용자 정의 템플릿은 ID로 기본 제공 항목을 재정의합니다.",
+ "assignments": "에이전트 역할에 특정 템플릿을 할당합니다. 역할에 할당이 있으면 기본 제공 대신 해당 템플릿이 사용됩니다.",
+ "builtinTemplates": "이 템플릿은 Fusion에서 제공하며 수정할 수 없습니다.",
+ "customTemplates": "특정 역할에 대한 기본 제공 프롬프트를 재정의하는 사용자 정의 템플릿을 만듭니다.",
+ "overrides": "AI 에이전트 프롬프트의 특정 부분을 사용자 정의합니다. 편집 내용은 기본 제공 설정을 재정의합니다. 초기화 버튼으로 각 프롬프트의 원래 기본값을 복원할 수 있습니다."
+ },
+ "editor": {
+ "editTemplate": "사용자 정의 템플릿 편집",
+ "newTemplate": "새 사용자 정의 템플릿"
+ },
+ "emptyStates": {
+ "noCustomTemplates": "아직 사용자 정의 템플릿이 없습니다. 하나를 만들어 시작하세요."
+ },
+ "errors": {
+ "idConflict": "템플릿 ID \"{{templateId}}\"이(가) 기본 제공 템플릿과 충돌합니다. 다른 이름을 사용해 주세요.",
+ "nameRequired": "템플릿 이름은 필수입니다"
+ },
+ "hints": {
+ "customOverrideActive": "사용자 정의 재정의가 활성화되어 있습니다. 초기화를 클릭하면 기본값이 복원됩니다.",
+ "noOverrideSet": "재정의가 설정되지 않았습니다. 기본 제공 기본값 사용 중 ({{chars}}자)."
+ },
+ "labels": {
+ "builtIn": "기본 제공",
+ "custom": "사용자 정의",
+ "description": "설명",
+ "name": "이름",
+ "note": "참고",
+ "overridesDefault": "기본값 재정의",
+ "prompt": "프롬프트",
+ "role": "역할"
+ },
+ "options": {
+ "useDefault": "기본값 사용"
+ },
+ "placeholders": {
+ "description": "이 템플릿에 대한 간략한 설명",
+ "prompt": "이 템플릿의 시스템 프롬프트를 입력하세요...",
+ "promptDefault": "기본값: {{preview}}",
+ "templateName": "예: My Custom Executor"
+ },
+ "roles": {
+ "custom": "사용자 정의 에이전트",
+ "engineer": "엔지니어 에이전트",
+ "executor": "실행기 에이전트",
+ "merger": "병합기 에이전트",
+ "reviewer": "검토자 에이전트",
+ "scheduler": "스케줄러 에이전트",
+ "triage": "분류 에이전트"
+ },
+ "sections": {
+ "builtinTemplates": "기본 제공 템플릿",
+ "customTemplates": "사용자 정의 템플릿"
+ },
+ "tabs": {
+ "assignments": "할당",
+ "overrides": "재정의",
+ "templates": "템플릿"
+ },
+ "titles": {
+ "delete": "삭제",
+ "edit": "편집",
+ "editPrompt": "프롬프트 편집",
+ "viewFullPrompt": "전체 프롬프트 보기"
+ }
+ },
+ "agentProvisioning": {
+ "always": "항상 승인 필요",
+ "alwaysApproveDelete": "fn_agent_delete에 항상 승인 필요",
+ "alwaysDesc": "호출자가 신뢰할 수 있는 경우를 제외하고 모든 fn_agent_create/fn_agent_delete 요청에 승인이 필요합니다.",
+ "approvalMode": "승인 모드",
+ "helpText": "이 설정은 내구성 있는 프로비저닝 도구(fn_agent_create 및 fn_agent_delete)에만 적용됩니다. 일시적인 fn_spawn_agent 요청은 작업/에이전트 변경 승인 게이트(FN-3973)에서 처리됩니다.",
+ "never": "승인 불필요",
+ "neverDesc": "권한이 없는 호출자의 경우 승인 없이 프로비저닝을 허용합니다.",
+ "trustedAgentIds": "신뢰할 수 있는 에이전트 ID",
+ "trustedAgentIdsPlaceholder": "agent-abc123",
+ "trustedOnly": "신뢰할 수 있는 항목만",
+ "trustedOnlyDesc": "신뢰할 수 있는 역할/에이전트 ID는 승인을 우회하며, 다른 호출자는 승인이 필요합니다.",
+ "trustedRoles": "신뢰할 수 있는 역할",
+ "trustedRolesPlaceholder": "reviewer, ceo"
+ },
+ "agents": {
+ "activate": "활성화",
+ "activeAgents": "활성 에이전트 ({{count}})",
+ "activePrefix": "활성: ",
+ "advancedSettingsDesc": "이 에이전트의 하위 수준 설정 옵션.",
+ "advancedSettingsTitle": "고급 설정",
+ "agent": "에이전트",
+ "agentControls": "에이전트 제어",
+ "agentLogs": "에이전트 로그",
+ "agentMail": "에이전트 메일",
+ "agentModelLabel": "에이전트 모델",
+ "agentPlural": "에이전트들",
+ "agentSingular": "에이전트",
+ "agentSoulLabel": "에이전트 소울",
+ "agentsFound": "{{count}}개 에이전트{{plural}} 찾음",
+ "agentsLabel": "에이전트",
+ "aiInterview": "AI 인터뷰",
+ "allChangesSaved": "모든 변경사항이 저장되었습니다",
+ "allTime": "전체 기간",
+ "allowParallelExecution": "병렬 실행 허용",
+ "allowParallelExecutionHint": "이 에이전트가 여러 하트비트를 동시에 실행하도록 허용합니다.",
+ "alreadyOnDefault": "이미 기본값입니다",
+ "applyPreset": "프리셋 적용",
+ "assignedSkills": "할당된 스킬",
+ "auto": "자동",
+ "autoClaimHint": "에이전트가 스킬에 맞는 작업을 자동으로 할당받습니다.",
+ "autoClaimRelevantTasks": "관련 작업 자동 할당",
+ "avatarLabel": "아바타",
+ "avatarRemoved": "아바타가 삭제되었습니다",
+ "avatarUploaded": "아바타가 업로드되었습니다",
+ "back": "뒤로",
+ "backToAgents": "에이전트 목록으로",
+ "backToInbox": "받은 편지함으로",
+ "backToOrgChart": "조직도로 돌아가기",
+ "backToOutbox": "보낸 편지함으로",
+ "boardView": "보드 보기",
+ "browseCatalog": "카탈로그 탐색",
+ "budgetExhaustedBody": "이 에이전트는 토큰 예산을 모두 소진하여 예산이 초기화될 때까지 실행되지 않습니다.",
+ "budgetExhaustedTitle": "예산 소진",
+ "budgetPeriodHint": "토큰 예산이 초기화되는 주기.",
+ "budgetPeriodLabel": "예산 주기",
+ "budgetResetFailed": "예산 초기화 실패",
+ "budgetResetSuccess": "예산이 성공적으로 초기화되었습니다",
+ "budgetSettingsDesc": "이 에이전트의 토큰 사용 한도 및 초기화 일정을 제어합니다.",
+ "budgetSettingsTitle": "예산 설정",
+ "budgetUsageDisplay": "{{used}} / {{limit}} 토큰 사용됨",
+ "builtInModel": "기본 제공 모델",
+ "bulkActionFailed": "일괄 작업 실패",
+ "bulkActions": "일괄 작업",
+ "bulkActionsLoadFailed": "일괄 에이전트 작업 불러오기 실패: {{error}}",
+ "bulkAgentActions": "에이전트 일괄 작업",
+ "bulkConfirmMessage": "{{count}}개 에이전트를 {{action}}하시겠습니까?",
+ "bulkNoEligible": "해당 에이전트 없음",
+ "bulkResult": "{{count}}개 에이전트 {{action}}됨",
+ "bulkResultWithFailures": "{{count}}개 에이전트 {{action}}됨, {{failed}}개 실패",
+ "bulkResult_one": "{{agentWord}} {{successCount}}개 {{action}}; {{skippedCount}}개 건너뜀",
+ "bulkResult_other": "{{agentWord}} {{successCount}}개 {{action}}; {{skippedCount}}개 건너뜀",
+ "bundleDescription": "이 에이전트의 코드 번들 관리 방식을 설정합니다.",
+ "bundleEntryFileHint": "관리되는 번들의 진입 파일.",
+ "bundleEntryFileLabel": "진입 파일",
+ "bundleExternal": "외부",
+ "bundleExternalHint": "외부에서 관리되는 번들 경로를 지정합니다.",
+ "bundleExternalPathHint": "외부 번들 파일의 절대 경로.",
+ "bundleExternalPathLabel": "외부 번들 경로",
+ "bundleExternalPathPlaceholder": "/path/to/bundle.js",
+ "bundleFilesHint": "이 에이전트 번들에 포함된 소스 파일.",
+ "bundleFilesLabel": "번들 파일",
+ "bundleManaged": "관리됨",
+ "bundleManagedHint": "Fusion이 번들을 자동으로 관리합니다.",
+ "bundleModeLabel": "번들 모드",
+ "bundleNone": "없음",
+ "bundleSelectMode": "번들 모드 선택",
+ "bundleTitle": "번들",
+ "cacheHitRatio": "캐시 적중률",
+ "cacheReadTokens": "캐시 읽기",
+ "cacheWriteTokens": "캐시 쓰기",
+ "cancel": "취소",
+ "cancelCustomInterval": "사용자 정의 간격 취소",
+ "center": "가운데",
+ "chainOfCommand": "명령 체계",
+ "change": "변경",
+ "changeRole": "클릭하여 역할 변경",
+ "chooseFile": "파일 선택",
+ "clearAgents": "에이전트 초기화",
+ "clearSkills": "스킬 초기화",
+ "clickToChangeRole": "클릭하여 역할 변경",
+ "close": "닫기",
+ "closeAriaLabel": "닫기",
+ "combinedTokens": "총 토큰",
+ "company": "회사",
+ "configDescription": "이 에이전트의 신원, 모델 및 동작 설정을 구성합니다.",
+ "configTitle": "구성",
+ "connecting": "연결 중...",
+ "connectingStream": "로그 스트림에 연결 중...",
+ "connectionLost": "연결이 끊어졌습니다. 재시도 중...",
+ "context": "컨텍스트",
+ "controls": "제어",
+ "coordinationOnlyAgent": "조정 전용 에이전트",
+ "coordinationOnlyHint": "이 에이전트는 작업을 조정하지만 직접 실행하지는 않습니다.",
+ "copyId": "ID 복사",
+ "create": "만들기",
+ "createAgent": "에이전트 만들기",
+ "createError": "에이전트 만들기 실패: {{error}}",
+ "createSuccess": "에이전트 \"{{name}}\"이(가) 생성되었습니다",
+ "created": "에이전트 \"{{name}}\"이(가) 생성되었습니다",
+ "creating": "만드는 중...",
+ "creatingAgent": "에이전트 만드는 중...",
+ "currentAgent": "현재 에이전트",
+ "currentInput": "현재 입력: {{method}}",
+ "currentPath": "현재 경로",
+ "currentUsage": "현재 사용량",
+ "currentWork": "현재 작업",
+ "customHeartbeatAria": "{{name}}의 사용자 정의 하트비트 간격 (분)",
+ "customHeartbeatOption": "사용자 정의...",
+ "customizeForAgent": "이 에이전트에 맞게 사용자 정의",
+ "daily": "매일",
+ "dangerZone": "위험 구역",
+ "dangerZoneDesc": "되돌릴 수 없는 작업 — 주의하여 진행하세요.",
+ "delete": "삭제",
+ "deleteAgent": "에이전트 삭제",
+ "deleteConfirm": "이 에이전트를 삭제하시겠습니까? 이 작업은 되돌릴 수 없습니다.",
+ "deleteError": "에이전트 삭제 실패: {{error}}",
+ "deleteFailed": "에이전트 삭제 실패",
+ "deleteMessage": "에이전트 \"{{name}}\"을(를) 삭제하시겠습니까? 이 작업은 되돌릴 수 없습니다.",
+ "deleteSuccess": "에이전트 \"{{name}}\"이(가) 삭제되었습니다",
+ "deleteTitle": "에이전트 삭제",
+ "deleted": "에이전트가 삭제되었습니다",
+ "deletionNotAvailable": "에이전트가 실행 중일 때는 삭제할 수 없습니다.",
+ "deletionPermanent": "에이전트와 모든 관련 데이터가 영구적으로 삭제됩니다.",
+ "details": "세부 정보",
+ "dialogAriaLabel": "새 에이전트 만들기",
+ "dialogTitle": "새 에이전트",
+ "employeesTitle": "직원",
+ "emptySubtitle": "에이전트를 만들어 시작하세요",
+ "emptyTitle": "에이전트를 찾을 수 없습니다",
+ "errors": "오류",
+ "executionPrompt": "실행 프롬프트",
+ "executionPromptNotCaptured": "실행 프롬프트가 캡처되지 않았습니다",
+ "failedToImport": "에이전트 가져오기 실패",
+ "failedToLoadCompanies": "회사 목록 불러오기 실패",
+ "failedToParseDirectory": "선택한 디렉토리에서 AGENTS.md 파일 파싱 실패",
+ "failedToParseManifest": "매니페스트 파싱 실패",
+ "failedToReadFile": "파일 읽기 실패",
+ "fieldHeartbeatPath": "하트비트 프로시저 경로",
+ "fieldIcon": "아이콘",
+ "fieldInstructionsPath": "지침 경로",
+ "fieldInstructionsText": "인라인 지침",
+ "fieldMaxTurns": "최대 턴 수",
+ "fieldMemory": "에이전트 메모리",
+ "fieldName": "이름",
+ "fieldReportsTo": "보고 대상",
+ "fieldRole": "역할",
+ "fieldSkills": "스킬",
+ "fieldSoul": "소울",
+ "fieldThinking": "사고",
+ "fieldThinkingLevel": "사고 수준",
+ "fieldTitle": "직함",
+ "fileContentHint": "파일 내용을 직접 편집합니다.",
+ "fileContentLabel": "파일 내용",
+ "fileContentPlaceholder": "파일 내용이 여기에 표시됩니다...",
+ "fileHint": ".md 및 .txt 파일 지원",
+ "fileLoadError": "파일 불러오기 실패",
+ "fileSaved": "파일이 저장되었습니다",
+ "filterAll": "모든 상태",
+ "filterByState": "상태로 에이전트 필터링",
+ "fit": "맞추기",
+ "fixValidationErrors": "저장하기 전에 유효성 오류를 수정하세요",
+ "fixValidationToSave": "저장하려면 유효성 오류를 수정하세요",
+ "from": "보낸 사람",
+ "generateHint": "에이전트의 역할을 설명하면 AI가 사양을 생성합니다",
+ "generateWithAI": "AI로 생성",
+ "generation": {
+ "collapse": "접기",
+ "expand": "펼치기",
+ "generate": "생성",
+ "info": "에이전트의 역할을 설명하면 AI가 시스템 프롬프트, 설정 제안 등을 포함한 완전한 사양을 생성합니다.",
+ "loading": "에이전트 사양 생성 중…",
+ "previewDescription": "설명",
+ "previewMaxTurns": "최대 턴",
+ "previewRole": "역할",
+ "previewThinking": "사고",
+ "previewTitle": "제목",
+ "rateLimited": "요청이 너무 많습니다. 잠시 후 다시 시도해 주세요.",
+ "regenerate": "재생성",
+ "roleHint": "에이전트가 수행할 작업을 설명하세요",
+ "roleLabel": "역할 설명",
+ "rolePlaceholder": "예: \"React 접근성을 전문으로 하는 시니어 프론트엔드 코드 리뷰어\"",
+ "systemPrompt": "시스템 프롬프트",
+ "title": "에이전트 생성",
+ "useThis": "이것 사용"
+ },
+ "healthError": "오류",
+ "heartbeat": "하트비트:",
+ "heartbeatAndHealth": "하트비트 및 상태",
+ "heartbeatCustom": "커스텀 하트비트 실행",
+ "heartbeatEnabled": "하트비트 활성화",
+ "heartbeatEnabledHint": "이 에이전트를 예약된 하트비트로 실행할 수 있도록 허용합니다.",
+ "heartbeatEnterMinutes": "하트비트 간격을 분 단위로 입력해 주세요",
+ "heartbeatFileEditMode": "편집 모드",
+ "heartbeatFileEditorHint": "하트비트 절차 파일을 직접 편집합니다.",
+ "heartbeatFileEmptyPreview": "빈 파일입니다 — 편집 모드로 전환하여 내용을 추가하세요.",
+ "heartbeatFileLoadFailed": "하트비트 파일을 불러오지 못했습니다",
+ "heartbeatFilePlaceholder": "하트비트 절차 내용...",
+ "heartbeatFilePreviewMode": "미리보기 모드",
+ "heartbeatFileSaveFailed": "하트비트 파일을 저장하지 못했습니다",
+ "heartbeatFileSaved": "하트비트 파일이 저장되었습니다",
+ "heartbeatIntervalHint": "하트비트가 실행되는 빈도를 초 단위로 설정합니다.",
+ "heartbeatIntervalLabel": "하트비트 간격 (초)",
+ "heartbeatIntervalUpdateFailed": "하트비트 간격을 업데이트하지 못했습니다: {{error}}",
+ "heartbeatIntervalUpdated": "{{name}}의 하트비트 간격이 {{interval}}(으)로 업데이트되었습니다",
+ "heartbeatMustBeNumber": "하트비트 간격은 유효한 숫자여야 합니다",
+ "heartbeatMustBePositive": "하트비트 간격은 0보다 커야 합니다",
+ "heartbeatOverdue": "하트비트 {{elapsed}} 지연",
+ "heartbeatPathHint": "에이전트의 하트비트 절차 경로입니다. 일반적으로 .fusion/agents/ceo-agent2736/HEARTBEAT.md입니다. 레거시 ID 전용 기본 경로도 지원됩니다.",
+ "heartbeatPathPlaceholder": "예: .fusion/agents/ceo-agent2736/HEARTBEAT.md",
+ "heartbeatProcedureDesc": "하트비트 절차는 예약된 각 실행에서 이 에이전트가 수행할 작업을 안내합니다.",
+ "heartbeatProcedureDescSuffix": "여기서 직접 커스텀하거나 기본값으로 유지할 수 있습니다.",
+ "heartbeatProcedureFileLabel": "하트비트 절차 파일",
+ "heartbeatProcedureFileReady": "하트비트 절차 파일이 준비되었습니다",
+ "heartbeatProcedurePathSet": "하트비트 절차 경로가 설정되었습니다",
+ "heartbeatProcedureTitle": "하트비트 절차",
+ "heartbeatPromptTemplate": "하트비트 프롬프트 템플릿",
+ "heartbeatRunFailed": "하트비트 실행을 시작하지 못했습니다: {{error}}",
+ "heartbeatRunStarted": "{{name}}의 하트비트 실행이 시작되었습니다",
+ "heartbeatRunsWillAppear": "하트비트 실행 내역이 여기에 표시됩니다.",
+ "heartbeatScopeDiscipline": "하트비트 범위 규율",
+ "heartbeatSettingsDesc": "이 에이전트 하트비트의 예약 및 동작을 제어합니다.",
+ "heartbeatSettingsTitle": "하트비트 설정",
+ "heartbeatSpeed": "하트비트 속도",
+ "heartbeatSpeedHint": "모든 에이전트 하트비트 간격을 조정합니다. ×0.5 = 2배 빠름, ×2.0 = 2배 느림. 기본값: ×1.0",
+ "heartbeatSpeedPreset": "하트비트 속도 프리셋",
+ "heartbeatSpeedSaveFailed": "하트비트 배율을 저장하지 못했습니다: {{error}}",
+ "heartbeatSpeedSet": "하트비트 속도가 ×{{value}}로 설정되었습니다",
+ "heartbeatStartFailed": "하트비트를 시작하지 못했습니다",
+ "heartbeatStarted": "하트비트가 시작되었습니다",
+ "heartbeatTimeoutHint": "하트비트 실행이 종료되기 전까지 허용되는 최대 시간(초)입니다.",
+ "heartbeatTimeoutLabel": "하트비트 타임아웃 (초)",
+ "heartbeatUpgradeFailed": "하트비트 절차를 업그레이드하지 못했습니다",
+ "iconLabel": "아이콘",
+ "iconPlaceholder": "예: 🤖",
+ "idCopied": "ID가 클립보드에 복사되었습니다",
+ "idleNoTask": "대기 중 — 할당된 작업 없음",
+ "immediate": "즉시",
+ "import": "가져오기",
+ "importAgents": "에이전트 가져오기",
+ "importButton": "{{label}} 가져오기",
+ "importComplete": "가져오기 완료",
+ "importDescription": "Agent Companies 패키지에서 에이전트를 가져옵니다. companies.sh 카탈로그에서 공개된 에이전트를 찾아보고, AGENTS.md 파일을 업로드하거나, 디렉터리를 선택하거나, 매니페스트 내용을 붙여넣으세요.",
+ "importingAgents": "에이전트 {{count}}개{{plural}} 가져오는 중...",
+ "importingAgentsAndSkills": "에이전트 {{agentCount}}개{{agentPlural}}와 스킬 {{skillCount}}개{{skillPlural}} 가져오는 중...",
+ "importingSkills": "스킬 {{count}}개{{plural}} 가져오는 중...",
+ "inProgress": "진행 중",
+ "inbox": "받은 편지함",
+ "inheritProjectDefault": "프로젝트 기본값 상속",
+ "inheritingProjectDefault": "프로젝트 기본값을 상속 중",
+ "inlineMemoryFieldHint": "이 메모리는 에이전트 컨텍스트에 직접 포함됩니다.",
+ "inlineMemoryHint": "매 하트비트마다 주입되는 단기 메모리입니다.",
+ "inlineMemoryLabel": "인라인 메모리",
+ "input": "입력",
+ "inputTokens": "입력",
+ "installs": "설치",
+ "instructionsDescription": "이 에이전트의 동작을 안내하는 영구 지침입니다.",
+ "instructionsEmptyPreview": "아직 지침이 없습니다 — 편집 모드로 전환하여 추가하세요.",
+ "instructionsFileEditorDesc": "연결된 지침 파일을 직접 편집합니다.",
+ "instructionsFileEditorTitle": "지침 파일",
+ "instructionsFileSaveFailed": "지침 파일을 저장하지 못했습니다",
+ "instructionsFileSaved": "지침 파일이 저장되었습니다",
+ "instructionsHint": "이 지침은 에이전트가 받는 모든 프롬프트 앞에 추가됩니다.",
+ "instructionsPathHint": "이 에이전트의 지침이 포함된 마크다운 파일 경로입니다.",
+ "instructionsPathLabel": "지침 파일 경로",
+ "instructionsPathPlaceholder": "/path/to/instructions.md",
+ "instructionsPlaceholder": "이 에이전트의 지침을 입력하세요...",
+ "instructionsSaveFailed": "지침을 저장하지 못했습니다",
+ "instructionsSaved": "지침이 저장되었습니다",
+ "instructionsTextPlaceholder": "커스텀 동작 지침을 추가하세요...",
+ "instructionsTitle": "지침",
+ "intentPrompt": "이 에이전트가 무엇을 수행하길 원하시나요?",
+ "interval": "간격",
+ "interviewDraftApplied": "인터뷰 초안이 적용되었습니다",
+ "last24h": "최근 24시간",
+ "last7d": "최근 7일",
+ "lastHeartbeat": "마지막 하트비트",
+ "latestRunLabel": "최신 실행",
+ "layoutAuto": "자동",
+ "layoutAutoAria": "자동 레이아웃",
+ "layoutHorizontal": "가로",
+ "layoutHorizontalAria": "가로 레이아웃",
+ "layoutVertical": "세로",
+ "layoutVerticalAria": "세로 레이아웃",
+ "listView": "목록 보기",
+ "lite": "라이트",
+ "live": "라이브",
+ "liveLogs": "실시간 로그",
+ "liveRun": "실시간 실행",
+ "loadError": "에이전트를 불러오지 못했습니다: {{error}}",
+ "loadTasksFailed": "작업을 불러오지 못했습니다",
+ "loading": "에이전트 불러오는 중...",
+ "loadingAgents": "에이전트 불러오는 중...",
+ "loadingCompanies": "회사 목록 불러오는 중…",
+ "loadingDetails": "실행 세부 정보 불러오는 중...",
+ "loadingEligibility": "적격성 확인 중…",
+ "loadingEligible": "적격 에이전트 불러오는 중...",
+ "loadingEmployees": "직원 목록 불러오는 중...",
+ "loadingFile": "파일 불러오는 중...",
+ "loadingFileContent": "파일 내용 불러오는 중...",
+ "loadingLogs": "로그 불러오는 중...",
+ "loadingMailbox": "메일함 불러오는 중...",
+ "loadingMemoryFiles": "메모리 파일 불러오는 중...",
+ "loadingModels": "모델 불러오는 중…",
+ "loadingOrgChart": "조직도 불러오는 중...",
+ "loadingReportingChain": "보고 체계 불러오는 중...",
+ "loadingRuns": "실행 내역 불러오는 중...",
+ "loadingRuntimes": "런타임 불러오는 중...",
+ "loadingSkillContent": "스킬 내용 불러오는 중...",
+ "loadingTasks": "작업 불러오는 중...",
+ "logEntries": "로그 항목",
+ "logsWillAppear": "에이전트가 실행되면 로그가 여기에 표시됩니다.",
+ "logsWillAppearActive": "로그가 여기에 표시됩니다.",
+ "mailFrom": "보낸 사람",
+ "mailSent": "보낸 날짜",
+ "mailTo": "받는 사람",
+ "mailToLabel": "받는 사람",
+ "mailType": "유형",
+ "mailboxLoadFailed": "메일함을 불러오지 못했습니다",
+ "manifestContent": "매니페스트 내용",
+ "manifestPlaceholder": "---\nname: CEO\ntitle: Chief Executive Officer\nreportsTo: null\nskills:\n - review\n---\nAgent instructions go here...",
+ "maxConcurrentRunsHint": "동시에 실행할 수 있는 최대 하트비트 수입니다.",
+ "maxConcurrentRunsLabel": "최대 동시 실행 수",
+ "maxTurns": "최대 턴",
+ "memoryDescription": "이 에이전트의 장기 및 작업 메모리를 관리합니다.",
+ "memoryEmptyPreview": "아직 인라인 메모리가 없습니다 — 편집 모드로 전환하여 추가하세요.",
+ "memoryFileEditMode": "편집 모드",
+ "memoryFileEmptyPreview": "빈 파일입니다 — 편집 모드로 전환하여 내용을 추가하세요.",
+ "memoryFileLoadFailed": "메모리 파일을 불러오지 못했습니다",
+ "memoryFileMeta": "{{size}}바이트 · {{date}} 업데이트됨",
+ "memoryFilePlaceholder": "메모리 파일 내용...",
+ "memoryFilePreviewMode": "미리보기 모드",
+ "memoryFileSaveFailed": "메모리 파일을 저장하지 못했습니다",
+ "memoryFileSaved": "메모리 파일이 저장되었습니다",
+ "memoryFilesHint": "에이전트의 메모리 레이어에 저장된 파일입니다.",
+ "memoryFilesHintSuffix": "파일을 선택하여 내용을 보거나 편집하세요.",
+ "memoryFilesLabel": "메모리 파일",
+ "memoryFilesLoadFailed": "메모리 파일을 불러오지 못했습니다",
+ "memoryLayerDaily": "일간",
+ "memoryLayerDailyDesc": "매일 초기화되는 단기 메모입니다.",
+ "memoryLayerDreams": "드림",
+ "memoryLayerDreamsDesc": "최근 활동에서 합성된 성찰 내용입니다.",
+ "memoryLayerLongTerm": "장기",
+ "memoryLayerLongTermDesc": "세션 간에 유지되는 영구적인 사실과 지식입니다.",
+ "memoryPlaceholder": "이 에이전트의 인라인 메모리를 입력하세요...",
+ "memoryReadOnly": "읽기 전용",
+ "memorySaveFailed": "메모리를 저장하지 못했습니다",
+ "memorySaved": "메모리가 저장되었습니다",
+ "memoryTitle": "메모리",
+ "memoryTooLong": "메모리 내용이 너무 깁니다",
+ "messageResponseModeHint": "이 에이전트가 수신 메시지에 응답하는 시점입니다.",
+ "messageResponseModeLabel": "메시지 응답 모드",
+ "minutesUnit": "분",
+ "modalTitle": "에이전트",
+ "model": "모델",
+ "modelDefault": "기본값",
+ "modelDescription": "이 에이전트가 추론에 사용할 AI 모델을 선택합니다.",
+ "modelPlaceholder": "모델 선택…",
+ "modelTitle": "모델",
+ "monthly": "월간",
+ "name": "이름",
+ "nameLabel": "이름",
+ "namePlaceholder": "에이전트 이름...",
+ "never": "없음",
+ "newAgent": "새 에이전트",
+ "next": "다음",
+ "nextExpected": "다음 예정",
+ "nextHeartbeat": "다음 하트비트까지 {{elapsed}}",
+ "noActiveAssignment": "활성 할당 없음",
+ "noActiveEligible": "일시정지 가능한 활성 에이전트 없음",
+ "noActivityYet": "아직 활동 없음",
+ "noAgentsFound": "매니페스트에서 에이전트를 찾을 수 없습니다.",
+ "noAgentsMdFiles": "선택한 디렉터리에 AGENTS.md 파일이 없습니다",
+ "noAgentsToPause": "일시정지 가능한 에이전트 없음",
+ "noAgentsToPauseHint": "일시정지할 활성 또는 실행 중인 프로젝트 에이전트가 없습니다",
+ "noAgentsToResume": "재개 가능한 에이전트 없음",
+ "noAgentsToResumeHint": "재개할 일시정지된 프로젝트 에이전트가 없습니다",
+ "noCompaniesAvailable": "사용 가능한 회사 없음",
+ "noCompaniesMatch": "검색 결과와 일치하는 회사가 없습니다",
+ "noEmployees": "직원 없음",
+ "noEmployeesDesc": "이 에이전트에는 직속 부하 직원이 없습니다.",
+ "noInboxMessages": "받은 편지함에 메시지 없음",
+ "noInstructionsPath": "지침 파일 경로가 설정되지 않았습니다",
+ "noLimit": "제한 없음",
+ "noLogEntriesYet": "아직 로그 항목 없음",
+ "noLogsForRun": "이 실행에 대한 로그가 없습니다",
+ "noManager": "관리자 없음",
+ "noMemoryFiles": "메모리 파일 없음",
+ "noOutboxMessages": "보낸 편지함에 메시지 없음",
+ "noOutputCaptured": "캡처된 출력 없음",
+ "noPausedEligible": "재개 가능한 일시정지된 에이전트 없음",
+ "noReportingChain": "보고 체계 없음",
+ "noReset": "초기화 없음",
+ "noRunsYet": "아직 실행 내역 없음",
+ "noRuntimes": "사용 가능한 런타임 없음",
+ "noSkillContent": "사용 가능한 스킬 내용 없음",
+ "noSkillMd": "스킬 문서를 찾을 수 없습니다",
+ "noSkillsInPackage": "패키지에 스킬 없음",
+ "noTasksAssigned": "할당된 작업 없음",
+ "noTokenUsageYet": "아직 토큰 사용 내역이 없습니다. 에이전트가 실행되면 토큰 합계가 여기에 표시됩니다.",
+ "noneUsingBuiltIn": "없음 (기본 내장 사용)",
+ "notScheduled": "예약되지 않음",
+ "notSelected": "선택되지 않음",
+ "off": "끄기",
+ "onHeartbeat": "하트비트 시",
+ "onboarding": {
+ "applyDraftAgent": "에이전트 양식에 초안 적용",
+ "applyDraftSettings": "설정 양식에 초안 적용",
+ "continue": "계속",
+ "dialogLabel": "AI 인터뷰",
+ "draftIntro": "생성된 초안을 검토하세요. 확인하기 전까지는 적용되지 않습니다.",
+ "draftReady": "검토할 초안이 준비되었습니다",
+ "fieldAgentMemory": "에이전트 메모리",
+ "fieldHeartbeatEnabled": "하트비트 활성화",
+ "fieldHeartbeatInterval": "하트비트 간격",
+ "fieldHeartbeatPath": "하트비트 절차 경로",
+ "fieldIcon": "아이콘",
+ "fieldInlineInstructions": "인라인 지침",
+ "fieldMaxTurns": "최대 턴",
+ "fieldModelHint": "모델 힌트",
+ "fieldName": "이름",
+ "fieldPatternAgent": "패턴 에이전트",
+ "fieldReportsTo": "보고 대상",
+ "fieldRole": "역할",
+ "fieldRuntimeHint": "런타임 힌트",
+ "fieldSkills": "스킬",
+ "fieldSoul": "소울",
+ "fieldTemplate": "템플릿",
+ "fieldThinkingLevel": "사고 수준",
+ "fieldTitle": "제목",
+ "intentLabelCreate": "이 새 에이전트가 담당할 업무는 무엇인가요?",
+ "intentLabelEdit": "이 에이전트가 변경하거나 개선해야 할 사항은 무엇인가요?",
+ "no": "아니요",
+ "notSet": "설정되지 않음",
+ "sectionConfiguration": "구성",
+ "sectionIdentity": "신원",
+ "sectionRationale": "근거",
+ "sectionRuntimeHints": "런타임 힌트",
+ "startInterview": "인터뷰 시작",
+ "startOnboarding": "온보딩 시작",
+ "thinking": "생각 중...",
+ "title": "AI 인터뷰",
+ "updatedDraftReady": "업데이트된 초안이 검토 준비되었습니다",
+ "yes": "예"
+ },
+ "openDetails": "{{name}} 세부 정보 열기",
+ "optional": "(선택 사항)",
+ "orPasteManifest": "또는 매니페스트 내용 붙여넣기",
+ "orgChartCanvas": "조직도 캔버스",
+ "orgChartCenter": "조직도 중앙 정렬",
+ "orgChartEmployees": "{{name}} 직원",
+ "orgChartFit": "조직도 맞춤",
+ "orgChartLoadFailed": "조직도를 불러오지 못했습니다: {{error}}",
+ "orgChartView": "조직도 보기",
+ "orgChartZoomIn": "조직도 확대",
+ "orgChartZoomOut": "조직도 축소",
+ "outbox": "보낸 편지함",
+ "output": "출력",
+ "outputTokens": "출력",
+ "overview": "개요",
+ "parsing": "파싱 중…",
+ "pause": "일시정지",
+ "pauseAction": "일시정지",
+ "pauseAgentsFailed": "에이전트를 일시정지하지 못했습니다: {{error}}",
+ "pauseAll": "모두 일시정지",
+ "pauseAllAgents": "모든 에이전트 일시정지",
+ "pauseAllTitle": "모든 에이전트 일시정지",
+ "pauseCountHint": "활성 에이전트 {{count}}개가 일시정지됩니다",
+ "pauseCountHint_one": "활성/실행 중인 에이전트 {{count}}개 일시정지",
+ "pauseCountHint_other": "활성/실행 중인 에이전트 {{count}}개 일시정지",
+ "pausedPast": "일시정지됨",
+ "pendingApprovals": "승인 대기 중",
+ "pendingApprovalsCount": "{{count}}건 대기 중",
+ "performance": {
+ "avgDuration": "평균 소요 시간",
+ "noData": "아직 성능 데이터 없음",
+ "reflections": "성찰",
+ "successRate": "성공률",
+ "tasksCompleted": "완료된 작업",
+ "tasksFailed": "실패한 작업"
+ },
+ "permissionPolicyFailed": "권한 정책을 업데이트하지 못했습니다",
+ "permissionPolicyUpdated": "권한 정책이 업데이트되었습니다",
+ "permissionsDescription": "이 에이전트가 수행할 수 있는 작업을 제어합니다.",
+ "permissionsTitle": "권한",
+ "pluginRuntime": "플러그인 런타임",
+ "presetsHeader": "역할, 신원, 소울 및 지침을 미리 채울 페르소나 프리셋을 선택하세요",
+ "preview": "미리보기",
+ "promptSize": "프롬프트 크기",
+ "promptSizeChart": "프롬프트 크기 차트",
+ "ratings": {
+ "addError": "평가를 추가하지 못했습니다: {{error}}",
+ "addRating": "평가 추가",
+ "addSuccess": "평가가 추가되었습니다",
+ "categoryAverages": "카테고리 평균",
+ "categoryCommunication": "커뮤니케이션",
+ "categoryOther": "기타",
+ "categoryQuality": "품질",
+ "categoryReliability": "신뢰도",
+ "categorySelect": "카테고리 선택...",
+ "categorySpeed": "속도",
+ "commentPlaceholder": "선택적 댓글...",
+ "count": "평가 {{count}}개",
+ "deleteError": "평가를 삭제하지 못했습니다: {{error}}",
+ "deleteRating": "평가 삭제",
+ "deleteSuccess": "평가가 삭제되었습니다",
+ "historyTitle": "평가 내역",
+ "loadError": "평가를 불러오지 못했습니다: {{error}}",
+ "loading": "평가 불러오는 중...",
+ "noRatings": "아직 평가 없음",
+ "starCount": "별 {{count}}개",
+ "submitRating": "평가 제출",
+ "submitting": "제출 중...",
+ "title": "사용자 평가",
+ "trendDeclining": "↓ 하락 중",
+ "trendImproving": "↑ 개선 중",
+ "trendInsufficient": "데이터 부족",
+ "trendStable": "→ 안정"
+ },
+ "recentRuns": "최근 실행",
+ "reflections": {
+ "agentNotFound": "이 에이전트는 더 이상 사용할 수 없습니다. 삭제되었을 수 있습니다.",
+ "generateError": "성찰을 생성하지 못했습니다: {{error}}",
+ "generateSuccess": "성찰이 성공적으로 생성되었습니다",
+ "getStarted": "성찰을 트리거하여 시작하세요",
+ "historyTitle": "성찰 내역",
+ "insights": "인사이트",
+ "insufficientHistory": "성찰을 생성하기에 충분한 히스토리가 없습니다",
+ "loadError": "성찰을 불러오지 못했습니다: {{error}}",
+ "loading": "성찰 불러오는 중...",
+ "loadingEvaluation": "평가 불러오는 중...",
+ "metricAvgDuration": "평균 소요 시간:",
+ "metricErrors": "오류:",
+ "metricFailed": "실패:",
+ "metricTasks": "작업:",
+ "metrics": "지표",
+ "noReflections": "아직 성찰 없음",
+ "reflectNow": "지금 성찰",
+ "reflectNowTitle": "수동 성찰 생성",
+ "reflecting": "성찰 중...",
+ "sectionTitle": "성능, 성찰 및 평가",
+ "suggestedImprovements": "개선 제안",
+ "triggerManual": "수동",
+ "triggerPeriodic": "주기적",
+ "triggerPostTask": "작업 후",
+ "triggerUserRequested": "사용자 요청"
+ },
+ "refresh": "새로 고침",
+ "removeAvatar": "아바타 제거",
+ "replyingTo": "회신 대상",
+ "reportsToLabel": "보고 대상",
+ "resetBudgetUsage": "예산 사용량 초기화",
+ "resetDayHint": "예산이 초기화되는 요일 또는 날짜입니다.",
+ "resetDayLabel": "초기화 날짜",
+ "resetDayMonthly": "날짜 (1–28)",
+ "resetDayWeekly": "요일 (0=일요일)",
+ "resetting": "초기화 중...",
+ "result": "결과",
+ "resultCreated": "{{count}}개 생성됨",
+ "resultErrors": "{{count}}개 오류{{plural}}",
+ "resultSkipped": "{{count}}개 건너뜀 (이미 존재함)",
+ "resume": "재개",
+ "resumeAction": "재개",
+ "resumeAgentsFailed": "에이전트를 재개하지 못했습니다: {{error}}",
+ "resumeAll": "모두 재개",
+ "resumeAllAgents": "모든 에이전트 재개",
+ "resumeAllTitle": "모든 에이전트 재개",
+ "resumeCountHint": "일시정지된 에이전트 {{count}}개가 재개됩니다",
+ "resumeCountHint_one": "일시정지된 에이전트 {{count}}개 재개",
+ "resumeCountHint_other": "일시정지된 에이전트 {{count}}개 재개",
+ "resumedPast": "재개됨",
+ "retry": "재시도",
+ "reviewConfiguration": "생성된 구성 검토",
+ "reviewHint": "에이전트를 생성하기 전에 구성을 검토하세요.",
+ "role": "역할",
+ "roleCustom": "커스텀",
+ "roleEngineer": "엔지니어",
+ "roleExecutor": "실행자",
+ "roleLabel": "역할",
+ "roleLabel2": "역할",
+ "roleMerger": "병합자",
+ "roleReviewer": "검토자",
+ "roleScheduler": "스케줄러",
+ "roleTriage": "트리아지",
+ "roleUpdateError": "역할 업데이트 실패: {{error}}",
+ "roleUpdateFailed": "역할 업데이트 실패: {{error}}",
+ "roleUpdateSuccess": "에이전트 역할이 {{role}}(으)로 업데이트되었습니다",
+ "roleUpdated": "에이전트 역할이 {{role}}(으)로 업데이트되었습니다",
+ "runAriaLabel": "실행 {{id}}",
+ "runDetailsFailed": "실행 세부 정보를 불러오지 못했습니다",
+ "runMissedHeartbeat": "하트비트 누락",
+ "runMissedHeartbeatHint": "에이전트가 예약된 하트비트를 놓치면 실행을 트리거합니다.",
+ "runNow": "지금 실행",
+ "runNowAria": "{{name}} 지금 실행",
+ "runNowFor": "{{name}} 지금 실행",
+ "runStarted": "실행이 시작되었습니다",
+ "runStopped": "실행이 중지되었습니다",
+ "running": "실행 중",
+ "runs": {
+ "empty": "실행 기록 없음",
+ "loading": "실행 목록 로드 중…",
+ "stop": "중지",
+ "stopAriaLabel": "실행 중지",
+ "stopMessage": "이 실행을 중지하시겠습니까?",
+ "stopTitle": "실행 중지"
+ },
+ "runsCount": "{{count}}회 실행",
+ "runsSuccessRate": "성공률 {{rate}}%",
+ "runsToday": "오늘 실행 횟수",
+ "runtime": "런타임",
+ "runtimeEmpty": "사용 가능한 플러그인 런타임 없음",
+ "runtimeLabel": "런타임",
+ "runtimeMode": "런타임 모드",
+ "runtimePlaceholder": "플러그인 런타임 선택…",
+ "runtimeSource": "런타임 소스",
+ "runtimeSourceBuiltIn": "내장 모델",
+ "runtimeSourcePlugin": "플러그인 런타임",
+ "save": "저장",
+ "saveBeforeSwitch": "파일 전환 전 변경 사항을 저장하세요",
+ "saveCustomInterval": "사용자 지정 간격 저장",
+ "saveFailed": "저장 실패",
+ "saveFile": "파일 저장",
+ "saveHeartbeatFile": "하트비트 파일 저장",
+ "saveInstructions": "지시 사항 저장",
+ "saveMemory": "메모리 저장",
+ "saveMemoryFile": "메모리 파일 저장",
+ "saveSettings": "설정 저장",
+ "saveSoul": "소울 저장",
+ "saving": "저장 중…",
+ "savingChanges": "변경 사항 저장 중...",
+ "savingFile": "파일 저장 중...",
+ "scopeDisciplineHint": "에이전트가 하트비트 실행 중 범위를 얼마나 엄격하게 따를지 제어합니다.",
+ "searchCompanies": "회사 검색…",
+ "sectionConfiguration": "설정",
+ "sectionIdentity": "ID",
+ "sectionRuntime": "런타임",
+ "selectAgent": "에이전트 {{name}} 선택",
+ "selectAgentHint": "사이드바에서 에이전트를 선택하여 세부 정보를 확인하세요",
+ "selectAllAgents": "모든 에이전트 선택",
+ "selectAllSkills": "모든 스킬 선택",
+ "selectAnAgent": "에이전트 선택",
+ "selectDirectory": "디렉터리 선택",
+ "selectMemoryFile": "메모리 파일 선택",
+ "selectModel": "모델",
+ "selectModelPlaceholder": "모델 선택…",
+ "selectRuntime": "런타임 선택",
+ "selectSkill": "스킬 {{name}} 선택",
+ "selected": "선택됨:",
+ "selectedAgentLabel": "에이전트 {{count}}개",
+ "selectedSkillLabel": "스킬 {{count}}개",
+ "setHeartbeatAria": "{{name}}의 하트비트 간격 설정",
+ "settingsSaveFailed": "설정 저장 실패",
+ "settingsSaved": "설정이 저장되었습니다",
+ "setupModeAriaLabel": "에이전트 설정 모드",
+ "showSystemAgents": "시스템 에이전트 표시",
+ "skills": "스킬",
+ "skillsDescription": "이 에이전트에서 사용할 수 있는 스킬을 관리합니다.",
+ "skillsErrors": "스킬 {{count}}개 오류{{pluralError}}",
+ "skillsFound": "스킬 {{count}}개 발견",
+ "skillsHint": "이 에이전트에 할당할 선택적 스킬",
+ "skillsImported": "스킬 {{count}}개 가져옴",
+ "skillsNone": "할당된 스킬 없음",
+ "skillsSelected": "스킬 {{count}}개 선택됨",
+ "skillsSkipped": "스킬 {{count}}개 건너뜀 (이미 존재함)",
+ "skillsTitle": "스킬",
+ "skipHeartbeatWhenIdle": "유휴 상태일 때 하트비트 건너뜀",
+ "skipHeartbeatWhenIdleHint": "에이전트가 할 일이 없을 때 하트비트 실행을 방지합니다.",
+ "soulDescription": "소울은 이 에이전트의 성격, 가치관, 커뮤니케이션 스타일을 정의합니다.",
+ "soulEmptyPreview": "아직 소울이 없습니다 — 편집 모드로 전환하여 추가하세요.",
+ "soulHint": "이 에이전트가 누구인지 설명하세요 — 성격, 어조, 가치관.",
+ "soulPlaceholder": "이 에이전트의 소울을 설명하세요...",
+ "soulSaveFailed": "소울 저장 실패",
+ "soulSaved": "소울이 저장되었습니다",
+ "soulTitle": "소울",
+ "soulTooLong": "소울 내용이 너무 깁니다",
+ "start": "시작",
+ "startOnboarding": "온보딩 시작",
+ "starting": "시작 중...",
+ "stateActive": "활성",
+ "stateAll": "모든 상태",
+ "stateError": "오류",
+ "stateIdle": "유휴",
+ "statePaused": "일시 정지",
+ "stateRunning": "실행 중",
+ "stateUpdateError": "상태 업데이트 실패: {{error}}",
+ "stateUpdateFailed": "에이전트 상태 업데이트 실패",
+ "stateUpdateSuccess": "에이전트 상태가 {{state}}(으)로 업데이트되었습니다",
+ "stateUpdated": "에이전트 상태가 업데이트되었습니다",
+ "status": "상태",
+ "statusCount": "{{activeCount}}개 활성 · {{runningCount}}개 실행 중",
+ "step": "단계 {{number}}{{total}}: {{name}}",
+ "stepAriaLabel": "단계 {{step}}",
+ "stop": "중지",
+ "stopActiveRun": "활성 실행 중지",
+ "stopActiveRunFor": "{{name}}의 활성 실행 중지",
+ "stopRun": "실행 중지",
+ "stopRunConfirm": "이 실행을 중지하시겠습니까?",
+ "stopRunFailed": "실행 중지 실패",
+ "stopRunTitle": "실행 중지",
+ "strict": "엄격",
+ "successRate": "성공률",
+ "systemDefault": "시스템 기본값",
+ "systemDefaultOnHeartbeat": "시스템 기본값 (하트비트 시)",
+ "systemPrompt": "시스템 프롬프트",
+ "systemPromptNotCaptured": "시스템 프롬프트가 캡처되지 않았습니다",
+ "tabConfig": "설정",
+ "tabCustom": "사용자 지정 에이전트",
+ "tabDashboard": "대시보드",
+ "tabEmployees": "직원",
+ "tabInstructions": "지시 사항",
+ "tabLogs": "로그",
+ "tabMail": "메일",
+ "tabMemory": "메모리",
+ "tabPresets": "프리셋 페르소나",
+ "tabReflections": "회고",
+ "tabRuns": "실행",
+ "tabSoul": "소울",
+ "tabTasks": "작업",
+ "taskUpdated": "작업이 업데이트되었습니다",
+ "templateCompact": "간결",
+ "templateDefault": "기본",
+ "thinkingHigh": "높음",
+ "thinkingLevel": "사고 수준",
+ "thinkingLow": "낮음",
+ "thinkingMedium": "보통",
+ "thinkingMinimal": "최소",
+ "thinkingOff": "끄기",
+ "throughput": "처리량",
+ "time": {
+ "daysAgo": "{{count}}일 전",
+ "hoursAgo": "{{count}}시간 전",
+ "inAMoment": "잠시 후",
+ "inDays": "{{count}}일 후",
+ "inHours": "{{count}}시간 후",
+ "inMinutes": "{{count}}분 후",
+ "justNow": "방금",
+ "minutesAgo": "{{count}}분 전"
+ },
+ "title": "에이전트",
+ "titleLabel": "직함",
+ "titlePlaceholder": "예) 시니어 엔지니어",
+ "tokenBudgetHint": "이 에이전트가 예산 기간당 사용할 수 있는 최대 토큰 수입니다.",
+ "tokenBudgetLabel": "토큰 예산",
+ "tokenStatistics": "에이전트 토큰 사용 통계",
+ "tokenUsage": "토큰 사용량",
+ "tokenUsageByAgent": "에이전트별 토큰 사용량",
+ "tokenUsageTotals": "총 토큰 사용량",
+ "total": "합계",
+ "totalRuns": "총 실행 횟수",
+ "unknownManager": "알 수 없는 관리자",
+ "unreadMessage": "읽지 않음",
+ "upgradeHint": "다음에서 업그레이드",
+ "upgradeHintSuffix": "최신 기본값으로.",
+ "upgradeHintTo": "으로",
+ "upgradeToDefault": "기본값으로 업그레이드",
+ "upgradeToDefaultAriaLabel": "하트비트 절차를 기본값으로 업그레이드",
+ "upgrading": "업그레이드 중...",
+ "uploadAvatar": "아바타 업로드",
+ "usageThresholdHint": "사용량이 예산의 해당 비율에 도달하면 경고를 보냅니다.",
+ "usageThresholdLabel": "사용량 경고 임계값 (%)",
+ "useGlobalDefault": "전역 기본값 사용",
+ "viewAgent": "에이전트 보기",
+ "viewDetailsFor": "{{name}} 세부 정보 보기",
+ "viewHeartbeatMarkdown": "하트비트 마크다운 보기",
+ "viewLiveLogs": "실시간 실행 로그 보기",
+ "viewLiveRun": "실시간 실행 세부 정보 보기",
+ "viewLiveRunAria": "{{name}}의 실시간 실행 세부 정보 보기",
+ "viewLogsFor": "{{taskId}}의 실시간 로그 보기",
+ "viewSkillDetails": "스킬 세부 정보 보기",
+ "viewTask": "작업 보기",
+ "waitingForActivity": "활동 대기 중...",
+ "waitingForQuestion": "AI 질문 대기 중...",
+ "waitingOutput": "출력 대기 중...",
+ "weekly": "주간",
+ "workingOn": "작업 중",
+ "zoomIn": "확대",
+ "zoomOut": "축소"
+ },
+ "app": {
+ "backendError": {
+ "failedFetch": "프로젝트를 불러오지 못했습니다"
+ },
+ "testMode": "테스트 모드 — 실제 AI 호출 없음"
+ },
+ "approval": {
+ "dismissBanner": "승인 알림 배너 닫기",
+ "needAttention": "{{count}}개의 승인 {{noun}}이 확인을 기다리고 있습니다",
+ "openMailbox": "메일함 열기",
+ "requestPlural": "요청들",
+ "requestSingular": "요청",
+ "requests": "승인 요청"
+ },
+ "auth": {
+ "clearAndRetry": "토큰 초기화 후 재시도",
+ "pasteToken": "토큰 붙여넣기",
+ "relogin": "재로그인",
+ "reloginRequired": "재로그인 필요: {{provider}}. {{provider}} 세션이 만료되었습니다 — 에이전트를 계속 실행하려면 다시 로그인하세요.",
+ "reloginRequiredMultiple": "재로그인 필요: {{providers}}",
+ "replacementToken": "대체 토큰",
+ "setAndReload": "토큰 설정 후 새로고침",
+ "tokenRecoveryDescription": "이 대시보드 세션이 데몬에 인증할 수 없습니다. 대체 토큰을 설정하거나 현재 토큰을 초기화한 후 재시도하세요.",
+ "tokenRequired": "인증 토큰이 필요합니다"
+ },
+ "backend": {
+ "changeLaunchMode": "실행 모드 변경…",
+ "connectionError": "Fusion 백엔드에 연결할 수 없습니다",
+ "couldNotLoad": "Fusion이 현재 프로젝트를 불러올 수 없습니다. 백엔드가 실행 중인지 확인하고 다시 시도하세요.",
+ "error": "오류: {{error}}",
+ "manageConnection": "연결 관리",
+ "retryConnection": "연결 재시도",
+ "retrying": "재시도 중…"
+ },
+ "backgroundTasks": {
+ "confirmMessage": "이 세션은 다른 탭에서 활성화되어 있습니다. 그래도 여시겠습니까?",
+ "confirmTitle": "활성 세션 열기",
+ "dismissButton": "닫기",
+ "pillLabel": "AI {{count}}",
+ "pillTitle": "백그라운드 AI 작업 {{count}}개",
+ "pillTitleWithInput": "백그라운드 AI 작업 {{count}}개 ({{needsInput}}개 입력 필요)",
+ "popoverHeader": "백그라운드 작업",
+ "status": {
+ "activeElsewhere": "다른 탭에서 활성화됨",
+ "failed": "실패",
+ "generating": "생성 중...",
+ "needsInput": "입력 필요"
+ },
+ "typeLabel": {
+ "milestoneInterview": "마일스톤 인터뷰",
+ "missionInterview": "미션 인터뷰",
+ "planning": "계획",
+ "sliceInterview": "슬라이스 인터뷰",
+ "subtask": "하위 작업 분류"
+ }
+ },
+ "board": {
+ "archived": "보관됨",
+ "done": "완료",
+ "inProgress": "진행 중",
+ "inReview": "검토 중",
+ "todo": "할 일",
+ "triage": "트리아지"
+ },
+ "branchGroup": {
+ "autoMergeEnabled": "자동 병합 사용",
+ "collapseLabel": "브랜치 그룹 접기",
+ "completionText": "{{total}}명 중 {{landed}}명 완료",
+ "expandLabel": "브랜치 그룹 펼치기",
+ "groupLabel": "그룹 {{id}}",
+ "loadError": "브랜치 그룹을 불러오지 못했습니다",
+ "loading": "브랜치 그룹 로드 중…",
+ "mergeIntoMain": "그룹을 main에 병합",
+ "openPr": "PR 열기",
+ "unavailable": "브랜치 그룹을 사용할 수 없습니다"
+ },
+ "capacity": {
+ "dismiss": "용량 경고 닫기",
+ "risk": "용량 위험:",
+ "status": "할 일 {{todoCount}}개 (임계값 {{threshold}}) · 진행 중 {{inProgress}} · 검토 중 {{inReview}} · 유휴 에이전트 {{idleAgents}}"
+ },
+ "changes": {
+ "disableWrap": "자동 줄 바꿈 끄기",
+ "enableWrap": "자동 줄 바꿈 켜기",
+ "merged": "{{date}} 병합됨",
+ "nextFile": "다음 파일 (Ctrl+↓)",
+ "nextFileAria": "다음 파일",
+ "noDiff": "이 파일에 사용 가능한 차이가 없습니다.",
+ "previousFile": "이전 파일 (Ctrl+↑)",
+ "previousFileAria": "이전 파일",
+ "selectFile": "파일을 선택하여 차이를 확인하세요",
+ "title": "변경 사항",
+ "toggleWrap": "자동 줄 바꿈 전환"
+ },
+ "chat": {
+ "archive": "보관",
+ "attachFiles": "파일 첨부",
+ "cancel": "취소",
+ "cancelButton": "취소",
+ "clearConversationFailed": "대화 초기화 실패",
+ "closeQuickChat": "빠른 채팅 닫기",
+ "connectingStatus": "연결 중…",
+ "conversationArchived": "대화가 보관되었습니다",
+ "conversationDeleted": "대화가 삭제되었습니다",
+ "copyFailed": "복사 실패",
+ "copyResponse": "응답 복사",
+ "create": "만들기",
+ "createButton": "만들기",
+ "createRoom": "방 만들기",
+ "delete": "삭제",
+ "deleteConversation": "대화 삭제",
+ "deleteConversationBody": "이 작업은 되돌릴 수 없습니다. 이 대화의 모든 메시지가 영구적으로 삭제됩니다.",
+ "deleteConversationTitle": "대화를 삭제하시겠습니까?",
+ "deleteRoom": "방 {{name}} 삭제",
+ "deleteRoomBody": "이 작업은 되돌릴 수 없습니다. 이 방과 모든 메시지가 영구적으로 삭제됩니다.",
+ "deleteRoomTitle": "방을 삭제하시겠습니까?",
+ "dismissQueuedMessage": "대기 중인 메시지 닫기",
+ "failedToArchiveConversation": "대화 보관 실패",
+ "failedToClearConversation": "대화 초기화 실패",
+ "failedToClearRoomConversation": "방 대화 초기화 실패",
+ "failedToCreateSession": "채팅 세션 생성 실패",
+ "failedToDeleteConversation": "대화 삭제 실패",
+ "failedToDeleteRoom": "방 삭제 실패",
+ "failedToGetResponse": "응답을 가져오지 못했습니다",
+ "failedToSendRoomMessage": "방 메시지 전송 실패",
+ "failureDetails": "실패 세부 정보",
+ "failureReferenceId": "ID",
+ "failureReferenceKind": "종류",
+ "failureReferenceLabel": "참조",
+ "failureReferenceMetaLabel": "레이블",
+ "helpMessageContent": "사용 가능한 명령어:\n- `/new` 또는 `/clear` — 대화를 초기화하고 새로 시작\n- `/skill:{name}` — 특정 스킬 사용\n- `/help` — 이 도움말 표시",
+ "jumpToLatest": "최신",
+ "latest": "최신",
+ "loadingAgents": "에이전트 로드 중...",
+ "loadingConversation": "대화 로드 중…",
+ "loadingConversations": "로드 중...",
+ "loadingMessages": "메시지 로드 중...",
+ "loadingModels": "모델 로드 중...",
+ "loadingOlderMessages": "이전 메시지 로드 중…",
+ "loadingSessions": "세션 로드 중…",
+ "loadingSkills": "스킬 로드 중…",
+ "mentionNonMember": "{{roomName}}의 구성원이 아닙니다",
+ "messageAgentPlaceholder": "{{name}}에게 메시지",
+ "messageModelPlaceholder": "{{name}}에게 메시지",
+ "messageRoomPlaceholder": "#{{name}}에 메시지",
+ "messageSentButReplyFailed": "메시지가 전송되었지만 어시스턴트 응답에 실패했습니다",
+ "messageSentButReplyFailedDetail": "메시지가 전송되었지만 어시스턴트 응답에 실패했습니다: {{detail}}",
+ "modeAgent": "에이전트",
+ "modeModel": "모델",
+ "newChat": "새 채팅",
+ "newChatModeAgent": "에이전트",
+ "newChatModeModel": "모델",
+ "newChatTitle": "새 채팅",
+ "noAgentsAvailable": "사용 가능한 에이전트 없음",
+ "noConversationsYet": "아직 대화 없음",
+ "noMessages": "메시지 없음",
+ "noMessagesYet": "아직 메시지가 없습니다. 대화를 시작하세요!",
+ "noRoomsYet": "아직 방이 없습니다.",
+ "noSkillsAvailable": "사용 가능한 스킬 없음",
+ "noSkillsFound": "스킬을 찾을 수 없습니다",
+ "openMailboxMessage": "메일함 메시지 열기",
+ "openQuickChat": "빠른 채팅 열기",
+ "queuedMessage": "대기 중: {{preview}}",
+ "quickChatTitle": "빠른 채팅",
+ "relativeTimeDays": "{{count}}일 전",
+ "relativeTimeHours": "{{count}}시간 전",
+ "relativeTimeJustNow": "방금",
+ "relativeTimeMinutes": "{{count}}분 전",
+ "removeAttachment": "{{name}} 첨부 파일 제거",
+ "resizePanelBottom": "아래에서 패널 크기 조정",
+ "resizePanelBottomLeft": "왼쪽 아래 모서리에서 패널 크기 조정",
+ "resizePanelBottomRight": "오른쪽 아래 모서리에서 패널 크기 조정",
+ "resizePanelLeft": "왼쪽에서 패널 크기 조정",
+ "resizePanelRight": "오른쪽에서 패널 크기 조정",
+ "resizePanelTop": "위에서 패널 크기 조정",
+ "resizePanelTopLeft": "왼쪽 위 모서리에서 패널 크기 조정",
+ "resizePanelTopRight": "오른쪽 위 모서리에서 패널 크기 조정",
+ "resizeSidebar": "채팅 사이드바 크기 조정",
+ "responseCopied": "응답이 복사되었습니다",
+ "responseFailed": "응답 실패",
+ "roomMemberCount": "구성원 {{count}}명",
+ "roomsGroupLabel": "방",
+ "scopeDirect": "다이렉트",
+ "scopeRooms": "방",
+ "scrollMessageToTop": "메시지를 맨 위로 스크롤",
+ "searchConversations": "대화 검색...",
+ "selectAgentForNewChat": "새 채팅을 위한 에이전트 선택",
+ "selectAgentPlaceholder": "채팅을 시작할 에이전트를 선택하세요",
+ "selectModel": "모델 선택",
+ "selectModelOverrideLabel": "모델 재정의 선택",
+ "selectModelPlaceholder": "채팅을 시작할 모델을 선택하세요",
+ "selectModelPlaceholder2": "모델 선택",
+ "selectRoomOrCreate": "방을 선택하거나 새로 만드세요",
+ "selectSession": "세션 선택",
+ "selectSessionLabel": "세션 선택",
+ "sendMessageFailed": "메시지 전송 실패",
+ "sendRoomMessageFailed": "방 메시지 전송 실패",
+ "sessionsGroupLabel": "세션",
+ "showPlainText": "모든 메시지를 일반 텍스트로 표시",
+ "showRenderedMarkdown": "모든 메시지를 렌더링된 Markdown으로 표시",
+ "skillSuggestions": "스킬 제안",
+ "startNewChat": "새 채팅 시작",
+ "startNewConversation": "새 대화 시작",
+ "stopGeneration": "생성 중지",
+ "thinking": "생각 중",
+ "thinkingLabel": "생각 중",
+ "thinkingStatus": "생각 중…",
+ "toolCallArgsPrefix": "인수",
+ "toolCallResultPrefix": "결과",
+ "toolCallStatusCompleted": "완료됨",
+ "toolCallStatusError": "오류",
+ "toolCallStatusErrors": "오류들",
+ "toolCallStatusRunning": "실행 중",
+ "toolCalls": "도구 호출",
+ "toolCallsCount": "도구 호출 {{count}}회",
+ "toolCallsHeader": "도구 호출",
+ "typeMessage": "메시지를 입력하세요...",
+ "unreadMessages": "읽지 않은 메시지",
+ "untitledSession": "제목 없음",
+ "viewFailureDetails": "실패 세부 정보 보기",
+ "you": "나"
+ },
+ "chatRooms": {
+ "error": {
+ "deliveredButRefreshFailed": "메시지가 전달되었지만 방 답글을 새로고침하지 못했습니다",
+ "failedToLoad": "채팅방을 불러오지 못했습니다",
+ "failedToUpload": "첨부 파일 업로드 실패: {{filename}}",
+ "selectRoomFirst": "메시지를 보내기 전에 방을 선택하세요"
+ }
+ },
+ "cli": {
+ "installBody": "터미널 어디서든 Fusion을 사용할 수 있도록 {{fn}} 및 {{fusion}} 명령어를 설치하세요. 아래 버튼을 클릭하거나 명령어를 셸에 복사하세요.",
+ "installButton": "npm으로 설치",
+ "installTitle": "Fusion CLI 설치",
+ "installing": "설치 중…",
+ "openSettings": "설정 열기",
+ "updateButton": "npm으로 업데이트",
+ "updateTitle": "Fusion CLI 업데이트",
+ "updating": "업데이트 중…",
+ "versionMismatchInfix": "하지만 이 대시보드는 다음 버전을 필요로 합니다",
+ "versionMismatchPrefix": "설치된",
+ "versionMismatchSuffix": "최신 버전으로 업데이트하여 동기화를 유지하세요."
+ },
+ "cliBinary": {
+ "checking": "확인 중…",
+ "copied": "복사됨",
+ "copy": "복사",
+ "failedExit": "설치 실패 (종료 코드: {{code}})",
+ "heading": "CLI 바이너리",
+ "help": "전역 CLI를 설치하면 어느 터미널에서나 fn 및 fusion을 실행할 수 있습니다. 자동화 및 스크립트는 npx로도 작동하지만, 전역 설치가 더 빠르고 편리합니다.",
+ "installWithNpm": "npm으로 설치",
+ "installing": "설치 중…",
+ "notOnPath": "fn 또는 fusion이 PATH에서 발견되지 않았습니다.",
+ "orCopyLabel": "또는 직접 복사하여 실행:",
+ "refresh": "새로 고침",
+ "reinstall": "재설치",
+ "stateCheckDisabled": "확인 비활성화됨",
+ "stateInstalled": "설치됨",
+ "stateMissing": "설치되지 않음",
+ "stateVersionMismatch": "버전 불일치",
+ "succeededDuration": "{{duration}}초 만에 설치 완료"
+ },
+ "column": {
+ "actionsAriaLabel": "{{columnLabel}} 열 작업",
+ "actionsTitle": "열 작업",
+ "archiveAllDoneAriaLabel": "완료된 모든 작업 보관",
+ "archiveAllDoneTitle": "완료된 모든 작업 보관",
+ "archiveAllMessage": "완료된 작업 {{count}}개를 모두 보관하시겠습니까?",
+ "archiveAllTitle": "완료된 모든 작업 보관",
+ "archivedTasks": "{{count}}개 작업 보관됨",
+ "autoMerge": "자동 병합",
+ "autoMergeDisabled": "자동 병합 비활성화됨",
+ "autoMergeEnabled": "자동 병합 활성화됨",
+ "cancelMove": "이동 취소",
+ "collapseArchivedLabel": "보관된 작업 접기",
+ "collapseArchivedTitle": "보관된 작업 접기",
+ "expandArchivedLabel": "보관된 작업 펼치기",
+ "expandArchivedTitle": "보관된 작업 펼치기",
+ "failedToArchive": "작업 보관에 실패했습니다",
+ "keepProgress": "진행 상황 유지",
+ "loadMore": "{{count}}개 더 보기 ({{remaining}}개 남음)",
+ "moveAllToTodo": "모두 할 일로 이동",
+ "moveAllToTodoMessage": "{{columnLabel}}의 작업 {{count}}개를 모두 할 일로 이동하시겠습니까?{{plural}}",
+ "moveAllToTodoTitle": "모두 할 일로 이동",
+ "movePartialFailure": "{{total}}개 중 {{moved}}개 이동됨; {{failed}}개 실패",
+ "moveToTodoHint": "작업 {{count}}개를 할 일로 이동{{plural}}",
+ "moveToTodoPartialFailure": "{{total}}개 중 {{moved}}개를 할 일로 이동함; {{failed}}개 실패",
+ "movedToPlanning": "{{count}}개 작업을 재계획을 위해 계획 중으로 이동했습니다{{plural}}",
+ "movedToTodo": "{{count}}개 작업을 할 일로 이동했습니다{{plural}}",
+ "newTask": "새 작업",
+ "noManuallyPausableTasks": "수동으로 일시 중지 가능한 작업이 없습니다",
+ "noTasks": "작업 없음",
+ "noTasksInColumn": "이 열에 작업이 없습니다",
+ "pauseHint": "활성 미할당 작업 {{count}}개 일시 중지{{plural}}",
+ "preserveProgressMessage": "이 작업에는 완료된 단계가 있습니다. 이동하기 전에 진행 상황을 유지하시겠습니까?",
+ "preserveProgressMoveTodoMessage": "일부 작업에 완료된 단계가 있습니다. 할 일로 이동하기 전에 진행 상황을 유지하시겠습니까?",
+ "preserveProgressTitle": "진행 상황을 유지하시겠습니까?",
+ "replanAll": "모두 재계획",
+ "replanAllHint": "작업 {{count}}개를 계획 중으로 이동{{plural}}",
+ "replanAllMessage": "할 일 작업 {{count}}개를 모두 재계획을 위해 계획 중으로 이동하시겠습니까?{{plural}}",
+ "replanAllTitle": "모든 작업 재계획",
+ "resetProgress": "진행 상황 초기화",
+ "resetProgressConfirm": "진행 상황 초기화",
+ "resetProgressMessage": "이 작업을 이동하기 전에 모든 단계 진행 상황을 초기화하시겠습니까?",
+ "resetProgressMoveTodoMessage": "할 일로 이동하기 전에 작업의 단계 진행 상황을 초기화하시겠습니까?",
+ "resetProgressTitle": "진행 상황을 초기화하시겠습니까?",
+ "stopAll": "모두 중지",
+ "stopAllMessage": "{{columnLabel}}의 작업 {{count}}개를 모두 중지하시겠습니까?{{plural}}",
+ "stopAllTitle": "모든 작업 중지",
+ "stopPartialFailure": "{{total}}개 중 {{paused}}개 중지됨; {{failed}}개 실패",
+ "stoppedTasks": "{{count}}개 작업 중지됨{{plural}}"
+ },
+ "comments": {
+ "addButton": "댓글 추가",
+ "addedSuccess": "댓글이 추가되었습니다",
+ "deletedSuccess": "댓글이 삭제되었습니다",
+ "deletingButton": "삭제 중…",
+ "editedSuffix": "(수정됨)",
+ "emptyState": "아직 댓글이 없습니다.",
+ "heading": "댓글",
+ "placeholder": "댓글 추가",
+ "postingButton": "게시 중…",
+ "updatedSuccess": "댓글이 업데이트되었습니다"
+ },
+ "commit": {
+ "filesChanged": "변경된 파일 ({{count}})"
+ },
+ "commitDiff": {
+ "error": "커밋 차이 로드 오류: {{error}}",
+ "loadError": "커밋 차이를 불러오지 못했습니다",
+ "loading": "커밋 차이 로드 중...",
+ "mergedOnly": "커밋 차이는 병합된 작업에서만 사용할 수 있습니다.",
+ "noFiles": "이 커밋에서 변경된 파일이 없습니다.",
+ "noSha": "사용 가능한 커밋 SHA가 없습니다."
+ },
+ "common": {
+ "back": "뒤로",
+ "cancel": "취소",
+ "close": "닫기",
+ "closeAriaLabel": "닫기",
+ "continue": "계속",
+ "create": "만들기",
+ "delete": "삭제",
+ "edit": "편집",
+ "editMode": "편집",
+ "learnMore": "자세히 보기 →",
+ "loading": "로드 중...",
+ "no": "아니요",
+ "noDataAvailable": "데이터 없음",
+ "nothingToShow": "아직 표시할 내용이 없습니다.",
+ "preview": "미리 보기",
+ "previewMode": "미리 보기",
+ "refresh": "새로 고침",
+ "retry": "다시 시도",
+ "save": "저장",
+ "saveAndTest": "저장 및 테스트",
+ "saving": "저장 중...",
+ "somethingWentWrong": "이 뷰를 로드하는 중 오류가 발생했습니다.",
+ "stop": "중지",
+ "test": "테스트",
+ "testing": "테스트 중…",
+ "total": "전체",
+ "unableToLoadData": "데이터를 불러올 수 없습니다",
+ "unknown": "알 수 없음",
+ "unsavedChanges": "저장되지 않은 변경 사항",
+ "yes": "예"
+ },
+ "composer": {
+ "loadingAgents": "에이전트 로드 중…",
+ "messageId": "메시지 {{id}}",
+ "messageLabel": "메시지:",
+ "messagePlaceholder": "메시지를 입력하세요…",
+ "newMessageTitle": "새 메시지",
+ "noAgentsAvailable": "사용 가능한 에이전트 없음",
+ "replyTitle": "답장",
+ "replyingToLabel": "답장 대상:",
+ "selectAgent": "에이전트 선택…",
+ "sendingButton": "전송 중…",
+ "toLabel": "받는 사람:",
+ "wakeAgentCheckbox": "에이전트 즉시 깨우기",
+ "wakeAlwaysImmediate": "(에이전트가 이미 즉시 응답 모드로 설정되어 있습니다)",
+ "wakeOneOff": "(이 메시지에만 적용되는 일회성 재정의)"
+ },
+ "confirm": {
+ "cancel": "취소",
+ "closeDialog": "확인 대화 상자 닫기",
+ "confirm": "확인"
+ },
+ "conversation": {
+ "aiReasoning": "AI 추론",
+ "aiThinking": "AI 생각 중",
+ "confirm": {
+ "no": "아니요",
+ "yes": "예"
+ },
+ "hide": "{{type}} 숨기기",
+ "show": "{{type}} 표시",
+ "yourResponse": "내 응답"
+ },
+ "createRoom": {
+ "create": "방 만들기",
+ "creating": "만드는 중...",
+ "duplicate": "같은 이름의 방이 이미 존재합니다.",
+ "failedCreate": "방 만들기에 실패했습니다.",
+ "failedLoadAgents": "에이전트를 불러오지 못했습니다.",
+ "loadingAgents": "에이전트 로드 중...",
+ "lowercase": "소문자만 사용하세요.",
+ "maxLength": "방 이름은 최대 80자까지 가능합니다.",
+ "members": "멤버",
+ "nameLabel": "방 이름",
+ "nameRequired": "방 이름은 필수입니다.",
+ "noAgents": "이 프로젝트에 아직 에이전트가 없습니다.",
+ "noEdgeChars": "방 이름은 하이픈이나 밑줄로 시작하거나 끝날 수 없습니다.",
+ "noMatch": "검색과 일치하는 에이전트가 없습니다.",
+ "searchAgents": "에이전트 검색",
+ "selectMember": "최소 한 명의 멤버를 선택하세요.",
+ "title": "방 만들기",
+ "validChars": "소문자, 숫자, 하이픈, 밑줄만 사용하세요."
+ },
+ "dashboard": {
+ "initializingDashboard": "대시보드 초기화 중...",
+ "loaderSteps": {
+ "project": "프로젝트 선택",
+ "projects": "프로젝트 로드 중",
+ "tasks": "작업 가져오는 중"
+ },
+ "loadingMessage": "Fusion 대시보드 로드 중",
+ "loadingProgress": "대시보드 로딩 진행 상황",
+ "updatingMessage": "Fusion 대시보드 업데이트 중",
+ "updatingVersion": "새 프런트엔드 버전으로 업데이트 중..."
+ },
+ "dbBanner": {
+ "body": "Fusion의 백그라운드 SQLite 무결성 검사에서 손상이 발견되었습니다. 중요한 작업을 계속하기 전에 아래의 실패한 개체를 검토하세요.",
+ "instructions": "프로젝트를 백업하고, 데이터베이스가 정상적으로 열리면 {{cmd}}를 시도해 보세요. 손상이 지속될 경우 알려진 정상 백업에서 복원하세요. 저장소 레이아웃 및 복구 안내는 {{link}}를 참고하세요.",
+ "lastChecked": "마지막 확인: {{checkedAtLabel}}",
+ "refreshHealth": "상태 새로 고침",
+ "refreshing": "새로 고치는 중…",
+ "title": "데이터베이스 손상 감지됨",
+ "whatToDo": "조치 방법:"
+ },
+ "deepLink": {
+ "projectNotFound": "'{{id}}' 프로젝트를 찾을 수 없습니다",
+ "taskNotFound": "작업 {{id}}를 찾을 수 없습니다"
+ },
+ "desktop": {
+ "chooseMode": "Fusion을 어떻게 실행하시겠습니까?",
+ "chooseModeDescription": "이 앱에서 로컬로 Fusion을 실행하거나, 이미 실행 중인 Fusion 서버에 연결하세요.",
+ "connectRemoteButton": "원격 Fusion에 연결",
+ "couldNotStart": "로컬 Fusion을 시작할 수 없습니다",
+ "loading": "Fusion 로드 중…",
+ "opening": "열고 있는 중…",
+ "retry": "다시 시도",
+ "runLocalButton": "로컬에서 Fusion 실행",
+ "settingUpRemote": "원격 연결 설정 중…",
+ "starting": "시작 중…",
+ "startingLocalRuntime": "로컬 Fusion 런타임 시작 중…"
+ },
+ "devserver": {
+ "allSeverities": "모든 심각도",
+ "auto": "자동",
+ "autoDetected": "자동 감지됨: {{url}}",
+ "change": "변경",
+ "clear": "지우기",
+ "command": "명령",
+ "configuration": "설정",
+ "embedded": "임베드됨",
+ "embeddedPreviewDisabled": "임베드 미리 보기가 비활성화되어 있습니다. 별도의 브라우저 탭에서 앱을 여세요.",
+ "enterFullscreen": "전체 화면 로그 보기",
+ "errBadge": "ERR",
+ "error": "오류",
+ "exitFullscreen": "전체 화면 로그 종료",
+ "externalOnly": "외부 전용",
+ "filterBySeverity": "심각도별 로그 필터",
+ "info": "정보",
+ "lines": "{{count}}줄",
+ "loadOlderLogs": "이전 로그 불러오기",
+ "loading": "로드 중...",
+ "loadingConfig": "개발 서버 설정 로드 중...",
+ "loadingLogs": "로그 로드 중…",
+ "loadingOlderLogs": "이전 로그 로드 중…",
+ "logs": "로그",
+ "lostConnection": "로그 스트림 연결이 끊겼습니다.",
+ "manual": "수동",
+ "matchCount": "{{count}}개 일치",
+ "newLogs": "새 로그",
+ "noLogsYet": "아직 로그가 없습니다. 개발 서버를 시작하면 출력이 표시됩니다.",
+ "noMatchesSearch": "검색과 일치하는 로그 줄이 없습니다.",
+ "noMatchesSeverity": "선택한 심각도와 일치하는 로그 줄이 없습니다.",
+ "noPreviewDetected": "미리 보기 URL이 감지되지 않았습니다. 개발 서버를 시작하거나 수동 URL을 설정하여 앱을 미리 보세요.",
+ "noPreviewUrl": "미리 보기 URL 없음",
+ "noScriptsDetected": "개발 서버 스크립트가 감지되지 않았습니다. 프로젝트의 package.json에 dev, start 또는 유사한 스크립트가 있는지 확인하세요.",
+ "notAvailable": " · 사용 불가",
+ "openInNewTab": "새 탭에서 열기",
+ "openPreviewInNewTab": "새 탭에서 미리 보기 열기",
+ "openPreviewOrRetry": "새 탭에서 미리 보기를 열거나, 서버 설정을 확인한 후 임베드 모드를 다시 시도하세요.",
+ "preview": "미리 보기",
+ "previewBlocked": "미리 보기 차단됨",
+ "previewFailed": "미리 보기 실패",
+ "previewUrlOverride": "미리 보기 URL 재정의",
+ "refreshPreview": "미리 보기 새로 고침",
+ "restart": "재시작",
+ "restarting": "재시작 중...",
+ "retry": "다시 시도",
+ "retryEmbeddedPreview": "임베드 미리 보기 다시 시도",
+ "runningCommand": "명령 실행 중",
+ "save": "저장",
+ "scriptSelection": "스크립트 선택",
+ "searchLogs": "로그 검색",
+ "start": "시작",
+ "startDevServer": "여기에서 라이브 미리 보기를 보려면 개발 서버를 시작하세요.",
+ "starting": "시작 중...",
+ "status": {
+ "failed": "실패",
+ "running": "실행 중",
+ "starting": "시작 중...",
+ "stopped": "중지됨",
+ "stopping": "중지 중..."
+ },
+ "stop": "중지",
+ "stopping": "중지 중...",
+ "title": "개발 서버",
+ "toast": {
+ "clearedScript": "선택된 개발 서버 스크립트가 지워졌습니다.",
+ "enterCommand": "개발 서버를 시작하기 전에 명령을 입력하세요.",
+ "previewCleared": "미리 보기 URL 재정의가 지워졌습니다.",
+ "previewUpdated": "미리 보기 URL이 업데이트되었습니다.",
+ "restarted": "개발 서버가 재시작되었습니다.",
+ "selectedScript": "{{name}} 스크립트가 선택되었습니다.",
+ "started": "개발 서버가 시작되었습니다.",
+ "stopped": "개발 서버가 중지되었습니다."
+ },
+ "warn": "경고"
+ },
+ "dirPicker": {
+ "ariaLabel": "디렉터리 브라우저",
+ "browse": "찾아보기",
+ "closeBrowser": "디렉터리 브라우저 닫기",
+ "defaultPlaceholder": "/path/to/your/project",
+ "hideHidden": "숨김 파일 숨기기",
+ "hideHiddenAria": "숨겨진 디렉터리 숨기기",
+ "hideHiddenTitle": "숨김 파일 숨기기",
+ "loading": "로드 중…",
+ "noSubdirs": "하위 디렉터리 없음",
+ "openBrowser": "디렉터리 찾아보기",
+ "parentDir": "상위 디렉터리로 이동",
+ "parentDirTitle": "상위 디렉터리",
+ "select": "선택",
+ "showHidden": "숨김 파일 표시",
+ "showHiddenAria": "숨겨진 디렉터리 표시",
+ "showHiddenTitle": "숨김 파일 표시",
+ "up": "위로"
+ },
+ "docker": {
+ "actions": {
+ "addMount": "마운트 추가",
+ "addVariable": "변수 추가",
+ "cancel": "취소",
+ "createNode": "Docker 노드 만들기"
+ },
+ "ariaLabels": {
+ "closeModal": "온보딩 모달 닫기",
+ "modal": "Docker 노드 온보딩",
+ "removeMount": "볼륨 마운트 제거",
+ "removeVariable": "환경 변수 제거"
+ },
+ "available": "Docker를 사용할 수 있습니다{{version}}",
+ "caPath": "CA 인증서 경로",
+ "certPath": "클라이언트 인증서 경로",
+ "connected": "연결됨{{version}}",
+ "connectionFailed": "연결 실패",
+ "container": "컨테이너:",
+ "context": "Docker 컨텍스트",
+ "creatingNode": "Docker 노드 만드는 중...",
+ "errors": {
+ "cpusMinimum": "CPU는 최소 0.5 이상이어야 합니다",
+ "memoryMinimum": "메모리는 최소 512 MB 이상이어야 합니다",
+ "nameRequired": "이름은 필수이며 64자 이하여야 합니다",
+ "urlRequired": "URL은 필수입니다"
+ },
+ "failedAt": "실패 위치: {{stage}}",
+ "failedMessage": "프로비저닝 실패",
+ "host": "Docker 호스트",
+ "hostPlaceholder": "tcp://host:2376",
+ "keyPath": "클라이언트 키 경로",
+ "labels": {
+ "apiKey": "API 키",
+ "cpus": "CPU",
+ "image": "이미지",
+ "memory": "메모리 (MB)",
+ "nodeName": "노드 이름",
+ "reachableUrl": "접근 가능한 URL",
+ "tag": "태그"
+ },
+ "local": "로컬 Docker",
+ "notFound": "Docker를 찾을 수 없습니다{{error}}",
+ "notFoundError": "Docker를 찾을 수 없습니다: {{message}}",
+ "options": {
+ "autoGenerate": "자동 생성",
+ "claudeCli": "Claude CLI",
+ "droidCli": "Droid CLI",
+ "persistentStorage": "컨테이너 재생성 시 데이터 유지",
+ "provideManually": "직접 입력"
+ },
+ "placeholders": {
+ "apiKey": "API 키 입력",
+ "containerPath": "컨테이너 경로",
+ "envVarKey": "KEY",
+ "envVarValue": "값",
+ "hostPath": "호스트 경로",
+ "image": "runfusion/fusion",
+ "nodeName": "my-docker-node",
+ "tag": "latest"
+ },
+ "provisionedIn": "{{durationSec}}초 만에 프로비저닝 완료",
+ "refreshContexts": "컨텍스트 새로 고침",
+ "remote": "원격 호스트",
+ "retry": "다시 시도",
+ "sections": {
+ "advanced": "고급",
+ "environmentVariables": "환경 변수",
+ "requiredSettings": "필수 설정",
+ "volumeMounts": "볼륨 마운트"
+ },
+ "selectContext": "컨텍스트 선택",
+ "stage": {
+ "creatingContainer": "컨테이너 만드는 중...",
+ "pullingImage": "이미지 가져오는 중...",
+ "registeringNode": "노드 등록 중...",
+ "startingContainer": "컨테이너 시작 중..."
+ },
+ "states": {
+ "creating": "만드는 중..."
+ },
+ "successMessage": "노드가 성공적으로 만들어졌습니다!",
+ "targetMode": "Docker 대상 모드",
+ "testConnection": "연결 테스트",
+ "testing": "테스트 중...",
+ "titles": {
+ "provisionNode": "Docker 노드 프로비저닝"
+ },
+ "useTls": "TLS 사용",
+ "verifyTls": "TLS 인증서 확인",
+ "viewNode": "노드 보기"
+ },
+ "documents": {
+ "backToFiles": "파일 목록으로 돌아가기",
+ "backToFilesList": "프로젝트 파일 목록으로 돌아가기",
+ "clearSearch": "검색 지우기",
+ "collapse": "접기",
+ "collapseContent": "내용 접기",
+ "docCount": "{{count}}개 문서{{plural}}",
+ "documentsCreatedIn": "문서는 작업 상세 탭에서 만들어집니다.",
+ "expand": "펼치기",
+ "expandContent": "내용 펼치기",
+ "failedToLoad": "{{type}} 로드 실패: {{error}}",
+ "hideHidden": "숨겨진 프로젝트 파일 숨기기",
+ "hideHiddenFiles": "숨김 파일 숨기기",
+ "hideHiddenLabel": "숨김 파일 숨기기",
+ "loadingFileContent": "파일 내용 로드 중…",
+ "loadingProjectFiles": "프로젝트 마크다운 파일 로드 중…",
+ "loadingTaskDocuments": "작업 문서 로드 중…",
+ "markdown": "마크다운",
+ "noMarkdownFiles": "이 프로젝트에 마크다운 파일이 없습니다.",
+ "noMatchProject": "\"{{query}}\"와 일치하는 프로젝트 마크다운 파일이 없습니다.",
+ "noMatchTask": "\"{{query}}\"와 일치하는 작업 문서가 없습니다.",
+ "noTaskDocuments": "아직 작업 문서가 없습니다.",
+ "openTask": "작업 열기",
+ "plain": "일반 텍스트",
+ "projectFiles": "프로젝트 파일",
+ "projectFilesTab": "프로젝트 파일",
+ "resultCount": "{{count}}개 결과{{plural}}",
+ "retry": "다시 시도",
+ "retryLoading": "문서 다시 불러오기",
+ "searchProjectFiles": "프로젝트 마크다운 파일 검색…",
+ "searchTaskDocuments": "작업 문서 검색…",
+ "selectFile": "마크다운 파일을 선택하여 내용을 확인하세요.",
+ "showHidden": "숨겨진 프로젝트 파일 표시",
+ "showHiddenFiles": "숨김 파일 표시",
+ "showHiddenLabel": "숨김 파일 표시",
+ "showProjectFiles": "프로젝트 마크다운 파일 표시",
+ "showTaskDocuments": "작업 문서 표시",
+ "switchToMarkdown": "마크다운으로 전환",
+ "switchToPlainText": "일반 텍스트로 전환",
+ "taskDocuments": "작업 문서",
+ "taskDocumentsTab": "작업 문서",
+ "title": "문서",
+ "untitled": "제목 없음"
+ },
+ "droidCli": {
+ "active": "활성",
+ "cardTitle": "Factory AI — Droid CLI 경유",
+ "connectedVersion": "연결됨{{version}}",
+ "description": "로컬에 설치된 droid CLI를 통해 AI 호출을 라우팅합니다. API 키 대신 기존 Factory AI 구독/할당량을 사용합니다.",
+ "details": "세부 정보",
+ "detected": "droid {{version}} 감지됨{{path}}. AI 호출을 라우팅하려면 활성화를 클릭하세요.",
+ "disable": "비활성화",
+ "disabling": "비활성화 중…",
+ "droidNotFound": "PATH에서 droid를 찾을 수 없습니다",
+ "enable": "활성화",
+ "enabledValidating": "활성화됨. 유효성 검사 중…",
+ "enabling": "활성화 중…",
+ "extensionFailed": "확장 로드 실패: {{reason}}",
+ "modelsHidden": "Factory AI (Droid CLI 경유) 모델이 모델 선택기에서 숨겨졌습니다.",
+ "modelsNowVisible": "Factory AI (Droid CLI 경유) 모델이 모델 선택기에 표시됩니다.",
+ "notConnected": "연결되지 않음",
+ "notInstalled": "설치되지 않음",
+ "notOnPath": "PATH에서 droid 바이너리가 감지되지 않았습니다 — 먼저 Droid CLI를 설치하세요.",
+ "probingCli": "로컬 CLI 검사 중…",
+ "restartRequired": "재시작 필요: 라우팅 변경 사항을 적용하려면 현재 CLI/채팅 세션을 다시 시작하세요.",
+ "test": "테스트",
+ "testing": "테스트 중…",
+ "toastDisabled": "비활성화됨",
+ "toastEnabled": "활성화됨"
+ },
+ "duplicateWarning": {
+ "cancel": "취소",
+ "createAnyway": "그래도 만들기",
+ "message": "유사한 활성 작업이 발견되었습니다. 기존 작업을 열거나 이 작업을 새로 만드세요.",
+ "open": "열기",
+ "title": "중복 가능성",
+ "untitledTask": "제목 없는 작업"
+ },
+ "editor": {
+ "failedLoadFile": "파일 불러오기 실패",
+ "failedSaveFile": "파일 저장 실패",
+ "failedToLoadFile": "파일 불러오기 실패",
+ "failedToSaveFile": "파일 저장 실패"
+ },
+ "evals": {
+ "allRuns": "전체 실행",
+ "disabledTitle": "예약 평가가 비활성화되어 있습니다",
+ "empty": "아직 평가가 없습니다. 예약 평가는 마지막 실행 이후 완료된 작업을 검토합니다.",
+ "enablePrompt": "예약 평가를 활성화하여 채점된 작업, 근거, 후속 권고사항을 검토하세요.",
+ "evidenceHeading": "근거",
+ "loading": "평가 불러오는 중…",
+ "maxScorePlaceholder": "최고 점수",
+ "minScorePlaceholder": "최저 점수",
+ "naPlaceholder": "해당 없음",
+ "noFollowups": "없음",
+ "noRationale": "기록된 근거가 없습니다.",
+ "openSettings": "예약 평가 설정 열기",
+ "overallScore": "종합 점수: {{score}}",
+ "refreshAria": "평가 새로 고침",
+ "searchPlaceholder": "작업 또는 근거 검색",
+ "selectPrompt": "평가를 선택하여 점수, 근거, 근거 자료를 확인하세요.",
+ "suggestedFollowupsHeading": "제안된 후속 작업"
+ },
+ "executor": {
+ "blocked": "차단됨",
+ "daysAgo": "{{count}}일 전",
+ "escalated": "에스컬레이션됨",
+ "escalatedSuffix": " (에스컬레이션됨)",
+ "hideProjectDir": "프로젝트 디렉터리 숨기기",
+ "hoursAgo": "{{count}}시간 전",
+ "inReview": "검토 중",
+ "justNow": "방금 전",
+ "loading": "불러오는 중...",
+ "minutesAgo": "{{count}}분 전",
+ "noActivity": "활동 없음",
+ "overlapBottleneck": "{{status}} 중복 병목 {{blockerId}}: blockedBy를 통해 {{count}}개 todo 차단됨 (임계값 {{threshold}})",
+ "overlapQueue": "중복 대기열",
+ "queued": "대기 중",
+ "running": "실행 중",
+ "secondsAgo": "{{count}}초 전",
+ "showProjectDir": "프로젝트 디렉터리 보기",
+ "stateIdle": "유휴",
+ "statePaused": "일시 중지됨",
+ "stateRunning": "실행 중",
+ "status": "실행기 상태",
+ "stuck": "중단됨",
+ "temporary": "임시"
+ },
+ "fileBrowser": {
+ "back": "파일 목록으로 돌아가기",
+ "binaryReadOnly": "바이너리 파일 — 읽기 전용",
+ "contextCopy": "복사",
+ "contextDelete": "삭제",
+ "contextDownload": "다운로드",
+ "contextDownloadZip": "ZIP으로 다운로드",
+ "contextMenuLabel": "파일 작업",
+ "contextMove": "이동",
+ "contextRename": "이름 변경",
+ "copy": "복사",
+ "copyPlaceholder": "대상 경로",
+ "copyTitle": "복사",
+ "delete": "삭제",
+ "deleteConfirm": "{{name}}을(를) 삭제하시겠습니까?",
+ "deleteRecursive": "하위 항목이 모두 재귀적으로 삭제됩니다.",
+ "deleteTitle": "{{type}} 삭제",
+ "deleting": "삭제 중...",
+ "emptyDirectory": "(빈 디렉터리)",
+ "error": "오류: {{message}}",
+ "loading": "불러오는 중…",
+ "loadingFiles": "파일 불러오는 중...",
+ "modalTitle": "파일 — {{workspace}}",
+ "modified": "수정일: {{date}}",
+ "move": "이동",
+ "movePlaceholder": "대상 경로",
+ "moveTitle": "이동",
+ "operationFailed": "작업 실패",
+ "operationSuffix": " 중...",
+ "rename": "이름 변경",
+ "renamePlaceholder": "새 이름",
+ "renameTitle": "이름 변경",
+ "resizeSidebar": "사이드바 크기 조정",
+ "root": "루트",
+ "saving": "저장 중…",
+ "selectFileToEdit": "편집할 파일을 선택하세요",
+ "toggleEditorOptions": "편집기 옵션 토글",
+ "typeFile": "파일",
+ "typeFolder": "폴더",
+ "unsavedChanges": "저장되지 않은 변경 사항",
+ "upOneLevel": "상위 폴더로",
+ "workspaceProject": "프로젝트"
+ },
+ "fileEditor": {
+ "edit": "편집",
+ "editMode": "편집 모드",
+ "editorFor": "{{filePath}} 편집기",
+ "fileEditor": "파일 편집기",
+ "lineNumber": "줄 번호",
+ "preview": "미리보기",
+ "previewMode": "미리보기 모드",
+ "toggleLineNumbers": "줄 번호 표시 토글",
+ "toggleOptions": "편집기 옵션 토글",
+ "toggleWordWrap": "자동 줄 바꿈 토글",
+ "wrap": "줄 바꿈"
+ },
+ "fileMention": {
+ "empty": "작업 또는 파일을 찾을 수 없습니다",
+ "fileHeader": "파일",
+ "fileMatches": "파일 검색 결과",
+ "taskHeader": "작업",
+ "taskMatches": "작업 검색 결과"
+ },
+ "git": {
+ "add": "추가",
+ "addRemote": "원격 추가",
+ "advancesHelpFix": "해결 방법: Fusion은 적어도 하나의 진행 항목이 진정으로 pending 상태이고 HEAD가 통합 끝점과 일치하지 않을 때만 작업 트리 동기화를 표시합니다. 항목이 이미 처리된 경우(subsumed/orphaned/reachable/superseded), 동기화 작업이 제공되지 않습니다.",
+ "advancesHelpIntro": "각 항목은 스쿼시 커밋이 통합 브랜치 ref({{integrationBranch}})를 진행시킨 Fusion 작업입니다. 자동 동기화 결과는 작업 트리도 해당 새 끝점으로 패스트-포워드되었는지를 나타냅니다.",
+ "advancesHelpItem1": "clean-sync / synced-with-edits-restored — 작업 트리가 동기화되었습니다. 별도 조치가 필요 없습니다.",
+ "advancesHelpItem2": "reachable / subsumed / orphaned / superseded — 이미 처리되었습니다 (동등한 내용이 이미 반영되었거나, 원본 SHA가 사라졌거나, HEAD가 이미 재작성된 통합 끝점에 맞춰진 경우 포함).",
+ "advancesHelpItem3": "pending + off / not run — 자동 동기화가 설정에서 비활성화되어 있습니다. 브랜치 ref는 이동했지만 작업 트리가 따라가지 않았습니다.",
+ "advancesHelpItem4": "pending + stash-failed / would-conflict / 유사 — 자동 동기화를 시도했지만 조정할 수 없었습니다 (로컬 편집이 새 커밋과 충돌하는 경우가 일반적).",
+ "advancesNeedAction": "{{count}}개 조치 필요",
+ "aheadOfUpstream": "업스트림보다 {{count}}개 커밋 앞서 있음",
+ "aligned": "정렬됨",
+ "apply": "적용",
+ "applyStashKeep": "스태시 적용 (유지)",
+ "autoMergeDisabled": "자동 병합 비활성화됨",
+ "autoMergeEnabled": "자동 병합 활성화됨",
+ "autoMergeUpdateFailed": "자동 병합 업데이트 실패",
+ "autoMergeWhenGreen": "검사 통과 시 자동 병합",
+ "autoMergeWillHandle": "자동 병합이 이 작업을 자동으로 처리합니다.",
+ "autoMovedToTodo": "할 일로 자동 이동 — 리뷰어 피드백 준비됨",
+ "autoSyncOffNotRun": "자동 동기화: 꺼짐 / 실행 안 됨",
+ "autoSyncOutcome": "자동 동기화: {{outcome}}",
+ "awaitingPrChecks": "자동 병합 전에 필수 검사 또는 리뷰 피드백을 기다리는 중입니다.",
+ "backToIssuesList": "이슈 목록으로 돌아가기",
+ "backToPullsList": "풀 리퀘스트 목록으로 돌아가기",
+ "baseHead": "기준: HEAD",
+ "behindUpstream": "업스트림보다 {{count}}개 커밋 뒤처져 있음",
+ "branchLabel": "브랜치:",
+ "cancel": "취소",
+ "capturedAt": "캡처 시각:",
+ "changesStashed": "변경 사항 스태시됨",
+ "checkout": "체크아웃",
+ "chooseAnotherRepo": "다른 저장소를 선택하세요.",
+ "clickToViewDiff": "클릭하여 diff 보기",
+ "close": "닫기",
+ "closeModalAriaLabel": "가져오기 모달 닫기",
+ "commentLast": "마지막:",
+ "commit": "커밋",
+ "commitMessagePlaceholder": "커밋 메시지...",
+ "commitStagedChanges": "스테이지된 변경 사항 커밋",
+ "commitsOnBranch": "{{name}}의 커밋",
+ "commitsToPull": "{{count}}개 풀 필요",
+ "commitsToPush": "{{count}}개 푸시 필요",
+ "commitsToPushHeader": "푸시할 커밋 ({{count}})",
+ "committedHash": "커밋됨: {{hash}}",
+ "conflictReclaimFailed": "충돌 복구 대기 등록 실패",
+ "conflictReclaimQueued": "충돌 복구 대기 등록됨",
+ "conflictReclaimUnavailable": "충돌 복구를 사용할 수 없습니다",
+ "conflictedCount": "{{count}}개 충돌",
+ "conflictsButton": "충돌",
+ "copiedButton": "복사됨",
+ "copiedLabel": "{{label}} 복사됨",
+ "copiedToClipboard": "클립보드에 복사됨",
+ "copyButton": "복사",
+ "copyCommitHashLabel": "커밋 해시",
+ "copyFetchUrl": "페치 URL 복사",
+ "copyFullCommitHashLabel": "전체 커밋 해시",
+ "copyFullHash": "전체 해시 복사",
+ "copyFullShaTitle": "전체 40자 SHA 복사",
+ "copyPushUrl": "푸시 URL 복사",
+ "copyShortHashTitle": "짧은 커밋 해시 복사",
+ "copyShortHashTitleWithFull": "짧은 커밋 해시 복사 (git 작업에는 아래 전체 SHA 사용)",
+ "couldNotLoadIssues": "이슈를 불러올 수 없습니다",
+ "couldNotLoadPulls": "풀 리퀘스트를 불러올 수 없습니다",
+ "create": "만들기",
+ "createPrButton": "PR 만들기",
+ "createPrTitle": "이 작업의 PR 만들기",
+ "createdBranch": "브랜치 {{name}} 생성됨",
+ "defaultBadge": "기본",
+ "deleteBranch": "삭제",
+ "deleteBranchMessage": "브랜치 \"{{name}}\"을(를) 삭제하시겠습니까?",
+ "deleteBranchTitle": "브랜치 삭제",
+ "deletedBranch": "브랜치 {{name}} 삭제됨",
+ "detectingRemotes": "감지 중…",
+ "diffColon": "diff:",
+ "discardChangesMessage": "{{count}}개 파일의 변경 사항을 버리시겠습니까? 이 작업은 취소할 수 없습니다.",
+ "discardChangesTitle": "변경 사항 버리기",
+ "discardSelected": "선택 항목 버리기",
+ "discardedFiles": "{{count}}개 파일의 변경 사항 버려짐",
+ "dismiss": "닫기",
+ "dismissPrError": "PR 오류 닫기",
+ "dropStash": "스태시 삭제",
+ "dropStashMessage": "stash@{{{index}}}을(를) 삭제하시겠습니까? 이 작업은 취소할 수 없습니다.",
+ "dropStashTitle": "스태시 삭제",
+ "editRemoteName": "원격 이름 편집",
+ "editRemoteUrl": "원격 URL 편집",
+ "failedToAddRemote": "원격 추가 실패",
+ "failedToApplyStash": "스태시 적용 실패",
+ "failedToCheckoutBranch": "브랜치 체크아웃 실패",
+ "failedToCommit": "커밋 실패",
+ "failedToCopy": "복사 실패",
+ "failedToCreateBranch": "브랜치 생성 실패",
+ "failedToDeleteBranch": "브랜치 삭제 실패",
+ "failedToDiscardChanges": "변경 사항 버리기 실패",
+ "failedToDropStash": "스태시 삭제 실패",
+ "failedToFetchData": "git 데이터 페치 실패",
+ "failedToFetchIssues": "이슈 페치 실패",
+ "failedToFetchPulls": "풀 리퀘스트 페치 실패",
+ "failedToImportIssue": "이슈 가져오기 실패",
+ "failedToImportPull": "풀 리퀘스트 가져오기 실패",
+ "failedToLoadDiff": "diff 불러오기 실패",
+ "failedToLoadFileDiff": "파일 diff 불러오기 실패",
+ "failedToLoadRemoteCommits": "원격 커밋 불러오기 실패",
+ "failedToLoadRemotes": "원격 불러오기 실패",
+ "failedToLoadStashDiff": "스태시 diff 불러오기 실패",
+ "failedToRemoveRemote": "원격 제거 실패",
+ "failedToRenameRemote": "원격 이름 변경 실패",
+ "failedToStageFiles": "파일 스테이지 실패",
+ "failedToStashChanges": "변경 사항 스태시 실패",
+ "failedToUnstageFiles": "파일 언스테이지 실패",
+ "failedToUpdateRemoteUrl": "원격 URL 업데이트 실패",
+ "fetch": "페치",
+ "fetchCompleted": "페치 완료",
+ "fetchFailed": "페치 실패",
+ "fetchLabel": "페치:",
+ "fetchUrlLabel": "페치 URL",
+ "fetchingFromGitHub": "GitHub에서 최신 목록을 가져오는 중입니다.",
+ "filterBranches": "브랜치 필터...",
+ "filterByLabelsLabel": "레이블로 필터",
+ "filterByLabelsPlaceholder": "필터: bug,enhancement…",
+ "filterIssuesByLabels": "레이블로 이슈 필터",
+ "fnCreatingPr": "fn이 이 작업의 풀 리퀘스트를 자동으로 생성하고 있습니다.",
+ "fnMergingPr": "fn이 이 풀 리퀘스트를 자동으로 병합하고 있습니다.",
+ "forceDeleteBranchMessage": "브랜치에 병합되지 않은 커밋이 있습니다. 강제 삭제하시겠습니까?",
+ "forceDeleteBranchTitle": "브랜치 강제 삭제",
+ "forceDeletedBranch": "브랜치 {{name}} 강제 삭제됨",
+ "fullShaAbbrev": "전체",
+ "ghAuthLoginHint": "PR 생성을 활성화하려면 {{code}}을(를) 실행하세요.",
+ "headAheadOfIntegration": "HEAD가 {{branch}}에 없는 {{count}}개 커밋을 가지고 있습니다",
+ "headAheadOfOriginIntegration": "HEAD가 origin/{{branch}}에 없는 {{count}}개 커밋을 가지고 있습니다",
+ "headVsIntegration": "HEAD vs {{branch}}",
+ "headVsOriginIntegration": "HEAD vs origin/{{branch}}",
+ "hide": "숨기기",
+ "hideExplanation": "설명 숨기기",
+ "import": "가져오기",
+ "importFromGitHub": "GitHub에서 가져오기",
+ "importSubtitle": "감지된 원격을 선택하고 열린 이슈 또는 풀 리퀘스트를 불러온 뒤 보드로 가져오세요.",
+ "importTypeAriaLabel": "가져오기 유형",
+ "imported": "가져옴",
+ "importedCount": "{{count}}개 가져옴",
+ "integrationAheadOfHead": "{{branch}}가 HEAD에 없는 {{count}}개 커밋을 가지고 있습니다",
+ "issueCount": "{{count}}개 이슈",
+ "load": "불러오기",
+ "loadFromRepoAriaLabel": "저장소에서 {{tab}} 불러오기",
+ "loadMoreCommits": "커밋 더 불러오기",
+ "loadTabTitle": "{{tab}} 불러오기",
+ "loading": "불러오는 중…",
+ "loadingAriaLabel": "{{tab}} 불러오는 중",
+ "loadingCommits": "커밋 불러오는 중...",
+ "loadingDiff": "diff 불러오는 중...",
+ "loadingIssues": "열린 이슈 불러오는 중…",
+ "loadingPulls": "열린 풀 리퀘스트 불러오는 중…",
+ "loadingStashDiff": "스태시 diff 불러오는 중…",
+ "loadingTitle": "불러오는 중…",
+ "localAheadOfOriginIntegration": "로컬 {{branch}}가 origin/{{branch}}보다 {{count}}개 커밋 앞서 있습니다",
+ "localBehindOriginIntegration": "로컬 {{branch}}가 origin/{{branch}}보다 {{count}}개 커밋 뒤처져 있습니다",
+ "localVsOrigin": "로컬 {{branch}} vs origin",
+ "manualPrFlowHint": "이 작업에 대해 PR 우선 완료를 실행하려면 하단 작업을 사용하세요.",
+ "mergeBadge": "병합",
+ "mergeConflictDetected": "병합 충돌이 감지되었습니다. 브랜치를 해결/리베이스한 후 복구를 다시 시도하세요.",
+ "mergeLabel": "병합",
+ "mergePrButton": "풀 리퀘스트 병합",
+ "mergeStrategyMerge": "merge",
+ "mergeStrategyRebase": "rebase",
+ "mergeStrategySquash": "squash",
+ "mergedTaskDone": "병합됨 — 작업이 완료로 이동됨",
+ "mergingPrHint": "풀 리퀘스트 병합 중…",
+ "mergingStatus": "병합 중…",
+ "modalTitle": "Git 관리자",
+ "modified": "수정됨",
+ "modifiedCount": "{{count}}개 수정됨",
+ "newBranchName": "새 브랜치 이름",
+ "noAheadCommitsFound": "앞선 커밋을 찾을 수 없습니다 (먼저 페치가 필요할 수 있습니다)",
+ "noBranchesFound": "브랜치를 찾을 수 없습니다",
+ "noCommitsFound": "커밋을 찾을 수 없습니다",
+ "noCommitsOnRemote": "{{remote}}에서 커밋을 찾을 수 없습니다. 먼저 페치를 시도하세요.",
+ "noDescription": "(설명 없음)",
+ "noIssueSelected": "선택된 이슈 없음",
+ "noIssueSelectedHint": "목록에서 이슈를 선택하여 제목과 설명을 확인하세요.",
+ "noLocalRefTitle": "로컬 refs/heads/가 없습니다. origin과 비교할 대상이 없습니다.",
+ "noLocalTracking": "로컬 추적 없음",
+ "noMatchingBranches": "일치하는 브랜치 없음",
+ "noMatchingCommits": "일치하는 커밋 없음",
+ "noOpenIssues": "열린 이슈가 없습니다",
+ "noOpenIssuesFound": "열린 이슈를 찾을 수 없습니다",
+ "noOpenPulls": "열린 풀 리퀘스트가 없습니다",
+ "noOpenPullsFound": "열린 풀 리퀘스트를 찾을 수 없습니다",
+ "noOriginTracking": "origin 추적 없음",
+ "noPullSelected": "선택된 풀 리퀘스트 없음",
+ "noPullSelectedHint": "목록에서 풀 리퀘스트를 선택하여 세부 정보를 확인하세요.",
+ "noRefFound": "{{branch}}에 대한 ref를 찾을 수 없습니다",
+ "noRefFoundTitle": "refs/heads 또는 refs/remotes/origin 어디에도 이 브랜치가 없습니다",
+ "noRemotes": "원격 없음",
+ "noRemotesDetected": "GitHub 원격이 감지되지 않았습니다",
+ "noRemotesInstructions": "이 저장소에 GitHub 원격을 추가한 후 모달을 다시 여세요.",
+ "noReviewComments": "아직 동기화된 리뷰 댓글이 없습니다",
+ "noReviewsYet": "아직 리뷰가 없습니다",
+ "noStagedChanges": "스테이지된 변경 사항 없음",
+ "noStagedChangesToCommit": "커밋할 스테이지된 변경 사항 없음",
+ "noStashes": "스태시 없음",
+ "noUnstagedChanges": "언스테이지된 변경 사항 없음",
+ "notOnIntegrationBranch": "({{branch}}에 없음)",
+ "notOnIntegrationBranchBtn": "통합 브랜치에 있지 않음 ({{branch}})",
+ "notOnIntegrationBranchTitle": "현재 비통합 브랜치에 있습니다",
+ "nothingLoadedInstructions": "저장소를 선택하고 불러오기를 클릭하여 가져오기 후보 검토를 시작하세요.",
+ "nothingLoadedYet": "아직 불러온 항목 없음",
+ "openPullsFrom": "{{remote}}의 열린 풀 리퀘스트",
+ "originIntegrationAheadOfHead": "origin/{{branch}}가 HEAD에 없는 {{count}}개 커밋을 가지고 있습니다",
+ "pop": "팝",
+ "popStashTitle": "스태시 팝 (적용 후 삭제)",
+ "prAuthUnavailable": "PR 인증 불가 — 'gh auth login'을 실행하세요",
+ "prChecks": {
+ "empty": "아직 보고된 검사가 없습니다",
+ "refreshAriaLabel": "검사 새로 고침",
+ "required": "필수",
+ "retry": "재시도",
+ "summary": "{{passing}}개 통과, {{failing}}개 실패, {{pending}}개 대기 중",
+ "viewDetails": "세부 정보 보기"
+ },
+ "prMergeFailed": "풀 리퀘스트 병합 실패",
+ "prMerged": "풀 리퀘스트 병합됨",
+ "prRefreshFailed": "PR 새로 고침 실패",
+ "prStatusRefreshed": "PR 상태 새로 고쳐짐",
+ "prUnlinkConfirm": "이 작업에서 PR #{{number}}의 연결을 해제하시겠습니까? PR은 닫히지 않습니다.",
+ "prUnlinked": "PR #{{number}} 연결 해제됨",
+ "previewHeading": "미리보기",
+ "previewIssueMeta": "이슈 #{{number}}",
+ "previewPullMeta": "풀 리퀘스트 #{{number}}",
+ "projectRootNotAvailable": "프로젝트 루트 경로를 사용할 수 없습니다",
+ "pull": "풀",
+ "pullCompleted": "풀 완료",
+ "pullCount": "{{count}}개 풀 리퀘스트",
+ "pullFailed": "풀 실패",
+ "pullOptions": "풀 옵션",
+ "pullOptionsMenu": "풀 옵션 메뉴",
+ "pullRebase": "Pull --rebase",
+ "pullRebaseCompleted": "Pull --rebase 완료",
+ "pullRequestHeading": "풀 리퀘스트",
+ "pullRequestsCount": "{{count}}개 풀 리퀘스트",
+ "push": "푸시",
+ "pushCompleted": "푸시 완료",
+ "pushFailed": "푸시 실패",
+ "pushLabel": "푸시:",
+ "pushUrlLabel": "푸시 URL",
+ "reCheckConflicts": "충돌 재확인",
+ "recentCommitsOnRemote": "{{remote}}의 최근 커밋",
+ "recentIntegrationAdvances": "최근 통합 브랜치 진행 내역",
+ "refresh": "새로 고침",
+ "refreshPrStatus": "PR 상태 새로 고침",
+ "refreshToCheckMerge": "PR 상태를 새로 고쳐 병합 준비 여부를 확인하세요",
+ "remoteAdded": "원격 '{{name}}'이(가) 성공적으로 추가되었습니다",
+ "remoteName": "원격 이름",
+ "remoteOnlyIntegrationTipTitle": "로컬 refs/heads/가 없습니다. refs/remotes/origin/를 통합 끝점으로 사용합니다.",
+ "remoteOnlyTrackLocally": "(원격 전용 — 로컬에서 추적하려면 git switch {{branch}} 실행)",
+ "remoteRemoved": "원격 '{{name}}' 제거됨",
+ "remoteRenamed": "원격 이름이 '{{name}}'(으)로 변경됨",
+ "remoteUrlUpdated": "원격 URL 업데이트됨",
+ "removeRemote": "원격 제거",
+ "removeRemoteMessage": "원격 '{{name}}'을(를) 제거하시겠습니까?",
+ "removeRemoteTitle": "원격 제거",
+ "repoMustBeSelected": "저장소를 선택해야 합니다",
+ "repositoryLabel": "저장소",
+ "repositoryStatus": "저장소 상태",
+ "repositoryUrl": "저장소 URL",
+ "resizeIssuesList": "이슈 목록 크기 조정",
+ "resolvedFrom": "{{source}}에서 해결됨",
+ "retry": "재시도",
+ "retryButton": "재시도",
+ "retryConflictReclaim": "충돌 복구 재시도",
+ "reviewLabel": "리뷰",
+ "reviewsLabel": "리뷰",
+ "searchCommits": "커밋 검색...",
+ "sectionBranches": "브랜치",
+ "sectionChanges": "변경 사항",
+ "sectionCommits": "커밋",
+ "sectionRemotes": "원격",
+ "sectionStashes": "스태시",
+ "sectionStatus": "상태",
+ "sectionWorktrees": "작업 트리",
+ "selectFileToViewDiff": "파일을 선택하여 diff 보기",
+ "selectIssueAriaLabel": "이슈 #{{number}} 선택",
+ "selectPullAriaLabel": "풀 리퀘스트 #{{number}} 선택",
+ "selectRemoteAriaLabel": "Git 원격 선택",
+ "selectRemotePlaceholder": "원격 선택…",
+ "selectRemoteToViewDetails": "세부 정보를 보려면 원격을 선택하세요",
+ "selectedRemote": "선택된 원격",
+ "sidebarAriaLabel": "Git 관리자 섹션",
+ "stageAll": "모두 스테이지",
+ "stageAllAndCommit": "모두 스테이지 후 커밋",
+ "stageAllAndCommitTitle": "전체 스테이징 및 커밋",
+ "stageCount": "스테이징 ({{count}})",
+ "stageFile": "파일 스테이징",
+ "stageSelected": "선택 항목 스테이징",
+ "staged": "스테이징됨",
+ "stagedChanges": "스테이징된 변경 사항 ({{count}})",
+ "stagedCount": "{{count}}개 스테이징됨",
+ "stagedFiles": "{{count}}개 파일 스테이징됨",
+ "staleIndexWarning": "오래된 인덱스가 감지되었습니다. HEAD가 앞으로 이동했지만(주로 Fusion의 merger가 통합 브랜치 ref를 업데이트했기 때문) 인덱스는 이전 팁을 반영하고 있어 `git status`가 새 커밋을 \"스테이징된 변경 사항\"으로 반전하여 표시합니다. 설정에서 mergeAdvanceAutoSync를 활성화하면 merger가 자동으로 조정하거나, git reset --hard HEAD를 실행하여 수동으로 앞으로 이동할 수 있습니다.",
+ "stash": "스태시",
+ "stashApplied": "스태시 적용됨",
+ "stashConflict": {
+ "copied": "스태시 SHA가 복사되었습니다.",
+ "copyFailed": "스태시 SHA를 복사할 수 없습니다.",
+ "dropStash": "스태시 삭제",
+ "failedWarning": "자동 복원에 실패했습니다. 변경 사항이 위의 스태시에 보존되어 있습니다. git stash apply [로 수동 복구하거나 아래의 재시도를 사용하세요.",
+ "keepIncoming": "incoming 유지",
+ "keepMine": "내 것 유지",
+ "openInEditor": "편집기에서 열기",
+ "retryRestore": "복원 재시도",
+ "summary": "{{branch}}을(를) pull했지만 스태시에서 로컬 편집 내용을 복원하는 중 충돌이 발생했습니다.",
+ "title": "자동 스태시 충돌 해결"
+ },
+ "stashDropped": "스태시 삭제됨",
+ "stashMessagePlaceholder": "스태시 메시지 (선택 사항)",
+ "stashPopped": "스태시 팝됨",
+ "statusLabelBranch": "브랜치",
+ "statusLabelCommit": "커밋",
+ "statusLabelIntegrationBranch": "통합 브랜치",
+ "statusLabelStashes": "스태시",
+ "statusLabelVsOrigin": "origin 대비",
+ "statusLabelWorkingTree": "작업 트리",
+ "switchedToBranch": "{{name}}(으)로 전환됨",
+ "sync": "동기화",
+ "syncFailed": "동기화 실패",
+ "syncLocalTip": "로컬 팁 동기화",
+ "syncLocalTipTitle": "작업 트리를 로컬 통합 팁에 동기화 (배너 Pull과 동일)",
+ "syncOriginTitle": "origin에서 pull --rebase 후 현재 브랜치 push",
+ "syncWithOriginFailed": "origin과 동기화 실패",
+ "syncWorkingTree": "작업 트리 동기화",
+ "syncWorkingTreeTitle": "통합 브랜치를 작업 트리로 pull (커밋되지 않은 편집을 자동 스태시 후 복원)",
+ "synced": "동기화됨",
+ "syncedWithOrigin": "origin과 동기화됨 (pull --rebase + push)",
+ "syncedWorktreeToIntegrationTip": "워크트리를 로컬 통합 팁에 동기화됨",
+ "syncing": "동기화 중…",
+ "tabIssues": "이슈",
+ "tabPullRequests": "Pull Request",
+ "tip": "팁",
+ "toolbarAriaLabel": "GitHub 가져오기 컨트롤",
+ "tryDifferentFilter": "다른 레이블 필터를 사용하거나 다른 저장소를 선택하세요.",
+ "unlinkButton": "연결 해제",
+ "unresolvedMergeConflicts": "해결되지 않은 병합 충돌",
+ "unstageAll": "전체 스테이징 취소",
+ "unstageCount": "스테이징 취소 ({{count}})",
+ "unstageFile": "파일 스테이징 취소",
+ "unstageSelected": "선택 항목 스테이징 취소",
+ "unstaged": "스테이징 취소됨",
+ "unstagedChanges": "스테이징 취소된 변경 사항 ({{count}})",
+ "unstagedFiles": "{{count}}개 파일 스테이징 취소됨",
+ "untracked": "추적되지 않음",
+ "untrackedCount": "{{count}}개 추적되지 않음",
+ "upToDate": "최신 상태",
+ "view": "보기",
+ "viewOnGithub": "GitHub에서 보기",
+ "waitingFor": "대기 중: {{reasons}}",
+ "whatDoesThisMean": "이것은 무슨 의미인가요?",
+ "workingTreeClean": "클린",
+ "workingTreeModified": "수정됨",
+ "worktreeBadgeBare": "bare",
+ "worktreeBadgeMain": "main",
+ "worktreesInUse": "{{count}}개 사용 중",
+ "worktreesTotal": "총 {{count}}개"
+ },
+ "goals": {
+ "activeCount": "활성 목표 {{count}}개",
+ "addGoal": "목표 추가",
+ "archive": "보관",
+ "capError": "목표는 5개까지만 활성화할 수 있습니다. 다른 목표를 활성화하려면 기존 활성 목표를 해결하세요.",
+ "capWarning": "활성 목표 5개 한도에 가까워지고 있습니다. 활성 목표를 집중적으로 유지하세요.",
+ "createError": "현재 목표를 생성할 수 없습니다. 다시 시도해 주세요.",
+ "draftWithAi": "AI로 초안 작성",
+ "drafting": "초안 작성 중…",
+ "emptyState": "목표가 없습니다. 전략적 결과 추적을 시작하려면 목표를 추가하세요.",
+ "labelDescription": "설명",
+ "labelTitle": "제목",
+ "loadError": "현재 목표를 불러올 수 없습니다. 다시 시도해 주세요.",
+ "loading": "목표 불러오는 중…",
+ "saveError": "현재 목표를 저장할 수 없습니다. 다시 시도해 주세요.",
+ "status": "상태",
+ "title": "목표",
+ "titleRequired": "제목은 필수입니다.",
+ "unarchive": "보관 해제",
+ "updateError": "현재 목표 상태를 업데이트할 수 없습니다. 다시 시도해 주세요."
+ },
+ "groupTask": {
+ "ariaLabel": "브랜치 그룹 세부 정보",
+ "autoMergeEnabled": "자동 병합 활성화됨",
+ "completionText": "{{total}}개 중 {{landed}}개 완료",
+ "errorLoading": "브랜치 그룹을 불러오지 못했습니다.",
+ "loading": "브랜치 그룹 불러오는 중…",
+ "members": "멤버",
+ "mergeIntoMain": "그룹을 main에 병합",
+ "openPR": "PR 열기",
+ "openTask": "작업 열기",
+ "sharedBranch": "공유 브랜치",
+ "status": "상태",
+ "title": "브랜치 그룹 {{id}}",
+ "unavailable": "브랜치 그룹을 사용할 수 없습니다."
+ },
+ "header": {
+ "addFirstScript": "첫 번째 스크립트 추가",
+ "additionalHeaderActions": "추가 헤더 작업",
+ "agentsView": "에이전트 보기",
+ "allBaseBranches": "모든 베이스 브랜치",
+ "allWorkingBranches": "모든 작업 브랜치",
+ "automation": "자동화",
+ "baseBranch": "베이스 브랜치",
+ "boardView": "보드 보기",
+ "browseFiles": "파일 탐색",
+ "chatView": "채팅 보기",
+ "closeSearch": "검색 닫기",
+ "createTaskWithPlanning": "AI 계획으로 작업 생성",
+ "devServerView": "개발 서버",
+ "documentsView": "문서 보기",
+ "engineOptions": "엔진 옵션",
+ "evalsView": "평가",
+ "gitManager": "Git 관리자",
+ "goalsView": "목표",
+ "importFromGitHub": "GitHub에서 가져오기",
+ "insightsView": "인사이트",
+ "listView": "목록 보기",
+ "loadingScripts": "스크립트 불러오는 중...",
+ "localNode": "로컬",
+ "mailbox": "메일함",
+ "mailboxView": "메일함 보기",
+ "mailboxWithCount": "메일함 ({{count}})",
+ "manageProjects": "프로젝트 관리",
+ "manageScripts": "스크립트 관리...",
+ "memoryView": "메모리",
+ "missionsView": "미션 보기",
+ "moreActions": "추가 작업",
+ "moreHeaderActions": "추가 헤더 작업",
+ "moreViews": "더 많은 보기",
+ "noBaseBranch": "베이스 브랜치 없음",
+ "noScriptsAddOne": "스크립트 없음 — 추가하세요…",
+ "noScriptsConfigured": "구성된 스크립트 없음",
+ "noWorkingBranch": "작업 브랜치 없음",
+ "nodes": "노드",
+ "openSearch": "검색 열기",
+ "openTerminal": "터미널 열기",
+ "pauseTriage": "트리아지 일시 중지",
+ "pendingApprovals": "승인 대기 중",
+ "projects": "프로젝트",
+ "quickScripts": "빠른 스크립트",
+ "reliabilityView": "안정성",
+ "researchView": "리서치",
+ "resumePlanningSession": "계획 세션 재개",
+ "resumePlanningSessionCount": "계획 세션 재개 ({{count}})",
+ "resumeScheduling": "스케줄링 재개",
+ "scripts": "스크립트",
+ "scriptsSubmenu": "스크립트 하위 메뉴",
+ "searchTasks": "작업 검색...",
+ "secretsView": "시크릿",
+ "selectNode": "노드 선택",
+ "selectProject": "프로젝트 선택",
+ "settings": "설정",
+ "showScripts": "스크립트 표시",
+ "skillsView": "스킬",
+ "startAiEngine": "AI 엔진 시작",
+ "stashRecoveryView": "스태시 복구",
+ "stopAiEngine": "AI 엔진 중지",
+ "switchNode": "노드 전환",
+ "switchProject": "프로젝트 전환",
+ "switchProjectCurrent": "프로젝트 전환 (현재: {{name}})",
+ "systemStats": "시스템 통계",
+ "terminal": "터미널",
+ "todosView": "할 일",
+ "unreadChatResponse": "읽지 않은 채팅 응답",
+ "unreadMessages": "읽지 않은 메시지 {{count}}개",
+ "viewActivityLog": "활동 로그 보기",
+ "viewProjects": "프로젝트 보기",
+ "viewUsage": "사용량 보기",
+ "workflowSteps": "워크플로 단계",
+ "workingBranch": "작업 브랜치"
+ },
+ "health": {
+ "activeTasks": "활성 작업",
+ "anomaly": {
+ "duplicateActiveId": "중복된 활성 작업 ID",
+ "idInBothStorages": "활성 및 보관 저장소 모두에 작업 ID 존재",
+ "sequenceOverlap": "할당자 다음 시퀀스가 기존 작업 ID와 겹침",
+ "unknownPrefix": "작업 행이 할당자 상태 외부의 접두사 사용"
+ },
+ "anomalyBody": "Fusion이 작업 ID가 재사용되거나 실시간 작업 레코드를 덮어쓸 수 있는 할당자 상태를 발견했습니다.",
+ "anomalyDetected": "작업 ID 무결성 이상 감지됨",
+ "completed": "완료됨",
+ "failed": "실패",
+ "inFlightAgents": "실행 중인 에이전트",
+ "lastError": "마지막 오류",
+ "metricsTitle": "상태 지표",
+ "recheck": "다시 확인",
+ "rechecking": "다시 확인 중…",
+ "refreshFailed": "무결성 상태를 새로 고치지 못했습니다."
+ },
+ "hermes": {
+ "autoProfile": "자동 / Hermes 기본값 사용",
+ "binaryPathHelp": "PATH에서 {{cmd}}를 찾으려면 비워 두세요.",
+ "binaryPathLabel": "바이너리 경로",
+ "binaryPathPlaceholder": "hermes (기본값: PATH)",
+ "defaultProfile": " (기본값)",
+ "description": "로컬 {{cmd}} CLI를 서브프로세스로 구동합니다. 각 Fusion 프롬프트는 {{chatCmd}}로 전송되며, 이후 프롬프트는 {{resumeFlag}}를 통해 동일한 hermes 세션을 재개합니다. 제공자, 모델, 스킬은 hermes 내에서 구성하며, 이 카드는 재정의 항목만 선택합니다.",
+ "detected": "✓ hermes 감지됨{{version}}{{path}}.",
+ "gitHubLink": "GitHub의 Hermes",
+ "maxTurnsHelp": "Hermes 턴당 상한값. Hermes 기본값은 90이며, 더 낮게 제한합니다.",
+ "maxTurnsLabel": "최대 턴 수",
+ "modelControlled": "프로필로 제어됨: {{profile}}",
+ "modelHelp": "선택 사항 — Hermes의 구성된 기본 모델을 재정의합니다.",
+ "modelLabel": "모델 재정의",
+ "modelPlaceholder": "예: claude-sonnet-4-5, MiniMax-M3",
+ "notDetected": "{{cmd}}가 감지되지 않았습니다. 업스트림 에이전트를 설치하세요:",
+ "notFound": "✗ {{reason}}",
+ "probing": "로컬 hermes 바이너리 탐색 중…",
+ "profileHelp": "사용할 Hermes 프로필을 선택하세요. {{cmd}} 호출 시 {{env}}를 프로필 디렉터리로 설정하여 프로필을 활성화합니다.",
+ "profileLabel": "프로필 (선택 사항)",
+ "profileModelSeparator": " — {{model}}",
+ "providerControlled": "프로필로 제어됨: {{profile}}",
+ "providerHelp": "Hermes가 호출을 라우팅하는 추론 제공자 (기본값: {{default}}).",
+ "providerLabel": "제공자",
+ "savedDetected": "저장됨 · ✓ hermes 감지됨{{version}}.",
+ "savedNotFound": "저장됨 · ✗ {{reason}}",
+ "savedProbeFailed": "저장됨, 하지만 탐색에 실패했습니다.",
+ "settingsSaved": "설정이 저장되었습니다.",
+ "statusDetected": "✓ 감지됨{{version}}{{path}}",
+ "statusNotDetected": "✗ {{reason}}",
+ "subname": "by Nous Research",
+ "testFailed": "테스트 실패 — 위의 상태를 확인하세요.",
+ "timeoutHelp": "Fusion 측 하드 캡. 기본값 5분.",
+ "timeoutLabel": "CLI 강제 종료 타임아웃 (ms)",
+ "yoloHelp": "셸 스타일 도구를 트리거하는 비대화형 세션에 필요합니다.",
+ "yoloLabel": "위험한 도구 호출 자동 승인 ({{flag}})"
+ },
+ "inline": {
+ "agent": "에이전트",
+ "breakDownSubtasks": "AI 생성 하위 작업으로 분해",
+ "browserVerify": "브라우저 검증",
+ "browserVerifyChecked": "브라우저 검증 ✓",
+ "clearSelection": "선택 취소",
+ "collapse": "접기",
+ "collapseDescription": "설명 접기",
+ "collapseTaskOptions": "고급 작업 옵션 접기",
+ "connecting": "연결 중",
+ "creating": "생성 중...",
+ "custom": "사용자 정의",
+ "deps": "의존성",
+ "editingDescription": "설명 편집 중",
+ "enableBrowserVerification": "브라우저 검증 워크플로 단계 활성화",
+ "enterDescriptionFirst": "먼저 설명을 입력하세요.",
+ "error": "오류",
+ "expand": "펼치기",
+ "expandDescription": "설명 펼치기",
+ "expandTaskOptions": "고급 작업 옵션 펼치기",
+ "hintEnterEsc": "Enter로 생성 · Esc로 취소",
+ "loadingAgents": "에이전트 불러오는 중...",
+ "model": "모델",
+ "models": "모델",
+ "noAgentsAvailable": "사용 가능한 에이전트 없음",
+ "noExistingTasks": "기존 작업 없음",
+ "node": "노드",
+ "offline": "오프라인",
+ "online": "온라인",
+ "openPlanningMode": "현재 설명으로 계획 모드 열기",
+ "plan": "계획",
+ "preset": "프리셋",
+ "priority": "우선순위",
+ "priorityLabel": "우선순위: {{level}}",
+ "projectDefaultLocal": "프로젝트 기본값 / 로컬",
+ "removeImage": "이미지 제거",
+ "save": "저장",
+ "searchTasks": "작업 검색…",
+ "selectAgent": "에이전트 선택",
+ "selectExecutionNode": "실행 노드 선택",
+ "subtask": "하위 작업",
+ "useDefault": "기본값 사용",
+ "whatNeedsToBeDone": "무엇을 해야 하나요?"
+ },
+ "insights": {
+ "allInsights": "모든 인사이트",
+ "alreadyRunning": "인사이트 생성이 이미 실행 중입니다. 활성 실행을 표시합니다.",
+ "alreadyRunningShort": "인사이트 생성이 이미 실행 중입니다.",
+ "archiveLabel": "이 인사이트 보관",
+ "archiveTitle": "이 인사이트 보관",
+ "archived": "\"{{title}}\" 보관됨",
+ "archivedMsg": "인사이트 보관됨: {{title}}",
+ "archiving": "\"{{title}}\" 보관 중...",
+ "backlogHealth": "백로그 상태",
+ "category": {
+ "architecture": "아키텍처",
+ "competitive_analysis": "경쟁 분석",
+ "dependency": "의존성",
+ "documentation": "문서화",
+ "features": "기능",
+ "other": "기타",
+ "performance": "성능",
+ "quality": "품질",
+ "reliability": "안정성",
+ "research": "리서치",
+ "security": "보안",
+ "testability": "테스트 가능성",
+ "trends": "트렌드",
+ "ux": "사용자 경험",
+ "workflow": "워크플로"
+ },
+ "configureModel": "인사이트 생성 모델 구성",
+ "configureModelTitle": "모델 구성",
+ "createTaskLabel": "이 인사이트에서 작업 생성",
+ "createTaskTitle": "이 인사이트에서 작업 생성",
+ "creatingTask": "\"{{title}}\"에서 작업 생성 중...",
+ "dismissLabel": "이 인사이트 무시",
+ "dismissTitle": "이 인사이트 무시",
+ "dismissed": "\"{{title}}\" 무시됨",
+ "dismissedMsg": "인사이트 무시됨: {{title}}",
+ "dismissing": "\"{{title}}\" 무시 중...",
+ "failedToArchive": "인사이트 보관에 실패했습니다.",
+ "failedToCreateTask": "작업 생성에 실패했습니다.",
+ "failedToDismiss": "인사이트 무시에 실패했습니다.",
+ "failedToPreparePayload": "인사이트에서 작업 페이로드 준비에 실패했습니다.",
+ "failedToStart": "생성 시작에 실패했습니다.",
+ "failedToUnarchive": "인사이트 보관 해제에 실패했습니다.",
+ "generateDescription": "인사이트를 생성하여 프로젝트에 대한 AI 기반 권장 사항을 받으세요.",
+ "generateFirst": "첫 번째 인사이트 생성",
+ "generateInsightsBtn": "인사이트 생성",
+ "generating": "생성 중...",
+ "generatingInsights": "인사이트 생성 중...",
+ "generationModel": "인사이트 생성 모델",
+ "generationStarted": "인사이트 생성이 시작되었습니다.",
+ "hideArchived": "보관된 인사이트 숨기기",
+ "hideArchivedLabel": "보관됨 숨기기",
+ "latestRun": "최근 실행:",
+ "loading": "인사이트 불러오는 중...",
+ "model": "모델",
+ "modelConfigured": "모델: {{model}}",
+ "noInsightsYet": "아직 인사이트가 없습니다.",
+ "runCompleted": "{{created}}개 생성됨, {{updated}}개 업데이트됨",
+ "showAllInsights": "모든 인사이트 표시",
+ "showArchived": "보관된 인사이트 표시",
+ "showArchivedLabel": "보관됨 표시 ({{count}})",
+ "showBacklogHealth": "백로그 상태 인사이트만 표시",
+ "taskCreated": "\"{{title}}\"에서 작업 생성됨",
+ "taskCreatedMsg": "작업 생성됨: {{title}}",
+ "taskCreationUnavailable": "이 보기에서는 작업 생성을 사용할 수 없습니다.",
+ "title": "인사이트",
+ "unarchiveLabel": "이 인사이트 보관 해제",
+ "unarchiveTitle": "이 인사이트 보관 해제",
+ "unarchived": "\"{{title}}\" 보관 해제됨",
+ "unarchivedMsg": "인사이트 보관 해제됨: {{title}}",
+ "unarchiving": "\"{{title}}\" 보관 해제 중...",
+ "usePlanningDefault": "계획 기본값 사용"
+ },
+ "interview": {
+ "addContextDirection": "추가 컨텍스트나 방향을 입력하세요...",
+ "additionalComments": "추가 의견 (선택 사항)",
+ "aiThinking": "AI가 생각 중입니다...",
+ "appliedMessage": "{{targetType}}의 범위와 검증이 적용되었습니다.",
+ "description": "설명",
+ "error": {
+ "failedToApply": "인터뷰 결과 적용에 실패했습니다.",
+ "failedToRestoreQuestion": "세션 질문을 복원하지 못했습니다.",
+ "failedToRestoreResult": "세션 결과를 복원하지 못했습니다.",
+ "failedToResume": "세션을 재개하지 못했습니다.",
+ "failedToSkip": "{{targetLabel}} 인터뷰 건너뛰기에 실패했습니다.",
+ "failedToStart": "{{targetLabel}} 인터뷰 시작에 실패했습니다.",
+ "failedToSubmit": "응답 제출에 실패했습니다.",
+ "sessionEncounteredError": "세션에서 오류가 발생했습니다.",
+ "sessionFailed": "AI 연결 중 세션이 실패했습니다."
+ },
+ "hideThinking": "생각 숨기기",
+ "interviewDescription": "AI가 {{targetType}}의 범위, 수락 기준, 검증 방법을 정제하기 위해 인터뷰를 진행합니다. 각 {{targetType}}은 자체 정제된 계획을 가지거나 미션 수준의 컨텍스트를 상속할 수 있습니다.",
+ "missionContext": "미션 컨텍스트:",
+ "no": "아니요",
+ "noAdditionalDetails": "이 항목에 대해 생성된 추가 세부 정보가 없습니다.",
+ "planningNotes": "계획 노트",
+ "preparingQuestion": "다음 질문 준비 중...",
+ "progressText": "질문 {{progress}} / 약 6",
+ "reconnecting": "재연결 중…",
+ "refineScope": "AI로 {{label}} 범위 정제",
+ "refinedScope": "정제된 범위",
+ "sendToBackground": "백그라운드로 보내기",
+ "sessionActiveAnotherTab": "다른 탭에서 세션이 활성화되어 있습니다.",
+ "showThinking": "생각 표시",
+ "startInterview": "인터뷰 시작",
+ "targetLabel": {
+ "milestone": "마일스톤",
+ "slice": "슬라이스"
+ },
+ "typeAnswerHere": "여기에 답변을 입력하세요...",
+ "updated": "{{label}} 업데이트됨",
+ "useMissionContext": "미션 컨텍스트 사용",
+ "verificationCriteria": "검증 기준",
+ "yes": "예"
+ },
+ "listView": {
+ "apply": "적용",
+ "applying": "적용 중...",
+ "archiveSelected": "선택 항목 보관",
+ "archiveSelectedTitle": "완료된 선택 작업 보관",
+ "archiveUnavailable": "보관 작업을 사용할 수 없습니다.",
+ "archiveViaButton": "작업은 보관 버튼을 통해서만 보관할 수 있습니다.",
+ "bulkArchiveDone": "완료됨 {{count}}개 보관",
+ "bulkArchiveMessage": "선택한 작업 {{count}}개를 보관하시겠습니까?",
+ "bulkArchiveNoTasks": "보관할 수 있는 선택된 작업이 없습니다 (완료된 작업만 가능)",
+ "bulkArchiveSummary": "{{archived}}개 보관됨 · {{skipped}}개 건너뜀 · {{failed}}개 실패",
+ "bulkArchiveTitle": "선택된 작업 보관",
+ "bulkDeleteAll": "전체 삭제",
+ "bulkDeleteArchiveSummary": "{{archived}}개 보관됨, {{deleted}}개 삭제됨, {{failed}}개 실패",
+ "bulkDeleteMessage": "선택한 작업 {{count}}개를 삭제하시겠습니까?",
+ "bulkDeleteNoTasks": "삭제할 수 있는 선택된 작업이 없습니다 (보관된 작업 제외)",
+ "bulkDeleteSummary": "{{deleted}}개 작업 삭제됨 · {{skipped}}개 보관됨 건너뜀 · {{failed}}개 실패",
+ "bulkDeleteSummary_one": "{{count}}개 작업 삭제됨 · {{skipped}}개 보관됨 건너뜀 · {{failed}}개 실패",
+ "bulkDeleteSummary_other": "{{count}}개 작업 삭제됨 · {{skipped}}개 보관됨 건너뜀 · {{failed}}개 실패",
+ "bulkDeleteTitle": "선택된 작업 삭제",
+ "bulkDeleteWithDoneMessage": "{{deletable}}개 작업을 삭제하거나, {{done}}개 완료 작업을 보관하고 나머지를 삭제하시겠습니까?",
+ "bulkEdit": "일괄 편집",
+ "bulkEditModelsLabel": "모델 및 노드 일괄 편집:",
+ "bulkNoChanges": "적용할 변경 사항이 없습니다.",
+ "bulkPauseNoTasks": "일시 중지할 수 있는 선택된 작업이 없습니다.",
+ "bulkPauseSummary": "{{paused}}개 일시 중지됨 · {{skipped}}개 건너뜀 · {{failed}}개 실패",
+ "bulkUnpauseNoTasks": "재개할 수 있는 선택된 작업이 없습니다.",
+ "bulkUnpauseSummary": "{{unpaused}}개 재개됨 · {{skipped}}개 건너뜀 · {{failed}}개 실패",
+ "bulkUpdateFailed": "모델 업데이트에 실패했습니다",
+ "bulkUpdateNoTasks": "업데이트할 유효한 작업이 없습니다 (보관된 작업은 수정할 수 없습니다)",
+ "bulkUpdateSuccess": "작업 {{count}}개를 업데이트했습니다",
+ "cancelMove": "이동 취소",
+ "clear": "지우기",
+ "clearColumnFilter": "열 필터 지우기",
+ "colColumn": "열",
+ "colDependencies": "의존성",
+ "colProgress": "진행률",
+ "colRetries": "재시도",
+ "colStatus": "상태",
+ "colTitle": "제목",
+ "deleteSelected": "선택 항목 삭제",
+ "deleteSelectedTitle": "선택한 작업 삭제",
+ "dependentsDeleteMessage": "작업 {{taskId}}에 의존 항목이 있습니다: {{dependents}}. 의존성 참조를 제거하고 강제 삭제하시겠습니까?",
+ "doneEditing": "편집 완료",
+ "doneHiddenChip": "완료 항목 숨김",
+ "executorModel": "실행 모델",
+ "fastMode": "빠른 모드",
+ "filterChip": "필터: {{column}}",
+ "forceDelete": "강제 삭제",
+ "forceDeleteTitle": "작업 강제 삭제",
+ "hidden": "{{count}}개 숨김",
+ "hideDone": "완료 숨기기",
+ "hideDoneTitle": "완료된 작업 숨기기",
+ "keepProgress": "진행률 유지",
+ "lastColumnWarning": "최소 하나의 열이 표시되어야 합니다",
+ "lineageArchiveMessage": "{{taskId}}에 이 항목을 소스 부모로 참조하는 계보 자식({{children}})이 있습니다.\n\n이 참조를 먼저 해제하고 보관하시겠습니까?",
+ "lineageDeleteMessage": "{{taskId}}에 이 항목을 소스 부모로 참조하는 계보 자식({{children}})이 있습니다.\n\n이 참조를 먼저 해제하고 삭제하시겠습니까?",
+ "listControlsLabel": "목록 컨트롤",
+ "newTask": "+ 새 작업",
+ "noChange": "변경 없음",
+ "noTasks": "작업 없음",
+ "noTasksMatch": "필터에 맞는 작업이 없습니다",
+ "noTasksYet": "아직 작업이 없습니다",
+ "nodeOverrideLabel": "노드 재정의",
+ "nodeStatusConnecting": "연결 중",
+ "nodeStatusError": "오류",
+ "nodeStatusOffline": "오프라인",
+ "nodeStatusOnline": "온라인",
+ "pauseSelected": "선택 항목 일시정지",
+ "pauseSelectedTitle": "아직 일시정지되지 않은 선택된 모든 작업을 일시정지합니다",
+ "pauseUnavailable": "일시정지 작업을 사용할 수 없습니다",
+ "pausedByAgent": "에이전트에 의해 일시정지됨",
+ "preserveProgressMessage": "이 작업에 완료된 단계가 있습니다. 이동하기 전에 진행률을 유지하시겠습니까?",
+ "preserveProgressTitle": "진행률을 유지하시겠습니까?",
+ "resetProgress": "진행률 초기화",
+ "resetProgressMessage": "이 작업을 이동하기 전에 모든 단계 진행률을 초기화하시겠습니까?",
+ "resetProgressTitle": "진행률을 초기화하시겠습니까?",
+ "resizeSidebar": "작업 목록 사이드바 크기 조정",
+ "reviewerModel": "검토 모델",
+ "selectAll": "표시된 모든 작업 선택",
+ "selectTask": "{{taskId}} 선택",
+ "selectTaskPrompt": "작업을 선택하여 세부 정보를 확인하세요",
+ "selectedCount": "{{count}}개 선택됨",
+ "showAll": "모두 표시",
+ "showAllTitle": "모든 작업 표시",
+ "showDone": "완료 표시",
+ "showDoneTitle": "완료된 작업 표시",
+ "staleOnly": "오래된 항목만",
+ "staleOnlyTitle": "오래된 작업만 표시",
+ "stalePausedReview": "오래된 일시정지 검토",
+ "stalePausedReviewTitle": "오래된 일시정지 검토 작업만 표시",
+ "stats": "전체 {{total}}개 중 {{count}}개 작업",
+ "statsInColumn": "{{column}}의 전체 {{total}}개 중 {{count}}개 작업",
+ "statusMergingFix": "수정 사항 병합 중…",
+ "stuck": "막힘",
+ "taskCreationUnavailable": "작업 생성을 사용할 수 없습니다",
+ "unpauseSelected": "선택 항목 재개",
+ "unpauseSelectedTitle": "현재 일시정지된 선택된 작업을 재개합니다",
+ "unpauseUnavailable": "재개 작업을 사용할 수 없습니다",
+ "useProjectDefault": "프로젝트 기본값 사용",
+ "viewOptions": "보기 옵션"
+ },
+ "mailbox": {
+ "agent": "에이전트",
+ "agentById": "에이전트: {{id}}",
+ "agentByName": "에이전트: {{name}}",
+ "agents": "에이전트",
+ "agentsTab": "에이전트",
+ "ago": "전",
+ "allAgents": "모든 에이전트",
+ "allAgentsOption": "모든 에이전트",
+ "approvalApprove": "승인",
+ "approvalCommentPlaceholder": "선택적 댓글",
+ "approvalDeny": "거부",
+ "approvalRequested": "요청됨",
+ "approvalRequester": "요청자",
+ "approvalTask": "작업",
+ "approvals": "승인",
+ "back": "뒤로",
+ "backButton": "← 뒤로",
+ "closeAriaLabel": "닫기",
+ "closeTitle": "닫기",
+ "compose": "작성",
+ "composeButton": "작성",
+ "composeMessageTitle": "메시지 작성",
+ "composeTitle": "메시지 작성",
+ "conversation": "대화",
+ "conversationLabel": "대화",
+ "delete": "삭제",
+ "deleteButton": "삭제",
+ "deleteFailed": "메시지 삭제에 실패했습니다",
+ "from": "보낸 사람",
+ "fromLabel": "보낸 사람:",
+ "fromPrefix": "보낸 사람: {{participant}}",
+ "history": "기록",
+ "inbox": "받은 편지함",
+ "inboxTab": "받은 편지함",
+ "justNow": "방금",
+ "labelAgent": "에이전트: {{id}}",
+ "labelAgentNamed": "에이전트: {{name}}",
+ "labelSystem": "시스템",
+ "labelUser": "사용자: {{id}}",
+ "labelYou": "나",
+ "markAllRead": "모두 읽음으로 표시",
+ "markAllReadButton": "모두 읽음으로 표시",
+ "markAllReadTitle": "모두 읽음으로 표시",
+ "markReadFailed": "메시지를 읽음으로 표시하는 데 실패했습니다",
+ "markedAsRead": "메시지 {{count}}개를 읽음으로 표시했습니다",
+ "messageDeleted": "메시지가 삭제되었습니다",
+ "messageSent": "메시지를 보냈습니다",
+ "noAgentMessages": "에이전트 간 메시지가 없습니다",
+ "noAgents": "에이전트를 찾을 수 없습니다",
+ "noAgentsFound": "에이전트를 찾을 수 없습니다",
+ "noHistoricalApprovals": "과거 승인 기록이 없습니다",
+ "noInbox": "받은 편지함에 메시지가 없습니다",
+ "noMessagesInbox": "받은 편지함에 메시지가 없습니다",
+ "noOutbox": "보낸 메시지가 없습니다",
+ "noPendingApprovals": "대기 중인 승인이 없습니다",
+ "noReceivedMessages": "이 에이전트에 대한 수신 메시지가 없습니다",
+ "noSentMessages": "보낸 메시지가 없습니다",
+ "noSentMessagesAgent": "이 에이전트에 대한 보낸 메시지가 없습니다",
+ "outbox": "보낸 편지함",
+ "outboxTab": "보낸 편지함",
+ "pending": "대기 중",
+ "refreshTitle": "새로고침",
+ "reply": "답장",
+ "replyButton": "답장",
+ "replyLoadFailed": "답장한 메시지를 불러오는 데 실패했습니다. 다시 시도하려면 클릭하세요.",
+ "replyingTo": "답장 대상",
+ "replyingToMessage": "메시지에 답장 중",
+ "selectMessageToRead": "읽을 메시지를 선택하세요",
+ "system": "시스템",
+ "timeDaysAgo": "{{count}}일 전",
+ "timeHoursAgo": "{{count}}시간 전",
+ "timeJustNow": "방금",
+ "timeMinsAgo": "{{count}}분 전",
+ "title": "메일함",
+ "to": "받는 사람",
+ "toLabel": "받는 사람:",
+ "toPrefix": "받는 사람: {{recipient}}",
+ "typeAgentToAgent": "에이전트 ↔ 에이전트",
+ "typeAgentToUser": "에이전트 → 나",
+ "typeSystem": "시스템",
+ "typeUserToAgent": "나 → 에이전트",
+ "user": "사용자",
+ "userLabel": "사용자: {{id}}",
+ "you": "나"
+ },
+ "memory": {
+ "auditChecksTitle": "감사 검사",
+ "autoSummarizeHint": "예약된 일정에 따라 메모리가 임계값을 초과하면 자동으로 압축합니다",
+ "autoSummarizeLabel": "메모리 자동 요약",
+ "autoSummarizeScheduleHint": "자동 요약 일정의 크론 표현식 (기본값: 매일 오전 3시)",
+ "autoSummarizeScheduleLabel": "일정 (cron)",
+ "backendFile": "파일 (.fusion/memory/, agent//memory/)",
+ "backendQmd": "QMD (양자화 메모리 증류)",
+ "backendReadonly": "읽기 전용",
+ "cancel": "취소",
+ "capAtomicWrites": "원자적 쓰기",
+ "capPersistent": "영구 저장",
+ "capReadable": "읽기 가능",
+ "capWritable": "쓰기 가능",
+ "categories": "카테고리",
+ "charCount": "{{count}}자",
+ "compactFailed": "메모리 압축에 실패했습니다",
+ "compactSelectedFile": "선택한 파일 압축",
+ "compacting": "압축 중…",
+ "compactionThresholdHint": "메모리가 이 글자 수를 초과하면 압축됩니다",
+ "compactionThresholdLabel": "압축 임계값 (글자 수)",
+ "currentBackendTitle": "현재 백엔드",
+ "description": "작업 메모리, 장기 인사이트, 엔진 상태",
+ "disabledMessage": "메모리가 현재 비활성화되어 있습니다. 이 자동화를 편집하려면 설정에서 메모리 도구를 활성화하세요.",
+ "dreamNow": "지금 드림 처리",
+ "dreamNowHint": "드림 처리를 지금 수동으로 트리거합니다.",
+ "dreamProcessingComplete": "드림 처리가 완료되었습니다",
+ "dreamProcessingFailed": "드림 처리 실행에 실패했습니다",
+ "dreaming": "드림 처리 중…",
+ "dreamsEnabledHint": "일일 메모를 DREAMS.md로 변환하고 재사용 가능한 교훈을 MEMORY.md로 승격합니다.",
+ "dreamsEnabledLabel": "일일 메모리에서 드림 처리",
+ "dreamsScheduleHint": "드림 처리의 크론 표현식입니다.",
+ "dreamsScheduleLabel": "드림 일정",
+ "editRaw": "원본 편집",
+ "editorDefaultDescription": "선택한 메모리 파일을 편집합니다.",
+ "editorLabel": "메모리 편집기",
+ "extractInsightsFailed": "인사이트 추출에 실패했습니다",
+ "extractNow": "지금 추출",
+ "extracting": "추출 중…",
+ "extractionFailed": "실패",
+ "extractionSuccess": "성공",
+ "fileCompacted": "메모리 파일이 압축되었습니다",
+ "fileLabel": "메모리 파일",
+ "fileSummary": "{{size}}바이트 · {{updatedAt}} 업데이트됨",
+ "fileSwitchDirtyHint": "파일을 전환하기 전에 현재 편집 내용을 저장하거나 취소하세요.",
+ "fileSwitchHint": "보거나 편집할 프로젝트 메모리 파일을 선택하세요.",
+ "healthHealthy": "정상",
+ "healthIssues": "문제 발견됨",
+ "healthStatusTitle": "상태",
+ "healthWarning": "경고",
+ "insightCount": "{{count}}개의 인사이트",
+ "insightsExtracted": "인사이트 {{count}}개 추출됨",
+ "insightsMemoryLabel": "인사이트 메모리",
+ "insightsSaved": "인사이트가 저장되었습니다",
+ "installQmd": "qmd 설치",
+ "installQmdFailed": "qmd 설치에 실패했습니다",
+ "installing": "설치 중…",
+ "lastExtractionLabel": "마지막 추출",
+ "lastUpdated": "마지막 업데이트",
+ "layerDaily": "일일",
+ "layerDescDaily": "드림 처리를 위한 원시 일일 관찰, 미완료 루프, 실행 컨텍스트.",
+ "layerDescDreams": "일일 메모리에서 승격된 통합 패턴 및 미완료 루프.",
+ "layerDescLongTerm": "드림에서 승격된 선별된 지속적 결정, 규칙, 제약, 주의 사항.",
+ "layerDreams": "드림",
+ "layerLongTerm": "장기",
+ "loadFileFailed": "메모리 파일 불러오기에 실패했습니다",
+ "loadingEngineStatus": "엔진 상태 불러오는 중…",
+ "loadingFile": "메모리 파일 불러오는 중…",
+ "loadingInsights": "인사이트 불러오는 중…",
+ "localFallbackUsed": "로컬 폴백 사용됨",
+ "memorySaved": "메모리가 저장되었습니다",
+ "noInsights": "아직 추출된 인사이트가 없습니다.",
+ "noInsightsHint": "인사이트는 작업 메모리에서 자동으로 추출됩니다. \"지금 추출\"을 클릭하여 수동으로 추출을 트리거하세요.",
+ "noMatchingMemory": "일치하는 메모리를 찾을 수 없습니다.",
+ "pruningApplied": "적용됨",
+ "pruningLabel": "가지치기",
+ "pruningNotNeeded": "필요하지 않음",
+ "qmdAvailableOnPath": "qmd를 PATH에서 사용할 수 있습니다.",
+ "qmdChecking": "확인 중",
+ "qmdCheckingAvailability": "qmd 가용성 확인 중…",
+ "qmdInstallSuccess": "qmd가 성공적으로 설치되었습니다",
+ "qmdInstallUnavailable": "qmd 설치가 완료되었지만 qmd를 여전히 사용할 수 없습니다",
+ "qmdInstalled": "설치됨",
+ "qmdIntegrationTitle": "QMD 통합",
+ "qmdNotInstalled": "qmd가 설치되어 있지 않습니다. 검색에 로컬 파일이 사용됩니다. 인덱싱된 검색을 설치하세요:",
+ "qmdPathUsed": "사용된 qmd 경로",
+ "qmdStatusAvailable": "사용 가능",
+ "qmdStatusMissing": "없음",
+ "readOnlyBanner": "이 메모리 백엔드는 읽기 전용입니다. 변경 사항을 저장할 수 없습니다.",
+ "retrievalTestComplete": "메모리 검색 테스트가 완료되었습니다",
+ "retrievalTestFailed": "메모리 검색 테스트에 실패했습니다",
+ "retrievalTestFallback": "qmd가 설치되어 있지 않아 로컬 폴백이 사용되었습니다",
+ "runAudit": "감사 실행",
+ "save": "저장",
+ "saveInsights": "인사이트 저장",
+ "saveInsightsFailed": "인사이트 저장에 실패했습니다",
+ "saveMemoryFailed": "메모리 저장에 실패했습니다",
+ "saveSettings": "설정 저장",
+ "saveSettingsFailed": "메모리 설정 저장에 실패했습니다",
+ "saving": "저장 중…",
+ "searchPlaceholder": "qmd로 메모리 검색",
+ "sectionCount": "{{count}}개 섹션",
+ "settingsNote": "참고: 백엔드 유형 변경은",
+ "settingsNoteLink": "설정 → 메모리",
+ "settingsNoteToast": "설정 → 메모리를 열어 백엔드 유형을 변경하세요",
+ "settingsSaved": "메모리 설정이 저장되었습니다",
+ "sizeChars": "{{size}}자",
+ "tabEngines": "엔진",
+ "tabInsights": "인사이트",
+ "tabWorking": "작업 메모리",
+ "testMemorySearchTitle": "메모리 검색 테스트",
+ "testResultCount": "\"{{query}}\"에 대한 {{count}}개 결과",
+ "testResultStatus": "qmd {{qmdStatus}} · {{fallbackStatus}}",
+ "testRetrieval": "검색 테스트",
+ "testSearchHint": "에이전트가 사용하는 동일한 qmd 기반 memory_search 경로를 실행합니다.",
+ "testing": "테스트 중…",
+ "title": "메모리",
+ "totalInsights": "총 인사이트",
+ "workingMemoryLabel": "작업 메모리"
+ },
+ "merge": {
+ "advanced": "고급",
+ "advancedTo": "{{branch}}가 {{sha}}로 앞당겨졌습니다.",
+ "changesWillAutoStash": " (로컬 변경 사항이 자동으로 스태시되고 복원됩니다)",
+ "checkedOutBehind": "{{path}}에 체크아웃된 복사본이 뒤처져 있습니다.",
+ "commit": "커밋",
+ "disabledMergeLocked": "푸시 일시정지 — Fusion 병합이 진행 중입니다.",
+ "disabledNoRemote": "`origin` 원격이 구성되어 있지 않습니다.",
+ "disabledNoUpstream": "브랜치에 origin의 업스트림이 없습니다.",
+ "dismissNotice": "병합 앞당김 알림 닫기",
+ "filesChanged": "병합 커밋의 파일",
+ "forceWithLeaseLabel": "force-with-lease 허용 (origin이 의도적으로 분기된 경우에만 사용)",
+ "insertionsDeletions": "병합 커밋의 추가 / 삭제",
+ "mergedAt": "병합 시각",
+ "mergedSuccess": "성공적으로 병합되었습니다",
+ "message": "메시지",
+ "pr": "PR",
+ "pulling": "가져오는 중…",
+ "pushForceWithLease": "푸시 (force-with-lease)",
+ "pushHeading": "{{branch}}를 origin에 푸시 — {{count}}개 커밋{{plural}} 앞섬.",
+ "pushSuccess": "origin/{{branch}} @ {{sha}}에 푸시되었습니다.",
+ "pushToOrigin": "origin에 푸시",
+ "pushing": "푸시 중…",
+ "recordedNoConfirm": "로컬 병합 확인 없이 기록됨",
+ "shortstatTitle": "최종 커밋 요약; 모든 작업 커밋에 걸친 전체 랜딩 diff는 변경 탭을 참조하세요.",
+ "smartPull": "스마트 풀",
+ "status": "상태",
+ "title": "병합 세부 정보",
+ "unknown": "알 수 없음"
+ },
+ "mesh": {
+ "ariaLabel": "노드 메시 토폴로지 시각화",
+ "connecting": "연결 중",
+ "error": "오류",
+ "failedToFetchMeshState": "메시 상태를 가져오는 데 실패했습니다",
+ "noNodes": "표시할 노드가 없습니다",
+ "noPeers": "피어 투 피어 검색 데이터를 사용할 수 없습니다.",
+ "offline": "오프라인",
+ "online": "온라인"
+ },
+ "missions": {
+ "acceptance": "수락 기준:",
+ "acceptanceCriteriaOptional": "수락 기준 (선택 사항)",
+ "actionGenerating": "생성 중…",
+ "actionResume": "재개",
+ "actionRetry": "재시도",
+ "actionReview": "검토",
+ "activateSlice": "슬라이스 활성화",
+ "activityTime": "활동 {{time}}",
+ "actual": "실제: {{value}}",
+ "addAssertion": "어설션 추가",
+ "addContext": "추가 컨텍스트나 방향을 입력하세요...",
+ "addFeature": "기능 추가",
+ "addMilestone": "마일스톤 추가",
+ "addSlice": "슬라이스 추가",
+ "additionalComments": "추가 의견 (선택 사항)",
+ "aiThinking": "AI가 생각 중입니다...",
+ "aiValidatedAtRuntime": "런타임에 AI 검증됨",
+ "aiValidatedMissionGate": "AI 검증 미션 게이트",
+ "allFeaturesLinked": "모든 기능이 이미 연결되어 있습니다",
+ "approvePlan": "계획 승인",
+ "assertionCreateFailed": "어설션 생성에 실패했습니다",
+ "assertionCreated": "어설션이 생성되었습니다",
+ "assertionFieldsRequired": "제목과 어설션 텍스트는 필수 항목입니다",
+ "assertionTextEditPlaceholder": "어설션 텍스트",
+ "assertionTextPlaceholder": "어설션 텍스트 (완료 시 참이어야 하는 내용)",
+ "assertionTitlePlaceholder": "어설션 제목",
+ "assertionUpdateFailed": "어설션 업데이트에 실패했습니다",
+ "assertionUpdated": "어설션이 업데이트되었습니다",
+ "attemptRetries": "시도 {{attempt}} · {{count}}{{label}} 남음",
+ "autopilotActivatingSlice": "슬라이스 활성화 중",
+ "autopilotCompleting": "완료 중",
+ "autopilotDescription": "켜져 있으면 Fusion이 작업이 완료될 때 자동으로 다음 슬라이스를 활성화하고 기능을 계획합니다.",
+ "autopilotDisabled": "자동 조종 비활성화됨",
+ "autopilotEnabled": "자동 조종 활성화됨",
+ "autopilotEnabledLabel": "자동 조종 활성화됨",
+ "autopilotLabel": "자동 조종",
+ "autopilotLastActivation": "마지막 활성화 {{time}}",
+ "autopilotOff": "꺼짐",
+ "autopilotStateActivating": "슬라이스 활성화 중",
+ "autopilotStateCompleting": "완료 중",
+ "autopilotStateInactive": "꺼짐",
+ "autopilotStateUnknown": "알 수 없음",
+ "autopilotStateWatching": "감시 중",
+ "autopilotUpdateFailed": "자동 조종 업데이트에 실패했습니다",
+ "autopilotWatching": "자동 조종 감시 중",
+ "autopilotWatchingSince": "{{time}}부터 감시 중",
+ "autopilotWatchingState": "감시 중",
+ "backToMissions": "미션 목록으로",
+ "backToMissionsList": "미션 목록으로",
+ "blocked": "차단됨:",
+ "blockedReason": "차단 이유:",
+ "branchName": "브랜치 이름",
+ "branchNameAriaLabel": "미션 브랜치 이름",
+ "branchNamePlaceholder": "예: feature/mission-work",
+ "branchNameRequired": "선택한 브랜치 전략에 브랜치 이름이 필요합니다",
+ "branchStrategy": "브랜치 전략",
+ "branchStrategyAriaLabel": "미션 브랜치 전략",
+ "branchStrategyAutoPerTask": "작업별 자동 브랜치 이름 지정 (세부 정보에서)",
+ "branchStrategyCustomNew": "커스텀 브랜치 생성",
+ "branchStrategyExisting": "기존 브랜치 사용",
+ "branchStrategyProjectDefault": "프로젝트/기본 브랜치 사용",
+ "buildExample": "예: 현재 상태 표시, 댓글, 버전 기록이 있는 실시간 협업 문서 편집기 구축...",
+ "cancelButton": "취소",
+ "clickToViewTask": "클릭하여 작업 보기",
+ "close": "닫기",
+ "closeMissionManager": "미션 관리자 닫기",
+ "collapseDetails": "세부 정보 접기",
+ "completedFeatures": "{{total}}개 중 {{completed}}개 기능",
+ "completedMilestones": "{{total}}개 중 {{completed}}개 마일스톤",
+ "completedTasks": "{{total}}개 중 {{completed}}개 작업",
+ "confirmMilestonePlaceholder": "이 마일스톤이 완료되었는지 확인하는 방법...",
+ "confirmSlicePlaceholder": "이 슬라이스가 완료되었는지 확인하는 방법...",
+ "contractAssertions": "계약 어설션 (AI 검증됨)",
+ "createButton": "생성",
+ "createTask": "작업 생성",
+ "created": "미션이 생성되었습니다",
+ "createdFromInterview": "AI 인터뷰에서 미션이 생성되었습니다",
+ "creatingMission": "미션 생성 중...",
+ "defaultInterviewTitle": "미션 인터뷰",
+ "deleteAssertion": "어설션 삭제",
+ "deleteButton": "삭제",
+ "deleteConfirm": "이 {{type}}을(를) 삭제하시겠습니까? 이 작업은 취소할 수 없습니다.",
+ "deleteFailed": "미션 삭제에 실패했습니다",
+ "deleteFeature": "기능 삭제",
+ "deleteMilestone": "마일스톤 삭제",
+ "deleteMission": "미션 삭제",
+ "deleteSlice": "슬라이스 삭제",
+ "deleted": "미션이 삭제되었습니다",
+ "describeGoal": "구축하려는 것을 설명하세요. AI가 범위, 제약, 요구 사항을 파악하기 위해 인터뷰를 진행한 다음 마일스톤, 슬라이스, 기능이 포함된 구조화된 계획을 생성합니다.",
+ "descriptionLabel": "미션 설명",
+ "descriptionOptional": "설명 (선택 사항)",
+ "detailTabs": "미션 상세 탭",
+ "discardButton": "버리기",
+ "discardDraft": "초안 버리기",
+ "discardDraftConfirm": "이 인터뷰 초안을 버리시겠습니까? 저장된 초안이 삭제되며 되돌릴 수 없습니다.",
+ "dismiss": "닫기",
+ "draftDiscardFailed": "초안 버리기에 실패했습니다",
+ "draftOpenInAnotherTab": "다른 탭에서 초안이 열려 있습니다",
+ "draftsLabel": "초안",
+ "editAssertion": "어서션 편집",
+ "editFeature": "기능 편집",
+ "editMilestone": "마일스톤 편집",
+ "editMission": "미션 편집",
+ "editSlice": "슬라이스 편집",
+ "enrichedDescPreview": "보강된 설명 미리보기",
+ "expandRunHistory": "실행 기록 펼치기",
+ "expected": "예상: {{value}}",
+ "failedAssertions": "실패한 어서션:",
+ "failedAssertionsTitle": "실패한 어서션:",
+ "failedLoadModels": "모델 불러오기에 실패했습니다",
+ "featureCreated": "기능이 생성되었습니다",
+ "featureCriteriaAwaitingSync": "어서션 동기화 대기 중인 기능 기준",
+ "featureDeleteFailed": "기능 삭제에 실패했습니다",
+ "featureDeleted": "기능이 삭제되었습니다",
+ "featureLinkFailed": "기능 연결에 실패했습니다",
+ "featureLinkTaskFailed": "기능과 작업 연결에 실패했습니다",
+ "featureLinkedToAssertion": "기능이 어서션에 연결되었습니다",
+ "featureLinkedToTask": "기능이 작업에 연결되었습니다",
+ "featureSaveFailed": "기능 저장에 실패했습니다",
+ "featureTitlePlaceholder": "기능 제목",
+ "featureTitleRequired": "기능 제목을 입력해야 합니다",
+ "featureTriageFailed": "기능 분류에 실패했습니다",
+ "featureTriaged": "기능이 분류되었습니다 — 작업이 생성되었습니다",
+ "featureUnlinkFailed": "기능 연결 해제에 실패했습니다",
+ "featureUnlinkFromAssertionFailed": "기능 연결 해제에 실패했습니다",
+ "featureUnlinkedFromAssertion": "기능이 어서션에서 연결 해제되었습니다",
+ "featureUnlinkedFromTask": "기능이 작업에서 연결 해제되었습니다",
+ "featureUpdated": "기능이 업데이트되었습니다",
+ "featuresCount": "{{count}}개 기능",
+ "filterAll": "모든 이벤트",
+ "filterAutopilot": "자동 조종 이벤트",
+ "filterErrors": "오류 및 경고",
+ "filterLabel": "필터",
+ "filterSlices": "슬라이스 및 마일스톤 이벤트",
+ "filterStateChanges": "상태 변경",
+ "filterTasks": "작업 이벤트",
+ "generatedFixFeatures": "생성된 수정 기능:",
+ "generatedFixFeaturesTitle": "생성된 수정 기능",
+ "generatedFromFeature": "기능에서 생성됨: {{id}}",
+ "helperTextActive": "중지하면 연결된 작업이 일시 중지되고 미션이 차단됨으로 표시됩니다.",
+ "helperTextBlocked": "재개하면 미션이 다시 활성화되고 실행이 계속됩니다.",
+ "helperTextPlanning": "시작하면 첫 번째 슬라이스가 활성화되어 작업을 시작할 수 있습니다.",
+ "hideDetails": "세부 정보 숨기기",
+ "hideMetadata": "메타데이터 숨기기",
+ "hideThinking": "사고 과정 숨기기",
+ "hideValidationRounds": "검증 라운드 숨기기",
+ "interviewActionGenerating": "계획 생성 중",
+ "interviewActionResume": "인터뷰 재개",
+ "interviewActionRetry": "인터뷰 재시도",
+ "interviewActionReview": "계획 검토",
+ "interviewComplete": "계획 준비 완료 — 미션을 생성하려면 검토하고 승인하세요.",
+ "interviewErrorDefault": "AI 연결 중 세션이 실패했습니다.",
+ "interviewErrored": "인터뷰에서 오류가 발생했습니다. 이 목록 항목에서 재시도하세요.",
+ "interviewGenerating": "인터뷰 컨텍스트에서 미션 계층 구조를 생성하고 있습니다.",
+ "interviewInProgress": "인터뷰 진행 중",
+ "interviewStatusAwaitingInput": "입력 대기 중",
+ "interviewStatusComplete": "계획 준비 완료",
+ "interviewStatusError": "재시도 필요",
+ "interviewStatusGenerating": "계획 생성 중",
+ "interviewStatusNeedsRetry": "재시도 필요",
+ "interviewStatusPlanReady": "계획 준비 완료",
+ "interviewWaiting": "인터뷰가 다음 응답을 기다리고 있습니다.",
+ "lastValidatorStatus": "마지막 {{status}}",
+ "linkAFeature": "기능 연결",
+ "linkButton": "연결",
+ "linkFeatureButton": "기능 연결",
+ "linkFeatureToTask": "작업에 기능 연결:",
+ "linkToTask": "작업에 연결",
+ "linkedCount": "{{count}}개 연결됨",
+ "linkedFeaturesCount": "{{count}}개 연결된 기능",
+ "linkedFeaturesLabel": "연결된 기능",
+ "linkedGoals": "연결된 목표",
+ "linkedGoalsTitle": "연결된 목표",
+ "loadActivityFailed": "미션 활동 불러오기에 실패했습니다",
+ "loadDetailFailed": "미션 세부 정보 불러오기에 실패했습니다",
+ "loadFailed": "미션 불러오기에 실패했습니다",
+ "loadMore": "더 보기",
+ "loadingActivity": "미션 활동 불러오는 중...",
+ "loadingMissionDetails": "미션 세부 정보 불러오는 중...",
+ "loadingMissions": "미션 불러오는 중...",
+ "loadingModels": "모델 불러오는 중…",
+ "loopState": "루프 상태: {{state}}",
+ "milestoneCreated": "마일스톤이 생성되었습니다",
+ "milestoneDeleteFailed": "마일스톤 삭제에 실패했습니다",
+ "milestoneDeleted": "마일스톤이 삭제되었습니다",
+ "milestoneDescriptionPlaceholder": "마일스톤 설명...",
+ "milestoneSaveFailed": "마일스톤 저장에 실패했습니다",
+ "milestoneTitlePlaceholder": "마일스톤 제목",
+ "milestoneTitleRequired": "마일스톤 제목을 입력해야 합니다",
+ "milestoneUpdated": "마일스톤이 업데이트되었습니다",
+ "milestonesCount": "{{count}}개 마일스톤",
+ "missionHealthAriaLabel": "미션 상태: {{state}}",
+ "missionInterviewInProgressDesc": "미션 인터뷰가 아직 진행 중입니다. 이 미션을 열어 계획을 계속하세요.",
+ "missionList": "미션 목록",
+ "missionManagerAriaLabel": "미션 관리자",
+ "missionTargetBranchAriaLabel": "미션 대상 브랜치",
+ "missionTitlePlaceholder": "미션 제목",
+ "noAssertionFailures": "어서션 실패 없음",
+ "noAssertionsDefined": "아직 정의된 기능 승인 기준 또는 계약 어서션이 없습니다.",
+ "noAssertionsYet": "아직 연결된 계약 어서션이 로드되지 않았습니다. 아래 기능 기준은 미션 검증 실행 시 AI로 검증됩니다.",
+ "noEventsYet": "아직 이벤트가 없습니다.",
+ "noFeaturesLinkedYet": "아직 연결된 기능이 없습니다",
+ "noFixFeaturesGenerated": "생성된 수정 기능이 없습니다.",
+ "noGoalsLinked": "이 미션에 연결된 목표가 없습니다",
+ "noLinkedGoals": "연결된 목표가 없습니다.",
+ "noMilestonesYet": "아직 마일스톤이 없습니다. 시작하려면 하나 추가하세요.",
+ "noMissionsYetBody": "미션은 마일스톤, 슬라이스, 기능을 하나의 계획으로 묶는 대규모 이니셔티브입니다. 미션을 계획하여 목표를 처음부터 끝까지 분해하고 에이전트가 자동 조종 방식으로 작업할 수 있게 하세요.",
+ "noMissionsYetTitle": "아직 미션이 없습니다",
+ "noSlicesYet": "아직 슬라이스가 없습니다",
+ "noValidationRunsYet": "아직 검증 실행이 없습니다.",
+ "none": "없음",
+ "openMissionAriaLabel": "미션 {{title}} 열기",
+ "orSelect": "또는 선택:",
+ "planMilestone": "마일스톤 계획",
+ "planNewMission": "새 미션 계획",
+ "planReady": "미션 계획 준비 완료",
+ "planSlice": "슬라이스 계획",
+ "planStateNeedsUpdate": "업데이트 필요",
+ "planStateNotPlanned": "계획되지 않음",
+ "planStatePlanned": "계획됨",
+ "planTitle": "AI로 미션 계획",
+ "planningModel": "계획 모델",
+ "prepareQuestion": "다음 질문 준비 중...",
+ "progressText": "질문 {{count}}/6",
+ "reconnecting": "재연결 중…",
+ "relativeTimeDays": "{{count}}일 전",
+ "relativeTimeHours": "{{count}}시간 전",
+ "relativeTimeJustNow": "방금 전",
+ "relativeTimeMinutes": "{{count}}분 전",
+ "removeFeature": "기능 제거",
+ "removeMilestone": "마일스톤 제거",
+ "removeSlice": "슬라이스 제거",
+ "resizeSidebar": "미션 사이드바 크기 조정",
+ "resumeFailed": "미션 재개에 실패했습니다",
+ "resumeInterviewAriaLabel": "인터뷰 {{title}} 재개",
+ "resumeMission": "미션 재개",
+ "resumed": "미션이 재개되었습니다",
+ "retries": "재시도",
+ "retry": "재시도",
+ "retryBudgetTitle": "구현 시도 횟수 및 남은 재시도 예산",
+ "retrying": "재시도 중...",
+ "roadmapLabel": "로드맵",
+ "run": "실행:",
+ "runHelperActive": "중지하면 연결된 작업이 일시 중지되고 미션이 차단됨으로 표시됩니다.",
+ "runHelperBlocked": "재개하면 미션이 다시 활성화되고 실행이 계속됩니다.",
+ "runHelperPlanning": "시작하면 첫 번째 슬라이스가 활성화되어 작업을 시작할 수 있습니다.",
+ "runSettings": "미션 실행 설정",
+ "runSettingsTitle": "미션 실행 설정",
+ "saveButton": "저장",
+ "saveFailed": "미션 저장에 실패했습니다",
+ "selectMissionToView": "세부 정보를 보려면 미션을 선택하세요",
+ "sendToBackground": "백그라운드로 보내기",
+ "sessionActiveAnother": "세션이 다른 탭에서 활성화되어 있습니다.",
+ "sessionActiveHeartbeat": "이 세션은 다른 탭에서 활성화되어 있습니다 (실시간 하트비트)",
+ "sessionActiveTab": "이 세션은 다른 탭에서 활성화되어 있습니다",
+ "showDetails": "세부 정보 표시",
+ "showMetadata": "메타데이터 표시",
+ "showThinking": "사고 과정 표시",
+ "showValidationRounds": "검증 라운드 표시",
+ "sliceActivateFailed": "슬라이스 활성화에 실패했습니다",
+ "sliceActivated": "슬라이스가 활성화되었습니다",
+ "sliceCreated": "슬라이스가 생성되었습니다",
+ "sliceDeleteFailed": "슬라이스 삭제에 실패했습니다",
+ "sliceDeleted": "슬라이스가 삭제되었습니다",
+ "sliceSaveFailed": "슬라이스 저장에 실패했습니다",
+ "sliceTitlePlaceholder": "슬라이스 제목",
+ "sliceTitleRequired": "슬라이스 제목을 입력해야 합니다",
+ "sliceTriageFailed": "슬라이스 기능 분류에 실패했습니다",
+ "sliceTriaged": "{{count}}개 기능이 분류되었습니다",
+ "sliceUpdated": "슬라이스가 업데이트되었습니다",
+ "sliceVerification": "슬라이스 검증",
+ "slicesCount": "{{count}}개 슬라이스",
+ "source": "출처:",
+ "startFailed": "미션 시작에 실패했습니다",
+ "startInterview": "인터뷰 시작",
+ "startMission": "미션 시작",
+ "startOver": "처음부터 다시",
+ "started": "미션이 시작되었습니다 — 첫 번째 슬라이스가 활성화됨",
+ "statusActive": "활성",
+ "statusArchived": "보관됨",
+ "statusBlocked": "차단됨",
+ "statusComplete": "완료",
+ "statusDefined": "정의됨",
+ "statusDone": "완료",
+ "statusFailed": "실패",
+ "statusInProgress": "진행 중",
+ "statusPassed": "통과",
+ "statusPending": "대기 중",
+ "statusPlanning": "계획 중",
+ "statusTriaged": "분류됨",
+ "stopFailed": "미션 중지에 실패했습니다",
+ "stopMission": "미션 중지",
+ "stopped": "미션이 중지되었습니다 ({{count}}개 작업 일시 중지됨)",
+ "summaryStats": "{{milestones}}개 마일스톤, {{features}}개 기능. 승인 전에 검토 및 편집하세요.",
+ "tabActivity": "활동 ({{count}})",
+ "tabStructure": "구조",
+ "takeControl": "제어권 가져오기",
+ "takingControl": "제어권 가져오는 중...",
+ "targetBranch": "대상 브랜치",
+ "targetBranchPlaceholder": "예: main",
+ "taskIdPlaceholder": "작업 ID (예: FN-001)",
+ "taskIdRequired": "작업 ID를 입력해야 합니다",
+ "tasksFailed": "{{count}}개 실패",
+ "title": "미션",
+ "titleLabel": "미션 제목",
+ "titleRequired": "미션 제목을 입력해야 합니다",
+ "toggleDetails": "세부 정보 토글",
+ "transformVision": "비전을 구조화된 미션으로 변환하세요",
+ "triageAllFeatures": "모든 기능 분류",
+ "triageCreateTask": "분류 — 작업 생성",
+ "tryExample": "예시 사용해 보기:",
+ "typeAnswer": "여기에 답변을 입력하세요...",
+ "unlinkFeature": "기능 연결 해제",
+ "unlinkTask": "작업 연결 해제",
+ "unlinkedBadge": "연결 해제됨",
+ "untitled": "제목 없음",
+ "updateButton": "업데이트",
+ "updated": "미션이 업데이트되었습니다",
+ "validateFeature": "기능 검증",
+ "validationRoundsCount": "{{count}}라운드",
+ "validationRoundsLabel": "검증 라운드 ({{count}})",
+ "validationRuns": "검증 실행",
+ "validationState": "검증 상태",
+ "validationStateNotStarted": "시작되지 않음",
+ "validationTelemetry": "검증 원격 측정",
+ "validationTriggerFailed": "검증 트리거에 실패했습니다",
+ "validationTriggered": "검증이 트리거되었습니다",
+ "verification": "검증:",
+ "verificationCriteria": "검증 기준",
+ "viewMissionFailures": "미션 실패 보기",
+ "whatToBuild": "무엇을 만들고 싶으신가요?"
+ },
+ "modalManager": {
+ "createdFromPlanning": "계획 모드에서 {{id}}를 생성했습니다",
+ "createdFromSubtask": "하위 작업 분해에서 {{ids}}를 생성했습니다",
+ "createdMultipleFromPlanning": "계획 모드에서 {{ids}}를 생성했습니다"
+ },
+ "model": {
+ "noChange": "변경 없음",
+ "selectPlaceholder": "모델 선택…"
+ },
+ "modelSelection": {
+ "choose": "이 작업에 사용할 모델을 선택하세요. 선택하지 않으면 기본 모델이 사용됩니다.",
+ "custom": "사용자 지정",
+ "executorModel": "실행자 모델",
+ "executorPlaceholder": "실행자 모델 선택…",
+ "loading": "모델 불러오는 중…",
+ "noModels": "사용 가능한 모델이 없습니다. 모델 선택을 활성화하려면 설정에서 인증을 구성하세요.",
+ "preset": "프리셋",
+ "reviewerModel": "검토자 모델",
+ "reviewerPlaceholder": "검토자 모델 선택…",
+ "title": "모델 선택",
+ "useDefault": "기본값 사용",
+ "usingDefault": "기본값 사용 중"
+ },
+ "models": {
+ "addProviderToFavoritesAriaLabel": "{{provider}}를 즐겨찾기에 추가",
+ "addToFavorites": "즐겨찾기에 추가",
+ "addToFavoritesAriaLabel": "{{name}}을(를) 즐겨찾기에 추가",
+ "clearFilter": "필터 지우기",
+ "count": "{{count}}개 모델",
+ "descriptions": {
+ "executor": "이 작업을 구현하는 데 사용되는 AI 모델입니다.",
+ "override": "이 작업에 사용되는 AI 모델을 재정의합니다. 지정하지 않으면 프로젝트 또는 전역 기본값이 사용됩니다.",
+ "planning": "작업 명세(트리아지 단계)에 사용되는 AI 모델입니다.",
+ "reviewer": "이 작업의 코드 및 계획을 검토하는 데 사용되는 AI 모델입니다.",
+ "thinkingLevel": "AI 에이전트의 추론 노력을 제어합니다. 수준이 높을수록 더 많은 토큰을 사용합니다."
+ },
+ "emptyStates": {
+ "noModels": "사용 가능한 모델이 없습니다. 모델 선택을 활성화하려면 설정에서 인증을 구성하세요."
+ },
+ "errors": {
+ "failedSaveSettings": "모델 설정 저장에 실패했습니다",
+ "failedSaveThinking": "사고 수준 저장에 실패했습니다",
+ "failedUpdateFavorites": "즐겨찾기 업데이트에 실패했습니다",
+ "failedUpdateModelFavorites": "모델 즐겨찾기 업데이트에 실패했습니다"
+ },
+ "filterPlaceholder": "모델 필터…",
+ "labels": {
+ "executorModel": "실행자 모델",
+ "planningModel": "계획 모델",
+ "reviewerModel": "검토자 모델",
+ "thinkingLevel": "사고 수준"
+ },
+ "messages": {
+ "modelSetTo": "{{label}} 모델이 {{provider}}/{{modelId}}로 설정되었습니다",
+ "modelSetToDefault": "{{label}} 모델이 기본값으로 설정되었습니다",
+ "thinkingLevelSet": "사고 수준이 {{level}}로 설정되었습니다",
+ "thinkingLevelSetDefault": "사고 수준이 기본값({{level}})으로 설정되었습니다",
+ "upToDate": "모델 설정이 최신 상태입니다.",
+ "usingDefaults": "프로젝트 또는 전역 기본 모델을 사용 중입니다."
+ },
+ "noResults": "'{{filter}}'와(과) 일치하는 모델이 없습니다",
+ "options": {
+ "default": "기본값",
+ "high": "높음",
+ "low": "낮음",
+ "medium": "중간",
+ "minimal": "최소",
+ "off": "끔"
+ },
+ "placeholders": {
+ "selectExecutor": "실행자 모델 선택…",
+ "selectPlanning": "계획 모델 선택…",
+ "selectReviewer": "검토자 모델 선택…"
+ },
+ "removeFromFavorites": "즐겨찾기에서 제거",
+ "removeFromFavoritesAriaLabel": "{{name}}을(를) 즐겨찾기에서 제거",
+ "removeProviderFromFavoritesAriaLabel": "{{provider}}를 즐겨찾기에서 제거",
+ "states": {
+ "loading": "사용 가능한 모델 불러오는 중…",
+ "usingDefault": "기본값 사용 중"
+ },
+ "targetLabels": {
+ "executor": "실행자",
+ "planning": "계획",
+ "validator": "검토자"
+ },
+ "titles": {
+ "configuration": "모델 구성"
+ },
+ "useDefault": "기본값 사용"
+ },
+ "nav": {
+ "activityLog": "활동 로그",
+ "agents": "에이전트",
+ "automation": "자동화",
+ "chat": "채팅",
+ "chatUnreadAriaLabel": "읽지 않은 채팅 응답",
+ "devServer": "개발 서버",
+ "documents": "문서",
+ "evals": "평가",
+ "files": "파일",
+ "gitManager": "Git 관리자",
+ "goals": "목표",
+ "importFromGitHub": "GitHub에서 가져오기",
+ "insights": "인사이트",
+ "loadingScripts": "스크립트 불러오는 중…",
+ "mailbox": "메일함",
+ "mailboxPendingAriaLabel": "승인 대기 중",
+ "manageScripts": "스크립트 관리…",
+ "memory": "메모리",
+ "missions": "미션",
+ "more": "더 보기",
+ "moreSheetTitle": "탐색",
+ "noScriptsAddOne": "스크립트 없음 — 추가하세요…",
+ "nodes": "노드",
+ "planning": "계획",
+ "primaryNavAriaLabel": "기본 탐색",
+ "projects": "프로젝트",
+ "reliability": "신뢰성",
+ "research": "연구",
+ "scriptsSubmenuAriaLabel": "스크립트 하위 메뉴",
+ "secrets": "시크릿",
+ "settings": "설정",
+ "showScriptsAriaLabel": "스크립트 표시",
+ "skills": "스킬",
+ "stashRecovery": "스태시 복구",
+ "systemStats": "시스템 통계",
+ "tasks": "작업",
+ "terminal": "터미널",
+ "todos": "할 일",
+ "usage": "사용량",
+ "workflowSteps": "워크플로우 단계"
+ },
+ "newTaskModal": {
+ "addDependencies": "의존성 추가",
+ "assignAgent": "에이전트 할당",
+ "assignAgentButton": "에이전트 할당",
+ "branchRequired": "이 브랜치 전략에는 브랜치 이름이 필요합니다.",
+ "clearSelection": "선택 지우기",
+ "createTask": "작업 생성",
+ "creating": "생성 중...",
+ "dependencies": "의존성",
+ "discardChanges": "변경 사항 버리기",
+ "failedToCreate": "작업 생성에 실패했습니다",
+ "failedToUpload": "업로드 실패: {{files}}",
+ "loadingAgents": "에이전트 불러오는 중...",
+ "noAgentsAvailable": "사용 가능한 에이전트 없음",
+ "noAvailableTasks": "사용 가능한 작업 없음",
+ "searchTasks": "작업 검색…",
+ "selectAgent": "에이전트 선택",
+ "selectedCount": "{{count}}개 선택됨",
+ "taskCreated": "{{taskId}} 생성됨",
+ "title": "새 작업",
+ "unsavedChanges": "저장되지 않은 변경 사항이 있습니다. 버리시겠습니까?"
+ },
+ "nodeStatus": {
+ "connecting": "연결 중",
+ "error": "오류",
+ "local": "로컬",
+ "offline": "오프라인",
+ "online": "온라인",
+ "unknown": "알 수 없음"
+ },
+ "nodeSync": {
+ "error": {
+ "authSyncFailed": "인증 동기화에 실패했습니다",
+ "failedToFetchStatus": "동기화 상태 가져오기에 실패했습니다",
+ "pullFailed": "설정 가져오기에 실패했습니다",
+ "pushFailed": "설정 내보내기에 실패했습니다",
+ "someRequestsFailed": "일부 동기화 상태 요청이 실패했습니다"
+ }
+ },
+ "nodes": {
+ "actions": {
+ "connect": "연결",
+ "connecting": "연결 중...",
+ "edit": {
+ "ariaLabel": "노드 편집",
+ "label": "편집",
+ "title": "편집"
+ },
+ "health": {
+ "ariaLabel": "노드 상태 확인 실행",
+ "label": "상태",
+ "title": "상태 확인"
+ },
+ "remove": {
+ "ariaLabel": "노드 제거",
+ "ariaLabelConfirm": "노드 제거 확인",
+ "label": "제거",
+ "labelConfirm": "확인",
+ "title": "제거",
+ "titleConfirm": "제거 확인"
+ },
+ "restart": {
+ "ariaLabel": "노드 컨테이너 재시작",
+ "label": "재시작",
+ "title": "FN-3113 이후 사용 가능"
+ },
+ "start": {
+ "ariaLabel": "노드 컨테이너 시작",
+ "label": "시작",
+ "title": "FN-3113 이후 사용 가능"
+ },
+ "stop": {
+ "ariaLabel": "노드 컨테이너 중지",
+ "label": "중지",
+ "title": "FN-3113 이후 사용 가능"
+ }
+ },
+ "addCliButton": "CLI 추가",
+ "addDockerNode": "Docker 노드 추가",
+ "addDockerNodeTitle": "관리형 Docker 노드 추가",
+ "addFirstNode": "첫 번째 노드 추가",
+ "addMountButton": "마운트 추가",
+ "addNode": "노드 추가",
+ "addVariableButton": "변수 추가",
+ "adding": "추가 중...",
+ "apiKey": "API 키",
+ "apiKeyMode": "API 키 모드",
+ "apiKeyNotConfigured": "구성되지 않음",
+ "apiKeyPlaceholder": "노드 API 키 입력",
+ "attachProjects": "기존 프로젝트 연결",
+ "attachProjectsHint": "이 노드에서 실행할 기존 프로젝트를 선택하고, 각 프로젝트의 노드 전용 절대 경로를 입력하세요.",
+ "auth": {
+ "differ": "인증 자격 증명이 다릅니다",
+ "differProviders": "인증 자격 증명이 다릅니다: {{providers}}",
+ "match": "인증 자격 증명이 일치합니다",
+ "notSynced": "인증이 동기화되지 않았습니다"
+ },
+ "authSync": {
+ "differ": "자격 증명 불일치",
+ "label": "인증 동기화: {{status}}",
+ "match": "자격 증명 일치",
+ "notSynced": "동기화되지 않음"
+ },
+ "autoAssignment": "자동 (할당 없음)",
+ "autoGenerate": "자동 생성",
+ "availableSoon": "FN-3113 이후 사용 가능",
+ "cancelButton": "취소",
+ "closeAriaLabel": "노드 보기 닫기",
+ "closeButton": "닫기",
+ "closeLogsAriaLabel": "로그 닫기",
+ "closeModalAriaLabel": "노드 상세 모달 닫기",
+ "closeNodeModal": "노드 추가 모달 닫기",
+ "concurrencyMin": "동시 실행 수는 최소 1이어야 합니다",
+ "concurrencyRange": "동시 실행 수는 {{min}}에서 {{max}} 사이여야 합니다",
+ "containerLogs": "컨테이너 로그",
+ "description": "연결 세부 정보와 동시 실행 설정을 입력하여 기존 Fusion 노드를 등록하세요.",
+ "discoverBeforeAdding": "이 노드를 추가하기 전에 원격 프로젝트를 검색하세요.",
+ "discoverRemoteProjects": "원격 프로젝트 검색",
+ "discoveredCount": "원격 프로젝트 {{count}}개{{plural}} 검색됨.",
+ "discovering": "검색 중...",
+ "discoveryFailed": "원격 프로젝트 검색에 실패했습니다",
+ "dismissError": "오류 닫기",
+ "docker": "Docker",
+ "dockerBadge": "관리형 Docker 노드",
+ "dockerConfigSaveFailed": "Docker 구성 저장에 실패했습니다",
+ "dockerConfigSaveSuccess": "Docker 구성이 저장되었습니다",
+ "dockerConfiguration": "Docker 구성",
+ "dockerContainerId": "컨테이너 ID",
+ "dockerContainerPath": "컨테이너 경로",
+ "dockerContextName": "컨텍스트 이름",
+ "dockerCpuCount": "CPU 수",
+ "dockerDefaultCpu": "기본 CPU",
+ "dockerDefaultMemory": "기본 메모리",
+ "dockerEnvVars": "환경 변수",
+ "dockerExitCode": "종료 코드:",
+ "dockerExtraClis": "추가 CLI",
+ "dockerFieldImage": "이미지",
+ "dockerHost": {
+ "local": "로컬 Docker",
+ "remote": "원격: {{host}}"
+ },
+ "dockerHostConfig": "호스트 구성",
+ "dockerHostPath": "호스트 경로",
+ "dockerHostUrl": "Docker 호스트 URL",
+ "dockerLabel": "Docker",
+ "dockerMemoryBytes": "메모리 바이트 (2 GB = 2147483648)",
+ "dockerNeedsRecreate": "재생성 필요",
+ "dockerNodeCreated": "Docker 노드 \"{{name}}\"이(가) 생성되었습니다",
+ "dockerPersistence": "지속성",
+ "dockerPersistentStorage": "영구 스토리지",
+ "dockerPidsLimit": "PID 제한",
+ "dockerPort": "포트",
+ "dockerResourceDefault": "기본값",
+ "dockerResourceSizing": "리소스 크기",
+ "dockerResources": "리소스",
+ "dockerRetainOnDelete": "삭제 시 보존",
+ "dockerStatusUnknown": "알 수 없음",
+ "dockerTlsCaCert": "TLS CA 인증서 경로",
+ "dockerTlsCert": "TLS 인증서 경로",
+ "dockerTlsKey": "TLS 키 경로",
+ "dockerTlsVerify": "TLS 확인",
+ "dockerUptime": "가동 시간:",
+ "dockerVolumeMounts": "볼륨 마운트",
+ "dockerVolumeName": "볼륨 이름",
+ "editButton": "편집",
+ "errorFetching": "노드 가져오기에 실패했습니다",
+ "errorPersistMappings": "프로젝트 매핑 저장에 실패했습니다",
+ "errorUnregisterAfterMappingFailure": "매핑 실패 후 노드 등록 해제에 실패했습니다",
+ "errors": {
+ "connectFailed": "연결에 실패했습니다",
+ "connectToNode": "노드 연결에 실패했습니다"
+ },
+ "failedCreateDocker": "Docker 노드 생성에 실패했습니다",
+ "failedRefresh": "노드 새로고침에 실패했습니다",
+ "failedRemove": "노드 제거에 실패했습니다",
+ "fetchContainerLogsFailed": "컨테이너 로그 가져오기에 실패했습니다",
+ "fetchContainerStatusFailed": "컨테이너 상태 가져오기에 실패했습니다",
+ "fetchingLogs": "로그 가져오는 중...",
+ "fieldApiKey": "API 키",
+ "fieldCreated": "생성일",
+ "fieldMaxConcurrent": "최대 동시 실행",
+ "fieldName": "이름",
+ "fieldStatus": "상태",
+ "fieldType": "유형",
+ "fieldUpdated": "수정일",
+ "fieldUrl": "URL",
+ "fields": {
+ "authKey": "인증 키",
+ "host": "호스트 / IP 주소",
+ "maxConcurrent": "최대 동시 실행",
+ "name": "노드 이름",
+ "port": "포트",
+ "url": "URL"
+ },
+ "heading": "노드",
+ "healthCheckButton": "상태 확인",
+ "healthCheckComplete": "노드 상태 확인이 완료되었습니다",
+ "healthCheckFailed": "상태 확인에 실패했습니다",
+ "healthCheckSuccess": "{{name}}의 상태 확인이 완료되었습니다",
+ "healthLastCheck": "마지막 확인:",
+ "healthStatus": "상태:",
+ "local": "로컬",
+ "localDocker": "로컬 Docker",
+ "localNodeName": "로컬",
+ "maxConcurrent": "최대 동시 실행",
+ "maxConcurrentHint": "최대 동시 작업 에이전트 수 (1~10)",
+ "meshTopology": "메시 토폴로지",
+ "meshTopologyAriaLabel": "메시 토폴로지",
+ "metrics": {
+ "concurrency": "동시 실행",
+ "projects": "프로젝트"
+ },
+ "modal": {
+ "closeButton": "노드 연결 모달 닫기",
+ "title": "노드에 연결"
+ },
+ "modalAriaLabel": "{{name}}의 노드 상세 정보",
+ "modalTitle": "노드 상세 정보",
+ "multipleMatches": "이 이름과 일치하는 원격 프로젝트가 여러 개입니다. 올바른 경로를 직접 입력하세요.",
+ "name": "이름",
+ "namePlaceholder": "빌드 머신",
+ "nameRequired": "이름은 필수입니다",
+ "no": "아니요",
+ "noLogsAvailable": "사용 가능한 로그가 없습니다",
+ "noMatch": "일치하는 원격 이름이 없습니다. 이 경로를 직접 입력하세요.",
+ "noProjects": "현재 등록된 프로젝트가 없습니다.",
+ "noProjectsAssigned": "이 노드에 할당된 프로젝트가 없습니다.",
+ "noProjectsDiscovered": "원격 노드에서 검색된 프로젝트가 없습니다.",
+ "noProjectsRunning": "이 노드에서 실행 중인 프로젝트가 없습니다.",
+ "noRegistered": "아직 등록된 노드가 없습니다.",
+ "nodeLabel": "{{name}} ({{type}}) — {{status}}",
+ "offline": "오프라인",
+ "online": "온라인",
+ "pathDiscovered": "원격 권한 경로 검색됨: {{path}}",
+ "pathInvalid": "경로가 잘못되었습니다",
+ "pathOnNode": "이 노드의 경로",
+ "placeholders": {
+ "host": "192.0.2.10 또는 my-server.local",
+ "name": "빌드 서버",
+ "optional": "선택 사항"
+ },
+ "provideManually": "키를 직접 입력",
+ "pullSettings": "설정 가져오기",
+ "pullSettingsFailed": "설정 가져오기에 실패했습니다",
+ "pullSettingsSuccess": "설정을 성공적으로 가져왔습니다",
+ "pulling": "가져오는 중...",
+ "pushSettings": "설정 내보내기",
+ "pushSettingsFailed": "설정 내보내기에 실패했습니다",
+ "pushSettingsSuccess": "설정을 성공적으로 내보냈습니다",
+ "pushing": "내보내는 중...",
+ "reachableUrl": "연결 가능한 URL / 호스트명",
+ "readOnly": "읽기 전용",
+ "refresh": "새로고침",
+ "refreshStatus": "상태 새로고침",
+ "refreshing": "새로고침 중...",
+ "registerFailed": "노드 등록에 실패했습니다",
+ "registered": "노드 \"{{name}}\"이(가) 등록되었습니다",
+ "registeredCount": "{{count}}개 등록됨",
+ "remote": "원격",
+ "removeButton": "제거",
+ "removed": "노드가 제거되었습니다",
+ "restartButton": "재시작",
+ "runtimeNodeLabel": "런타임 노드",
+ "saveButton": "저장",
+ "saveDockerConfig": "Docker 구성 저장",
+ "saving": "저장 중...",
+ "sectionAssignedProjects": "할당된 프로젝트",
+ "sectionDockerManagement": "Docker 관리",
+ "sectionHealth": "상태",
+ "sectionOverview": "개요",
+ "sectionProjects": "프로젝트",
+ "sectionSettingsSync": "설정 동기화",
+ "sectionSyncHistory": "동기화 기록",
+ "startButton": "시작",
+ "status": {
+ "connecting": "연결 중",
+ "creating": "생성 중",
+ "deleting": "삭제 중",
+ "error": "오류",
+ "exited": "종료됨",
+ "offline": "오프라인",
+ "online": "온라인",
+ "recreating": "재생성 중",
+ "running": "실행 중",
+ "stopped": "중지됨"
+ },
+ "statusConnecting": "연결 중",
+ "statusError": "오류",
+ "statusOffline": "오프라인",
+ "statusOnline": "온라인",
+ "statusTitle": "상태: {{status}}",
+ "stopButton": "중지",
+ "success": {
+ "connected": "\"{{name}}\"에 연결되었습니다"
+ },
+ "syncAuth": "인증 동기화",
+ "syncAuthFailed": "인증 동기화에 실패했습니다",
+ "syncAuthSuccess": "인증 자격 증명이 성공적으로 동기화되었습니다",
+ "syncDifferences": "차이점:",
+ "syncLastSync": "마지막 동기화:",
+ "syncNeverSynced": "동기화된 적 없음",
+ "synced": "동기화됨",
+ "syncing": "동기화 중...",
+ "total": "전체",
+ "type": {
+ "local": "로컬",
+ "remote": "원격"
+ },
+ "typeLocal": "로컬",
+ "typeRemote": "원격",
+ "updateFailed": "노드 업데이트에 실패했습니다",
+ "updateSuccess": "{{name}}이(가) 업데이트되었습니다",
+ "urlRequired": "원격 노드에는 URL이 필요합니다",
+ "validation": {
+ "concurrencyRange": "동시 실행 수는 {{min}}에서 {{max}} 사이여야 합니다",
+ "hostRequired": "호스트 / IP 주소는 필수입니다",
+ "nameRequired": "노드 이름은 필수입니다",
+ "portRange": "포트는 1에서 65535 사이여야 합니다"
+ },
+ "viewLogsButton": "로그 보기",
+ "yes": "예"
+ },
+ "onboarding": {
+ "authToken": "인증 토큰 (선택 사항)",
+ "continue": "계속",
+ "continueOnboarding": "온보딩 계속",
+ "continueSetup": "설정 계속",
+ "defaultName": "원격 서버",
+ "description": "Fusion은 AI 지원 엔지니어링 작업을 계획하고, 실행하고, 검토하는 데 도움을 드립니다.",
+ "localFusion": "로컬 Fusion",
+ "onTheStep": "현재 ",
+ "profileName": "프로필 이름",
+ "progressText": "{{total}}단계 중 {{completed}}단계 완료 — 현재 ",
+ "remoteServer": "원격 서버",
+ "resumeOnboarding": "온보딩 재개",
+ "saving": "저장 중…",
+ "scanQr": "QR 스캔",
+ "scanning": "스캔 중…",
+ "serverUrl": "서버 URL",
+ "serverUrlPlaceholder": "https://your-fusion-host",
+ "stepContinue": "단계에 있습니다. 이전에 중단한 곳에서 계속하여 대시보드 설정을 완료하세요.",
+ "welcome": "Fusion에 오신 것을 환영합니다"
+ },
+ "openclaw": {
+ "agentId": "에이전트 ID",
+ "agentIdHint": "실행할 OpenClaw 에이전트 정의 (기본값: main).",
+ "agentIdPlaceholder": "main",
+ "binaryPath": "바이너리 경로",
+ "binaryPathHint": "비워 두면 PATH에서 openclaw를 찾습니다.",
+ "binaryPathPlaceholder": "openclaw (PATH에서 기본값 사용)",
+ "cliTimeout": "OpenClaw 타임아웃 (초)",
+ "cliTimeoutHint": "OpenClaw 측 실행 타임아웃 (초 단위, 0 = 타임아웃 없음).",
+ "description": "로컬 openclaw CLI를 서브프로세스로 실행합니다. 각 Fusion 프롬프트는 openclaw agent --local --json을 통해 전달되며, 에이전트 정의, 모델, 사고 수준은 OpenClaw가 결정합니다. 이 카드에서는 재정의 옵션과 바이너리 경로만 설정합니다.",
+ "detected": "✓ openclaw 감지됨{{version}}{{path}}.",
+ "gateway": "OpenClaw 게이트웨이를 통해 라우팅 (비활성화 시 임베디드)",
+ "gatewayHint": "활성화하면 호출이 OpenClaw 게이트웨이 서비스를 통해 전달됩니다.",
+ "githubLink": "GitHub의 openclaw",
+ "model": "모델 재정의",
+ "modelHint": "선택 사항 — OpenClaw 기본 모델을 재정의합니다.",
+ "modelPlaceholder": "예: anthropic/claude-haiku-4-5, minimax/MiniMax-M3",
+ "notDetectedInstall": "]openclaw가 감지되지 않았습니다. 업스트림 에이전트를 설치하세요:",
+ "notFound": "✗ openclaw를 찾을 수 없음",
+ "probing": "로컬 openclaw 바이너리 확인 중…",
+ "saved": "설정이 저장되었습니다.",
+ "savedDetected": "저장됨 · ✓ openclaw 감지됨{{version}}{{path}}.",
+ "savedNotFound": "저장됨 · ✗ openclaw를 찾을 수 없음",
+ "savedProbeFailed": "저장되었지만, 확인에 실패했습니다.",
+ "statusDetected": "✓ 감지됨{{version}}{{path}}",
+ "statusNotFound": "✗ PATH에서 감지되지 않음",
+ "subprocess": "CLI 서브프로세스 타임아웃 (ms)",
+ "subprocessHint": "CLI 서브프로세스가 종료되기 전 Fusion 측 최대 대기 시간 (기본값: {{default}}s).",
+ "testFailed": "테스트에 실패했습니다 — 위의 상태를 확인하세요.",
+ "thinking": "사고 수준",
+ "thinkingHint": "모델의 확장 사고 수준을 제어합니다."
+ },
+ "paperclip": {
+ "agentHelp": "이 Fusion 런타임이 프록시할 Paperclip 에이전트를 선택하세요.",
+ "agentLabel": "에이전트",
+ "apiKeyHelp": "에이전트 API 키. 로컬 신뢰 배포에서는 비워 둘 수 있습니다.",
+ "apiKeyLabel": "API 키",
+ "apiKeyMinted": "paperclipai를 통해 API 키가 발급되었습니다 (에이전트 {{agentId}}에 'fusion-runtime' 키 설치됨). 저장을 클릭하여 유지하세요.",
+ "apiKeyPlaceholder": "•••••••• (기존 키 유지 시 비워 두기)",
+ "apiUrlHelp": "Paperclip 서버의 기본 URL.",
+ "apiUrlLabel": "API URL",
+ "cliApiKeyHelp": "로컬 신뢰 배포에서는 키가 필요하지 않습니다.",
+ "cliApiKeyLabel": "API 키 (재정의, 선택 사항)",
+ "cliApiKeyPlaceholder": "선택 사항 — 비로컬 신뢰 모드에서만 필요",
+ "cliBinaryHelp": "선택 사항 — 참고용으로, 어댑터는 현재 인스턴스 구성 파일을 직접 읽습니다.",
+ "cliBinaryLabel": "paperclipai 바이너리",
+ "cliConfigLabel": "CLI 구성:",
+ "cliConfigPathHelp": "config.json 경로를 재정의합니다. 기본값 사용 시 비워 두세요.",
+ "cliConfigPathLabel": "인스턴스 구성 경로",
+ "cliDiscoveryFailed": "CLI 검색에 실패했습니다: {{reason}}",
+ "cliDiscoveryFailedLabel": "CLI 검색에 실패했습니다: {{reason}}",
+ "companyHelp": "Paperclip 회사를 선택하세요.",
+ "companyIdRequired": "Paperclip API 키를 발급하려면 회사 ID가 필요합니다.",
+ "companyLabel": "회사",
+ "connectToPopulate": "연결하여 자동 입력",
+ "connected": "연결되었습니다.",
+ "connectedAsAgent": "{{agentName}}{{companyInfo}}(으)로 연결되었습니다.",
+ "connectionModeAriaLabel": "Paperclip 연결 모드",
+ "description": "Paperclip 회사에서 Paperclip 에이전트(직원)를 구동합니다. 각 프롬프트는 작업 형태의 요청을 전달하며, 거버넌스, 예산, 승인은 Paperclip이 처리합니다. 턴당 수 초에서 수 분의 지연이 발생할 수 있습니다.",
+ "docsLink": "Paperclip 문서",
+ "githubLink": "GitHub",
+ "goalIdHelp": "Paperclip 목표와 작업을 연결합니다.",
+ "goalIdLabel": "목표 ID (선택 사항)",
+ "mintButton": "paperclipai로 API 키 발급",
+ "mintFailed": "발급 실패: {{reason}}. CLI가 인증되지 않은 경우 먼저 `paperclipai onboard`를 실행하세요.",
+ "mode": {
+ "issue-per-prompt": "프롬프트별 이슈",
+ "rolling-issue": "롤링 이슈 (기본값)",
+ "wakeup-only": "웨이크업 전용 (고급)"
+ },
+ "modeHelp": {
+ "issue-per-prompt": "각 프롬프트마다 새 최상위 Paperclip 이슈가 생성됩니다. 가장 명시적이지만 보드가 복잡해질 수 있습니다.",
+ "rolling-issue": "Fusion 세션당 Paperclip 이슈 하나를 생성하며, 이후 프롬프트는 댓글로 추가됩니다. 채팅 경험에 가장 가깝습니다.",
+ "wakeup-only": "이슈 부작용 없이 프롬프트가 웨이크업 페이로드로만 전달됩니다. 에이전트의 프롬프트 템플릿이 페이로드 기반 웨이크업을 처리할 수 있어야 합니다."
+ },
+ "modeLabel": "대화 모드",
+ "name": "Paperclip",
+ "noAgentsDiscovered": "검색된 에이전트 없음",
+ "noCompaniesDiscovered": "검색된 회사 없음",
+ "onboardingStep1": "Paperclip 서버가 실행 중인지 확인하세요. Paperclip 설치 방법:",
+ "optionalPlaceholder": "선택 사항",
+ "parentIssueIdHelp": "기존 상위 이슈 아래 작업 범위를 지정합니다.",
+ "parentIssueIdLabel": "상위 이슈 ID (선택 사항)",
+ "pickCompanyFirst": "먼저 회사를 선택하세요",
+ "projectIdHelp": "작업을 특정 Paperclip 프로젝트에 고정합니다.",
+ "projectIdLabel": "프로젝트 ID (선택 사항)",
+ "resolved": "해결됨",
+ "runTimeoutHelp": "Fusion이 Paperclip 실행을 포기하기 전까지의 로컬 제한 시간.",
+ "runTimeoutLabel": "실행 타임아웃 (ms)",
+ "savedCliDiscoveryFailed": "저장됨 · CLI 검색에 실패했습니다: {{reason}}",
+ "savedConnected": "저장됨 · 연결되었습니다.",
+ "savedConnectedAsAgent": "저장됨 · {{agentName}}{{companyInfo}}(으)로 연결되었습니다.",
+ "savedProbeFailed": "저장되었지만, 확인에 실패했습니다.",
+ "savedUnreachable": "저장됨 · {{reason}}",
+ "settingsSaved": "설정이 저장되었습니다.",
+ "statusCliDiscoveryFailed": "CLI 검색에 실패했습니다: {{reason}}",
+ "statusConnected": "연결됨",
+ "statusConnectedAs": "{{agentName}}{{roleInfo}}{{companyInfo}}(으)로 연결됨",
+ "statusProbing": "Paperclip 서버 확인 중…",
+ "statusUnreachable": "{{reason}}",
+ "tabApi": "API (URL + 토큰)",
+ "tabCliAutoDerve": "로컬 CLI (자동 감지)",
+ "testFailed": "테스트에 실패했습니다 — 위의 상태를 확인하세요.",
+ "unreachable": "{{reason}}"
+ },
+ "piManager": {
+ "addButton": "추가",
+ "discoveredDescription": "패키지 및 구성된 경로에서 확인된 설치된 확장 프로그램.",
+ "discoveredTitle": "검색된 확장 프로그램",
+ "enterSource": "패키지 소스를 입력하세요",
+ "extensionDisabled": "확장 프로그램이 비활성화되었습니다",
+ "extensionEnabled": "확장 프로그램이 활성화되었습니다",
+ "filterExtensions": "확장 프로그램:",
+ "filterPrompts": "프롬프트:",
+ "filterSkills": "스킬:",
+ "filterThemes": "테마:",
+ "installFailed": "패키지 설치에 실패했습니다: {{error}}",
+ "installSuccess": "패키지가 성공적으로 설치되었습니다",
+ "installing": "설치 중…",
+ "loadExtensionsFailed": "확장 프로그램 로드에 실패했습니다: {{error}}",
+ "loadSettingsFailed": "Pi 설정 로드에 실패했습니다: {{error}}",
+ "loading": "Pi 설정 로드 중…",
+ "loadingExtensions": "확장 프로그램 로드 중…",
+ "loadingFailed": "Pi 설정 로드에 실패했습니다.",
+ "noExtensions": "검색된 확장 프로그램이 없습니다.",
+ "noPackages": "구성된 패키지가 없습니다.",
+ "noPackagesHelp": "시작하려면 위에서 패키지 소스를 추가하세요.",
+ "packagePlaceholder": "npm:pi-extension-name 또는 git:https://github.com/...",
+ "packageRemoved": "패키지가 제거되었습니다",
+ "refreshButton": "새로고침",
+ "refreshExtensions": "확장 프로그램 새로고침",
+ "reinstallButton": "Fusion 스킬 재설치",
+ "reinstallFailed": "Fusion 스킬 재설치에 실패했습니다: {{error}}",
+ "reinstallSuccess": "Fusion 스킬이 성공적으로 재설치되었습니다",
+ "reinstalling": "Fusion 재설치 중…",
+ "removeFailed": "패키지 제거에 실패했습니다: {{error}}",
+ "removePackage": "패키지 제거",
+ "removePackageLabel": "패키지 {{label}} 제거",
+ "removeResource": "{{path}} 제거",
+ "resourceRemoved": "{{resource}}이(가) 제거되었습니다",
+ "sectionExtensions": "확장 프로그램",
+ "sectionPrompts": "프롬프트",
+ "sectionSkills": "스킬",
+ "sectionThemes": "테마",
+ "title": "Pi 확장 프로그램",
+ "toggleExtension": "{{name}} 전환",
+ "updateFailed": "확장 프로그램 업데이트에 실패했습니다: {{error}}",
+ "updateSettingsFailed": "설정 업데이트에 실패했습니다: {{error}}"
+ },
+ "planning": {
+ "addSubtask": "하위 작업 추가",
+ "additionalComments": "추가 의견 (선택 사항)",
+ "additionalCommentsPlaceholder": "추가 맥락이나 방향을 입력하세요...",
+ "advancedSettings": "고급 계획 설정",
+ "aiThinking": "AI가 생각 중...",
+ "archiveSession": "세션 보관",
+ "backToSessions": "세션 목록으로",
+ "backToSummary": "요약으로 돌아가기",
+ "baseBranch": "병합 대상 / 기본 브랜치 (선택 사항)",
+ "baseBranchPlaceholder": "main",
+ "branchAutoNew": "작업별 자동 명명 브랜치 생성",
+ "branchCustomNew": "사용자 정의 브랜치 생성",
+ "branchExisting": "기존 브랜치 사용",
+ "branchName": "브랜치 이름",
+ "branchNameRequired": "이 브랜치 전략에는 브랜치 이름이 필요합니다.",
+ "branchProjectDefault": "프로젝트/기본 브랜치 사용",
+ "branchStrategy": "브랜치 전략",
+ "breakIntoTasks": "작업으로 분할",
+ "breakIntoTasksTitle": "계획을 의존성이 있는 여러 작업으로 분할",
+ "breakdownSubheading": "계획에서 생성된 하위 작업을 검토하고 편집하세요. 생성하기 전에 제목, 설명, 크기, 우선순위, 의존성을 조정하세요.",
+ "breakingDown": "분할 중...",
+ "collapse": "접기",
+ "continue": "계속",
+ "createSingleTask": "단일 작업 생성",
+ "createTasks": "작업 생성",
+ "creating": "생성 중...",
+ "delete": "삭제",
+ "deleteSession": "세션 삭제",
+ "dependencies": "의존성",
+ "dependencyCycle": "의존성에 순환 참조가 포함되어 있습니다. 작업을 생성하기 전에 순환 참조를 제거하세요.",
+ "depthBlurb": "계획 크기는 기본 인터뷰 깊이를 설정합니다. 질문 수를 직접 지정하려면 Questions를 사용하세요.",
+ "depthLarge": "대형",
+ "depthMedium": "중형",
+ "depthSmall": "소형",
+ "description": "설명",
+ "dismiss": "닫기",
+ "dragToReorder": "드래그하여 순서 변경",
+ "examplePlan1": "로그인 및 회원가입이 포함된 사용자 인증 시스템 구축",
+ "examplePlan2": "대시보드에 다크 모드 지원 추가",
+ "examplePlan3": "작업을 CSV로 내보내는 API 엔드포인트 생성",
+ "examplePlan4": "더 나은 성능을 위해 작업 카드 컴포넌트 리팩터링",
+ "expand": "펼치기",
+ "failedCreateTask": "작업 생성 실패",
+ "failedCreateTasks": "작업 생성 실패",
+ "failedDeleteSession": "세션 삭제 실패",
+ "failedGoBack": "이전 질문으로 돌아가기 실패",
+ "failedLoadModels": "모델 로드 실패",
+ "failedLoadSession": "세션 로드 실패",
+ "failedRefinePlan": "계획 다듬기 실패",
+ "failedStartBreakdown": "분류 시작 실패",
+ "failedStartSession": "계획 세션 시작 실패",
+ "failedSubmitResponse": "응답 제출 실패",
+ "firstSubtaskNoDeps": "첫 번째 하위 작업에는 의존성을 설정할 수 없습니다.",
+ "generatingQuestion": "다음 질문 생성 중...",
+ "generationStopped": "사용자가 생성을 중단했습니다. 다시 시도하거나 새 세션을 시작하세요.",
+ "hideArchived": "보관 항목 숨기기",
+ "hideThinking": "사고 과정 숨기기",
+ "initialHeading": "아이디어를 상세 작업으로 변환하세요",
+ "initialSubheading": "구축하고 싶은 내용을 일반 언어로 설명하세요. AI가 명확화 질문을 통해 잘 정의된 작업으로 구조화하는 데 도움을 드립니다.",
+ "keyDeliverables": "주요 산출물",
+ "loadingModels": "모델 로드 중…",
+ "markdown": "Markdown",
+ "moveDown": "아래로 이동",
+ "moveSubtaskDown": "하위 작업 아래로 이동",
+ "moveSubtaskUp": "하위 작업 위로 이동",
+ "moveUp": "위로 이동",
+ "newPlanningSession": "새 계획 세션",
+ "newSession": "새 세션",
+ "noActiveQuestion": "세션에 활성 질문이 없습니다",
+ "noPreviousSubtasks": "이전 하위 작업이 없습니다.",
+ "noSavedSessions": "저장된 세션이 없습니다. 오른쪽에서 세션을 시작하면 여기에 표시됩니다.",
+ "plain": "일반",
+ "planningComplete": "계획 완료!",
+ "planningCompleteSubheading": "작업을 생성하기 전에 검토하고 다듬으세요.",
+ "planningDepth": "계획 깊이",
+ "planningModel": "계획 모델",
+ "planningModelBlurb": "계획 인터뷰를 실행하고 최종 초안을 작성할 모델을 선택합니다.",
+ "planningSessions": "계획 세션",
+ "priority": "우선순위",
+ "questionProgress": "질문 {{progress}} / ~3",
+ "questionsAuto": "자동",
+ "questionsLabel": "질문 수",
+ "reconnecting": "재연결 중…",
+ "refineFurther": "추가 다듬기",
+ "relativeTimeDays": "{{count}}일 전",
+ "relativeTimeHours": "{{count}}시간 전",
+ "relativeTimeJustNow": "방금 전",
+ "relativeTimeMinutes": "{{count}}분 전",
+ "relativeTimeWeeks": "{{count}}주 전",
+ "remove": "제거",
+ "retryFailed": "재시도 실패. 다시 시도해 주세요.",
+ "retrying": "재시도 중...",
+ "sessionActiveOtherTab": "이 세션은 다른 탭에서 활성화되어 있습니다",
+ "sessionActiveOtherTabLive": "이 세션은 다른 탭에서 활성화되어 있습니다 (실시간 하트비트)",
+ "sessionFailed": "AI 연결 중 세션이 실패했습니다.",
+ "sessionFailed2": "세션 실패",
+ "showArchived": "보관 항목 표시",
+ "showFormattedMarkdown": "서식 있는 Markdown 표시",
+ "showQA": "사용자 Q&A 표시",
+ "showRawText": "원시 텍스트 표시",
+ "showThinking": "사고 과정 표시",
+ "sizeLarge": "L (대형)",
+ "sizeMedium": "M (중형)",
+ "sizeSmall": "S (소형)",
+ "startPlanning": "계획 시작",
+ "statusComplete": "완료",
+ "statusError": "오류",
+ "statusGenerating": "생성 중",
+ "statusNeedsInput": "입력 필요",
+ "stop": "중지",
+ "subtaskDescription": "설명",
+ "subtaskPriority": "우선순위",
+ "subtaskSize": "크기",
+ "subtaskTitle": "제목",
+ "suggestedDependencies": "제안된 의존성",
+ "suggestedSize": "제안된 크기",
+ "takeControl": "제어권 가져오기",
+ "takingControl": "제어권 가져오는 중...",
+ "thinkingElapsed": "사고 중… ({{seconds}}초)",
+ "title": "계획 모드",
+ "tryAnExample": "예시를 시도해 보세요:",
+ "typeAnswerPlaceholder": "여기에 답변을 입력하세요...",
+ "unarchiveSession": "세션 보관 해제",
+ "untitled": "제목 없음",
+ "untitledSession": "제목 없는 세션",
+ "usingDefault": "기본값 사용",
+ "whatToBuild": "무엇을 만들고 싶으신가요?",
+ "whatToBuildPlaceholder": "예: 로그인, 회원가입, 비밀번호 재설정이 포함된 사용자 인증 시스템 구축..."
+ },
+ "plugins": {
+ "addItem": "항목 추가",
+ "agentBrowser": {
+ "groupBrowser": "브라우저",
+ "groupGeneral": "일반",
+ "groupPromptContributions": "프롬프트 기여",
+ "groupSkills": "스킬",
+ "labelAllowedDomains": "허용된 도메인",
+ "labelCommandTimeoutMs": "명령 타임아웃 (ms)",
+ "labelEnabled": "에이전트 브라우저 활성화",
+ "labelHeadlessMode": "헤드리스 모드",
+ "labelInstallChannel": "설치 채널",
+ "labelPromptExecutorSystem": "실행기 시스템 프롬프트",
+ "labelPromptExecutorTask": "실행기 작업 프롬프트",
+ "labelPromptHeartbeat": "하트비트 프롬프트",
+ "labelPromptReviewer": "검토자 프롬프트",
+ "labelPromptTriage": "분류 프롬프트",
+ "labelSkillExposure": "스킬 노출"
+ },
+ "aiScanDisabled": "로드 시 AI 스캔 비활성화됨",
+ "aiScanEnabled": "로드 시 AI 스캔 활성화됨",
+ "aiScanHint": "이 기능을 켜면 구성만 업데이트됩니다. 지금 바로 실행하려면 재스캔 및 다시 로드를 사용하세요.",
+ "author": "작성자:",
+ "backToList": "플러그인 목록으로 돌아가기",
+ "builtinInstallFailed": "{{name}} 설치 실패: {{error}}",
+ "builtinInstalledGlobally": "{{name}} 전역 설치됨",
+ "builtinMetadataOnly": "기본 제공 메타데이터만",
+ "builtinNoPackage": "{{name}}은(는) 기본 제공이며 아직 설치 가능한 패키지가 없습니다",
+ "builtinPluginRecommendations": "기본 제공 플러그인 추천",
+ "builtinPlugins": "기본 제공 플러그인",
+ "builtinPluginsCatalog": "런타임 및 통합을 위한 기본 제공 플러그인 카탈로그.",
+ "cancel": "취소",
+ "checkingSetup": "설정 확인 중...",
+ "componentUnavailable": "플러그인 컴포넌트를 사용할 수 없습니다",
+ "couldNotResolve": "대시보드가 정적 호스트 레지스트리에서 이 플러그인 서피스를 확인할 수 없습니다.",
+ "disableInProject": "프로젝트에서 비활성화",
+ "disablePlugin": "{{name}} 비활성화",
+ "disablePluginFailed": "플러그인 비활성화 실패: {{error}}",
+ "disabledForProject": "이 프로젝트에서 {{name}} 비활성화됨",
+ "droidOnboardingTip": "팁: Droid CLI를 활성화하면 API 키 추가 없이 Factory AI 구독을 재사용할 수 있습니다.",
+ "droidRecommendDesc": "Fusion에서 로컬 Droid CLI 세션을 AI 공급자로 사용하세요.",
+ "droidRecommendTitle": "Droid CLI 활성화",
+ "enableAiScanBeforeLoad": "로드/다시 로드 전 AI 스캔 활성화",
+ "enableAiSecurityScan": "로드 시 AI 보안 스캔 활성화",
+ "enableFailed": "{{name}} 활성화 실패: {{error}}",
+ "enableInProject": "프로젝트에서 활성화",
+ "enablePlugin": "{{name}} 활성화",
+ "enablePluginFailed": "플러그인 활성화 실패: {{error}}",
+ "enabledForProject": "이 프로젝트에서 {{name}} 활성화됨",
+ "experimental": "실험적",
+ "findings": "발견 사항 ({{count}})",
+ "homepage": "홈페이지:",
+ "install": "설치",
+ "installFailed": "플러그인 설치 실패: {{error}}",
+ "installHint": "플러그인 패키지 루트(manifest.json 포함) 또는 빌드된 dist 디렉터리를 탐색하세요.",
+ "installNamed": "{{name}} 설치",
+ "installPathPlaceholder": "플러그인 디렉터리 또는 dist 폴더의 절대 경로",
+ "installPathRequired": "플러그인 경로를 입력하세요",
+ "installPluginGlobally": "플러그인 전역 설치",
+ "installSetup": "설정 설치",
+ "installedGlobally": "플러그인이 전역 설치되었습니다",
+ "installedPlugins": "설치된 플러그인",
+ "installing": "설치 중...",
+ "loadFailed": "플러그인 로드 실패: {{error}}",
+ "loading": "로드 중...",
+ "loadingPlugins": "플러그인 로드 중...",
+ "manage": "관리",
+ "noConfigurableSettings": "구성 가능한 설정이 없습니다.",
+ "noPluginsHint": "플러그인을 설치하여 시작하거나 아래 기본 제공 카탈로그를 사용하세요.",
+ "noPluginsInstalled": "설치된 플러그인이 없습니다.",
+ "noSecurityScan": "아직 보안 스캔을 실행하지 않았습니다.",
+ "openAuthentication": "인증 열기",
+ "openOnboarding": "온보딩 열기",
+ "refresh": "새로 고침",
+ "refreshPluginList": "플러그인 목록 새로 고침",
+ "reload": "다시 로드",
+ "reloadFailed": "플러그인 다시 로드 실패: {{error}}",
+ "reloaded": "{{name}} 다시 로드됨",
+ "reloading": "다시 로드 중...",
+ "removeItem": "항목 제거",
+ "rescanAndReload": "재스캔 및 다시 로드",
+ "rescanFailed": "플러그인 재스캔 실패: {{error}}",
+ "rescanned": "{{name}} 재스캔됨",
+ "saveSettings": "설정 저장",
+ "saveSettingsFailed": "설정 저장 실패: {{error}}",
+ "securityScan": "보안 스캔",
+ "selectOption": "선택...",
+ "settingUp": "설정 중...",
+ "settings": "설정",
+ "settingsSaved": "설정 저장됨",
+ "setupInstallFailed": "{{name}} 설정 설치 실패: {{error}}",
+ "setupInstalled": "{{name}} 설정 설치됨",
+ "setupReady": "설정 준비됨",
+ "setupRequired": "설정 필요",
+ "startPluginToCheckSetup": "설정 확인을 위해 플러그인을 시작하세요",
+ "statusBuiltIn": "기본 제공",
+ "statusInstalled": "설치됨",
+ "statusNotInstalled": "설치되지 않음",
+ "uninstallConfirm": "\"{{name}}\"을(를) 전역(모든 프로젝트)으로 제거하시겠습니까?",
+ "uninstallFailed": "플러그인 제거 실패: {{error}}",
+ "uninstallGlobally": "전역 제거",
+ "uninstallGloballyTitle": "전역 제거",
+ "uninstallTitle": "플러그인 전역 제거",
+ "uninstalledGlobally": "{{name}} 전역 제거됨",
+ "unknownError": "알 수 없는 오류",
+ "updateFailed": "플러그인 업데이트 실패: {{error}}",
+ "version": "버전:"
+ },
+ "pr": {
+ "authFail": "gh auth login을 실행한 후 다시 시도하세요.",
+ "authOk": "GitHub CLI 인증을 사용할 수 있습니다.",
+ "baseBranch": "기본 브랜치",
+ "bodyLabel": "본문",
+ "branchRemoteFail": "PR을 생성하기 전에 브랜치를 원격에 푸시하세요.",
+ "branchRemoteOk": "원격 브랜치를 사용할 수 있습니다.",
+ "changedFilesLabel": "변경된 파일",
+ "checkAuth": "GitHub 인증 가능",
+ "checkBranch": "브랜치가 원격에 푸시됨",
+ "checkCommits": "커밋 사용 가능",
+ "checkConflicts": "기본 브랜치와 충돌 없음",
+ "commitsFail": "이 브랜치에서 커밋을 찾을 수 없습니다.",
+ "commitsLabel": "커밋",
+ "commitsOk": "커밋을 제출할 준비가 되었습니다.",
+ "conflictsDetected": "충돌이 감지되었습니다. 충돌을 해결하거나 사전 확인을 다시 실행하세요.",
+ "createAsDraft": "초안으로 생성",
+ "createDraftPr": "초안 PR 생성",
+ "createPr": "PR 생성",
+ "createTitle": "풀 리퀘스트 생성",
+ "dismissError": "PR 오류 닫기",
+ "loadingMetadata": "PR 메타데이터 로드 중…",
+ "noConflicts": "병합 충돌이 감지되지 않았습니다.",
+ "preflightChecks": "사전 확인",
+ "previewTitle": "Diff 및 커밋 미리보기",
+ "regenerate": "재생성",
+ "rerunPreflight": "사전 확인 다시 실행",
+ "revertToAi": "AI 버전으로 되돌리기",
+ "titleLabel": "제목",
+ "usingTemplate": ".github/pull_request_template.md 템플릿 사용 중"
+ },
+ "preview": {
+ "blockedDescription": "별도의 브라우저 탭에서 미리보기를 볼 수 있습니다.",
+ "blockedTitle": "미리보기를 삽입할 수 없습니다",
+ "errorTitle": "미리보기를 로드할 수 없습니다",
+ "loading": "미리보기 로드 중...",
+ "openInNewTab": "새 탭에서 열기"
+ },
+ "projectCard": {
+ "activeTasks": "활성 작업",
+ "agents": "에이전트",
+ "cannotPauseWhileInitializing": "초기화 중에는 일시 중지할 수 없습니다",
+ "completed": "완료됨",
+ "confirm": "확인",
+ "confirmRemove": "제거 확인",
+ "confirmRemoveProject": "프로젝트 제거 확인",
+ "daysAgo": "{{count}}일 전",
+ "hoursAgo": "{{count}}시간 전",
+ "justNow": "방금 전",
+ "lastActivity": "마지막 활동:",
+ "minutesAgo": "{{count}}분 전",
+ "moreItems": "+{{count}}개 더",
+ "never": "없음",
+ "noHealthData": "사용 가능한 상태 데이터가 없습니다",
+ "nodeAvailability": "프로젝트 노드 가용성",
+ "open": "열기",
+ "openProject": "프로젝트 열기",
+ "pause": "일시 중지",
+ "pauseProject": "프로젝트 일시 중지",
+ "removeProject": "프로젝트 제거",
+ "resume": "재개",
+ "resumeProject": "프로젝트 재개"
+ },
+ "projectDetection": {
+ "editName": "이름 편집",
+ "empty": "감지된 프로젝트 없음",
+ "emptyHint": "다른 기본 경로를 시도하거나 프로젝트를 수동으로 추가하세요",
+ "noDbWarning": "fn 데이터베이스를 찾을 수 없습니다 - 초기화됩니다",
+ "registerAll": "모두 등록",
+ "registerSelected": "선택 항목 등록 ({{count}})",
+ "registering": "등록 중...",
+ "selectAll": "모두 선택 ({{count}})",
+ "selectedCount": "{{count}}개 선택됨"
+ },
+ "projectSelector": {
+ "allProjects": "모든 프로젝트",
+ "ariaLabel": "프로젝트 선택",
+ "clearSearch": "검색 지우기",
+ "noResults": "검색 결과와 일치하는 프로젝트가 없습니다",
+ "recent": "최근",
+ "searchPlaceholder": "프로젝트 검색...",
+ "selectProject": "프로젝트 선택",
+ "viewAll": "모든 프로젝트 보기"
+ },
+ "projects": {
+ "actions": {
+ "favoritesError": "즐겨찾기 업데이트 실패",
+ "modelFavoritesError": "모델 즐겨찾기 업데이트 실패",
+ "pauseError": "프로젝트 {{name}} 일시 중지 실패",
+ "pauseSuccess": "프로젝트 {{name}} 일시 중지됨",
+ "removeError": "프로젝트 {{name}} 제거 실패",
+ "removeSuccess": "프로젝트 {{name}} 제거됨",
+ "resumeError": "프로젝트 {{name}} 재개 실패",
+ "resumeSuccess": "프로젝트 {{name}} 재개됨"
+ },
+ "activeTasksLabel": "활성 작업",
+ "addFirstProject": "첫 번째 프로젝트 추가",
+ "addProject": "프로젝트 추가",
+ "allNodes": "모든 노드",
+ "completedLabel": "완료됨",
+ "emptyStateDescription": "첫 번째 프로젝트를 추가하여 시작하세요. 프로젝트를 사용하면 여러 저장소에서 작업을 체계적으로 관리하고 추적할 수 있습니다.",
+ "erroredLabel": "오류",
+ "filterActive": "활성",
+ "filterAll": "전체",
+ "filterByNode": "노드로 필터",
+ "filterErrored": "오류",
+ "filterPaused": "일시 중지됨",
+ "noMatch": "현재 필터와 일치하는 프로젝트가 없습니다",
+ "noProjectsFound": "프로젝트를 찾을 수 없습니다",
+ "nodesLabel": "노드",
+ "setup": {
+ "success": "프로젝트 {{name}} 등록 완료"
+ },
+ "showAll": "모든 프로젝트 표시",
+ "sortActivityNewest": "마지막 활동 (최신순)",
+ "sortActivityOldest": "마지막 활동 (오래된순)",
+ "sortNameAsc": "이름 (가-나)",
+ "sortNameDesc": "이름 (나-가)",
+ "sortProjects": "프로젝트 정렬",
+ "sortStatusAsc": "상태 (오류 → 활성)",
+ "sortStatusDesc": "상태 (활성 → 오류)",
+ "title": "프로젝트",
+ "totalLabel": "전체"
+ },
+ "providers": {
+ "actions": {
+ "addModel": "+ 모델 추가",
+ "detectModels": "모델 감지",
+ "detectModelsTitle": "공급자의 /models 엔드포인트를 호출하여 사용 가능한 모델을 검색합니다",
+ "detecting": "감지 중…",
+ "removeModel": "모델 제거",
+ "save": "공급자 저장",
+ "saving": "저장 중..."
+ },
+ "addCustom": "사용자 정의 공급자 추가",
+ "apiKeyLabel": "API 키",
+ "apiTypeAnthropic": "Anthropic 호환",
+ "apiTypeInvalid": "API 유형이 유효하지 않습니다.",
+ "apiTypeLabel": "API 유형",
+ "apiTypeOpenAi": "OpenAI 호환",
+ "apiTypeOpenAiResp": "OpenAI Responses",
+ "baseUrlLabel": "기본 URL",
+ "deleteConfirm": "사용자 정의 공급자 \"{{name}}\"을(를) 삭제하시겠습니까?",
+ "deleteLabel": "{{name}} 삭제",
+ "detectError": {
+ "allDuplicate": "검색된 모든 모델이 이미 목록에 있습니다.",
+ "failed": "모델 감지 실패",
+ "noModels": "모델을 찾을 수 없습니다. 공급자에 API 키가 필요할 수 있습니다.",
+ "urlRequired": "모델을 감지하려면 기본 URL이 필요합니다."
+ },
+ "detectModels": "모델 감지",
+ "detectTitle": "공급자의 /models 엔드포인트에서 모델 자동 감지",
+ "detecting": "감지 중…",
+ "editLabel": "{{name}} 편집",
+ "failedDelete": "공급자 삭제 실패.",
+ "failedDetect": "모델 감지 실패",
+ "failedLoad": "사용자 정의 공급자 로드 실패.",
+ "failedSave": "공급자 저장 실패.",
+ "fields": {
+ "apiKey": "API 키",
+ "apiType": "API 유형",
+ "baseUrl": "기본 URL",
+ "contextWindow": "컨텍스트 창",
+ "id": "공급자 ID",
+ "maxTokens": "최대 토큰",
+ "modelId": "모델 ID",
+ "modelName": "표시 이름",
+ "models": "모델",
+ "name": "표시 이름",
+ "reasoning": "추론"
+ },
+ "llamaCpp": {
+ "disable": "비활성화",
+ "disabling": "비활성화 중…",
+ "enable": "활성화",
+ "enabling": "활성화 중…",
+ "probing": "llama.cpp 서버 연결 확인 중…",
+ "reachable": "{{url}}에서 서버에 연결 가능합니다",
+ "test": "테스트",
+ "testing": "테스트 중…",
+ "title": "llama.cpp — HTTP 서버 경유",
+ "unavailable": "서버를 사용할 수 없습니다: {{reason}}"
+ },
+ "loading": "사용자 정의 공급자 로드 중…",
+ "modelsLabel": "사용 가능한 모델",
+ "nameLabel": "공급자 이름",
+ "nameRequired": "공급자 이름이 필요합니다.",
+ "noModelsFound": "모델을 찾을 수 없습니다. 공급자에 API 키가 필요할 수 있습니다.",
+ "noneConfigured": "구성된 사용자 정의 공급자가 없습니다.",
+ "placeholders": {
+ "apiKey": "sk-..., MY_API_KEY, 또는 !command"
+ },
+ "saveChanges": "변경 사항 저장",
+ "saveProvider": "공급자 저장",
+ "saving": "저장 중…",
+ "urlInvalid": "기본 URL은 유효한 http/https URL이어야 합니다.",
+ "urlRequired": "기본 URL이 필요합니다.",
+ "urlRequiredForDetect": "모델을 감지하려면 기본 URL이 필요합니다.",
+ "validation": {
+ "apiTypeRequired": "API 유형이 필요합니다.",
+ "idConflict": "공급자 ID가 기본 제공 공급자와 충돌합니다.",
+ "idKebabCase": "공급자 ID는 케밥 케이스여야 합니다.",
+ "idRequired": "공급자 ID가 필요합니다.",
+ "modelId": "각 모델에는 모델 ID가 있어야 합니다.",
+ "modelRequired": "최소 하나의 모델이 필요합니다.",
+ "urlProtocol": "기본 URL은 http 또는 https를 사용해야 합니다.",
+ "urlRequired": "기본 URL이 필요합니다.",
+ "urlValid": "기본 URL은 유효한 URL이어야 합니다."
+ }
+ },
+ "quickChat": {
+ "errorAttachmentsBeforeSession": "채팅 세션이 준비되기 전에 첨부 파일을 보낼 수 없습니다",
+ "errorAttachmentsWhileStreaming": "응답이 스트리밍 중인 동안 첨부 파일을 보낼 수 없습니다",
+ "errorGettingResponse": "응답 가져오기 실패",
+ "errorInitializingChat": "채팅 초기화 실패",
+ "errorRefreshingSessions": "채팅 세션 새로 고침 실패",
+ "errorStartingNewChat": "새 채팅 시작 실패"
+ },
+ "reliability": {
+ "bouncedEntered": "{{bounced}}개 반환 / {{entered}}개 진입 (최근 {{days}}일)",
+ "countingSince": "{{date}}부터 집계 중",
+ "details": "세부 정보",
+ "duration": {
+ "heading": "지속 시간",
+ "moreStats": "더 많은 통계",
+ "p50": "P50",
+ "p50Raw": "P50 원시값: {{value}} ms",
+ "p95": "P95",
+ "p95Raw": "P95 원시값: {{value}} ms",
+ "reason": "사유: {{reason}}",
+ "sampleCount": "샘플 수: {{count}}",
+ "samples": "샘플: {{count}}"
+ },
+ "failureRate": "실패율: {{rate}}",
+ "heading": "안정성",
+ "hideEmptyDays": "빈 날 숨기기",
+ "inReviewFlow": "검토 중 흐름",
+ "insufficientData": "데이터 부족 — {{reason}}",
+ "mergeAttempts": {
+ "heading": "병합 시도",
+ "histogramTotal": "히스토그램 합계: {{count}}",
+ "max": "최대",
+ "mean": "평균",
+ "moreStats": "추가 통계",
+ "reason": "사유: {{reason}}",
+ "tasksCounted": "집계된 작업: {{count}}"
+ },
+ "reason": "사유: {{reason}}",
+ "resetBaseline": "기준선 초기화: {{date}}",
+ "resetModal": {
+ "confirm": "초기화 확인",
+ "description": "안정성 통계의 새 기준선을 설정합니다. 초기화 시간보다 오래된 과거 이벤트는 집계에서 제외되지만 삭제되지는 않습니다.",
+ "failedError": "안정성 통계 초기화에 실패했습니다",
+ "title": "안정성 통계를 초기화하시겠습니까?"
+ },
+ "resetStats": "통계 초기화",
+ "showEmptyDays": "빈 날 표시",
+ "successRateLabel": "검토 중 성공률 (최근 7일)",
+ "table": {
+ "bounced": "반송됨",
+ "date": "날짜",
+ "entered": "진입됨"
+ },
+ "window": "기간: {{start}} → {{end}}"
+ },
+ "research": {
+ "actionFailed": "작업 실패",
+ "addCredentialsHint": "인증 설정에서 제공자 자격 증명을 추가하세요.",
+ "alwaysOn": "항상 켜짐",
+ "attachExport": "마크다운 내보내기 결과물 첨부",
+ "createRun": "실행 생성",
+ "createRunFailed": "실행 생성에 실패했습니다",
+ "createTask": "작업 생성",
+ "createTaskButton": "작업 생성",
+ "createTaskTitle": "발견 항목에서 작업 생성",
+ "defaultFindingHeading": "리서치 발견 항목",
+ "descriptionLabel": "설명",
+ "disabled": "이 프로젝트에서는 리서치가 비활성화되어 있습니다.",
+ "enableResearchHint": "프로젝트 리서치 설정을 활성화하여 실행을 생성하세요.",
+ "enrichTask": "작업 보강",
+ "enrichTaskButton": "작업 보강",
+ "enrichTaskTitle": "기존 작업 보강",
+ "enterTaskId": "작업 ID 입력",
+ "exportFailed": "내보내기 실패",
+ "exportHtml": "HTML 내보내기",
+ "exportJson": "JSON 내보내기",
+ "exportMd": "MD 내보내기",
+ "exportedFile": "{{filename}} 내보냄",
+ "findingLabel": "발견 항목:",
+ "loadingRuns": "리서치 실행 불러오는 중…",
+ "loadingTasks": "작업 불러오는 중…",
+ "missingApiKey": "{{provider}}의 API 키가 없습니다.",
+ "noPreview": "미리보기를 사용할 수 없습니다.",
+ "noRunSelected": "선택된 실행 없음",
+ "noRunsYet": "아직 리서치 실행이 없습니다",
+ "noSourcesAvailable": "이 프로젝트에 사용 가능한 활성화된 리서치 소스가 없습니다.",
+ "noSummaryYet": "아직 요약이 없습니다.",
+ "openAuthSettings": "인증 설정 열기",
+ "openResearchSettings": "리서치 설정 열기",
+ "priorityHigh": "높음",
+ "priorityLabel": "우선순위",
+ "priorityLow": "낮음",
+ "priorityNormal": "보통",
+ "priorityUrgent": "긴급",
+ "providerGitHub": "GitHub",
+ "providerLlmSynthesis": "LLM 합성",
+ "providerLocalDocs": "로컬 문서",
+ "providerPageFetch": "페이지 가져오기",
+ "providerWebSearch": "웹 검색",
+ "providersLabel": "제공자",
+ "queryLabel": "쿼리",
+ "runCancelled": "실행 취소됨",
+ "runCreated": "리서치 실행이 생성되었습니다",
+ "runHistory": "실행 기록",
+ "runLabel": "실행:",
+ "runRetried": "실행 재시도됨",
+ "searchRunsPlaceholder": "실행 검색",
+ "selectRunToViewDetails": "실행을 선택하여 세부 정보를 확인하세요.",
+ "statCompleted": "완료됨",
+ "statFailed": "실패",
+ "statRunning": "실행 중",
+ "subtitle": "인용 검색 및 합성 실행: 소스 수집, 콘텐츠 가져오기, 발견 항목 합성.",
+ "targetTaskLabel": "대상 작업",
+ "taskCreatedFromResearch": "리서치에서 작업이 생성되었습니다",
+ "taskEnrichedFromResearch": "리서치에서 작업이 보강되었습니다",
+ "title": "리서치",
+ "titleLabel": "제목",
+ "unavailable": "이 프로젝트에서는 리서치를 사용할 수 없습니다.",
+ "viewLabel": "리서치 보기"
+ },
+ "routine": {
+ "andMore": "…외 {{count}}개",
+ "delete": "삭제",
+ "deleteMessage": "루틴 {{name}}을(를) 삭제하시겠습니까? 이 작업은 취소할 수 없습니다.",
+ "deleteName": "{{name}} 삭제",
+ "deleteTitle": "루틴 삭제",
+ "disable": "비활성화",
+ "disableName": "{{name}} 비활성화",
+ "edit": "편집",
+ "editName": "{{name}} 편집",
+ "enable": "활성화",
+ "enableName": "{{name}} 활성화",
+ "resultFailed": "실패",
+ "resultSuccess": "성공",
+ "runHistory": "실행 기록 ({{count}})",
+ "runNameNow": "{{name}} 지금 실행",
+ "runNow": "지금 실행",
+ "running": "실행 중…",
+ "stepCount": "{{count}}개 단계"
+ },
+ "routing": {
+ "cannotChangeWhileActive": "작업이 활성화된 동안에는 노드 재정의를 변경할 수 없습니다.",
+ "clearOverride": "재정의 초기화",
+ "effectiveNode": "유효 노드",
+ "errorLoadingNodes": "노드 불러오기 실패",
+ "errorUpdatingOverride": "노드 재정의 업데이트 실패",
+ "intro": "유효 실행 노드를 확인하고 작업별 노드 재정의를 제어합니다.",
+ "localNoConfiguration": "로컬 (라우팅 미구성)",
+ "lockedWhileActive": "이 작업이 활성화된 동안에는 라우팅이 잠겨 있습니다. 작업이 더 이상 활성 상태가 아닐 때까지 노드 재정의를 변경할 수 없습니다.",
+ "nodeUnavailable": "노드를 사용할 수 없거나 알 수 없음",
+ "overrideCleared": "노드 재정의가 초기화되었습니다",
+ "overrideSection": "노드 재정의",
+ "overrideSetTo": "재정의 설정:",
+ "overrideUpdated": "노드 재정의가 업데이트되었습니다",
+ "policyLabel": {
+ "block": "실행 차단",
+ "fallback": "로컬로 대체",
+ "notConfigured": "미구성"
+ },
+ "selectLabel": "실행 노드 선택",
+ "source": {
+ "noRouting": "라우팅 없음",
+ "override": "작업별 재정의",
+ "projectDefault": "프로젝트 기본값"
+ },
+ "summarySection": "라우팅 요약",
+ "title": "작업 라우팅",
+ "unavailablePolicy": "사용 불가 노드 정책",
+ "unhealthy": "비정상",
+ "useProjectDefault": "프로젝트 기본값 사용"
+ },
+ "schedule": {
+ "actionAiPrompt": "AI 프롬프트",
+ "actionCommand": "명령어",
+ "actionCreateTask": "작업 생성",
+ "actionModeAdvanced": "다단계",
+ "actionModeAdvancedHint": "여러 작업을 순차적으로 실행",
+ "actionModeAriaLabel": "작업 모드",
+ "actionModeLabel": "작업 모드",
+ "actionModeSimple": "단순",
+ "actionModeSimpleHint": "명령어, 프롬프트 또는 작업 생성 액션 하나 실행",
+ "actionTypeAiPrompt": "AI 프롬프트",
+ "actionTypeAriaLabel": "작업 유형",
+ "actionTypeCommand": "명령어",
+ "actionTypeCreateTask": "작업 생성",
+ "actionTypeLabel": "작업 유형",
+ "addAiPromptStep": "AI 프롬프트 단계 추가",
+ "addCommandStep": "명령어 단계 추가",
+ "addCreateTaskStep": "작업 생성 단계 추가",
+ "advancedMode": "다단계",
+ "advancedModeHelp": "여러 단계를 순차적으로 실행 (명령어 및 AI 프롬프트)",
+ "aiPromptType": "AI 프롬프트",
+ "andMore": "…외 {{count}}개",
+ "apiEndpointHint": "이 루틴을 트리거하는 API 엔드포인트 경로",
+ "apiEndpointLabel": "API 엔드포인트",
+ "apiEndpointPlaceholder": "/api/routine/my-routine",
+ "automationCount": "{{count}}개 자동화{{plural}}",
+ "cancelButton": "취소",
+ "catchUpPolicyHint": "예약된 실행이 누락되었을 때 처리 방법",
+ "catchUpPolicyLabel": "누락 실행 정책",
+ "catchUpPolicyRunAll": "누락된 모든 실행 실행",
+ "catchUpPolicyRunOne": "가장 최근 누락된 실행 하나만 실행",
+ "catchUpPolicySkip": "누락된 실행 건너뛰기",
+ "columnTodo": "할 일",
+ "columnTriage": "분류",
+ "command": "명령어",
+ "commandHelp": "실행할 셸 명령어입니다. 사용자 권한으로 실행됩니다.",
+ "commandHint": "실행할 셸 명령어.",
+ "commandLabel": "명령어",
+ "commandPlaceholder": "예: npx runfusion.ai backup --create",
+ "commandRequired": "명령어는 필수입니다",
+ "commandType": "명령어",
+ "continueOnFailure": "실패 시 계속",
+ "continueOnFailureHelp": "체크하면 이 단계가 실패해도 다음 단계가 실행됩니다",
+ "continuesOnFailure": "실패 시 계속 진행",
+ "createButton": "스케줄 생성",
+ "createError": "루틴 생성에 실패했습니다",
+ "createFirst": "첫 번째 자동화 만들기",
+ "createNew": "새 자동화 만들기",
+ "createRoutine": "루틴 생성",
+ "createTaskType": "작업 생성",
+ "cronAutoFilled": "프리셋에서 자동 입력됨: {{cron}}",
+ "cronAutoFilledHint": "프리셋에서 자동 입력됨: {{expression}}",
+ "cronCustomHint": "분 시 일 월 요일",
+ "cronExpressionLabel": "Cron 표현식",
+ "cronHelp": "분 시 일 월 요일 — ",
+ "cronInvalid": "잘못된 cron 형식 — 5개의 필드가 필요합니다 (예: '0 */6 * * *')",
+ "cronLabel": "Cron 표현식",
+ "cronPresetCustom": "사용자 지정 cron 표현식",
+ "cronPresetDaily": "매일 (자정)",
+ "cronPresetHourly": "매시간",
+ "cronPresetMonthly": "매월 (1일)",
+ "cronPresetWeekly": "매주 (월요일)",
+ "cronRequired": "사용자 지정 스케줄에는 cron 표현식이 필요합니다",
+ "delete": "삭제",
+ "deleteError": "루틴 삭제에 실패했습니다",
+ "deleteMessage": "스케줄 {{name}}을(를) 삭제하시겠습니까? 이 작업은 취소할 수 없습니다.",
+ "deleteName": "{{name}} 삭제",
+ "deleteStep": "{{name}} 삭제",
+ "deleteTitle": "스케줄 삭제",
+ "descriptionLabel": "설명 (선택 사항)",
+ "descriptionPlaceholder": "이 루틴은 무엇을 합니까?",
+ "disable": "비활성화",
+ "disableName": "{{name}} 비활성화",
+ "edit": "편집",
+ "editName": "{{name}} 편집",
+ "editRoutineHeading": "루틴 편집",
+ "editStep": "{{name}} 편집",
+ "editTitle": "스케줄 편집",
+ "emptyStateDescription": "스케줄, 웹훅, API 또는 수동 트리거로 자동화를 만드세요.",
+ "enable": "활성화",
+ "enableName": "{{name}} 활성화",
+ "enabledHelp": "비활성화되면 스케줄이 자동으로 실행되지 않습니다",
+ "enabledHint": "비활성화되면 루틴이 자동으로 실행되지 않습니다",
+ "enabledLabel": "활성화됨",
+ "errorApiEndpointRequired": "API 엔드포인트는 필수입니다",
+ "errorCommandRequired": "명령어는 필수입니다",
+ "errorCronInvalid": "잘못된 cron 형식 — 5개의 필드가 필요합니다 (예: '0 */6 * * *')",
+ "errorCronRequired": "Cron 표현식은 필수입니다",
+ "errorLoadModels": "모델 불러오기 실패",
+ "errorModelIncomplete": "모델 제공자와 모델 ID 모두 설정하거나 모두 비워야 합니다",
+ "errorNameRequired": "이름은 필수입니다",
+ "errorPromptRequired": "프롬프트는 필수입니다",
+ "errorScopeNoProject": "프로젝트 전용 항목에는 활성 프로젝트가 필요합니다.",
+ "errorStepCommandRequired": "단계 {{n}}: 명령어는 필수입니다",
+ "errorStepNameRequired": "단계 {{n}}: 이름은 필수입니다",
+ "errorStepPromptRequired": "단계 {{n}}: 프롬프트는 필수입니다",
+ "errorStepTaskDescRequired": "단계 {{n}}: 작업 설명은 필수입니다",
+ "errorStepsEditing": "루틴을 저장하기 전에 모든 단계 편집을 저장하거나 취소하세요",
+ "errorStepsRequired": "최소 하나의 단계가 필요합니다",
+ "errorTaskDescriptionRequired": "작업 설명은 필수입니다",
+ "errorTimeoutMin": "타임아웃은 최소 1초(1000ms) 이상이어야 합니다",
+ "errorWebhookPathRequired": "웹훅 경로는 필수입니다",
+ "executionPolicyHint": "이 루틴의 동시 실행 처리 방법",
+ "executionPolicyLabel": "실행 정책",
+ "executionPolicyParallel": "동시 실행 허용",
+ "executionPolicyQueue": "현재 실행 후 대기 (한 번에 하나씩)",
+ "executionPolicyReject": "실행 중 새 실행 거부",
+ "executorModelDropdownLabel": "실행자 모델",
+ "executorModelHelp": "생성된 작업 실행에 사용되는 AI 모델. 선택하지 않으면 기본값을 사용합니다.",
+ "executorModelLabel": "실행자 모델 (선택 사항)",
+ "executorModelOptional": "실행자 모델 (선택 사항)",
+ "executorModelPlaceholder": "기본값 사용",
+ "frequencyLabel": "빈도",
+ "global": "전체",
+ "globalScope": "전체",
+ "globalScopeTitle": "전체 범위",
+ "globalScoped": "이 스케줄은 전체 범위에서 생성됩니다.",
+ "loadRoutinesError": "루틴 불러오기 실패",
+ "manualTriggerInfo": "이 루틴은 대시보드 또는 API를 통해 수동으로 트리거됩니다.",
+ "modeAriaLabel": "실행 모드",
+ "modeLabel": "실행 모드",
+ "model": "모델",
+ "modelConsistency": "모델 제공자와 모델 ID 모두 설정하거나 모두 비워야 합니다",
+ "modelDropdownLabel": "모델",
+ "modelHelp": "이 프롬프트의 AI 모델. 선택하지 않으면 기본값을 사용합니다.",
+ "modelLabel": "모델 (선택 사항)",
+ "modelOptional": "모델 (선택 사항)",
+ "modelPlaceholder": "기본값 사용",
+ "modelProviderRequired": "모델 제공자와 모델 ID는 함께 설정해야 합니다",
+ "moveDown": "아래로 이동",
+ "moveStepDown": "{{name}} 아래로 이동",
+ "moveStepUp": "{{name}} 위로 이동",
+ "moveUp": "위로 이동",
+ "nameLabel": "이름",
+ "namePlaceholder": "예: 일일 스탠드업 알림",
+ "nameRequired": "이름은 필수입니다",
+ "newAutomation": "새 자동화",
+ "newRoutineHeading": "새 루틴",
+ "newTitle": "새 스케줄",
+ "noActiveProject": "활성 프로젝트 없음. 스케줄은 전체 범위에서 생성됩니다.",
+ "noAutomations": "아직 자동화가 없습니다",
+ "noStepsEmpty": "추가된 단계가 없습니다. 명령어 또는 AI 프롬프트 단계를 추가하여 시작하세요.",
+ "project": "프로젝트",
+ "projectRequired": "프로젝트 전용 항목에는 활성 프로젝트가 필요합니다.",
+ "projectScope": "프로젝트",
+ "projectScopeDisabled": "프로젝트를 선택하여 프로젝트 범위 활성화",
+ "projectScopeTitle": "프로젝트 범위",
+ "projectScoped": "이 스케줄은 현재 프로젝트 범위에서 생성됩니다.",
+ "prompt": "프롬프트",
+ "promptHelp": "실행할 AI 프롬프트. 작업에 대한 명확한 지침을 제공하세요.",
+ "promptHint": "실행할 AI 프롬프트.",
+ "promptLabel": "프롬프트",
+ "promptPlaceholder": "예: 최근 활동을 요약하고 실행 항목을 생성하세요",
+ "promptRequired": "프롬프트는 필수입니다",
+ "resultFailed": "실패",
+ "resultSuccess": "성공",
+ "routineCreated": "루틴이 생성되었습니다",
+ "routineDeleted": "\"{{name}}\" 삭제됨",
+ "routineDisabled": "\"{{name}}\" 비활성화됨",
+ "routineEnabled": "\"{{name}}\" 활성화됨",
+ "routineFailed": "\"{{name}}\" 실패: {{error}}",
+ "routineSuccess": "\"{{name}}\" 성공적으로 완료됨",
+ "routineUpdated": "루틴이 업데이트되었습니다",
+ "runError": "루틴 실행에 실패했습니다",
+ "runHistory": "실행 기록 ({{count}})",
+ "runNameNow": "{{name}} 지금 실행",
+ "runNow": "지금 실행",
+ "running": "실행 중…",
+ "saveChanges": "변경사항 저장",
+ "saveStep": "단계 저장",
+ "saving": "저장 중…",
+ "scheduleLabel": "스케줄",
+ "scopeAriaLabel": "루틴 범위",
+ "scopeGroup": "스케줄 범위",
+ "scopeHintGlobal": "이 루틴은 전체 범위에서 생성됩니다.",
+ "scopeHintNoProject": "활성 프로젝트 없음. 루틴은 전체 범위에서 생성됩니다.",
+ "scopeHintProject": "이 루틴은 현재 프로젝트 범위에서 생성됩니다.",
+ "scopeLabel": "범위",
+ "scopeLocked": "기존 스케줄의 범위는 {{scope}}으로 잠겨 있습니다",
+ "scopeLockedTitle": "기존 루틴의 범위는 {{scope}}으로 잠겨 있습니다",
+ "selectProjectTitle": "프로젝트를 선택하여 프로젝트 범위 활성화",
+ "simpleMode": "단순",
+ "simpleModeHelp": "단일 셸 명령어 또는 AI 프롬프트 실행",
+ "stepCommandRequired": "단계 {{index}}: 명령어는 필수입니다",
+ "stepCount": "{{count}}개 단계",
+ "stepName": "단계 이름",
+ "stepNamePlaceholder": "예: 테스트 실행",
+ "stepNameRequired": "단계 {{index}}: 이름은 필수입니다",
+ "stepPromptRequired": "단계 {{index}}: 프롬프트는 필수입니다",
+ "stepType": "단계 유형",
+ "steps": "단계",
+ "stepsEditing": "스케줄을 저장하기 전에 모든 단계 편집을 저장하거나 취소하세요",
+ "stepsRequired": "최소 하나의 단계가 필요합니다",
+ "targetColumn": "대상 열",
+ "targetColumnHelp": "새 작업이 생성될 열",
+ "targetColumnLabel": "대상 열",
+ "taskColumnLabel": "대상 열",
+ "taskColumnTodo": "할 일",
+ "taskColumnTriage": "분류",
+ "taskDescription": "작업 설명 *",
+ "taskDescriptionHelp": "생성될 작업을 설명합니다.",
+ "taskDescriptionHint": "생성될 작업을 설명합니다.",
+ "taskDescriptionLabel": "작업 설명",
+ "taskDescriptionPlaceholder": "예: npm 의존성에서 보안 취약점 확인",
+ "taskDescriptionRequired": "작업 설명은 필수입니다",
+ "taskTitleHelp": "비워두면 설명에서 자동 요약됩니다",
+ "taskTitleLabel": "작업 제목 (선택 사항)",
+ "taskTitleOptional": "작업 제목 (선택 사항)",
+ "taskTitlePlaceholder": "예: 주간 의존성 검토",
+ "timeoutHelp": "최대 실행 시간 (밀리초, 기본값 300000 = 5분)",
+ "timeoutHint": "최대 실행 시간 (밀리초).",
+ "timeoutLabel": "타임아웃 (ms)",
+ "timeoutMinimum": "타임아웃은 최소 1초(1000ms) 이상이어야 합니다",
+ "timeoutOptional": "타임아웃 (ms, 선택 사항)",
+ "timeoutPlaceholder": "스케줄 타임아웃 재정의",
+ "title": "자동화",
+ "todoColumn": "할 일",
+ "toggleError": "루틴 전환에 실패했습니다",
+ "triageColumn": "분류",
+ "triggerApi": "API",
+ "triggerCron": "Cron",
+ "triggerManual": "수동",
+ "triggerTypeAriaLabel": "트리거 유형",
+ "triggerTypeLabel": "트리거 유형",
+ "triggerWebhook": "Webhook",
+ "typeCustom": "사용자 지정 cron 표현식",
+ "typeDaily": "매일 (자정)",
+ "typeEvery12Hours": "12시간마다",
+ "typeEvery15Min": "15분마다",
+ "typeEvery2Hours": "2시간마다",
+ "typeEvery30Min": "30분마다",
+ "typeEvery6Hours": "6시간마다",
+ "typeHourly": "매시간",
+ "typeMonthly": "매월 (1일)",
+ "typeWeekdays": "평일 오전 9시 (월~금)",
+ "typeWeekly": "매주 (월요일)",
+ "unknownError": "알 수 없는 오류",
+ "updateError": "루틴 업데이트에 실패했습니다",
+ "useDefault": "기본값 사용",
+ "webhookPathHint": "웹훅 엔드포인트의 URL 경로",
+ "webhookPathLabel": "Webhook 경로",
+ "webhookPathPlaceholder": "/trigger/my-routine",
+ "webhookSecretHint": "서명 검증용 HMAC 시크릿. 미인증 웹훅은 비워두세요.",
+ "webhookSecretLabel": "Webhook 시크릿 (선택 사항)",
+ "webhookSecretPlaceholder": "선택 사항 — 미인증 웹훅은 비워두세요"
+ },
+ "scriptsModal": {
+ "addScript": "스크립트 추가",
+ "addScriptsHint": "대시보드에서 자주 사용하는 명령어를 빠르게 실행할 스크립트를 추가하세요.",
+ "cancelDelete": "삭제 취소",
+ "command": "명령어",
+ "commandPlaceholder": "예: npm run build",
+ "confirmDelete": "삭제 확인",
+ "confirmDeleteNamed": "{{name}} 삭제 확인",
+ "deleteScriptNamed": "{{name}} 삭제",
+ "editScriptNamed": "{{name}} 편집",
+ "failedToDelete": "스크립트 삭제에 실패했습니다",
+ "failedToLoadScripts": "스크립트 불러오기에 실패했습니다",
+ "failedToSave": "스크립트 저장에 실패했습니다",
+ "loadingScripts": "스크립트 불러오는 중...",
+ "nameErrorMsg": "이름은 문자, 숫자, 하이픈, 언더스코어만 포함할 수 있습니다 (공백 없음)",
+ "nameHint": "문자, 숫자, 하이픈, 언더스코어만 가능",
+ "noScriptsDefined": "정의된 스크립트 없음",
+ "noScriptsYet": "아직 정의된 스크립트가 없습니다.",
+ "runScript": "스크립트 실행",
+ "runScriptNamed": "{{name}} 실행",
+ "saving": "저장 중...",
+ "scriptAlreadyExists": "같은 이름의 스크립트가 이미 존재합니다",
+ "scriptCommandRequired": "스크립트 명령이 필요합니다",
+ "scriptCount": "스크립트 {{count}}개",
+ "scriptCreated": "스크립트가 생성되었습니다",
+ "scriptDeleted": "스크립트가 삭제되었습니다",
+ "scriptName": "스크립트 이름",
+ "scriptNamePlaceholder": "예: build, test, lint",
+ "scriptNameRequired": "스크립트 이름이 필요합니다",
+ "scriptUpdated": "스크립트가 업데이트되었습니다",
+ "title": "스크립트"
+ },
+ "secrets": {
+ "accessPolicyAuto": "auto",
+ "accessPolicyDeny": "deny",
+ "accessPolicyLabel": "접근 정책",
+ "accessPolicyPrompt": "prompt",
+ "addSecret": "시크릿 추가",
+ "addSecretModalTitle": "시크릿 추가",
+ "cancelBtn": "취소",
+ "cancelDelete": "취소",
+ "clearSyncPassphrase": "지우기",
+ "closeAriaLabel": "닫기",
+ "confirmClearSyncPassphrase": "크로스 노드 동기화 패스프레이즈를 지우시겠습니까? 새 패스프레이즈를 설정하기 전까지 기존 동기화 쌍의 작동이 중단됩니다.",
+ "confirmDelete": "확인",
+ "confirmPassphraseLabel": "패스프레이즈 확인",
+ "copied": "복사됨",
+ "copyAriaLabel": "복사",
+ "createBtn": "생성",
+ "deleteAriaLabel": "삭제",
+ "descriptionLabel": "설명",
+ "editAriaLabel": "편집",
+ "editSecretModalTitle": "시크릿 편집",
+ "empty": "시크릿이 없습니다.",
+ "envExportableChip": "env 내보내기 가능",
+ "envKeyLabel": "Env 키",
+ "errorClearSyncPassphrase": "동기화 패스프레이즈 지우기 실패: {{error}}",
+ "errorLoadSyncStatus": "동기화 패스프레이즈 상태 로드 실패: {{error}}",
+ "errorSaveSyncPassphrase": "동기화 패스프레이즈 저장 실패: {{error}}",
+ "exportToEnvLabel": "env로 내보내기",
+ "hideAriaLabel": "숨기기",
+ "hideValueAriaLabel": "값 숨기기",
+ "keyLabel": "키",
+ "loading": "불러오는 중…",
+ "neverRead": "읽은 적 없음",
+ "passphraseLabel": "패스프레이즈",
+ "passphraseMustMatch": "패스프레이즈가 일치해야 합니다.",
+ "refresh": "새로 고침",
+ "revealAriaLabel": "표시",
+ "revealed": "표시됨",
+ "rotateSyncPassphrase": "교체",
+ "rotateSyncPassphraseModalTitle": "동기화 패스프레이즈 교체",
+ "saveBtn": "저장",
+ "scopeGlobal": "전역",
+ "scopeLabel": "범위",
+ "scopeProject": "프로젝트",
+ "setPassphrase": "패스프레이즈 설정",
+ "setSyncPassphraseModalTitle": "동기화 패스프레이즈 설정",
+ "showValueAriaLabel": "값 표시",
+ "syncConfigured": "구성됨",
+ "syncNotConfigured": "구성되지 않음",
+ "syncPassphraseCleared": "동기화 패스프레이즈가 지워졌습니다",
+ "syncPassphraseDescription": "크로스 노드 시크릿 번들을 래핑하는 데 사용되는 공유 패스프레이즈입니다. 동기화 쌍의 두 노드 모두 동일한 값을 공유해야 합니다. 로컬에만 저장되며 전송되지 않습니다.",
+ "syncPassphraseRotated": "동기화 패스프레이즈가 교체되었습니다",
+ "syncPassphraseSet": "동기화 패스프레이즈가 설정되었습니다",
+ "syncPassphraseTitle": "크로스 노드 동기화 패스프레이즈",
+ "title": "시크릿",
+ "valueLabel": "값"
+ },
+ "sessionBanner": {
+ "dismissAll": "모두 닫기",
+ "dismissItem": "{{title}} 닫기",
+ "failed": "실패",
+ "headerAwaitingAndErrorPlural": "AI 세션 {{awaitingCount}}개가 입력을 기다리고 있으며, {{errorCount}}개가 실패했습니다",
+ "headerAwaitingAndErrorSingular": "AI 세션 {{awaitingCount}}개가 입력을 기다리고 있으며, {{errorCount}}개가 실패했습니다",
+ "headerAwaitingPlural": "AI 세션 {{count}}개가 입력을 기다리고 있습니다",
+ "headerAwaitingSingular": "AI 세션 {{count}}개가 입력을 기다리고 있습니다",
+ "headerErrorPlural": "AI 세션 {{count}}개가 실패했습니다",
+ "headerErrorSingular": "AI 세션 {{count}}개가 실패했습니다",
+ "regionLabel": "입력 대기 중이거나 실패한 AI 세션",
+ "resume": "재개",
+ "retry": "재시도",
+ "typeLabel": {
+ "milestoneInterview": "마일스톤 인터뷰",
+ "missionInterview": "미션 인터뷰",
+ "planning": "계획",
+ "sliceInterview": "슬라이스 인터뷰",
+ "subtask": "하위 작업 분해"
+ }
+ },
"settings": {
+ "actions": {
+ "cancel": "취소",
+ "save": "저장"
+ },
"appearance": {
- "title": "모양",
"language": "언어",
"languageAuto": "자동",
"languageAutoHint": "브라우저 언어를 따릅니다",
- "languageHint": "{{brand}} 인터페이스의 언어를 선택하세요."
+ "languageHint": "{{brand}} 인터페이스의 언어를 선택하세요.",
+ "title": "모양"
+ },
+ "auth": {
+ "apiKeyCleared": "API 키가 지워졌습니다",
+ "apiKeySaved": "API 키가 저장되었습니다",
+ "authCodeAlreadySubmitted": "이미 제출된 인증 코드입니다. 로그인을 기다리는 중…",
+ "authCodeReceived": "인증 코드를 받았습니다. 로그인을 완료하는 중…",
+ "clearKey": "지우기",
+ "continueToLogin": "로그인 계속",
+ "copiedCodeToClipboard": "코드가 클립보드에 복사되었습니다",
+ "copyCode": "코드 복사",
+ "enterCodeOnGitHub": "GitHub에 이 코드를 입력하세요",
+ "failedToCopyCode": "코드 복사 실패 — 위의 상자에서 직접 복사하세요",
+ "groupAuthenticated": "인증됨",
+ "groupAvailable": "사용 가능",
+ "hint": "인증 변경 사항은 즉시 적용됩니다 — 저장할 필요가 없습니다.",
+ "loadingStatus": "인증 상태를 불러오는 중…",
+ "loggedOut": "로그아웃됨",
+ "loggingOut": "로그아웃 중…",
+ "login": "로그인",
+ "loginAlreadyInProgress": "로그인이 이미 진행 중입니다. 취소 후 다시 시도할 수 있습니다.",
+ "loginCancelled": "로그인이 취소되었습니다",
+ "loginDidNotComplete": "로그인이 완료되지 않았습니다. 다시 시도해 주세요.",
+ "loginSuccessful": "로그인에 성공했습니다",
+ "logout": "로그아웃",
+ "manualPasteMessage": "{{name}}으로 로그인하면 브라우저가 이 대시보드에서 접근할 수 없는 localhost 주소로 리디렉션을 시도합니다. 리디렉션 탭은 실패한 것처럼 보일 수 있습니다. 그 전에 브라우저 주소 표시줄에서 전체 URL을 복사해 두세요 — 로그인을 완료하려면 여기에 붙여넣어야 합니다. 계속하시겠습니까?",
+ "manualPasteTitle": "주의 — 수동 붙여넣기가 필요합니다",
+ "noProviders": "사용 가능한 공급자가 없습니다",
+ "openGitHub": "GitHub 열기",
+ "pasteRedirectUrlFirst": "먼저 전체 리디렉션 URL 또는 인증 코드를 붙여넣으세요.",
+ "reopenOnboarding": "온보딩 가이드 다시 열기",
+ "reopenOnboardingHint": "설정 마법사를 다시 실행하여 AI 공급자 및 모델 구성을 검토하거나 업데이트하세요.",
+ "savingKey": "저장 중…",
+ "signInHint": "AI 모델을 사용하려면 하나 이상의 공급자에 로그인하세요.",
+ "statusActive": "✓ 활성",
+ "statusNotConnected": "✗ 연결되지 않음",
+ "title": "인증",
+ "waitingForLogin": "로그인을 기다리는 중…"
+ },
+ "backups": {
+ "backupCreated": "백업이 성공적으로 생성되었습니다",
+ "backupNow": "지금 백업",
+ "creating": "생성 중…"
+ },
+ "closeModal": "충돌 모달 닫기",
+ "conflictModalTitle": "설정 충돌 해결",
+ "footer": {
+ "help": "도움말",
+ "version": "버전 {{version}}"
+ },
+ "general": {
+ "learnMore": "더 알아보기",
+ "settingsSaved": "설정이 저장되었습니다",
+ "upToDate": "최신 버전입니다 ✓",
+ "updateAvailablePrefix": "v{{version}} 사용 가능"
+ },
+ "header": {
+ "discord": "Discord"
+ },
+ "importExport": {
+ "confirmImport": "가져오기 확인",
+ "exportBtn": "내보내기",
+ "exportTitle": "JSON 파일로 설정 내보내기",
+ "importBtn": "가져오기",
+ "importTitle": "설정 가져오기",
+ "importing": "가져오는 중…",
+ "loadingFile": "불러오는 중…",
+ "reviewPrompt": "가져올 설정을 검토하세요:"
+ },
+ "jsonPlaceholder": "JSON 값을 입력하세요...",
+ "keepLocal": "로컬 유지",
+ "keepRemote": "원격 유지",
+ "loading": "불러오는 중…",
+ "memory": {
+ "compactSelectedFile": "선택한 파일 압축",
+ "compacting": "압축 중…",
+ "dreamCompleted": "드림 처리가 완료되었습니다",
+ "dreamNow": "지금 드림",
+ "installQmd": "qmd 설치",
+ "installing": "설치 중…",
+ "memoryCompacted": "메모리 파일이 압축되었습니다",
+ "memorySaved": "메모리가 저장되었습니다",
+ "saveMemory": "메모리 저장",
+ "testRetrieval": "검색 테스트",
+ "testing": "테스트 중…"
+ },
+ "mergeManually": "수동으로 병합",
+ "mobileNav": {
+ "label": "설정 섹션"
+ },
+ "models": {
+ "deletePresetMessage": "프리셋 \"{{name}}\"은(는) 자동 선택에 사용 중입니다. 그래도 삭제하시겠습니까?",
+ "deletePresetTitle": "프리셋 삭제",
+ "loadingModels": "사용 가능한 모델을 불러오는 중…",
+ "noModels": "사용 가능한 모델이 없습니다. 먼저 인증을 설정하세요.",
+ "presetNameRequired": "프리셋 이름이 필요합니다",
+ "savePreset": "프리셋 저장"
+ },
+ "nav": {
+ "accountHeader": "계정",
+ "agentPermissions": "에이전트 권한",
+ "appearance": "외관",
+ "aria": {
+ "global": "전역 설정",
+ "project": "프로젝트 설정"
+ },
+ "authentication": "인증",
+ "backups": "백업",
+ "commands": "명령",
+ "experimental": "실험적 기능",
+ "globalGeneral": "일반",
+ "globalHeader": "전역",
+ "globalModels": "모델",
+ "hermesRuntime": "Hermes",
+ "memory": "메모리",
+ "merge": "병합",
+ "nodeRouting": "노드 라우팅",
+ "nodeSync": "노드 동기화",
+ "notifications": "알림",
+ "openclawRuntime": "OpenClaw",
+ "paperclipRuntime": "Paperclip",
+ "plugins": "플러그인",
+ "projectGeneral": "프로젝트 일반",
+ "projectHeader": "프로젝트",
+ "projectModels": "프로젝트 모델",
+ "prompts": "프롬프트",
+ "remote": "원격 접근",
+ "researchGlobal": "연구 기본값",
+ "researchProject": "연구",
+ "runtimesHeader": "런타임",
+ "scheduledEvals": "예약된 평가",
+ "scheduling": "스케줄링",
+ "secrets": "시크릿",
+ "tooltip": {
+ "global": "모든 프로젝트에서 공유됨",
+ "project": "이 프로젝트에만 적용됨"
+ },
+ "worktrees": "Worktrees"
+ },
+ "notifications": {
+ "sending": "전송 중…",
+ "testMessageInbox": "테스트 메시지 받은 편지함",
+ "testNotification": "테스트 알림",
+ "testRoomReply": "테스트 룸 답장"
+ },
+ "remote": {
+ "cloudflaredInstalled": "cloudflared가 성공적으로 설치되었습니다",
+ "persistentTokenRegenerated": "영구 토큰이 재생성되었습니다",
+ "restarting": "재시작 중…",
+ "shortLivedTokenGenerated": "단기 토큰이 생성되었습니다",
+ "startFresh": "새로 시작",
+ "startTunnel": "터널 시작",
+ "starting": "시작 중…",
+ "stopTunnel": "터널 중지",
+ "stopping": "중지 중…",
+ "tunnelRestarted": "원격 터널이 재시작되었습니다",
+ "tunnelStarted": "원격 터널이 시작되었습니다",
+ "tunnelStopped": "원격 터널이 중지되었습니다",
+ "useExisting": "기존 사용"
+ },
+ "resolveAllLocal": "모두 해결: 로컬 유지",
+ "resolveAllRemote": "모두 해결: 원격 유지",
+ "resolveFailed": "충돌 해결에 실패했습니다",
+ "resolvedSuccess": "설정 충돌이 성공적으로 해결되었습니다",
+ "resolving": "해결 중...",
+ "scheduling": {
+ "selectCurrentDir": "현재 디렉터리 선택",
+ "selectIgnoredOverlapPath": "무시된 겹침 경로 선택"
+ },
+ "scope": {
+ "globalBanner": "이 설정은 모든 Fusion 프로젝트에서 공유됩니다.",
+ "projectBanner": "이 설정은 현재 프로젝트에만 적용됩니다."
+ },
+ "title": "설정",
+ "worktrees": {
+ "awaitingApproval": "승인 대기 중 — 승인을 열어 계속하세요.",
+ "installWorktrunk": "worktrunk 바이너리 설치",
+ "openApprovals": "승인 열기",
+ "selectWorktreesDir": "Worktrees 디렉터리 선택",
+ "tryAgain": "다시 시도"
}
+ },
+ "setup": {
+ "addCustomProvider": "맞춤 공급자 추가",
+ "addMoreProjectsHint": "프로젝트 개요에서 언제든지 프로젝트를 더 추가할 수 있습니다.",
+ "advancedProviderSettings": "고급 공급자 설정",
+ "advancedSettings": "고급 설정",
+ "advancedSetupDetails": "고급 설정 세부 정보",
+ "aiSetupDescription": "Fusion은 AI 모델을 사용하여 코드를 계획, 작성 및 검토합니다. 아래에서 AI 공급자를 연결하여 시작하세요 — 호스팅 서비스를 사용하거나 API 키를 입력할 수 있습니다.",
+ "allProvidersShown": "현재 사용 가능한 모든 공급자가 이미 위에 표시되어 있습니다.",
+ "allSet": "모두 완료!",
+ "apiKeyFormatError": "{{providerName}} 키는 다음 형식을 따라야 합니다: {{hint}} (예: {{example}})",
+ "apiKeyFormatHint": "형식: {{hint}}",
+ "apiKeyHint": "키: {{keyHint}}",
+ "apiKeyLabel": {
+ "fallback": "API 키",
+ "kimiCoding": "Kimi API 키",
+ "minimax": "MiniMax API 키",
+ "ollama": "Ollama 엔드포인트",
+ "openai": "OpenAI API 키",
+ "openrouter": "OpenRouter API 키",
+ "zai": "Zhipu AI API 키"
+ },
+ "apiKeyPlaceholder": {
+ "fallback": "API 키 입력",
+ "kimiCoding": "Kimi API 키를 입력하세요",
+ "minimax": "MiniMax API 키를 입력하세요",
+ "zai": "Zhipu AI API 키를 입력하세요"
+ },
+ "apiKeyRemoved": "API 키가 제거되었습니다",
+ "apiKeyRequired": "API 키가 필요합니다",
+ "apiKeySaved": "✓ API 키가 저장되었습니다",
+ "apiKeySavedToast": "API 키가 저장되었습니다",
+ "apiKeySetup": {
+ "fallback": "이 공급자의 API 키를 입력하세요.",
+ "kimiCoding": "Moonshot 플랫폼 계정 설정에서 API 키를 생성하세요.",
+ "minimax": "MiniMax 플랫폼 개발자 콘솔에서 API 키를 생성하세요.",
+ "ollama": "Ollama 엔드포인트 URL을 입력하세요 (예: http://localhost:11434).",
+ "openai": "OpenAI 대시보드의 API 키 메뉴에서 API 키를 생성하세요.",
+ "openrouter": "OpenRouter 계정 키 관리 페이지에서 API 키를 생성하세요.",
+ "zai": "Zhipu AI 오픈 플랫폼 계정 설정에서 API 키를 생성하세요."
+ },
+ "apiKeyUsage": {
+ "fallback": "Fusion이 이 공급자에 요청을 인증하는 데 사용됩니다",
+ "kimiCoding": "작업 실행 및 계획에서 Kimi/Moonshot AI 모델에 사용됩니다",
+ "minimax": "작업 실행에서 MiniMax 모델에 사용됩니다",
+ "ollama": "로컬 Ollama 인스턴스에 연결합니다",
+ "openai": "작업 실행 및 계획에서 GPT 모델에 사용됩니다",
+ "openrouter": "단일 키를 통해 여러 AI 모델 공급자로 라우팅합니다",
+ "zai": "작업 실행에서 GLM 모델에 사용됩니다"
+ },
+ "ariaDismissRecommendations": "추천 닫기",
+ "ariaSetupRecommendations": "설정 추천",
+ "authCodeAlreadySubmitted": "이미 제출된 인증 코드입니다. 로그인을 기다리는 중…",
+ "authCodeReceived": "인증 코드를 받았습니다. 로그인을 완료하는 중…",
+ "authDescription": "이 대시보드는 Fusion 데몬과 통신하기 위해 인증 토큰이 필요합니다. 아래에 토큰을 붙여넣어 계속하세요.",
+ "authToken": "인증 토큰",
+ "authTokenOptional": "인증 토큰 (선택 사항)",
+ "back": "← 뒤로",
+ "browserAuthToken": "브라우저 인증 토큰",
+ "cancelLogin": "취소",
+ "childProcess": "Child-Process",
+ "childProcessDesc": "충돌 격리 기능이 있는 독립 실행 환경입니다.",
+ "childProcessLabel": "Child Process (격리)",
+ "chooseModel": "모델 선택",
+ "claudeCli": {
+ "active": "✓ 활성",
+ "binaryNotFound": "PATH에서 `claude` 바이너리가 감지되지 않았습니다 — 먼저 Claude CLI를 설치하세요.",
+ "binaryNotFoundPath": "PATH에서 `claude`를 찾을 수 없습니다",
+ "connected": "✓ 연결됨{{version}}",
+ "description": "로컬에 설치된 claude CLI를 통해 AI 호출을 라우팅합니다. API 키 대신 기존 Claude 구독/할당량을 사용합니다.",
+ "details": "세부 정보",
+ "detectedPrompt": "{{path}}이(가) 감지되었습니다. 활성화를 클릭하면 AI 호출이 이를 통해 라우팅됩니다.",
+ "disable": "비활성화",
+ "disabledMessage": "Claude CLI 라우팅 모델이 모델 선택기에서 숨겨집니다.",
+ "disabledVerb": "비활성화됨",
+ "disabling": "비활성화 중…",
+ "enable": "활성화",
+ "enabledMessage": "Claude CLI 라우팅 모델이 이제 모델 선택기에 표시됩니다.",
+ "enabledVerb": "활성화됨",
+ "enabling": "활성화 중…",
+ "extensionFailed": "확장 프로그램 로드 실패: {{reason}}",
+ "name": "Anthropic — Claude CLI 경유",
+ "notConnected": "✗ 연결되지 않음",
+ "notInstalled": "✗ 설치되지 않음",
+ "probing": "로컬 CLI를 확인하는 중…",
+ "test": "테스트",
+ "testing": "테스트 중…",
+ "validating": "활성화됨. 유효성 검사 중…"
+ },
+ "cloneGitHint": "Fusion이 대상 디렉터리로 git clone을 실행한 후 해당 폴더를 등록합니다.",
+ "cloneGitRepository": "Git 저장소 복제",
+ "clonePathHint": "절대 경로를 선택하거나 입력하세요. Fusion이 이 디렉터리로 복제합니다.",
+ "clonePathPlaceholder": "/path/for/new-clone",
+ "closeWizard": "마법사 닫기",
+ "compactWarning": "⚠ 설정 미완료 — AI 및/또는 GitHub 기능이 제한됩니다.",
+ "completeSetup": "Fusion을 최대한 활용하려면 다음 설정 항목을 완료하세요.",
+ "connect": "연결",
+ "connectAiProvider": "AI 공급자 연결",
+ "connectAiProviderDesc": "AI 에이전트의 작업 계획 및 코드 생성을 활성화하려면 AI 공급자를 연결하세요",
+ "connectAnyway": "그래도 연결",
+ "connectGitHub": "GitHub 연결",
+ "connectGitHubAnytime": "준비가 되지 않았다면 괜찮습니다 — 설정 → 인증에서 언제든지 GitHub를 연결할 수 있습니다.",
+ "connectGitHubButton": "GitHub 연결",
+ "connectGitHubDesc": "GitHub를 연결하여 이슈를 가져오고 풀 리퀘스트를 추적하세요",
+ "connectOauthOptional": "OAuth 연결 (선택 사항)",
+ "connectRemoteServer": "원격 Fusion 서버 연결",
+ "connectedProviders": "연결된 공급자",
+ "continueToLogin": "로그인 계속",
+ "continueWithGhCli": "gh CLI 인증으로 계속 →",
+ "continueWithoutGitHub": "GitHub 없이 계속 →",
+ "copiedCodeToClipboard": "코드가 클립보드에 복사되었습니다",
+ "copyCode": "코드 복사",
+ "couldNotReachServer": "서버에 연결할 수 없습니다. 연결을 확인하고 다시 시도하세요.",
+ "createFirstTask": "첫 번째 작업 생성",
+ "createNewTask": "새 작업 생성",
+ "createNewTaskSubtitle": "필요한 것을 설명하면 AI가 작업합니다",
+ "createProject": "프로젝트 생성",
+ "createTasksAnytimeNote": "보드에서 언제든지 작업을 생성하거나",
+ "createTasksAnytimeNoteTerminal": "터미널에서 사용하세요.",
+ "creating": "생성 중...",
+ "creatingTask": "작업을 생성하는 중…",
+ "cursorCli": {
+ "active": "✓ 활성",
+ "binaryNotFound": "PATH에서 `cursor-agent`를 찾을 수 없습니다",
+ "connected": "연결됨{{version}}",
+ "description": "로컬 Cursor 에이전트 런타임을 통해 AI 호출을 라우팅합니다.",
+ "detectedPrompt": "감지되었습니다. 활성화를 클릭하면 Cursor CLI를 통해 호출이 라우팅됩니다.",
+ "disable": "비활성화",
+ "disabling": "비활성화 중…",
+ "enable": "활성화",
+ "enabling": "활성화 중…",
+ "notConnected": "✗ 연결되지 않음",
+ "probing": "로컬 CLI를 확인하는 중…",
+ "test": "테스트",
+ "testing": "테스트 중…"
+ },
+ "defaultModelDescription": "AI 작업의 기본 모델을 선택하거나, 나중에 선택하려면 비워 두세요. 모델마다 속도, 성능, 비용이 다릅니다.",
+ "defaultModelLabel": "기본 모델",
+ "defaultModelOptional": "기본 모델 (선택 사항)",
+ "describeFirstTask": "첫 번째 작업 설명",
+ "destinationDirectory": "대상 디렉터리",
+ "directoryPath": "디렉터리 경로",
+ "disconnect": "연결 해제",
+ "dismissWarning": "설정 경고 닫기",
+ "enterApiKey": "API 키 입력",
+ "enterCodeOnGitHub": "GitHub에 이 코드를 입력하세요",
+ "executionMode": "실행 모드",
+ "failedToCancelLogin": "로그인 취소에 실패했습니다",
+ "failedToClearApiKey": "API 키 지우기에 실패했습니다",
+ "failedToCopyCode": "코드 복사 실패 — 위의 상자에서 직접 복사하세요",
+ "failedToCreateCustomProvider": "맞춤 공급자 생성에 실패했습니다",
+ "failedToSaveApiKey": "API 키 저장에 실패했습니다",
+ "failedToSaveShellConnection": "셸 연결 저장에 실패했습니다",
+ "failedToSubmitAuthCode": "인증 코드 제출에 실패했습니다",
+ "finishSetup": "설정 완료",
+ "firstTaskDescription": "첫 번째 작업을 생성하여 보드를 시작하고 AI 실행을 시작하세요.",
+ "firstTaskPlaceholder": "예: 이메일과 비밀번호를 사용하는 로그인 페이지 만들기",
+ "firstTaskReady": "첫 번째 작업이 준비되었습니다!",
+ "getApiKeyLink": "API 키 받기 →",
+ "getStarted": "시작하기",
+ "githubCliAlreadyAuth": "GitHub CLI가 이미 인증되어 있습니다 — 이슈 가져오기 및 풀 리퀘스트 추적이 즉시 작동합니다. 모두 완료되었으며 추가 작업이 필요하지 않습니다.",
+ "githubCliAuthNote": "GitHub CLI가 이미 인증되어 있어 가져오기 및 PR 추적이 지금 작동합니다. 대시보드의 OAuth는 선택 사항이며 대시보드 관리 연결/연결 해제만 제어합니다.",
+ "githubCliAuthSuccess": "GitHub CLI가 인증되었습니다. 가져오기 및 풀 리퀘스트 추적을 사용할 수 있습니다. 대시보드 관리 로그인 제어를 원하면 설정 → 인증에서 OAuth를 연결하세요.",
+ "githubConnected": "GitHub가 연결되었습니다 — 이슈 가져오기 및 풀 리퀘스트 추적을 사용할 수 있습니다. 모두 완료되었으며 추가 작업이 필요하지 않습니다.",
+ "githubConnectionDescription": "GitHub를 연결하면 이슈 가져오기 및 풀 리퀘스트 추적이 활성화됩니다. 건너뛸 수 있으며, GitHub 없이도 작업 생성이 가능합니다.",
+ "githubConnectionFailed": "연결에 실패하거나 시간이 초과되었습니다.",
+ "githubOauthConnected": "GitHub OAuth가 연결되었습니다. 이슈를 가져오고 풀 리퀘스트를 추적할 수 있습니다.",
+ "githubOauthNotConnected": "GitHub OAuth가 아직 연결되지 않았습니다. 설정 → 인증에서 설정하거나, 지금 계속하고 나중에 연결할 수 있습니다.",
+ "githubSkipped": "GitHub를 건너뛰었습니다. 설정 → 인증에서 언제든지 연결할 수 있습니다.",
+ "goBackToStep": "{{label}}(으)로 돌아가기",
+ "goToDashboard": "대시보드로 이동",
+ "howDoIChooseModel": "모델을 어떻게 선택하나요?",
+ "howDoIChooseModelBody": "모델마다 속도, 성능, 비용이 다릅니다. 일반적으로 연결된 공급자의 최신 모델이 좋은 기본값입니다. 나중에 설정에서 언제든지 변경할 수 있습니다.",
+ "howDoesLoginWork": "로그인은 어떻게 작동하나요?",
+ "howDoesLoginWorkBody": "로그인을 클릭하면 새 탭에서 공급자 웹사이트가 열리고 로그인합니다. Fusion을 승인하면 이 페이지가 자동으로 연결을 감지합니다. 자격 증명은 Fusion에 저장되지 않습니다.",
+ "importFromGitHub": "GitHub에서 가져오기",
+ "importFromGitHubSubtitle": "GitHub 이슈를 여기서 추적할 수 있는 작업으로 전환하세요",
+ "inProcess": "In-Process",
+ "inProcessDesc": "오버헤드가 낮고 메모리를 공유합니다. 대부분의 프로젝트에 최적입니다.",
+ "inProcessLabel": "In-Process (기본값)",
+ "isolationMode": "격리 모드",
+ "keySavedInline": "✓ 키가 저장되었습니다",
+ "loadingProviders": "공급자를 불러오는 중…",
+ "localNode": "로컬 노드",
+ "loggedOut": "로그아웃됨",
+ "loggingOut": "로그아웃 중…",
+ "login": "로그인",
+ "loginAlreadyInProgress": "로그인이 이미 진행 중입니다. 취소 후 다시 시도하세요.",
+ "loginCancelled": "로그인 취소됨",
+ "loginDidNotComplete": "로그인이 완료되지 않았습니다. 다시 시도해 주세요.",
+ "loginFailed": "로그인 실패",
+ "loginFailedInline": "로그인에 실패했습니다. 다시 시도해 주세요.",
+ "loginSuccessful": "로그인 성공",
+ "loginTimedOut": "로그인 시간이 초과되었습니다. 다시 시도해 주세요.",
+ "loginTimedOutInline": "로그인 시간이 초과되었습니다. 다시 시도해 주세요.",
+ "logout": "로그아웃",
+ "logoutFailed": "로그아웃 실패",
+ "manualPastebackTitle": "알림 — 수동 붙여넣기 필요",
+ "nameHint": "영문자, 숫자, 하이픈, 밑줄만 사용하세요",
+ "namePlaceholder": "my-project",
+ "needHelp": "도움이 필요하신가요?",
+ "next": "다음 →",
+ "noAiProvider": "AI 제공자가 연결되지 않음",
+ "noAiProviderBody": "제공자를 연결하기 전까지는 작업 계획 및 코드 생성 등 AI 기능을 사용할 수 없습니다. 나중에 설정에서 구성할 수 있습니다.",
+ "noAiProviderConnected": "AI 제공자가 연결되지 않음",
+ "noAiProviderDesc": "제공자를 연결하기 전까지는 AI 에이전트가 작업을 처리할 수 없습니다. 설정 → AI 설정에서 구성하세요.",
+ "noGithub": "GitHub 미연결",
+ "noGithubDesc": "GitHub에서 이슈를 가져올 수 없지만, 작업을 수동으로 생성할 수 있습니다.",
+ "noModelsAvailable": "아직 사용 가능한 모델이 없습니다. 위에서 제공자를 연결하면 모델 옵션을 확인할 수 있습니다.",
+ "noProvidersConfigured": "AI 제공자가 구성되어 있지 않습니다. Fusion 설정을 확인해 주세요.",
+ "noProvidersConnectedYet": "아직 연결된 제공자 없음",
+ "noQuickStartProviders": "이 환경에서는 빠른 시작 제공자를 사용할 수 없습니다.",
+ "noTokenHint": "저장된 토큰이 없습니다. 마법사 상단의 인증 프롬프트를 사용하거나 여기서 직접 설정하세요.",
+ "onlyNeedOneProvider": "시작하려면 제공자 하나만 있으면 됩니다.",
+ "openGitHub": "GitHub 열기",
+ "openManager": "관리자 열기",
+ "optionalBadge": "선택 사항",
+ "pasteRedirectUrlFirst": "전체 리디렉션 URL 또는 인증 코드를 먼저 붙여넣으세요.",
+ "pasteTokenForBrowserPlaceholder": "이 브라우저의 인증 토큰 붙여넣기",
+ "pasteTokenPlaceholder": "데몬 인증 토큰 붙여넣기",
+ "pathHint": "프로젝트 디렉터리의 절대 경로를 입력하세요",
+ "pathPlaceholder": "/path/to/your/project",
+ "pleaseEnterTaskDescription": "작업 설명을 입력해 주세요.",
+ "profileName": "프로필 이름",
+ "projectDirectory": "프로젝트 디렉터리",
+ "projectMustBeSelected": "작업을 생성하거나 GitHub에서 가져오려면 먼저 프로젝트를 선택해야 합니다.",
+ "projectName": "프로젝트 이름",
+ "projectNameHintClone": "기본적으로 대상 폴더 이름을 따르며, 직접 편집할 수 있습니다.",
+ "projectNameHintExisting": "기본적으로 선택된 디렉터리 이름을 따르며, 직접 편집할 수 있습니다.",
+ "projectNamePlaceholder": "my-project",
+ "projectPathHint": "프로젝트의 절대 경로를 선택하거나 입력하세요",
+ "projectPathPlaceholder": "/path/to/your/project",
+ "projectRegisteredSuccess": "프로젝트가 성공적으로 등록되었습니다.",
+ "projectRequired": "첫 번째 작업 동작을 사용하려면 프로젝트가 필요합니다.",
+ "projectSelected": "프로젝트 선택됨 — 작업 생성 및 가져오기를 사용할 수 있습니다.",
+ "projectSetupDescription": "작업을 생성하거나 가져오기 전에 첫 번째 프로젝트를 선택하세요. 기존 로컬 디렉터리를 등록하거나, 설정 마법사를 통해 GitHub 저장소 URL을 클론할 수 있습니다.",
+ "providerDesc": {
+ "anthropic": "Claude 모델 — 추론, 분석, 코드에 강점",
+ "fallback": "AI 제공자 — 연결하여 AI 모델 사용 시작",
+ "gemini": "Gemini 모델 — 멀티모달 및 강력한 추론",
+ "google": "Gemini 모델 — 멀티모달 및 강력한 추론",
+ "kimi": "Kimi by Moonshot AI — 긴 컨텍스트 처리 능력",
+ "kimiCoding": "Kimi by Moonshot AI — 긴 컨텍스트 처리 능력",
+ "minimax": "MiniMax 모델 — 대용량 사용에 비용 효율적",
+ "moonshot": "Kimi by Moonshot AI — 긴 컨텍스트 처리 능력",
+ "ollama": "로컬 머신에서 오픈소스 모델 실행",
+ "openai": "GPT 모델 — 다양한 작업에 범용적",
+ "openaiCodex": "Codex models by OpenAI — 코딩 작업에 최적화",
+ "openrouter": "OpenRouter — 여러 AI 제공자로 요청 라우팅",
+ "zai": "GLM models by Zhipu AI — 강력한 다국어 지원"
+ },
+ "providersConnectedSummary": "✓ {{total}}개 제공자 중 {{connected}}개 연결됨",
+ "providersSkippedSummary": "{{count}}개 제공자 건너뜀",
+ "providersSkippedSummary_one": "{{count}}개 제공자 건너뜀",
+ "providersSkippedSummary_other": "{{count}}개 제공자 건너뜀",
+ "quickStartProviders": "빠른 시작 제공자",
+ "readinessAiProviderConnected": "{{name}} 연결됨 — AI 에이전트가 작업을 처리할 수 있습니다",
+ "readinessAiProviderLabel": "AI 제공자",
+ "readinessAiProviderMissing": "설정 → AI 설정에서 제공자를 연결하세요",
+ "readinessAiProviderSkipped": "제공자를 연결하기 전까지는 AI 에이전트를 사용할 수 없습니다",
+ "readinessAllConnected": "✓ 모든 통합 연결됨",
+ "readinessDefaultModelLabel": "기본 모델",
+ "readinessGitHubConnected": "이슈 및 PR을 가져올 수 있습니다",
+ "readinessGitHubLabel": "GitHub",
+ "readinessGitHubMissing": "연결하여 이슈를 작업으로 가져오세요",
+ "readinessGitHubSkipped": "언제든지 설정에서 연결할 수 있습니다",
+ "readinessGitHubViaCli": "GitHub CLI를 통해 연결됨 — 가져오기 및 PR 추적 사용 가능",
+ "readinessProjectConnected": "프로젝트 선택됨 — 작업 생성 및 가져오기를 사용할 수 있습니다",
+ "readinessProjectLabel": "프로젝트",
+ "readinessProjectMissing": "프로젝트를 등록하여 작업 생성 및 가져오기를 활성화하세요",
+ "readinessSummaryHeader": "설정 요약",
+ "recommended": "권장",
+ "recommendedNextSteps": "권장 다음 단계",
+ "registerProject": "프로젝트 등록",
+ "registering": "등록 중...",
+ "remoteServerNote": "대시보드 핸드오프를 완료하려면 네이티브 셸에 활성 원격 프로필이 필요합니다.",
+ "remoteServerProfileSaved": "원격 서버 프로필 저장됨",
+ "removeKey": "키 제거",
+ "removingKey": "제거 중…",
+ "replaceTokenPlaceholder": "저장된 토큰을 교체할 새 토큰 입력",
+ "repositoryUrl": "저장소 URL",
+ "repositoryUrlPlaceholder": "https://github.com/owner/repo.git",
+ "requiresGitHubConnection": "GitHub 연결 필요",
+ "researchRunsNote": "리서치 실행에는 제공자 자격 증명과 활성화된 리서치 보기가 필요합니다. 온보딩 후 설정 → 인증 및 설정 → 실험적 기능에서 확인하세요.",
+ "resetToken": "토큰 초기화",
+ "retry": "재시도",
+ "reviewStep": "{{label}} 검토",
+ "runtimeNode": "런타임 노드",
+ "saveKey": "저장",
+ "saveRemoteServer": "원격 서버 저장",
+ "savedProfileButFailedToActivate": "프로필을 저장했지만 활성화에 실패했습니다",
+ "saving": "저장 중…",
+ "savingKey": "저장 중…",
+ "savingRemoteServer": "저장 중…",
+ "selectDefaultModel": "기본 모델 선택…",
+ "selectDefaultModelDesc": "작업 실행에 사용할 기본 AI 모델을 선택하세요",
+ "selectedModel": "선택됨:",
+ "serverUrl": "서버 URL",
+ "serverUrlPlaceholder": "https://your-fusion-host",
+ "setAuthToken": "인증 토큰 설정",
+ "setToken": "토큰 설정",
+ "setTokenContinue": "토큰 설정 및 계속",
+ "setUpAi": "AI 설정",
+ "setUpProject": "프로젝트 설정",
+ "setupComplete": "설정 완료! 보드로 이동하여 첫 번째 작업을 만들거나, 대시보드를 탐색해 보세요.",
+ "setupMode": "설정 모드",
+ "setupWizardHint": "설정 마법사에서 기존 디렉터리를 선택하거나 GitHub 클론 URL을 붙여넣으세요.",
+ "skip": "건너뛰기",
+ "skipForNow": "지금은 건너뛰기",
+ "skipGitHub": "GitHub 건너뛰기 →",
+ "skipOnboardingAriaLabel": "온보딩 건너뛰기",
+ "skipProviderHint": "원하시면 이 단계를 건너뛸 수 있습니다 — 나중에 설정에서 언제든지 제공자를 추가할 수 있습니다.",
+ "skipSetup": "설정 건너뛰기 →",
+ "statusConnected": "✓ 연결됨",
+ "statusConnecting": "⏳ 연결 중…",
+ "statusConnectionFailed": "✗ 연결 실패",
+ "statusNotConnected": "연결되지 않음",
+ "statusRetry": "재시도",
+ "statusSkipped": "건너뜀",
+ "stepAiSetup": "AI 설정",
+ "stepFirstTask": "첫 번째 작업",
+ "stepGithub": "GitHub",
+ "stepProject": "프로젝트",
+ "submitCode": "코드 제출",
+ "submittingCode": "제출 중…",
+ "taskCreated": "작업 생성됨",
+ "taskCreatedHint": "작업이 생성되어 보드에 표시됩니다.",
+ "taskCreationFailed": "작업 생성 중 오류가 발생했습니다. 다시 시도해 주세요.",
+ "taskErrorHint": "텍스트가 보존되었습니다 — 문제를 수정하고 다시 시도하세요.",
+ "titleAiSetup": "AI 설정",
+ "titleAllSet": "모두 완료!",
+ "titleConnectGitHub": "GitHub 연결",
+ "titleCreateFirstTask": "첫 번째 작업 만들기",
+ "titleSetUpProject": "프로젝트 설정",
+ "tokenEnvVar": "대시보드 시작 시 {{env}} 환경 변수를 통해 토큰이 설정되었습니다.",
+ "tokenStoredHint": "이 브라우저에 이미 토큰이 저장되어 있습니다. 아래에서 업데이트하거나 초기화할 수 있습니다.",
+ "updateToken": "토큰 업데이트",
+ "useExistingDirectory": "기존 디렉터리 사용",
+ "viewTask": "작업 보기",
+ "waitingForGitHubAuth": "GitHub 인증 대기 중…",
+ "waitingForLogin": "로그인 대기 중…",
+ "waitingForOauthLogin": "OAuth 로그인 대기 중…",
+ "welcomeToFusion": "Fusion에 오신 것을 환영합니다",
+ "whatAreAiProviders": "AI 제공자란 무엇인가요?",
+ "whatAreAiProvidersBody": "OpenAI, Anthropic 같은 AI 제공자는 Fusion의 AI 기능을 지원합니다. 제공자를 연결하면 Fusion의 에이전트가 AI 모델을 사용하여 작업을 도울 수 있습니다.",
+ "whatDoesGitHubIntegrationDo": "GitHub 통합은 무엇을 하나요?",
+ "whatDoesGitHubIntegrationDoBody": "GitHub 없이도 작업을 수동으로 생성하고 관리할 수 있습니다. GitHub 통합을 사용하면 이슈를 작업으로 가져오고, 작업과 함께 풀 리퀘스트 상태를 추적하며, 커밋을 작업에 자동으로 연결할 수 있습니다. 설정 → 인증에서 언제든지 연결하세요.",
+ "whatDoesProjectSetupDo": "프로젝트 설정은 무엇을 하나요?",
+ "whatDoesProjectSetupDoBody": "프로젝트 설정은 Fusion이 파일을 읽고, 명령을 실행하며, 작업 변경 사항을 추적할 수 있도록 작업 공간을 등록합니다.",
+ "whatHappensWhenCreateTask": "작업을 만들면 어떻게 되나요?",
+ "whatHappensWhenCreateTaskBody": "작업은 원하는 내용을 설명합니다. Fusion의 AI 에이전트가 설명을 읽고 구현을 진행합니다. 보드에서 진행 상황을 추적하고 결과를 검토할 수 있습니다.",
+ "whatIsApiKey": "API 키란 무엇인가요?",
+ "whatIsApiKeyBody": "API 키는 Fusion이 제공자에 인증하는 데 사용되는 비밀 토큰입니다. 제공자 대시보드의 API 설정에서 키를 확인할 수 있습니다. 키는 사용자 머신에 안전하게 저장됩니다.",
+ "withGitHub1": "이슈를 작업으로 가져오기",
+ "withGitHub2": "풀 리퀘스트 상태 동기화",
+ "withGitHub3": "코드 변경 사항을 작업에 연결",
+ "withGitHubHeading": "GitHub 사용 시 (연결 후):",
+ "withoutGitHub1": "작업 수동 생성",
+ "withoutGitHub2": "AI 에이전트를 위한 작업 설명",
+ "withoutGitHub3": "보드에서 진행 상황 추적",
+ "withoutGitHubHeading": "GitHub 없이 (지금 사용 가능):"
+ },
+ "shell": {
+ "activePill": "활성",
+ "addConnection": "연결 추가",
+ "addServer": "서버 추가",
+ "authTokenLabel": "인증 토큰 (선택 사항)",
+ "connectionManager": "연결 관리자",
+ "connectionManagerLabel": "연결 관리자",
+ "defaultProfileName": "원격 서버",
+ "deleteConfirmLabel": "서버 삭제 확인",
+ "deleteConfirmMessage": "{{name}}을(를) 삭제하시겠습니까? 저장된 프로필이 제거됩니다.",
+ "deleteProfile": "{{name}} 삭제",
+ "editProfile": "{{name}} 편집",
+ "modeLocal": "로컬",
+ "modeRemote": "원격",
+ "nameLabel": "이름",
+ "noServersSaved": "저장된 원격 서버가 없습니다.",
+ "scanQr": "QR 스캔",
+ "serverUrlLabel": "서버 URL",
+ "serverUrlProtocolError": "서버 URL은 http 또는 https를 사용해야 합니다",
+ "use": "사용",
+ "useProfile": "{{name}} 사용"
+ },
+ "skills": {
+ "addSkill": "스킬 추가…",
+ "allSkillsSelected": "모든 스킬 선택됨",
+ "catalogSection": "스킬 카탈로그",
+ "catalogUnavailable": "카탈로그를 일시적으로 사용할 수 없습니다. 나중에 다시 시도해 주세요.",
+ "closeDetail": "스킬 상세 닫기",
+ "closeView": "스킬 보기 닫기",
+ "disableSkill": "{{name}} 비활성화",
+ "disabled": "스킬 비활성화됨",
+ "discovered": "검색됨",
+ "discoveredCount": "{{count}}개 스킬 검색됨",
+ "discoveredSection": "검색된 스킬",
+ "enableSkill": "{{name}} 활성화",
+ "enabled": "스킬 활성화됨",
+ "filesLabel": "파일",
+ "install": "설치",
+ "installError": "스킬 설치 실패",
+ "installFailed": "{{name}} 설치 실패: {{message}}",
+ "installSkill": "{{name}} 설치",
+ "installSuccess": "{{name}} 설치됨",
+ "installing": "설치 중…",
+ "installsCount": "{{count}}회 설치",
+ "loadCatalogError": "카탈로그 로드 실패",
+ "loadContentError": "스킬 콘텐츠 로드 실패",
+ "loadDiscoveredError": "검색된 스킬 로드 실패",
+ "loading": "스킬 로드 중…",
+ "loadingCatalog": "카탈로그 로드 중...",
+ "loadingContent": "스킬 콘텐츠 로드 중...",
+ "loadingDiscovered": "검색된 스킬 로드 중...",
+ "noCatalogAvailable": "카탈로그에 사용 가능한 스킬이 없습니다.",
+ "noDiscovered": "이 프로젝트에서 검색된 스킬이 없습니다.",
+ "noMatchingDiscovered": "검색어와 일치하는 검색된 스킬이 없습니다.",
+ "noMatchingSearch": "검색어와 일치하는 스킬이 없습니다.",
+ "noSkillMd": "(SKILL.md 없음)",
+ "noSkillsDiscovered": "검색된 스킬 없음",
+ "removeSkill": "{{name}} 제거",
+ "searchLabel": "스킬 검색",
+ "searchPlaceholder": "스킬 검색...",
+ "title": "스킬",
+ "toggleError": "스킬 전환 실패",
+ "toggleFailed": "스킬 전환 실패: {{message}}",
+ "viewDetails": "{{name}} 상세 보기"
+ },
+ "specEditor": {
+ "edit": "편집",
+ "empty": "(명세 없음)",
+ "feedbackPlaceholder": "예: '오류 처리에 대한 세부 사항 추가', '더 작은 단계로 분할', 'API 엔드포인트 테스트 포함'...",
+ "keyboardHint": "Ctrl+Enter (또는 Cmd+Enter)를 눌러 저장",
+ "placeholder": "Markdown으로 작업 명세를 입력하세요...",
+ "requestRevision": "AI 수정 요청",
+ "requesting": "요청 중…",
+ "revisionHelp": "AI가 이 명세를 개선할 수 있도록 피드백을 제공하세요. 작업은 재계획을 위해 계획 단계로 이동합니다.",
+ "revisionTitle": "AI에게 수정 요청",
+ "saving": "저장 중…",
+ "view": "보기"
+ },
+ "stashRecovery": {
+ "applied": "적용됨",
+ "apply": "적용",
+ "applyFailed": "적용 실패",
+ "changedPathsLabel": "변경된 경로",
+ "classificationLabel": "분류",
+ "closeDiffDialog": "diff 대화상자 닫기",
+ "diffDialogLabel": "{{sha}}의 diff",
+ "diffHeader": "{{sha}}의 diff",
+ "diffTruncated": "diff 출력이 잘렸습니다.",
+ "drop": "삭제",
+ "dropConfirm": "삭제",
+ "dropMessage": "이 작업은 스태시 항목을 영구적으로 제거합니다.",
+ "dropTitle": "고아 스태시를 삭제하시겠습니까?",
+ "failedToLoadDiff": "diff 로드 실패",
+ "failedToLoadOrphans": "고아 항목 로드 실패",
+ "fileCount": "{{count}}개 파일",
+ "inspectDiff": "diff 검사",
+ "loadingDiff": "diff 로드 중…",
+ "noDiffOutput": "사용 가능한 diff 출력이 없습니다.",
+ "noOrphans": "고아 merger 자동 스태시가 없습니다.",
+ "orphanCount": "{{count}}개 고아",
+ "shaLabel": "SHA",
+ "title": "스태시 복구",
+ "unknownSource": "알 수 없는 출처"
+ },
+ "stepType": {
+ "aiPrompt": "AI 프롬프트",
+ "aiPromptStepTitle": "AI 프롬프트 단계",
+ "command": "명령",
+ "commandStepTitle": "명령 단계",
+ "createTask": "작업 생성",
+ "createTaskStepTitle": "작업 생성 단계"
+ },
+ "subtasks": {
+ "addSubtask": "하위 작업 추가",
+ "baseBranchLabel": "병합 대상 / 기본 브랜치 (선택 사항)",
+ "baseBranchPlaceholder": "main",
+ "branchAssignmentPerTask": "계획 브랜치에서 파생된 작업별 브랜치",
+ "branchAssignmentShared": "공유 병합 대상 — 하위 작업은 각자의 브랜치에서 실행",
+ "branchModeAutoNew": "작업별 자동 이름 브랜치 생성",
+ "branchModeCustomNew": "커스텀 새 브랜치 생성",
+ "branchModeExisting": "기존 브랜치 사용",
+ "branchModeProjectDefault": "프로젝트/기본 브랜치 사용",
+ "branchNameLabel": "브랜치 이름",
+ "branchStrategyLabel": "브랜치 전략",
+ "createTasks": "작업 생성",
+ "creating": "생성 중...",
+ "dependenciesLabel": "의존성",
+ "dependencyCycleError": "의존성에 순환이 있습니다. 작업을 생성하기 전에 순환 참조를 제거하세요.",
+ "descriptionLabel": "설명",
+ "discardChangesMessage": "하위 작업 분류를 닫으시겠습니까? 저장되지 않은 변경 사항이 손실됩니다.",
+ "discardChangesTitle": "변경 사항 취소",
+ "dragToReorder": "드래그하여 순서 변경",
+ "errorCreateTasks": "작업 생성 실패",
+ "errorRefreshSession": "하위 작업 세션 새로 고침 실패.",
+ "errorResumeSession": "세션 재개 실패",
+ "errorRetryFailed": "재시도에 실패했습니다. 다시 시도해 주세요.",
+ "errorSessionEncountered": "세션에서 오류 발생",
+ "errorSessionFailed": "AI에 연결하는 중 세션이 실패했습니다.",
+ "errorSessionNoResult": "하위 작업 세션이 완료되었지만 결과가 없습니다.",
+ "errorStartBreakdown": "하위 작업 분류 시작 실패",
+ "generatingSubtasks": "AI가 하위 작업을 생성 중...",
+ "groupedOnSharedBranch": "공유 브랜치에 그룹화됨",
+ "hideThinking": "사고 과정 숨기기",
+ "modalTitle": "하위 작업 분류",
+ "moveDown": "아래로 이동",
+ "moveSubtaskDownAriaLabel": "하위 작업 아래로 이동",
+ "moveSubtaskUpAriaLabel": "하위 작업 위로 이동",
+ "moveUp": "위로 이동",
+ "noDepsFirstSubtask": "첫 번째 하위 작업에는 의존성을 설정할 수 없습니다.",
+ "noPreviousSubtasks": "이전 하위 작업이 없습니다.",
+ "openGroupModal": "그룹 모달 열기",
+ "planningBranchModeLabel": "계획 브랜치 모드",
+ "preparingBreakdown": "이 작업을 하위 작업으로 분류할 준비 중입니다.",
+ "reconnecting": "재연결 중…",
+ "remove": "제거",
+ "retry": "재시도",
+ "retrying": "재시도 중...",
+ "reviewSubtasksHeading": "하위 작업 검토",
+ "reviewSubtasksHint": "모든 작업을 한 번에 생성하기 전에 제목, 설명, 크기, 의존성을 편집하세요.",
+ "sendToBackgroundAriaLabel": "백그라운드로 보내기",
+ "sendToBackgroundTitle": "백그라운드로 보내기",
+ "sessionActiveAnotherTab": "다른 탭에서 세션이 활성 상태입니다.",
+ "sessionActiveAnotherTabLive": "이 세션은 다른 탭에서 활성 상태입니다 (실시간 하트비트)",
+ "sessionActiveAnotherTabTakeover": "이 세션은 다른 탭에서 활성 상태입니다",
+ "showThinking": "사고 과정 보기",
+ "sizeLabel": "크기",
+ "takeControl": "제어 가져오기",
+ "takingControl": "제어 가져오는 중...",
+ "titleLabel": "제목",
+ "untitled": "제목 없음"
+ },
+ "syncLog": {
+ "entryCount": "{{count}}개 항목",
+ "filterAll": "전체",
+ "filterAllNodes": "모든 노드",
+ "filterDirection": "방향:",
+ "filterNode": "노드:",
+ "filterPull": "Pull",
+ "filterPush": "Push",
+ "loading": "로드 중...",
+ "noHistory": "사용 가능한 동기화 기록이 없습니다",
+ "resultConflict": "충돌",
+ "resultError": "오류",
+ "resultSuccess": "성공"
+ },
+ "systemStats": {
+ "agentActive": "활성",
+ "agentError": "오류",
+ "agentIdle": "유휴",
+ "agentRunning": "실행 중",
+ "autoKillLabel": "메모리 압박 시 vitest 자동 종료",
+ "autoRefresh": "자동 새로 고침 · 5초",
+ "closeAriaLabel": "닫기",
+ "confirmKill": "종료를 확인하시겠습니까?",
+ "cpuFirstSamplePending": "첫 번째 샘플 대기 중",
+ "cpuProcessUsage": "프로세스 사용량",
+ "cpuProgressLabel": "앱 CPU 사용량: {{percent}}%",
+ "cpuProgressUnavailable": "앱 CPU 사용량 불가: 다음 샘플 대기 중",
+ "cpuSampling": "샘플링 중…",
+ "errorKillVitest": "vitest 프로세스 종료 실패",
+ "errorLoadStats": "시스템 통계 로드 실패",
+ "errorLoadVitestSettings": "vitest 설정 로드 실패",
+ "errorSaveVitestSettings": "vitest 설정 저장 실패",
+ "footerRefreshFailed": "최신 새로 고침 실패: {{error}}",
+ "killThresholdInputAriaLabel": "종료 임계값 (%)",
+ "killThresholdLabel": "종료 임계값 (%)",
+ "killThresholdSliderAriaLabel": "종료 임계값 슬라이더 (%)",
+ "killVitest": "Vitest 프로세스 종료",
+ "killedProcesses": "{{count}}개 프로세스 종료됨",
+ "lastAutoKill": "마지막 자동 종료: {{time}}",
+ "loading": "시스템 통계 로드 중…",
+ "notYet": "아직 없음",
+ "refreshAriaLabel": "시스템 통계 새로 고침",
+ "refreshTitle": "새로 고침",
+ "rowAppCpu": "앱 CPU",
+ "rowArrayBuffers": "배열 버퍼",
+ "rowCores": "코어",
+ "rowExternal": "외부",
+ "rowHeapLimit": "힙 한도",
+ "rowHeapLimitDetail": "V8 한도",
+ "rowHeapUsed": "힙 사용량",
+ "rowHeapUsedDetail": "{{total}} 중",
+ "rowLoadAvg": "평균 부하",
+ "rowMemoryFree": "여유 메모리",
+ "rowMemoryUsed": "사용 중인 메모리",
+ "rowNode": "Node",
+ "rowPid": "PID",
+ "rowPlatform": "플랫폼",
+ "rowRss": "RSS",
+ "rowTotal": "전체",
+ "sectionAgents": "에이전트",
+ "sectionAgentsAriaLabel": "에이전트 통계",
+ "sectionCpu": "CPU 및 부하",
+ "sectionCpuAriaLabel": "CPU 및 부하 통계",
+ "sectionProcess": "프로세스",
+ "sectionProcessAriaLabel": "프로세스 통계",
+ "sectionSystem": "시스템",
+ "sectionSystemMemAriaLabel": "시스템 메모리 통계",
+ "sectionTasks": "작업",
+ "sectionTasksAriaLabel": "작업 통계",
+ "sectionVitest": "Vitest 컨트롤",
+ "sectionVitestAriaLabel": "Vitest 컨트롤",
+ "systemMemProgressLabel": "시스템 메모리 사용: {{percent}}% ({{total}} 중 {{used}})",
+ "systemMemUnavailable": "시스템 메모리 사용량을 확인할 수 없습니다",
+ "title": "시스템 통계",
+ "updatedAt": "{{time}} 업데이트됨",
+ "vitestProcesses": "Vitest 프로세스",
+ "waitingFirstUpdate": "첫 업데이트 대기 중"
+ },
+ "taskChanges": {
+ "attributionFailed": "착륙된 파일 집합에 외부 커밋이 포함될 수 있습니다 (기여 정보 없음).",
+ "disableWordWrap": "자동 줄 바꿈 해제",
+ "emptyWorktreeHint": "라이브 worktree diff가 비어 있습니다. 실행 중 캡처된 마지막 파일 경로를 표시합니다 — 패치를 사용할 수 없습니다.",
+ "enableWordWrap": "자동 줄 바꿈 활성화",
+ "error": "변경 사항 로드 오류: {{error}}",
+ "executionFilesHint": "실행 중 worktree에서 캡처된 파일입니다. main에 실제로 반영된 파일과 다를 수 있습니다. 이 작업에서는 계보 기반 diff를 사용할 수 없습니다.",
+ "expandDiff": "전체 화면 diff 보기로 확장",
+ "expandDiffView": "diff 보기 확장",
+ "fileCount": "{{count}}개 파일{{plural}} 변경됨.",
+ "filesChangedHeading": "변경된 파일 ({{count}})",
+ "landedFilesHint": "병합 커밋 메타데이터에서 캡처된 파일입니다. 이 작업에서는 계보 기반 diff를 사용할 수 없습니다.",
+ "loadError": "작업 변경 사항을 불러오지 못했습니다",
+ "loading": "변경 사항 로드 중...",
+ "merged": "{{date}} 병합됨",
+ "mergedAt": "{{date}} 병합됨",
+ "nextFile": "다음 파일",
+ "noExecutionModifications": "에이전트가 실행 중 파일을 수정하지 않았습니다.",
+ "noFilesModified": "수정된 파일 없음.",
+ "noMergeCommit": "이 작업에 병합 커밋이 기록되지 않았습니다.",
+ "noMergeFileChanges": "병합 커밋에 파일 변경 사항이 기록되지 않았습니다.",
+ "noOpShortCircuit": "단락 검증됨 — 작업이 이미 main에 있었습니다 (rebase가 외부 커밋을 통과).",
+ "noWorktree": "이 작업에 사용 가능한 worktree가 없습니다.",
+ "noWorktreeHint": "작업이 진행 중일 때 변경 사항이 표시됩니다.",
+ "previousFile": "이전 파일",
+ "statusUnknown": "상태 알 수 없음",
+ "summaryHint": "최종 커밋 요약: {{files}}개 파일{{plural}} 변경, +{{additions}} 추가, -{{deletions}} 삭제. 전체 작업 계보가 아닌 기록된 병합/스쿼시 커밋만 포함됩니다.",
+ "toggleWordWrap": "자동 줄 바꿈 전환",
+ "unavailable": "상세 파일 변경 사항을 사용할 수 없습니다."
+ },
+ "taskDetail": {
+ "actions": {
+ "menuBtn": "작업"
+ },
+ "ageStaleness": {
+ "active": "활성",
+ "age": "경과 시간",
+ "column": "컬럼",
+ "critical": "위험",
+ "observed": "관측됨",
+ "paused": "일시 정지됨",
+ "title": "작업 경과 오래됨",
+ "warning": "경고"
+ },
+ "agent": {
+ "assignBtn": "에이전트 할당",
+ "assignFailed": "에이전트 할당 실패: {{error}}",
+ "assignedUpdated": "할당된 에이전트가 업데이트되었습니다",
+ "label": "에이전트",
+ "loadFailed": "에이전트 로드 실패: {{error}}",
+ "loadingAgents": "에이전트 로드 중...",
+ "noAgents": "사용 가능한 에이전트 없음",
+ "unassignFailed": "에이전트 할당 해제 실패: {{error}}",
+ "unassignTitle": "에이전트 할당 해제",
+ "unassigned": "에이전트 할당이 해제되었습니다"
+ },
+ "agentLink": "에이전트 {{id}}",
+ "attachments": {
+ "attachBtn": "스크린샷 첨부",
+ "attached": "스크린샷이 첨부되었습니다",
+ "deleteTitle": "첨부 파일 삭제",
+ "deleted": "첨부 파일이 삭제되었습니다",
+ "heading": "첨부 파일",
+ "none": "(첨부 파일 없음)",
+ "uploading": "업로드 중…"
+ },
+ "blockedByLink": "{{id}}에 의해 차단됨",
+ "blocking": {
+ "heading": "차단 중",
+ "none": "(차단된 다운스트림 작업 없음)",
+ "stale": "(오래됨)",
+ "staleTitle": "오래된 blockedBy 엣지: clearStaleBlockedBy 자가 복구로 자동 제거됩니다"
+ },
+ "branchBinding": {
+ "candidates": "후보:",
+ "copy": "이 검토 중인 작업은 현재 fusion 브랜치에 연결되지 않았습니다. 살아있는 fusion 브랜치가 있다면 여기서 재연결할 수 있습니다.",
+ "headline": "브랜치 재연결 필요",
+ "reattachBtn": "브랜치 재연결",
+ "reattached": "{{id}}의 브랜치가 재연결되었습니다 ({{branch}})",
+ "reattachedResult": "{{branch}} 재연결됨 ({{base}} 기준 {{count}}개 커밋 앞).",
+ "reattaching": "재연결 중…",
+ "skipped": "{{id}}의 브랜치 재연결을 건너뜀: {{reason}}",
+ "skippedResult": "재연결 건너뜀: {{reason}}"
+ },
+ "cacheBreakdown": "(읽기 {{read}} / 쓰기 {{write}} / 입력 {{input}})",
+ "cacheHitRatio": "캐시 적중률:",
+ "cacheRead": "캐시 읽기",
+ "cacheWrite": "캐시 쓰기",
+ "checkoutLink": "{{id}} 체크아웃",
+ "delete": {
+ "actionClosed": "닫힘",
+ "actionDeleted": "삭제됨",
+ "actionLeft": "유지됨",
+ "allowRecreation": "나중에 재생성 허용 (운영자 잠금 해제)",
+ "allowRecreationDesc": "에이전트가 --force-resurrect 없이 이 작업 ID를 재생성할 수 있습니다. 이 작업을 삭제 표시로 유지하려면 선택 해제하세요.",
+ "archiveInstead": "보관으로 대체",
+ "archiveUnlinkPrompt": "이 참조를 먼저 연결 해제하고 보관하시겠습니까?",
+ "archivedAfterUnlink": "계보 참조 연결 해제 후 {{id}} 보관됨",
+ "ariaLabel": "작업 삭제",
+ "btn": "삭제",
+ "closeIssue": "이슈 닫기",
+ "confirm": "삭제",
+ "deleteIssue": "이슈 삭제",
+ "deleteLinkedIssueMessage": "GitHub에서 {{issueRef}}를 삭제하시겠습니까, 아니면 변경하지 않고 유지하시겠습니까?",
+ "deleteLinkedIssueTitle": "연결된 GitHub 이슈 삭제",
+ "deleteUnlinkDepsPrompt": "이 의존성 참조를 먼저 제거하고 삭제하시겠습니까?",
+ "deleteUnlinkLineagePrompt": "이 참조를 먼저 연결 해제하고 삭제하시겠습니까?",
+ "deletedAfterRemovingDeps": "의존성 참조 제거 후 {{id}} 삭제됨",
+ "deletedAfterUnlinkLineage": "계보 참조 연결 해제 후 {{id}} 삭제됨",
+ "deletedToast": "{{id}} 삭제됨{{suffix}}",
+ "forceDeleteTitle": "강제 작업 삭제",
+ "issueSuffix": "및 이슈 {{ref}} {{action}}",
+ "leaveUnchanged": "변경하지 않음",
+ "linkedIssueMessage": "{{id}} 삭제 시 {{issueRef}}에 대해 수행할 작업을 선택하세요.\n\n이슈를 닫으시겠습니까?",
+ "linkedIssueTitle": "연결된 GitHub 이슈",
+ "message": "{{id}}를 삭제하시겠습니까?",
+ "moreOptions": "추가 옵션",
+ "title": "작업 삭제"
+ },
+ "deps": {
+ "addBtn": "의존성 추가",
+ "clearBlockerTitle": "겹침 차단기 {{id}} 제거",
+ "clearBtn": "제거",
+ "clickToView": "{{id}} 보기 클릭",
+ "heading": "의존성",
+ "loadFailed": "의존성 {{id}} 로드 실패",
+ "noAvailableTasks": "사용 가능한 작업 없음",
+ "none": "(의존성 없음)",
+ "overlapBlocker": "파일 범위 겹침 차단기:",
+ "removeTitle": "의존성 {{id}} 제거",
+ "searchPlaceholder": "작업 검색…",
+ "stale": "(오래됨)"
+ },
+ "description": {
+ "showLess": "간략히 보기",
+ "showMore": "더 보기"
+ },
+ "duplicate": {
+ "btn": "복제",
+ "message": "{{id}}를 복제하시겠습니까? 같은 설명과 프롬프트로 Triage에 새 작업이 생성됩니다.",
+ "success": "{{id}} 복제됨 → {{newId}}",
+ "title": "작업 복제"
+ },
+ "edit": {
+ "autosaveHint": "편집 시 변경 사항이 자동 저장됩니다",
+ "autosaving": "자동 저장 중…",
+ "nodeOverrideLocked": "작업이 활성/진행 중일 때는 실행 노드 재정의가 잠겨 있습니다.",
+ "saveFailed": "저장 실패",
+ "saved": "저장됨",
+ "saving": "저장 중…",
+ "sourceExternalIdPlaceholder": "이슈 식별자",
+ "sourceIssueHint": "모든 필드를 비워 두면 소스 이슈 메타데이터가 삭제됩니다.",
+ "sourceIssueIdentifierNumeric": "새 메타데이터의 소스 이슈 식별자는 숫자여야 합니다",
+ "sourceIssueLabel": "소스 이슈",
+ "sourceIssueRequiredFields": "소스 이슈 제공자, 저장소, 이슈 식별자가 필요합니다",
+ "sourceProviderPlaceholder": "제공자 (예: github)",
+ "sourceRepositoryPlaceholder": "저장소 (예: owner/repo)",
+ "sourceUrlPlaceholder": "이슈 URL"
+ },
+ "error": {
+ "taskFailed": "작업 실패"
+ },
+ "executionAndTokenStats": "실행 및 토큰 통계",
+ "executionDetails": "실행 세부 정보",
+ "executionMode": {
+ "ariaLabel": "실행 모드: {{mode}}",
+ "fast": "빠름",
+ "standard": "표준",
+ "updated": "실행 모드가 {{mode}}로 업데이트되었습니다"
+ },
+ "executionModeFast": "빠름",
+ "executionModeStandard": "표준",
+ "executionStatsAria": "작업 실행 통계",
+ "executionTiming": "실행 시간",
+ "executionTimingMetricsAria": "실행 타이밍 지표",
+ "firstUsed": "최초 사용",
+ "githubTracking": {
+ "addTitleBeforeCreating": "추적 이슈 생성 전 제목을 추가하세요",
+ "checking": "추적 상태 확인 중",
+ "collapse": "GitHub 추적 세부 정보 접기",
+ "createIssueBtn": "추적 이슈 생성",
+ "createIssueDisabledTitle": "추적 이슈를 생성하려면 제목 또는 설명을 추가하세요.",
+ "createIssueHelper": "이 작업에 요약할 제목 또는 설명이 생기면 추적 이슈가 생성됩니다.",
+ "disabled": "추적이 현재 비활성화되어 있습니다",
+ "enableAriaLabel": "GitHub 추적 활성화",
+ "enableBtn": "활성화",
+ "enableCheckboxLabel": "GitHub 추적 활성화",
+ "enabling": "GitHub 추적 활성화 중…",
+ "enablingAriaLabel": "GitHub 추적 활성화 중",
+ "expand": "GitHub 추적 세부 정보 펼치기",
+ "issue": "이슈",
+ "issueCreationRequested": "GitHub 추적 이슈 생성 요청됨",
+ "issueUnlinked": "GitHub 이슈 연결이 해제되었습니다",
+ "label": "GitHub 추적",
+ "loading": "GitHub 추적 상태 로드 중…",
+ "loadingAriaLabel": "GitHub 추적 상태 로드 중",
+ "notYetCreated": "이슈가 아직 생성되지 않았습니다",
+ "repoOverrideFormat": "저장소 재정의는 owner/repo 형식이어야 합니다",
+ "state": "상태",
+ "statusAriaLabel": "GitHub 추적 상태",
+ "statusDisabled": "비활성화됨",
+ "statusEnabled": "활성화됨",
+ "statusLinked": "연결됨",
+ "statusLoading": "로드 중",
+ "unlinkBtn": "GitHub 이슈 연결 해제",
+ "unlinkConfirm": "연결 해제",
+ "unlinkMessage": "연결된 GitHub 이슈와의 Fusion 동기화가 중단됩니다. 이슈 자체는 수정되지 않습니다.",
+ "unlinkTitle": "GitHub 이슈 연결을 해제하시겠습니까?"
+ },
+ "hasSession": "세션 있음",
+ "header": {
+ "back": "뒤로",
+ "backToList": "작업 목록으로 돌아가기",
+ "editTask": "작업 편집"
+ },
+ "inputTokens": "입력",
+ "lastUsed": "마지막 사용",
+ "loadingTokenStats": "토큰 통계 로드 중…",
+ "logs": {
+ "activity": "활동",
+ "activityHeading": "활동",
+ "agentLog": "에이전트 로그",
+ "noActivity": "(활동 없음)",
+ "truncated": "최근 {{count}}개의 활동 항목을 표시합니다."
+ },
+ "longestTimingEvent": "가장 긴 타이밍 이벤트",
+ "longestWorkflowStep": "가장 긴 워크플로 단계",
+ "merge": {
+ "closed": "{{id}} 닫힘 ({{reason}})",
+ "merged": "{{id}} 병합됨 (브랜치: {{branch}})",
+ "merging": "{{id}} 병합 중…",
+ "message": "{{id}}를 현재 브랜치에 병합하시겠습니까?",
+ "noBranchToMerge": "병합할 브랜치 없음",
+ "title": "작업 병합"
+ },
+ "move": {
+ "backToInProgress": "진행 중으로 돌아가기",
+ "cancelMove": "이동 취소",
+ "keepProgress": "진행 상태 유지",
+ "moveTo": "{{column}}으로 이동",
+ "movedTo": "{{column}}으로 이동됨",
+ "preserveProgressMessage": "이 작업에 완료된 단계가 있습니다. 이동 전 진행 상태를 유지하시겠습니까?",
+ "preserveProgressTitle": "진행 상태 유지?",
+ "resetProgress": "진행 상태 초기화",
+ "resetProgressMessage": "이 작업을 이동하기 전에 모든 단계 진행 상태를 초기화하시겠습니까?",
+ "resetProgressTitle": "진행 상태 초기화?"
+ },
+ "nearDuplicate": {
+ "actions": "보관을 선택하면 이 작업이 보관 상태로 이동하고, 유지를 선택하면 이 작업을 계속합니다.",
+ "archiveBtn": "보관",
+ "archiveConfirm": "보관",
+ "archiveMessage": "{{id}}를 {{duplicateOf}}의 중복으로 보관하시겠습니까?",
+ "archiveTitle": "근사 중복 작업 보관",
+ "archived": "{{id}} 보관됨",
+ "copy": "이 작업은 다음의 근사 중복으로 보입니다",
+ "headline": "잠재적 중복 감지됨",
+ "keepBtn": "유지",
+ "kept": "{{id}} 유지 및 중복 경고 무시됨"
+ },
+ "nextRecoveryAt": "다음 복구 시각: {{time}}",
+ "no": "아니요",
+ "noCommits": {
+ "disabled": "커밋 없음 기대 설정 비활성화됨",
+ "enabled": "커밋 없음 기대 설정 활성화됨",
+ "hint": "git 커밋 없이 작업을 완료할 수 있습니다. 결정이 기록 결과물인 평가, 검증 또는 감사 작업에 사용하세요.",
+ "label": "커밋 없음 예상 (결정 전용 작업)"
+ },
+ "noRuntimeLinks": "런타임 링크 없음",
+ "noScheduledRecovery": "예약된 복구 없음",
+ "noSteps": "단계 없음",
+ "noTimedEvents": "아직 기록된 타이밍 이벤트가 없습니다.",
+ "noTokenUsage": "이 작업에 대해 아직 기록된 토큰 사용량이 없습니다.",
+ "noWorkflowStepTimings": "완료된 워크플로 단계 타이밍이 아직 없습니다.",
+ "notSet": "설정되지 않음",
+ "outputTokens": "출력",
+ "pause": {
+ "pauseBtn": "일시 정지",
+ "paused": "{{id}} 일시 정지됨",
+ "pausedByAgent": "에이전트에 의해 일시 정지됨",
+ "unpauseBtn": "재개",
+ "unpaused": "{{id}} 재개됨",
+ "worktrunkFailed": "Worktrunk 작업 실패"
+ },
+ "paused": "일시 정지됨",
+ "plan": {
+ "approveBtn": "계획 승인",
+ "approved": "계획 승인됨 — {{id}}이(가) Todo로 이동됨",
+ "rebuildMessage": "이 작업의 계획을 다시 빌드하시겠습니까? 작업이 재계획을 위해 계획 단계로 이동합니다.",
+ "rebuildTitle": "계획 재빌드",
+ "rejectBtn": "계획 거부",
+ "rejectMessage": "이 계획을 거부하시겠습니까? 명세가 삭제되고 재생성됩니다.",
+ "rejectTitle": "계획 거부",
+ "rejected": "계획 거부됨 — {{id}}이(가) 재계획을 위해 Planning으로 반환됨",
+ "replanning": "{{id}} 재계획 중…"
+ },
+ "pr": {
+ "awaitingChecks": "PR 검사 대기 중",
+ "checkPrStatus": "PR 상태 확인",
+ "creatingPr": "PR 생성 중…",
+ "finishAndClose": "완료 및 닫기",
+ "mergeAndClose": "병합 및 닫기",
+ "mergingFixes": "수정 사항 병합 중…",
+ "mergingPr": "PR 병합 중…",
+ "startPrReview": "PR 검토 시작",
+ "statusRefreshed": "PR 상태가 새로 고침되었습니다"
+ },
+ "priority": {
+ "ariaLabel": "작업 우선순위",
+ "label": "우선순위:",
+ "updated": "우선순위가 {{priority}}로 업데이트되었습니다"
+ },
+ "progress": {
+ "heading": "진행 상태",
+ "noSteps": "(정의된 단계 없음)",
+ "stepCount": "{{total}}단계 중 {{count}}단계"
+ },
+ "provenance": {
+ "agent": "에이전트",
+ "api": "API",
+ "automation": "자동화",
+ "chatSession": "채팅 세션",
+ "cli": "CLI",
+ "createdBy": "작성자",
+ "createdVia": "생성 경로",
+ "dashboard": "대시보드",
+ "duplicate": "복제",
+ "githubImport": "GitHub 가져오기",
+ "openIssue": "이슈 열기",
+ "quickChat": "빠른 채팅",
+ "recovery": "복구",
+ "refinement": "개선",
+ "research": "조사",
+ "scheduledTask": "예약 작업",
+ "workflowStep": "워크플로 단계"
+ },
+ "recoveryState": "복구 상태",
+ "refine": {
+ "btn": "개선",
+ "charCount": "{{count}}/2000자",
+ "createBtn": "개선 작업 생성",
+ "creating": "생성 중...",
+ "feedbackRequired": "개선이 필요한 내용을 설명하는 피드백을 입력하세요",
+ "feedbackTooLong": "피드백은 2000자 이하여야 합니다",
+ "help": "개선하거나 향상시킬 내용을 설명하세요...",
+ "modalTitle": "개선",
+ "placeholder": "피드백을 입력하세요...",
+ "taskCreated": "개선 작업 생성됨: {{id}}"
+ },
+ "reset": {
+ "btn": "초기화",
+ "confirmMessage": "{{id}}의 모든 진행 상태가 삭제되고 작업이 처음부터 다시 시작됩니다. 계속하시겠습니까?",
+ "resetSuccess": "{{id}} 초기화됨 — 새 실행이 할당됩니다"
+ },
+ "respecify": {
+ "btn": "재명세"
+ },
+ "retries": {
+ "branchConflict": "브랜치 충돌 복구",
+ "branchConflictTitle": "FN-4068 브랜치 충돌 복구 재시도",
+ "capReached": "이 작업의 재시도 한도에 도달했습니다.",
+ "collapse": "재시도 세부 정보 접기",
+ "expand": "재시도 세부 정보 펼치기",
+ "label": "재시도",
+ "mergeConflict": "병합 충돌 반송",
+ "mergeConflictTitle": "병합 충돌 반송 재시도",
+ "postReviewFix": "검토 후 수정",
+ "postReviewFixTitle": "검토 후 개선 재시도",
+ "recovery": "복구 재시도",
+ "recoveryTitle": "일시적 실행기 복구 재시도",
+ "reviewerContext": "검토자 컨텍스트 재시도",
+ "reviewerContextTitle": "FN-4082 컴팩트 검토자 재시도",
+ "reviewerFallback": "검토자 폴백 재시도",
+ "reviewerFallbackTitle": "FN-4092 폴백 모델 재시도",
+ "stuckKill": "멈춤 강제 종료",
+ "stuckKillTitle": "멈춘 작업 감지기의 에이전트 강제 종료 재시도",
+ "taskDone": "task_done 재시도",
+ "taskDoneTitle": "에이전트가 task_done 없이 종료되어 작업이 재시도됨",
+ "verification": "검증 반송",
+ "verificationTitle": "검증 실패 반송 재시도",
+ "workflowStep": "워크플로 재시도",
+ "workflowStepTitle": "워크플로 단계 실패 재시도"
+ },
+ "retriesLabel": "재시도 (복구 / 워크플로 / 병합 / task_done)",
+ "retry": {
+ "btn": "재시도",
+ "retried": "{{id}} 재시도됨"
+ },
+ "runtimeLinks": "런타임 링크",
+ "runtimeStatus": "런타임 상태",
+ "selfHealCounters": "자가 복구 카운터",
+ "selfHealValues": "멈춤 강제 종료: {{stuckKills}}, 검토 후 수정: {{postReviewFixes}}",
+ "sourceIssue": {
+ "collapse": "소스 이슈 세부 정보 접기",
+ "expand": "소스 이슈 세부 정보 펼치기",
+ "githubAriaLabel": "GitHub 소스 이슈",
+ "githubBadge": "GitHub",
+ "identifier": "이슈 식별자",
+ "label": "소스 이슈",
+ "none": "(없음)",
+ "provider": "제공자",
+ "repository": "저장소",
+ "url": "URL"
+ },
+ "spec": {
+ "aiReviseHeading": "AI에 수정 요청",
+ "aiReviseHelp": "AI가 이 명세를 개선할 수 있도록 피드백을 제공하세요. 작업이 재계획을 위해 계획 단계로 이동합니다.",
+ "editBtn": "편집",
+ "feedbackPlaceholder": "예: '오류 처리에 대한 세부 정보 추가', '더 작은 단계로 분할', 'API 엔드포인트 테스트 포함'...",
+ "hintCancel": "취소",
+ "hintSave": "저장",
+ "loading": "명세 로드 중…",
+ "noPrompt": "(프롬프트 없음)",
+ "placeholder": "Markdown으로 작업 명세를 입력하세요...",
+ "requestRevisionBtn": "AI 수정 요청",
+ "requesting": "요청 중…",
+ "revisionColumnError": "수정 요청 불가: 작업이 'triage', 'todo', 'in-progress' 또는 'in-review' 컬럼에 있어야 합니다.",
+ "revisionRequested": "AI 수정 요청됨. 작업이 계획 단계로 이동되었습니다.",
+ "saving": "저장 중…",
+ "updated": "명세 업데이트됨"
+ },
+ "stall": {
+ "noLogEntry": "아직 로그 항목 없음",
+ "noLogEntryTitle": "이 작업에 '검토 중 지연 감지됨' 항목이 아직 없습니다 — 자가 복구가 속도 제한 창 내에 기록하지 않았을 수 있습니다.",
+ "observed": "관측됨",
+ "threshold": "임계값",
+ "viewActivityLog": "활동 로그 보기"
+ },
+ "stepProgress": "단계 진행 상태",
+ "summary": {
+ "heading": "요약"
+ },
+ "tabs": {
+ "changes": "변경 사항",
+ "comments": "댓글",
+ "definition": "정의",
+ "documents": "문서",
+ "logs": "로그",
+ "model": "모델",
+ "pullRequest": "풀 리퀘스트",
+ "review": "검토",
+ "routing": "라우팅",
+ "stats": "통계",
+ "workflow": "워크플로"
+ },
+ "timedDuration": "타이밍 기간",
+ "timestamps": {
+ "ariaLabel": "작업 타임스탬프",
+ "created": "생성됨",
+ "updated": "업데이트됨"
+ },
+ "timingEvents": "타이밍 이벤트",
+ "tokenTotalsAria": "작업 토큰 합계",
+ "tokenUsage": "토큰 사용량",
+ "totalExecutionTime": "총 실행 시간",
+ "totalTokens": "합계",
+ "updateFailed": "{{id}} 업데이트 실패: {{error}}",
+ "updateSuccess": "{{id}} 업데이트됨",
+ "wallClockSinceFirst": "첫 번째 실행 이후 경과 시간",
+ "workflow": {
+ "loadFailed": "워크플로 결과 로드 실패: {{error}}",
+ "stepsUpdateFailed": "워크플로 단계 업데이트 실패: {{error}}",
+ "stepsUpdated": "워크플로 단계 업데이트됨"
+ },
+ "workflowRuntime": "워크플로 런타임",
+ "workflowTimedSteps": "워크플로 시간 측정 단계",
+ "yes": "예"
+ },
+ "taskDocuments": {
+ "cancel": "취소",
+ "collapse": "접기",
+ "contentLabel": "내용",
+ "contentPlaceholder": "문서 내용을 입력하세요…",
+ "contentRequired": "내용을 입력해 주세요",
+ "create": "만들기",
+ "created": "문서가 생성되었습니다",
+ "creating": "생성 중…",
+ "deleteConfirm": "삭제하시겠습니까?",
+ "deleted": "문서가 삭제되었습니다",
+ "edit": "편집",
+ "expand": "펼치기",
+ "failedToCreate": "문서 생성에 실패했습니다",
+ "failedToDelete": "문서 삭제에 실패했습니다",
+ "failedToLoad": "문서 불러오기에 실패했습니다",
+ "failedToLoadRevisions": "개정 이력 불러오기에 실패했습니다",
+ "failedToSave": "문서 저장에 실패했습니다",
+ "heading": "문서",
+ "history": "이력",
+ "invalidKeyFormat": "키 형식이 올바르지 않습니다. 1~64자의 영숫자, 하이픈 또는 밑줄을 사용하세요.",
+ "keyHint": "영숫자, 하이픈, 밑줄 (1~64자)",
+ "keyLabel": "키",
+ "keyPlaceholder": "예: plan, notes, research",
+ "keyRequired": "문서 키를 입력해 주세요",
+ "loading": "문서 불러오는 중…",
+ "loadingRevisions": "불러오는 중…",
+ "modeMarkdown": "Markdown",
+ "modePlain": "일반 텍스트",
+ "newDocumentButton": "새 문서",
+ "newDocumentTitle": "새 문서",
+ "no": "아니요",
+ "noDocuments": "문서가 없습니다.",
+ "noPreviousRevisions": "이전 개정 이력이 없습니다.",
+ "revisionHistory": "개정 이력",
+ "save": "저장",
+ "saved": "문서가 저장되었습니다",
+ "saving": "저장 중…",
+ "switchToMarkdown": "Markdown으로 전환",
+ "switchToPlainText": "일반 텍스트로 전환",
+ "yes": "예"
+ },
+ "taskForm": {
+ "addDependencies": "의존성 추가",
+ "attachHint": "이미지를 붙여넣거나 끌어다 놓을 수도 있습니다",
+ "attachScreenshot": "스크린샷 첨부",
+ "attachmentsLabel": "첨부 파일",
+ "autoMergeDefault": "기본값 (프로젝트 설정 따르기)",
+ "autoMergeDisabled": "비활성화됨",
+ "autoMergeEnabled": "활성화됨",
+ "autoMergeHint": "기본값은 프로젝트 자동 병합 설정을 따릅니다.",
+ "autoMergeLabel": "자동 병합",
+ "autoSaveSaved": "저장됨",
+ "autoSaveSaving": "저장 중...",
+ "baseBranchCustom": "직접 입력…",
+ "baseBranchDefault": "(기본값 / 프로젝트 브랜치)",
+ "baseBranchLabel": "병합 대상 / 베이스 브랜치",
+ "baseBranchPlaceholder": "예: main",
+ "branchModeAutoNew": "작업별 자동 브랜치 생성",
+ "branchModeCustomNew": "새 브랜치 직접 생성",
+ "branchModeExisting": "기존 브랜치 사용",
+ "branchModeProjectDefault": "프로젝트/기본 브랜치 사용",
+ "branchModeSharedGroup": "공유 피처 브랜치에 병합",
+ "branchNameLabel": "브랜치 이름",
+ "branchPlaceholder": "예: feature/my-task",
+ "branchSettingsLabel": "브랜치 설정",
+ "branchStrategyLabel": "브랜치 전략",
+ "collapseDescription": "설명 접기",
+ "dependenciesLabel": "의존성",
+ "dependenciesSelected": "{{count}}개 선택됨",
+ "descriptionLabel": "설명",
+ "descriptionPlaceholder": "무엇을 해야 하나요?",
+ "descriptionRefinedToast": "AI로 설명이 다듬어졌습니다",
+ "editingDescription": "설명 편집 중",
+ "enterDescriptionFirst": "먼저 설명을 입력해 주세요",
+ "executionModeFast": "빠름",
+ "executionModeLabel": "실행 모드",
+ "executionModeStandard": "표준",
+ "executionOrderLabel": "실행 순서:",
+ "executorLabel": "실행기",
+ "executorModelLabel": "실행기 모델",
+ "expandDescription": "설명 펼치기",
+ "githubRepoFormatError": "저장소는 owner/repo 형식이어야 합니다.",
+ "githubRepoLabel": "저장소 (owner/repo)",
+ "githubTrackingEnable": "이 작업에 GitHub 이슈 추적 사용",
+ "githubTrackingLabel": "GitHub 추적",
+ "loadingModels": "모델 불러오는 중…",
+ "modelConfigLabel": "모델 설정",
+ "moreOptions": "추가 옵션",
+ "moveDown": "아래로 이동",
+ "moveUp": "위로 이동",
+ "noAvailableTasks": "사용 가능한 작업이 없습니다",
+ "noModelsAvailable": "사용 가능한 모델이 없습니다. 설정에서 인증을 구성해 주세요.",
+ "nodeDefaultOption": "프로젝트 기본값 / 로컬 사용",
+ "nodeOverrideHint": "작업 재정의는 프로젝트 기본 노드 라우팅보다 우선합니다.",
+ "nodeOverrideLabel": "실행 노드 재정의",
+ "nodeStatusConnecting": "연결 중",
+ "nodeStatusError": "오류",
+ "nodeStatusOffline": "오프라인",
+ "nodeStatusOnline": "온라인",
+ "overridePreset": "재정의",
+ "phasePostMerge": "병합 후",
+ "phasePreMerge": "병합 전",
+ "planButton": "계획",
+ "planningLabel": "계획 수립",
+ "planningModelLabel": "계획 모델",
+ "presetCustom": "사용자 정의",
+ "presetLabel": "프리셋",
+ "presetUseDefault": "기본값 사용",
+ "priorityLabel": "우선순위",
+ "priority_high": "높음",
+ "priority_low": "낮음",
+ "priority_normal": "보통",
+ "priority_urgent": "긴급",
+ "refineAddDetailsDesc": "구현 세부 사항과 맥락 추가",
+ "refineAddDetailsTitle": "세부 사항 추가",
+ "refineButton": "다듬기",
+ "refineClarifyDesc": "설명을 더 명확하고 구체적으로 수정",
+ "refineClarifyTitle": "명확히 하기",
+ "refineExpandDesc": "더 포괄적인 설명으로 확장",
+ "refineExpandTitle": "확장",
+ "refineInProgress": "다듬는 중...",
+ "refineSimplifyDesc": "더 간결하게 단순화",
+ "refineSimplifyTitle": "단순화",
+ "refineTitle": "AI로 설명 다듬기",
+ "removeImage": "이미지 제거",
+ "removeStep": "제거",
+ "reviewDefault": "기본값 (자동 — 트리아지가 결정)",
+ "reviewLabel": "검토",
+ "reviewLevel0": "0 — 없음",
+ "reviewLevel1": "1 — 계획만",
+ "reviewLevel2": "2 — 계획 및 코드",
+ "reviewLevel3": "3 — 전체",
+ "reviewerLabel": "검토자",
+ "reviewerModelLabel": "검토자 모델",
+ "searchTasksPlaceholder": "작업 검색…",
+ "sharedBranchPlaceholder": "예: clionboarding",
+ "sharedFeatureBranchLabel": "공유 피처 브랜치",
+ "subtaskButton": "하위 작업",
+ "thinkingDefault": "기본값 ({{level}})",
+ "thinkingHigh": "높음",
+ "thinkingLabel": "사고",
+ "thinkingLow": "낮음",
+ "thinkingMedium": "중간",
+ "thinkingMinimal": "최소",
+ "thinkingOff": "끔",
+ "titleLabel": "제목",
+ "titlePlaceholder": "작업 제목",
+ "useDropdown": "드롭다운 사용",
+ "usingPreset": "프리셋 사용 중: {{name}}",
+ "workflowStepsDescription": "작업 구현 완료 후 실행할 단계 선택",
+ "workflowStepsLabel": "워크플로우 단계",
+ "workingBranchLabel": "작업 브랜치"
+ },
+ "taskHandlers": {
+ "githubImported": "GitHub에서 {{id}}를 가져왔습니다"
+ },
+ "taskReview": {
+ "autoMergeOff": "자동 병합 끔",
+ "autoMergeOn": "자동 병합 켬",
+ "autoMergePreferenceUpdated": "작업별 자동 병합 기본 설정이 업데이트되었습니다",
+ "completed": "완료됨",
+ "completedAtSep": " · 완료: {{timestamp}}",
+ "createPr": "PR 생성",
+ "effective": "적용: {{label}}",
+ "effectiveFrozen": "적용: {{label}} — 검토 진입 시 고정됨",
+ "error": "오류",
+ "errorSep": " · 오류: {{message}}",
+ "followDefault": "기본값 따르기",
+ "lastRefreshed": "마지막 갱신",
+ "loadError": "검토 데이터를 불러오지 못했습니다.",
+ "loadingData": "검토 데이터 불러오는 중…",
+ "markdown": "Markdown",
+ "never": "없음",
+ "noCapturedFeedback": "아직 캡처된 검토 피드백이 없습니다.",
+ "noFeedbackDirect": "아직 검토자 피드백이 없습니다 — 이 작업은 직접 모드에서 검토자 에이전트 피드백을 생성하지 않았습니다.",
+ "noReviewItems": "아직 검토 항목이 없습니다.",
+ "perTaskAutoMerge": "작업별 자동 병합",
+ "plain": "일반 텍스트",
+ "prSummaryLine": "{{decision}} · {{count}}개의 검토 항목",
+ "queueing": "대기열에 추가 중…",
+ "refresh": "새로 고침",
+ "refreshDataFailed": "검토 데이터 새로 고침에 실패했습니다.",
+ "refreshFailed": "새로 고침 실패",
+ "refreshSourceBackground": "백그라운드",
+ "refreshSourceInitialLoad": "초기 로드",
+ "refreshSourceManual": "수동",
+ "refreshStatusLine": "{{status}} · 마지막 갱신: {{timestamp}} · {{source}}",
+ "refreshed": "검토가 새로 고침되었습니다",
+ "refreshing": "새로 고침 중…",
+ "requestRevision": "재검토 요청",
+ "reviewerSummaryLine": "{{reviewer}} · {{count}}개의 검토 항목",
+ "revisionQueueFailed": "개정 대기열 추가에 실패했습니다",
+ "revisionStarted": "선택한 검토 피드백을 기반으로 동일 작업 AI 개정이 시작되었습니다",
+ "selected": "선택됨",
+ "selectedAt": "선택됨: {{timestamp}}",
+ "showMarkdown": "서식 있는 Markdown 표시",
+ "showRawText": "원시 텍스트 표시",
+ "started": "시작됨",
+ "startedAtSep": " · 시작: {{timestamp}}",
+ "upToDate": "최신 상태",
+ "updateFailed": "{{taskId}} 업데이트에 실패했습니다: {{error}}"
+ },
+ "tasks": {
+ "addTaskPlaceholder": "작업 추가...",
+ "agent": "에이전트",
+ "agentLabel": "에이전트",
+ "archive": "보관",
+ "archiveFailed": "{{taskId}} 보관에 실패했습니다: {{error}}",
+ "archiveLineageConflict": "{{taskId}}에는 소스 부모로 참조하는 계보 자식({{children}})이 있습니다.\n\n이 참조를 먼저 해제하고 보관하시겠습니까?",
+ "archiveTask": "작업 보관",
+ "archived": "{{taskId}}을(를) 보관했습니다",
+ "archivedUnlinked": "계보 참조 해제 후 {{taskId}}을(를) 보관했습니다",
+ "assignedTo": "{{name}}에게 할당됨",
+ "attach": "첨부",
+ "attachCount": "첨부 ({{count}})",
+ "attachFileFailed": "{{fileName}} 첨부에 실패했습니다: {{error}}",
+ "attachedFile": "{{taskId}}에 {{fileName}}을(를) 첨부했습니다",
+ "awaitingApproval": "승인 대기 중",
+ "baseBranch": "베이스",
+ "blockedByTooltip": "{{taskId}}에 의해 차단됨 (파일 충돌)",
+ "branch": "브랜치",
+ "branchMetadata": "브랜치 메타데이터",
+ "cancelMove": "이동 취소",
+ "clearSelection": "선택 해제",
+ "closeIssue": "이슈 닫기",
+ "collapse": "접기",
+ "createFailed": "작업 생성에 실패했습니다",
+ "createPr": "PR 생성",
+ "createPrAriaLabel": "풀 리퀘스트 생성",
+ "createPrTitle": "이 작업에 대한 PR 생성",
+ "createTaskTitle": "작업 생성",
+ "createdByAgent": "에이전트가 생성함",
+ "createdByAgentNamed": "에이전트가 생성함: {{name}}",
+ "createdPr": "PR #{{number}} 생성됨",
+ "creating": "생성 중...",
+ "decisionOnly": "의사결정만",
+ "decisionOnlyTitle": "의사결정 전용 작업",
+ "deleteConfirm": "{{taskId}}을(를) 삭제하시겠습니까?",
+ "deleteFailed": "{{taskId}} 삭제에 실패했습니다: {{error}}",
+ "deleteIssue": "이슈 삭제",
+ "deleteLinkedIssueMessage": "GitHub의 {{issueLabel}}을(를) 삭제하거나 그대로 두시겠습니까?",
+ "deleteLinkedIssueTitle": "연결된 GitHub 이슈 삭제",
+ "deleteTask": "작업 삭제",
+ "deleteTitle": "작업 삭제",
+ "deleted": "{{taskId}}{{suffix}}을(를) 삭제했습니다",
+ "deletedRemovedDeps": "의존성 참조 제거 후 {{taskId}}을(를) 삭제했습니다",
+ "deletedUnlinked": "계보 참조 해제 후 {{taskId}}을(를) 삭제했습니다",
+ "dependencyConflict": "{{taskId}}은(는) {{dependentList}}의 의존성입니다.\n\n이 의존성 참조를 먼저 제거하고 삭제하시겠습니까?",
+ "deps": "의존성",
+ "depsCount": "의존성 {{count}}개",
+ "descriptionPlaceholder": "작업 설명",
+ "descriptionRefined": "AI로 설명이 다듬어졌습니다",
+ "doneNoMerge": "완료 (병합 없음)",
+ "duplicateCheckFailed": "중복 확인에 실패했습니다. 작업을 그대로 생성합니다.",
+ "duplicateDismissed": "{{taskId}}을(를) 유지했습니다. 중복 경고가 해제되었습니다",
+ "duplicateOf": "{{id}}의 중복",
+ "editTask": "작업 편집",
+ "enterDescriptionFirst": "먼저 설명을 입력해 주세요",
+ "executionTime": "실행 시간 {{elapsed}}",
+ "executionTimeCompleted": "실행 시간 {{elapsed}}. {{completedAt}}에 완료됨",
+ "executionTimeMergePhase": "실행 시간 {{elapsed}}. 병합 단계 {{merge}}",
+ "executionTimeMerging": "실행 시간 {{elapsed}}. 병합 중",
+ "executorModel": "실행기 모델",
+ "expand": "펼치기",
+ "fanoutBlocks": "차단",
+ "fanoutBottleneck": "중복 병목",
+ "fanoutEscalated": "에스컬레이션된 중복",
+ "fanoutEscalationSuffix": " · 차단 열에서 {{minutes}}분 후 에스컬레이션됨",
+ "fanoutHighFanoutSuffix": " (중복 병목 임계값: {{threshold}})",
+ "fanoutStale": "{{count}}개 오래됨",
+ "fanoutTooltip": "{{count}}개의 활성 작업 차단 중; 중복 차단 대기열: {{queueCount}}개 할 일{{highFanout}}{{escalation}}",
+ "fast": "빠름",
+ "fastMode": "빠른 모드",
+ "filesChanged": "{{count}}개 파일 변경됨",
+ "forceDeleteTitle": "작업 강제 삭제",
+ "githubTrackingDefaultOff": "끔",
+ "githubTrackingDefaultOn": "켬",
+ "githubTrackingDisabled": "이 프로젝트에서 GitHub 추적이 비활성화되어 있습니다 — 작업별 추적을 사용하려면 설정에서 활성화하세요",
+ "githubTrackingOff": "다음 작업에 GitHub 추적 끔",
+ "githubTrackingOn": "다음 작업에 GitHub 추적 켬 (프로젝트 기본값: {{default}})",
+ "groupBranch": "그룹",
+ "hideSteps": "단계 숨기기",
+ "importedFromGitHub": "GitHub에서 가져옴",
+ "importedFromGitHubUrl": "GitHub에서 가져옴: {{url}}",
+ "inProgressTime": "진행 중 {{elapsed}}",
+ "issueClosed": "닫힘",
+ "issueDeleted": "삭제됨",
+ "issueLeft": "그대로 둠",
+ "keep": "유지",
+ "keepFailed": "{{taskId}} 유지에 실패했습니다: {{error}}",
+ "keepProgress": "진행 상황 유지",
+ "keepTaskTitle": "이 작업을 유지하고 중복 경고 해제",
+ "leaveUnchanged": "그대로 두기",
+ "lineageConflict": "{{taskId}}에는 소스 부모로 참조하는 계보 자식({{children}})이 있습니다.\n\n이 참조를 먼저 해제하고 삭제하시겠습니까?",
+ "linkedIssueChipAriaLabel": "연결된 GitHub 이슈 #{{number}}",
+ "linkedIssueChipTitle": "연결된 GitHub 이슈: {{owner}}/{{repo}}#{{number}}",
+ "linkedIssueMessage": "{{taskId}}을(를) 삭제할 때 {{issueLabel}}을(를) 어떻게 처리하시겠습니까?\n\n이슈를 닫으시겠습니까?",
+ "linkedIssueTitle": "연결된 GitHub 이슈",
+ "loadAgentsFailed": "에이전트 불러오기에 실패했습니다: {{msg}}",
+ "loadAgentsFailedGeneric": "에이전트 불러오기에 실패했습니다",
+ "loadDependencyFailed": "의존성 {{depId}} 불러오기에 실패했습니다",
+ "loadModelsFailed": "모델 불러오기에 실패했습니다",
+ "loadingAgents": "에이전트 불러오는 중...",
+ "missionBadgeTitle": "미션: {{name}}",
+ "modelExecutor": "실행기",
+ "modelPlan": "계획",
+ "modelReviewer": "검토자",
+ "models": "모델",
+ "modelsCount": "모델 {{count}}개",
+ "moreOptions": "추가 옵션",
+ "move": "이동",
+ "moveFailed": "{{taskId}} 이동에 실패했습니다: {{error}}",
+ "moveTask": "작업 이동",
+ "moved": "{{taskId}}을(를) {{column}}으로 이동했습니다",
+ "nearDuplicateTitle": "{{id}}의 잠재적 유사 중복",
+ "noAgentsAvailable": "사용 가능한 에이전트가 없습니다",
+ "noExistingTasks": "기존 작업이 없습니다",
+ "node": "노드",
+ "openRetryBreakdown": "재시도 내역 열기",
+ "paused": "일시 중지됨",
+ "pausedByAgent": "에이전트에 의해 일시 중지됨",
+ "plan": "계획",
+ "planButtonTitle": "현재 설명으로 계획 모드 열기",
+ "planModel": "계획 모델",
+ "prBadgeTitle": "PR #{{number}}: {{title}}",
+ "preserveProgressMessage": "이 작업에는 완료된 단계가 있습니다. 이동하기 전에 진행 상황을 유지하시겠습니까?",
+ "preserveProgressTitle": "진행 상황을 유지하시겠습니까?",
+ "projectDefaultLocal": "프로젝트 기본값 / 로컬",
+ "queued": "대기 중",
+ "quickEntryHint": "Enter로 생성 · Esc로 취소",
+ "refine": "다듬기",
+ "refineAddDetails": "세부 사항 추가",
+ "refineAddDetailsDesc": "구현 세부 사항과 맥락 추가",
+ "refineButtonTitle": "AI로 설명 다듬기",
+ "refineClarify": "명확히 하기",
+ "refineClarifyDesc": "설명을 더 명확하고 구체적으로 수정",
+ "refineExpand": "확장",
+ "refineExpandDesc": "더 포괄적인 설명으로 확장",
+ "refineSimplify": "단순화",
+ "refineSimplifyDesc": "더 간결하게 단순화",
+ "refining": "다듬는 중...",
+ "removeImage": "이미지 제거",
+ "resetProgress": "진행 상황 초기화",
+ "resetProgressMessage": "이 작업을 이동하기 전에 모든 단계 진행 상황을 초기화하시겠습니까?",
+ "resetProgressTitle": "진행 상황을 초기화하시겠습니까?",
+ "retriesAriaLabel": "재시도 {{count}}회",
+ "retry": "재시도",
+ "retryFailed": "{{taskId}} 재시도에 실패했습니다: {{error}}",
+ "retrying": "재시도 중…",
+ "reviewerModel": "검토자 모델",
+ "save": "저장",
+ "saving": "저장 중...",
+ "searchTasksPlaceholder": "작업 검색…",
+ "selectAgent": "에이전트 선택",
+ "selectExecutionNode": "실행 노드 선택",
+ "selectPriority": "우선순위 선택",
+ "sendBack": "되돌리기",
+ "sharedBranch": "공유",
+ "showSteps": "단계 표시",
+ "stalled": "중단됨",
+ "statusMergingFix": "수정 사항 병합 중…",
+ "stepCount": "{{count}}개 단계",
+ "stuck": "막힘",
+ "subtask": "하위 작업",
+ "subtaskButtonTitle": "AI 생성 하위 작업으로 분해",
+ "toggleFastMode": "빠른 실행 모드 전환",
+ "unarchive": "보관 해제",
+ "unarchiveFailed": "{{taskId}} 보관 해제에 실패했습니다: {{error}}",
+ "unarchiveTask": "작업 보관 해제",
+ "unarchived": "{{taskId}}의 보관을 해제했습니다",
+ "updateFailed": "{{taskId}} 업데이트에 실패했습니다: {{error}}",
+ "updated": "{{taskId}}이(가) 업데이트되었습니다",
+ "uploadFailed": "업로드에 실패했습니다: {{files}}",
+ "usingDefault": "기본값 사용 중",
+ "viewDependency": "클릭하여 {{depId}} 보기",
+ "workflow": "워크플로우",
+ "workflowCheck": "워크플로우 확인"
+ },
+ "terminal": {
+ "clear": "지우기",
+ "clearTerminal": "터미널 지우기",
+ "closeTab": "탭 닫기",
+ "closeTerminal": "터미널 닫기",
+ "decreaseFontSize": "터미널 글꼴 크기 줄이기",
+ "exitLabel": "종료: {{code}}",
+ "failedToStartTerminal": "터미널 시작에 실패했습니다: {{error}}",
+ "helpText": "Ctrl++/- 확대/축소 • ⌨ 단축키 패널 • Esc 닫기",
+ "increaseFontSize": "터미널 글꼴 크기 늘리기",
+ "initializeError": "터미널 UI 초기화에 실패했습니다: {{error}}",
+ "newSession": "새 세션",
+ "newTerminal": "새 터미널",
+ "reconnect": "재연결",
+ "refreshPage": "페이지 새로 고침",
+ "reinitialize": "다시 초기화",
+ "shortcuts": "단축키",
+ "startingTerminal": "터미널 시작 중...",
+ "statusConnected": "연결됨",
+ "statusConnecting": "연결 중...",
+ "statusDisconnected": "연결 끊김",
+ "statusReconnecting": "재연결 중..."
+ },
+ "theme": {
+ "colorTheme": {
+ "default": "기본값"
+ },
+ "colorThemeLabel": "색상 테마",
+ "currentTheme": "현재 테마",
+ "dark": "어두움",
+ "darkMode": "다크 모드",
+ "fontSize": {
+ "Default": "기본값",
+ "Large": "크게",
+ "Largest": "가장 크게",
+ "Small": "작게"
+ },
+ "fontSizeLabel": "대시보드 글꼴 크기",
+ "light": "밝음",
+ "lightMode": "라이트 모드",
+ "modeLabel": "테마 모드",
+ "resetButton": "기본값으로 재설정",
+ "resetLabel": "기본 테마로 초기화",
+ "system": "시스템",
+ "systemMode": "시스템 모드"
+ },
+ "time": {
+ "daysAgo": "{{n}}일 전",
+ "hoursAgo": "{{n}}시간 전",
+ "inAMoment": "잠시 후",
+ "inDays": "{{n}}일 후",
+ "inHours": "{{n}}시간 후",
+ "inMinutes": "{{n}}분 후",
+ "justNow": "방금",
+ "minutesAgo": "{{n}}분 전"
+ },
+ "todo": {
+ "addItemPlaceholder": "할 일 항목 추가",
+ "addList": "목록 추가",
+ "assignAgent": "{{text}}을(를) 에이전트에 할당",
+ "cancelItemEdit": "항목 편집 취소",
+ "cancelList": "목록 취소",
+ "cancelListRename": "목록 이름 바꾸기 취소",
+ "createList": "목록 만들기",
+ "createTaskFrom": "{{text}}에서 작업 만들기",
+ "deleteItem": "{{text}} 삭제",
+ "deleteList": "{{title}} 삭제",
+ "deleteListConfirm": "이 목록과 모든 항목을 삭제하시겠습니까?",
+ "deleteListTitle": "목록 삭제",
+ "editItem": "{{text}} 편집",
+ "failedCreateItem": "항목 생성 실패",
+ "failedCreateItemToast": "할 일 항목 생성에 실패했습니다",
+ "failedCreateList": "목록 생성 실패",
+ "failedCreateListToast": "할 일 목록 생성에 실패했습니다",
+ "failedDeleteItem": "항목 삭제 실패",
+ "failedDeleteItemToast": "할 일 항목 삭제에 실패했습니다",
+ "failedDeleteList": "목록 삭제 실패",
+ "failedDeleteListToast": "할 일 목록 삭제에 실패했습니다",
+ "failedRenameList": "목록 이름 바꾸기 실패",
+ "failedRenameListToast": "할 일 목록 이름 바꾸기에 실패했습니다",
+ "failedReorderItems": "항목 순서 변경 실패",
+ "failedReorderItemsToast": "할 일 항목 순서 변경에 실패했습니다",
+ "failedToCreateAndAssign": "작업 생성 및 할당 실패: {{error}}",
+ "failedToCreateTask": "작업 생성 실패: {{error}}",
+ "failedToLoadAgents": "에이전트 불러오기 실패: {{error}}",
+ "failedUpdateItem": "항목 업데이트 실패",
+ "failedUpdateItemToast": "할 일 항목 업데이트에 실패했습니다",
+ "itemsLabel": "할 일 항목",
+ "lists": "목록",
+ "listsLabel": "할 일 목록 사이드바",
+ "loading": "할 일 불러오는 중...",
+ "loadingAgents": "에이전트 불러오는 중...",
+ "manageDescription": "프로젝트에서 재사용 가능한 할 일 목록을 관리합니다.",
+ "moveItemDown": "{{text}} 아래로 이동",
+ "moveItemUp": "{{text}} 위로 이동",
+ "newListTitle": "새 목록 제목",
+ "noAgentsAvailable": "사용 가능한 에이전트 없음",
+ "noItemsEmpty": "이 목록에 항목이 없습니다. 위에서 추가하세요.",
+ "noListsEmpty": "할 일 목록이 없습니다. 목록을 만들어 시작하세요.",
+ "renameList": "{{title}} 이름 바꾸기",
+ "saveItemEdit": "항목 편집 저장",
+ "saveList": "목록 저장",
+ "saveListRename": "목록 이름 바꾸기 저장",
+ "selectList": "{{title}} 목록 선택",
+ "selectListEmpty": "사이드바에서 목록을 선택하세요",
+ "startPlanning": "{{text}}에서 계획 시작",
+ "taskCreatedAndAssigned": "{{id}} 생성 후 {{agent}}에 할당됨",
+ "taskCreatedFromTodo": "할 일에서 {{id}} 생성됨",
+ "todoListsLabel": "할 일 목록",
+ "todos": "할 일"
+ },
+ "trackingRepoSelect": {
+ "customOption": "직접 입력…",
+ "loadingHint": "감지된 GitHub 원격 저장소 불러오는 중…"
+ },
+ "updateBanner": {
+ "dismissLabel": "업데이트 알림 닫기",
+ "learnMore": "자세히 보기",
+ "message": "업데이트 가능: v{{latestVersion}} (현재: v{{currentVersion}}). 설치된 CLI는 fn update를 실행하거나, 소스 체크아웃을 pull하세요.",
+ "releaseNotes": "릴리스 노트"
+ },
+ "usage": {
+ "configureAuthHint": "사용량 데이터를 보려면 설정에서 인증을 구성하세요.",
+ "failedToLoad": "사용량 데이터 불러오기 실패",
+ "hideWindow": "{{label}} 숨기기",
+ "lastUpdated": "마지막 업데이트: {{time}}",
+ "moveProviderDown": "{{provider}} 아래로 이동",
+ "moveProviderUp": "{{provider}} 위로 이동",
+ "noDataAvailable": "사용량 데이터 없음",
+ "noProvidersConfigured": "AI 공급자가 구성되지 않았습니다",
+ "percentLeft": "{{percent}}% 남음",
+ "percentRemaining": "{{percent}}% 남음",
+ "percentUsed": "{{percent}}% 사용됨",
+ "reorderProvider": "{{provider}} 순서 변경",
+ "resetsInDays": "{{days}}일 후 초기화",
+ "resetsInDaysHours": "{{days}}일 {{hours}}시간 후 초기화",
+ "resetsInHours": "{{hours}}시간 후 초기화",
+ "resetsInMinutes": "{{mins}}분 후 초기화",
+ "showHidden": "숨김 항목 표시 ({{count}})",
+ "statusError": "오류",
+ "statusNotConfigured": "구성되지 않음",
+ "title": "사용량",
+ "viewModeLabel": "사용량 보기 모드",
+ "viewModeRemaining": "남은 양",
+ "viewModeUsed": "사용량"
+ },
+ "workflow": {
+ "add": "추가",
+ "addTemplate": "템플릿 추가",
+ "addWorkflowStep": "워크플로 단계 추가",
+ "adding": "추가 중...",
+ "advisoryExplanation": "권고 워크플로 단계에서 비차단 개선 사항이 감지되었습니다:",
+ "agentPromptLabel": "에이전트 프롬프트",
+ "agentPromptPlaceholder": "비워두면 AI 개선을 사용합니다",
+ "badgeAdvisory": "권고",
+ "badgeAiPrompt": "AI 프롬프트",
+ "badgeDefaultOn": "기본 켜짐",
+ "badgeDisabled": "비활성화됨",
+ "badgeEnabled": "활성화됨",
+ "badgeGate": "게이트",
+ "badgePostMerge": "병합 후",
+ "badgePreMerge": "병합 전",
+ "badgeScript": "스크립트",
+ "cancelDeleteAriaLabel": "삭제 취소",
+ "cancelDeleteTitle": "삭제 취소",
+ "clearModelOverrideTitle": "모델 재정의 초기화 (전역 기본값 사용)",
+ "configuredSteps": "구성된 워크플로 단계",
+ "confirmDeleteAriaLabel": "{{name}} 삭제 확인",
+ "confirmDeleteTitle": "삭제 확인",
+ "createChooserHint": "기본 제공 템플릿에서 시작하거나 완전히 맞춤화된 워크플로 단계를 만드세요.",
+ "createChooserTitle": "워크플로 단계를 어떻게 만드시겠습니까?",
+ "createCustomStep": "맞춤 워크플로 단계",
+ "defaultOnCheckbox": "새 작업의 기본 켜짐",
+ "deleteStepAriaLabel": "{{name}} 삭제",
+ "done": "완료",
+ "doneEditingAriaLabel": "워크플로 단계 편집 완료",
+ "edit": "편집",
+ "editAriaLabel": "워크플로 단계 편집",
+ "editStepAriaLabel": "{{name}} 편집",
+ "editStepTitle": "워크플로 단계 편집",
+ "emptySteps": "정의된 워크플로 단계가 없습니다. 새로 만들거나 템플릿 탭에서 추가하세요.",
+ "enabledCheckbox": "활성화됨 (새 작업에서 선택 가능)",
+ "errorAddTemplate": "템플릿에서 워크플로 단계 추가 실패",
+ "errorDeleteStep": "워크플로 단계 삭제 실패",
+ "errorLoadSteps": "워크플로 단계 불러오기 실패",
+ "errorLoadTemplates": "템플릿 불러오기 실패",
+ "errorNameDescRequired": "이름과 설명을 입력해야 합니다",
+ "errorNameDescRequiredRefine": "개선하기 전에 이름과 설명을 입력해야 합니다",
+ "errorRefinePrompt": "프롬프트 개선 실패",
+ "errorSaveStep": "워크플로 단계 저장 실패",
+ "errorTemplateAlreadyExists": "'{{name}}' 이름의 워크플로 단계가 이미 존재합니다",
+ "executionModeLabel": "실행 모드",
+ "executionOrder": "실행 순서:",
+ "executionPhaseLabel": "실행 단계",
+ "expandOutput": "출력 펼치기",
+ "failureBehaviorLabel": "실패 동작",
+ "formDescriptionLabel": "설명",
+ "formDescriptionPlaceholder": "이 단계가 하는 작업의 간략한 설명",
+ "formNameLabel": "이름",
+ "formNamePlaceholder": "예: 문서 검토",
+ "gateModeAdvisory": "권고",
+ "gateModeAdvisoryHint": "실패는 권고 사항으로 기록되며 병합을 차단하지 않습니다.",
+ "gateModeGate": "게이트",
+ "gateModeGateHint": "실패 시 병합을 차단하고 수정을 요청합니다.",
+ "hideOutput": "출력 숨기기",
+ "loadingBuiltInTemplates": "기본 제공 템플릿 불러오는 중...",
+ "loadingResults": "워크플로 결과 불러오는 중…",
+ "loadingTemplates": "템플릿 불러오는 중...",
+ "markdown": "Markdown",
+ "modalAriaLabel": "워크플로 단계",
+ "modalTitle": "워크플로 단계",
+ "modeAiPrompt": "AI 프롬프트",
+ "modeScript": "스크립트 실행",
+ "modelHintCustom": "{{provider}}/{{modelId}} 사용 중",
+ "modelHintDefault": "전역 기본 모델 사용 중",
+ "modelOverrideDropdownLabel": "이 워크플로 단계의 모델 재정의",
+ "modelOverrideLabel": "모델 재정의",
+ "modelOverridePlaceholder": "모델 재정의 선택…",
+ "moveDown": "아래로 이동",
+ "moveUp": "위로 이동",
+ "needsReview": "후속 검토가 필요합니다.",
+ "newStepTitle": "새 워크플로 단계",
+ "noBuiltInTemplates": "현재 사용 가능한 기본 제공 템플릿이 없습니다. 맞춤 단계를 만들 수 있습니다.",
+ "noScripts": "구성된 스크립트가 없습니다. 먼저 설정 → 스크립트에서 스크립트를 추가하세요.",
+ "noStepsConfigured": "이 작업에 구성된 워크플로 단계가 없습니다.",
+ "noTemplates": "사용 가능한 템플릿이 없습니다.",
+ "notes": "참고:",
+ "output": "출력:",
+ "phasePostMerge": "병합 후",
+ "phasePostMergeHint": "병합 성공 후 실행됩니다 — 실패는 기록되지만 차단하지 않습니다",
+ "phasePreMerge": "병합 전",
+ "phasePreMergeHint": "병합 전에 실행됩니다 — 실패 시 병합을 차단할 수 있습니다",
+ "plain": "일반 텍스트",
+ "polishNotes": "노트 다듬기",
+ "postMerge": "병합 후",
+ "preMerge": "병합 전",
+ "promptRefined": "AI로 프롬프트 개선됨",
+ "refineWithAi": "AI로 개선",
+ "refineWithAiAriaLabel": "AI로 프롬프트 개선",
+ "refineWithAiTitle": "AI로 개선",
+ "remove": "제거",
+ "scriptLabel": "스크립트",
+ "selectScript": "스크립트 선택…",
+ "selectStepsDescription": "작업 구현 완료 후 실행할 단계를 선택하세요",
+ "showOutput": "출력 표시",
+ "started": "시작됨:",
+ "statusAdvisory": "권고 실패",
+ "statusFailed": "실패",
+ "statusPassed": "통과",
+ "statusRunning": "실행 중…",
+ "statusSkipped": "건너뜀",
+ "stepCount": "{{count}}개 단계{{count_one::count_other:}}",
+ "stepCreated": "워크플로 단계 생성됨",
+ "stepDefinitionNotFound": "단계 정의를 찾을 수 없습니다.",
+ "stepDeleted": "워크플로 단계 삭제됨",
+ "stepUpdated": "워크플로 단계 업데이트됨",
+ "steps": "워크플로 단계",
+ "stepsExplanation": "병합 전 단계는 구현 후, 병합 전에 실행됩니다. 병합 후 단계는 병합 성공 후 실행됩니다.",
+ "summaryAdvisory": "{{count}}개 권고",
+ "summaryFailed": "{{count}}개 실패",
+ "summaryPassed": "{{count}}개 통과",
+ "summaryRunning": "{{count}}개 실행 중",
+ "summarySeparator": " · ",
+ "summarySkipped": "{{count}}개 건너뜀",
+ "switchToMarkdown": "Markdown으로 전환",
+ "switchToPlain": "일반 텍스트로 전환",
+ "tabMySteps": "내 워크플로 단계 ({{count}})",
+ "tabTemplates": "템플릿 ({{count}})",
+ "templateAdded": "{{name}} 워크플로 단계 추가됨",
+ "useDefault": "기본값 사용",
+ "waitingForOutput": "에이전트 출력 대기 중…"
+ },
+ "workspace": {
+ "projectRoot": "프로젝트 루트",
+ "selectWorkspace": "워크스페이스 선택",
+ "taskWorktrees": "작업 워크트리"
+ },
+ "worktree": {
+ "unassigned": "미할당",
+ "upNext": "다음 예정"
+ },
+ "worktrunk": {
+ "assetUrl": "Asset URL",
+ "installPath": "설치 경로",
+ "installRequestTitle": "Worktrunk 설치 요청",
+ "sha256": "SHA-256",
+ "version": "버전"
}
}
diff --git a/packages/i18n/locales/ko/cli.json b/packages/i18n/locales/ko/cli.json
index 6c38171a78..ca9f3bf866 100644
--- a/packages/i18n/locales/ko/cli.json
+++ b/packages/i18n/locales/ko/cli.json
@@ -1,9 +1,233 @@
{
"tui": {
+ "agentDeleteConfirmHints": "[y] 삭제 확인 [다른 키] 취소",
+ "agentDeleteConfirmId": "ID:",
+ "agentDeleteConfirmName": "에이전트:",
+ "agentDeleteConfirmTitle": "에이전트를 삭제하시겠습니까?",
+ "agentDeleted": "에이전트 {{name}} 삭제됨",
+ "agentDetailCaps": "권한:",
+ "agentDetailLoadError": "에이전트 상세 정보를 불러올 수 없습니다.",
+ "agentDetailRole": "역할:",
+ "agentDetailSelectHint": "목록에서 에이전트를 선택하세요.",
+ "agentDetailState": "상태:",
+ "agentDetailTask": "작업:",
+ "agentDetailTitle": "에이전트 상세",
+ "agentDetailTitle2": "제목:",
+ "agentNarrowDetail": "상세",
+ "agentNarrowList": "목록",
+ "agentOpenLogsHint": "[Enter] 로그 열기",
+ "agentRunHistory": "실행 기록 (최신 순):",
+ "agentRunId": "ID:",
+ "agentRunLogsBackHint": "[Esc/q] 실행 목록으로 돌아가기",
+ "agentRunLogsTitle": "실행 로그 ({{index}})",
+ "agentStarted": "에이전트 시작됨",
+ "agentStopped": "에이전트 중지됨",
+ "agentsFooterHints": "[s] 시작 [x] 중지 [D] 삭제 [r] 새로고침 [Tab] 포커스 ↑↓ 선택",
+ "agentsListTitle": "에이전트 ({{count}})",
+ "agentsNoAgents": "에이전트가 없습니다.",
+ "boardCreateTaskHints": "Enter로 생성 · Esc로 취소",
+ "boardCreateTaskNoProject": "선택된 프로젝트 없음",
+ "boardCreateTaskTitleEmpty": "제목을 입력해야 합니다",
+ "boardCreatingTask": "생성 중…",
+ "boardNewTaskPlaceholder": "무엇을 해야 하나요?",
+ "boardNewTaskProject": "프로젝트: {{name}}",
+ "boardNewTaskTitle": "새 작업",
+ "boardNewTaskTitleLabel": "제목",
+ "copiedSuccess": "✓ 복사됨!",
+ "copyFailed": "✗ 복사 실패",
+ "expandedLogHeader": "항목 {{index}}/{{total}} · [Enter/Esc] 닫기 · [c] 복사",
+ "expandedLogLevel": "레벨:",
+ "expandedLogPrefix": "접두사:",
+ "expandedLogTime": "시간:",
+ "filesBinary": "[바이너리 파일, {{size}}]",
+ "filesEmpty": "(비어 있음)",
+ "filesEmptyFile": "(빈 파일)",
+ "filesFooterHints": "[Tab] 창 전환 [↑↓/jk] 이동 [Enter] 열기 [←/→] 접기/펼치기 [.] 숨김 [w] 줄 바꿈 [p] 프로젝트 [r] 새로고침",
+ "filesMoreLines": "… {{count}}줄 더 있음",
+ "filesSelectProject": "프로젝트 선택",
+ "filesSelectToPreview": "미리볼 파일을 선택하세요",
+ "filesTooLarge": "{{size}} — [미리보기에 너무 큼]",
+ "filesUnableToRead": "파일을 읽을 수 없습니다",
+ "gitFetchFailed": "Fetch 실패: {{output}}",
+ "gitFetched": "Fetch 완료",
+ "gitFetching": "Fetch 중…",
+ "gitFooterHints": "[r] 새로고침 {{push}}[F] fetch [↑↓] 행 [←→] 상태▸브랜치{{worktrees}}▸커밋▸변경사항 [p] 프로젝트 [Esc/s] 뒤로",
+ "gitNoCommits": "커밋 없음",
+ "gitNoProject": "프로젝트 없음",
+ "gitPushDismissHint": "[Esc] 닫기",
+ "gitPushFailed": "Push 실패",
+ "gitPushModalAhead": "앞서 있음",
+ "gitPushModalBranch": "브랜치:",
+ "gitPushModalCommits": "Push할 커밋 (오래된 순→최신 순):",
+ "gitPushModalHints": "[Enter] push [Esc] 취소",
+ "gitPushModalTitle": "원격 저장소에 Push",
+ "gitPushSuccessful": "Push 성공",
+ "gitPushingToOrigin": "origin/{{branch}}에 Push 중",
+ "gitRefreshing": "새로고침 중",
+ "gitWorkingTreeClean": "작업 트리가 깨끗합니다",
+ "headerHelpQuitHint": "[?] 도움말 [q] 종료",
+ "headerTunnelQrHint": " [^Q] QR",
+ "headerTunnelRunning": "터널",
+ "headerTunnelStarting": "터널 시작 중…",
+ "helpShortcutAdjustNumber": "숫자 조정 (설정)",
+ "helpShortcutAdjustThreshold": "vitest 메모리 임계값 조정 (유틸리티)",
+ "helpShortcutAgents": "에이전트 보기",
+ "helpShortcutBoard": "보드 보기",
+ "helpShortcutClearLogs": "로그 지우기 (유틸리티)",
+ "helpShortcutCopyEntry": "선택한 로그 항목을 클립보드에 복사 (로그)",
+ "helpShortcutCopyToken": "인증 토큰을 클립보드에 복사 (시스템)",
+ "helpShortcutDeleteAgent": "에이전트 삭제 — 확인 필요 (에이전트)",
+ "helpShortcutExpandEntry": "로그 항목 펼치기 (로그)",
+ "helpShortcutExpandLog": "로그 펼치기 + 텍스트 선택을 위해 마우스 해제 (로그)",
+ "helpShortcutFiles": "파일 (로그 외 화면); 로그에서 로그 심각도 필터 순환",
+ "helpShortcutFirstLast": "첫 번째 / 마지막 로그 항목 (로그)",
+ "helpShortcutForceQuit": "강제 종료",
+ "helpShortcutGit": "Git 보기",
+ "helpShortcutHiddenFiles": "숨김 파일 토글 (파일)",
+ "helpShortcutJumpPanel": "패널로 이동 (메인: 시스템/로그/통계/유틸리티/설정)",
+ "helpShortcutKillVitest": "모든 vitest 프로세스 종료 (유틸리티)",
+ "helpShortcutMain": "메인 (상태 모드)",
+ "helpShortcutMouseToggle": "수동 마우스 모드 전환 (자동: 로그/파일/Git/보드는 켜짐, 그 외 꺼짐)",
+ "helpShortcutNavigate": "목록 / 로그 항목 탐색",
+ "helpShortcutNewTask": "새 작업 (보드)",
+ "helpShortcutNextPanel": "다음 패널 (메인; 로그에서 ↑/↓ 스크롤)",
+ "helpShortcutOpenUrl": "브라우저에서 대시보드 URL 열기 (시스템)",
+ "helpShortcutPrevPanel": "이전 패널 (메인; 로그에서 ↑/↓ 스크롤)",
+ "helpShortcutProjectPicker": "프로젝트 선택기 (보드, 파일)",
+ "helpShortcutPushFetch": "Push / fetch (Git)",
+ "helpShortcutQuit": "종료",
+ "helpShortcutRefreshStats": "통계 새로고침 (유틸리티)",
+ "helpShortcutSettings": "설정 보기",
+ "helpShortcutSwitchPane": "창 전환 (에이전트, 설정, 파일, Git)",
+ "helpShortcutTabBackward": "포커스된 패널/창 뒤로 순환",
+ "helpShortcutTabForward": "포커스된 패널/창 앞으로 순환",
+ "helpShortcutToggleAutoKill": "메모리 부족 시 vitest 자동 종료 토글 (유틸리티)",
+ "helpShortcutToggleBool": "불리언 토글 (설정)",
+ "helpShortcutToggleHelp": "도움말 토글",
+ "helpShortcutWordWrap": "줄 바꿈 토글 (로그 / 파일)",
+ "helpTitle": "키보드 단축키",
+ "interactiveModeUnavailable": "대화형 모드 사용 불가 — 데이터 소스 없음",
"loading": "불러오는 중…",
"loadingTasks": "작업을 불러오는 중…",
+ "logsPanelTitle": "로그",
+ "narrowModeIndicator": "[좁은 화면]",
+ "noEntriesMatchFilter": "필터 {{filter}}에 일치하는 항목이 없습니다.",
+ "noLogEntries": "로그 항목이 아직 없습니다.",
"noTasks": "이 프로젝트에 작업이 없습니다.",
+ "projectSelectorChangeHint": "[p] 변경",
+ "projectSelectorLabel": "프로젝트:",
+ "projectSelectorNavHints": "↑↓ 탐색 · Enter 선택 · Esc 취소",
+ "projectSelectorNoProjects": "(등록된 프로젝트 없음)",
+ "projectSelectorNone": "(없음)",
+ "projectSelectorPickTitle": "프로젝트 선택",
+ "qrCloseHint": "[Esc] 닫기",
+ "qrGenerating": "QR 생성 중…",
+ "qrNoTunnelRunning": "실행 중인 원격 터널이 없습니다. 설정(g)에서 시작하세요.",
+ "qrOverlayTitle": "원격 접속 — QR 스캔하여 연결",
+ "quit": "종료",
+ "readyIn": "{{secs}}초 후 준비",
+ "runLogNone": "이 실행에 캡처된 로그가 없습니다.",
+ "runLogResult": "결과:",
+ "runLogSource": "소스",
+ "runLogStderr": "stderr:",
+ "runLogStdout": "stdout:",
+ "runLogTrigger": "트리거",
+ "runStatusActive": "활성",
+ "runStatusCompleted": "완료됨",
+ "runStatusFailed": "실패",
+ "runStatusTerminated": "종료됨",
+ "runStatusUnknown": "알 수 없음",
+ "settingAutoMerge": "자동 병합",
+ "settingEnginePaused": "엔진 일시 정지",
+ "settingGlobalPause": "전역 일시 정지",
+ "settingMaxConcurrent": "최대 동시 실행",
+ "settingMaxWorktrees": "최대 워크트리",
+ "settingMergeStrategy": "병합 전략",
+ "settingPollIntervalMs": "폴링 간격 (ms)",
+ "settingRemoteActiveProvider": "원격 공급자",
+ "settingRemoteShortLivedEnabled": "단기 토큰",
+ "settingRemoteShortLivedTtlMs": "단기 TTL (ms)",
+ "settingsActivatedProvider": "활성화된 공급자: {{provider}}",
+ "settingsAdjust1": "[+/-] 1씩 조정",
+ "settingsAdjust5000ms": "[+/-] 5000ms씩 조정",
+ "settingsAvailableModelsHeader": "──── 사용 가능한 모델 ────",
+ "settingsBoolToggleHint": "[Space] 토글",
+ "settingsCancelledTokenInput": "단기 토큰 입력 취소됨",
+ "settingsConfigureModelInDashboard": "웹 대시보드에서 기본 모델 구성",
+ "settingsCurrentLabel": "현재:",
+ "settingsEditModelsTitle": "편집 / 모델",
+ "settingsEnterTtl": "TTL 밀리초를 입력하고 Enter를 누르세요",
+ "settingsEnumCycleHint": "[←/→] 옵션 순환:",
+ "settingsFooterHints": "[Tab] 패널 전환 ↑↓ 설정 선택 [Space] 불리언 토글 [+/-] 숫자 조정 [←/→] 열거형 순환 [C/V/X/P/L/U/K/R] 원격 작업",
+ "settingsInteractivePanelTitle": "설정",
+ "settingsLoadingSettings": "설정 불러오는 중…",
+ "settingsMoreModels": "… 및 {{count}}개 더",
+ "settingsPanelTitle": "설정",
+ "settingsPersistentTokenRegenerated": "영구 토큰이 재생성됨",
+ "settingsQrFetched": "QR 페이로드 가져옴",
+ "settingsRemoteActions1": "[C] 공급자 활성화 [V] 시작 [X] 중지 [P] 영구 토큰 [L] 단기 토큰",
+ "settingsRemoteActions2": "[U] URL 전달 [K] QR 전달 [R] 새로고침",
+ "settingsRemoteAuthUrl": "인증 URL:",
+ "settingsRemoteHeader": "──── 원격 ────",
+ "settingsRemoteOff": "꺼짐",
+ "settingsRemoteOn": "켜짐",
+ "settingsRemotePersistentToken": "영구 토큰:",
+ "settingsRemoteProvider": "공급자:",
+ "settingsRemoteProviderNone": "없음",
+ "settingsRemoteShortLived": "단기:",
+ "settingsRemoteShortLivedExpires": "단기 만료:",
+ "settingsRemoteState": "상태:",
+ "settingsRemoteStateUnknown": "알 수 없음",
+ "settingsRemoteStatusRefreshed": "원격 상태가 새로고침되었습니다",
+ "settingsRemoteToken": "토큰:",
+ "settingsRemoteTunnelUrl": "터널 URL:",
+ "settingsRemoteUrlFetched": "원격 URL을 가져왔습니다",
+ "settingsSaved": "저장됨",
+ "settingsSavingInProgress": "저장 중…",
+ "settingsSelectProviderFirst": "먼저 원격 제공자를 선택하세요",
+ "settingsShortLivedTokenGenerated": "단기 토큰이 생성되었습니다",
+ "settingsTtlHints": "[Enter] 생성 [Esc] 취소",
+ "settingsTtlLabel": "TTL ms:",
+ "settingsTtlMustBePositive": "TTL은 양수(ms)여야 합니다",
+ "settingsTunnelStarting": "원격 터널을 시작하는 중",
+ "settingsTunnelStopped": "원격 터널이 중지되었습니다",
+ "settingsUnavailable": "설정을 사용할 수 없습니다.",
+ "statsPanelTitle": "통계",
+ "statsUnavailable": "통계를 사용할 수 없습니다.",
+ "statusBarHelp": "Tab 패널 순환 · 1-5 이동",
+ "stepDurationDone": " ({{status}} — {{duration}})",
+ "stepDurationRunning": " (실행 중 — {{duration}})",
"switchProjectsHint": "[{{key}}] 키를 눌러 프로젝트를 전환합니다.",
- "quit": "종료"
+ "systemCopyTokenHint": "토큰 복사 · 토큰 텍스트를 직접 선택하여 복사",
+ "systemDragToSelect": "드래그하여 선택",
+ "systemInfoUnavailable": "시스템 정보를 사용할 수 없습니다.",
+ "systemOpenUrl": "URL 열기",
+ "systemPanelTitle": "시스템",
+ "tabAgents": "에이전트",
+ "tabBoard": "보드",
+ "tabFiles": "파일",
+ "tabGit": "Git",
+ "tabMain": "메인",
+ "tabSettings": "설정",
+ "taskCardUntitled": "(제목 없음)",
+ "taskDetailBack": "[Esc] 뒤로",
+ "taskDetailLoading": "작업 세부 정보를 불러오는 중…",
+ "taskDetailLogsLive": "[실시간]",
+ "taskDetailLogsPaused": "[일시 정지]",
+ "taskDetailLogsSectionHeader": "── 로그 ───────────────────────────────────────",
+ "taskDetailNoLogEntries": "(아직 로그 항목이 없습니다)",
+ "taskDetailNoSteps": "(아직 단계가 없습니다)",
+ "taskDetailScrollHints": "↑↓/j/k 스크롤 · PgUp/PgDn 반 페이지 · g 맨 위 · G 맨 아래 · Esc 뒤로",
+ "taskDetailStepsSectionHeader": "── 단계 ──────────────────────────────────────",
+ "taskDetailUnavailable": "작업을 더 이상 사용할 수 없습니다 — Esc로 돌아가기",
+ "updateAvailable": "업데이트 가능: v{{currentVersion}} → v{{latestVersion}}. 설치된 CLI는 `fn update`를 실행하거나, 소스 체크아웃을 pull하세요.",
+ "utilitiesAdjustThreshold": "임계값 조정 ({{pct}}%)",
+ "utilitiesAutoKillVitest": "Vitest 자동 종료 >{{pct}}% 메모리: {{state}}",
+ "utilitiesClearLogs": "로그 지우기",
+ "utilitiesHelp": "도움말",
+ "utilitiesKillVitest": "Vitest 프로세스 종료",
+ "utilitiesPanelTitle": "유틸리티",
+ "utilitiesRefreshStats": "통계 새로고침",
+ "utilitiesToggleEnginePause": "엔진 일시 정지 전환"
}
}
diff --git a/packages/i18n/locales/ko/common.json b/packages/i18n/locales/ko/common.json
index 2f7cbbab9e..657ad48816 100644
--- a/packages/i18n/locales/ko/common.json
+++ b/packages/i18n/locales/ko/common.json
@@ -1,15 +1,23 @@
{
+ "actions": {
+ "cancel": "취소",
+ "close": "닫기",
+ "save": "저장"
+ },
+ "archive": "보관",
+ "cancel": "취소",
+ "close": "닫기",
"columns": {
- "triage": "계획",
- "todo": "할 일",
+ "archived": "보관됨",
+ "done": "완료",
"in-progress": "진행 중",
"in-review": "검토 중",
- "done": "완료",
- "archived": "보관됨"
+ "todo": "할 일",
+ "triage": "계획"
},
- "actions": {
- "save": "저장",
- "cancel": "취소",
- "close": "닫기"
- }
+ "delete": "삭제",
+ "refresh": "새로고침",
+ "retry": "재시도",
+ "skip": "건너뛰기",
+ "tryAgain": "다시 시도"
}