@adhdev/daemon-standalone 1.0.68 → 1.0.70

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- const e={runFailed:"{{label}}을(를) 실행하지 못했습니다",updateFailed:"{{label}}을(를) 변경하지 못했습니다",loadOptionsFailed:"{{label}} 옵션을 불러오지 못했습니다"},t={unknown:"알 수 없음",starting:"시작 중",stopped:"중지됨",failed:"실패",idle:"대기",generating:"작업 중",awaitingApproval:"승인 필요"},o={label:"언어",select:"언어 선택"},i={copy:"복사",no:"아니요",yes:"예",diagnostics:"진단",done:"완료",edit:"편집",copied:"복사됨",copyId:"ID 복사",technicalDetails:"기술 세부 정보",saved:"저장됨",refresh:"새로 고침",moreInfo:"자세히",closeDialog:"대화상자 닫기",noRecords:"기록이 없습니다.",close:"닫기",back:"뒤로",cancel:"취소",confirm:"확인",confirmTitle:"계속할까요?"},n={loadingShort:"불러오는 중…",loadingDashboard:"대시보드를 불러오는 중...",machinesConnectedCount:"머신 {{connected}}/{{total}}개 연결됨",disconnected:"연결 끊김",connected:"연결됨",connectedToDashboard:"대시보드에 연결됨",networkOffline:"네트워크 오프라인",reconnecting:"재연결 중",sessionExpired:"세션이 만료되었습니다.",logInAgain:"다시 로그인",connectionFailed:"연결에 실패했습니다 — 페이지를 새로고침하거나 잠시 후 다시 시도하세요.",reconnectNow:"지금 재연결"},a={details:"자세히",label:{success:"완료",warning:"주의",info:"업데이트"},dismiss:"닫기"},s={actionNeeded:"조치 필요",taskComplete:"작업 완료",markRead:"읽음 표시",markUnread:"읽지 않음 표시",delete:"삭제"},r={browser:{error:"오류로 중단됨",finished:"완료됨",approvalWithMessage:"승인 필요: {{message}}",approval:"승인 필요",questionWithMessage:"질문: {{message}}",question:"답변을 기다리는 중"},taskCompleted:"{{label}} 에이전트 작업 완료",taskCompletedWithDuration:"{{label}} 에이전트 작업 완료 ({{duration}})",approvalNeeded:"{{label}} 승인 필요",questionNeeded:"{{label}} 질문에 답변 필요",noProgress:"{{label}} 에이전트 진행 없음",noProgressWithDuration:"{{label}} 에이전트 진행 없음 ({{minutes}}분)",noProgressTitle:"{{label}} — 진행 없음",noProgressBody:"에이전트가 {{duration}} 넘게 진행이 없습니다",viewRequest:"{{requester}}님이 세션 보기를 요청합니다",viewRequestTitle:"보기 요청",viewRequestApproved:"보기 요청이 승인되었습니다",viewRequestDeclined:"{{target}}님이 보기 요청을 거절했습니다",someoneRequester:"팀 멤버",someoneTarget:"팀 멤버"},l={header:{moreActions:"추가 작업",title:"대시보드",guide:"대시보드 가이드",guideOpen:"대시보드 가이드 열기",guideShort:"가이드",openGitStatus:"Git 상태 열기",meshGraph:"메시 그래프",stopCliProcess:"CLI 프로세스 중지",chatHistory:"채팅 기록",remoteControl:"원격 제어",generating:"생성 중",activityInbox:"알림"},hidden:{title:"숨긴 탭",dragHint:"탭을 여기로 끌어다 놓으면 숨겨집니다.",resetPanels:"패널 초기화",restoreAll:"모두 복원",hideCurrentTab:"현재 탭 숨기기",empty:"숨긴 탭이 없습니다.",resetPanelsConfirm:"떠 있는 패널과 팝아웃 패널을 모두 메인 대시보드 그리드로 되돌릴까요?"},inbox:{unread:"읽지 않음",read:"읽음",empty:"대기 중인 활동이 없습니다."},metaChips:{queuePending:"대기 {{count}}",queueTooltip:"대기열: 대기 {{pending}}, 배정 {{assigned}}, 완료 {{completed}}, 실패 {{failed}}"},meshRole:{coordinator:"코디네이터",worker:"워커",coordinatorFor:"{{mesh}}의 코디네이터",workerFor:"{{mesh}}의 워커",coordinatorUnknownMesh:"메시 코디네이터",workerUnknownMesh:"메시 워커",openMeshGraph:"메시 그래프 열기"},versionBanner:{restarting:"재시작 중",upgrading:"업데이트 중…",unknownVersion:"알 수 없음",updateAvailable:"업데이트 가능",required:"필수 업데이트",retry:"재시도"},remoteDialog:{liveRemoteView:"실시간 원격 화면",remoteUnavailable:"원격 화면을 사용할 수 없음",remoteOnly:"원격만",splitView:"분할 보기",remoteFallback:"원격",history:"히스토리"},guide:{title:"대시보드 가이드",subtitle:"대시보드 흐름, 플로팅·팝아웃 탭, 그리고 조정 가능한 그룹별 단축키에 대한 간단한 안내입니다.",close:"대시보드 가이드 닫기",tabs:{overview:"개요",quickstart:"빠른 시작",shortcuts:"단축키"},overview:{whatLivesWhere:{title:"무엇이 어디에 있나요",tabsLabel:"탭:",tabsText:"IDE와 CLI 에이전트에 걸친 활성 세션입니다.",hiddenLabel:"숨긴 탭:",hiddenText:"메인 스트립에는 두고 싶지 않지만 계속 유지하고 싶은 세션을 보관합니다.",inboxLabel:"활동 수신함:",inboxText:"승인을 기다리는 세션이나 아직 확인하지 않은 완료된 작업입니다.",cliToggleLabel:"CLI 보기 전환:",cliToggleText:"PTY 세션을 다시 시작하지 않고 터미널과 채팅 렌더링 사이에서 전환합니다."},usefulFlows:{title:"유용한 흐름",reviewLabel:"알림 검토:",reviewText:"수신함을 열어 세션으로 이동한 다음, 활성 창에서 바로 대화 또는 승인 컨트롤을 사용하세요.",clutterLabel:"복잡함 줄이기:",clutterText:"덜 중요한 세션은 닫지 말고 숨긴 다음, 필요할 때 숨긴 탭에서 복원하세요.",splitLabel:"작업 분할:",splitText:"입력용으로 한 창을 활성 상태로 두고, 보조 창은 포커스하기 전까지 읽기 전용으로 유지하세요.",detachedLabel:"분리된 보기:",detachedText:"빠른 나란히 보기를 위해 탭을 플로팅하거나, 별도 모니터를 원할 때 새 창으로 팝아웃하세요.",dockingLabel:"도킹:",dockingText:"Dock을 사용해 플로팅 탭을 그리드로 되돌리거나, 팝아웃된 탭을 메인 대시보드로 옮기세요.",perTabLabel:"탭별 단축키:",perTabText:"Dockview 탭을 우클릭하여 해당 세션 전용 직접 단축키를 지정하세요.",approvalLabel:"승인 버튼:",approvalText:"활성 세션의 처음 세 개의 표시된 승인 동작에는 {{keys}} 를 사용하세요."}},quickstart:{desktop:{title:"데스크톱 빠른 시작",step1:"먼저 머신 또는 워크스페이스 흐름에서 시작하세요. CLI 세션을 실행하기 전에 워크스페이스를 선택하거나 저장하세요.",step2:"메인 스트립은 활성 작업에 집중하고, 넘치는 것은 숨긴 탭으로 보내세요.",step3:"모든 탭을 훑어보는 대신, 승인이 필요하거나 완료된 세션은 수신함을 사용하세요.",step4:"병렬 읽기가 필요할 때만 분할하세요. 메인 레이아웃을 잃지 않고 탭을 분리하려면 플로팅하거나 팝아웃하세요."},mobile:{title:"모바일 빠른 시작",step1:"검토와 답장은 채팅 모드를 유지하세요. 워크스페이스 모드는 주로 세션을 실행하거나 다시 열 때 사용하세요.",step2:"머신 화면에서 시작해 워크스페이스를 선택한 다음, 거기서 IDE 또는 CLI를 실행하세요.",step3:"모바일은 더 단순한 제어 화면으로 취급하세요. 분할 워크플로 없음, 적은 탭 조작, 빠른 세션 전환."}},shortcuts:{sections:{all:"전체",workspace:"워크스페이스",panes:"창",approvals:"승인"},disableAll:"모두 비활성화",resetToDefaults:"기본값으로 재설정",default:"기본값:",listening:"입력 대기 중...",set:"설정",disable:"비활성화",off:"꺼짐",footer:"{{keys}} 같은 조합 단축키를 사용하거나 직접 조합을 설정하세요. 텍스트 입력 중에는 대시보드 동작 단축키가 무시됩니다.",resetConfirm:"모든 대시보드 단축키를 기본값으로 재설정할까요?",setListening:"입력 대기"}},shortcutDefs:{openShortcutHelp:{label:"단축키 열기",description:"키보드 단축키 패널을 표시합니다."},openNewSession:{label:"새 세션",description:"새 세션 실행기를 엽니다."},hideCurrentTab:{label:"현재 탭 숨기기",description:"현재 활성 탭을 숨긴 탭으로 숨깁니다."},toggleHiddenTabs:{label:"숨긴 탭 토글",description:"숨긴 탭 팝오버를 열거나 닫습니다."},openHistoryForActiveTab:{label:"기록 열기",description:"활성 세션의 기록을 엽니다."},openRemoteForActiveTab:{label:"원격 열기",description:"가능한 경우 활성 세션의 원격 제어를 엽니다."},floatActiveTab:{label:"활성 탭 플로팅",description:"활성 탭을 플로팅 패널로 옮깁니다."},popoutActiveTab:{label:"활성 탭을 새 창에서 열기",description:"활성 탭을 분리된 팝아웃 창으로 옮깁니다."},dockActiveTab:{label:"활성 탭 도킹",description:"플로팅 탭을 그리드로 되돌리거나 팝아웃 탭을 메인 창으로 옮깁니다."},splitActiveTabRight:{label:"활성 탭을 새 오른쪽 창으로",description:"오른쪽에 창을 만들고 활성 탭을 그곳으로 옮깁니다."},splitActiveTabDown:{label:"활성 탭을 새 아래쪽 창으로",description:"아래에 창을 만들고 활성 탭을 그곳으로 옮깁니다."},focusLeftPane:{label:"왼쪽 창 포커스",description:"왼쪽 창으로 포커스를 이동합니다."},focusRightPane:{label:"오른쪽 창 포커스",description:"오른쪽 창으로 포커스를 이동합니다."},focusUpPane:{label:"위쪽 창 포커스",description:"위쪽 창으로 포커스를 이동합니다."},focusDownPane:{label:"아래쪽 창 포커스",description:"아래쪽 창으로 포커스를 이동합니다."},moveActiveTabToLeftPane:{label:"활성 탭 왼쪽으로 이동",description:"활성 탭을 왼쪽 창으로 옮깁니다."},moveActiveTabToRightPane:{label:"활성 탭 오른쪽으로 이동",description:"활성 탭을 오른쪽 창으로 옮깁니다."},moveActiveTabToUpPane:{label:"활성 탭 위로 이동",description:"활성 탭을 위쪽 창으로 옮깁니다."},moveActiveTabToDownPane:{label:"활성 탭 아래로 이동",description:"활성 탭을 아래쪽 창으로 옮깁니다."},triggerPrimaryApprovalAction:{label:"승인 동작 1",description:"활성 세션의 첫 번째 승인/동작 버튼을 누릅니다."},triggerSecondaryApprovalAction:{label:"승인 동작 2",description:"활성 세션의 두 번째 승인/동작 버튼을 누릅니다."},triggerTertiaryApprovalAction:{label:"승인 동작 3",description:"활성 세션의 세 번째 승인/동작 버튼을 누릅니다."},setActiveTabShortcut:{label:"활성 탭 단축키 설정",description:"활성 탭에 대한 직접 단축키 기록을 시작합니다."},selectPreviousGroupTab:{label:"그룹 내 이전 탭",description:"활성 Dockview 그룹 안에서 이전 탭으로 이동합니다."},selectNextGroupTab:{label:"그룹 내 다음 탭",description:"활성 Dockview 그룹 안에서 다음 탭으로 이동합니다."},toggleCliView:{label:"CLI 보기 토글",description:"활성 CLI 세션을 채팅과 터미널 보기 사이에서 전환합니다."}}},d={stopProcess:"CLI 프로세스 중지",title:"{{agent}}을(를) 중지할까요?",gracefulDescription:"중지는 지원되는 경우 프로바이더에게 정상 종료를 요청합니다. 강제 중지는 런타임을 즉시 종료합니다.",forceOnlyDescription:"이 프로바이더는 정상 중지를 지원하지 않습니다. 강제 중지는 런타임을 즉시 종료합니다.",stop:"중지",forceStop:"강제 중지"},c={processing:"처리 중...",actionRequired:"조치 필요",alwaysAllowWarning:"이 권한을 영구적으로 허용합니다 — 이후 실행에서 다시 묻지 않습니다",questionPending:"질문 대기 중",answerQuestion:"질문에 답하기"},u={loading:"불러오는 중…",launchModelChanged:"{{from}} → {{to}} (변경됨)",launchModelSource:{user:"선택함",remembered:"기억된 값",mesh_slot:"메시 슬롯",task_override:"태스크 지정",provider_default:"기본값"}},p={noMeshesShort:"이 머신에 메시가 없습니다",noProvidersShort:"사용 가능한 에이전트 없음",advancedOptions:"고급 옵션",agent:"에이전트",defaultResolvesTo:"기본값은 {{model}}로 해석됩니다",title:"세션 시작",close:"새 세션 대화상자 닫기",detectedLocally:"로컬에서 감지됨",availableToOpen:"열기 가능",machine:"머신",selectMachine:"머신 {{name}} 선택",workspace:"워크스페이스",browse:"찾아보기…",launchTargetType:"실행 대상 유형",modeWorkspace:"워크스페이스",modeWorkspaceDesc:"일반 세션",modeMesh:"메시",modeMeshDesc:"코디네이터 세션",homeDirectory:"홈 디렉터리",customFolder:"사용자 지정 폴더…",launchWithoutWorkspace:"워크스페이스 없이 실행합니다.",selectWorkspaceFolder:"워크스페이스 폴더를 선택하세요.",selectFolder:"폴더 선택",saving:"저장 중…",saveWorkspace:"워크스페이스 저장",loadingMeshes:"메시 불러오는 중…",noMeshes:"이 머신에 구성된 리포 메시가 없습니다. 먼저 메시를 생성하거나 동기화한 후 이 선택기를 다시 여세요.",mesh:"메시",repoMesh:"Repo Mesh",nodeCount_one:"노드 {{count}}개",nodeCount_other:"노드 {{count}}개",coordinatorWorkspace:"코디네이터 워크스페이스: {{path}}",noProviders:"선택한 머신에서 사용할 수 있는 에이전트가 없습니다. 기본 위치 밖에 설치했다면 머신 → 프로바이더에서 실행 경로를 설정하세요.",startupArguments:"시작 인자",optionalFlags:"선택적 플래그...",autoApproveMode:"자동 승인 모드",autoApproveModeDescription:"이 세션이 승인 요청을 처리할 방식을 선택하세요.",autoApproveLegacy:"자동 승인",autoApproveLegacyDescription:"이 세션에서 지원되는 승인 요청을 자동으로 수락합니다.",autoApproveRisk:{safe:"안전",caution:"주의",dangerous:"위험"},dangerousModeTitle:"위험한 자동 승인 모드 확인",dangerousModeFallbackWarning:"이 모드는 승인 또는 샌드박스 보호를 우회할 수 있습니다. 신뢰할 수 있는 워크스페이스에서만 사용하세요.",dangerousModeRisk:"위험도",dangerousModeLaunchArgs:"주입되는 실행 인자",dangerousModeConfirm:"위험 모드 사용",modelAndThinking:"모델 & 사고 수준 (선택)",model:"모델",providerDefault:"(프로바이더 기본값)",custom:"사용자 지정…",typeModelName:"모델 이름 입력",backToModelList:"← 모델 목록으로",thinkingLevel:"사고 수준",selectWorkspaceTitle:"워크스페이스 선택",start:"시작",starting:"시작 중…",startMeshCoordinator:"메시 코디네이터 시작",startingCoordinator:"코디네이터 시작 중…",startIde:"IDE 시작",startingIde:"IDE 시작 중…",startFresh:"새로 시작",startingFresh:"새로 시작 중…",resumeSavedHistory:"저장된 기록 재개",resumingSavedHistory:"저장된 기록 재개 중…",errorLoadMeshes:"메시를 불러올 수 없습니다",errorLoadFolder:"폴더를 불러올 수 없습니다",errorLoadSavedSessions:"저장된 세션을 불러올 수 없습니다",errorSaveWorkspace:"워크스페이스를 저장할 수 없습니다",workspaceSaved:"워크스페이스가 저장되었습니다. 머신 상태가 새로고침되면 목록에 표시됩니다.",errorManualMcpSetup:"이 프로바이더가 메시 코디네이터로 작동하려면 수동 MCP 설정이 필요합니다.",errorStartMeshCoordinator:"메시 코디네이터를 시작할 수 없습니다",errorStartSession:"세션을 시작할 수 없습니다",errorResumeSession:"세션을 재개할 수 없습니다",errorWorkspaceContextRequired:"실행하기 전에 워크스페이스를 선택하세요 — 디렉터리, 저장된/기본 워크스페이스, 또는 홈 디렉터리 중 하나.",defaultWorkspace:"기본 워크스페이스"},h={undo:"실행 취소",hiddenToast:"{{title}} 숨김",moreActionsFor:"{{title}} 추가 작업",loading:"불러오는 중...",loadingSubtitle:"머신과 세션을 가져오는 중입니다.",machines:"머신",chats:"채팅",networkOffline:"네트워크 오프라인",sessionExpired:"세션 만료됨",reconnecting:"재연결 중",waitingForNetwork:"네트워크 대기 중…",pleaseLogInAgain:"다시 로그인해 주세요.",restoringConnection:"서버 연결을 복원하는 중…",waitingForDaemon:"데몬을 기다리는 중",connectYourMachines:"머신을 연결하세요",waitingForDaemonSubtitle:"연결하려면 ADHDev 데몬을 시작하세요.",connectYourMachinesSubtitle:"머신에 ADHDev를 설치하고 로그인하세요.",newCount:"새 항목 {{count}}개",chatCount_one:"채팅 {{count}}개",chatCount_other:"채팅 {{count}}개",idle:"유휴",unreadSuffix:" · 읽지 않음 {{count}}개",noActiveChats:"활성 채팅 없음",needsAttention:"확인이 필요합니다",taskComplete:"작업 완료",workingNow:"작업 중",earlier:"이전",connecting:"연결 중…",connectingSubtitle:"대화를 불러오기 전에 서버 연결을 기다리는 중입니다.",noMachinesConnected:"연결된 머신 없음",noMachinesSubtitle:"머신 탭에서 머신을 연결하세요.",noConversations:"아직 대화가 없습니다",allCaughtUp:"모두 확인했습니다.",hiddenTabs:"숨긴 탭",collapsedCount_one:"접힌 대화 {{count}}개",collapsedCount_other:"접힌 대화 {{count}}개",generatingCount:"{{count}}개 진행 중",collapsedGeneratingSuffix:" · {{count}}개 진행 중",restoreAll:"모두 복원",hide:"숨기기",reconnectingItem:"재연결 중…",connectingItem:"연결 중…",actionNeeded:"조치 필요",done:"완료",openMeshGraphFor:"{{title}} 메시 그래프 열기",openLiveMeshGraph:"실시간 리포 메시 그래프 열기",stopSessionTitle:"세션 중지 (에이전트를 종료합니다)"},m={hint:{daemon:{followUp:"후속 조치 필요",merged:"병합됨",notMergeable:"아직 병합 불가 — 변경 또는 충돌",cleanup:"병합됨 — 워크트리 정리 가능",needsMerge:"푸시됨 — 병합 가능",blockedReview:"병합 전에 검토 필요"},anchorEmpty:"기본 브랜치에 워크스페이스 없음",anchorWorkspaces:"{{branch}}의 워크스페이스 {{count}}개",anchorNeedsFollowUp:"{{branch}}의 {{count}}개에 후속 조치 필요",submoduleSynced:"{{path}} 동기화됨",submoduleChanged:"{{path}}에 로컬 변경이 있음",submoduleOutOfSync:"{{path}}이(가) 상위 체크아웃과 맞지 않음",gitAgeUnknown:"git 상태의 시점을 알 수 없음",staleGit:"git 상태가 5분 넘게 지났음",missingSubmodule:"보고되지 않은 서브모듈: {{paths}}",noGitYet:"아직 git 상태를 받지 못함",noGitYetOnline:"온라인 — 아직 git 상태를 받지 못함",waitingForGit:"git 상태를 기다리는 중…",nodeError:"노드가 오류를 보고함",upstreamUnverified:"업스트림이 아직 확인되지 않음",noUpstream:"{{branch}}을(를) 푸시해 업스트림을 설정하세요",mergeConflicts:"병합 충돌을 해결하세요",detachedHead:"분리된 HEAD — 브랜치를 체크아웃하세요",notGitRepo:"git 저장소가 아님",noGitStatus:"아직 git 상태 없음"},sessionCleanup:{stopAndDeleteHint:"해당 세션을 중지한 뒤 채팅 기록을 삭제합니다.",stopAndDelete:"세션 중지 후 삭제",deleteStoppedHint:"실행 중인 세션은 멈추지 않고 끝났거나 중지된 채팅만 정리합니다.",deleteStopped:"중지된 세션만 삭제",stopHint:"실행 중인 세션 프로세스를 중지하되 채팅 기록은 유지합니다.",stop:"실행 중 세션만 중지",preserveHint:"끝난 채팅 기록을 유지하고 실행 중인 세션은 그대로 둡니다.",preserve:"기록과 실행 중 세션 유지"},nodeHealth:{failed:"실패",completed:"완료",assigned:"할당됨",pending:"대기",enabled:"사용",unknown:"연결 중…",wrongBranch:"다른 브랜치",degradedHint:"이 머신과의 연결이 끊겼거나 시간 초과되었습니다. 대부분 일시적이니 잠시 기다리거나 머신을 다시 연결하세요.",degraded:"연결 안 됨",offline:"오프라인",dirty:"커밋 안 된 변경",online:"온라인"},activity:{noKeyEvents:"최근 주요 활동 없음",showKey:"주요 활동만 보기",showAll:"모든 활동 보기",nodeChanged:"머신 참여·이탈",worktreeCreated:"워크트리 생성",nodeJoined:"노드 추가",nodeRemoved:"노드 제거",sessionStarted:"에이전트 시작",needsInput:"입력 필요",taskFailed:"작업 실패",taskFinished:"작업 완료",taskStarted:"작업 시작"},drift:{clean:"깨끗함",conflicts:"충돌",submoduleOutOfSync_other:"서브모듈 {{count}}개 불일치",submoduleOutOfSync_one:"서브모듈 {{count}}개 불일치",submoduleChanged_other:"서브모듈 {{count}}개 변경",submoduleChanged_one:"서브모듈 {{count}}개 변경",changed_other:"{{count}}개 변경",changed_one:"{{count}}개 변경",upstreamUnverified:"업스트림 미확인",noGit:"git 정보 없음",probePending:"git 확인 중…"},graph:{slowLinkChip:"느린 연결",observationUnreachableChip:"연결 안 됨",observationStaleChip:"오래됨",remoteBadge:"원격",activeSessionAria:"활성 세션",observationAsOf:"{{age}} 전 기준",observationRefreshing:"{{age}} 전 기준 · 새로 고치는 중",observationFetching:"상태 가져오는 중…",observationUnreachable:"연결 안 됨 · 마지막 상태 {{age}} 전",observationUnreachableNoState:"연결 안 됨 · 아직 상태 없음"},statusTab:{v2ScopeHint:"범위별 대기 이벤트",providerSkewHint:"노드마다 다른 버전으로 실행 중인 프로바이더",providerSkew:"프로바이더 버전 불일치 {{count}}개",v2RatioHint:"대기 중인 코디네이터 이벤트 중 현재 메시지 형식을 쓰는 비율",daemonBuildHint:"이 노드에서 실행 중인 정확한 데몬 빌드 (버전@커밋)",quotaFailedHint:"이 머신이 이 프로바이더의 사용량을 읽지 못했습니다",quotaOkNoWindowHint:"정상적으로 읽음 — 이 프로바이더는 표시할 비율 한도가 없습니다",nodeCountHint:"이 머신의 메시 노드(워크스페이스/워크트리) — 하나의 플랜 사용량을 함께 씁니다",nodeCount_other:"노드 {{count}}개",nodeCount_one:"노드 {{count}}개",daemonVersionHint:"이 머신에서 실행 중인 데몬 버전",blockedReasonHint:"이 노드가 지금 코드 변경 작업을 새로 받을 수 없는 이유",providerCapHint:"이 노드의 프로바이더별 진행 중 작업 수 / 선언된 한도",priorityHint:"배정 선호도 (높을수록 우선)",priority:"우선순위 {{value}}",loadHint:"이 노드에 배정된 진행 중 작업",load:"부하 {{count}}",readonlyCapHint:"진행 중인 읽기 전용 조사 작업 수 / 한도(쓰기 한도의 2배)",readonlyCap:"읽기 전용 {{active}}/{{max}}",writeCapHint:"코드를 바꾸는 진행 중 작업 수 / 메시 전체 동시 실행 한도",writeCap:"쓰기 {{active}}/{{max}}"},manualSetup:{restartHint:"설정을 수정한 뒤 새 CLI 세션을 시작하세요.",configPath:"설정 경로:",format:"형식:",server:"서버:",titleFor:"{{provider}}의 MCP 수동 설정 필요",title:"MCP 수동 설정 필요"},help:{toggleAria:"메시 도움말",toggleTitle:"메시 개념 도움말",regionAria:"메시 개념 도움말",kicker:"도움말",title:"메시 개념 한눈에 보기",close:"도움말 닫기",sections:{node:{term:"노드",summary:"메시에 참여하는 워크스페이스 — 리포 체크아웃 또는 격리된 git 워크트리.",details:["베이스 노드 vs 워크트리 클론 노드 — 클론은 충돌 없이 병렬 작업을 격리합니다.","상태(온라인/오프라인)를 git 상태(브랜치 · ahead/behind · dirty)와 함께 표시합니다.","여러 노드가 같은 데몬을 공유할 수 있습니다."]},p2p:{term:"P2P 연결",summary:"선택한 코디네이터가 WebRTC로 각 원격 노드에 도달하는 방식.",details:["direct — 직접 host/STUN 경로; 가장 낮은 지연.","relay — TURN 릴레이; 제한적 네트워크에서도 작동하지만 느립니다.","disconnected / failed — 현재 코디네이터로부터 활성 P2P 링크가 없음.","P2P 연결성은 그래프 엣지가 아니라 각 노드 카드(및 노드 상세 패널)의 transport·RTT 칩으로 표시됩니다."]},session:{term:"세션",summary:"노드에서 실행 중인 에이전트 CLI 세션.",details:["status = idle / generating / waiting_approval.","작업을 디스패치·수집하는 코디네이터 세션과 실제 작업을 수행하는 위임 워커 세션을 구분합니다."]},task:{term:"태스크",summary:"큐 기반 풀 모델로 처리되는 단일 작업 단위.",details:["상태: pending → assigned → completed / failed / cancelled.","유휴 노드는 큐에서 자동으로 클레임하며, 직접 디스패치는 특정 세션을 대상으로 합니다."]},mission:{term:"미션",summary:"하나의 목표를 향한 다중 태스크 배치이자 그 노력의 영속 기록.",details:["상태: active / paused / completed / abandoned.","진행률은 소속 태스크들의 상태에서 파생됩니다."]},refinery:{term:"리파이너리 (refine)",summary:"워크트리 브랜치를 베이스로 안전하게 수렴·머지하는 과정.",details:["구성 기반(.adhdev/refine.*) — 패치 동등성 프리플라이트와 no-op 가드로 보호됩니다.","원칙적으로 ff-only; 강제 푸시 없음.","서브모듈 커밋이 origin에서 도달 불가하면 게시되어야 하며 → blocked_review로 분류됩니다."]},completion:{term:"완료 모델",summary:"위임된 작업의 완료는 큐(pending-events)에 영속됩니다.",details:["코디네이터는 주기적 폴링 또는 이벤트로 완료를 인지합니다.","큐에 영속되므로 완료 신호는 결코 유실되지 않습니다."]},convergence:{term:"브랜치 수렴 상태",summary:"워크트리 작업 후 각 브랜치는 정확히 하나의 최종 상태로 분류됩니다.",details:["merged_to_main — 베이스에 머지됨.","pushed_feature_branch_needs_merge — 푸시됨, 머지 대기.","blocked_review — 리뷰/도달성 문제로 보류됨.","cleanup_candidate — 정리 준비 완료.","not_mergeable — 머지 불가."]},blueprint:{term:"설계도면",summary:"계획 화면 — 라이브 큐 작업과 태스크 의존 관계를 한 캔버스에 표시.",details:["축은 하나입니다 — 좌에서 우로 의존성 깊이. 루트 태스크는 최신순입니다.","카드가 각자 시각을 표시하므로 위치가 시간을 나타낼 필요가 없습니다.","완료된 의존 체인은 접혀서 라이브 작업이 잘 보입니다."]},routingPreview:{term:"라우팅 예측",summary:"가상의 태스크가 어디로 배정될지 보여주는 읽기 전용 예측.",details:["난이도별로 표시되며, 노드에 고정된 태스크는 별도의 고정 예측(📌)을 받습니다.","예측일 뿐 실제 담당이 아닙니다 — 이미 실행된 카드는 아래에 실제 노드를 표시합니다."]},worktree:{term:"워크트리 노드",summary:"메인 체크아웃이 아니라 git 워크트리를 사용하는 노드.",details:["브랜치(⎇)로 표시됩니다. 한 머신에서 여러 태스크가 브랜치를 공유하지 않고 돌 수 있습니다.","고아 워크트리는 정리 후보로 보고될 뿐, 자동 삭제되지 않습니다."]}}},approvals:{title:"대기 중인 승인",empty:"승인 결정을 기다리는 세션이 없습니다.",sessionFallback:"세션 {{id}}",approve:"승인",reject:"거절",waitingFor:"{{duration}} 대기 중"},difficulty:{easy:"쉬움",medium:"보통",difficult:"어려움",freeform:"자유형"},panel:{outOfSyncBadge:"미동기화",conflictBadge:"충돌",attachedChats:"연결된 채팅",providerUnknown:"알 수 없는 프로바이더",statusCoordinator:"코디네이터",statusWorker:"워커",upstreamUnverified:"미확인",needsFollowUp:"후속 작업 필요",refined:"정제됨",tooltipLocalChanges:"로컬 변경 사항",tooltipHasConflicts:"충돌 있음",tooltipOutOfSync:"미동기화",tooltipNeedsFollowUp:"후속 작업 필요",tooltipUpstreamUnverified:"업스트림 미확인",tooltipRefineCompleted:"refine 완료",tooltipRefinedBranch:"{{branch}} 정리 완료",tooltipP2PRelayed:"P2P 링크가 TURN을 통해 중계됨 (느린 경로)",tooltipPrefixStatus:"상태:",tooltipPrefixBranch:"브랜치:",tooltipPrefixNote:"메모:",defaultBranch:"기본 브랜치",submoduleSynced:"동기화됨",moreChats_one:"+{{count}}개 채팅 더",moreChats_other:"+{{count}}개 채팅 더",remote:"원격",chats_one:"채팅 {{count}}개",chats_other:"채팅 {{count}}개",generatingCount:"생성 중 {{count}}",coordinatorAttached:"코디네이터 연결됨",coordinators:"코디네이터 {{count}}",workers_one:"워커 {{count}}",workers_other:"워커 {{count}}",sampledStatus:"샘플링된 상태"},legendEdge:{parentBranch:"기본 브랜치",cloneLink:"워크트리 클론",worktreeLink:"동일 브랜치",submoduleLink:"서브모듈",sessionLink:"세션",orphanLink:"후속 조치 필요"},attention:{submoduleDrift:"서브모듈 드리프트",submoduleDirty:"서브모듈 변경",conflictsPresent:"충돌 있음",dirtyWorkspace:"더티 워크스페이스",upstreamUnverified:"업스트림 미검증",pushBranch:"브랜치 푸시 필요",blockedReview:"리뷰 차단",refineFailed:"refine 실패",working:"작업 중",refining:"refine 중…",needsMerge:"병합 필요",refineWorktree:"워크트리 refine",needsFollowUp:"후속 조치 필요",offline:"오프라인",ahead:"{{count}}개 앞섬",behind:"{{count}}개 뒤처짐",aheadBehind:"{{ahead}}개 앞섬 / {{behind}}개 뒤처짐"},summary:{anchor:"기본 브랜치 앵커",parent:"부모 {{label}}",localChanges:"로컬 변경",sessions_one:"세션 {{count}}개",sessions_other:"세션 {{count}}개",conflicts:"충돌",clean:"업스트림과 동기화됨"},taskDag:{plan:{depsFailed_one:"선행 {{count}}건 실패",depsFailed_other:"선행 {{count}}건 실패"},time:{now:"방금",minutes_one:"{{count}}분 전",minutes_other:"{{count}}분 전",hours_one:"{{count}}시간 전",hours_other:"{{count}}시간 전",days_one:"{{count}}일 전",days_other:"{{count}}일 전"},empty:"아직 작업 없음",waitsOn_one:"{{count}}개 대기",waitsOn_other:"{{count}}개 대기",missingDeps_one:"미확인 의존성 {{count}}개",missingDeps_other:"미확인 의존성 {{count}}개",legend:{satisfied:"완료",waiting:"대기",failed:"실패"},predictedSlotPinned:"대상 노드 핀 지정됨 — 해당 노드의 예측 슬롯"},obs:{fieldEdgeId:"링크 ID",fieldHealthRaw:"상태",fieldNodeId:"노드 ID",machineSection:"머신",behindCount:"{{count}} 뒤처짐",aheadCount:"{{count}} 앞섬",healUnavailableHint:"확인된 업스트림보다 뒤처지기만 한 깨끗한 체크아웃만 여기서 업데이트할 수 있습니다.",healHint:"이 체크아웃을 업스트림으로 빨리 감기합니다. 로컬 변경이 없어 잃을 것이 없습니다.",healFailed:"{{label}} 업데이트 실패: {{reason}}",healDone:"{{label}} 업데이트 완료",directionTBShort:"↓",directionLRShort:"→",tabMap:"맵",closeDetailAria:"상세 패널 닫기",layoutDirectionAria:"그래프 배치 방향",viewAria:"메시 보기",tabOverview:"개요",tabTasks:"작업",panHint:"드래그하거나 스크롤해 이동",headlineFollowUp_one:"{{count}}개 확인 필요",headlineFollowUp_other:"{{count}}개 확인 필요",headlineIncomplete:"일부 머신이 보이지 않음",headlineConverged:"모두 동기화됨",badgeBlocked:"{{count}} 차단됨",badgeBlockedTitle:"{{count}}개 리뷰 차단",badgeNotMergeable:"{{count}} 병합 불가",badgeNeedMerge_one:"{{count}} 병합 필요",badgeNeedMerge_other:"{{count}} 병합 필요",badgeCleanupTitle:"{{count}}개 refine/정리",badgeOffline:"{{count}} 오프라인",badgeIncompleteTitle:"{{count}}개 피어 스냅샷 불완전",badgeNoGitTitle:"{{count}}개 git 스냅샷 없음",badgeNoSubmodTitle:"{{count}}개 서브모듈 가시성 누락",badgeStaleTitle:"{{count}}개 피어 스냅샷 오래됨",badgeActiveQueue:"활성 큐 {{count}}",badgeNodes_one:"노드 {{count}}개",badgeNodes_other:"노드 {{count}}개",badgeAttachedChats_one:"연결된 채팅 {{count}}개",badgeAttachedChats_other:"연결된 채팅 {{count}}개",legendDirty:"더티 {{count}}",legendOrphan:"고아 {{count}}",legendRecentFailures_one:"최근 실패 {{count}}",legendRecentFailures_other:"최근 실패 {{count}}",legendAnchor:"앵커 = 기본 브랜치",legendPeerLink:"피어 링크 = 동일 브랜치 워크트리",legendSubmoduleLink:"서브모듈 링크 = 하위 체크아웃",healthRefineFailed:"refine 실패 {{count}}",convergenceMergedToMain:"main에 병합됨",convergenceNeedsMerge:"병합 필요",convergenceBlockedReview:"차단됨 — 리뷰 필요",convergenceCleanup:"정리 준비 완료",convergenceNotMergeable:"병합 불가",followUpLabel:"후속 작업 — {{status}}",selectedEdge:"선택된 엣지",activeSessions:"활성 세션",queueTasks:"큐 작업",keyWarning:"핵심 경고",noResultCode:"반환된 결과 코드가 없습니다.",legend:"범례",checking:"업데이트 중…",heal:"업데이트",loadingGraph:"그래프 로딩 중…",emptyGraph:"이 코디네이터에 대한 라이브 메시 그래프가 아직 없습니다.",fieldLocality:"로컬리티",fieldWorkspace:"워크스페이스",fieldHead:"HEAD",fieldUpstream:"업스트림",fieldSource:"소스",fieldTransport:"전송",fieldMachineId:"머신 ID",fieldDaemonId:"데몬 ID",fieldFrom:"출발",fieldTo:"도착",fieldLabel:"레이블",connecting:"연결 중...",providerUnknown:"알 수 없는 프로바이더",directionLRTitle:"왼쪽에서 오른쪽",directionTBTitle:"위에서 아래"},notes:{sectionHint:"코디네이터가 세션 사이에 기억하는 교훈입니다 — 프로바이더 특이사항, 피해야 할 패턴, 복구 방법.",expired:"만료됨",neverExpires:"만료 없음",durable:"상시 유지",expiresIn:"{{when}} 만료",tab:"운영 노트",addTitle:"운영 노트 추가",listTitle:"운영 노트",textPlaceholder:"프로바이더 특이사항, 피해야 할 패턴, 복구 교훈을 기록하세요...",categoryLabel:"카테고리",categoryUncategorized:"미분류",categoryProviderQuirk:"프로바이더 특이사항",categoryPatternToAvoid:"피해야 할 패턴",categoryRecoveryLesson:"복구 교훈",add:"추가",edit:"수정",delete:"삭제",save:"저장",cancel:"취소",refresh:"새로고침",loading:"노트 불러오는 중...",empty:"아직 기록된 운영 노트가 없습니다.",unavailable:"운영 노트를 사용할 수 없습니다 — 코디네이터에 P2P로 연결할 수 없습니다.",loadFailed:"운영 노트를 불러오지 못했습니다.",saveFailed:"운영 노트를 저장하지 못했습니다.",deleteFailed:"운영 노트를 삭제하지 못했습니다.",editFailed:"운영 노트를 수정하지 못했습니다.",showMore:"더 보기",showLess:"접기",pinned:"고정됨"},dialog:{liveUpdatesOn:"실시간 업데이트 중",liveUpdatesPaused:"실시간 업데이트 일시 중지 — 마지막으로 불러온 상태 표시 중",refreshedAt:"{{time}} 갱신됨",refreshFailedQuiet:"새로 고침 실패 · 마지막으로 불러온 상태 표시 중",refreshTitle:"라이브 메시 그래프 새로 고침",loadingStatus:"라이브 메시 상태 로딩 중…",noGraph:"이 코디네이터에 대한 라이브 메시 그래프가 아직 없습니다. 위의 ? 를 눌러 Repo Mesh 가 무엇인지 알아보세요.",errorNoMeshId:"이 코디네이터는 라이브 메시 ID를 노출하지 않습니다."},health:{statFailed:"실패",statPending:"대기"},blueprint:{schedPrediction:"예측",readonlyBadge:"읽기 전용",schedObservedAt:"{{time}} 기준",schedNoNodes:"라우팅 가능한 노드가 없습니다.",schedQuotaButton:"쿼터",schedQuotaButtonTitle:"기기별 플랜 쿼터 한눈에 보기",schedNoWinner:"적합한 슬롯 없음",schedNext:"다음 배정",schedWaiting:"대기",schedFull:"정원 참",schedFloorExcluded:"난이도 미달",schedQuotaGated:"쿼터 차단",schedCapFree:"여유",schedColSlot:"슬롯",schedColScore:"점수",schedColQuota:"쿼터",schedColParallel:"병렬",schedColStatus:"상태",schedColMachine:"머신",schedNextTitle:"지금 이 난이도의 작업을 보내면 이 슬롯이 배정됩니다",schedTargetWorktreeTitle:"이 워크트리 체크아웃에서 실행됩니다",schedUnpinnedTitle:"핀 없이 보낼 때의 가상 예측 — 노드가 핀 지정된 태스크는 카드에 별도 예측이 표시됩니다",schedPointInTime:"확정된 배정이 아니라 현재 시점의 예측입니다 — 슬롯이 점유·해제되면 용량 정보는 즉시 낡을 수 있습니다",schedulingShort:"스케줄링",list:{barActive:"실행 {{count}}",barBlocked:"차단 {{count}}",barRecent:"최근 {{count}}",barMissions_one:"미션 {{count}}개",barMissions_other:"미션 {{count}}개",sectionRunning:"실행 중",sectionBlocked:"차단됨",sectionRecent:"최근",sectionHistory:"히스토리",generating:"생성 중",approvalNeeded:"승인 필요",choiceNeeded:"선택 필요",planShow:"플랜",planHide:"접기",planTitle:"이 태스크의 의존성 플랜 보기",noMission:"미션 없음",loadMore_one:"{{count}}개 더 보기",loadMore_other:"{{count}}개 더 보기",emptyActive:"실행 중인 작업 없음",waitingOn:"대기 중:",waitingOnMore:"외 {{count}}개",blockedByDeadDependency:"실패/취소된 선행 작업에 막힘:",chainGroup:"체인: {{title}}"},graph:{viewSwitchLabel:"설계도면 보기",viewList:"목록",viewGraph:"그래프",activeOnly:"진행 중만",activeOnlyTitle:"모든 작업이 끝난 레인 숨기기",hiddenLanes_one:"끝난 레인 {{count}}개 숨김",hiddenLanes_other:"끝난 레인 {{count}}개 숨김",emptyActive:"실행 중인 작업 없음",showFinished:"끝난 레인 보기",layoutFailed:"그래프 배치 실패: {{error}}",laneAdhoc:"독립 작업",laneCollapse:"접기",laneExpand:"펼치기",foldCompleted:"완료 접기",unfoldCompleted:"완료 펼치기",foldNode_one:"완료 {{count}}개",foldNode_other:"완료 {{count}}개",countRunning_one:"실행 중 {{count}}",countRunning_other:"실행 중 {{count}}",countDead_one:"막힘 {{count}}",countDead_other:"막힘 {{count}}",countWaiting_one:"대기 {{count}}",countWaiting_other:"대기 {{count}}",countFailed_one:"실패 {{count}}",countFailed_other:"실패 {{count}}",countDone_one:"완료 {{count}}",countDone_other:"완료 {{count}}",timeRunning:"실행 {{age}}째",timeFinished:"종료 {{time}}",timeQueued:"대기 {{age}}",tooltipTask:"태스크: {{id}}",tooltipMission:"미션: {{id}}",tooltipStatus:"상태: {{status}}",deadDirect:"선행 작업이 실패/취소되어 이 작업은 스스로 시작되지 않습니다.",deadTransitive:"상류 작업이 실패/취소되어 이 작업은 스스로 시작되지 않습니다.",legendDepends:"선행 의존",legendRunning:"실행 중",legendDead:"시작 불가",heldUntil:"{{time}}까지",tone:{pending:"대기",running:"실행 중",completed:"완료",failed:"실패",cancelled:"취소됨",dead:"막힘",plan:"계획됨",held:"보류"}}},page:{title:"Repo Mesh",subtitle:"다중 워크스페이스 오케스트레이션",waitingForDaemon:"데몬 연결 대기 중..."},list:{nodeCount_other:"노드 {{count}}개",nodeCount_one:"노드 {{count}}개",machinesOnline:"머신 {{online}}/{{total}}대 온라인",settings:"설정",open:"열기",title:"Repo Mesh 목록",count_one:"메시 {{count}}개",count_other:"메시 {{count}}개",createMesh:"+ 메시 생성",createTitle:"Repo Mesh 만들기",createOnMachine:"생성할 머신",noConnectedDaemon:"연결된 데몬 없음",workspace:"워크스페이스",workspaceHint:"선택한 데몬에 등록된 워크스페이스에서 선택하세요.",name:"이름",remoteUrl:"레포 리모트 URL (권장)",remoteUrlHint:"레포 URL을 붙여넣으면 식별자(github.com/user/repo)가 자동 생성됩니다.",repoIdentity:"레포 식별자",repoIdentityHint:"리모트가 없거나 머신마다 URL이 다를 때 직접 입력하세요. 예: github.com/user/repo",advancedIdentityToggle:"고급: 식별자 직접 지정",create:"생성",creating:"생성 중…",cancel:"취소",loading:"메시 불러오는 중...",emptyTitle:"Repo Mesh가 없습니다",emptyWithDaemons:"여러 머신에서 하나의 저장소로 여러 코딩 에이전트를 실행하세요.",emptyNoDaemons:"먼저 머신을 연결하세요.",createFirst:"첫 메시 생성",noRepoIdentity:"리포 식별자 없음"},detail:{useFromCli:"CLI에서 사용",optionNo:"아니요",optionYes:"예",distributionInOrderSummary:"추가한 순서대로 첫 번째 가능한 노드",distributionSmartSummary:"작업마다 가장 알맞은 노드, 부하에 따라 분산",tabGeneral:"일반",back:"← 뒤로",delete:"삭제",observabilityOpenTitle:"실시간 보기 열기 (개요, 작업, 맵)",observabilityDisabledTitle:"먼저 호스트 머신이 연결되어야 합니다",observabilityOpen:"열기",tabsAriaLabel:"메시 설정 섹션",tabAdvanced:"고급",quotaBusyFallback:"병렬 한도일 때 quota 폴백",quotaBusyFallbackHint:"quota 1순위 provider의 슬롯이 모두 차 있으면 기다리지 않고 같은 노드의 다음 quota 후보로 진행합니다. quota가 부족한 provider로는 절대 넘어가지 않으며, 다른 노드로 옮기지도 않습니다.",distribution:"분배",distributionSmart:"스마트",distributionSmartDescription:"각 작업을 역량 슬롯이 가장 잘 맞는 노드(난이도 + 역량 태그)에 배정한 뒤 우선순위와 부하로 분산합니다. 슬롯이 없어도 작업을 고르게 분산합니다. 슬롯이 있는 노드가 있으면 권장됩니다.",distributionInOrder:"순서대로",distributionInOrderDescription:"노드가 추가된 순서대로 할당합니다 — 첫 번째 적격 노드가 작업을 맡습니다. 부하 분산은 없습니다.",recommended:"권장",saving:"저장 중…",visibilityTitle:"대시보드 노출",visibilityLabel:"코디네이터가 스폰한 워커 세션",visibilityHint:"숨김 = 수신함을 조용히 유지하고 알림을 음소거; 코디네이터 세션을 통해 상호작용합니다. 표시 = 스폰된 모든 워커를 각각의 대화로 표시합니다.",visibilityHidden:"숨김",visibilityVisible:"표시",coordinatorPromptTitle:"코디네이터 프롬프트",thisMeshHint:"{{name}}의 코디네이터 세션에만 적용됩니다. 비워 두면 데몬 기본값을 유지합니다.",overrideLabel:"재정의 (기본값 대체)",overrideHint:"설정하면 데몬의 기본 베이스 프롬프트를 대체합니다. 비워 두면 기본값을 유지합니다.",overridePlaceholder:"(비어 있음 — 데몬 기본값 적용)",appendLabel:"추가 (베이스 뒤에 추가)",appendHint:"어떤 베이스 프롬프트가 선택되든 항상 그 뒤에 추가됩니다.",appendPlaceholder:"(비어 있음 — 추가 없음)",availablePlaceholders:"사용 가능한 플레이스홀더",placeholdersIntro:"재정의/추가 프롬프트를 렌더링할 때 다음 토큰이 치환됩니다:",saveCoordinatorPrompt:"코디네이터 프롬프트 저장",clear:"지우기",clearTitle:"두 필드를 모두 지웁니다. 저장을 클릭하여 커밋하세요.",safetyTitle:"안전 & Git",safetyDescription:"코디네이터 주도 작업의 체크포인트, 승인 게이트, git 안전 동작.",checkpointBefore:"각 작업 전에 체크포인트 자동 커밋",checkpointAfter:"각 작업 후에 체크포인트 자동 커밋",pushApproval:"푸시 승인",requireApprovalBeforePush:"푸시 전 승인 필요",doNotRequireApproval:"승인 불필요",destructiveGitApproval:"파괴적 git 승인",requireApproval:"승인 필요",uncommittedChanges:"워크스페이스에 커밋되지 않은 변경이 있을 때",warnAndContinue:"경고 후 계속",blockTask:"작업 차단",checkpointThenContinue:"체크포인트 후 계속",autoPublishSubmodule:"서브모듈 커밋 자동 게시 (고급)",requireExplicitApproval:"명시적 승인 필요",allowRefineryPublish:"리파이너리 비강제 게시 허용",autoFastForward:"유휴 노드 자동 fast-forward",ffEnabled:"활성화 (온라인·클린·뒤처진 노드 따라잡기)",ffDisabled:"비활성화",includeRemoteNodes:"원격 노드 포함",includeRemoteNodesHint:"끄면 = 코디네이터의 로컬 워크스페이스만 자동 fast-forward됩니다.",remoteNo:"아니요 (로컬 워크스페이스만)",remoteYes:"예 (원격 소유 데몬에 위임)",detectionMode:"감지 모드",detectionModeHint:"Idle = 노드의 유휴 에지에서. Continuous = 주기적으로도 스캔(베이스 노드만).",idleEdgeOnly:"유휴 에지만",continuousScan:"연속 (주기적 스캔)",sessionCleanupLabel:"노드 제거 시 해당 세션은…",sessionCleanupHint:"트랜스크립트 정리를 런타임/프로세스 정리와 분리합니다.",mcpDescription:"· 메시 MCP 서버는 CLI 에이전트에서 직접 사용할 수 있습니다.",repoMeshJsonTitle:"저장소 파일에서 (읽기 전용)",repoMeshJsonHint:"이 저장소가 커밋한 코디네이터 프롬프트 텍스트로, 위 필드와 함께 쌓입니다. 여기가 아니라 저장소 파일에서 수정하세요:",repoMeshJsonOverrideLabel:"저장소 override",repoMeshJsonAppendLabel:"저장소 append",repoMeshJsonInvalid:"이 저장소의 .adhdev/mesh.json 을 파싱할 수 없어 해당 프롬프트 레이어가 무시됩니다."},nodeList:{advanced:"고급",launchBlockedChip:"프로바이더 없음",usesTools:"사용: {{tools}}",addingIsExplicit:"추가는 직접 하셔야 합니다.",compatibleWorkspace:"호환되는 Git 워크스페이스를 찾았습니다.",inspectingRepo:"Git 저장소 확인 중 (읽기 전용)…",title:"노드 & 프로바이더 ({{count}})",descriptionCloud:"이 메시의 워크스페이스와 선호 AI 도구입니다.",descriptionStandalone:"이 메시에 참여하는 워크스페이스와 선호 AI 도구.",daemonCandidates:"머신 데몬 후보",available:"{{count}}개 사용 가능",noDaemonsAvailable:"현재 사용 가능한 연결된 머신 데몬이 없습니다.",allDaemonsAttached:"연결된 모든 머신 데몬이 이미 연결되어 있습니다.",selectedHost:"선택된 호스트",attachMachine:"머신 연결",addNode:"노드 추가",attachMachineTitle:"머신 데몬 연결",addNodeTitle:"노드 추가",machine:"머신",selectMachine:"머신을 선택하세요...",workspacePath:"워크스페이스 경로",enterCustomPath:"또는 사용자 지정 경로 입력 →",preferredTools:"선호 AI 도구 (순서대로)",preferredToolsHint:"명시적 프로바이더 없이 실행할 때 사용되는 순서.",add:"추가",cancel:"취소",emptyTitle:"노드 없음",emptyDescription:"이 메시에 워크스페이스를 추가하세요.",slotsLabel:"선호 AI 도구 (역량 슬롯)",slotsHint:"각 슬롯 = 프로바이더 + 모델 + 사고 + 처리할 작업 난이도/역량 + 슬롯별 병렬 상한. 작업은 최적 슬롯에 매칭됩니다(순서 = 선호도). 슬롯이 없으면 이 노드는 레거시 프로바이더 순서를 사용합니다.",nodeInstruction:"노드 지시 (선택)",nodeInstructionHint:"코디네이터 시스템 프롬프트에 📌 Node instruction으로 표시됩니다.",nodeInstructionPlaceholder:"예: '여기서는 스모크 테스트만 실행', '이 노드에서는 opus 사용'",saveInstruction:"지시 저장",saving:"저장 중…",removeNode:"노드 제거",nodeId:"노드 ID:",repoRoot:"리포 루트:",activeSessionsLabel:"활성 세션:",added:"추가됨:",activeQueueAssignments:"활성 큐 배정",noActiveAssignment:"이 노드에 활성 배정된 큐 작업이 없습니다.",activeSessions:"활성 세션",launchBlocked:"이 노드에서 감지된 프로바이더가 없습니다 — 프로바이더가 선택되거나 설치될 때까지 작업 실행이 차단됩니다. (빈 역량 슬롯만으로는 실행이 차단되지 않습니다. 이것은 프로바이더를 찾지 못했다는 의미입니다.)",titleNoCount:"노드 및 제공자",workspacesDetected:"워크스페이스 {{count}}개 감지됨",pickFromSaved:"← 저장된 워크스페이스에서 선택",ownerMachine:"소유자: {{owner}} · 머신: {{machine}}",machineTabsLabel:"이 메시의 머신",machineTabCounts:"노드 {{nodes}}개 · 슬롯 {{slots}}개"},host:{setHostConfirmTitle:"{{name}}을(를) 호스트로 설정할까요?",setupNode:"설정 노드",willHostOn:"호스트 예정:",title:"호스트 머신",descriptionSet:"이 메시의 코디네이터를 실행하는 머신입니다. 한 번 정하면 여기서 바꾸지 않습니다.",descriptionUnset:"이 메시의 코디네이터를 실행할 머신을 고르세요.",hostLabel:"호스트:",hostNode:"호스트 노드:",unknown:"알 수 없음",hostOffline:"호스트 오프라인",hostOfflineText:"호스트가 다시 연결될 때까지 실시간 상태를 불러올 수 없습니다. 그동안 연결된 다른 머신을 통해 명령을 보낼 수 있으며, 호스트는 바뀌지 않습니다.",reconnectToCommand:"명령 재연결",reconnectToCommandHint:"호스트가 복귀할 때까지 이 연결된 데몬을 통해 명령을 라우팅합니다. 메시 호스트를 변경하지 않습니다.",waitForHost:"호스트 재연결 대기",noDaemonsToRoute:"명령을 라우팅할 연결된 데몬이 없습니다. 호스트(또는 다른 데몬)를 온라인으로 만드세요.",setHostBanner:"호스트 머신을 선택하세요",hostDaemon:"호스트 데몬",hostDaemonHint:'이 mesh를 호스팅할 daemon을 선택한 뒤 "호스트로 설정"으로 확정하세요.',resolvingHost:"호스트 확인 중… (또는 호스팅할 데몬 선택)",noDaemonsToHost:"연결된 데몬이 없습니다. 이 메시를 호스팅할 데몬을 온라인으로 만드세요.",online:"온라인",offline:"오프라인",noCommandTarget:"사용 가능한 명령 대상이 없습니다 — 호스트 또는 데몬을 온라인 상태로 만드세요.",setHostAction:"호스트로 설정",settingHost:"호스트 설정 중…",setHostActionHint:"이 daemon을 mesh 호스트로 고정합니다. 사실상 영구적이며, 이후 여기서 재할당되지 않습니다.",confirmSetsHost:"아래에서 확정하면 mesh 호스트로 설정됩니다.",attachNodeThenSetHost:"먼저 이 daemon의 워크스페이스를 노드로 연결한 뒤 호스트로 설정하세요."},slotEditor:{emptyHint:"슬롯이 없어도 이 노드는 프로바이더 순서대로 작업을 실행합니다. 특정 난이도나 역량의 작업을 특정 도구로 보내려면 슬롯을 추가하세요.",empty:"슬롯 없음 (선택)",moveUp:"위로 이동",moveDown:"아래로 이동",removeSlot:"슬롯 제거",provider:"프로바이더",select:"(선택)",model:"모델",providerDefault:"(프로바이더 기본값)",custom:"사용자 지정…",modelPlaceholder:"모델",backToModelList:"← 모델 목록으로",thinking:"사고",thinkingDefault:"(기본값)",difficulty:"난이도 (비우면 = freeform 태스크만 배정)",capabilityTags:"역량 태그 (쉼표 구분)",maxParallel:"최대 병렬 (슬롯당)",maxParallelPlaceholder:"무제한",addSlot:"슬롯 추가",saving:"저장 중…",saveSlots:"슬롯 저장"},tagEditor:{emptyHint:"특정 태그와 일치하지 않아도 여기서 작업이 실행됩니다. 작업의 필수 태그로 이 노드를 지정하려면 태그를 추가하세요.",noSpaces:"태그에는 공백을 포함할 수 없습니다.",reservedPrefix:"그 접두사는 자동 파생됩니다 — 다른 태그를 선택하세요.",alreadyAdded:"이미 추가됨.",routingTags:"라우팅 태그",autoDerivedTitle:"자동 파생 — 편집할 수 없음",customTagTitle:"사용자 지정 태그",remove:"{{tag}} 제거",addPlaceholder:"사용자 지정 태그 추가 (예: test-runner)",add:"추가",saving:"저장 중…",saveTags:"태그 저장",empty:"태그 없음 (선택)"},queue:{title:"큐",description:"활성 큐 작업을 과거의 완료·실패·취소된 작업 기록과 분리하여 검사합니다."},promptPreview:{connectPrompt:"기본값을 미리 보려면 데몬을 연결하세요.",errorRender:"기본 프롬프트를 렌더링하지 못했습니다",hide:"기본 프롬프트 숨기기",view:"기본 프롬프트 보기",rendering:"렌더링 중…",retry:"다시 시도",info:"재정의가 비어 있을 때 코디네이터 세션이 받는 내용입니다.",launchScopeNote:"미션·최근 활동·운영 노트는 런치 시 추가되며 여기에는 표시되지 않습니다."},providerAutoApprove:{partialInventoryChip_other:"노드 {{count}}개 대기",partialInventoryChip_one:"노드 {{count}}개 대기",title:"프로바이더 자동 승인 기본값",loading:"프로바이더 기본값 불러오는 중…",loadError:"프로바이더 자동 승인 기본값을 불러오지 못했습니다.",noProviders:"이 메시의 머신들에서 자동 승인 모드를 가진 CLI 프로바이더를 찾지 못했습니다.",awaitingNodes:"노드 {{count}}개가 설치된 프로바이더를 보고하기를 기다리는 중…",partialInventory:"프로바이더 목록이 불완전할 수 있습니다 — 노드 {{count}}개가 아직 보고하지 않았습니다.",noHostDaemon:"프로바이더 자동 승인 기본값을 설정하려면 메시 호스트 데몬을 연결하세요.",repoSection:{chip:"팀과 공유",title:"저장소 기본값",hint:".adhdev/mesh.json에 커밋되어 팀 전체와 공유됩니다. 위임 워커가 '요청'할 모드를 정할 뿐, 실행 권한을 부여하지는 않습니다.",usesProviderDefault:"프로바이더 기본값 사용",clear:"프로바이더 기본값 사용"},machineSection:{chip:"이 머신만",title:"이 머신의 실행 권한",hint:"로컬 전용(meshes.json) — 커밋되지 않습니다. 이 머신의 워커가 자동 승인을 할지, dangerous 모드를 허용할지를 제어합니다.",autoApproveToggleLabel:"위임 워커 자동 승인",autoApproveToggleHint:"끄면 이 머신에 위임된 워커가 모든 승인 프롬프트에서 멈춥니다.",dangerousToggleLabel:"이 머신에서 dangerous 모드 허용",dangerousToggleHint:"옵트인: 이 머신의 워커가 승인 없이 도구를 실행하는 dangerous 모드로 동작할 수 있습니다.",dangerousDisabledHint:"위의 자동 승인이 꺼져 있는 동안에는 적용되지 않습니다.",confirmTitle:"dangerous 모드 옵트인",confirmDescription:"이 머신에서 위임 워커가 dangerous 프로바이더 모드로 실행되는 것을 허용합니다. dangerous 모드에서는 에이전트가 어떤 승인 프롬프트도 없이 도구와 명령을 실행합니다.",confirmScopeLabel:"적용 범위",confirmScopeValue:"이 머신에만 적용 (로컬 meshes.json — 커밋되지 않음)",confirmEffectLabel:"효과",confirmEffectValue:"저장소가 요청한 dangerous 모드(예: Force, 완전 자율)가 이 머신에서 더 이상 안전한 대화형 모드로 강등되지 않습니다.",confirmConfirm:"옵트인"},effectiveSection:{statusDowngradedHint:"{{requested}}이(가) 요청되었지만 이 머신이 dangerous 모드를 허용하지 않아 {{mode}}(으)로 실행합니다.",statusRequested:"실행: {{mode}}",statusInvalidFallback:"요청한 모드를 찾을 수 없음 → 프로바이더 기본값 실행: {{mode}}",statusDowngraded:"{{mode}} (강등됨)",statusDisabled:"이 머신에서 자동 승인이 비활성화됨 — 워커가 승인을 요청합니다.",statusNone:"사용 가능한 자동 승인 모드 없음 — 워커가 승인을 요청합니다."},dangerous:{sharedWarningDetail:".adhdev/mesh.json에 저장됩니다. 각 머신은 옵트인(delegatedWorkerDangerousModeAllow)한 뒤에만 실행합니다.",sharedWarningTitle:"이 설정은 저장소에 커밋됩니다",sharedWarning:"저장소에 커밋되어 팀과 공유됩니다. dangerous 모드를 허용하지 않은 머신은 더 안전한 모드로 실행합니다."},saving:"저장 중…",saved:".adhdev/mesh.json에 저장됨",saveError:"프로바이더 기본값 저장에 실패했습니다."},status:{healthErrorChip:"오류",offlineMachinesTitle:"보고 없음: {{machines}}",badgeBootstrap:"준비 중",badgeUpdatePending:"업데이트 대기",quotaClaudeRefreshChip:"갱신 필요",quotaClaudeSetupChip:"설정 필요",machineNotReportingHint:"이 머신의 응답을 받지 못해 플랜 사용량을 알 수 없습니다.",quotaNotCollectedHint:"머신은 첫 갱신(약 15분) 이후, 그리고 에이전트가 활동한 동안에만 플랜 사용량을 보고합니다.",schedulingNotReportedHint:"이 머신은 스케줄링 정보를 보고하지 않는 이전 버전을 실행 중입니다.",schedulingNotReported:"스케줄링을 보려면 데몬을 업데이트하세요",schedulingTitle:"스케줄링",distributionTitle:"분배 방식은 대상이 없는 작업을 노드에 어떻게 나눌지 정합니다. 노드별 부하와 한도는 아래에 있습니다.",protocolTitle:"프로토콜 및 프로바이더 버전",noNodesReporting:"아직 런타임을 보고하는 노드가 없습니다.",quotaNotCollected:"아직 사용량 없음",quotaFreshnessHint:"마지막 업데이트",machineNotReporting:"오프라인 · 사용량 알 수 없음",quotaClaudeSetupHint:"Claude 사용량을 설정하려면 `adhdev quota claude:install` 을 실행하세요.",quotaClaudeRefreshHint:"Claude Code 세션을 한 번 열면 사용량이 갱신됩니다.",quotaAccountHint:"이 사용량이 속한 로그인 계정 — 프로바이더 CLI 가 보고한 값",quotaOkNoWindows:"한도 없음",healthNotGitRepo:"git 저장소 아님",healthProbePending:"확인 중…",healthPeerConnection:"연결 {{state}}",healthNoLiveReport:"아직 보고 없음",badgeWorktree:"워크트리",badgeWorktreeTitle:"로컬 워크트리 노드",badgeWorktreeBranchTitle:"워크트리 브랜치 {{branch}}",badgeBootstrapTitle:"워크트리 부트스트랩 진행 중",badgeConnectionTitle:"메시 피어 연결 상태",badgeSessions_one:"세션 {{count}}개",badgeSessions_other:"세션 {{count}}개",badgeFastForwardReady:"fast-forward 가능",badgeFastForwardReadyTitle:"클린 + upstream 뒤처짐 — fast-forward 안전",badgeStaleBuildTitle:"라이브 데몬이 워크스페이스 HEAD 이전 빌드 — 머지된 수정이 반영 안 됐을 수 있음",badgeDeployLagTitle:"실행 중 데몬 빌드가 origin/main과 다름 — 이 노드는 배포+재시작 대기",machinesNotReporting_one:"{{count}}대 오프라인",machinesNotReporting_other:"{{count}}대 오프라인",machinesSection:"머신 — 플랜 · 노드",versionSkewTitle:"머신 컨센서스와 다른 버전 (stale 보고 또는 부분 설치)",machineVersionsTitle:"이 머신에 설치된 프로바이더 CLI 버전 — 소속 노드 전체가 공유"},overview:{tasksCount_other:"작업 {{count}}개",tasksCount_one:"작업 {{count}}개",sessionCount_other:"세션 {{count}}개",sessionCount_one:"세션 {{count}}개",providerUnknown:"프로바이더 알 수 없음",truncated:"(생략됨)",missionCard:"미션",ledgerCard:"활동",queueCard:"큐",nodesCard:"노드",sessionsCard:"활성 세션",refineCard:"Refine 작업",recentActivity:"최근 활동",recentTasks:"최근 태스크",missionTasksHeading:"미션 태스크",showFewer:"간략히 보기",showMore:"+{{count}}개 더",noActiveMissions:"활성 미션 없음",missionDataUnavailable:"미션을 보려면 데몬을 업데이트하세요",completedHistory:"완료 / 포기 기록",noQueueActivity:"큐 활동이 없습니다.",noNodes:"이 mesh에 노드가 아직 없습니다.",noActiveSessions:"활성 세션이 없습니다.",noRefineJobs:"Refine 작업이 없습니다.",closeDetail:"상세 닫기",loadingGoal:"불러오는 중…",showFullGoal:"전체 목표 보기",statCompleted:"완료",statAssigned:"할당됨",statPending:"대기 중",statFailed:"실패",statBlocked:"차단됨",statCancelled:"취소됨",statWallClock:"경과 시간",statTotalRuntime:"총 실행 시간",statRetries:"재시도",statDispatched:"디스패치됨",statStalled:"지연됨",statSessions:"세션",statCheckpoints:"체크포인트",statActive:"활성",statPaused:"일시중지",statAbandoned:"중단됨",recentFailures:"최근 실패 {{count}}건",activeCount:"{{count}}개 활성",failedCount:"{{count}}개 실패",detailKickerMission:"미션",detailKickerLedger:"원장 항목",detailKickerQueue:"큐 태스크",detailKickerSession:"세션",detailLabelMissionId:"미션 ID",detailLabelCreated:"생성 시각",detailLabelUpdated:"업데이트 시각",detailLabelElapsed:"소요 시간",detailLabelFullInstruction:"지시문 전문 보기",detailLabelLastActivity:"마지막 태스크 활동",detailLabelIncompleteEvidence:"미완료 증거",detailLabelEntryId:"항목 ID",detailLabelWhen:"시각",detailLabelNode:"노드",detailLabelDependsOn:"의존 태스크",detailLabelSession:"세션",detailLabelProvider:"프로바이더",detailLabelPayload:"원본 페이로드 보기",detailLabelTaskId:"태스크 ID",detailLabelFinalSummary:"최종 요약",detailLabelFullFinalSummary:"보고서 전문 보기",detailFinalSummaryLoading:"최종 요약을 불러오는 중…",detailFinalSummaryUnavailable:"최종 요약을 사용할 수 없음",detailLabelAutoLaunch:"자동 실행",detailLabelCancelReason:"취소 사유",detailLabelRequeueReason:"재큐 사유",detailLabelRequeued:"{{count}}회 재큐됨",detailLabelSessionId:"세션 ID",detailLabelBranch:"브랜치",detailLabelRole:"역할",detailLabelStarted:"시작 시각",detailLabelWorkspace:"워크스페이스",routingHeading:"라우팅",routingDevice:"디바이스",routingDaemon:"데몬",routingExecution:"실행 프로필",routingVia:"경유",routingDifficulty:"난이도",routingFitness:"적합도",routingReason:"근거",routingRequiredTags:"필수 태그",routingTagsUnsatisfied:"미충족",routingSkipped:"건너뛴 후보",routingSkippedMore:"외 {{count}}개",pausedMissions:"일시정지된 미션",ledgerAllTime:"전체 기간 누계",sessionTasksHeading:"이 세션의 태스크",showOnCanvas:"캔버스에서 보기"}},g={showMoreChars:"더 보기 ({{count}}자)",collapse:"접기",you:"나",toolMessageAria:"도구 메시지",activityMessageAria:"활동 메시지",activityFallback:"활동",copyMessage:"메시지 복사",copyCode:"코드 복사",showMore:"더 보기",showLess:"간략히",thought:"생각",toolExpand:"전체 출력 보기",toolCollapse:"간략히",toolExpandLoading:"불러오는 중…",toolExpandUnavailable:"이 단계의 전체 출력을 가져올 수 없습니다.",toolExpandStale:"전체 출력의 위치가 바뀌었습니다 — 읽은 이후 트랜스크립트가 변경되었습니다. 대화를 새로 불러오면 가져올 수 있습니다.",waitingToSend:"전송 대기 중 — 에이전트가 아직 작업 중입니다.",waitingToSendAria:"전송 대기 중",notDelivered:"전달되지 않음 — 에이전트가 이 메시지를 받지 못했습니다.",notDeliveredAria:"전달되지 않음",sendNow:"지금 보내기",sending:"보내는 중…",sendNowAria:"현재 턴을 중단하지 않고 에이전트 대기열로 지금 보내기",sendNowTitle:"이 메시지를 지금 에이전트에게 보냅니다. 에이전트 자체 대기열에 들어가 다음 턴에 처리되며, 진행 중인 턴은 그대로 계속됩니다.",cancelQueued:"취소",cancelQueuedAria:"대기 중인 이 메시지 취소",cancelQueuedTitle:"이 메시지를 대기열에서 제거합니다. 에이전트에게 전송되지 않습니다."},b={debugBundleFailed:"디버그 정보를 수집하지 못했습니다",connectingToMachine:"머신에 연결 중",establishingP2P:"P2P 연결 설정 중",agentNotMonitored:"에이전트 모니터링 안 됨",clickToSwitchMonitoring:"이 에이전트로 모니터링 전환하려면 클릭하세요",agentPanelHidden:"에이전트 패널이 아직 표시되지 않습니다",openPanelHint:"IDE에서 채팅을 여세요",noMessagesYet:"아직 메시지가 없습니다",loadingChat:"채팅 불러오는 중...",openPanel:"{{label}} 패널 열기",switchingPanel:"전환 중...",openingPanel:"여는 중...",busyNoProgress:"에이전트가 진행 상황이 없습니다.",busyGenerating:"에이전트가 응답을 생성 중입니다.",busyWaitingApproval:"승인 대기 중",activityToggleLabel:"도구 단계",activityToggleTitle:"도구·터미널·생각 단계 표시",reconnectMachine:"재연결",reconnectingMachine:"재연결 중…",reconnectMachineTitle:"이 머신의 자동 재연결이 중단됨 — 지금 재연결"},v={addMessageOptional:"메시지 추가 (선택)…",showControls:"컨트롤 표시",hideControls:"컨트롤 숨기기",sendTo:"{{panel}}에 메시지 보내기",attachImage:"이미지 첨부",placeholder:"{{panel}}에 메시지 전송...",sendMessage:"메시지 전송",dropImage:"여기에 이미지를 놓으세요"},f={cdpDisconnectedShort:"IDE 연결 끊김",hideFromDashboard:"대시보드에서 숨기기",removeShortcut:"단축키 삭제",changeShortcut:"단축키 변경 ({{shortcut}})",dropSplitRight:"오른쪽으로 분할",dropMoveHere:"여기로 이동",dropSplitLeft:"왼쪽으로 분할",relaunchWithCdp:"연결해서 다시 실행",cdpDisconnected:"IDE에 연결되지 않았습니다 — 채팅 기록과 스크린샷을 사용할 수 없습니다.",resizeHandleHint:"드래그해서 크기 조절 · 더블클릭해서 합치기",shortcutListening:"입력 대기 중…",shortcutPressCombo:"키 조합을 누르세요 (예: {{example1}}, {{example2}})",shortcutSetTitle:"단축키 설정",loadingSessions:"세션을 불러오는 중...",noConversations:"아직 대화가 없습니다",waitingForDaemon:"데몬을 기다리는 중",connectYourMachines:"머신을 연결하세요",daemonDescription:"연결하려면 ADHDev 데몬을 시작하세요.",installDescription:"머신에 ADHDev를 설치하고 로그인하세요.",newSession:"새 세션",newSessionDescription:"설치된 에이전트로 세션을 시작하세요.",noTabsInGroup:"이 그룹에 탭이 없습니다",pressEscToCancel:"Esc를 눌러 취소",noActiveAgent:"활성 에이전트 없음",moveTabHere:"탭을 이곳으로 옮기면 표시됩니다"},C={growViewport:"터미널 화면 키우기",shrinkViewport:"터미널 화면 줄이기",sendInterrupt:"중단 신호 보내기 (Ctrl-C)",arrowRight:"오른쪽 화살표",arrowDown:"아래쪽 화살표",arrowLeft:"왼쪽 화살표",arrowUp:"위쪽 화살표",keysPanelTitle:"터미널 키",keysButton:"키",copyHint:"선택한 터미널 텍스트를 복사합니다. 선택이 없으면 보이는 화면 전체를 복사합니다",specDebugHint:"스펙 디버그 — 현재 상태, 섹션, 전환 기록 확인",replayScrollbackHint:"이전 터미널 출력을 불러와 더 위로 스크롤할 수 있게 합니다",loadOlderOutput:"이전 터미널 출력 불러오기",loadingOlder:"이전 항목 불러오는 중...",debug:"디버그",copy:"복사",openControlKeys:"터미널 제어 키 열기",closeControlKeys:"터미널 제어 키 닫기"},D={muteThis:"이 채팅 음소거",unmuteThis:"이 채팅 음소거 해제"},w={switchToTerminal:"터미널 보기로 전환",switchToChat:"채팅 보기로 전환"},y={updatedAt:"{{time}} 업데이트",messageCountShort_other:"메시지 {{count}}개",messageCountShort_one:"메시지 {{count}}개",workspaceUnknown:"워크스페이스 알 수 없음",clearSelection:"선택 해제",selectedSavedHistory:"선택한 저장 기록",loadingShort:"불러오는 중…",savedHistoryNoneYet:"저장된 기록 없음",savedHistoryLoadedCount_other:"저장된 기록 {{count}}개를 불러왔습니다. 저장된 기록을 열어 선택하세요.",savedHistoryLoadedCount_one:"저장된 기록 {{count}}개를 불러왔습니다. 저장된 기록을 열어 선택하세요.",savedHistoryBadge:"저장된 기록",resumeSavedHistory:"저장된 기록 재개",startFresh:"새로 시작",resumingSavedHistory:"저장된 기록 재개 중…",startingFresh:"새로 시작 중…",startIde:"IDE 시작",startingIde:"IDE 시작 중…",recoverHostedRuntime:"호스팅 런타임 복구",hostedRuntimeRecoveryDescription:"중단 후 호스팅 런타임의 폴백 복구. 일반적인 연속성을 위해서는 저장된 기록을 여세요.",openSavedHistory:"저장된 기록 열기",savedHistoryTitle:"저장된 기록",savedHistoryHelper:"같은 프로바이더 대화의 연속성을 원할 때 저장된 기록을 사용하세요.",savedHistoryEmpty:"아직 저장된 기록이 없습니다.",refreshSavedHistory:"저장된 기록 새로고침",refreshingSavedHistory:"저장된 기록 새로고침 중…",startFreshWith:"{{label}}(으)로 새로 시작할까요?",restart:"{{label}}을(를) 재시작할까요?",startFreshReview:"새로 시작하기 전에 프로바이더와 대상 폴더를 확인하세요.",restartIdeReview:"IDE를 재시작하기 전에 대상 워크스페이스를 확인하거나 변경하세요.",restartStoppedReview:"중지된 세션을 재시작하기 전에 대상 워크스페이스를 확인하거나 변경하세요.",confirmStartFresh:"새로 시작",confirmRestart:"재시작",confirmStartingFresh:"새로 시작 중…",confirmRestarting:"재시작 중…",resumeWith:"{{label}}(으)로 저장된 기록을 재개할까요?",resumeReview:"저장된 기록을 재개하기 전에 대상 워크스페이스를 확인하거나 변경하세요."},T={layout:{expandSidebar:"사이드바 펼치기",collapseSidebar:"사이드바 접기",collapse:"접기"},auth:{loading:"스탠드얼론 대시보드 로드 중…",loadError:"스탠드얼론 인증 상태 로드 실패: {{error}}",signInTitle:"스탠드얼론 로그인",passwordProtected:"이 셀프호스트 대시보드는 로컬 비밀번호로 보호되어 있습니다.",tokenProtected:"이 스탠드얼론 서버는 토큰으로 보호되어 있습니다. 토큰이 포함된 URL로 접근하거나, 이미 인증된 세션에서 비밀번호를 설정하세요.",passwordPlaceholder:"스탠드얼론 비밀번호 입력",unlock:"대시보드 잠금 해제",signingIn:"로그인 중…",noPasswordEnabled:"이 서버에서는 비밀번호 로그인이 활성화되어 있지 않습니다."},machine:{loading:"머신 로드 중...",awaitingInput:"입력을 기다리는 중 ↑"},settings:{restartToApply:"재시작 시 적용",providersLink:"프로바이더",providersIntro:"이 머신의 IDE와 에이전트:",title:"설정",subtitle:"로컬 데몬 구성, 외관 및 기기 내 환경설정",publicHostWarning:"이 스탠드얼론 서버가 현재 인증 없이 0.0.0.0에 바인딩되어 있습니다. 비밀번호나 토큰을 설정하기 전까지 같은 LAN의 누구나 대시보드에 접근할 수 있습니다.",daemonSection:"데몬",versionLabel:"버전",statusLabel:"상태",statusRunning:"● 실행 중",statusNotConnected:"○ 연결되지 않음",authLabel:"인증",authPassword:"비밀번호 활성화됨",authToken:"토큰 활성화됨",authNone:"인증 미설정",networkSection:"네트워크 접근",networkHint:"이 대시보드를 현재 머신에서만 사용하려면 localhost 전용을 선택하세요. 폰, 태블릿 또는 LAN의 다른 기기에서 접근하려면 모든 인터페이스를 선택하세요. 외부에 더 넓게 노출한다면 비밀번호나 토큰을 설정하세요.",localhostLabel:"Localhost 전용",localhostHint:"127.0.0.1에 바인딩. 이 머신에서만 대시보드를 열 때 적합합니다.",allInterfacesLabel:"모든 인터페이스",allInterfacesHint:"0.0.0.0에 바인딩. LAN 접근, 리버스 프록시, 또는 외부 진입점에 적합합니다.",saveNetworkMode:"기본 네트워크 모드 저장",saving:"저장 중…",networkRestartHint:"다음 스탠드얼론 재시작 시 적용됩니다. 현재 실행은 {{host}}에 바인딩된 상태로 유지됩니다.",networkSavedAll:"기본 스탠드얼론 네트워크 모드가 모든 인터페이스(0.0.0.0)로 설정되었습니다. 적용하려면 스탠드얼론을 재시작하세요.",networkSavedLocal:"기본 스탠드얼론 네트워크 모드가 localhost 전용으로 설정되었습니다. 적용하려면 스탠드얼론을 재시작하세요.",securitySection:"대시보드 보안",passwordSet:"현재 브라우저 접근에 로컬 비밀번호가 필요합니다. 변경 시 기존 세션이 갱신됩니다.",passwordNotSet:"스탠드얼론 비밀번호가 아직 설정되지 않았습니다. --host로 실행하는 경우 비밀번호 설정을 강력히 권장합니다.",currentPasswordPlaceholder:"현재 비밀번호",currentPasswordFirstTimePlaceholder:"현재 비밀번호 (최초 설정 시 불필요)",newPasswordPlaceholder:"새 비밀번호",newPasswordFirstTimePlaceholder:"새 스탠드얼론 비밀번호",confirmPasswordPlaceholder:"새 비밀번호 확인",updatePassword:"비밀번호 변경",enablePassword:"비밀번호 활성화",disablePassword:"비밀번호 비활성화",passwordUpdated:"스탠드얼론 비밀번호가 변경되었습니다.",passwordEnabled:"스탠드얼론 비밀번호가 활성화되었습니다.",passwordDisabled:"스탠드얼론 비밀번호가 비활성화되었습니다.",passwordTooShort:"비밀번호는 최소 4자 이상이어야 합니다.",passwordMismatch:"새 비밀번호와 확인 비밀번호가 일치하지 않습니다.",appearanceSection:"외관",fontsLabel:"폰트",fontsDescription:"채팅 텍스트, 마크다운 코드, 터미널 출력에 대한 스탠드얼론 전용 타이포그래피 재정의.",fontsSaved:"이 셀프호스트 대시보드에 스탠드얼론 채팅 폰트가 저장되었습니다.",profileSection:"프로필",displayNameLabel:"표시 이름",displayNameHint:"채팅 스레드 및 팀 대시보드에 표시되는 이름.",displayNamePlaceholder:"익명"},onboarding:{title:"ADHDev에 오신 것을 환영합니다",skip:"건너뛰기",installing:"설치 중…",done:"완료",installCount:"{{count}}개 설치",selectedCount_one:"{{count}}개 선택됨",selectedCount_other:"{{count}}개 선택됨",intro:"사용할 프로바이더를 선택하세요. 기본값은 공식 지원 CLI 프로바이더 3개입니다. 아래 탭에서 IDE 또는 익스텐션 프로바이더를 설치하거나 나중에 Machines → Providers에서 추가할 수 있습니다.",loadingRegistry:"레지스트리 로드 중…",loadError:"레지스트리 로드 실패: {{error}}",noProviders:"이 카테고리에 프로바이더가 없습니다.",installed:"✓ 설치됨",installFailed:"✗ {{error}}"},about:{title:"정보",subtitle:"셀프호스트 ADHDev 개요, 내장 서피스, Cloud와의 차이점",selfHostedEdition:"셀프호스트 에디션",headline:"런타임을 온디바이스에서 완전히 실행하면서 동일한 대시보드 경험을 유지하세요.",description:"Standalone은 브라우저, 데몬, 스크린샷, 제어 경로를 모두 본인 머신에 유지합니다. 멀티머신 연결과 모바일 알림을 제외하면 Cloud와 동일한 핵심 제품 경험입니다.",docs:"문서 ↗",github:"GitHub ↗",tryCloud:"Cloud 체험 ↗",includedSection:"스탠드얼론 포함 기능",includedDescription:"Cloud 컨트롤 플레인 없이 사용 가능한 로컬 우선 기능 세트.",inventorySection:"내장 인벤토리",inventoryDescription:"스탠드얼론 대시보드에 노출된 번들 편집기 및 에이전트 서피스. 이 목록은 인벤토리를 설명하며 지원 여부를 보장하지 않습니다.",cloudExtrasSection:"Cloud 전용 추가 기능",cloudExtrasDescription:"호스트된 컨트롤 플레인 또는 팀 인프라가 필요한 기능.",comparisonSection:"셀프호스트 vs Cloud",comparisonDescription:"제품 분리 한눈에 보기.",featureHeader:"기능",selfhostHeader:"셀프호스트",cloudHeader:"Cloud",cloudOptional:"Cloud는 선택 사항입니다",cloudOptionalDescription:"Standalone에서 완전히 로컬로 유지하다가 나중에 대시보드 사용 방식을 바꾸지 않고 Cloud로 이전할 수 있습니다.",compareCloud:"Cloud 비교 ↗",discord:"Discord ↗",features:{localFirst:{title:"로컬 우선 런타임",desc:"모든 것이 내 머신에 남고, 브라우저는 localhost로만 연결됩니다."},chatRelay:{title:"에이전트 채팅 릴레이",desc:"연결된 IDE들의 AI 대화를 실시간으로 읽고 응답합니다."},screenshots:{title:"라이브 스크린샷",desc:"로컬 스크린샷 스트림으로 IDE 화면을 브라우저에서 바로 봅니다."},remoteControl:{title:"원격 제어",desc:"창 전환 없이 IDE 세션을 클릭·입력·조종합니다."},multiIde:{title:"멀티 IDE 지원",desc:"VS Code, Cursor, Windsurf 및 확장 기반 에이전트를 한곳에서 모니터링합니다."},cli:{title:"CLI 커버리지",desc:"독립 CLI 에이전트를 IDE 세션과 함께 추적합니다."}},extras:{anywhere:{title:"어디서나 접근",desc:"로컬 포트를 열지 않고 다른 노트북이나 폰에서 머신에 접근합니다."},p2pStream:{title:"저지연 P2P 스트림",desc:"Cloud는 WebRTC 경로를 더해 스크린샷·원격 제어를 더 빠르게 합니다."},mobileNotifications:{title:"모바일 알림",desc:"자리를 비워도 승인 요청과 활동 업데이트를 받습니다."},restApi:{title:"REST API 접근",desc:"API 키와 서비스 라우트로 Slack, CI, 내부 도구와 연동합니다."},teamWorkspace:{title:"팀 워크스페이스",desc:"머신·활동 뷰·정책을 팀 워크스페이스에서 공유합니다."},enterpriseControls:{title:"엔터프라이즈 컨트롤",desc:"SSO, RBAC, 감사 로그 등 프로덕션 팀용 관리 기능."}},comparison:{chatRelay:"에이전트 채팅 릴레이",screenshots:"라이브 IDE 스크린샷",remoteControl:"원격 IDE 제어",multiIde:"멀티 IDE 모니터링",extensionCli:"확장·CLI 에이전트",anyNetwork:"어떤 네트워크에서든 접근",webrtc:"WebRTC P2P 스트리밍",mobilePush:"모바일 푸시 알림",restApi:"REST API·웹훅",teamCollaboration:"팀 협업",multiMachineDashboards:"멀티 머신 대시보드",ssoRbacAuditLogs:"SSO·RBAC·감사 로그"}},fonts:{fontOverridesNotice:"스탠드얼론 전용 폰트 재정의. Cloud 대시보드에는 영향을 주지 않습니다. 채팅 버블, 마크다운 산문, 코드 블록, 툴 행, 터미널 출력은 모두 아래 환경설정을 따릅니다.",chat:"채팅 텍스트",chatDescription:"어시스턴트/사용자 산문, 마크다운 텍스트, 생각 카드, 시스템 메모.",code:"코드 블록",codeDescription:"마크다운 코드 펜스, 인라인 코드, 서식 있는 명령 출력.",terminal:"터미널",terminalDescription:"채팅 모드에서 터미널 트랜스크립트 카드 및 툴/명령 행.",livePreview:"라이브 미리보기",resolvedStack:"해결된 스택:",saveFontSettings:"폰트 설정 저장",revertToSaved:"저장된 값으로 되돌리기",resetToDefaults:"기본값으로 재설정",saving:"저장 중…",customFamilyPlaceholder:'예: "Pretendard", "Noto Sans KR", sans-serif',previewSummary:"채팅: {{chat}} · 코드: {{code}} · 터미널: {{terminal}}",defaultsSummary:"기본값: {{chat}} / {{code}}",previewNow:"지금",previewProse:"가독성 있는 산문, <strong>굵은 텍스트</strong>, <code>인라인 코드</code> 모두 스탠드얼론 폰트 설정을 따릅니다.",presets:{default:"기본값",defaultMono:"기본 고정폭",custom:"사용자 지정…",serif:"세리프"}}},S={login:{eyebrow:"클라우드 로그인",title:"ADHDev에 로그인",subtitle:"머신을 연결하고, 승인·완료 알림을 받고, 자리를 비운 동안에도 코딩 에이전트를 계속 진행시키세요.",continueWith:"{{provider}}(으)로 계속하기",connecting:"연결 중...",devDivider:"개발",devLogin:"개발 로그인 (test_jwt_token)",providerNote:"GitHub와 Google은 인증 용도로만 사용됩니다.",errorUnverifiedEmail:"이 로그인 제공자가 인증된 이메일을 반환하지 않아 안전하게 로그인할 수 없었습니다.",termsPrefix:"계속 진행하면 ",termsLink:"서비스 약관",termsAnd:" 및 ",privacyLink:"개인정보 처리방침",termsSuffix:"에 동의하게 됩니다."},account:{openMachines:"머신 열기",machinesSummaryShort:"{{count}}/{{limit}}",title:"계정",subtitle:"프로필, 플랜 및 활동",tabAccount:"계정",tabBilling:"결제",tabActivity:"활동",profile:"프로필",noName:"이름 없음",displayName:"표시 이름",displayNameDesc:"대시보드와 팀 워크스페이스에 표시되는 이름입니다.",nicknamePlaceholder:"닉네임",save:"저장",saving:"...",cancel:"취소",saved:"저장됨",edit:"편집",failedToSave:"저장 실패",userId:"사용자 ID",loadingProfile:"프로필 불러오는 중...",planLimits:"플랜 한도",limitMachines:"머신",limitP2P:"연결된 머신",limitPushNotifications:"일별 푸시 알림",limitTurnRelay:"릴레이 대체 연결",enabled:"사용",disabled:"사용 안 함",frozen:"동결됨",session:"세션",logout:"로그아웃",logoutDesc:"이 기기에서 ADHDev 계정을 로그아웃합니다.",dangerZone:"위험 구역",dangerZoneDesc:"계정과 관련된 모든 데이터를 영구적으로 삭제합니다. 이 작업은 되돌릴 수 없습니다.",deleteAccount:"계정 삭제",deleteWillRemove:"다음 항목이 영구적으로 삭제됩니다:",deleteItemProfile:"프로필 및 로그인 자격 증명",deleteItemKeys:"모든 API 키 및 연결 토큰",deleteItemWebhooks:"웹훅 및 전송 기록",deleteItemPush:"푸시 알림 구독",deleteItemSessions:"공유 세션 및 감사 로그",deleteTypeConfirm:"{{keyword}}(을)를 입력하여 확인하세요:",deleting:"삭제 중...",permanentlyDelete:"영구 삭제",failedToDeleteAccount:"계정 삭제 실패",registeredMachines:"등록된 머신",machinesSummary:"{{count}}개 등록 · {{online}}개 온라인",machinesLimit:"(한도: {{limit}})",loadingMachines:"머신 불러오는 중...",noMachinesRegistered:"등록된 머신 없음",runSetupPrefix:"머신에서 ",runSetupMiddle:"을(를) 실행한 다음 ",runSetupSuffix:"을(를) 시작하면 여기에 등록됩니다.",removeMachineConfirm:"이 머신을 제거하시겠습니까? 다시 연결하려면 `adhdev setup`을 다시 실행해야 합니다.",failedToDeleteMachine:"머신 삭제 실패",failedToUpdate:"업데이트 실패",rename:"이름 변경",online:"온라인",connecting:"연결 중",removeMachine:"머신 제거",never:"없음",frozenFeatureTitle:"동결됨 — 이 기능은 일시 중지되어 사용할 수 없습니다."},billing:{currentPlan:"현재 플랜:",statusTrial:"체험판",statusActive:"활성",statusPastDue:"연체",statusCanceled:"취소됨",nextBilling:"다음 결제: {{date}}",trialEnds:"체험 종료: {{date}}",accessUntil:"이용 가능 기한: {{date}}",updatePayment:"결제 수단을 업데이트해 주세요",managePayment:"결제 및 청구서 관리",couldNotOpenPortal:"결제 포털을 열 수 없습니다",checkoutSuccess:"구독이 활성화되었습니다. 업그레이드해 주셔서 감사합니다!",statMachines:"머신",statSharedSessions:"공유 세션",statTurnRelay:"TURN 릴레이",statTurnOn:"사용 중",resetsDailyUtc:"매일 UTC 00:00 초기화",resetsInHours_one:"약 {{count}}시간 후",resetsInHours_other:"약 {{count}}시간 후",resetsInMinutes_one:"약 {{count}}분 후",resetsInMinutes_other:"약 {{count}}분 후",resetsDailyUtcWithLeft:"매일 UTC 00:00 초기화 · {{left}}",monthly:"월간",yearly:"연간",savePercent:"연간 최대 {{pct}}% 절약",pricesInUsd:"모든 가격은 USD 기준입니다",paddleLoading:"Paddle을 불러오는 중입니다. 다시 시도해 주세요.",cancelConfirm:"정말 구독을 취소하시겠습니까? 결제 기간이 끝날 때까지는 계속 이용할 수 있습니다.",cancelSubscription:"구독 취소",cancelRetainAccess:"현재 결제 기간이 끝날 때까지 {{plan}} 기능을 계속 이용할 수 있습니다.",cancelTeamDowngrade:" 모든 팀 멤버는 개인 플랜으로 다운그레이드됩니다.",cancelFailed:"구독 취소에 실패했습니다"},about:{title:"소개",subtitle:"클라우드 개요, 지원 환경, 플랜별 기능",cloudEdition:"클라우드 버전",heroTitle:"어디서든 로컬 CLI 에이전트를 웹으로 제어하세요.",heroDesc:"ADHDev Cloud는 여러분 머신에서 실행 중인 에이전트를 브라우저에 표시합니다: 프롬프트 전송, 액션 승인, 머신 간 작업 오케스트레이션, 폰 알림 — 코드는 P2P로 데몬에 직접 전달되며 서버를 통하지 않습니다.",openDashboard:"대시보드 열기",viewMachines:"머신 보기",docs:"문서 ↗",whyTitle:"ADHDev Cloud를 쓰는 이유",whyDesc:"머신이 클라우드 컨트롤 플레인을 통해 연결될 때 사용할 수 있는 핵심 기능.",howTitle:"작동 방식",howDesc:"설치부터 원격 제어까지의 클라우드 온보딩 경로.",repoMeshTitle:"Repo Mesh",repoMeshDesc:"머신 간 에이전트 오케스트레이션 — 클라우드 전용.",meshCard1Title:"코디네이터 하나, 많은 에이전트",meshCard1Desc:"미션에 태스크를 등록하고 유휴 노드가 로컬 우선, 풀 기반 큐에서 작업을 가져가게 합니다. 머신과 프로바이더에 걸쳐 분산 — 하나에 Claude Code, 다른 곳에 Codex — 그리고 단일 코디네이터 세션에서 결과를 수렴합니다.",meshCard2Title:"같은 레포, 여러 머신 동시에",meshCard2Desc:"각 노드는 체크아웃 또는 격리된 git 워크트리여서 병렬 에이전트가 충돌하지 않습니다. Refinery가 모든 브랜치를 수렴 — 검증, 머지, 푸시, 정리 — 안전한 서브모듈 처리와 함께. 데몬 간 직접 P2P 채널로 실행되며 서버는 동일 계정 피어를 시그널링하고 인증만 합니다.",worksWith:"지원 대상",worksWithDesc:"지원되는 CLI 에이전트, IDE, AI 익스텐션.",groupCli:"CLI 에이전트",groupIdes:"IDE",groupExtensions:"AI 에이전트",pricingTitle:"요금제",pricingDesc:"현재 클라우드 플랜과 티어별 머신 용량.",planPopular:"인기",readyTitle:"머신을 연결할 준비가 됐습니다",readyDesc:"대시보드로 이동하거나, 연결된 머신을 확인하거나, 아직 설정 중이라면 문서를 계속 읽으세요.",dashboard:"대시보드",machines:"머신",discord:"Discord ↗",github:"GitHub ↗",features:{webControlTitle:"로컬 CLI 에이전트 웹 제어",webControlDesc:"Claude Code, Codex, Cursor CLI 등 어떤 로컬 CLI 에이전트든 브라우저에서 구동하세요: 프롬프트 전송, 액션 승인, 터미널 없이 세션 조종.",chatRelayTitle:"에이전트 채팅 릴레이",chatRelayDesc:"모바일 포함 어디서든 에이전트 대화를 읽고 응답합니다.",liveViewTitle:"실시간 세션 보기",liveViewDesc:"에이전트 활동을 실시간으로 확인하고, IDE 세션은 창 전환 없이 P2P로 화면을 보고 제어합니다.",mobileTitle:"모바일 지원",mobileDesc:"개발 머신을 떠나서도 승인을 받고 진행 상황을 확인합니다.",secureTitle:"기본으로 안전",secureDesc:"채팅, 명령어, 스크린샷은 WebRTC를 통해 브라우저와 데몬 사이를 직접 흐릅니다 — 클라우드는 인증과 시그널링 메타데이터만 처리합니다. 코드는 절대 서버를 통해 라우팅되지 않습니다."},steps:{step1Title:"한 줄 설치",step1Desc:"구동하려는 모든 머신에서 명령어 하나를 실행하세요. ADHDev 데몬과 adhdev CLI를 설치합니다.",step2Title:"로그인",step2Desc:"GitHub 또는 Google로 한 번 로그인하면 데몬이 계정에 스스로 페어링됩니다 — 복사할 토큰이 없습니다.",step3Title:"어디서든 에이전트 구동",step3Desc:"머신이 즉시 대시보드에 나타납니다. Claude Code, Codex, Cursor CLI 등 CLI 에이전트를 웹에서 실행하고 제어하세요 — IDE 세션도 마찬가지입니다."},plans:{freeName:"Free",proName:"Pro",ultraName:"Ultra",freePer:"/월",proPer:"/월",ultraPer:"/월",freeFeature1:"머신 1개",freeFeature2:"실시간 채팅 릴레이",freeFeature3:"로컬 에이전트 웹 제어",proFeature1:"머신 2개",proFeature2:"AI 에이전트 무제한",proFeature3:"P2P 원격 보기",ultraFeature1:"머신 5개 — 고정 가격, 좌석당 아님",ultraFeature2:"Pro의 모든 것 포함",ultraFeature3:"더 높은 동시성 및 사용 한도",ultraFeature4:"무제한 일일 스크린샷 시간"}},layout:{adminSection:"Admin",adminOverview:"Overview",adminUsers:"Users",adminAuditLogs:"Audit Logs",adminSystem:"System",adminTokens:"어드민 토큰",adminEntry:"Admin",footerPlanTitle:"현재 플랜: {{plan}} — 관리 또는 업그레이드",expandSidebar:"사이드바 펼치기",collapseSidebar:"사이드바 접기",collapse:"접기",logout:"로그아웃",machineLimitBadge:"머신 한도",machineLimitBadgeTitle:"플랜 머신 한도({{count}}개{{plural}})에 도달했습니다 — 결제 페이지에서 업그레이드",pushBudget:"일일 알림 {{used}}/{{limit}}"},settings:{title:"설정",subtitle:"외관 및 환경설정",appearanceTitle:"외관"},planCard:{unlimited:"무제한",machineSingular:"{{count}}개 머신",machinePlural:"{{count}}개 머신",sharedSessionSingular:"공유 세션 {{count}}개",sharedSessionPlural:"공유 세션 {{count}}개",teamMemberSingular:"팀 멤버 {{count}}명",teamMemberPlural:"팀 멤버 {{count}}명",turnIncluded:"TURN 릴레이 포함",recommended:"추천",currentPlan:"현재 플랜",contactUs:"문의하기",freeForever:"영구 무료",startTrial:"7일 무료 체험 시작",upgradeTo:"{{name}}로 업그레이드",noChargeCancel:"7일간 무료. 언제든 취소 가능.",periodSeatMo:"좌석/월",periodMo:"월",yearlyNote:"${{yearly}}/년 — ${{saved}} 절약",pricingCustom:"맞춤 견적"},activity:{origin:{ide:"IDE",extension:"확장",admin:"관리자",webhook:"웹훅",web:"대시보드",user:"사용자",terminal:"터미널",system:"시스템",registry:"레지스트리",mesh:"메시",machine:"머신",daemon:"데몬",connection:"연결",cli:"CLI",auth:"로그인",api_key:"API 키",api:"API",agent:"에이전트"},filterPlaceholder:"작업, 리소스 또는 소스로 필터...",refresh:"새로고침",loading:"불러오는 중...",noLogs:"로그 없음",noMatchingLogs:"일치하는 로그가 없습니다.",logsWillAppear:"작업이 발생하면 여기에 표시됩니다.",colAction:"작업",colResource:"리소스",colSource:"소스",colTime:"시간",logCount:"로그 {{count}}개",logCountFiltered:" ({{total}}개에서 필터됨)",action:{login:"로그인",logout:"로그아웃",api_key_create:"API 키 생성",api_key_revoke:"API 키 폐기",agent_command:"에이전트 명령 전송",terminal_exec:"터미널 명령 실행",ide_command:"IDE 명령 전송",daemon_command:"데몬 명령 전송",daemon_disconnect:"데몬 연결 해제",daemon_revoke:"데몬 폐기",webhook_create:"웹훅 생성",webhook_delete:"웹훅 삭제",webhook_toggle:"웹훅 전환",registry_publish:"프로바이더 게시",registry_promote:"프로바이더 승격",registry_yank:"프로바이더 회수",registry_publish_token_issued:"레지스트리 게시 토큰 발급",machine_registered:"머신 등록",machine_secret_rotated:"머신 시크릿 교체",shortcut_launch:"세션 실행",shortcut_stop:"세션 중지",shortcut_chat:"채팅 메시지 전송",shortcut_chat_debug_bundle:"채팅 디버그 번들 내보내기",shortcut_approve:"에이전트 작업 승인",shortcut_reject:"에이전트 작업 거부",shortcut_git_push:"git 변경사항 푸시",shortcut_git_checkpoint:"git 체크포인트 생성",shortcut_mesh_clone_node:"메시 노드 복제",shortcut_mesh_remove_node:"메시 노드 제거",shortcut_mesh_refine_node:"메시 노드 정제",admin_plan_change:"사용자 플랜 변경",admin_role_change:"사용자 역할 변경",admin_user_suspend:"사용자 정지",admin_user_unsuspend:"사용자 정지 해제",admin_machine_delete:"머신 삭제",admin_token_create:"관리자 토큰 생성",admin_apikey_rate_limit:"API 키 속도 제한 변경",admin_apikey_scopes:"API 키 범위 변경",admin_apikey_revoke:"API 키 폐기",admin_plan_limits_update:"플랜 한도 업데이트",admin_plan_limits_reset:"플랜 한도 초기화",admin_config_update:"시스템 설정 업데이트",admin_announcement:"시스템 공지 게시",admin_disconnect:"연결 해제"}},webhooks:{title:"Webhooks",subtitle:"실시간 이벤트 알림",addWebhook:"+ 웹훅 추가",eventDaemonConnect:"데몬 연결됨",eventDaemonDisconnect:"데몬 연결 해제됨",eventAgentStatus:"에이전트 상태 변경",eventApprovalRequired:"승인 필요",failed:"실패",deleteConfirm:"이 웹훅을 삭제하시겠습니까?",testFailed:"테스트 실패",secretTitle:"웹훅 시크릿",secretShownOncePrefix:"",secretShownOnce:"한 번만",secretShownOnceSuffix:" 표시됩니다. 다음을 검증하는 데 사용하세요: ",copy:"복사",done:"완료",newWebhook:"새 웹훅",labelUrl:"URL",urlPlaceholder:"https://your-service.com/webhook",labelEvents:"이벤트",allEvents:"모든 이벤트 (*)",creating:"생성 중...",create:"생성",cancel:"취소",loading:"불러오는 중...",noWebhooks:"웹훅 없음",noWebhooksDesc:"이벤트에 대한 실시간 알림을 받으세요.",setupFirst:"첫 웹훅 설정",off:"꺼짐",autoDisabled:"자동 비활성화됨",autoDisabledTitle:"연속 10회 실패 후 자동 비활성화됨",failuresWarning:"실패 {{count}}회",failuresTitle:"연속 {{count}}회 실패 — 10회에서 자동 비활성화됩니다",all:"전체",history:"기록",test:"테스트",delete:"삭제",deleting:"...",recentDeliveries:"최근 전송",refresh:"새로고침",noDeliveries:"아직 전달 내역이 없습니다. 테스트를 보내 확인해 보세요.",request:"요청",response:"응답",securityTitle:"보안",securityVerifyPrefix:"",securityVerifySuffix:"을(를) 시크릿으로 검증하세요",securityHttps:"HTTPS 엔드포인트만 사용하세요",securityAsync:"즉시 2xx를 반환하고 비동기로 처리하세요",securityAutoDisable:"연속 10회 실패 후 자동 비활성화됨"},apiKeys:{title:"API 키",keyCount:"키 {{count}}개",playground:"플레이그라운드",create:"+ 생성",scopeDaemonRead:"데몬 읽기",scopeDaemonReadDesc:"데몬 목록 및 상태 조회",scopeDaemonControl:"데몬 제어",scopeDaemonControlDesc:"명령, 실행/중지, 연결 해제",scopeAgentRead:"에이전트 읽기",scopeAgentReadDesc:"상태 및 채팅 기록",scopeAgentControl:"에이전트 제어",scopeAgentControlDesc:"전송, 승인/거부",scopeTerminal:"터미널",scopeTerminalDesc:"명령 실행",scopeWebhooks:"웹훅",scopeWebhooksDesc:"훅 및 전송 관리",frozen:"동결됨",revokeConfirm:"이 API 키를 취소하시겠습니까? 되돌릴 수 없습니다.",failedToLoad:"불러오기 실패",failed:"실패",upgradePlan:"플랜 업그레이드 →",keyCreated:"키 생성됨!",copyNow:"지금 복사하세요 — 한 번만 표시됩니다.",copied:"복사됨",copy:"복사",testKey:"테스트",dismiss:"닫기",playgroundTitle:"API 플레이그라운드",enterKeyToTest:"테스트할 API 키를 입력하세요.",open:"열기",createKeyTitle:"API 키 생성",labelName:"이름",namePlaceholder:"예: Production Bot",permissions:"권한 ({{count}})",createBtn:"생성",cancel:"취소",loading:"불러오는 중...",noKeys:"API 키 없음",noKeysDesc:"외부 서비스와 연동할 키를 생성하세요.",createFirstKey:"첫 키 생성",usedDate:"{{date}} 사용",neverUsed:"사용 안 함",revoke:"취소",usageLabel:"사용법:",apiReference:"API 레퍼런스 →",frozenFeatureTitle:"동결됨 — 이 기능은 일시 중지되었습니다."},shareModal:{title:"세션 공유",chatView:{label:"보기 전용",desc:"AI 대화를 실시간으로 읽기"},chatControl:{label:"제어",desc:"읽기 + 메시지 보내기 + 작업 승인/거부"},remoteView:{label:"보기 전용",desc:"스크린샷 + 채팅을 실시간으로 보기"},remoteControl:{label:"제어",desc:"스크린샷 + 메시지 보내기 + 승인/거부"},remoteFull:{label:"전체 접근",desc:"데스크탑 입력을 포함한 전체 원격 제어"}},onboarding:{title:"첫 번째 머신을 연결하세요",subtitle:"머신에 ADHDev를 설치하고 로그인하면 자동으로 연결되어 여기에 표시됩니다. 그런 다음 이 대시보드에서 모든 에이전트를 제어하세요.",platformMac:"macOS / Linux",platformWindows:"Windows",copyTitle:"클릭하여 복사",copiedLabel:"✓ 복사됨",copyLabel:"복사",listeningLabel:"데몬을 기다리는 중 — 페이지를 열어두세요, 자동으로 나타납니다.",connectingLabel:"ADHDev에 연결 중…",step1Title:"데몬 설치",step1Desc:"제어하려는 머신에서 위 명령을 실행하세요. 데몬과 adhdev CLI가 함께 설치됩니다.",step2Title:"로그인 — 머신이 자동으로 연결됩니다",step2Desc:"데몬이 이 계정에 자동으로 연결됩니다. 토큰을 복사할 필요 없이 연결되는 순간 여기에 나타납니다.",step3Title:"첫 세션을 시작하세요",step3Desc:"머신이 온라인 상태가 되면 대시보드에서 Claude Code, Codex, Cursor 등을 바로 시작할 수 있습니다.",readDocs:"문서 읽기 →",reconnectingLabel:"연결이 끊어졌습니다 — 다시 연결하는 중… 계속되면 네트워크를 확인하세요.",offlineLabel:"오프라인 상태입니다. 인터넷에 다시 연결되면 이 페이지가 자동으로 재개됩니다.",authFailedLabel:"세션이 만료되었습니다 — 계속하려면 다시 로그인하세요.",machineLimitLabel:"머신 한도 도달 — 현재 플랜은 최대 {{limit}}대까지 허용됩니다. 머신을 제거하거나 플랜을 업그레이드해 이 머신을 연결하세요.",machineLimitManage:"머신 관리 →",machineLimitUpgrade:"플랜 업그레이드 →",setupWizardLink:"단계별 안내가 필요하신가요? 설정 마법사 열기 →"},legal:{navHome:"홈",navDashboard:"대시보드",footerHome:"홈",footerTerms:"이용약관",footerPrivacy:"개인정보처리방침",footerRefund:"환불 정책",footerCopyright:"© 2026 RacoLab. All rights reserved."},authCallback:{authFailed:"인증 실패",backToLogin:"로그인으로 돌아가기",completing:"인증을 완료하는 중...",noTokenError:"액세스 토큰을 받지 못했습니다"},cliAuth:{title:"ADHDev CLI 인증",verifying:"확인 중...",authorizeAs:"{{name}}(으)로 CLI를 승인하시겠습니까?",noCodeError:"인증 코드가 제공되지 않았습니다.",approve:"✓ 승인",signInFirst:"CLI를 승인하려면 먼저 로그인해 주세요.",signIn:"로그인 →",failed:"실패",successMessage:"CLI 인증이 완료되었습니다!",returnToTerminal:"터미널로 돌아갈 수 있습니다.",registryPublishTitle:"레지스트리 게시 권한 승인",authorizeRegistryPublishAs:"{{name}}(으)로 프로바이더 레지스트리 게시 권한을 승인하시겠습니까?",registryPublishWarning:"레지스트리의 프로바이더 패키지를 게시·승격·철회할 수 있는 단기 토큰(15분)이 발급됩니다. 데몬 등록이 아닙니다. 직접 레지스트리 게시를 시작한 경우에만 승인하세요. 관리자 계정이 필요합니다.",signInFirstRegistryPublish:"레지스트리 게시를 승인하려면 관리자 계정으로 로그인해 주세요.",approving:"승인 중…",errorFriendly:"CLI 인증을 완료하지 못했습니다.",tryAgain:"다시 시도"},privacy:{title:"개인정보처리방침",lastUpdated:"최종 업데이트: 2026년 9월 27일",intro:'이 개인정보처리방침은 RacoLab("당사")이 ADHDev 서비스("서비스")를 통해 정보를 수집, 사용 및 보호하는 방법을 설명합니다. 서비스 주소:',s1Title:"1. 수집하는 정보",s1h1:"1.1 계정 정보",s1p1:"계정을 생성할 때, 인증 제공자(GitHub 또는 Google)가 제공하는 이름, 이메일 주소, 프로필 사진 등의 정보를 수집합니다.",s1h2:"1.2 IDE 및 에이전트 데이터",s1p2:"개발 환경을 서비스에 연결하면 로컬 데몬이 다음 정보를 전송할 수 있습니다:",s1l1:'IDE 유형 및 버전 (예: "Cursor 0.49.1")',s1l2:"활성 AI 에이전트 정보 (이름, 상태, 현재 모델)",s1l3:"사용자와 AI 에이전트 간의 채팅 메시지",s1l4:"IDE 스크린샷 (P2P로 전송되며 당사 서버에 저장되지 않음)",s1l5:"워크스페이스 경로 및 열린 파일 이름",s1l6:"머신 정보 (호스트명, OS, 메모리 사용량)",s1h3:"1.3 사용 데이터",s1p3:"서비스 개선 및 디버깅을 위해 API 호출, 기능 사용 패턴, 연결 로그 등의 사용 정보를 자동으로 수집합니다.",s1p3Attribution:"또한 유입 경로별 방문 수를 집계 형태로만 셉니다(utm_source 같은 캠페인 태그, 유입한 웹사이트의 도메인, 첫 방문 페이지를 브라우저 로컬 저장소에 보관하며 IP 주소·기기 식별자·쿠키는 사용하지 않습니다). 계정을 만들 때는 어떤 경로로 신규 사용자가 유입되는지 파악하기 위해 첫 방문의 유입 경로를 함께 기록합니다.",s1h4:"1.4 결제 정보",s1p4:"결제 처리는 당사의 판매 대리인인 Paddle(Paddle.com Market Limited)이 전담합니다. 당사는 신용카드 번호, 은행 계좌 정보 또는 기타 금융 정보를 직접 수집하거나 저장하지 않습니다. Paddle의 데이터 처리 관행에 대해서는",s1p4PaddleLink:"Paddle 개인정보처리방침",s1p4Suffix:"을 참조하십시오.",s2Title:"2. 정보 이용 방법",s2p1:"수집된 정보는 다음 목적에 사용됩니다:",s2l1:"서비스 제공 및 유지",s2l2:"신원 인증 및 계정 관리",s2l3:"대시보드와 연결된 머신 간의 명령 및 데이터 라우팅",s2l4:"에이전트 상태 변경에 대한 알림(브라우저 및 푸시) 전송",s2l5:"결제 및 구독 관리 처리 (Paddle을 통해)",s2l6:"남용 또는 무단 접근 감지 및 방지",s2l7:"서비스 개선 및 새 기능 개발",s2l8:"지원 요청 응답",s3Title:"3. 데이터 저장 및 보안",s3h1:"3.1 인프라",s3p1:"당사 서비스는 Cloudflare Workers, Durable Objects 및 D1 Database를 활용하는 Cloudflare의 글로벌 네트워크에서 운영됩니다. 데이터는 Cloudflare 인프라에 저장되며",s3p1CloudflareLink:"Cloudflare 개인정보처리방침",s3h2:"3.2 P2P 데이터",s3p2:"IDE 스크린샷 및 실시간 터미널 데이터는 WebRTC 피어투피어 연결을 통해 브라우저와 머신 간에 직접 전송됩니다. 이 데이터는 당사 서버를 경유하거나 저장되지 않습니다.",s3h3:"3.3 보안 조치",s3p3:"당사는 다음과 같은 보안 조치를 구현합니다:",s3l1:"단기 액세스 토큰 및 리프레시 토큰 순환을 활용한 JWT 기반 인증",s3l2:"암호화된 WebSocket 연결 (WSS/TLS)",s3l3:"데몬 인증을 위한 연결별 토큰",s3l4:"모든 API 엔드포인트에 대한 속도 제한",s3l5:"보안 민감 작업에 대한 감사 로깅",s4Title:"4. 데이터 공유",s4p1:"당사는 개인 데이터를 제3자에게 판매하지 않습니다. 다음과 같은 경우 데이터를 공유할 수 있습니다:",s4l1:"판매 대리인으로서의 결제 처리",s4l2:"인프라 제공업체 (호스팅, CDN, 데이터베이스)",s4l3Label:"인증 제공업체",s4l3:"OAuth 로그인을 위한 GitHub/Google",s4p2:"법률, 법적 절차에 의해 요구되거나 당사의 권리 및 사용자의 안전을 보호하기 위해 필요한 경우 데이터를 공개할 수 있습니다.",s5Title:"5. 데이터 보존",s5p1:"계정이 활성 상태인 동안 계정 데이터를 보존합니다. 채팅 메시지 및 에이전트 활동 데이터는 서비스 기능을 위해 최대 90일간 보존됩니다.",s5p2:"계정 삭제 시 30일 이내에 개인 데이터를 삭제합니다. 일부 익명화된 사용 데이터는 분석 목적으로 보존될 수 있습니다.",s6Title:"6. 귀하의 권리",s6p1:"귀하는 다음과 같은 권리를 보유합니다:",s6l1Label:"열람",s6l1:"개인 데이터 사본 요청",s6l2Label:"정정",s6l2:"개인 정보 업데이트 또는 수정",s6l3Label:"삭제",s6l3:"계정 및 관련 데이터 삭제 요청",s6l4Label:"이동",s6l4:"이동 가능한 형식으로 데이터 다운로드",s6l5Label:"이의",s6l5:"특정 데이터 처리 활동에 대한 이의 제기",s6p2:"이러한 권리를 행사하려면 다음으로 문의하십시오:",s7Title:"7. 쿠키",s7p1:"당사는 인증(세션 토큰) 및 사용자 환경설정(테마, 알림 설정)에 필수 쿠키만 사용합니다. 광고 또는 추적 쿠키는 사용하지 않습니다.",s8Title:"8. 아동 개인정보",s8p1:"서비스는 만 16세 미만의 사용자를 대상으로 하지 않습니다. 당사는 만 16세 미만의 아동으로부터 의도적으로 개인 정보를 수집하지 않습니다.",s9Title:"9. 국제 데이터 이전",s9p1:"귀하의 데이터는 Cloudflare의 글로벌 네트워크를 통해 다양한 위치에서 처리될 수 있습니다. 서비스를 이용함으로써 귀하는 이러한 위치에서의 데이터 이전 및 처리에 동의합니다.",s10Title:"10. 정책 변경",s10p1:"당사는 수시로 이 개인정보처리방침을 업데이트할 수 있습니다. 중요한 변경 사항은 이메일 또는 서비스를 통해 알려드립니다. 변경 후 서비스를 계속 이용하면 업데이트된 정책에 동의한 것으로 간주됩니다.",s11Title:"11. 문의",s11p1:"이 개인정보처리방침 또는 데이터 관행에 대한 문의:",s11l1Prefix:"이메일:",s11l2Prefix:"웹사이트:"},terms:{title:"이용약관",lastUpdated:"최종 업데이트: 2026년 4월 11일",intro:'ADHDev("서비스")에 오신 것을 환영합니다. 서비스는 RacoLab("당사")이 운영합니다.',introSuffix:'에서 서비스에 접근하거나 이용함으로써 이 이용약관("약관")에 동의하게 됩니다. 동의하지 않으시면 서비스를 이용하지 마십시오.',s1Title:"1. 서비스 설명",s1p1:"ADHDev는 웹 및 모바일 대시보드를 통해 AI 코딩 에이전트(Cursor, VS Code, Antigravity, Claude Code 등)를 원격으로 모니터링하고 제어할 수 있는 클라우드 개발자 도구입니다. 서비스에는 로컬 데몬, 원격 대시보드, REST API 접근, 브라우저 및 푸시 알림이 포함됩니다.",s2Title:"2. 계정 등록",s2p1:"서비스를 이용하려면 계정을 생성해야 합니다. 계정 자격증명의 기밀 유지는 귀하의 책임입니다. 등록 시 정확하고 완전한 정보를 제공하고 계정 정보를 최신 상태로 유지하는 데 동의합니다.",s2p2:"서비스를 이용하려면 만 16세 이상이어야 합니다. 계정을 생성함으로써 이 연령 요건을 충족함을 확인합니다.",s3Title:"3. 구독 플랜 및 결제",s3p1:"서비스는 다음 플랜을 제공합니다:",s3l1:"제한된 기능, 연결 머신 1대",s3l2:"연결 머신 2대, 무제한 에이전트, P2P 원격 보기, 7일 무료 체험",s3l3:"연결 머신 5대, Pro의 모든 기능 및 더 높은 동시성과 사용 한도 (좌석당이 아닌 정액 요금)",s3p2:"유료 구독은 월별 또는 연간 단위로 선불 청구됩니다. 모든 결제는 당사의 결제 파트너인 Paddle(Paddle.com Market Limited)이 처리하며, Paddle은 모든 거래에서 판매 대리인으로 활동합니다.",s4Title:"4. 환불 정책",s4p1:"당사는 모든 유료 플랜에 대해 14일 환불 보장을 제공합니다. 서비스에 만족하지 못하시면 최초 구매 후 14일 이내에 다음 주소로 문의하여 전액 환불을 요청할 수 있습니다:",s4p2:"갱신에 대한 환불은 사례별로 처리됩니다. 판매 대리인인 Paddle의 환불 정책도 적용됩니다.",s5Title:"5. 허용 사용",s5p1:"귀하는 다음 행위를 하지 않는 데 동의합니다:",s5l1:"불법적인 목적이나 관련 법률을 위반하여 서비스 사용",s5l2:"다른 사용자의 계정이나 데이터에 무단으로 접근 시도",s5l3:"서비스 서버 구성 요소의 소스 코드를 역공학, 디컴파일 또는 추출 시도",s5l4:"악성 소프트웨어, 스팸 또는 기타 유해 콘텐츠 전송에 서비스 사용",s5l5:"당사의 서면 동의 없이 서비스 재판매 또는 재배포",s5l6:"서비스의 무결성 또는 성능 방해 또는 중단",s6Title:"6. 지식재산권",s6p1:"원본 콘텐츠, 기능 및 기능성을 포함한 서비스는 RacoLab이 소유하며 관련 지식재산법의 보호를 받습니다. 로컬 데몬 구성 요소는 프로젝트 저장소에 명시된 오픈소스 라이선스 하에 제공됩니다.",s6p2:"귀하는 서비스를 통해 전송하는 모든 데이터 및 콘텐츠의 소유권을 보유합니다.",s7Title:"7. 데이터 및 개인정보",s7p1:"서비스 이용은 당사의",s7PrivacyLink:"개인정보처리방침",s7p1Suffix:"에도 적용됩니다. 서비스는 원격 모니터링 및 제어 목적으로 IDE 상호작용, 채팅 메시지 및 스크린샷을 처리합니다. 당사는 귀하의 데이터를 제3자에게 판매하지 않습니다.",s8Title:"8. 서비스 가용성",s8p1:"당사는 높은 가용성을 유지하려 노력하지만 중단 없는 접근을 보장하지는 않습니다. 서비스는 유지보수, 업데이트 또는 당사의 통제 밖의 상황으로 인해 일시적으로 이용 불가할 수 있습니다. 당사는 서비스 중단으로 인한 손실에 대해 책임을 지지 않습니다.",s9Title:"9. 책임의 제한",s9p1:"법이 허용하는 최대 범위 내에서, RacoLab은 서비스 이용으로 인해 발생하는 간접적, 부수적, 특별, 결과적 또는 징벌적 손해, 또는 이익이나 수익 손실에 대해 직간접적으로 책임을 지지 않습니다.",s9p2:"서비스로부터 발생하는 모든 청구에 대한 당사의 총 책임은 청구 이전 12개월 동안 귀하가 지불한 금액을 초과하지 않습니다.",s10Title:"10. 해지",s10p1:"당사는 이 약관 위반이나 기타 이유로 언제든지 귀하의 서비스 접근을 정지하거나 종료할 수 있습니다. 귀하는 설정 페이지를 통해 언제든지 계정을 취소할 수 있습니다. 취소 후 30일 이내에 귀하의 데이터가 삭제됩니다.",s11Title:"11. 약관 변경",s11p1:"당사는 언제든지 이 약관을 수정할 권리를 보유합니다. 중요한 변경 사항은 이메일 또는 서비스를 통해 알려드립니다. 변경 후 서비스를 계속 이용하면 수정된 약관에 동의한 것으로 간주됩니다.",s12Title:"12. 준거법",s12p1:"이 약관은 법률 충돌 조항에 관계없이 대한민국 법률에 따라 해석됩니다.",s13Title:"13. 문의",s13p1:"이 약관에 대한 질문이 있으시면 문의해 주세요:",s13l1Prefix:"이메일:",s13l2Prefix:"웹사이트:"},refund:{title:"환불 정책",lastUpdated:"최종 업데이트: 2026년 3월 24일",intro:"ADHDev는 RacoLab이 운영합니다. 모든 결제는 당사의 판매 대리인인",introSuffix:"이 결제, 청구서 발행 및 환불을 대신 처리합니다.",s1Title:"1. 14일 환불 보장",s1p1:"당사는 모든 유료 플랜(Pro)에 대해 14일 환불 보장을 제공합니다. 어떤 이유로든 서비스에 만족하지 못하신다면, 최초 구독 구매 후 14일 이내에 전액 환불을 요청할 수 있습니다.",s1p2:"환불을 요청하려면 다음 이메일로 계정 이메일과 주문 정보를 포함하여 문의하십시오:",s1p2Suffix:"3영업일 이내에 요청을 처리해 드리겠습니다.",s2Title:"2. 갱신 환불",s2p1:"구독 갱신(월별 또는 연간)에 대한 환불은 사례별로 처리됩니다. 의도치 않은 갱신 요금이 청구된 경우, 청구 후 7일 이내에 다음으로 문의해 주세요:",s3Title:"3. 환불 불가 사례",s3p1:"다음의 경우 환불이 제공되지 않습니다:",s3l1:"최초 구매 14일 보장 기간 이후에 요청된 환불",s3l2Prefix:"다음을 위반하여 정지 또는 해지된 계정:",s3l2Link:"이용약관",s3l3:"환불 기간을 초과하여 이미 사용된 부분 서비스 기간",s4Title:"4. 환불 처리 방법",s4p1:"승인된 환불은 Paddle을 통해 처리되어 원래 결제 수단으로 반환됩니다. 은행이나 카드사에 따라 환불이 나타나는 데 5~10영업일이 소요될 수 있습니다. Paddle의",s4p1RefundLink:"환불 약관",s4p1Suffix:"도 적용됩니다.",s5Title:"5. 취소",s5p1Prefix:"대시보드의",s5p1BillingLink:"결제",s5p1Suffix:"페이지에서 언제든지 구독을 취소할 수 있습니다. 취소하면 이후 요금이 청구되지 않습니다. 현재 결제 기간이 끝날 때까지 플랜 기능을 계속 이용할 수 있습니다. 취소 자체로는 환불이 발생하지 않습니다.",s6Title:"6. 문의",s6p1:"환불 요청 또는 결제 관련 문의:",s6l1Prefix:"이메일:",s6l2Prefix:"웹사이트:"},sessionShare:{loading:"세션 불러오는 중...",sessionNotFound:"세션을 찾을 수 없음",noLongerAvailable:"이 세션은 더 이상 사용할 수 없습니다",homeBtn:"← ADHDev 홈",sharedSession:"공유된 세션",host:"호스트",mode:"모드",permission:"권한",auth:"인증",authRequired:"계정 필요",viewers:"시청자",joinChat:"채팅 참여",joinSession:"세션 참여",expires:"만료: {{date}}",chatLabel:"채팅",remoteLabel:"원격",waitingMessages:"메시지 대기 중...",connecting:"연결 중... ({{state}})",sendMessageAs:"{{name}}으로 메시지 전송...",sendAs:"{{name}}으로 전송...",ownerChat:"{{name}}의 채팅",ownerSession:"{{name}}의 세션",agentName:"{{name}}의 에이전트",fullControlBadge:"전체 제어 활성",failedToJoin:"세션 참여 실패",sessionRevoked:"호스트가 세션을 취소했습니다",sessionExpired:"세션이 만료되었습니다",authRequired2:"제어 공유에는 인증이 필요합니다",unknownError:"알 수 없는 오류"},apiPlayground:{title:"API 플레이그라운드",history:"기록 ({{count}})",apiRelayWarning:"데몬 API 릴레이는 선택 사항입니다. 해당 데몬에서 `adhdev daemon:api enable`로 명시적으로 활성화하지 않으면 REST 명령/채팅 프록시 경로가 비활성화됩니다.",authBearer:"Authorization: Bearer {{key}}",copyAsCurl:"cURL",copied:"복사됨",targetDaemon:"대상 데몬",quickActions:"빠른 작업",requestBody:"요청 본문 (JSON)",recentRequests:"최근 요청",clearHistory:"지우기",noDaemonsWarning:"연결된 데몬이 없습니다. 먼저 데몬을 시작하거나 {daemonId}를 직접 교체하세요.",send:"▶ 전송",sending:"⏳"},announcementBanner:{visibleUntil:"{{time}}까지 표시",dismiss:"닫기"},push:{budgetResetsShort:"{{time}}에 초기화",budgetRemainingShort:"오늘 플랜에서 {{count}}개 남음",budgetShort:"오늘 {{used}}/{{limit}}",title:"푸시 알림",descUnsupported:"이 브라우저에서는 지원되지 않습니다",descDenied:"차단됨 — 브라우저 설정에서 허용하세요",descEnabled:"켜짐",descDefault:"탭을 닫아도 알림을 받습니다",docsLink:"푸시 알림 문서",sent:"전송됨",test:"테스트",iosHint:"iPhone과 iPad에서는 설치된 Safari PWA에서만 푸시가 동작합니다. 일반 Safari 탭은 ADHDev 푸시 알림을 받을 수 없습니다.",unsupportedWarning:"이 브라우저는 여기서 웹 푸시를 지원하지 않습니다. iPhone/iPad에서는 Safari PWA를, 데스크톱/Android에서는 Chromium 계열 브라우저를 사용하세요.",deniedWarning:"브라우저 또는 사이트 설정에서 알림이 차단되어 있습니다. 그곳에서 다시 허용한 뒤 푸시 알림을 다시 켜세요.",registeredDevices:"등록된 기기: {{count}}",noDevices:"활성 푸시 기기가 없습니다.",deviceLabel:"기기 {{number}}",thisDevice:"이 기기",lastActive:"마지막 활동",removing:"제거 중...",removeHere:"여기서 제거",remove:"제거"},mesh:{manualMcpSetup:"이 프로바이더는 Repo Mesh 코디네이터로 동작하려면 수동 MCP 설정이 필요합니다.",couldNotLoadMeshes:"메시를 불러오지 못했습니다",untitledMesh:"제목 없는 메시",chooseMachineFirst:"먼저 머신을 선택하세요.",launchFailed:"실행 실패",coordinatorLaunchFailed:"코디네이터 실행 실패",coordinatorLaunched:"코디네이터 실행됨 ({{sessionId}})",coordinatorLaunchSent:"코디네이터 실행 명령을 보냈습니다"},plans:{free:"Free",pro:"Pro",ultra:"Ultra",team:"Team",enterprise:"Enterprise"},adminAudit:{title:"전역 감사",subtitle:"시스템 전역 이벤트 추적",allActions:"모든 작업",allSources:"모든 소스",filter:"필터",noLogs:"로그가 없습니다",loading:"불러오는 중...",loadMore:"더 보기 ↓"},adminDashboard:{failedToLoad:"관리자 데이터를 불러오지 못했습니다",title:"관리자 대시보드",subtitle:"서비스 개요 및 관리",accessDenied:"관리자 접근이 거부되었습니다",backToDashboard:"대시보드로 돌아가기",loading:"관리자 대시보드 불러오는 중",loadingDesc:"서비스 통계와 최근 감사 활동을 수집하는 중입니다.",totalUsers:"전체 사용자",todayCommands:"오늘 명령",activeApiKeys:"활성 API 키",todayLogins:"오늘 로그인",planDistribution:"플랜 분포",quickActions:"빠른 작업",manageUsers:"사용자 관리",apiKeys:"API 키",auditLogs:"감사 로그",systemConfig:"시스템 설정",recentActivity:"최근 활동",viewAll:"전체 보기",noRecentActivity:"최근 활동 없음"},adminTokens:{title:"어드민 토큰",subtitle:"배포 자동화를 위한 어드민 권한 API 토큰 발급",superAdminOnly:"슈퍼 관리자 전용",superAdminOnlyDesc:"어드민 토큰은 슈퍼 관리자만 발급할 수 있습니다. 필요하면 슈퍼 관리자에게 요청하세요.",issueTitle:"새 토큰 발급",nameLabel:"이름",namePlaceholder:"예: deploy-ci",scopesLabel:"스코프",scopesHint:"admin은 대부분의 어드민 API를 포함합니다. super_admin은 토큰 발급과 역할 변경까지 가능하므로 꼭 필요할 때만 부여하세요.",expiryLabel:"만료 기간",expiryDays:"{{count}}일",expiryHint:"어드민 토큰은 항상 만료됩니다. 서버가 최대 90일로 제한합니다.",issue:"토큰 발급",issuing:"발급 중...",issuedTitle:"지금 토큰을 복사하세요",issuedWarning:"토큰은 이번 한 번만 표시됩니다. 안전한 곳에 보관하세요 — 다시 확인할 수 없습니다.",issuedMeta:"스코프: {{scopes}} · 만료: {{expiresAt}}",copy:"복사",copied:"복사됨",copyFailed:"복사 실패 — 토큰을 직접 선택해 복사하세요",dismiss:"닫기",expiryClamped:"만료 기간이 최대치인 90일로 조정되었습니다",existingTitle:"활성 어드민 토큰",emptyTitle:"어드민 토큰 없음",emptyDesc:"위에서 발급하면 브라우저 로그인 없이 배포를 인증할 수 있습니다.",expiresAt:"만료: {{time}}",lastUsed:"마지막 사용 {{time}}",neverUsed:"사용 이력 없음",noExpiry:"만료 없음",expired:"만료됨",revoke:"폐기",revokeConfirm:'토큰 "{{name}}"을(를) 폐기할까요? 이 토큰을 쓰던 곳은 즉시 동작을 멈춥니다.',revoked:"토큰이 폐기되었습니다",loading:"불러오는 중...",error:"오류: {{message}}"},adminSystem:{error:"오류: {{message}}",announcementSent:"공지가 전송되었습니다",announcementCleared:"공지가 해제되었습니다",title:"시스템 설정",subtitle:"공지 및 시스템 구성",loading:"시스템 설정 불러오는 중",loadingDesc:"현재 공지 상태를 가져오는 중입니다.",announcement:"공지",current:"현재:",untilTime:"({{time}}까지)",untilCleared:"(해제될 때까지)",announcementPlaceholder:"공지 메시지를 입력하세요...",severityInfo:"정보",severityWarning:"경고",severityCritical:"심각",duration1h:"1시간",duration6h:"6시간",duration24h:"24시간",duration7d:"7일",durationUntilCleared:"해제될 때까지",send:"전송"},adminUsers:{error:"오류: {{message}}",roleUpdated:"역할이 변경되었습니다",planUpdated:"플랜이 변경되었습니다",suspensionReasonPrompt:"정지 사유를 입력하세요:",userSuspended:"사용자가 정지되었습니다",userUnsuspended:"사용자 정지가 해제되었습니다",title:"사용자 관리",subtitle:"사용자, 역할, 정지 관리",usersTotal:"명 전체",searchPlaceholder:"이메일 또는 이름 검색...",allRoles:"모든 역할",roleUser:"사용자",roleAdmin:"관리자",roleSuperAdmin:"슈퍼 관리자",allPlans:"모든 플랜",search:"검색",colUser:"사용자",colRole:"역할",colPlan:"플랜",colStatus:"상태",colCreated:"생성일",colActions:"작업",noName:"이름 없음",statusSuspended:"정지됨",statusActive:"활성",unsuspend:"정지 해제",suspend:"정지",loading:"불러오는 중...",prev:"← 이전",next:"다음 →"}},P={onboardingTour:{next:"다음",getStarted:"시작하기",learnMore:"문서에서 더 알아보기",closeAria:"안내 닫기",allSetStandalone:{desc:"이 대시보드는 이미 로컬 데몬에 연결되어 있습니다. 대시보드 탭에서 세션을 시작하거나, 머신 → 프로바이더에서 프로바이더를 추가하세요.",title:"준비가 끝났습니다"},getStartedCloud:{desc:"조작하려는 머신에서 이 명령을 실행한 뒤 로그인하세요. 데몬이 대시보드에 자동으로 연결됩니다.",title:"시작하기"},orchestrate:{desc:"Repo Mesh(Cloud Pro)를 쓰면 코디네이터 하나가 여러 머신의 에이전트에게 작업을 나눠 줍니다 — 병렬 git 워크트리, 자동 브랜치 수렴, 같은 저장소를 여러 관점에서 교차 검증.",title:"에이전트 오케스트레이션"},watchAndSteer:{desc:"각 에이전트의 세션을 실시간으로 따라가며 작업 중에 방향을 잡아 주세요. 세션을 전환하고, 스크린샷을 찍고, (IDE 세션이라면) 직접 연결로 화면을 보고 조작할 수 있습니다.",title:"실시간으로 보고 조종하기"},realtimeChat:{desc:"AI 에이전트가 하는 일을 실시간으로 보세요. 메시지를 보내고, 작업을 승인하거나 거절하는 일을 모두 브라우저나 휴대폰에서 할 수 있습니다.",title:"실시간 채팅"},welcome:{desc:"Claude Code, Codex, Antigravity CLI 같은 로컬 CLI 코딩 에이전트를 브라우저나 휴대폰에서 바로 조작하세요. 에이전트는 내 머신에서 계속 실행되고, 웹에서 제어합니다.",title:"ADHDev에 오신 것을 환영합니다"}},installCommand:{orViaNpm:"또는 npm으로:",clickToCopy:"클릭해서 복사"},errorBoundary:{reload:"페이지 새로 고침",description:"예상치 못한 오류가 발생했습니다. 계속하려면 페이지를 새로 고치세요.",title:"문제가 발생했습니다"},shellFreshness:{dismissAria:"업데이트 알림 닫기",later:"나중에",reload:"새로 고침",message:"ADHDev 새 버전이 나왔습니다."},dashboardWire:{reloadTitle:"새로고침이 필요합니다",reloadBody:"이 페이지가 연결된 데몬보다 오래되어 데몬 상태를 읽을 수 없습니다. 새로고침해서 최신 대시보드를 받으세요.",reload:"새로고침",daemonUpdateTitle:"데몬 업데이트가 필요합니다",daemonUpdateBody:"{{count}}대의 머신이 이 대시보드가 읽을 수 없는 이전 데몬을 실행 중입니다. `adhdev update`(또는 머신 페이지의 업데이트 동작)로 업데이트하세요."},openMenu:"메뉴 열기",closeMenu:"메뉴 닫기"},A={loadingOlderMessages:"이전 메시지 불러오는 중...",waitingForMessages:"메시지를 기다리는 중...",agentGenerating:"에이전트가 응답 중...",jumpToTop:"맨 위로 이동",jumpToOldestMessages:"가장 오래된 메시지로 이동",top:"↑ 맨 위",latest:"↓ 최신",jumpToLatestMessages:"최신 메시지로 이동",jumpToBottom:"맨 아래로 이동",showEarlierMessages:"↑ 이전 메시지 {{count}}개 표시...",showEarlierMessagesHidden:"↑ 이전 메시지 {{count}}개 표시... ({{total}}개 숨김)",loadOlderMessages:"↑ 이전 메시지 불러오기",loadErrorRetry:"↻ {{error}}"},k={zoomOut:"축소",zoomIn:"확대",resetZoom:"확대/축소 초기화",toggleFullscreen:"전체화면 전환"},L={screenshotAlt:"원격 화면",mouse:"마우스",touch:"터치",connected:"연결됨",ws:"재연결 중",direct:"직접",relay:"릴레이",turnBlocked:"오늘 화면 보기 한도 도달",turnUsage:"화면 {{used}}/{{budget}}분",typeAndEnter:"입력 후 Enter...",settings:"설정",zoom:"확대/축소:",fill:"꽉 채우기",fit:"맞추기",directP2PTitle:"직접 P2P 연결",turnRelayTitle:"TURN 릴레이 사용 중",dailyTurnTitle:"오늘 사용한 원격 화면 보기 시간 (플랜 한도)",waitingState:{turnRelayActive:"TURN 릴레이 활성"},waiting:{connectedLabel:"연결됨. 첫 프레임 대기 중...",connectingLabel:"호스트에 연결 중...",reconnectingLabel:"호스트에 재연결 중...",connectedHint:"원격 스트림을 준비하고 있습니다",reconnectingHint:"원격 스트림이 따라잡기를 기다리는 중입니다"},error:{title:"원격 연결이 끊어졌습니다",reasonFailed:"이 호스트에 대한 연결이 실패했습니다. 데몬이 실행 중인지 확인한 후 다시 시도하세요.",reasonDisconnected:"호스트와의 연결이 끊어졌고 15초 후에도 재연결하지 못했습니다.",retry:"재시도"},screenshotViewer:{altText:"IDE 스크린샷",waitingForStream:"스크린샷 스트림을 기다리는 중...",p2pStatus:"P2P: {{state}}"}},I={openChat:"채팅 열기",openCoordinatorChat:"코디네이터 채팅 열기",coordinatorGone:"코디네이터 세션 종료됨",chatNotFound:"이 대시보드에 해당 세션의 채팅 탭이 없습니다 — 다른 머신에서 실행 중일 수 있습니다.",openChatHint:"클릭하면 이 세션의 채팅을 엽니다"},H={meshNodeUnavailable:"메시 노드 정보를 불러올 수 없음",roleCoordinator:"메시 코디네이터",rowProviderType:"프로바이더 유형",rowStarted:"시작",copyDiagnostics:"진단 정보 복사",gitClean:"변경 없음",gitDirty:"커밋 안 된 변경 있음",gitDetached:"(분리됨)",blockRawMetadata:"원시 런타임 메타데이터",blockFinalPrompt:"최종 시스템 프롬프트",blockExtraPrompt:"이번 실행의 추가 프롬프트",quotaOkNoWindows:"한도 없음",sectionMeshWorker:"코디네이터가 스폰한 세션",rowMeshId:"Mesh ID",rowTaskId:"태스크",rowCoordinator:"코디네이터",title:"세션 정보",loading:"불러오는 중…",close:"닫기",failedToLoad:"세션 정보를 불러오지 못했습니다",stampedToNode:"이 세션은 코디네이터가 더 이상 보고하지 않는 mesh 노드에 스탬프되어 있습니다.",sectionSession:"세션",sectionLaunch:"실행",sectionMeshNode:"Mesh 노드",sectionMeshCoordinator:"Mesh 코디네이터",sectionRuntime:"런타임",rowSessionId:"세션 ID",rowProvider:"프로바이더",rowTransport:"전송",rowWorkspace:"워크스페이스",rowSpawnedAt:"생성 시각",rowProviderSessionId:"프로바이더 세션 ID",rowMachine:"머신",rowConnection:"연결",rowCommand:"명령어",rowWorkingDirectory:"작업 디렉토리",rowArgs:"인수",rowExtraArgs:"추가 인수",rowExtraEnv:"추가 환경 변수",rowNodeId:"노드 ID",rowRepoRoot:"저장소 루트",rowDaemonId:"데몬 ID",rowRole:"역할",rowMachineStatus:"머신 상태",rowHealth:"상태",rowWorktree:"워크트리",rowLaunchReady:"실행 준비",rowGit:"Git",rowProviders:"프로바이더",rowProviderPriority:"프로바이더 우선순위",rowCoordinatorCli:"코디네이터 CLI",rowStartedAt:"시작 시각",rowPromptInjection:"프롬프트 주입",rowMcpConfig:"MCP 설정",rowRuntimeId:"런타임 ID",rowLifecycle:"라이프사이클",rowSurface:"화면",rowRecoveryState:"복구 상태",rowRestoredFromStorage:"스토리지에서 복원됨",rowAttachedClients:"연결된 클라이언트"},M={mobile:{noHistoryMatches:"이 필터에 맞는 저장 기록이 없습니다.",workspaceMissing:"(워크스페이스 없음)",resumableOnly:"이어갈 수 있는 것만",sortMessages:"메시지 많은 순",sortOldest:"오래된 순",sortRecent:"최신순",filterModel:"모델로 필터",filterWorkspace:"워크스페이스로 필터",searchHistory:"제목 또는 미리보기 검색",useThisFolder:"이 폴더 사용",browseDescription:"일반 탐색기처럼 폴더를 이동한 뒤, 현재 폴더를 이 머신에 사용하세요.",browseTitle:"워크스페이스 선택",machineDetails:"머신 상세",inspect:"살펴보기",showMore:"{{count}}개 더 보기",showFewer:"간략히 보기",recentLaunches:"최근 실행",currentChats:"진행 중인 채팅",machineFallback:"머신"},daemonUpdate:{previewUnknownDescription:"앱은 프리뷰에 연결되어 있지만 서버가 아직 프리뷰 대상 버전을 알려 주지 않았습니다.",previewUpToDateDescription:"이 머신은 이미 현재 프리뷰 데몬을 실행 중입니다.",previewUnknownTitle:"프리뷰 업데이트 상태를 알 수 없음",previewUpToDateTitle:"프리뷰 데몬이 최신입니다",mismatchDescription:"이 머신은 현재 앱과 다른 데몬 버전을 실행 중입니다. 세션을 더 시작하기 전에 업데이트하세요.",previewUpgradeDescription:"원격 셸을 열지 않고도 이 머신을 현재 프리뷰 데몬으로 업데이트할 수 있습니다.",requiredDescription:"이 머신의 데몬 버전이 호환되지 않습니다. 세션을 더 시작하기 전에 업데이트하세요.",mismatchTitle:"버전 불일치 감지",requiredTitle:"데몬 업데이트 필요",upgrade:"업데이트",updateNow:"지금 업데이트"},launchPick:{empty:"저장된 워크스페이스가 아직 없습니다. 워크스페이스 탭에서 추가하거나 위에 경로를 입력하세요.",description:"미리 정해진 곳은 없습니다. 저장된 워크스페이스, 기본 워크스페이스, 홈 중에서 고르거나 — 취소하고 경로를 직접 입력하세요.",title:"어디에서 실행할까요?"},trustBadge:{externalUntrustedHint:"직접 추가한 외부 소스에서 왔고, ADHDev가 실행할 코드를 포함합니다. 켜기 전에 소스를 검토하세요.",externalSafeHint:"직접 추가한 외부 소스에서 왔습니다. 설정만 담고 있어 ADHDev가 그 코드를 실행하지 않습니다.",trustedWithScriptsHint:"ADHDev가 공식 제공합니다. ADHDev가 실행하는 스크립트를 포함합니다.",trustedHint:"ADHDev가 공식 제공합니다. 설정만 담고 있어 프로바이더 코드가 실행되지 않습니다.",userCustomHint:"내 프로바이더 폴더에서 직접 만든 프로바이더입니다. 내 코드가 실행됩니다.",externalUntrusted:"외부 · 코드 실행",externalSafe:"외부",trustedWithScripts:"공식 · 스크립트",trusted:"공식",userCustom:"사용자 정의"},providerSettings:{option:{high:"높음",medium:"보통",low:"낮음"},notifications:{description:"{{provider}}의 상태가 바뀌면 알림을 표시합니다.",label:"알림"},showCoordinatorSystemPrompt:{description:"주입된 시스템 프롬프트를 채팅 메시지로 표시합니다. 기본값은 끔이며, 채팅 헤더의 세션 정보(ⓘ)에서 언제든 볼 수 있습니다.",label:"시스템 프롬프트 메시지 표시"},showTerminal:{description:"터미널 명령과 출력을 채팅에 표시합니다.",label:"터미널 표시"},showToolCalls:{description:"도구 호출 요약(검색, 편집 등)을 채팅에 표시합니다.",label:"도구 호출 표시"},showThinking:{description:"에이전트의 추론 과정을 채팅에 표시합니다.",label:"생각 과정 표시"},longGeneratingThresholdSec:{description:"장시간 작업 알림이 울리기까지의 시간입니다.",label:"장시간 기준 (초)"},longGeneratingAlert:{description:"응답이 유난히 오래 걸리면 알려 줍니다.",label:"장시간 작업 알림"},approvalAlert:{description:"{{provider}}이(가) 승인을 기다릴 때 알려 줍니다.",label:"승인 알림"},appPathOverride:{description:"IDE 앱의 전체 경로(선택). 비워 두면 일반적인 설치 위치에서 찾습니다.",label:"앱 경로"},cliPathOverride:{description:"IDE 명령줄 실행기의 전체 경로(선택). 비워 두면 감지된 경로를 사용합니다.",label:"CLI 실행기 경로"},executableArgs:{description:"{{provider}} 시작 시 기본 인자 대신 쓸 인자(선택). 비워 두면 기본값을 사용합니다.",label:"실행 인자"},executablePath:{description:"{{provider}} 프로그램의 전체 경로(선택). 비워 두면 PATH에서 찾습니다.",label:"실행 파일 경로"},autoApprove:{description:"{{provider}}의 도구 실행·확인 요청을 묻지 않고 자동으로 승인합니다.",label:"자동 승인"},enabled:{description:"ADHDev가 이 머신에서 {{provider}}을(를) 감지·실행·확인하기 전에 먼저 켜 주세요.",label:"이 머신에서 사용"},thisProvider:"이 프로바이더"},launchConfirm:{workspace:"워크스페이스",languageModel:"언어 모델 (선택 사항)",autoDetect:"자동 감지 또는 기본값",cliArgs:"CLI 인수 (선택 사항)",cliArgsPlaceholder:"예: --experimental",cancel:"취소",closeAria:"실행 확인 닫기",launch:"실행",launching:"실행 중…"},confirmExternal:{aboutToActivateFrom:"{{source}}의 {{provider}}을(를) 켜려고 합니다.",aboutToActivate:"{{provider}}을(를) 켜려고 합니다.",dialogAria:"신뢰할 수 없는 외부 프로바이더 확인",title:"신뢰할 수 없는 외부 프로바이더를 활성화하시겠습니까?",description:"이 manifest는 데몬이 실행할 JavaScript를 포함하고 있습니다. 신뢰할 수 없는 코드로 취급하여 활성화 전에 소스를 검토하세요.",proceedWarning:"추가한 소스 URL을 신뢰하고 manifest를 검토한 경우에만 진행하세요.",cancel:"취소",activate:"활성화"},providers:{advancedHint:"소스, 로드 경로, 프로바이더 세부 정보",filter:"필터",sourceConfigTitle:"프로바이더 소스 설정",sourceConfigDesc:"데몬이 프로바이더 manifest를 찾는 위치입니다. 해석 및 재로드에 영향을 줍니다.",sourceMode:"소스 모드",explicitProviderDir:"프로바이더 디렉토리 직접 지정",providerDirPlaceholder:"비워두면 ~/.adhdev/providers 사용",applying:"적용 중…",applyReload:"적용 + 재로드",userRoot:"사용자 루트:",upstreamRoot:"업스트림 루트:",providerRoots:"프로바이더 루트:",loadingSettings:"프로바이더 설정 불러오는 중…",noProviders:"아직 설치된 프로바이더가 없습니다 — 위의 설치를 누르거나 고급에서 소스를 추가하세요.",noFilteredProviders:"{{filter}} 프로바이더가 설치되어 있지 않습니다.",refresh:"새로고침",updateAll:"모두 업데이트",advanced:"고급",newChannelTypesTitle:"설치 가능",newChannelTypesDesc:"검증 채널에 게시됐지만 이 머신에는 아직 설치되지 않았습니다. 설치하면 digest 검증된 번들이 활성화됩니다.",installNewType:"설치",modelListTitle:"모델 목록",modelListStaleDesc:"이 CLI들에서 모델 목록을 읽지 못했습니다(로그아웃·오프라인·미지원 출력). 매니페스트의 목록을 사용 중이며 낡았을 수 있습니다.",modelListStaleBadge:"미검증",installFailedTitle:"설치 실패",installFailedDigestMismatch:"설치 실패 — 나중에 다시 시도하세요",loadFailed:"프로바이더 설정 로드 실패: {{error}}",quotaToggleFailed:"{{provider}}의 쿼터 조회 설정 변경 실패: {{error}}"},sourcesPanel:{title:"외부 소스",description:"추가한 서드파티 git URL입니다. 여기의 프로바이더는 데몬이 실행할 JavaScript를 포함할 수 있어 활성화 시 확인이 필요합니다.",addSource:"+ 소스 추가",empty:'등록된 외부 소스가 없습니다. "+ 소스 추가"로 서드파티 프로바이더 git URL을 등록하세요.',remove:"제거",removing:"…",removeConfirmTitle:"프로바이더 소스 {{name}}을(를) 제거할까요?",removeConfirmDescription:"클론된 매니페스트가 삭제되고 이 소스를 가리키던 활성 소스 항목도 초기화됩니다.",removeConfirmLabel:"제거",conflictsTitle:"충돌",conflictsDescription:"여러 소스가 동일한 프로바이더 타입을 제공합니다. 어느 소스의 사본을 활성화할지 선택하세요.",active:"활성",switchActiveTo:"{{name}}(으)로 활성 전환",addTitle:"외부 소스 추가",gitUrl:"Git URL",ref:"Ref (브랜치/태그)",name:"이름 (선택, URL에서 자동 생성)",cancel:"취소",cloning:"클론 중…",cloneAndRegister:"클론 + 등록",loadFailed:"소스 로드 실패",addFailed:"소스 추가 실패",removeFailed:"소스 제거 실패",setActiveFailed:"활성 소스 설정 실패"},providerRow:{detectDisabledHint:"확인하기 전에 프로바이더를 켜 주세요",detectHint:"설정된 프로그램을 찾고 실행할 수 있는지 확인합니다",lifecycleDeprecated:"지원 종료",lifecycleExperimental:"실험적",lifecycleBeta:"베타",lifecycleStable:"안정",checkFailed:"실패",checkOk:"정상",statusDetected:"감지됨",statusNotDetected:"감지되지 않음",statusEnabledUnchecked:"활성화됨 (미확인)",statusDisabled:"비활성화됨",labelType:"유형:",labelVersion:"버전:",labelBinary:"바이너리:",labelStatus:"상태:",labelDetails:"상세:",labelSource:"소스:",labelTrust:"신뢰:",labelLinks:"링크:",labelDetection:"감지:",labelVerification:"검증:",saving:"저장 중…",disable:"비활성화",enable:"활성화",detect:"감지",resetCommand:"명령어 초기화",quotaAccountLabel:"사용량에 계정 표시",quotaAccountLabelHint:"이 프로바이더의 플랜 사용량에 로그인 계정을 함께 표시합니다. 끄면 계정을 숨기는 게 아니라 아예 조회하지 않습니다.",quotaAccountLabelOn:"켬",quotaAccountLabelOff:"끔",quotaTracking:"쿼터 추적",quotaTrackingHint:"이 provider의 플랜 쿼터를 주기적으로 읽어 대시보드에 표시합니다. 끄면 조회를 완전히 중단합니다.",quotaTrackingOn:"켜짐",quotaTrackingOff:"꺼짐",quotaClaudeConfirmTitle:"Claude 쿼터 추적을 켤까요?",quotaClaudeConfirmBody:"Claude Code에는 쿼터 API가 없어서, ADHDev는 유일한 경로인 statusLine을 통해 사용량을 읽습니다. 켜면 ~/.claude/settings.json의 statusLine 명령이 ADHDev 래퍼로 교체됩니다. 기존 명령은 래퍼 안에서 계속 실행되고 출력은 그대로 전달되므로 보이는 프롬프트는 동일합니다. 파일의 다른 설정은 변경하지 않습니다. 기존 값은 먼저 백업되며 `adhdev quota claude:uninstall`로 언제든 복원할 수 있습니다.",quotaClaudeConfirmOk:"설치하고 켜기",quotaClaudeConfirmCancel:"취소",labelSpecPin:"스펙 핀:",labelActivatedAt:"적용 시각:",labelPreviousPin:"이전 핀:",labelDigest:"다이제스트:",specPinStale:"{{latest}} 있음",specPinStaleHint:"이 머신은 옛 스펙을 로드 중입니다. 채널에는 {{latest}} 가 있습니다.",updateInline:"업데이트",updateInlineHint:"채널에 {{latest}}가 있습니다. 이 머신에 내려받아 검증한 뒤 적용합니다.",specPinUpdating:"업데이트 중…",specPinRollback:"되돌리기",specPinRollbackHint:"스펙 {{version}} 으로 되돌립니다(로컬, 다운로드 없음).",specPinRollingBack:"되돌리는 중…"},installOptions:{title:"{{provider}} 설정",quotaLabel:"플랜 사용량 추적",quotaHint:"이 프로바이더의 플랜 사용량을 주기적으로 읽어 대시보드와 `adhdev quota`에 남은 양을 표시합니다. 끄면 읽기를 완전히 중단하며 아무것도 수집하지 않습니다.",quotaClaudeNote:"Claude Code에는 quota API가 없어, ~/.claude/settings.json에 ADHDev statusLine 래퍼를 설치합니다. 기존 명령은 래퍼 안에서 계속 실행되며 원본은 백업됩니다.",autoApproveLabel:"도구 호출 자동 승인",autoApproveHint:"에이전트가 명령 실행·파일 수정·도구 사용 권한을 물을 때 ADHDev가 대신 예로 답합니다. 승인 창은 표시되지 않고 작업이 곧바로 실행됩니다.",autoApproveWarning:"에이전트가 확인 없이 이 머신에서 명령을 실행할 수 있습니다. 직접 승인하려면 이 옵션을 끄세요.",cancel:"취소",confirm:"프로바이더 활성화"},card:{status:{offline:"오프라인",failed:"연결 실패",connecting:"연결 중…",online:"온라인"},slowLink:"느린 연결",coresCount_other:"{{count}}코어",coresCount_one:"{{count}}코어",onMachine:"{{machine}}에서",sectionIDEs:"IDEs",sectionCLIs:"CLIs",cpu:"CPU",mem:"MEM",loading:"머신을 불러오는 중…",emptyHeadline:"ADHDev에 오신 것을 환영합니다",emptyBody:"대시보드에 첫 번째 머신을 연결하세요. 해당 머신에 ADHDev를 설치하고 로그인하면 자동으로 페어링되어 여기에 표시됩니다:",emptyDocsLink:"문서 읽기 →",hidden:"숨김",pageTitle:"머신",burrowCount_one:"머신 {{count}}개",burrowCount_other:"머신 {{count}}개",onlineCount_one:"{{count}}개 온라인",onlineCount_other:"{{count}}개 온라인",agentsActive_one:"에이전트 {{count}}개 활성",agentsActive_other:"에이전트 {{count}}개 활성",activeNow:"활성 중",generating:"생성 중",connectionFailed:"연결 실패",reconnect:"재연결",transportRelay:"릴레이 서버를 거쳐 연결됨 — 직접 연결보다 느립니다. 보통 방화벽이나 NAT가 직접 경로를 막고 있습니다.",transportDirect:"직접 연결",noAgentsRunning:"실행 중인 에이전트 없음",launchCta:"실행 →"},detail:{relaunchFailed:"다시 실행하지 못했습니다",launchProvider:"프로바이더",launchType:"유형",tabsAriaLabel:"머신 섹션",tabSessions:"세션",notFound:"머신을 찾을 수 없습니다",save:"저장",cancel:"취소",loading:"머신 불러오는 중...",offlineHint:"머신이 오프라인이거나 아직 연결되지 않았을 수 있습니다.",back:"← 뒤로",tabHostedRuntimes:"호스팅 런타임",tabProviders:"프로바이더",tabSystem:"시스템",tabLogs:"로그",clickToSetNickname:"클릭하여 닉네임 설정",nicknamePlaceholder:"머신 닉네임...",reconnect:"재연결",p2pConnected:"연결됨",providerUpdatesAvailable:"프로바이더 업데이트 있음",providerSyncSuccess:"프로바이더 채널 동기화 완료 — {{count}}개 갱신",providerSyncAlreadyCurrent:"프로바이더 채널이 이미 최신입니다",providerSyncFailed:"프로바이더 업데이트 실패"},commandCenter:{updateStatusUnknown:"업데이트 상태 알 수 없음",upToDate:"최신 상태",updateDaemon:"데몬 업데이트",updateToVersion:"v{{version}}로 업데이트",updateChannel:{preview:"프리뷰",stable:"정식"},updateTargetWithChannel:"대상: v{{version}} ({{channel}})",updateTarget:"대상: v{{version}}",currentChats:"현재 채팅",recentLaunches:"최근 실행",daemonUpdate:"데몬 업데이트"},workspaceBrowse:{currentFolder:"현재 폴더",parent:"상위 폴더",go:"이동",pathPlaceholder:"폴더 경로 입력",loading:"폴더 불러오는 중…",noSubfolders:"하위 폴더가 없습니다.",useThisFolder:"이 폴더 사용"},managedWorkspaces:{setDefaultHint:"기본 워크스페이스로 설정",unsetDefaultHint:"기본 워크스페이스 — 클릭하면 해제",title:"워크스페이스",addWorkspace:"워크스페이스 추가",empty:'저장된 워크스페이스가 없습니다. "{{button}}" 버튼으로 폴더를 선택하세요.',addDialogDescription:"일반 탐색기처럼 머신을 둘러본 뒤, 현재 폴더를 워크스페이스로 추가하세요.",remove:"제거",newSession:"이 워크스페이스에서 새 세션 시작",newSessionShort:"세션",newMeshSession:"이 워크스페이스에서 메시 코디네이터 세션 시작",newMeshSessionShort:"메시",removeConfirmTitle:"워크스페이스 제거",removeConfirmDescription:'"{{label}}"을(를) 목록에서 제거할까요? 폴더 자체는 삭제되지 않습니다.',rename:"이름 바꾸기",renamePlaceholder:"워크스페이스 이름",saveName:"저장",cancelRename:"취소",renameFailed:"워크스페이스 이름을 바꾸지 못했습니다"},overview:{diagnostics:"진단",p2p:"P2P",daemonVersion:"데몬 버전",cores:"CPU 코어",platform:"플랫폼",hostname:"호스트 이름",aboutMachine:"이 머신",approx:"(근사치)",memory:"메모리",cpuDetail:"평균 {{load}} / {{cores}}코어",cpuLoad:"CPU 부하",resourceUsage:"리소스 사용량",waiting:"대기 중…",uptime:"가동 시간",waitingForStats:"실시간 통계 대기 중…",waitingForStatsWithTotal:"실시간 통계 대기 중… · 총 {{total}}"},quota:{text:{failureKind:{unknown:"알 수 없는 오류","no-data":"아직 읽은 값 없음","setup-required":"설정 필요",unsupported:"지원되지 않음","cli-unavailable":"프로그램을 찾을 수 없음",parse:"응답을 해석할 수 없음",server:"프로바이더 서버 오류",network:"네트워크 오류","rate-limited":"요청 제한됨","quota-exhausted":"플랜 한도 도달",unauthorized:"접근 거부","expired-token":"로그인 만료","missing-credentials":"로그인 필요"},agoDays:"{{days}}일 {{hours}}시간 전",agoHours:"{{hours}}시간 {{minutes}}분 전",agoMinutes:"{{minutes}}분 전",justNow:"방금",unreadable:"사용량을 읽지 못함",unavailable:"이 머신에서는 사용할 수 없음",pool:"풀",usageSessions:"세션 {{count}}",usageTokens:"토큰 {{count}}",windowReset:"초기화됨 · 새 값 대기 중",cue:{stale:"오래된 값",refreshing:"새로 고치는 중"},resetsInDays:"{{days}}일 {{hours}}시간 후 초기화",resetsInHours:"{{hours}}시간 {{minutes}}분 후 초기화",resetsInMinutes:"{{minutes}}분 후 초기화",resetsNow:"곧 초기화",used:"{{percent}}% 사용"},title:"플랜 사용량",sessionHint:"이 머신이 보고한 5시간 롤링 플랜 창",weeklyHint:"이 머신이 보고한 7일 롤링 플랜 창",monthlyHint:"이 머신이 보고한 30일 결제 주기 윈도우",bucketHint:"이 머신이 보고한 풀별 쿼터 버킷 — 한 플랜의 풀들은 서로 독립적으로 리셋됩니다",failureHint:"이 머신이 해당 프로바이더의 사용량을 읽지 못했다고 보고했습니다",okNoWindows:"한도 없음",okNoWindowsHint:"쿼터 조회는 성공했고, 이 프로바이더는 퍼센트 윈도우를 보고하지 않습니다 (예: 포함 사용량 플랜).",accountHint:"이 사용량이 속한 로그인 계정 — 프로바이더 CLI 가 보고한 값",usageHint:"최근 기간의 절대 사용량입니다 — 이 프로바이더는 사용자의 업스트림 계정으로 라우팅되므로 퍼센트로 표시할 플랜 한도가 없습니다."},actions:{nicknameSyncFailed:"머신 별칭은 바뀌었지만 계정 동기화에 실패했습니다",nicknameFailed:"별칭을 저장하지 못했습니다",nicknameTimeout:"머신이 응답하지 않습니다 — 연결 상태를 확인하고 다시 시도하세요",nicknameSaved:"별칭 저장됨",pathMissing:"디스크에 경로가 없을 수 있습니다",workspaceActionFailed:"워크스페이스 변경 실패",workspaceAdded:"워크스페이스 추가됨",detectFailed:"IDE 감지 실패",usingDefaultWorkspace:"기본 워크스페이스 사용 중",runningInHome:"홈 디렉터리에서 실행 중",launchPending:"{{name}} 시작 중 — 곧 표시됩니다",launchFailed:"{{name}}을(를) 실행하지 못했습니다",launching:"{{name}} 실행 중…",stopCliConfirmDescription:"프로세스가 종료됩니다.",stopIdeConfirmDescription:"CDP 연결을 해제하고 필요 시 프로세스를 종료합니다.",stopped:"{{name}} 중지됨",launched:"{{name}} 실행됨",stopFailed:"중지하지 못했습니다",restartInitiated:"{{name}} 재시작을 시작했습니다",restartFailed:"재시작하지 못했습니다",selectProviderFirst:"먼저 CLI 프로바이더를 선택하세요",selectProvider:"프로바이더를 선택하세요",workspaceRemoved:"워크스페이스가 제거되었습니다",workspaceLabelUpdated:"워크스페이스 이름이 변경되었습니다",defaultWorkspaceUpdated:"기본 워크스페이스가 변경되었습니다",defaultWorkspaceCleared:"기본 워크스페이스가 해제되었습니다",idesFound_one:"IDE {{count}}개를 찾았습니다",idesFound_other:"IDE {{count}}개를 찾았습니다"},logsTabSections:{view:"보기",filterInfo:"정보+ ({{count}})",filterIssues:"이슈 ({{count}})",filterAll:"전체 ({{count}})",searchPlaceholder:"진단 검색…",copyDiagnostics:"진단 복사",copyVisible:"표시된 항목 복사",pause:"일시정지",resume:"재개",refresh:"↻ 새로고침",clear:"지우기",advancedSourceScope:"고급 소스 범위",daemonLevelPlus:"데몬 {{level}}+",diagnosticsTimeline:"진단 타임라인",visibleEventsIssues:"표시된 이벤트 {{events}}개 · 이슈 신호 {{issues}}개",filteredBy:"“{{query}}”로 필터링됨",mergedByTime:"데몬, 트레이스, 브라우저 신호를 시간순으로 병합",latestIssue:"최근 이슈",noVisibleIssue:"표시할 warn/error 신호 없음",sourceStatus:"소스 상태",needsAttention:"주의 필요",livePolling:"3초마다 실시간 폴링",paused:"일시정지됨",lastUpdate:"마지막 업데이트: {{time}}",notYetLoaded:"아직 로드되지 않음",rawFile:"원시 파일",sourceDaemon:"데몬",sourceTrace:"트레이스",sourceBrowser:"브라우저",repeatedIssuePatterns:"반복되는 이슈 패턴",unifiedTimeline:"통합 타임라인",visibleDiagnosticEvents:"표시된 진단 이벤트 {{count}}개",hide:"숨기기",show:"표시",loadingDiagnostics:"진단 로딩 중…",daemonLogsError:"데몬 로그: {{error}}",daemonTraceError:"데몬 트레이스: {{error}}",noDiagnosticsMatch:"현재 보기와 일치하는 진단이 없습니다.",rawSourceDaemonLogs:"원시 소스 · 데몬 로그",visibleRawLinesFallback:"파일 폴백에서 표시된 원시 라인 {{count}}개",visibleStructuredLines:"표시된 구조화 라인 {{count}}개",loadingDaemonLogs:"데몬 로그 로딩 중…",noDaemonLogsYet:"이 머신에 아직 캡처된 데몬 로그가 없습니다.",noRawLinesMatchSearch:"현재 검색과 일치하는 원시 데몬 로그 라인이 없습니다.",rawFallbackOnlyInAll:"원시 파일 폴백 로그는 전체 보기에서만 사용할 수 있습니다.",noStructuredLogsMatch:"현재 보기와 일치하는 구조화된 데몬 로그가 없습니다.",rawSourceDaemonTrace:"원시 소스 · 데몬 트레이스",sessionHostOnly:"session_host만",visibleTraceEvents:"표시된 트레이스 이벤트 {{count}}개",loadingDaemonTrace:"데몬 트레이스 로딩 중…",noTraceEntriesMatchSearch:"현재 검색과 일치하는 트레이스 항목이 없습니다.",noSessionHostTraceYet:"아직 session host 트레이스 항목이 없습니다.",noTraceEntriesYet:"아직 트레이스 항목이 없습니다.",noPayload:"페이로드 없음",rawSourceBrowserEvents:"원시 소스 · 브라우저 디버그 이벤트",visibleBrowserEvents:"표시된 브라우저 이벤트 {{count}}개",noBrowserEventsMatchSearch:"현재 검색과 일치하는 브라우저 디버그 이벤트가 없습니다.",noBrowserEventsYet:"아직 캡처된 브라우저 디버그 이벤트가 없습니다."}},R={transition:{recover:"복구됨",detach:"분리됨",attach:"연결됨",start:"시작됨",stop:"중지됨",restart:"재시작됨",resume:"재개됨"},lastErrorLabel:"마지막 오류",endpointLabel:"엔드포인트",activeAgo:"{{time}} 활동",title:"호스팅 런타임 복구",stopConfirmTitle:"{{name}}을(를) 중지할까요?",stopConfirmDescription:"호스팅 런타임이 종료됩니다.",pruneConfirmTitle:"중복 호스팅 런타임을 정리할까요?",pruneConfirmDescription:"각 프로바이더 세션의 최신 런타임만 남기고 오래된 중복은 중지 후 제거합니다.",prune:"정리",pruning:"정리 중…",pruneDuplicatesCount:"중복 정리 ({{count}})",toastResumed:"세션 호스트 재개됨: {{name}}",toastRestarted:"세션 호스트 재시작됨: {{name}}",toastStopped:"세션 호스트 중지됨: {{name}}",toastPruned:"{{groups}}개 그룹에서 중복 런타임 {{pruned}}개를 정리했습니다",actionFailed:"세션 호스트 작업 실패",pruneFailed:"중복 정리 실패",diagnosticsFailed:"호스팅 런타임 진단을 불러오지 못했습니다",diagnosticsAttention:"호스팅 런타임 진단에 확인이 필요합니다",stop:"중지",stopping:"중지 중…",restart:"재시작",restarting:"재시작 중…",resume:"재개",resuming:"재개 중…",recover:"복구",recovering:"복구 중…",refresh:"새로고침",refreshing:"새로고침 중…",noWorkspace:"워크스페이스 없음",clientsCount_one:"클라이언트 {{count}}개",clientsCount_other:"클라이언트 {{count}}개",statLive:"라이브 런타임",statRecovery:"복구",statRequests:"요청",statStarted:"시작 시각",latestWarning:"최근 호스트 경고",liveTitle:"라이브 호스팅 런타임",recoveryTitle:"복구 스냅샷",inactiveTitle:"비활성 기록",recentActivity:"최근 호스트 활동",liveEmpty:"지금 이 머신에 라이브 호스팅 런타임이 없습니다.",recoveryEmpty:"현재 확인이 필요한 복구 스냅샷이 없습니다.",transitionsEmpty:"아직 최근 런타임 전환 기록이 없습니다.",nextAction:"다음: {{action}}"},_={managed:"관리됨",checking:"확인 중…",diagnosticsIssue:"진단 문제",unavailable:"사용 불가",restoredAfterRestart:"재시작 후 복원됨",restoreFailed:"복원 실패",hostRestartInterrupted:"호스트 재시작이 중단됨",snapshotRecovered:"스냅샷 복구됨",attach:"연결",recover:"복구",restart:"재시작",hintLive:"이 런타임은 현재 라이브 상태이며 연결 가능한 유일한 대상입니다.",hintRecovery:"이 기록들은 session-host 상태에서 복원된 것으로, 명시적으로 복구하거나 재시작하기 전까지는 라이브 연결 대상이 아닙니다.",hintInactive:"이 비활성 기록은 참고용으로 표시되며 대개 다시 유용해지려면 재시작이 필요합니다.",lifecycleStarting:"시작 중",lifecycleRunning:"실행 중",lifecycleStopping:"중지 중",lifecycleStopped:"중지됨",lifecycleFailed:"실패",lifecycleInterrupted:"중단됨"},F={advancedTitle:"고급",mobileMode:{workspaceMode:"작업 공간",chatMode:"채팅 모드",descriptionWorkspace:"휴대폰과 태블릿에서도 전체 작업 공간 레이아웃을 사용합니다.",descriptionChat:"채팅 중심의 모바일 받은편지함 레이아웃을 사용합니다. 메신저 앱에 가깝습니다.",label:"모바일 받은편지함 (채팅 모드)"},theme:{preset:{honey:"따뜻한 노란색 포인트",aurora:"핑크 포인트 테마",ember:"랜딩 페이지에서 영감을 받은 기본 앰버 테마",midnight:"클래식 보라색 테마"},presetCustomDescription:"앱 전체 + 채팅 사용자 정의",helloHelp:"안녕하세요! 어떻게 도와드릴까요?",fixBug:"버그를 고쳐주세요",onIt:"알겠습니다! ✨",customEditorTitle:"커스텀 테마 편집기",darkMode:"다크 모드",lightMode:"라이트 모드",sectionAppBackground:"앱 배경",sectionAppText:"앱 텍스트",sectionBordersAccent:"테두리 및 강조색",sectionChatBubbles:"채팅 말풍선",sectionChatLayout:"채팅 레이아웃",colorBackground:"배경",colorSurface:"서피스",colorCard:"카드",colorPrimary:"기본",colorSecondary:"보조",colorMuted:"흐림",colorBorderSubtle:"테두리 (미묘)",colorBorderDefault:"테두리 (기본)",colorAccent:"강조색",colorUserBubble:"사용자 말풍선",colorUserText:"사용자 텍스트",colorAgentBubble:"에이전트 말풍선",colorAgentText:"에이전트 텍스트",colorChatBg:"채팅 배경",colorSendButton:"전송 버튼",colorInputBorder:"입력 테두리",labelBubbleRadius:"말풍선 둥글기",resetToDefaults:"기본값으로 초기화",customLabel:"커스텀"},providerPriority:{undetectedHint_other:"{{count}}개 프로바이더가 여기서 감지되지 않았습니다 — 순서는 유지되며 사용 가능해질 때까지 건너뜁니다.",undetectedHint_one:"{{count}}개 프로바이더가 여기서 감지되지 않았습니다 — 순서는 유지되며 사용 가능해질 때까지 건너뜁니다.",orderHint:"실행 시 위에서 아래 순서로 사용합니다.",noMoreProviders:"감지된 다른 CLI 프로바이더 없음",selectProvider:"프로바이더 선택…",moveDown:"아래로 이동",moveUp:"위로 이동",keptUntilDetected:"순서는 유지되며, 이 머신에서 감지될 때까지 실행 시 건너뜁니다.",emptyWarning:"프로바이더 순서가 설정되지 않았습니다. CLI 프로바이더를 지정하지 않은 실행은 거부됩니다.",available:"사용 가능",notOnMachine:"감지 안 됨",remove:"제거",addCliLabel:"사용 가능한 CLI 프로바이더 추가",addProvider:"프로바이더 추가"},coordinatorPrompts:{saveFailed:"저장하지 못했습니다",loadFailed:"코디네이터 프롬프트를 불러오지 못했습니다",save:"저장",saved:"저장됨",saving:"저장 중…",appendPlaceholder:"(비어 있음 — 이 단계에서 덧붙이는 내용 없음)",overridePlaceholder:"(비어 있음 — 기본 프롬프트 사용)",placeholdersHint:"사용 가능한 자리표시자:",resetHint:"필드를 비우고 저장하면 제거됩니다(기본값으로 복원).",intro:"이 데몬의 메시 코디네이터 세션이 받는 프롬프트를 사용자 정의합니다.",loading:"불러오는 중…",connectDaemon:"코디네이터 프롬프트를 편집하려면 데몬을 연결하세요.",overrideDesc:"<strong>Override</strong>는 해당 CLI의 데몬 내장 기본 프롬프트를 대체합니다.",appendDesc:"<strong>Append</strong>는 선택된 기본 프롬프트 뒤에 추가됩니다.",overrideLabel:"덮어쓰기",appendLabel:"덧붙이기",expandLabel:"프롬프트 편집",collapseLabel:"접기",customizedBadge:"커스텀",collapsedNone:"커스텀 프롬프트 없음 — 데몬 기본값 사용 중.",tabsAriaLabel:"코디네이터 프롬프트 프로바이더",sectionTitle:"코디네이터 프롬프트",sectionDescription:"이 머신의 메시 코디네이터 세션에 적용되는 CLI별 기본 프롬프트입니다. 메시 단위 프롬프트는 Repo Mesh 페이지에 있습니다."},appearance:{modeSystem:"시스템",modeLight:"라이트",modeDark:"다크",modeLabel:"모드",themeLabel:"테마",mobileLabel:"모바일",chatLabel:"채팅"},chatActivity:{rowLabel:"채팅에 에이전트 활동 표시",descriptionOn:"도구 호출, 터미널 출력, 생각이 채팅 메시지 사이에 표시됩니다.",descriptionOff:"대화만 표시됩니다. 도구 호출·터미널 출력·생각은 숨겨집니다."}},N={chatHistory:"채팅 기록",startNewChat:"+ 새 채팅 세션 시작",creating:"생성 중...",searchPlaceholder:"제목 또는 미리보기 검색",filterWorkspace:"워크스페이스로 필터",filterModel:"모델로 필터",sortRecent:"최신순",sortOldest:"오래된순",sortMessages:"메시지 많은순",resumeReadyOnly:"재개 가능만",untitledSession:"제목 없는 세션",noSavedPreview:"저장된 미리보기 없음",workspaceUnknown:"워크스페이스 알 수 없음",selectedWorkspaceSuffix:" · 선택한 워크스페이스",msgCount:"메시지 {{count}}개",statusActive:"활성",statusMissingWorkspace:"워크스페이스 없음",statusResumeSelectedWorkspace:"선택한 워크스페이스에서 재개",statusResuming:"재개 중...",statusResume:"재개",noMatchingHistory:"이 필터와 일치하는 저장 기록이 없습니다.",noRecentChats:"최근 채팅 세션이 없습니다.",refreshHistory:"기록 새로고침",refreshing:"새로고침 중...",confirmSwitchTitle:"세션을 전환할까요?",confirmSwitchDescription:'"{{target}}"(으)로 전환하시겠습니까? 현재 화면에서 벗어납니다.',confirmSwitchAction:"전환"},x={gallery:{next:"다음 화면",previous:"이전 화면",slides:{overview:"미션과 활동 — 휴대폰에서",tasks:"워커 전체의 작업 큐",map:"노드와 브랜치의 실시간 지도",desktop:"같은 메시, 데스크톱 화면"}},theme:{system:"시스템 테마",light:"라이트 테마",dark:"다크 테마"},nav:{home:"ADHDev 홈",mesh:"Mesh",what:"소개",agents:"에이전트",pricing:"요금제",install:"설치",github:"GitHub",docs:"문서",getStarted:"시작하기",toggleMenu:"메뉴 토글",mainNavigation:"주 내비게이션"},hero:{badge:"Claude Code, Codex, Cursor 등 — 내 모든 머신에서",title:"내 컴퓨터에서 실행 중인 코딩 에이전트를 어디서든 관리하세요.",subtitleInstall:"<os></os>에 ADHDev를 설치하세요.",subtitlePlace:"<device></device>으로",subtitleAsk:"<coordinator></coordinator>에게 부탁해 <worker></worker>에게 레포 <verb></verb>를 맡기세요.",subtitleFrom:"<place></place>",anywhere:"어디서든",subtitleLand:"여러 에이전트를 동시에 돌려도 서로 밟지 않습니다.",axes:{os:["Mac","Windows","Linux"],place:["지하철에서","카페에서","부모님 댁에서","침대에서","소파에서","정원에서","조수석에서","페리에서","헬스장에서","컨테이너 안에서","달에서","서버 랙에서"],device:["데스크톱","노트북","태블릿","휴대폰"],verb:["디버그","빌드","테스트","리뷰"]},copyInstall:"설치 명령어 복사: {{cmd}}",copied:"복사됨",copy:"복사",getStarted:"무료로 시작하기",orInstall:"또는 CLI 설치",openSource:"GitHub 오픈소스",joinDiscord:"Discord 참여",selfHost:"셀프 호스팅 가능",demoDesktop:"ADHDev 커맨드 센터가 여러 머신의 에이전트 세션을 실시간으로 구동하는 모습",demoPush:"ADHDev 모바일 푸시 알림 및 원탭 승인"},mesh:{sectionTitle:"서로 밟지 않는 병렬 에이전트.",sectionSubtitle:"에이전트를 병렬로 돌리는 건 쉬운 부분입니다 — 이제 모든 도구가 그걸 합니다. 어려운 건 그 이후입니다: 확인하고 머지해야 할 브랜치 더미. ADHDev가 그걸 대신 처리해서, 검토 큐가 아니라 main에 완성된 작업이 도착합니다.",refineryHighlight:"자동 착지",refineryTitle:"완료된 작업이 스스로 main에 머지됩니다",refineryDesc:"누구나 에이전트 열 개를 동시에 돌릴 수 있습니다. 그다음이 문제죠. ADHDev는 각 브랜치를 프로젝트의 테스트와 린트로 확인한 뒤, 깨끗하게 통과한 것만 자동으로 main에 머지하고 정리합니다 — force-push는 절대 없습니다. 애매한 것은 머지하지 않고 검토용으로 남겨둡니다.",asyncHighlight:"지시하는 곳은 한 군데",asyncTitle:"한 곳에 지시하면, 나머지는 알아서 실행됩니다.",asyncDesc:"코디네이터 한 곳에 작업을 넘기면, 모든 머신의 모든 에이전트를 대신 돌립니다. 승인이 필요하거나 완료됐을 때만 알려주므로, 지켜봐야 할 에이전트 창도, 앞에 앉아 있을 필요도 없습니다.",crossPlatformHighlight:"모든 OS를 동시에",crossPlatformTitle:"맥, 윈도우, 리눅스 — 동시에",crossPlatformDesc:"태그 하나로 특정 운영체제에 작업을 보냅니다. 프롬프트 하나로 이미 보유한 맥·윈도우·리눅스 머신에서 빌드, 테스트, 검증을 병렬로 실행합니다 — SSH 설정도, 가상 머신도 필요 없습니다.",monoHighlight:"실제 레포에서 동작",monoTitle:"git 서브모듈에서도 안전합니다",monoDesc:"실제 프로덕션 레포는 서브모듈을 품고 있는데, 바로 거기서 단순한 자동 머지가 깨집니다. ADHDev는 이를 안전하게 다룹니다: main을 건드리기 전에 서브모듈 변경이 제대로 반영·연결됐는지 먼저 확인합니다. 이 프로젝트 자체가 서브모듈 2개를 가진 레포이고, 매일 이 방식으로 머지됩니다.",crossHighlight:"두 번째 의견",crossTitle:"단일 의견이 아닌 합의",crossSubtitle:"하나의 질문, 여러 독립 에이전트",crossDesc:"코디네이터가 같은 읽기 전용 질문을 여러 머신과 모델에 동시에 던지고, 어디서 일치하고 어디서 갈리는지 비교합니다. 에이전트 하나의 답보다 신뢰할 수 있습니다.",tryMesh:"Repo Mesh 사용해보기 →",seePlans:"요금제 보기",availableOn:"머신을 연결하고 <strong>Repo Mesh</strong> 페이지에서 바로 시작하세요.",readGuide:"가이드 읽기"},compare:{sectionTitle:"병렬 에이전트는 이제 어디에나 있습니다. 서로 안 꼬이게 하는 건 다른 문제죠.",sectionSubtitle:"로컬 CLI는 서브에이전트를 생성하고, 데스크톱 오케스트레이터는 네이티브 UI로 워크트리에 작업을 분배합니다. 둘 다 브랜치에서 멈추고, 검토와 머지는 여러분 몫으로 남습니다. 각 도구가 더 잘 맞는 경우까지 포함해 아래에 비교했습니다.",colLocalCli:"로컬 CLI + 서브에이전트",colDesktop:"데스크톱 오케스트레이터",colAdhdev:"ADHDev Repo Mesh",rowLandsMain:"완료 작업을 main에 착지",rowLandsMainLocalCli:"게이트 실행과 머지를 직접 해야 합니다",rowLandsMainDesktop:"작업을 병렬화한 후 브랜치를 검토하도록 넘겨줍니다",rowLandsMainAdhdev:"Refinery가 레포의 게이트를 실행하고, 패치 동등성을 확인하고, main이 움직이지 않았을 때만 리베이스 후 병합합니다 — 자동, force-push 없음",rowSubmodules:"git 서브모듈 안전 처리",rowSubmodulesLocalCli:"서브모듈을 인식하는 머지 자동화 없음",rowSubmodulesDesktop:"워크트리 병렬화는 있지만 머지는 직접 해야 합니다",rowSubmodulesAdhdev:"서브모듈 인식 수렴: 도달 가능성 게이트, 패치 동등성 검사, 원자적 포인터 범프 — 이 모노레포에서 매일 검증됨",rowAsync:"한 곳에 비동기로 지시",rowAsyncLocalCli:"한 번에 하나의 세션, 동기적으로",rowAsyncDesktop:"각 에이전트 창을 직접 감시해야 합니다",rowAsyncAdhdev:"코디네이터 하나가 이벤트 루프로 모든 워커를 구동 — 완료/승인 이벤트를 기다리므로 폴링이나 감시 불필요",rowMultiMachine:"여러 물리 머신",rowMultiMachineLocalCli:"하나의 호스트 프로세스만",rowMultiMachineDesktop:"실행 중인 하나의 머신에만 종속",rowMultiMachineAdhdev:"P2P로 연결된 원격 데몬 — Mac, Windows, Linux 노드가 하나의 메시로, SSH 설정 없이",rowParallelBranch:"병렬 격리 브랜치 작업",rowParallelBranchLocalCli:"서브에이전트가 하나의 작업 트리를 공유 — 동시 쓰기 충돌",rowParallelBranchDesktop:"태스크당 git 워크트리 하나 — 핵심 강점",rowParallelBranchAdhdev:"노드당 git 워크트리 하나 — 코어뿐 아니라 머신 간 병렬",rowBrowser:"브라우저나 폰에서 구동",rowBrowserLocalCli:"터미널 앞에 있어야 합니다",rowBrowserDesktop:"네이티브 데스크톱 앱 — 그 책상에 있어야 합니다",rowBrowserAdhdev:"웹 퍼스트: 어떤 브라우저나 폰에서도 세션 제어 및 승인 가능",rowNativeApp:"네이티브 데스크톱 앱",rowNativeAppLocalCli:"터미널만",rowNativeAppDesktop:"세련된 네이티브 창 — 앞에 두고 쓰기엔 훨씬 좋습니다",rowNativeAppAdhdev:"웹 퍼스트입니다 — 네이티브 앱이 아닌 브라우저 탭",rowRestarts:"재시작 및 컨텍스트 손실 후에도 유지",rowRestartsLocalCli:"상태가 세션에 살아 있음 — 닫으면 사라집니다",rowRestartsDesktop:"상태가 앱 프로세스에 종속",rowRestartsAdhdev:"미션은 디스크에 지속되며 코디네이터나 데몬 재시작 후에도 재개 — 추가 전용 감사 로그",rowCrossCheck:"답을 교차 검증",rowCrossCheckLocalCli:"에이전트 하나의 판단, 두 번째 의견 없음",rowCrossCheckDesktop:"병렬 작업, 단일 판정",rowCrossCheckAdhdev:"코디네이터가 동일한 읽기 전용 질문을 서로 다른 머신 × 프로바이더 에이전트에 보내고 차이를 비교합니다",footnote:"단일 머신, 단일 브랜치, 일회성 작업이라면 — 서브에이전트를 가진 로컬 CLI가 더 가볍고 잘 작동하며, 네이티브 데스크톱 오케스트레이터가 더 쾌적합니다. Repo Mesh는 작업이 여러 머신과 브랜치로 분산되고, 재시작 후에도 유지되어야 하며, 어디서든 제어하면서 자동으로 main에 착지해야 할 때 진가를 발휘합니다."},what:{sectionTitle:"어떤 에이전트든, 자유롭게 혼합",sectionSubtitle:"설계부터 벤더 중립. Mac에서 Claude Code, Windows GPU 박스에서 Codex, 리뷰 패스에 Cursor CLI — 모두 같은 메시에서, 같은 대시보드로 구동합니다. 플랫폼을 바꾸지 않고 벤더를 바꿉니다.",cliHighlight:"CLI 에이전트",cliTitle:"어떤 터미널 에이전트든 웹에서 구동",cliDesc:"Claude Code, Codex CLI, Cursor CLI, Antigravity CLI, Grok, Kimi, OpenCode — PTY 어댑터를 통해 내 머신에서 실행되어 재개 및 재연결이 가능하며, 브라우저에서 구동됩니다. 즉시 프롬프트를 보내고 시각적 컨텍스트를 제공하세요(붙여넣기, 드래그 앤 드롭, 또는 여러 이미지를 한 번에 업로드).",uiHighlight:"하나의 UI",uiTitle:"같은 대시보드, 어떤 기기에서든",uiDesc:"adhf.dev에 클라우드로 호스팅 — 책상에 있든 없든 노트북이나 폰에서 모든 에이전트를 구동합니다.",ideHighlight:"IDE 에이전트",ideTitle:"실행 중인 에디터에도 연결",ideDesc:"Cursor, VS Code, VSCodium, Windsurf, Antigravity, Kiro, PearAI, Trae. 실시간 채팅 읽기, 프롬프트 전송, 세션 전환, 스크린샷 캡처.",p2pHighlight:"처음부터 끝까지 여러분의 것",p2pTitle:"P2P 우선: 데이터는 여러분 것으로 유지",p2pDesc:"채팅, 명령어, 스크린샷은 WebRTC를 통해 브라우저와 데몬 사이를 직접 오가며, 코드는 서버를 거치지 않습니다. 클라우드는 로그인, 연결 설정, 세션 상태만 처리합니다. 단 하나의 예외로, 승인 푸시 알림에는 승인할 내용이 최대 80자까지 포함됩니다."},oss:{sectionTitle:"오픈소스 & 셀프 호스팅 가능",sectionSubtitle:"데몬과 대시보드는 AGPL-3.0으로 GitHub에 공개되어 있습니다. 어떤 머신이나 서버에서든 직접 실행하세요 — 계정 불필요.",github:"GitHub",selfHostDocs:"셀프 호스팅 문서"},agents:{sectionTitle:"지원 에이전트",sectionSubtitle:"{{ides}}개 내장 IDE 통합, {{clis}}개 내장 CLI 에이전트, {{extensions}}개 IDE 내장 익스텐션 에이전트. 프로바이더 스크립트는 <code>adhdev-providers/</code>에 있으며 <code>~/.adhdev/providers/</code>에 직접 추가할 수 있습니다.",tierTested:"검증됨",tierTestedDesc:"실제 앱·고정 버전에서 검증됨",tierCommunity:"커뮤니티",tierCommunityDesc:"내장 및 커뮤니티 지원",groupIdes:"IDE",hintIdes:"Chrome DevTools Protocol로 연결. 채팅 읽기, 프롬프트 전송, 세션 전환, 스크린샷.",groupCli:"CLI 에이전트",hintCli:"재개 및 재연결이 가능한 PTY 어댑터로 구동.",groupExtensions:"IDE 내장 익스텐션 에이전트",hintExtensions:"다른 IDE 안에서 실행되는 에이전트를 위한 CDP 웹뷰 연결."},pricing:{sectionTitle:"에이전트 규모에 맞는 단순한 요금제",sectionSubtitle:"한 머신에서 무료로 시작하세요. 두 머신은 Pro, 다섯 머신은 Ultra. 좌석당 계산 없음, 엔터프라이즈 영업 전화 없음 — 아래 요금제가 전부입니다.",mostPopular:"가장 인기 있는",upgradeToPro:"Pro로 업그레이드",footnote:"가격은 USD 기준이며 해당 세금은 별도입니다. 셀프 호스팅을 원하시나요? 데몬과 대시보드는 오픈소스입니다.",plans:{free:{period:"영구 무료",tagline:"어디서든 머신 하나를 구동하는 데 필요한 모든 것.",cta:"무료로 시작",features:{machine:"머신 하나, 명령어 하나로 페어링",p2p:"P2P 채팅, 명령어, 스크린샷, 원격 입력",providers:"모든 프로바이더 — CLI, IDE 에이전트",push:"승인 및 완료 푸시 알림",share:"공유 세션 링크 하나"}},pro:{period:"/월",tagline:"머신 2개로 Repo Mesh가 두 머신에 걸쳐 에이전트를 돌릴 수 있습니다 — 동시 세션도 더 많이.",cta:"Pro 7일 체험 시작",features:{machines:"머신 2개 — 양쪽에서 에이전트 실행",p2p:"더 많은 동시 P2P 세션",push:"무제한 푸시 알림",share:"더 많은 공유 세션"}},ultra:{period:"/월",tagline:"Pro의 모든 것에서 확장 — 대규모 병렬 작업을 위한 더 많은 머신과 높은 한도.",cta:"Ultra 시작",features:{machines:"머신 5개 — 좌석당이 아닌 고정 가격",everything:"Pro의 모든 것 포함",p2p:"최고 동시 P2P 세션",screenshots:"무제한 일일 스크린샷 시간",webhooks:"더 높은 API 호출 한도",share:"더 많은 공유 세션"}}}},install:{sectionTitle:"세 단계로 작동하는 대시보드",sectionSubtitle:"설정 파일 없음. 연결할 API 키 없음. ADHDev는 에이전트 인증을 관리하지 않습니다 — 각 도구가 자체 로그인을 유지합니다.",selectOs:"OS 선택",osUnix:"macOS / Linux",osWindows:"Windows",copyInstall:"설치 명령어 복사: {{cmd}}",copied:"복사됨",copy:"복사",platformNote:"macOS와 Linux는 Unix 스크립트, Windows는 PowerShell 스크립트로 설치합니다. 셋 다 매일 쓰고 있습니다.",arrow:"→",steps:{step1:{title:"데몬 설치",desc:"명령어 하나로 데몬과 adhdev CLI를 설치합니다 — 머신을 페어링하고 데몬을 시작하는 런처입니다(Claude Code나 Codex 같은 CLI 에이전트와 혼동하지 마세요). 동일한 바이너리가 클라우드와 스탠드얼론을 모두 지원합니다."},step2:{title:"머신 연결",desc:"GitHub 또는 Google로 한 번 로그인하면 데몬이 스스로 페어링됩니다 — 복사할 토큰이 없습니다."},step3:{title:"에이전트 구동",desc:"대시보드에서 Claude Code, Codex CLI, Cursor CLI, Antigravity CLI, Kimi 등 에이전트를 실행하세요. 채팅 읽기, 프롬프트 전송, 시각적 컨텍스트 제공(붙여넣기, 드래그 앤 드롭, 또는 한 번에 여러 이미지 업로드), 액션 승인, 세션 전환."}}},cta:{headline:"탭 정글에서 벗어나세요. 모든 에이전트를 하나의 대시보드에서 구동하세요.",subtitle:"명령어 하나, 데몬 하나, 이미 쓰고 있는 모든 에이전트. 웹에서 전부 구동하세요.",getStarted:"시작하기 →",github:"GitHub",discord:"Discord"},footer:{docs:"문서",github:"GitHub",discord:"Discord",dashboard:"대시보드",terms:"이용약관",privacy:"개인정보처리방침",contact:"문의",copyright:"© {{year}} RacoLab. All rights reserved."},imagePaste:{sectionTitle:"스크린샷을 붙여넣으면, 다른 머신의 터미널 에이전트가 즉시 봅니다.",sectionSubtitle:"노트북이나 폰에서 스크린샷을 찍어 채팅에 붙여넣으면, 다른 머신의 터미널에서 돌아가는 CLI 에이전트가 그걸 시각적 컨텍스트로 받습니다 — 파일 옮기기도, SSH도 필요 없습니다. 붙여넣기, 드래그 앤 드롭, 또는 한 번에 최대 5개 이미지(장당 10MB) 업로드.",point1:"클립보드 붙여넣기, 드래그 앤 드롭, 또는 업로드",point2:"최대 5개 이미지, 장당 10MB",point3:"내 머신 어디서든 PTY 터미널 에이전트로 도착",step1Label:"이미지 붙여넣고 질문 입력",step2Label:"전송 — 에이전트가 바로 받아서 작업",step3Label:"이미지를 보고 답변"},mobile:{sectionTitle:"책상을 떠나도 에이전트는 멈추지 않습니다.",sectionSubtitle:"에이전트가 승인을 요청하거나 작업을 마치면 폰에 푸시 알림이 옵니다. 탭해서 승인하거나 거부하고, 채팅으로 후속 지시하세요 — 어디에 있든 모바일 대시보드에서 전부.",point1:"승인 또는 완료 시 푸시 알림",point2:"한 번의 탭으로 승인 또는 거부",point3:"채팅으로 후속 지시하고, 폰을 내려놓으세요",notificationLabel:"에이전트 승인을 위한 모바일 푸시 알림",resumeLabel:"모바일 대시보드에서 승인 후 후속 지시",deviceShotLabel:"Claude Code가 실행하려는 Bash 명령이 담긴 ADHDev 승인 푸시가 표시된 실제 iOS 잠금화면",deviceShotCaption:"실기기 — 실제 폰에 도착한 푸시 알림",point4:"포트포워딩·VPN·DMZ 설정 없음 — P2P와 TURN 릴레이로 카페든 핫스팟이든, 데스크톱이든 랩톱이든, 인터넷만 되면 어디서든 연결됩니다"},brain:{sectionTitle:"쉬운 작업은 싼 모델로, 어려운 작업만 비싼 모델로.",sectionSubtitle:"작업을 쉬움·보통·어려움으로 태그하면 메시가 그에 맞는 프리셋 — provider, model, thinking 예산 — 을 적용합니다. 일상 작업은 싸고 빠른 모델로 돌고, 어려운 작업만 비싼 모델을 씁니다. 토큰을 중요한 곳에만 씁니다.",point1:"난이도 기반 프리셋: 쉬움 / 보통 / 어려움",point2:"프리셋마다 provider, model, thinking 레벨 선택",point3:"매 작업을 손으로 튜닝하지 않고 토큰 절약"},scenario:{sectionTitle:"명령 하나. Mac 빌드, Windows 테스트, main 착지.",sectionSubtitle:"실제 세션을 세 단계로: 할 일을 한 번 설명하면, 에이전트들이 여러 머신에서 병렬로 작업하고, 완성된 코드가 main에 도착합니다 — 터미널 앞에 앉아 있지 않아도.",step1Label:"할 일을 설명",step1Desc:"무엇을 만들지 한 문장으로 지시합니다. 머신마다 설정할 것도, 구성 파일도 없습니다.",step2Label:"에이전트 병렬 실행",step2Desc:"작업이 Mac과 Windows 머신에 한꺼번에 나뉩니다 — 각자 자기 브랜치에서, 프로젝트의 테스트와 검사를 실행하며.",step3Label:"완성된 코드가 main에 착지",step3Desc:"검사를 통과하면 자동으로, 안전하게 main에 머지됩니다. 애매한 것은 검토하도록 남겨두고 — force-push는 절대 없습니다.",caveat:"Mac, Windows, Linux 머신 모두 매일 쓰고 있습니다."}},U={submit:"제출",submitting:"제출 중…",cancelAria:"질문 취소",actionRequired:"확인 필요",selectAllThatApply:"해당하는 항목을 모두 선택하세요",multipleChoice:"다중 선택",singleChoice:"단일 선택",other:"기타",answersRequired_one:"답변이 필요한 질문이 {{count}}개 있습니다",answersRequired_other:"답변이 필요한 질문이 {{count}}개 있습니다",errorReviewPageNotFocused:"터미널이 다른 화면을 표시 중이라 답변이 제출되지 않았습니다 — 화면을 확인하거나 닫고 다시 시도하세요",errorReviewUnconfirmed:"답변 키는 터미널에 전달됐지만 질문이 아직 화면에 남아 있습니다 — 답변이 제출되지 않았을 수 있습니다. 터미널을 확인하세요: 제출되지 않았다면 터미널에서 직접 답하세요. 여기서 재전송하면 두 번 제출될 수 있습니다"},E={diffPreview:{truncatedAfter:"을(를) 로컬에서 실행하세요.",truncatedBefore:"변경 내용이 잘렸습니다 — 전체를 보려면",empty:"표시할 변경 내용이 없습니다.",binary:"바이너리 파일 — 변경 내용을 표시할 수 없습니다.",loading:"변경 내용 불러오는 중…"},changeList:{stagedHint:"스테이징됨",noChanges:"변경된 파일이 없습니다.",binaryBadge:"bin",truncatedNote:"파일 목록이 잘렸습니다 — 전체 출력은 로컬에서 <code>git status</code>를 실행하세요."},statusDialog:{working:"처리 중…",includeUntracked:"추적 안 된 파일 포함",messageRequired:"메시지 (필수)",fileFallback:"파일",confirmRevert:"{{path}}의 변경 사항을 되돌릴까요?",confirmPop:"가장 최근 스태시를 복원할까요?",confirmStash:"변경 사항 스태시",confirmCheckpoint:"체크포인트 커밋 만들기",copySummary:"요약 복사",copied:"클립보드에 복사했습니다",checkoutSelected:"선택한 파일 되돌리기",selectFileToRevert:"되돌릴 파일을 선택하세요",revertFile:"{{path}}의 변경 사항 되돌리기",popStash:"스태시 복원",noStashes:"복원할 스태시가 없습니다",popHint:"가장 최근 스태시를 복원합니다",resolveBeforePop:"스태시를 복원하기 전에 충돌을 해결하세요",stash:"스태시",stashHint:"현재 변경 사항을 잠시 치워 둡니다 (git stash)",resolveBeforeStash:"스태시하기 전에 충돌을 해결하세요",checkpoint:"체크포인트",checkpointHint:"체크포인트로 git 커밋을 만듭니다",resolveBeforeCheckpoint:"체크포인트를 만들기 전에 충돌을 해결하세요",selectFile:"파일을 선택하면 변경 내용을 볼 수 있습니다",noDiffData:"변경 내용 데이터가 없습니다.",loading:"불러오는 중…",fileCount_other:"파일 {{count}}개",fileCount_one:"파일 {{count}}개",stashed:"스태시 {{count}}",deleted:"삭제 {{count}}",untracked:"추적 안 됨 {{count}}",modified:"수정 {{count}}",staged:"스테이징 {{count}}",behind:"{{count}}개 뒤처짐",ahead:"{{count}}개 앞섬",refresh:"새로 고침",openOnGithub:"GitHub에서 열기",title:"Git 상태",conflicts:"충돌 있음",clean:"변경 없음"}},W={machineProviders:"머신 → 프로바이더",perProviderIntro:"프로바이더별 알림 및 자동 승인:",mixed:"(일부 꺼짐)",agentAlert:{noProgressDesc:"에이전트가 한동안 진행이 없으면 알립니다.",noProgress:"진행 없음",approvalDesc:"에이전트가 승인을 기다리면 알립니다.",approval:"승인 필요"},agentAlertsDesc:"온라인 머신의 모든 프로바이더에 적용됩니다. 개별 프로바이더는 머신 → 프로바이더에서 조정하세요.",permissionUnsupportedChip:"지원 안 됨",permissionBlockedChip:"차단됨",permissionNeededChip:"권한 필요",permissionAllowedChip:"허용됨",title:"알림",subtitle:"브라우저, 푸시, 에이전트 알림",sectionBrowserAlerts:"브라우저 알림",masterToggleLabel:"알림",masterToggleDesc:"모든 알림의 마스터 토글",browserNotificationsLabel:"브라우저 알림",browserNotificationsDesc:"탭이 비활성 상태일 때 데스크톱 알림",browserBackgroundInfo:"브라우저 알림은 이 대시보드 탭이 백그라운드에서 열려 있는 동안에만 발생합니다.",browserBackgroundInfoWithPush:"브라우저 알림은 이 대시보드 탭이 백그라운드에서 열려 있는 동안에만 발생합니다. 탭을 닫으면 푸시 알림을 사용하세요.",permissionDefault:"이 브라우저는 아직 알림 권한을 허용하지 않았습니다. 브라우저 알림을 받으려면 허용하세요.",allowNotifications:"알림 허용",permissionDenied:"사이트 또는 브라우저 설정에서 알림이 차단되었습니다. 데스크톱 알림을 받으려면 해당 설정에서 다시 활성화하세요.",permissionUnsupported:"이 브라우저에서는 데스크톱 알림을 표시할 수 없습니다. 지원되는 데스크톱 브라우저를 사용하거나 가능한 경우 푸시 알림을 이용하세요.",completionAlertsLabel:"완료 알림",completionAlertsDesc:"에이전트가 작업을 완료하면 알림",approvalAlertsLabel:"승인 알림",approvalAlertsDesc:"에이전트가 승인을 요청하면 알림",connectionAlertsLabel:"연결 알림",connectionAlertsDesc:"머신 연결이 끊기면 알림",allDisabled:"모든 알림이 꺼져 있습니다.",sectionProviderAlerts:"에이전트 알림",loading:"불러오는 중...",refresh:"새로고침",noOnlineMachines:"온라인 머신이 없습니다.",loadingProviderSettings:"프로바이더 설정 불러오는 중...",soundEffectsLabel:"사운드 효과",soundEffectsDesc:"에이전트가 완료하거나 승인이 필요할 때 사운드 재생"},B={pageTitle:"승인",pageSubtitle:"결정을 기다리는 세션입니다.",pending:"대기 중",loading:"승인 목록을 불러오는 중…",emptyHint:"연결된 머신의 승인 요청이 여기에 자동으로 표시됩니다."},O={title:"가이드 메시 설정",close:"닫기",machines:{title:"머신 선택",description:"설정할 메시를 고르고 작업을 실행할 머신을 연결하세요. 메시를 새로 만들면 선택한 워크스페이스가 첫 번째 노드로 함께 연결됩니다.",noMachinesDescription:"아직 등록된 머신이 없습니다. 먼저 머신에 데몬을 설치하세요. 로그인하면 자동으로 페어링됩니다.",noMachinesFallback:"로컬 데몬을 시작한 후 여기로 돌아오세요.",nodeCount:"노드 {{count}}개",createNew:"새 메시 만들기",loadingMeshes:"메시를 불러오는 중…",meshName:"메시 이름",machine:"머신",machineSelectPlaceholder:"머신을 선택하세요",workspace:"워크스페이스(리포 경로)",workspacePlaceholder:"/path/to/repo",workspaceSelectPlaceholder:"워크스페이스를 선택하세요",workspaceCustom:"경로를 직접 입력…",pickFromKnown:"알려진 워크스페이스에서 선택",planChecking:"워크스페이스를 확인하는 중…",planOk:"워크스페이스가 정상입니다: {{identity}}",planExists:"이 워크스페이스는 이미 기존 메시에 속해 있습니다 — 새 메시를 만드는 대신 해당 메시에 노드로 추가하세요.",creating:"생성 중…",create:"메시 만들기",createFailed:"생성 실패",attachTitle:"다른 머신 연결",allMachinesAttached:"등록된 모든 머신이 이미 이 메시에 연결되어 있습니다.",attaching:"연결 중…",addMachine:"머신 추가"},quotaPolicy:{blankMeansDefaultShort:"비워 두면 기본값",title:"쿼터 기반 라우팅",description:"노드가 AI 제공자 쿼터 잔량을 보고하면, 코디네이터는 거의 소진된 노드를 건너뛰고 여유가 많은 노드를 선호할 수 있습니다. 아래 임계값이 그 기준입니다. 보고가 없거나 오래된 값은 항상 무시되므로, 낡은 데이터 때문에 노드가 제외되는 일은 없습니다.",sessionMin:"세션 하한",sessionMinHint:"짧은 롤링 윈도우 잔량이 이 값 미만인 제공자를 건너뜁니다.",weeklyMin:"주간 하한",weeklyMinHint:"주간 윈도우 잔량이 이 값 미만인 제공자를 건너뜁니다.",resetImminent:"리셋 유예",resetImminentHint:"이 시간 안에 세션 윈도우가 리셋되면 잔량 부족을 무시합니다.",staleAfter:"측정값 만료",staleAfterHint:"폴백 전용: 측정값은 해당 윈도우가 리셋될 때까지 유효하며, 이 나이 제한은 리셋 시각이 없는 측정값에만 적용됩니다.",spreadBonus:"여유량 선호도",spreadBonusHint:"잔량이 많은 쪽을 얼마나 선호할지. 작업 난이도 매칭을 뒤집지는 않습니다.",sessionAxisWeeklyHeadroom:"세션 긴급도용 주간 여유량",sessionAxisWeeklyHeadroomHint:"주간 잔량이 이 값 이상일 때만 5시간 세션 윈도우의 임박한 리셋을 우선합니다. 5시간 미사용분은 영구히 소멸하지만, 주간 윈도우가 이미 빠듯할 때 이를 태우는 것은 절약보다 손해가 큽니다.",minutes:"분",blankMeansDefault:"비워 두면 기본값(흐리게 표시된 값)이 적용됩니다.",useDefaults:"기본값 사용",saving:"저장 중…",errors:{notANumber:"숫자를 입력하세요.",percentRange:"0에서 100 사이여야 합니다.",negative:"음수는 사용할 수 없습니다."}},continueToMesh:"메시로 이동"},q={dashboard:"대시보드",machines:"머신",notifications:"알림",mesh:"메시",marketplace:"마켓플레이스",api:"API",webhooks:"웹훅",account:"계정",settings:"설정",docs:"문서",about:"정보",chats:"채팅"},G={controls:e,sessionStatus:t,language:o,common:i,connection:n,toast:a,notification:s,event:r,dashboard:l,cliStop:d,approval:c,chatControls:u,newSession:p,mobileInbox:h,mesh:m,chat:g,chatPane:b,chatInput:v,paneGroup:f,terminal:C,conversation:D,cliView:w,launch:y,standalone:T,cloud:S,app:P,chatList:A,screenshot:k,remote:L,sessionNav:I,sessionInfo:H,machine:M,sessionHost:R,sessionHostSurface:_,settings:F,historyModal:N,landing:x,interactivePrompt:U,git:E,notifications:W,approvals:B,setupWizard:O,nav:q};export{P as app,c as approval,B as approvals,g as chat,u as chatControls,v as chatInput,A as chatList,b as chatPane,d as cliStop,w as cliView,S as cloud,i as common,n as connection,e as controls,D as conversation,l as dashboard,G as default,r as event,E as git,N as historyModal,U as interactivePrompt,x as landing,o as language,y as launch,M as machine,m as mesh,h as mobileInbox,q as nav,p as newSession,s as notification,W as notifications,f as paneGroup,L as remote,k as screenshot,R as sessionHost,_ as sessionHostSurface,H as sessionInfo,I as sessionNav,t as sessionStatus,F as settings,O as setupWizard,T as standalone,C as terminal,a as toast};
1
+ const e={runFailed:"{{label}}을(를) 실행하지 못했습니다",updateFailed:"{{label}}을(를) 변경하지 못했습니다",loadOptionsFailed:"{{label}} 옵션을 불러오지 못했습니다"},t={unknown:"알 수 없음",starting:"시작 중",stopped:"중지됨",failed:"실패",idle:"대기",generating:"작업 중",awaitingApproval:"승인 필요"},o={label:"언어",select:"언어 선택"},i={copy:"복사",no:"아니요",yes:"예",diagnostics:"진단",done:"완료",edit:"편집",copied:"복사됨",copyId:"ID 복사",technicalDetails:"기술 세부 정보",saved:"저장됨",refresh:"새로 고침",moreInfo:"자세히",closeDialog:"대화상자 닫기",noRecords:"기록이 없습니다.",close:"닫기",back:"뒤로",cancel:"취소",confirm:"확인",confirmTitle:"계속할까요?"},n={loadingShort:"불러오는 중…",loadingDashboard:"대시보드를 불러오는 중...",machinesConnectedCount:"머신 {{connected}}/{{total}}개 연결됨",disconnected:"연결 끊김",connected:"연결됨",connectedToDashboard:"대시보드에 연결됨",networkOffline:"네트워크 오프라인",reconnecting:"재연결 중",sessionExpired:"세션이 만료되었습니다.",logInAgain:"다시 로그인",connectionFailed:"연결에 실패했습니다 — 페이지를 새로고침하거나 잠시 후 다시 시도하세요.",reconnectNow:"지금 재연결"},a={details:"자세히",label:{success:"완료",warning:"주의",info:"업데이트"},dismiss:"닫기"},s={actionNeeded:"조치 필요",taskComplete:"작업 완료",markRead:"읽음 표시",markUnread:"읽지 않음 표시",delete:"삭제"},r={browser:{error:"오류로 중단됨",finished:"완료됨",approvalWithMessage:"승인 필요: {{message}}",approval:"승인 필요",questionWithMessage:"질문: {{message}}",question:"답변을 기다리는 중"},taskCompleted:"{{label}} 에이전트 작업 완료",taskCompletedWithDuration:"{{label}} 에이전트 작업 완료 ({{duration}})",approvalNeeded:"{{label}} 승인 필요",questionNeeded:"{{label}} 질문에 답변 필요",noProgress:"{{label}} 에이전트 진행 없음",noProgressWithDuration:"{{label}} 에이전트 진행 없음 ({{minutes}}분)",noProgressTitle:"{{label}} — 진행 없음",noProgressBody:"에이전트가 {{duration}} 넘게 진행이 없습니다",viewRequest:"{{requester}}님이 세션 보기를 요청합니다",viewRequestTitle:"보기 요청",viewRequestApproved:"보기 요청이 승인되었습니다",viewRequestDeclined:"{{target}}님이 보기 요청을 거절했습니다",someoneRequester:"팀 멤버",someoneTarget:"팀 멤버"},l={header:{moreActions:"추가 작업",title:"대시보드",guide:"대시보드 가이드",guideOpen:"대시보드 가이드 열기",guideShort:"가이드",openGitStatus:"Git 상태 열기",meshGraph:"메시 그래프",stopCliProcess:"CLI 프로세스 중지",chatHistory:"채팅 기록",remoteControl:"원격 제어",generating:"생성 중",activityInbox:"알림"},hidden:{title:"숨긴 탭",dragHint:"탭을 여기로 끌어다 놓으면 숨겨집니다.",resetPanels:"패널 초기화",restoreAll:"모두 복원",hideCurrentTab:"현재 탭 숨기기",empty:"숨긴 탭이 없습니다.",resetPanelsConfirm:"떠 있는 패널과 팝아웃 패널을 모두 메인 대시보드 그리드로 되돌릴까요?"},inbox:{unread:"읽지 않음",read:"읽음",empty:"대기 중인 활동이 없습니다."},metaChips:{queuePending:"대기 {{count}}",queueTooltip:"대기열: 대기 {{pending}}, 배정 {{assigned}}, 완료 {{completed}}, 실패 {{failed}}"},meshRole:{coordinator:"코디네이터",worker:"워커",coordinatorFor:"{{mesh}}의 코디네이터",workerFor:"{{mesh}}의 워커",coordinatorUnknownMesh:"메시 코디네이터",workerUnknownMesh:"메시 워커",openMeshGraph:"메시 그래프 열기"},versionBanner:{restarting:"재시작 중",upgrading:"업데이트 중…",unknownVersion:"알 수 없음",updateAvailable:"업데이트 가능",required:"필수 업데이트",retry:"재시도"},remoteDialog:{liveRemoteView:"실시간 원격 화면",remoteUnavailable:"원격 화면을 사용할 수 없음",remoteOnly:"원격만",splitView:"분할 보기",remoteFallback:"원격",history:"히스토리"},guide:{title:"대시보드 가이드",subtitle:"대시보드 흐름, 플로팅·팝아웃 탭, 그리고 조정 가능한 그룹별 단축키에 대한 간단한 안내입니다.",close:"대시보드 가이드 닫기",tabs:{overview:"개요",quickstart:"빠른 시작",shortcuts:"단축키"},overview:{whatLivesWhere:{title:"무엇이 어디에 있나요",tabsLabel:"탭:",tabsText:"IDE와 CLI 에이전트에 걸친 활성 세션입니다.",hiddenLabel:"숨긴 탭:",hiddenText:"메인 스트립에는 두고 싶지 않지만 계속 유지하고 싶은 세션을 보관합니다.",inboxLabel:"활동 수신함:",inboxText:"승인을 기다리는 세션이나 아직 확인하지 않은 완료된 작업입니다.",cliToggleLabel:"CLI 보기 전환:",cliToggleText:"PTY 세션을 다시 시작하지 않고 터미널과 채팅 렌더링 사이에서 전환합니다."},usefulFlows:{title:"유용한 흐름",reviewLabel:"알림 검토:",reviewText:"수신함을 열어 세션으로 이동한 다음, 활성 창에서 바로 대화 또는 승인 컨트롤을 사용하세요.",clutterLabel:"복잡함 줄이기:",clutterText:"덜 중요한 세션은 닫지 말고 숨긴 다음, 필요할 때 숨긴 탭에서 복원하세요.",splitLabel:"작업 분할:",splitText:"입력용으로 한 창을 활성 상태로 두고, 보조 창은 포커스하기 전까지 읽기 전용으로 유지하세요.",detachedLabel:"분리된 보기:",detachedText:"빠른 나란히 보기를 위해 탭을 플로팅하거나, 별도 모니터를 원할 때 새 창으로 팝아웃하세요.",dockingLabel:"도킹:",dockingText:"Dock을 사용해 플로팅 탭을 그리드로 되돌리거나, 팝아웃된 탭을 메인 대시보드로 옮기세요.",perTabLabel:"탭별 단축키:",perTabText:"Dockview 탭을 우클릭하여 해당 세션 전용 직접 단축키를 지정하세요.",approvalLabel:"승인 버튼:",approvalText:"활성 세션의 처음 세 개의 표시된 승인 동작에는 {{keys}} 를 사용하세요."}},quickstart:{desktop:{title:"데스크톱 빠른 시작",step1:"먼저 머신 또는 워크스페이스 흐름에서 시작하세요. CLI 세션을 실행하기 전에 워크스페이스를 선택하거나 저장하세요.",step2:"메인 스트립은 활성 작업에 집중하고, 넘치는 것은 숨긴 탭으로 보내세요.",step3:"모든 탭을 훑어보는 대신, 승인이 필요하거나 완료된 세션은 수신함을 사용하세요.",step4:"병렬 읽기가 필요할 때만 분할하세요. 메인 레이아웃을 잃지 않고 탭을 분리하려면 플로팅하거나 팝아웃하세요."},mobile:{title:"모바일 빠른 시작",step1:"검토와 답장은 채팅 모드를 유지하세요. 워크스페이스 모드는 주로 세션을 실행하거나 다시 열 때 사용하세요.",step2:"머신 화면에서 시작해 워크스페이스를 선택한 다음, 거기서 IDE 또는 CLI를 실행하세요.",step3:"모바일은 더 단순한 제어 화면으로 취급하세요. 분할 워크플로 없음, 적은 탭 조작, 빠른 세션 전환."}},shortcuts:{sections:{all:"전체",workspace:"워크스페이스",panes:"창",approvals:"승인"},disableAll:"모두 비활성화",resetToDefaults:"기본값으로 재설정",default:"기본값:",listening:"입력 대기 중...",set:"설정",disable:"비활성화",off:"꺼짐",footer:"{{keys}} 같은 조합 단축키를 사용하거나 직접 조합을 설정하세요. 텍스트 입력 중에는 대시보드 동작 단축키가 무시됩니다.",resetConfirm:"모든 대시보드 단축키를 기본값으로 재설정할까요?",setListening:"입력 대기"}},shortcutDefs:{openShortcutHelp:{label:"단축키 열기",description:"키보드 단축키 패널을 표시합니다."},openNewSession:{label:"새 세션",description:"새 세션 실행기를 엽니다."},hideCurrentTab:{label:"현재 탭 숨기기",description:"현재 활성 탭을 숨긴 탭으로 숨깁니다."},toggleHiddenTabs:{label:"숨긴 탭 토글",description:"숨긴 탭 팝오버를 열거나 닫습니다."},openHistoryForActiveTab:{label:"기록 열기",description:"활성 세션의 기록을 엽니다."},openRemoteForActiveTab:{label:"원격 열기",description:"가능한 경우 활성 세션의 원격 제어를 엽니다."},floatActiveTab:{label:"활성 탭 플로팅",description:"활성 탭을 플로팅 패널로 옮깁니다."},popoutActiveTab:{label:"활성 탭을 새 창에서 열기",description:"활성 탭을 분리된 팝아웃 창으로 옮깁니다."},dockActiveTab:{label:"활성 탭 도킹",description:"플로팅 탭을 그리드로 되돌리거나 팝아웃 탭을 메인 창으로 옮깁니다."},splitActiveTabRight:{label:"활성 탭을 새 오른쪽 창으로",description:"오른쪽에 창을 만들고 활성 탭을 그곳으로 옮깁니다."},splitActiveTabDown:{label:"활성 탭을 새 아래쪽 창으로",description:"아래에 창을 만들고 활성 탭을 그곳으로 옮깁니다."},focusLeftPane:{label:"왼쪽 창 포커스",description:"왼쪽 창으로 포커스를 이동합니다."},focusRightPane:{label:"오른쪽 창 포커스",description:"오른쪽 창으로 포커스를 이동합니다."},focusUpPane:{label:"위쪽 창 포커스",description:"위쪽 창으로 포커스를 이동합니다."},focusDownPane:{label:"아래쪽 창 포커스",description:"아래쪽 창으로 포커스를 이동합니다."},moveActiveTabToLeftPane:{label:"활성 탭 왼쪽으로 이동",description:"활성 탭을 왼쪽 창으로 옮깁니다."},moveActiveTabToRightPane:{label:"활성 탭 오른쪽으로 이동",description:"활성 탭을 오른쪽 창으로 옮깁니다."},moveActiveTabToUpPane:{label:"활성 탭 위로 이동",description:"활성 탭을 위쪽 창으로 옮깁니다."},moveActiveTabToDownPane:{label:"활성 탭 아래로 이동",description:"활성 탭을 아래쪽 창으로 옮깁니다."},triggerPrimaryApprovalAction:{label:"승인 동작 1",description:"활성 세션의 첫 번째 승인/동작 버튼을 누릅니다."},triggerSecondaryApprovalAction:{label:"승인 동작 2",description:"활성 세션의 두 번째 승인/동작 버튼을 누릅니다."},triggerTertiaryApprovalAction:{label:"승인 동작 3",description:"활성 세션의 세 번째 승인/동작 버튼을 누릅니다."},setActiveTabShortcut:{label:"활성 탭 단축키 설정",description:"활성 탭에 대한 직접 단축키 기록을 시작합니다."},selectPreviousGroupTab:{label:"그룹 내 이전 탭",description:"활성 Dockview 그룹 안에서 이전 탭으로 이동합니다."},selectNextGroupTab:{label:"그룹 내 다음 탭",description:"활성 Dockview 그룹 안에서 다음 탭으로 이동합니다."},toggleCliView:{label:"CLI 보기 토글",description:"활성 CLI 세션을 채팅과 터미널 보기 사이에서 전환합니다."}}},d={stopProcess:"CLI 프로세스 중지",title:"{{agent}}을(를) 중지할까요?",gracefulDescription:"중지는 지원되는 경우 프로바이더에게 정상 종료를 요청합니다. 강제 중지는 런타임을 즉시 종료합니다.",forceOnlyDescription:"이 프로바이더는 정상 중지를 지원하지 않습니다. 강제 중지는 런타임을 즉시 종료합니다.",stop:"중지",forceStop:"강제 중지"},c={processing:"처리 중...",actionRequired:"조치 필요",alwaysAllowWarning:"이 권한을 영구적으로 허용합니다 — 이후 실행에서 다시 묻지 않습니다",questionPending:"질문 대기 중",answerQuestion:"질문에 답하기"},u={loading:"불러오는 중…",launchModelChanged:"{{from}} → {{to}} (변경됨)",launchModelSource:{user:"선택함",remembered:"기억된 값",mesh_slot:"메시 슬롯",task_override:"태스크 지정",provider_default:"기본값"}},p={noMeshesShort:"이 머신에 메시가 없습니다",noProvidersShort:"사용 가능한 에이전트 없음",advancedOptions:"고급 옵션",agent:"에이전트",defaultResolvesTo:"기본값은 {{model}}로 해석됩니다",title:"세션 시작",close:"새 세션 대화상자 닫기",detectedLocally:"로컬에서 감지됨",availableToOpen:"열기 가능",machine:"머신",selectMachine:"머신 {{name}} 선택",workspace:"워크스페이스",browse:"찾아보기…",launchTargetType:"실행 대상 유형",modeWorkspace:"워크스페이스",modeWorkspaceDesc:"일반 세션",modeMesh:"메시",modeMeshDesc:"코디네이터 세션",homeDirectory:"홈 디렉터리",customFolder:"사용자 지정 폴더…",launchWithoutWorkspace:"워크스페이스 없이 실행합니다.",selectWorkspaceFolder:"워크스페이스 폴더를 선택하세요.",selectFolder:"폴더 선택",saving:"저장 중…",saveWorkspace:"워크스페이스 저장",loadingMeshes:"메시 불러오는 중…",noMeshes:"이 머신에 구성된 리포 메시가 없습니다. 먼저 메시를 생성하거나 동기화한 후 이 선택기를 다시 여세요.",mesh:"메시",repoMesh:"Repo Mesh",nodeCount_one:"노드 {{count}}개",nodeCount_other:"노드 {{count}}개",coordinatorWorkspace:"코디네이터 워크스페이스: {{path}}",noProviders:"선택한 머신에서 사용할 수 있는 에이전트가 없습니다. 기본 위치 밖에 설치했다면 머신 → 프로바이더에서 실행 경로를 설정하세요.",startupArguments:"시작 인자",optionalFlags:"선택적 플래그...",autoApproveMode:"자동 승인 모드",autoApproveModeDescription:"이 세션이 승인 요청을 처리할 방식을 선택하세요.",autoApproveLegacy:"자동 승인",autoApproveLegacyDescription:"이 세션에서 지원되는 승인 요청을 자동으로 수락합니다.",autoApproveRisk:{safe:"안전",caution:"주의",dangerous:"위험"},dangerousModeTitle:"위험한 자동 승인 모드 확인",dangerousModeFallbackWarning:"이 모드는 승인 또는 샌드박스 보호를 우회할 수 있습니다. 신뢰할 수 있는 워크스페이스에서만 사용하세요.",dangerousModeRisk:"위험도",dangerousModeLaunchArgs:"주입되는 실행 인자",dangerousModeConfirm:"위험 모드 사용",modelAndThinking:"모델 & 사고 수준 (선택)",model:"모델",providerDefault:"(프로바이더 기본값)",custom:"사용자 지정…",typeModelName:"모델 이름 입력",backToModelList:"← 모델 목록으로",thinkingLevel:"사고 수준",selectWorkspaceTitle:"워크스페이스 선택",start:"시작",starting:"시작 중…",startMeshCoordinator:"메시 코디네이터 시작",startingCoordinator:"코디네이터 시작 중…",startIde:"IDE 시작",startingIde:"IDE 시작 중…",startFresh:"새로 시작",startingFresh:"새로 시작 중…",resumeSavedHistory:"저장된 기록 재개",resumingSavedHistory:"저장된 기록 재개 중…",errorLoadMeshes:"메시를 불러올 수 없습니다",errorLoadFolder:"폴더를 불러올 수 없습니다",errorLoadSavedSessions:"저장된 세션을 불러올 수 없습니다",errorSaveWorkspace:"워크스페이스를 저장할 수 없습니다",workspaceSaved:"워크스페이스가 저장되었습니다. 머신 상태가 새로고침되면 목록에 표시됩니다.",errorManualMcpSetup:"이 프로바이더가 메시 코디네이터로 작동하려면 수동 MCP 설정이 필요합니다.",errorStartMeshCoordinator:"메시 코디네이터를 시작할 수 없습니다",errorStartSession:"세션을 시작할 수 없습니다",errorResumeSession:"세션을 재개할 수 없습니다",errorWorkspaceContextRequired:"실행하기 전에 워크스페이스를 선택하세요 — 디렉터리, 저장된/기본 워크스페이스, 또는 홈 디렉터리 중 하나.",defaultWorkspace:"기본 워크스페이스"},h={undo:"실행 취소",hiddenToast:"{{title}} 숨김",moreActionsFor:"{{title}} 추가 작업",loading:"불러오는 중...",loadingSubtitle:"머신과 세션을 가져오는 중입니다.",machines:"머신",chats:"채팅",networkOffline:"네트워크 오프라인",sessionExpired:"세션 만료됨",reconnecting:"재연결 중",waitingForNetwork:"네트워크 대기 중…",pleaseLogInAgain:"다시 로그인해 주세요.",restoringConnection:"서버 연결을 복원하는 중…",waitingForDaemon:"데몬을 기다리는 중",connectYourMachines:"머신을 연결하세요",waitingForDaemonSubtitle:"연결하려면 ADHDev 데몬을 시작하세요.",connectYourMachinesSubtitle:"머신에 ADHDev를 설치하고 로그인하세요.",newCount:"새 항목 {{count}}개",chatCount_one:"채팅 {{count}}개",chatCount_other:"채팅 {{count}}개",idle:"유휴",unreadSuffix:" · 읽지 않음 {{count}}개",noActiveChats:"활성 채팅 없음",needsAttention:"확인이 필요합니다",taskComplete:"작업 완료",workingNow:"작업 중",earlier:"이전",connecting:"연결 중…",connectingSubtitle:"대화를 불러오기 전에 서버 연결을 기다리는 중입니다.",noMachinesConnected:"연결된 머신 없음",noMachinesSubtitle:"머신 탭에서 머신을 연결하세요.",noConversations:"아직 대화가 없습니다",allCaughtUp:"모두 확인했습니다.",hiddenTabs:"숨긴 탭",collapsedCount_one:"접힌 대화 {{count}}개",collapsedCount_other:"접힌 대화 {{count}}개",generatingCount:"{{count}}개 진행 중",collapsedGeneratingSuffix:" · {{count}}개 진행 중",restoreAll:"모두 복원",hide:"숨기기",reconnectingItem:"재연결 중…",connectingItem:"연결 중…",actionNeeded:"조치 필요",done:"완료",openMeshGraphFor:"{{title}} 메시 그래프 열기",openLiveMeshGraph:"실시간 리포 메시 그래프 열기",stopSessionTitle:"세션 중지 (에이전트를 종료합니다)"},m={hint:{daemon:{followUp:"후속 조치 필요",merged:"병합됨",notMergeable:"아직 병합 불가 — 변경 또는 충돌",cleanup:"병합됨 — 워크트리 정리 가능",needsMerge:"푸시됨 — 병합 가능",blockedReview:"병합 전에 검토 필요"},anchorEmpty:"기본 브랜치에 워크스페이스 없음",anchorWorkspaces:"{{branch}}의 워크스페이스 {{count}}개",anchorNeedsFollowUp:"{{branch}}의 {{count}}개에 후속 조치 필요",submoduleSynced:"{{path}} 동기화됨",submoduleChanged:"{{path}}에 로컬 변경이 있음",submoduleOutOfSync:"{{path}}이(가) 상위 체크아웃과 맞지 않음",gitAgeUnknown:"git 상태의 시점을 알 수 없음",staleGit:"git 상태가 5분 넘게 지났음",missingSubmodule:"보고되지 않은 서브모듈: {{paths}}",noGitYet:"아직 git 상태를 받지 못함",noGitYetOnline:"온라인 — 아직 git 상태를 받지 못함",waitingForGit:"git 상태를 기다리는 중…",nodeError:"노드가 오류를 보고함",upstreamUnverified:"업스트림이 아직 확인되지 않음",noUpstream:"{{branch}}을(를) 푸시해 업스트림을 설정하세요",mergeConflicts:"병합 충돌을 해결하세요",detachedHead:"분리된 HEAD — 브랜치를 체크아웃하세요",notGitRepo:"git 저장소가 아님",noGitStatus:"아직 git 상태 없음"},sessionCleanup:{stopAndDeleteHint:"해당 세션을 중지한 뒤 채팅 기록을 삭제합니다.",stopAndDelete:"세션 중지 후 삭제",deleteStoppedHint:"실행 중인 세션은 멈추지 않고 끝났거나 중지된 채팅만 정리합니다.",deleteStopped:"중지된 세션만 삭제",stopHint:"실행 중인 세션 프로세스를 중지하되 채팅 기록은 유지합니다.",stop:"실행 중 세션만 중지",preserveHint:"끝난 채팅 기록을 유지하고 실행 중인 세션은 그대로 둡니다.",preserve:"기록과 실행 중 세션 유지"},nodeHealth:{failed:"실패",completed:"완료",assigned:"할당됨",pending:"대기",enabled:"사용",unknown:"연결 중…",wrongBranch:"다른 브랜치",degradedHint:"이 머신과의 연결이 끊겼거나 시간 초과되었습니다. 대부분 일시적이니 잠시 기다리거나 머신을 다시 연결하세요.",degraded:"연결 안 됨",offline:"오프라인",dirty:"커밋 안 된 변경",online:"온라인"},activity:{noKeyEvents:"최근 주요 활동 없음",showKey:"주요 활동만 보기",showAll:"모든 활동 보기",nodeChanged:"머신 참여·이탈",worktreeCreated:"워크트리 생성",nodeJoined:"노드 추가",nodeRemoved:"노드 제거",sessionStarted:"에이전트 시작",needsInput:"입력 필요",taskFailed:"작업 실패",taskFinished:"작업 완료",taskStarted:"작업 시작"},drift:{clean:"깨끗함",conflicts:"충돌",submoduleOutOfSync_other:"서브모듈 {{count}}개 불일치",submoduleOutOfSync_one:"서브모듈 {{count}}개 불일치",submoduleChanged_other:"서브모듈 {{count}}개 변경",submoduleChanged_one:"서브모듈 {{count}}개 변경",changed_other:"{{count}}개 변경",changed_one:"{{count}}개 변경",upstreamUnverified:"업스트림 미확인",noGit:"git 정보 없음",probePending:"git 확인 중…"},graph:{slowLinkChip:"느린 연결",observationUnreachableChip:"연결 안 됨",observationStaleChip:"오래됨",remoteBadge:"원격",activeSessionAria:"활성 세션",observationAsOf:"{{age}} 전 기준",observationRefreshing:"{{age}} 전 기준 · 새로 고치는 중",observationFetching:"상태 가져오는 중…",observationUnreachable:"연결 안 됨 · 마지막 상태 {{age}} 전",observationUnreachableNoState:"연결 안 됨 · 아직 상태 없음"},statusTab:{v2ScopeHint:"범위별 대기 이벤트",providerSkewHint:"노드마다 다른 버전으로 실행 중인 프로바이더",providerSkew:"프로바이더 버전 불일치 {{count}}개",v2RatioHint:"대기 중인 코디네이터 이벤트 중 현재 메시지 형식을 쓰는 비율",daemonBuildHint:"이 노드에서 실행 중인 정확한 데몬 빌드 (버전@커밋)",quotaFailedHint:"이 머신이 이 프로바이더의 사용량을 읽지 못했습니다",quotaOkNoWindowHint:"정상적으로 읽음 — 이 프로바이더는 표시할 비율 한도가 없습니다",nodeCountHint:"이 머신의 메시 노드(워크스페이스/워크트리) — 하나의 플랜 사용량을 함께 씁니다",nodeCount_other:"노드 {{count}}개",nodeCount_one:"노드 {{count}}개",daemonVersionHint:"이 머신에서 실행 중인 데몬 버전",blockedReasonHint:"이 노드가 지금 코드 변경 작업을 새로 받을 수 없는 이유",providerCapHint:"이 노드의 프로바이더별 진행 중 작업 수 / 선언된 한도",priorityHint:"배정 선호도 (높을수록 우선)",priority:"우선순위 {{value}}",loadHint:"이 노드에 배정된 진행 중 작업",load:"부하 {{count}}",readonlyCapHint:"진행 중인 읽기 전용 조사 작업 수 / 한도(쓰기 한도의 2배)",readonlyCap:"읽기 전용 {{active}}/{{max}}",writeCapHint:"코드를 바꾸는 진행 중 작업 수 / 메시 전체 동시 실행 한도",writeCap:"쓰기 {{active}}/{{max}}"},manualSetup:{restartHint:"설정을 수정한 뒤 새 CLI 세션을 시작하세요.",configPath:"설정 경로:",format:"형식:",server:"서버:",titleFor:"{{provider}}의 MCP 수동 설정 필요",title:"MCP 수동 설정 필요"},help:{toggleAria:"메시 도움말",toggleTitle:"메시 개념 도움말",regionAria:"메시 개념 도움말",kicker:"도움말",title:"메시 개념 한눈에 보기",close:"도움말 닫기",sections:{node:{term:"노드",summary:"메시에 참여하는 워크스페이스 — 리포 체크아웃 또는 격리된 git 워크트리.",details:["베이스 노드 vs 워크트리 클론 노드 — 클론은 충돌 없이 병렬 작업을 격리합니다.","상태(온라인/오프라인)를 git 상태(브랜치 · ahead/behind · dirty)와 함께 표시합니다.","여러 노드가 같은 데몬을 공유할 수 있습니다."]},p2p:{term:"P2P 연결",summary:"선택한 코디네이터가 WebRTC로 각 원격 노드에 도달하는 방식.",details:["direct — 직접 host/STUN 경로; 가장 낮은 지연.","relay — TURN 릴레이; 제한적 네트워크에서도 작동하지만 느립니다.","disconnected / failed — 현재 코디네이터로부터 활성 P2P 링크가 없음.","P2P 연결성은 그래프 엣지가 아니라 각 노드 카드(및 노드 상세 패널)의 transport·RTT 칩으로 표시됩니다."]},session:{term:"세션",summary:"노드에서 실행 중인 에이전트 CLI 세션.",details:["status = idle / generating / waiting_approval.","작업을 디스패치·수집하는 코디네이터 세션과 실제 작업을 수행하는 위임 워커 세션을 구분합니다."]},task:{term:"태스크",summary:"큐 기반 풀 모델로 처리되는 단일 작업 단위.",details:["상태: pending → assigned → completed / failed / cancelled.","유휴 노드는 큐에서 자동으로 클레임하며, 직접 디스패치는 특정 세션을 대상으로 합니다."]},mission:{term:"미션",summary:"하나의 목표를 향한 다중 태스크 배치이자 그 노력의 영속 기록.",details:["상태: active / paused / completed / abandoned.","진행률은 소속 태스크들의 상태에서 파생됩니다."]},refinery:{term:"리파이너리 (refine)",summary:"워크트리 브랜치를 베이스로 안전하게 수렴·머지하는 과정.",details:["구성 기반(.adhdev/refine.*) — 패치 동등성 프리플라이트와 no-op 가드로 보호됩니다.","원칙적으로 ff-only; 강제 푸시 없음.","서브모듈 커밋이 origin에서 도달 불가하면 게시되어야 하며 → blocked_review로 분류됩니다."]},completion:{term:"완료 모델",summary:"위임된 작업의 완료는 큐(pending-events)에 영속됩니다.",details:["코디네이터는 주기적 폴링 또는 이벤트로 완료를 인지합니다.","큐에 영속되므로 완료 신호는 결코 유실되지 않습니다."]},convergence:{term:"브랜치 수렴 상태",summary:"워크트리 작업 후 각 브랜치는 정확히 하나의 최종 상태로 분류됩니다.",details:["merged_to_main — 베이스에 머지됨.","pushed_feature_branch_needs_merge — 푸시됨, 머지 대기.","blocked_review — 리뷰/도달성 문제로 보류됨.","cleanup_candidate — 정리 준비 완료.","not_mergeable — 머지 불가."]},blueprint:{term:"설계도면",summary:"계획 화면 — 라이브 큐 작업과 태스크 의존 관계를 한 캔버스에 표시.",details:["축은 하나입니다 — 좌에서 우로 의존성 깊이. 루트 태스크는 최신순입니다.","카드가 각자 시각을 표시하므로 위치가 시간을 나타낼 필요가 없습니다.","완료된 의존 체인은 접혀서 라이브 작업이 잘 보입니다."]},routingPreview:{term:"라우팅 예측",summary:"가상의 태스크가 어디로 배정될지 보여주는 읽기 전용 예측.",details:["난이도별로 표시되며, 노드에 고정된 태스크는 별도의 고정 예측(📌)을 받습니다.","예측일 뿐 실제 담당이 아닙니다 — 이미 실행된 카드는 아래에 실제 노드를 표시합니다."]},worktree:{term:"워크트리 노드",summary:"메인 체크아웃이 아니라 git 워크트리를 사용하는 노드.",details:["브랜치(⎇)로 표시됩니다. 한 머신에서 여러 태스크가 브랜치를 공유하지 않고 돌 수 있습니다.","고아 워크트리는 정리 후보로 보고될 뿐, 자동 삭제되지 않습니다."]}}},approvals:{title:"대기 중인 승인",empty:"승인 결정을 기다리는 세션이 없습니다.",sessionFallback:"세션 {{id}}",approve:"승인",reject:"거절",waitingFor:"{{duration}} 대기 중"},difficulty:{easy:"쉬움",medium:"보통",difficult:"어려움",freeform:"자유형"},panel:{outOfSyncBadge:"미동기화",conflictBadge:"충돌",attachedChats:"연결된 채팅",providerUnknown:"알 수 없는 프로바이더",statusCoordinator:"코디네이터",statusWorker:"워커",upstreamUnverified:"미확인",needsFollowUp:"후속 작업 필요",refined:"정제됨",tooltipLocalChanges:"로컬 변경 사항",tooltipHasConflicts:"충돌 있음",tooltipOutOfSync:"미동기화",tooltipNeedsFollowUp:"후속 작업 필요",tooltipUpstreamUnverified:"업스트림 미확인",tooltipRefineCompleted:"refine 완료",tooltipRefinedBranch:"{{branch}} 정리 완료",tooltipP2PRelayed:"P2P 링크가 TURN을 통해 중계됨 (느린 경로)",tooltipPrefixStatus:"상태:",tooltipPrefixBranch:"브랜치:",tooltipPrefixNote:"메모:",defaultBranch:"기본 브랜치",submoduleSynced:"동기화됨",moreChats_one:"+{{count}}개 채팅 더",moreChats_other:"+{{count}}개 채팅 더",remote:"원격",chats_one:"채팅 {{count}}개",chats_other:"채팅 {{count}}개",generatingCount:"생성 중 {{count}}",coordinatorAttached:"코디네이터 연결됨",coordinators:"코디네이터 {{count}}",workers_one:"워커 {{count}}",workers_other:"워커 {{count}}",sampledStatus:"샘플링된 상태"},legendEdge:{parentBranch:"기본 브랜치",cloneLink:"워크트리 클론",worktreeLink:"동일 브랜치",submoduleLink:"서브모듈",sessionLink:"세션",orphanLink:"후속 조치 필요"},attention:{submoduleDrift:"서브모듈 드리프트",submoduleDirty:"서브모듈 변경",conflictsPresent:"충돌 있음",dirtyWorkspace:"더티 워크스페이스",upstreamUnverified:"업스트림 미검증",pushBranch:"브랜치 푸시 필요",blockedReview:"리뷰 차단",refineFailed:"refine 실패",working:"작업 중",refining:"refine 중…",needsMerge:"병합 필요",refineWorktree:"워크트리 refine",needsFollowUp:"후속 조치 필요",offline:"오프라인",ahead:"{{count}}개 앞섬",behind:"{{count}}개 뒤처짐",aheadBehind:"{{ahead}}개 앞섬 / {{behind}}개 뒤처짐"},summary:{anchor:"기본 브랜치 앵커",parent:"부모 {{label}}",localChanges:"로컬 변경",sessions_one:"세션 {{count}}개",sessions_other:"세션 {{count}}개",conflicts:"충돌",clean:"업스트림과 동기화됨"},taskDag:{plan:{depsFailed_one:"선행 {{count}}건 실패",depsFailed_other:"선행 {{count}}건 실패"},time:{now:"방금",minutes_one:"{{count}}분 전",minutes_other:"{{count}}분 전",hours_one:"{{count}}시간 전",hours_other:"{{count}}시간 전",days_one:"{{count}}일 전",days_other:"{{count}}일 전"},empty:"아직 작업 없음",waitsOn_one:"{{count}}개 대기",waitsOn_other:"{{count}}개 대기",missingDeps_one:"미확인 의존성 {{count}}개",missingDeps_other:"미확인 의존성 {{count}}개",legend:{satisfied:"완료",waiting:"대기",failed:"실패"},predictedSlotPinned:"대상 노드 핀 지정됨 — 해당 노드의 예측 슬롯"},obs:{fieldEdgeId:"링크 ID",fieldHealthRaw:"상태",fieldNodeId:"노드 ID",machineSection:"머신",behindCount:"{{count}} 뒤처짐",aheadCount:"{{count}} 앞섬",healUnavailableHint:"확인된 업스트림보다 뒤처지기만 한 깨끗한 체크아웃만 여기서 업데이트할 수 있습니다.",healHint:"이 체크아웃을 업스트림으로 빨리 감기합니다. 로컬 변경이 없어 잃을 것이 없습니다.",healFailed:"{{label}} 업데이트 실패: {{reason}}",healDone:"{{label}} 업데이트 완료",directionTBShort:"↓",directionLRShort:"→",tabMap:"맵",closeDetailAria:"상세 패널 닫기",layoutDirectionAria:"그래프 배치 방향",viewAria:"메시 보기",tabOverview:"개요",tabTasks:"작업",panHint:"드래그하거나 스크롤해 이동",headlineFollowUp_one:"{{count}}개 확인 필요",headlineFollowUp_other:"{{count}}개 확인 필요",headlineIncomplete:"일부 머신이 보이지 않음",headlineConverged:"모두 동기화됨",badgeBlocked:"{{count}} 차단됨",badgeBlockedTitle:"{{count}}개 리뷰 차단",badgeNotMergeable:"{{count}} 병합 불가",badgeNeedMerge_one:"{{count}} 병합 필요",badgeNeedMerge_other:"{{count}} 병합 필요",badgeCleanupTitle:"{{count}}개 refine/정리",badgeOffline:"{{count}} 오프라인",badgeIncompleteTitle:"{{count}}개 피어 스냅샷 불완전",badgeNoGitTitle:"{{count}}개 git 스냅샷 없음",badgeNoSubmodTitle:"{{count}}개 서브모듈 가시성 누락",badgeStaleTitle:"{{count}}개 피어 스냅샷 오래됨",badgeActiveQueue:"활성 큐 {{count}}",badgeNodes_one:"노드 {{count}}개",badgeNodes_other:"노드 {{count}}개",badgeAttachedChats_one:"연결된 채팅 {{count}}개",badgeAttachedChats_other:"연결된 채팅 {{count}}개",legendDirty:"더티 {{count}}",legendOrphan:"고아 {{count}}",legendRecentFailures_one:"최근 실패 {{count}}",legendRecentFailures_other:"최근 실패 {{count}}",legendAnchor:"앵커 = 기본 브랜치",legendPeerLink:"피어 링크 = 동일 브랜치 워크트리",legendSubmoduleLink:"서브모듈 링크 = 하위 체크아웃",healthRefineFailed:"refine 실패 {{count}}",convergenceMergedToMain:"main에 병합됨",convergenceNeedsMerge:"병합 필요",convergenceBlockedReview:"차단됨 — 리뷰 필요",convergenceCleanup:"정리 준비 완료",convergenceNotMergeable:"병합 불가",followUpLabel:"후속 작업 — {{status}}",selectedEdge:"선택된 엣지",activeSessions:"활성 세션",queueTasks:"큐 작업",keyWarning:"핵심 경고",noResultCode:"반환된 결과 코드가 없습니다.",legend:"범례",checking:"업데이트 중…",heal:"업데이트",loadingGraph:"그래프 로딩 중…",emptyGraph:"이 코디네이터에 대한 라이브 메시 그래프가 아직 없습니다.",fieldLocality:"로컬리티",fieldWorkspace:"워크스페이스",fieldHead:"HEAD",fieldUpstream:"업스트림",fieldSource:"소스",fieldTransport:"전송",fieldMachineId:"머신 ID",fieldDaemonId:"데몬 ID",fieldFrom:"출발",fieldTo:"도착",fieldLabel:"레이블",connecting:"연결 중...",providerUnknown:"알 수 없는 프로바이더",directionLRTitle:"왼쪽에서 오른쪽",directionTBTitle:"위에서 아래"},notes:{sectionHint:"코디네이터가 세션 사이에 기억하는 교훈입니다 — 프로바이더 특이사항, 피해야 할 패턴, 복구 방법.",expired:"만료됨",neverExpires:"만료 없음",durable:"상시 유지",expiresIn:"{{when}} 만료",tab:"운영 노트",addTitle:"운영 노트 추가",listTitle:"운영 노트",textPlaceholder:"프로바이더 특이사항, 피해야 할 패턴, 복구 교훈을 기록하세요...",categoryLabel:"카테고리",categoryUncategorized:"미분류",categoryProviderQuirk:"프로바이더 특이사항",categoryPatternToAvoid:"피해야 할 패턴",categoryRecoveryLesson:"복구 교훈",add:"추가",edit:"수정",delete:"삭제",save:"저장",cancel:"취소",refresh:"새로고침",loading:"노트 불러오는 중...",empty:"아직 기록된 운영 노트가 없습니다.",unavailable:"운영 노트를 사용할 수 없습니다 — 코디네이터에 P2P로 연결할 수 없습니다.",loadFailed:"운영 노트를 불러오지 못했습니다.",saveFailed:"운영 노트를 저장하지 못했습니다.",deleteFailed:"운영 노트를 삭제하지 못했습니다.",editFailed:"운영 노트를 수정하지 못했습니다.",showMore:"더 보기",showLess:"접기",pinned:"고정됨"},dialog:{liveUpdatesOn:"실시간 업데이트 중",liveUpdatesPaused:"실시간 업데이트 일시 중지 — 마지막으로 불러온 상태 표시 중",refreshedAt:"{{time}} 갱신됨",refreshFailedQuiet:"새로 고침 실패 · 마지막으로 불러온 상태 표시 중",refreshTitle:"라이브 메시 그래프 새로 고침",loadingStatus:"라이브 메시 상태 로딩 중…",noGraph:"이 코디네이터에 대한 라이브 메시 그래프가 아직 없습니다. 위의 ? 를 눌러 Repo Mesh 가 무엇인지 알아보세요.",errorNoMeshId:"이 코디네이터는 라이브 메시 ID를 노출하지 않습니다."},health:{statFailed:"실패",statPending:"대기"},blueprint:{schedPrediction:"예측",readonlyBadge:"읽기 전용",schedObservedAt:"{{time}} 기준",schedNoNodes:"라우팅 가능한 노드가 없습니다.",schedQuotaButton:"쿼터",schedQuotaButtonTitle:"기기별 플랜 쿼터 한눈에 보기",schedNoWinner:"적합한 슬롯 없음",schedNext:"다음 배정",schedWaiting:"대기",schedFull:"정원 참",schedFloorExcluded:"난이도 미달",schedQuotaGated:"쿼터 차단",schedCapFree:"여유",schedColSlot:"슬롯",schedColScore:"점수",schedColQuota:"쿼터",schedColParallel:"병렬",schedColStatus:"상태",schedColMachine:"머신",schedNextTitle:"지금 이 난이도의 작업을 보내면 이 슬롯이 배정됩니다",schedTargetWorktreeTitle:"이 워크트리 체크아웃에서 실행됩니다",schedUnpinnedTitle:"핀 없이 보낼 때의 가상 예측 — 노드가 핀 지정된 태스크는 카드에 별도 예측이 표시됩니다",schedPointInTime:"확정된 배정이 아니라 현재 시점의 예측입니다 — 슬롯이 점유·해제되면 용량 정보는 즉시 낡을 수 있습니다",schedulingShort:"스케줄링",list:{barActive:"실행 {{count}}",barBlocked:"차단 {{count}}",barRecent:"최근 {{count}}",barMissions_one:"미션 {{count}}개",barMissions_other:"미션 {{count}}개",sectionRunning:"실행 중",sectionBlocked:"차단됨",sectionRecent:"최근",sectionHistory:"히스토리",generating:"생성 중",approvalNeeded:"승인 필요",choiceNeeded:"선택 필요",planShow:"플랜",planHide:"접기",planTitle:"이 태스크의 의존성 플랜 보기",noMission:"미션 없음",loadMore_one:"{{count}}개 더 보기",loadMore_other:"{{count}}개 더 보기",emptyActive:"실행 중인 작업 없음",waitingOn:"대기 중:",waitingOnMore:"외 {{count}}개",blockedByDeadDependency:"실패/취소된 선행 작업에 막힘:",chainGroup:"체인: {{title}}"},graph:{viewSwitchLabel:"설계도면 보기",viewList:"목록",viewGraph:"그래프",activeOnly:"진행 중만",activeOnlyTitle:"모든 작업이 끝난 레인 숨기기",hiddenLanes_one:"끝난 레인 {{count}}개 숨김",hiddenLanes_other:"끝난 레인 {{count}}개 숨김",emptyActive:"실행 중인 작업 없음",showFinished:"끝난 레인 보기",layoutFailed:"그래프 배치 실패: {{error}}",laneAdhoc:"독립 작업",laneCollapse:"접기",laneExpand:"펼치기",foldCompleted:"완료 접기",unfoldCompleted:"완료 펼치기",foldNode_one:"완료 {{count}}개",foldNode_other:"완료 {{count}}개",countRunning_one:"실행 중 {{count}}",countRunning_other:"실행 중 {{count}}",countDead_one:"막힘 {{count}}",countDead_other:"막힘 {{count}}",countWaiting_one:"대기 {{count}}",countWaiting_other:"대기 {{count}}",countFailed_one:"실패 {{count}}",countFailed_other:"실패 {{count}}",countDone_one:"완료 {{count}}",countDone_other:"완료 {{count}}",timeRunning:"실행 {{age}}째",timeFinished:"종료 {{time}}",timeQueued:"대기 {{age}}",tooltipTask:"태스크: {{id}}",tooltipMission:"미션: {{id}}",tooltipStatus:"상태: {{status}}",deadDirect:"선행 작업이 실패/취소되어 이 작업은 스스로 시작되지 않습니다.",deadTransitive:"상류 작업이 실패/취소되어 이 작업은 스스로 시작되지 않습니다.",legendDepends:"선행 의존",legendRunning:"실행 중",legendDead:"시작 불가",heldUntil:"{{time}}까지",tone:{pending:"대기",running:"실행 중",completed:"완료",failed:"실패",cancelled:"취소됨",dead:"막힘",plan:"계획됨",held:"보류"}}},page:{title:"Repo Mesh",subtitle:"다중 워크스페이스 오케스트레이션",waitingForDaemon:"데몬 연결 대기 중..."},list:{nodeCount_other:"노드 {{count}}개",nodeCount_one:"노드 {{count}}개",machinesOnline:"머신 {{online}}/{{total}}대 온라인",settings:"설정",open:"열기",title:"Repo Mesh 목록",count_one:"메시 {{count}}개",count_other:"메시 {{count}}개",createMesh:"+ 메시 생성",createTitle:"Repo Mesh 만들기",createOnMachine:"생성할 머신",noConnectedDaemon:"연결된 데몬 없음",workspace:"워크스페이스",workspaceHint:"선택한 데몬에 등록된 워크스페이스에서 선택하세요.",name:"이름",remoteUrl:"레포 리모트 URL (권장)",remoteUrlHint:"레포 URL을 붙여넣으면 식별자(github.com/user/repo)가 자동 생성됩니다.",repoIdentity:"레포 식별자",repoIdentityHint:"리모트가 없거나 머신마다 URL이 다를 때 직접 입력하세요. 예: github.com/user/repo",advancedIdentityToggle:"고급: 식별자 직접 지정",create:"생성",creating:"생성 중…",cancel:"취소",loading:"메시 불러오는 중...",emptyTitle:"Repo Mesh가 없습니다",emptyWithDaemons:"여러 머신에서 하나의 저장소로 여러 코딩 에이전트를 실행하세요.",emptyNoDaemons:"먼저 머신을 연결하세요.",createFirst:"첫 메시 생성",noRepoIdentity:"리포 식별자 없음"},detail:{useFromCli:"CLI에서 사용",optionNo:"아니요",optionYes:"예",distributionInOrderSummary:"추가한 순서대로 첫 번째 가능한 노드",distributionSmartSummary:"작업마다 가장 알맞은 노드, 부하에 따라 분산",tabGeneral:"일반",back:"← 뒤로",delete:"삭제",observabilityOpenTitle:"실시간 보기 열기 (개요, 작업, 맵)",observabilityDisabledTitle:"먼저 호스트 머신이 연결되어야 합니다",observabilityOpen:"열기",tabsAriaLabel:"메시 설정 섹션",tabAdvanced:"고급",quotaBusyFallback:"병렬 한도일 때 quota 폴백",quotaBusyFallbackHint:"quota 1순위 provider의 슬롯이 모두 차 있으면 기다리지 않고 같은 노드의 다음 quota 후보로 진행합니다. quota가 부족한 provider로는 절대 넘어가지 않으며, 다른 노드로 옮기지도 않습니다.",distribution:"분배",distributionSmart:"스마트",distributionSmartDescription:"각 작업을 역량 슬롯이 가장 잘 맞는 노드(난이도 + 역량 태그)에 배정한 뒤 우선순위와 부하로 분산합니다. 슬롯이 없어도 작업을 고르게 분산합니다. 슬롯이 있는 노드가 있으면 권장됩니다.",distributionInOrder:"순서대로",distributionInOrderDescription:"노드가 추가된 순서대로 할당합니다 — 첫 번째 적격 노드가 작업을 맡습니다. 부하 분산은 없습니다.",recommended:"권장",saving:"저장 중…",visibilityTitle:"대시보드 노출",visibilityLabel:"코디네이터가 스폰한 워커 세션",visibilityHint:"숨김 = 수신함을 조용히 유지하고 알림을 음소거; 코디네이터 세션을 통해 상호작용합니다. 표시 = 스폰된 모든 워커를 각각의 대화로 표시합니다.",visibilityHidden:"숨김",visibilityVisible:"표시",coordinatorPromptTitle:"코디네이터 프롬프트",thisMeshHint:"{{name}}의 코디네이터 세션에만 적용됩니다. 비워 두면 데몬 기본값을 유지합니다.",overrideLabel:"재정의 (기본값 대체)",overrideHint:"설정하면 데몬의 기본 베이스 프롬프트를 대체합니다. 비워 두면 기본값을 유지합니다.",overridePlaceholder:"(비어 있음 — 데몬 기본값 적용)",appendLabel:"추가 (베이스 뒤에 추가)",appendHint:"어떤 베이스 프롬프트가 선택되든 항상 그 뒤에 추가됩니다.",appendPlaceholder:"(비어 있음 — 추가 없음)",availablePlaceholders:"사용 가능한 플레이스홀더",placeholdersIntro:"재정의/추가 프롬프트를 렌더링할 때 다음 토큰이 치환됩니다:",saveCoordinatorPrompt:"코디네이터 프롬프트 저장",clear:"지우기",clearTitle:"두 필드를 모두 지웁니다. 저장을 클릭하여 커밋하세요.",safetyTitle:"안전 & Git",safetyDescription:"코디네이터 주도 작업의 체크포인트, 승인 게이트, git 안전 동작.",checkpointBefore:"각 작업 전에 체크포인트 자동 커밋",checkpointAfter:"각 작업 후에 체크포인트 자동 커밋",pushApproval:"푸시 승인",requireApprovalBeforePush:"푸시 전 승인 필요",doNotRequireApproval:"승인 불필요",destructiveGitApproval:"파괴적 git 승인",requireApproval:"승인 필요",uncommittedChanges:"워크스페이스에 커밋되지 않은 변경이 있을 때",warnAndContinue:"경고 후 계속",blockTask:"작업 차단",checkpointThenContinue:"체크포인트 후 계속",autoPublishSubmodule:"서브모듈 커밋 자동 게시 (고급)",requireExplicitApproval:"명시적 승인 필요",allowRefineryPublish:"리파이너리 비강제 게시 허용",autoFastForward:"유휴 노드 자동 fast-forward",ffEnabled:"활성화 (온라인·클린·뒤처진 노드 따라잡기)",ffDisabled:"비활성화",includeRemoteNodes:"원격 노드 포함",includeRemoteNodesHint:"끄면 = 코디네이터의 로컬 워크스페이스만 자동 fast-forward됩니다.",remoteNo:"아니요 (로컬 워크스페이스만)",remoteYes:"예 (원격 소유 데몬에 위임)",detectionMode:"감지 모드",detectionModeHint:"Idle = 노드의 유휴 에지에서. Continuous = 주기적으로도 스캔(베이스 노드만).",idleEdgeOnly:"유휴 에지만",continuousScan:"연속 (주기적 스캔)",sessionCleanupLabel:"노드 제거 시 해당 세션은…",sessionCleanupHint:"트랜스크립트 정리를 런타임/프로세스 정리와 분리합니다.",mcpDescription:"· 메시 MCP 서버는 CLI 에이전트에서 직접 사용할 수 있습니다.",repoMeshJsonTitle:"저장소 파일에서 (읽기 전용)",repoMeshJsonHint:"이 저장소가 커밋한 코디네이터 프롬프트 텍스트로, 위 필드와 함께 쌓입니다. 여기가 아니라 저장소 파일에서 수정하세요:",repoMeshJsonOverrideLabel:"저장소 override",repoMeshJsonAppendLabel:"저장소 append",repoMeshJsonInvalid:"이 저장소의 .adhdev/mesh.json 을 파싱할 수 없어 해당 프롬프트 레이어가 무시됩니다."},nodeList:{advanced:"고급",launchBlockedChip:"프로바이더 없음",usesTools:"사용: {{tools}}",addingIsExplicit:"추가는 직접 하셔야 합니다.",compatibleWorkspace:"호환되는 Git 워크스페이스를 찾았습니다.",inspectingRepo:"Git 저장소 확인 중 (읽기 전용)…",title:"노드 & 프로바이더 ({{count}})",descriptionCloud:"이 메시의 워크스페이스와 선호 AI 도구입니다.",descriptionStandalone:"이 메시에 참여하는 워크스페이스와 선호 AI 도구.",daemonCandidates:"머신 데몬 후보",available:"{{count}}개 사용 가능",noDaemonsAvailable:"현재 사용 가능한 연결된 머신 데몬이 없습니다.",allDaemonsAttached:"연결된 모든 머신 데몬이 이미 연결되어 있습니다.",selectedHost:"선택된 호스트",attachMachine:"머신 연결",addNode:"노드 추가",attachMachineTitle:"머신 데몬 연결",addNodeTitle:"노드 추가",machine:"머신",selectMachine:"머신을 선택하세요...",workspacePath:"워크스페이스 경로",enterCustomPath:"또는 사용자 지정 경로 입력 →",preferredTools:"선호 AI 도구 (순서대로)",preferredToolsHint:"명시적 프로바이더 없이 실행할 때 사용되는 순서.",add:"추가",cancel:"취소",emptyTitle:"노드 없음",emptyDescription:"이 메시에 워크스페이스를 추가하세요.",slotsLabel:"선호 AI 도구 (역량 슬롯)",slotsHint:"각 슬롯 = 프로바이더 + 모델 + 사고 + 처리할 작업 난이도/역량 + 슬롯별 병렬 상한. 작업은 최적 슬롯에 매칭됩니다(순서 = 선호도). 슬롯이 없으면 이 노드는 레거시 프로바이더 순서를 사용합니다.",nodeInstruction:"노드 지시 (선택)",nodeInstructionHint:"코디네이터 시스템 프롬프트에 📌 Node instruction으로 표시됩니다.",nodeInstructionPlaceholder:"예: '여기서는 스모크 테스트만 실행', '이 노드에서는 opus 사용'",saveInstruction:"지시 저장",saving:"저장 중…",removeNode:"노드 제거",nodeId:"노드 ID:",repoRoot:"리포 루트:",activeSessionsLabel:"활성 세션:",added:"추가됨:",activeQueueAssignments:"활성 큐 배정",noActiveAssignment:"이 노드에 활성 배정된 큐 작업이 없습니다.",activeSessions:"활성 세션",launchBlocked:"이 노드에서 감지된 프로바이더가 없습니다 — 프로바이더가 선택되거나 설치될 때까지 작업 실행이 차단됩니다. (빈 역량 슬롯만으로는 실행이 차단되지 않습니다. 이것은 프로바이더를 찾지 못했다는 의미입니다.)",titleNoCount:"노드 및 제공자",workspacesDetected:"워크스페이스 {{count}}개 감지됨",pickFromSaved:"← 저장된 워크스페이스에서 선택",ownerMachine:"소유자: {{owner}} · 머신: {{machine}}",machineTabsLabel:"이 메시의 머신",machineTabCounts:"노드 {{nodes}}개 · 슬롯 {{slots}}개"},host:{setHostConfirmTitle:"{{name}}을(를) 호스트로 설정할까요?",setupNode:"설정 노드",willHostOn:"호스트 예정:",title:"호스트 머신",descriptionSet:"이 메시의 코디네이터를 실행하는 머신입니다. 한 번 정하면 여기서 바꾸지 않습니다.",descriptionUnset:"이 메시의 코디네이터를 실행할 머신을 고르세요.",hostLabel:"호스트:",hostNode:"호스트 노드:",unknown:"알 수 없음",hostOffline:"호스트 오프라인",hostOfflineText:"호스트가 다시 연결될 때까지 실시간 상태를 불러올 수 없습니다. 그동안 연결된 다른 머신을 통해 명령을 보낼 수 있으며, 호스트는 바뀌지 않습니다.",reconnectToCommand:"명령 재연결",reconnectToCommandHint:"호스트가 복귀할 때까지 이 연결된 데몬을 통해 명령을 라우팅합니다. 메시 호스트를 변경하지 않습니다.",waitForHost:"호스트 재연결 대기",noDaemonsToRoute:"명령을 라우팅할 연결된 데몬이 없습니다. 호스트(또는 다른 데몬)를 온라인으로 만드세요.",setHostBanner:"호스트 머신을 선택하세요",hostDaemon:"호스트 데몬",hostDaemonHint:'이 mesh를 호스팅할 daemon을 선택한 뒤 "호스트로 설정"으로 확정하세요.',resolvingHost:"호스트 확인 중… (또는 호스팅할 데몬 선택)",noDaemonsToHost:"연결된 데몬이 없습니다. 이 메시를 호스팅할 데몬을 온라인으로 만드세요.",online:"온라인",offline:"오프라인",noCommandTarget:"사용 가능한 명령 대상이 없습니다 — 호스트 또는 데몬을 온라인 상태로 만드세요.",setHostAction:"호스트로 설정",settingHost:"호스트 설정 중…",setHostActionHint:"이 daemon을 mesh 호스트로 고정합니다. 사실상 영구적이며, 이후 여기서 재할당되지 않습니다.",confirmSetsHost:"아래에서 확정하면 mesh 호스트로 설정됩니다.",attachNodeThenSetHost:"먼저 이 daemon의 워크스페이스를 노드로 연결한 뒤 호스트로 설정하세요."},slotEditor:{emptyHint:"슬롯이 없어도 이 노드는 프로바이더 순서대로 작업을 실행합니다. 특정 난이도나 역량의 작업을 특정 도구로 보내려면 슬롯을 추가하세요.",empty:"슬롯 없음 (선택)",moveUp:"위로 이동",moveDown:"아래로 이동",removeSlot:"슬롯 제거",provider:"프로바이더",select:"(선택)",model:"모델",providerDefault:"(프로바이더 기본값)",custom:"사용자 지정…",modelPlaceholder:"모델",backToModelList:"← 모델 목록으로",thinking:"사고",thinkingDefault:"(기본값)",difficulty:"난이도 (비우면 = freeform 태스크만 배정)",capabilityTags:"역량 태그 (쉼표 구분)",maxParallel:"최대 병렬 (슬롯당)",maxParallelPlaceholder:"무제한",addSlot:"슬롯 추가",saving:"저장 중…",saveSlots:"슬롯 저장"},tagEditor:{emptyHint:"특정 태그와 일치하지 않아도 여기서 작업이 실행됩니다. 작업의 필수 태그로 이 노드를 지정하려면 태그를 추가하세요.",noSpaces:"태그에는 공백을 포함할 수 없습니다.",reservedPrefix:"그 접두사는 자동 파생됩니다 — 다른 태그를 선택하세요.",alreadyAdded:"이미 추가됨.",routingTags:"라우팅 태그",autoDerivedTitle:"자동 파생 — 편집할 수 없음",customTagTitle:"사용자 지정 태그",remove:"{{tag}} 제거",addPlaceholder:"사용자 지정 태그 추가 (예: test-runner)",add:"추가",saving:"저장 중…",saveTags:"태그 저장",empty:"태그 없음 (선택)"},queue:{title:"큐",description:"활성 큐 작업을 과거의 완료·실패·취소된 작업 기록과 분리하여 검사합니다."},promptPreview:{connectPrompt:"기본값을 미리 보려면 데몬을 연결하세요.",errorRender:"기본 프롬프트를 렌더링하지 못했습니다",hide:"기본 프롬프트 숨기기",view:"기본 프롬프트 보기",rendering:"렌더링 중…",retry:"다시 시도",info:"재정의가 비어 있을 때 코디네이터 세션이 받는 내용입니다.",launchScopeNote:"미션·최근 활동·운영 노트는 런치 시 추가되며 여기에는 표시되지 않습니다."},providerAutoApprove:{partialInventoryChip_other:"노드 {{count}}개 대기",partialInventoryChip_one:"노드 {{count}}개 대기",title:"프로바이더 자동 승인 기본값",loading:"프로바이더 기본값 불러오는 중…",loadError:"프로바이더 자동 승인 기본값을 불러오지 못했습니다.",noProviders:"이 메시의 머신들에서 자동 승인 모드를 가진 CLI 프로바이더를 찾지 못했습니다.",awaitingNodes:"노드 {{count}}개가 설치된 프로바이더를 보고하기를 기다리는 중…",partialInventory:"프로바이더 목록이 불완전할 수 있습니다 — 노드 {{count}}개가 아직 보고하지 않았습니다.",noHostDaemon:"프로바이더 자동 승인 기본값을 설정하려면 메시 호스트 데몬을 연결하세요.",repoSection:{chip:"팀과 공유",title:"저장소 기본값",hint:".adhdev/mesh.json에 커밋되어 팀 전체와 공유됩니다. 위임 워커가 '요청'할 모드를 정할 뿐, 실행 권한을 부여하지는 않습니다.",usesProviderDefault:"프로바이더 기본값 사용",clear:"프로바이더 기본값 사용"},machineSection:{chip:"이 머신만",title:"이 머신의 실행 권한",hint:"로컬 전용(meshes.json) — 커밋되지 않습니다. 이 머신의 워커가 자동 승인을 할지, dangerous 모드를 허용할지를 제어합니다.",autoApproveToggleLabel:"위임 워커 자동 승인",autoApproveToggleHint:"끄면 이 머신에 위임된 워커가 모든 승인 프롬프트에서 멈춥니다.",dangerousToggleLabel:"이 머신에서 dangerous 모드 허용",dangerousToggleHint:"옵트인: 이 머신의 워커가 승인 없이 도구를 실행하는 dangerous 모드로 동작할 수 있습니다.",dangerousDisabledHint:"위의 자동 승인이 꺼져 있는 동안에는 적용되지 않습니다.",confirmTitle:"dangerous 모드 옵트인",confirmDescription:"이 머신에서 위임 워커가 dangerous 프로바이더 모드로 실행되는 것을 허용합니다. dangerous 모드에서는 에이전트가 어떤 승인 프롬프트도 없이 도구와 명령을 실행합니다.",confirmScopeLabel:"적용 범위",confirmScopeValue:"이 머신에만 적용 (로컬 meshes.json — 커밋되지 않음)",confirmEffectLabel:"효과",confirmEffectValue:"저장소가 요청한 dangerous 모드(예: Force, 완전 자율)가 이 머신에서 더 이상 안전한 대화형 모드로 강등되지 않습니다.",confirmConfirm:"옵트인"},effectiveSection:{statusDowngradedHint:"{{requested}}이(가) 요청되었지만 이 머신이 dangerous 모드를 허용하지 않아 {{mode}}(으)로 실행합니다.",statusRequested:"실행: {{mode}}",statusInvalidFallback:"요청한 모드를 찾을 수 없음 → 프로바이더 기본값 실행: {{mode}}",statusDowngraded:"{{mode}} (강등됨)",statusDisabled:"이 머신에서 자동 승인이 비활성화됨 — 워커가 승인을 요청합니다.",statusNone:"사용 가능한 자동 승인 모드 없음 — 워커가 승인을 요청합니다."},dangerous:{sharedWarningDetail:".adhdev/mesh.json에 저장됩니다. 각 머신은 옵트인(delegatedWorkerDangerousModeAllow)한 뒤에만 실행합니다.",sharedWarningTitle:"이 설정은 저장소에 커밋됩니다",sharedWarning:"저장소에 커밋되어 팀과 공유됩니다. dangerous 모드를 허용하지 않은 머신은 더 안전한 모드로 실행합니다."},saving:"저장 중…",saved:".adhdev/mesh.json에 저장됨",saveError:"프로바이더 기본값 저장에 실패했습니다."},status:{healthErrorChip:"오류",offlineMachinesTitle:"보고 없음: {{machines}}",badgeBootstrap:"준비 중",badgeUpdatePending:"업데이트 대기",quotaClaudeRefreshChip:"갱신 필요",quotaClaudeSetupChip:"설정 필요",machineNotReportingHint:"이 머신의 응답을 받지 못해 플랜 사용량을 알 수 없습니다.",quotaNotCollectedHint:"머신은 첫 갱신(약 15분) 이후, 그리고 에이전트가 활동한 동안에만 플랜 사용량을 보고합니다.",schedulingNotReportedHint:"이 머신은 스케줄링 정보를 보고하지 않는 이전 버전을 실행 중입니다.",schedulingNotReported:"스케줄링을 보려면 데몬을 업데이트하세요",schedulingTitle:"스케줄링",distributionTitle:"분배 방식은 대상이 없는 작업을 노드에 어떻게 나눌지 정합니다. 노드별 부하와 한도는 아래에 있습니다.",protocolTitle:"프로토콜 및 프로바이더 버전",noNodesReporting:"아직 런타임을 보고하는 노드가 없습니다.",quotaNotCollected:"아직 사용량 없음",quotaFreshnessHint:"마지막 업데이트",machineNotReporting:"오프라인 · 사용량 알 수 없음",quotaClaudeSetupHint:"Claude 사용량을 설정하려면 `adhdev quota claude:install` 을 실행하세요.",quotaClaudeRefreshHint:"Claude Code 세션을 한 번 열면 사용량이 갱신됩니다.",quotaAccountHint:"이 사용량이 속한 로그인 계정 — 프로바이더 CLI 가 보고한 값",quotaOkNoWindows:"한도 없음",healthNotGitRepo:"git 저장소 아님",healthProbePending:"확인 중…",healthPeerConnection:"연결 {{state}}",healthNoLiveReport:"아직 보고 없음",badgeWorktree:"워크트리",badgeWorktreeTitle:"로컬 워크트리 노드",badgeWorktreeBranchTitle:"워크트리 브랜치 {{branch}}",badgeBootstrapTitle:"워크트리 부트스트랩 진행 중",badgeConnectionTitle:"메시 피어 연결 상태",badgeSessions_one:"세션 {{count}}개",badgeSessions_other:"세션 {{count}}개",badgeFastForwardReady:"fast-forward 가능",badgeFastForwardReadyTitle:"클린 + upstream 뒤처짐 — fast-forward 안전",badgeStaleBuildTitle:"라이브 데몬이 워크스페이스 HEAD 이전 빌드 — 머지된 수정이 반영 안 됐을 수 있음",badgeDeployLagTitle:"실행 중 데몬 빌드가 origin/main과 다름 — 이 노드는 배포+재시작 대기",machinesNotReporting_one:"{{count}}대 오프라인",machinesNotReporting_other:"{{count}}대 오프라인",machinesSection:"머신 — 플랜 · 노드",versionSkewTitle:"머신 컨센서스와 다른 버전 (stale 보고 또는 부분 설치)",machineVersionsTitle:"이 머신에 설치된 프로바이더 CLI 버전 — 소속 노드 전체가 공유"},overview:{tasksCount_other:"작업 {{count}}개",tasksCount_one:"작업 {{count}}개",sessionCount_other:"세션 {{count}}개",sessionCount_one:"세션 {{count}}개",providerUnknown:"프로바이더 알 수 없음",truncated:"(생략됨)",missionCard:"미션",ledgerCard:"활동",queueCard:"큐",nodesCard:"노드",sessionsCard:"활성 세션",refineCard:"Refine 작업",recentActivity:"최근 활동",recentTasks:"최근 태스크",missionTasksHeading:"미션 태스크",showFewer:"간략히 보기",showMore:"+{{count}}개 더",noActiveMissions:"활성 미션 없음",missionDataUnavailable:"미션을 보려면 데몬을 업데이트하세요",completedHistory:"완료 / 포기 기록",noQueueActivity:"큐 활동이 없습니다.",noNodes:"이 mesh에 노드가 아직 없습니다.",noActiveSessions:"활성 세션이 없습니다.",noRefineJobs:"Refine 작업이 없습니다.",closeDetail:"상세 닫기",loadingGoal:"불러오는 중…",showFullGoal:"전체 목표 보기",statCompleted:"완료",statAssigned:"할당됨",statPending:"대기 중",statFailed:"실패",statBlocked:"차단됨",statCancelled:"취소됨",statWallClock:"경과 시간",statTotalRuntime:"총 실행 시간",statRetries:"재시도",statDispatched:"디스패치됨",statStalled:"지연됨",statSessions:"세션",statCheckpoints:"체크포인트",statActive:"활성",statPaused:"일시중지",statAbandoned:"중단됨",recentFailures:"최근 실패 {{count}}건",activeCount:"{{count}}개 활성",failedCount:"{{count}}개 실패",detailKickerMission:"미션",detailKickerLedger:"원장 항목",detailKickerQueue:"큐 태스크",detailKickerSession:"세션",detailLabelMissionId:"미션 ID",detailLabelCreated:"생성 시각",detailLabelUpdated:"업데이트 시각",detailLabelElapsed:"소요 시간",detailLabelFullInstruction:"지시문 전문 보기",detailLabelLastActivity:"마지막 태스크 활동",detailLabelIncompleteEvidence:"미완료 증거",detailLabelEntryId:"항목 ID",detailLabelWhen:"시각",detailLabelNode:"노드",detailLabelDependsOn:"의존 태스크",detailLabelSession:"세션",detailLabelProvider:"프로바이더",detailLabelPayload:"원본 페이로드 보기",detailLabelTaskId:"태스크 ID",detailLabelFinalSummary:"최종 요약",detailLabelFullFinalSummary:"보고서 전문 보기",detailFinalSummaryLoading:"최종 요약을 불러오는 중…",detailFinalSummaryUnavailable:"최종 요약을 사용할 수 없음",detailLabelAutoLaunch:"자동 실행",detailLabelCancelReason:"취소 사유",detailLabelRequeueReason:"재큐 사유",detailLabelRequeued:"{{count}}회 재큐됨",detailLabelSessionId:"세션 ID",detailLabelBranch:"브랜치",detailLabelRole:"역할",detailLabelStarted:"시작 시각",detailLabelWorkspace:"워크스페이스",routingHeading:"라우팅",routingDevice:"디바이스",routingDaemon:"데몬",routingExecution:"실행 프로필",routingVia:"경유",routingDifficulty:"난이도",routingFitness:"적합도",routingReason:"근거",routingRequiredTags:"필수 태그",routingTagsUnsatisfied:"미충족",routingSkipped:"건너뛴 후보",routingSkippedMore:"외 {{count}}개",pausedMissions:"일시정지된 미션",ledgerAllTime:"전체 기간 누계",sessionTasksHeading:"이 세션의 태스크",showOnCanvas:"캔버스에서 보기"}},g={showMoreChars:"더 보기 ({{count}}자)",collapse:"접기",you:"나",toolMessageAria:"도구 메시지",activityMessageAria:"활동 메시지",activityFallback:"활동",copyMessage:"메시지 복사",copyCode:"코드 복사",showMore:"더 보기",showLess:"간략히",thought:"생각",toolExpand:"전체 출력 보기",toolCollapse:"간략히",toolExpandLoading:"불러오는 중…",toolExpandUnavailable:"이 단계의 전체 출력을 가져올 수 없습니다.",toolExpandStale:"전체 출력의 위치가 바뀌었습니다 — 읽은 이후 트랜스크립트가 변경되었습니다. 대화를 새로 불러오면 가져올 수 있습니다.",waitingToSend:"전송 대기 중 — 에이전트가 아직 작업 중입니다.",waitingToSendAria:"전송 대기 중",notDelivered:"전달되지 않음 — 에이전트가 이 메시지를 받지 못했습니다.",notDeliveredAria:"전달되지 않음",sendNow:"지금 보내기",sending:"보내는 중…",sendNowAria:"현재 턴을 중단하지 않고 에이전트 대기열로 지금 보내기",sendNowTitle:"이 메시지를 지금 에이전트에게 보냅니다. 에이전트 자체 대기열에 들어가 다음 턴에 처리되며, 진행 중인 턴은 그대로 계속됩니다.",cancelQueued:"취소",cancelQueuedAria:"대기 중인 이 메시지 취소",cancelQueuedTitle:"이 메시지를 대기열에서 제거합니다. 에이전트에게 전송되지 않습니다."},b={debugBundleFailed:"디버그 정보를 수집하지 못했습니다",connectingToMachine:"머신에 연결 중",establishingP2P:"P2P 연결 설정 중",agentNotMonitored:"에이전트 모니터링 안 됨",clickToSwitchMonitoring:"이 에이전트로 모니터링 전환하려면 클릭하세요",agentPanelHidden:"에이전트 패널이 아직 표시되지 않습니다",openPanelHint:"IDE에서 채팅을 여세요",noMessagesYet:"아직 메시지가 없습니다",loadingChat:"채팅 불러오는 중...",openPanel:"{{label}} 패널 열기",switchingPanel:"전환 중...",openingPanel:"여는 중...",busyNoProgress:"에이전트가 진행 상황이 없습니다.",busyGenerating:"에이전트가 응답을 생성 중입니다.",busyWaitingApproval:"승인 대기 중",activityToggleLabel:"도구 단계",activityToggleTitle:"도구·터미널·생각 단계 표시",reconnectMachine:"재연결",reconnectingMachine:"재연결 중…",reconnectMachineTitle:"이 머신의 자동 재연결이 중단됨 — 지금 재연결"},v={addMessageOptional:"메시지 추가 (선택)…",showControls:"컨트롤 표시",hideControls:"컨트롤 숨기기",sendTo:"{{panel}}에 메시지 보내기",attachImage:"이미지 첨부",placeholder:"{{panel}}에 메시지 전송...",sendMessage:"메시지 전송",dropImage:"여기에 이미지를 놓으세요"},f={cdpDisconnectedShort:"IDE 연결 끊김",hideFromDashboard:"대시보드에서 숨기기",removeShortcut:"단축키 삭제",changeShortcut:"단축키 변경 ({{shortcut}})",dropSplitRight:"오른쪽으로 분할",dropMoveHere:"여기로 이동",dropSplitLeft:"왼쪽으로 분할",relaunchWithCdp:"연결해서 다시 실행",cdpDisconnected:"IDE에 연결되지 않았습니다 — 채팅 기록과 스크린샷을 사용할 수 없습니다.",resizeHandleHint:"드래그해서 크기 조절 · 더블클릭해서 합치기",shortcutListening:"입력 대기 중…",shortcutPressCombo:"키 조합을 누르세요 (예: {{example1}}, {{example2}})",shortcutSetTitle:"단축키 설정",loadingSessions:"세션을 불러오는 중...",noConversations:"아직 대화가 없습니다",waitingForDaemon:"데몬을 기다리는 중",connectYourMachines:"머신을 연결하세요",daemonDescription:"연결하려면 ADHDev 데몬을 시작하세요.",installDescription:"머신에 ADHDev를 설치하고 로그인하세요.",newSession:"새 세션",newSessionDescription:"설치된 에이전트로 세션을 시작하세요.",noTabsInGroup:"이 그룹에 탭이 없습니다",pressEscToCancel:"Esc를 눌러 취소",noActiveAgent:"활성 에이전트 없음",moveTabHere:"탭을 이곳으로 옮기면 표시됩니다"},C={growViewport:"터미널 화면 키우기",shrinkViewport:"터미널 화면 줄이기",sendInterrupt:"중단 신호 보내기 (Ctrl-C)",arrowRight:"오른쪽 화살표",arrowDown:"아래쪽 화살표",arrowLeft:"왼쪽 화살표",arrowUp:"위쪽 화살표",keysPanelTitle:"터미널 키",keysButton:"키",copyHint:"선택한 터미널 텍스트를 복사합니다. 선택이 없으면 보이는 화면 전체를 복사합니다",specDebugHint:"스펙 디버그 — 현재 상태, 섹션, 전환 기록 확인",replayScrollbackHint:"이전 터미널 출력을 불러와 더 위로 스크롤할 수 있게 합니다",loadOlderOutput:"이전 터미널 출력 불러오기",loadingOlder:"이전 항목 불러오는 중...",debug:"디버그",copy:"복사",openControlKeys:"터미널 제어 키 열기",closeControlKeys:"터미널 제어 키 닫기"},D={muteThis:"이 채팅 음소거",unmuteThis:"이 채팅 음소거 해제"},w={switchToTerminal:"터미널 보기로 전환",switchToChat:"채팅 보기로 전환"},y={updatedAt:"{{time}} 업데이트",messageCountShort_other:"메시지 {{count}}개",messageCountShort_one:"메시지 {{count}}개",workspaceUnknown:"워크스페이스 알 수 없음",clearSelection:"선택 해제",selectedSavedHistory:"선택한 저장 기록",loadingShort:"불러오는 중…",savedHistoryNoneYet:"저장된 기록 없음",savedHistoryLoadedCount_other:"저장된 기록 {{count}}개를 불러왔습니다. 저장된 기록을 열어 선택하세요.",savedHistoryLoadedCount_one:"저장된 기록 {{count}}개를 불러왔습니다. 저장된 기록을 열어 선택하세요.",savedHistoryBadge:"저장된 기록",resumeSavedHistory:"저장된 기록 재개",startFresh:"새로 시작",resumingSavedHistory:"저장된 기록 재개 중…",startingFresh:"새로 시작 중…",startIde:"IDE 시작",startingIde:"IDE 시작 중…",recoverHostedRuntime:"호스팅 런타임 복구",hostedRuntimeRecoveryDescription:"중단 후 호스팅 런타임의 폴백 복구. 일반적인 연속성을 위해서는 저장된 기록을 여세요.",openSavedHistory:"저장된 기록 열기",savedHistoryTitle:"저장된 기록",savedHistoryHelper:"같은 프로바이더 대화의 연속성을 원할 때 저장된 기록을 사용하세요.",savedHistoryEmpty:"아직 저장된 기록이 없습니다.",refreshSavedHistory:"저장된 기록 새로고침",refreshingSavedHistory:"저장된 기록 새로고침 중…",startFreshWith:"{{label}}(으)로 새로 시작할까요?",restart:"{{label}}을(를) 재시작할까요?",startFreshReview:"새로 시작하기 전에 프로바이더와 대상 폴더를 확인하세요.",restartIdeReview:"IDE를 재시작하기 전에 대상 워크스페이스를 확인하거나 변경하세요.",restartStoppedReview:"중지된 세션을 재시작하기 전에 대상 워크스페이스를 확인하거나 변경하세요.",confirmStartFresh:"새로 시작",confirmRestart:"재시작",confirmStartingFresh:"새로 시작 중…",confirmRestarting:"재시작 중…",resumeWith:"{{label}}(으)로 저장된 기록을 재개할까요?",resumeReview:"저장된 기록을 재개하기 전에 대상 워크스페이스를 확인하거나 변경하세요."},T={layout:{expandSidebar:"사이드바 펼치기",collapseSidebar:"사이드바 접기",collapse:"접기"},auth:{loading:"스탠드얼론 대시보드 로드 중…",loadError:"스탠드얼론 인증 상태 로드 실패: {{error}}",signInTitle:"스탠드얼론 로그인",passwordProtected:"이 셀프호스트 대시보드는 로컬 비밀번호로 보호되어 있습니다.",tokenProtected:"이 스탠드얼론 서버는 토큰으로 보호되어 있습니다. 토큰이 포함된 URL로 접근하거나, 이미 인증된 세션에서 비밀번호를 설정하세요.",passwordPlaceholder:"스탠드얼론 비밀번호 입력",unlock:"대시보드 잠금 해제",signingIn:"로그인 중…",noPasswordEnabled:"이 서버에서는 비밀번호 로그인이 활성화되어 있지 않습니다."},machine:{loading:"머신 로드 중...",awaitingInput:"입력을 기다리는 중 ↑"},settings:{restartToApply:"재시작 시 적용",providersLink:"프로바이더",providersIntro:"이 머신의 IDE와 에이전트:",title:"설정",subtitle:"로컬 데몬 구성, 외관 및 기기 내 환경설정",publicHostWarning:"이 스탠드얼론 서버가 현재 인증 없이 0.0.0.0에 바인딩되어 있습니다. 비밀번호나 토큰을 설정하기 전까지 같은 LAN의 누구나 대시보드에 접근할 수 있습니다.",daemonSection:"데몬",versionLabel:"버전",statusLabel:"상태",statusRunning:"● 실행 중",statusNotConnected:"○ 연결되지 않음",authLabel:"인증",authPassword:"비밀번호 활성화됨",authToken:"토큰 활성화됨",authNone:"인증 미설정",networkSection:"네트워크 접근",networkHint:"이 대시보드를 현재 머신에서만 사용하려면 localhost 전용을 선택하세요. 폰, 태블릿 또는 LAN의 다른 기기에서 접근하려면 모든 인터페이스를 선택하세요. 외부에 더 넓게 노출한다면 비밀번호나 토큰을 설정하세요.",localhostLabel:"Localhost 전용",localhostHint:"127.0.0.1에 바인딩. 이 머신에서만 대시보드를 열 때 적합합니다.",allInterfacesLabel:"모든 인터페이스",allInterfacesHint:"0.0.0.0에 바인딩. LAN 접근, 리버스 프록시, 또는 외부 진입점에 적합합니다.",saveNetworkMode:"기본 네트워크 모드 저장",saving:"저장 중…",networkRestartHint:"다음 스탠드얼론 재시작 시 적용됩니다. 현재 실행은 {{host}}에 바인딩된 상태로 유지됩니다.",networkSavedAll:"기본 스탠드얼론 네트워크 모드가 모든 인터페이스(0.0.0.0)로 설정되었습니다. 적용하려면 스탠드얼론을 재시작하세요.",networkSavedLocal:"기본 스탠드얼론 네트워크 모드가 localhost 전용으로 설정되었습니다. 적용하려면 스탠드얼론을 재시작하세요.",securitySection:"대시보드 보안",passwordSet:"현재 브라우저 접근에 로컬 비밀번호가 필요합니다. 변경 시 기존 세션이 갱신됩니다.",passwordNotSet:"스탠드얼론 비밀번호가 아직 설정되지 않았습니다. --host로 실행하는 경우 비밀번호 설정을 강력히 권장합니다.",currentPasswordPlaceholder:"현재 비밀번호",currentPasswordFirstTimePlaceholder:"현재 비밀번호 (최초 설정 시 불필요)",newPasswordPlaceholder:"새 비밀번호",newPasswordFirstTimePlaceholder:"새 스탠드얼론 비밀번호",confirmPasswordPlaceholder:"새 비밀번호 확인",updatePassword:"비밀번호 변경",enablePassword:"비밀번호 활성화",disablePassword:"비밀번호 비활성화",passwordUpdated:"스탠드얼론 비밀번호가 변경되었습니다.",passwordEnabled:"스탠드얼론 비밀번호가 활성화되었습니다.",passwordDisabled:"스탠드얼론 비밀번호가 비활성화되었습니다.",passwordTooShort:"비밀번호는 최소 4자 이상이어야 합니다.",passwordMismatch:"새 비밀번호와 확인 비밀번호가 일치하지 않습니다.",appearanceSection:"외관",fontsLabel:"폰트",fontsDescription:"채팅 텍스트, 마크다운 코드, 터미널 출력에 대한 스탠드얼론 전용 타이포그래피 재정의.",fontsSaved:"이 셀프호스트 대시보드에 스탠드얼론 채팅 폰트가 저장되었습니다.",profileSection:"프로필",displayNameLabel:"표시 이름",displayNameHint:"채팅 스레드 및 팀 대시보드에 표시되는 이름.",displayNamePlaceholder:"익명"},onboarding:{title:"ADHDev에 오신 것을 환영합니다",skip:"건너뛰기",installing:"설치 중…",done:"완료",installCount:"{{count}}개 설치",selectedCount_one:"{{count}}개 선택됨",selectedCount_other:"{{count}}개 선택됨",intro:"사용할 프로바이더를 선택하세요. 기본값은 공식 지원 CLI 프로바이더 3개입니다. 아래 탭에서 IDE 또는 익스텐션 프로바이더를 설치하거나 나중에 Machines → Providers에서 추가할 수 있습니다.",loadingRegistry:"레지스트리 로드 중…",loadError:"레지스트리 로드 실패: {{error}}",noProviders:"이 카테고리에 프로바이더가 없습니다.",installed:"✓ 설치됨",installFailed:"✗ {{error}}"},about:{title:"정보",subtitle:"셀프호스트 ADHDev 개요, 내장 서피스, Cloud와의 차이점",selfHostedEdition:"셀프호스트 에디션",headline:"런타임을 온디바이스에서 완전히 실행하면서 동일한 대시보드 경험을 유지하세요.",description:"Standalone은 브라우저, 데몬, 스크린샷, 제어 경로를 모두 본인 머신에 유지합니다. 멀티머신 연결과 모바일 알림을 제외하면 Cloud와 동일한 핵심 제품 경험입니다.",docs:"문서 ↗",github:"GitHub ↗",tryCloud:"Cloud 체험 ↗",includedSection:"스탠드얼론 포함 기능",includedDescription:"Cloud 컨트롤 플레인 없이 사용 가능한 로컬 우선 기능 세트.",inventorySection:"내장 인벤토리",inventoryDescription:"스탠드얼론 대시보드에 노출된 번들 편집기 및 에이전트 서피스. 이 목록은 인벤토리를 설명하며 지원 여부를 보장하지 않습니다.",cloudExtrasSection:"Cloud 전용 추가 기능",cloudExtrasDescription:"호스트된 컨트롤 플레인 또는 팀 인프라가 필요한 기능.",comparisonSection:"셀프호스트 vs Cloud",comparisonDescription:"제품 분리 한눈에 보기.",featureHeader:"기능",selfhostHeader:"셀프호스트",cloudHeader:"Cloud",cloudOptional:"Cloud는 선택 사항입니다",cloudOptionalDescription:"Standalone에서 완전히 로컬로 유지하다가 나중에 대시보드 사용 방식을 바꾸지 않고 Cloud로 이전할 수 있습니다.",compareCloud:"Cloud 비교 ↗",discord:"Discord ↗",features:{localFirst:{title:"로컬 우선 런타임",desc:"모든 것이 내 머신에 남고, 브라우저는 localhost로만 연결됩니다."},chatRelay:{title:"에이전트 채팅 릴레이",desc:"연결된 IDE들의 AI 대화를 실시간으로 읽고 응답합니다."},screenshots:{title:"라이브 스크린샷",desc:"로컬 스크린샷 스트림으로 IDE 화면을 브라우저에서 바로 봅니다."},remoteControl:{title:"원격 제어",desc:"창 전환 없이 IDE 세션을 클릭·입력·조종합니다."},multiIde:{title:"멀티 IDE 지원",desc:"VS Code, Cursor, Windsurf 및 확장 기반 에이전트를 한곳에서 모니터링합니다."},cli:{title:"CLI 커버리지",desc:"독립 CLI 에이전트를 IDE 세션과 함께 추적합니다."}},extras:{anywhere:{title:"어디서나 접근",desc:"로컬 포트를 열지 않고 다른 노트북이나 폰에서 머신에 접근합니다."},p2pStream:{title:"저지연 P2P 스트림",desc:"Cloud는 WebRTC 경로를 더해 스크린샷·원격 제어를 더 빠르게 합니다."},mobileNotifications:{title:"모바일 알림",desc:"자리를 비워도 승인 요청과 활동 업데이트를 받습니다."},restApi:{title:"REST API 접근",desc:"API 키와 서비스 라우트로 Slack, CI, 내부 도구와 연동합니다."},teamWorkspace:{title:"팀 워크스페이스",desc:"머신·활동 뷰·정책을 팀 워크스페이스에서 공유합니다."},enterpriseControls:{title:"엔터프라이즈 컨트롤",desc:"SSO, RBAC, 감사 로그 등 프로덕션 팀용 관리 기능."}},comparison:{chatRelay:"에이전트 채팅 릴레이",screenshots:"라이브 IDE 스크린샷",remoteControl:"원격 IDE 제어",multiIde:"멀티 IDE 모니터링",extensionCli:"확장·CLI 에이전트",anyNetwork:"어떤 네트워크에서든 접근",webrtc:"WebRTC P2P 스트리밍",mobilePush:"모바일 푸시 알림",restApi:"REST API·웹훅",teamCollaboration:"팀 협업",multiMachineDashboards:"멀티 머신 대시보드",ssoRbacAuditLogs:"SSO·RBAC·감사 로그"}},fonts:{fontOverridesNotice:"스탠드얼론 전용 폰트 재정의. Cloud 대시보드에는 영향을 주지 않습니다. 채팅 버블, 마크다운 산문, 코드 블록, 툴 행, 터미널 출력은 모두 아래 환경설정을 따릅니다.",chat:"채팅 텍스트",chatDescription:"어시스턴트/사용자 산문, 마크다운 텍스트, 생각 카드, 시스템 메모.",code:"코드 블록",codeDescription:"마크다운 코드 펜스, 인라인 코드, 서식 있는 명령 출력.",terminal:"터미널",terminalDescription:"채팅 모드에서 터미널 트랜스크립트 카드 및 툴/명령 행.",livePreview:"라이브 미리보기",resolvedStack:"해결된 스택:",saveFontSettings:"폰트 설정 저장",revertToSaved:"저장된 값으로 되돌리기",resetToDefaults:"기본값으로 재설정",saving:"저장 중…",customFamilyPlaceholder:'예: "Pretendard", "Noto Sans KR", sans-serif',previewSummary:"채팅: {{chat}} · 코드: {{code}} · 터미널: {{terminal}}",defaultsSummary:"기본값: {{chat}} / {{code}}",previewNow:"지금",previewProse:"가독성 있는 산문, <strong>굵은 텍스트</strong>, <code>인라인 코드</code> 모두 스탠드얼론 폰트 설정을 따릅니다.",presets:{default:"기본값",defaultMono:"기본 고정폭",custom:"사용자 지정…",serif:"세리프"}}},S={login:{eyebrow:"클라우드 로그인",title:"ADHDev에 로그인",subtitle:"머신을 연결하고, 승인·완료 알림을 받고, 자리를 비운 동안에도 코딩 에이전트를 계속 진행시키세요.",continueWith:"{{provider}}(으)로 계속하기",connecting:"연결 중...",devDivider:"개발",devLogin:"개발 로그인 (test_jwt_token)",providerNote:"GitHub와 Google은 인증 용도로만 사용됩니다.",errorUnverifiedEmail:"이 로그인 제공자가 인증된 이메일을 반환하지 않아 안전하게 로그인할 수 없었습니다.",termsPrefix:"계속 진행하면 ",termsLink:"서비스 약관",termsAnd:" 및 ",privacyLink:"개인정보 처리방침",termsSuffix:"에 동의하게 됩니다."},account:{openMachines:"머신 열기",machinesSummaryShort:"{{count}}/{{limit}}",title:"계정",subtitle:"프로필, 플랜 및 활동",tabAccount:"계정",tabBilling:"결제",tabActivity:"활동",profile:"프로필",noName:"이름 없음",displayName:"표시 이름",displayNameDesc:"대시보드와 팀 워크스페이스에 표시되는 이름입니다.",nicknamePlaceholder:"닉네임",save:"저장",saving:"...",cancel:"취소",saved:"저장됨",edit:"편집",failedToSave:"저장 실패",userId:"사용자 ID",loadingProfile:"프로필 불러오는 중...",planLimits:"플랜 한도",limitMachines:"머신",limitP2P:"연결된 머신",limitPushNotifications:"일별 푸시 알림",limitTurnRelay:"릴레이 대체 연결",enabled:"사용",disabled:"사용 안 함",frozen:"동결됨",session:"세션",logout:"로그아웃",logoutDesc:"이 기기에서 ADHDev 계정을 로그아웃합니다.",dangerZone:"위험 구역",dangerZoneDesc:"계정과 관련된 모든 데이터를 영구적으로 삭제합니다. 이 작업은 되돌릴 수 없습니다.",deleteAccount:"계정 삭제",deleteWillRemove:"다음 항목이 영구적으로 삭제됩니다:",deleteItemProfile:"프로필 및 로그인 자격 증명",deleteItemKeys:"모든 API 키 및 연결 토큰",deleteItemWebhooks:"웹훅 및 전송 기록",deleteItemPush:"푸시 알림 구독",deleteItemSessions:"공유 세션 및 감사 로그",deleteTypeConfirm:"{{keyword}}(을)를 입력하여 확인하세요:",deleting:"삭제 중...",permanentlyDelete:"영구 삭제",failedToDeleteAccount:"계정 삭제 실패",registeredMachines:"등록된 머신",machinesSummary:"{{count}}개 등록 · {{online}}개 온라인",machinesLimit:"(한도: {{limit}})",loadingMachines:"머신 불러오는 중...",noMachinesRegistered:"등록된 머신 없음",runSetupPrefix:"머신에서 ",runSetupMiddle:"을(를) 실행한 다음 ",runSetupSuffix:"을(를) 시작하면 여기에 등록됩니다.",removeMachineConfirm:"이 머신을 제거하시겠습니까? 다시 연결하려면 `adhdev setup`을 다시 실행해야 합니다.",failedToDeleteMachine:"머신 삭제 실패",failedToUpdate:"업데이트 실패",rename:"이름 변경",online:"온라인",connecting:"연결 중",removeMachine:"머신 제거",never:"없음",frozenFeatureTitle:"동결됨 — 이 기능은 일시 중지되어 사용할 수 없습니다."},billing:{currentPlan:"현재 플랜:",statusTrial:"체험판",statusActive:"활성",statusPastDue:"연체",statusCanceled:"취소됨",nextBilling:"다음 결제: {{date}}",trialEnds:"체험 종료: {{date}}",accessUntil:"이용 가능 기한: {{date}}",updatePayment:"결제 수단을 업데이트해 주세요",managePayment:"결제 및 청구서 관리",couldNotOpenPortal:"결제 포털을 열 수 없습니다",checkoutSuccess:"구독이 활성화되었습니다. 업그레이드해 주셔서 감사합니다!",statMachines:"머신",statSharedSessions:"공유 세션",statTurnRelay:"TURN 릴레이",statTurnOn:"사용 중",resetsDailyUtc:"매일 UTC 00:00 초기화",resetsInHours_one:"약 {{count}}시간 후",resetsInHours_other:"약 {{count}}시간 후",resetsInMinutes_one:"약 {{count}}분 후",resetsInMinutes_other:"약 {{count}}분 후",resetsDailyUtcWithLeft:"매일 UTC 00:00 초기화 · {{left}}",monthly:"월간",yearly:"연간",savePercent:"연간 최대 {{pct}}% 절약",pricesInUsd:"모든 가격은 USD 기준입니다",paddleLoading:"Paddle을 불러오는 중입니다. 다시 시도해 주세요.",cancelConfirm:"정말 구독을 취소하시겠습니까? 결제 기간이 끝날 때까지는 계속 이용할 수 있습니다.",cancelSubscription:"구독 취소",cancelRetainAccess:"현재 결제 기간이 끝날 때까지 {{plan}} 기능을 계속 이용할 수 있습니다.",cancelTeamDowngrade:" 모든 팀 멤버는 개인 플랜으로 다운그레이드됩니다.",cancelFailed:"구독 취소에 실패했습니다"},about:{title:"소개",subtitle:"클라우드 개요, 지원 환경, 플랜별 기능",cloudEdition:"클라우드 버전",heroTitle:"어디서든 로컬 CLI 에이전트를 웹으로 제어하세요.",heroDesc:"ADHDev Cloud는 여러분 머신에서 실행 중인 에이전트를 브라우저에 표시합니다: 프롬프트 전송, 액션 승인, 머신 간 작업 오케스트레이션, 폰 알림 — 코드는 P2P로 데몬에 직접 전달되며 서버를 통하지 않습니다.",openDashboard:"대시보드 열기",viewMachines:"머신 보기",docs:"문서 ↗",whyTitle:"ADHDev Cloud를 쓰는 이유",whyDesc:"머신이 클라우드 컨트롤 플레인을 통해 연결될 때 사용할 수 있는 핵심 기능.",howTitle:"작동 방식",howDesc:"설치부터 원격 제어까지의 클라우드 온보딩 경로.",repoMeshTitle:"Repo Mesh",repoMeshDesc:"머신 간 에이전트 오케스트레이션 — 클라우드 전용.",meshCard1Title:"코디네이터 하나, 많은 에이전트",meshCard1Desc:"미션에 태스크를 등록하고 유휴 노드가 로컬 우선, 풀 기반 큐에서 작업을 가져가게 합니다. 머신과 프로바이더에 걸쳐 분산 — 하나에 Claude Code, 다른 곳에 Codex — 그리고 단일 코디네이터 세션에서 결과를 수렴합니다.",meshCard2Title:"같은 레포, 여러 머신 동시에",meshCard2Desc:"각 노드는 체크아웃 또는 격리된 git 워크트리여서 병렬 에이전트가 충돌하지 않습니다. Refinery가 모든 브랜치를 수렴 — 검증, 머지, 푸시, 정리 — 안전한 서브모듈 처리와 함께. 데몬 간 직접 P2P 채널로 실행되며 서버는 동일 계정 피어를 시그널링하고 인증만 합니다.",worksWith:"지원 대상",worksWithDesc:"지원되는 CLI 에이전트, IDE, AI 익스텐션.",groupCli:"CLI 에이전트",groupIdes:"IDE",groupExtensions:"AI 에이전트",pricingTitle:"요금제",pricingDesc:"현재 클라우드 플랜과 티어별 머신 용량.",planPopular:"인기",readyTitle:"머신을 연결할 준비가 됐습니다",readyDesc:"대시보드로 이동하거나, 연결된 머신을 확인하거나, 아직 설정 중이라면 문서를 계속 읽으세요.",dashboard:"대시보드",machines:"머신",discord:"Discord ↗",github:"GitHub ↗",features:{webControlTitle:"로컬 CLI 에이전트 웹 제어",webControlDesc:"Claude Code, Codex, Cursor CLI 등 어떤 로컬 CLI 에이전트든 브라우저에서 구동하세요: 프롬프트 전송, 액션 승인, 터미널 없이 세션 조종.",chatRelayTitle:"에이전트 채팅 릴레이",chatRelayDesc:"모바일 포함 어디서든 에이전트 대화를 읽고 응답합니다.",liveViewTitle:"실시간 세션 보기",liveViewDesc:"에이전트 활동을 실시간으로 확인하고, IDE 세션은 창 전환 없이 P2P로 화면을 보고 제어합니다.",mobileTitle:"모바일 지원",mobileDesc:"개발 머신을 떠나서도 승인을 받고 진행 상황을 확인합니다.",secureTitle:"기본으로 안전",secureDesc:"채팅, 명령어, 스크린샷은 WebRTC를 통해 브라우저와 데몬 사이를 직접 흐릅니다 — 클라우드는 인증과 시그널링 메타데이터만 처리합니다. 코드는 절대 서버를 통해 라우팅되지 않습니다."},steps:{step1Title:"한 줄 설치",step1Desc:"구동하려는 모든 머신에서 명령어 하나를 실행하세요. ADHDev 데몬과 adhdev CLI를 설치합니다.",step2Title:"로그인",step2Desc:"GitHub 또는 Google로 한 번 로그인하면 데몬이 계정에 스스로 페어링됩니다 — 복사할 토큰이 없습니다.",step3Title:"어디서든 에이전트 구동",step3Desc:"머신이 즉시 대시보드에 나타납니다. Claude Code, Codex, Cursor CLI 등 CLI 에이전트를 웹에서 실행하고 제어하세요 — IDE 세션도 마찬가지입니다."},plans:{freeName:"Free",proName:"Pro",ultraName:"Ultra",freePer:"/월",proPer:"/월",ultraPer:"/월",freeFeature1:"머신 1개",freeFeature2:"실시간 채팅 릴레이",freeFeature3:"로컬 에이전트 웹 제어",proFeature1:"머신 2개",proFeature2:"AI 에이전트 무제한",proFeature3:"P2P 원격 보기",ultraFeature1:"머신 5개 — 고정 가격, 좌석당 아님",ultraFeature2:"Pro의 모든 것 포함",ultraFeature3:"더 높은 동시성 및 사용 한도",ultraFeature4:"무제한 일일 스크린샷 시간"}},layout:{adminSection:"Admin",adminOverview:"Overview",adminUsers:"Users",adminAuditLogs:"Audit Logs",adminSystem:"System",adminTokens:"어드민 토큰",adminEntry:"Admin",footerPlanTitle:"현재 플랜: {{plan}} — 관리 또는 업그레이드",expandSidebar:"사이드바 펼치기",collapseSidebar:"사이드바 접기",collapse:"접기",logout:"로그아웃",machineLimitBadge:"머신 한도",machineLimitBadgeTitle:"플랜 머신 한도({{count}}개{{plural}})에 도달했습니다 — 결제 페이지에서 업그레이드",pushBudget:"일일 알림 {{used}}/{{limit}}"},settings:{title:"설정",subtitle:"외관 및 환경설정",appearanceTitle:"외관"},planCard:{unlimited:"무제한",machineSingular:"{{count}}개 머신",machinePlural:"{{count}}개 머신",sharedSessionSingular:"공유 세션 {{count}}개",sharedSessionPlural:"공유 세션 {{count}}개",teamMemberSingular:"팀 멤버 {{count}}명",teamMemberPlural:"팀 멤버 {{count}}명",turnIncluded:"TURN 릴레이 포함",recommended:"추천",currentPlan:"현재 플랜",contactUs:"문의하기",freeForever:"영구 무료",startTrial:"7일 무료 체험 시작",upgradeTo:"{{name}}로 업그레이드",noChargeCancel:"7일간 무료. 언제든 취소 가능.",periodSeatMo:"좌석/월",periodMo:"월",yearlyNote:"${{yearly}}/년 — ${{saved}} 절약",pricingCustom:"맞춤 견적"},activity:{origin:{ide:"IDE",extension:"확장",admin:"관리자",webhook:"웹훅",web:"대시보드",user:"사용자",terminal:"터미널",system:"시스템",registry:"레지스트리",mesh:"메시",machine:"머신",daemon:"데몬",connection:"연결",cli:"CLI",auth:"로그인",api_key:"API 키",api:"API",agent:"에이전트"},filterPlaceholder:"작업, 리소스 또는 소스로 필터...",refresh:"새로고침",loading:"불러오는 중...",noLogs:"로그 없음",noMatchingLogs:"일치하는 로그가 없습니다.",logsWillAppear:"작업이 발생하면 여기에 표시됩니다.",colAction:"작업",colResource:"리소스",colSource:"소스",colTime:"시간",logCount:"로그 {{count}}개",logCountFiltered:" ({{total}}개에서 필터됨)",action:{login:"로그인",logout:"로그아웃",api_key_create:"API 키 생성",api_key_revoke:"API 키 폐기",agent_command:"에이전트 명령 전송",terminal_exec:"터미널 명령 실행",ide_command:"IDE 명령 전송",daemon_command:"데몬 명령 전송",daemon_disconnect:"데몬 연결 해제",daemon_revoke:"데몬 폐기",webhook_create:"웹훅 생성",webhook_delete:"웹훅 삭제",webhook_toggle:"웹훅 전환",registry_publish:"프로바이더 게시",registry_promote:"프로바이더 승격",registry_yank:"프로바이더 회수",registry_publish_token_issued:"레지스트리 게시 토큰 발급",machine_registered:"머신 등록",machine_secret_rotated:"머신 시크릿 교체",shortcut_launch:"세션 실행",shortcut_stop:"세션 중지",shortcut_chat:"채팅 메시지 전송",shortcut_chat_debug_bundle:"채팅 디버그 번들 내보내기",shortcut_approve:"에이전트 작업 승인",shortcut_reject:"에이전트 작업 거부",shortcut_git_push:"git 변경사항 푸시",shortcut_git_checkpoint:"git 체크포인트 생성",shortcut_mesh_clone_node:"메시 노드 복제",shortcut_mesh_remove_node:"메시 노드 제거",shortcut_mesh_refine_node:"메시 노드 정제",admin_plan_change:"사용자 플랜 변경",admin_role_change:"사용자 역할 변경",admin_user_suspend:"사용자 정지",admin_user_unsuspend:"사용자 정지 해제",admin_machine_delete:"머신 삭제",admin_token_create:"관리자 토큰 생성",admin_apikey_rate_limit:"API 키 속도 제한 변경",admin_apikey_scopes:"API 키 범위 변경",admin_apikey_revoke:"API 키 폐기",admin_plan_limits_update:"플랜 한도 업데이트",admin_plan_limits_reset:"플랜 한도 초기화",admin_config_update:"시스템 설정 업데이트",admin_announcement:"시스템 공지 게시",admin_disconnect:"연결 해제"}},webhooks:{title:"Webhooks",subtitle:"실시간 이벤트 알림",addWebhook:"+ 웹훅 추가",eventDaemonConnect:"데몬 연결됨",eventDaemonDisconnect:"데몬 연결 해제됨",eventAgentStatus:"에이전트 상태 변경",eventApprovalRequired:"승인 필요",failed:"실패",deleteConfirm:"이 웹훅을 삭제하시겠습니까?",testFailed:"테스트 실패",secretTitle:"웹훅 시크릿",secretShownOncePrefix:"",secretShownOnce:"한 번만",secretShownOnceSuffix:" 표시됩니다. 다음을 검증하는 데 사용하세요: ",copy:"복사",done:"완료",newWebhook:"새 웹훅",labelUrl:"URL",urlPlaceholder:"https://your-service.com/webhook",labelEvents:"이벤트",allEvents:"모든 이벤트 (*)",creating:"생성 중...",create:"생성",cancel:"취소",loading:"불러오는 중...",noWebhooks:"웹훅 없음",noWebhooksDesc:"이벤트에 대한 실시간 알림을 받으세요.",setupFirst:"첫 웹훅 설정",off:"꺼짐",autoDisabled:"자동 비활성화됨",autoDisabledTitle:"연속 10회 실패 후 자동 비활성화됨",failuresWarning:"실패 {{count}}회",failuresTitle:"연속 {{count}}회 실패 — 10회에서 자동 비활성화됩니다",all:"전체",history:"기록",test:"테스트",delete:"삭제",deleting:"...",recentDeliveries:"최근 전송",refresh:"새로고침",noDeliveries:"아직 전달 내역이 없습니다. 테스트를 보내 확인해 보세요.",request:"요청",response:"응답",securityTitle:"보안",securityVerifyPrefix:"",securityVerifySuffix:"을(를) 시크릿으로 검증하세요",securityHttps:"HTTPS 엔드포인트만 사용하세요",securityAsync:"즉시 2xx를 반환하고 비동기로 처리하세요",securityAutoDisable:"연속 10회 실패 후 자동 비활성화됨"},apiKeys:{title:"API 키",keyCount:"키 {{count}}개",playground:"플레이그라운드",create:"+ 생성",scopeDaemonRead:"데몬 읽기",scopeDaemonReadDesc:"데몬 목록 및 상태 조회",scopeDaemonControl:"데몬 제어",scopeDaemonControlDesc:"명령, 실행/중지, 연결 해제",scopeAgentRead:"에이전트 읽기",scopeAgentReadDesc:"상태 및 채팅 기록",scopeAgentControl:"에이전트 제어",scopeAgentControlDesc:"전송, 승인/거부",scopeTerminal:"터미널",scopeTerminalDesc:"명령 실행",scopeWebhooks:"웹훅",scopeWebhooksDesc:"훅 및 전송 관리",frozen:"동결됨",revokeConfirm:"이 API 키를 취소하시겠습니까? 되돌릴 수 없습니다.",failedToLoad:"불러오기 실패",failed:"실패",upgradePlan:"플랜 업그레이드 →",keyCreated:"키 생성됨!",copyNow:"지금 복사하세요 — 한 번만 표시됩니다.",copied:"복사됨",copy:"복사",testKey:"테스트",dismiss:"닫기",playgroundTitle:"API 플레이그라운드",enterKeyToTest:"테스트할 API 키를 입력하세요.",open:"열기",createKeyTitle:"API 키 생성",labelName:"이름",namePlaceholder:"예: Production Bot",permissions:"권한 ({{count}})",createBtn:"생성",cancel:"취소",loading:"불러오는 중...",noKeys:"API 키 없음",noKeysDesc:"외부 서비스와 연동할 키를 생성하세요.",createFirstKey:"첫 키 생성",usedDate:"{{date}} 사용",neverUsed:"사용 안 함",revoke:"취소",usageLabel:"사용법:",apiReference:"API 레퍼런스 →",frozenFeatureTitle:"동결됨 — 이 기능은 일시 중지되었습니다."},shareModal:{title:"세션 공유",chatView:{label:"보기 전용",desc:"AI 대화를 실시간으로 읽기"},chatControl:{label:"제어",desc:"읽기 + 메시지 보내기 + 작업 승인/거부"},remoteView:{label:"보기 전용",desc:"스크린샷 + 채팅을 실시간으로 보기"},remoteControl:{label:"제어",desc:"스크린샷 + 메시지 보내기 + 승인/거부"},remoteFull:{label:"전체 접근",desc:"데스크탑 입력을 포함한 전체 원격 제어"}},onboarding:{title:"첫 번째 머신을 연결하세요",subtitle:"머신에 ADHDev를 설치하고 로그인하면 자동으로 연결되어 여기에 표시됩니다. 그런 다음 이 대시보드에서 모든 에이전트를 제어하세요.",platformMac:"macOS / Linux",platformWindows:"Windows",copyTitle:"클릭하여 복사",copiedLabel:"✓ 복사됨",copyLabel:"복사",listeningLabel:"데몬을 기다리는 중 — 페이지를 열어두세요, 자동으로 나타납니다.",connectingLabel:"ADHDev에 연결 중…",step1Title:"데몬 설치",step1Desc:"제어하려는 머신에서 위 명령을 실행하세요. 데몬과 adhdev CLI가 함께 설치됩니다.",step2Title:"로그인 — 머신이 자동으로 연결됩니다",step2Desc:"데몬이 이 계정에 자동으로 연결됩니다. 토큰을 복사할 필요 없이 연결되는 순간 여기에 나타납니다.",step3Title:"첫 세션을 시작하세요",step3Desc:"머신이 온라인 상태가 되면 대시보드에서 Claude Code, Codex, Cursor 등을 바로 시작할 수 있습니다.",readDocs:"문서 읽기 →",reconnectingLabel:"연결이 끊어졌습니다 — 다시 연결하는 중… 계속되면 네트워크를 확인하세요.",offlineLabel:"오프라인 상태입니다. 인터넷에 다시 연결되면 이 페이지가 자동으로 재개됩니다.",authFailedLabel:"세션이 만료되었습니다 — 계속하려면 다시 로그인하세요.",machineLimitLabel:"머신 한도 도달 — 현재 플랜은 최대 {{limit}}대까지 허용됩니다. 머신을 제거하거나 플랜을 업그레이드해 이 머신을 연결하세요.",machineLimitManage:"머신 관리 →",machineLimitUpgrade:"플랜 업그레이드 →",setupWizardLink:"단계별 안내가 필요하신가요? 설정 마법사 열기 →"},legal:{navHome:"홈",navDashboard:"대시보드",footerHome:"홈",footerTerms:"이용약관",footerPrivacy:"개인정보처리방침",footerRefund:"환불 정책",footerCopyright:"© 2026 RacoLab. All rights reserved."},authCallback:{authFailed:"인증 실패",backToLogin:"로그인으로 돌아가기",completing:"인증을 완료하는 중...",noTokenError:"액세스 토큰을 받지 못했습니다"},cliAuth:{title:"ADHDev CLI 인증",verifying:"확인 중...",authorizeAs:"{{name}}(으)로 CLI를 승인하시겠습니까?",noCodeError:"인증 코드가 제공되지 않았습니다.",approve:"✓ 승인",signInFirst:"CLI를 승인하려면 먼저 로그인해 주세요.",signIn:"로그인 →",failed:"실패",successMessage:"CLI 인증이 완료되었습니다!",returnToTerminal:"터미널로 돌아갈 수 있습니다.",registryPublishTitle:"레지스트리 게시 권한 승인",authorizeRegistryPublishAs:"{{name}}(으)로 프로바이더 레지스트리 게시 권한을 승인하시겠습니까?",registryPublishWarning:"레지스트리의 프로바이더 패키지를 게시·승격·철회할 수 있는 단기 토큰(15분)이 발급됩니다. 데몬 등록이 아닙니다. 직접 레지스트리 게시를 시작한 경우에만 승인하세요. 관리자 계정이 필요합니다.",signInFirstRegistryPublish:"레지스트리 게시를 승인하려면 관리자 계정으로 로그인해 주세요.",approving:"승인 중…",errorFriendly:"CLI 인증을 완료하지 못했습니다.",tryAgain:"다시 시도"},privacy:{title:"개인정보처리방침",lastUpdated:"최종 업데이트: 2026년 9월 27일",intro:'이 개인정보처리방침은 RacoLab("당사")이 ADHDev 서비스("서비스")를 통해 정보를 수집, 사용 및 보호하는 방법을 설명합니다. 서비스 주소:',s1Title:"1. 수집하는 정보",s1h1:"1.1 계정 정보",s1p1:"계정을 생성할 때, 인증 제공자(GitHub 또는 Google)가 제공하는 이름, 이메일 주소, 프로필 사진 등의 정보를 수집합니다.",s1h2:"1.2 IDE 및 에이전트 데이터",s1p2:"개발 환경을 서비스에 연결하면 로컬 데몬이 다음 정보를 전송할 수 있습니다:",s1l1:'IDE 유형 및 버전 (예: "Cursor 0.49.1")',s1l2:"활성 AI 에이전트 정보 (이름, 상태, 현재 모델)",s1l3:"사용자와 AI 에이전트 간의 채팅 메시지",s1l4:"IDE 스크린샷 (P2P로 전송되며 당사 서버에 저장되지 않음)",s1l5:"워크스페이스 경로 및 열린 파일 이름",s1l6:"머신 정보 (호스트명, OS, 메모리 사용량)",s1h3:"1.3 사용 데이터",s1p3:"서비스 개선 및 디버깅을 위해 API 호출, 기능 사용 패턴, 연결 로그 등의 사용 정보를 자동으로 수집합니다.",s1p3Attribution:"또한 유입 경로별 방문 수를 집계 형태로만 셉니다(utm_source 같은 캠페인 태그, 유입한 웹사이트의 도메인, 첫 방문 페이지를 브라우저 로컬 저장소에 보관하며 IP 주소·기기 식별자·쿠키는 사용하지 않습니다). 계정을 만들 때는 어떤 경로로 신규 사용자가 유입되는지 파악하기 위해 첫 방문의 유입 경로를 함께 기록합니다.",s1h4:"1.4 결제 정보",s1p4:"결제 처리는 당사의 판매 대리인인 Paddle(Paddle.com Market Limited)이 전담합니다. 당사는 신용카드 번호, 은행 계좌 정보 또는 기타 금융 정보를 직접 수집하거나 저장하지 않습니다. Paddle의 데이터 처리 관행에 대해서는",s1p4PaddleLink:"Paddle 개인정보처리방침",s1p4Suffix:"을 참조하십시오.",s2Title:"2. 정보 이용 방법",s2p1:"수집된 정보는 다음 목적에 사용됩니다:",s2l1:"서비스 제공 및 유지",s2l2:"신원 인증 및 계정 관리",s2l3:"대시보드와 연결된 머신 간의 명령 및 데이터 라우팅",s2l4:"에이전트 상태 변경에 대한 알림(브라우저 및 푸시) 전송",s2l5:"결제 및 구독 관리 처리 (Paddle을 통해)",s2l6:"남용 또는 무단 접근 감지 및 방지",s2l7:"서비스 개선 및 새 기능 개발",s2l8:"지원 요청 응답",s3Title:"3. 데이터 저장 및 보안",s3h1:"3.1 인프라",s3p1:"당사 서비스는 Cloudflare Workers, Durable Objects 및 D1 Database를 활용하는 Cloudflare의 글로벌 네트워크에서 운영됩니다. 데이터는 Cloudflare 인프라에 저장되며",s3p1CloudflareLink:"Cloudflare 개인정보처리방침",s3h2:"3.2 P2P 데이터",s3p2:"IDE 스크린샷 및 실시간 터미널 데이터는 WebRTC 피어투피어 연결을 통해 브라우저와 머신 간에 직접 전송됩니다. 이 데이터는 당사 서버를 경유하거나 저장되지 않습니다.",s3h3:"3.3 보안 조치",s3p3:"당사는 다음과 같은 보안 조치를 구현합니다:",s3l1:"단기 액세스 토큰 및 리프레시 토큰 순환을 활용한 JWT 기반 인증",s3l2:"암호화된 WebSocket 연결 (WSS/TLS)",s3l3:"데몬 인증을 위한 연결별 토큰",s3l4:"모든 API 엔드포인트에 대한 속도 제한",s3l5:"보안 민감 작업에 대한 감사 로깅",s4Title:"4. 데이터 공유",s4p1:"당사는 개인 데이터를 제3자에게 판매하지 않습니다. 다음과 같은 경우 데이터를 공유할 수 있습니다:",s4l1:"판매 대리인으로서의 결제 처리",s4l2:"인프라 제공업체 (호스팅, CDN, 데이터베이스)",s4l3Label:"인증 제공업체",s4l3:"OAuth 로그인을 위한 GitHub/Google",s4p2:"법률, 법적 절차에 의해 요구되거나 당사의 권리 및 사용자의 안전을 보호하기 위해 필요한 경우 데이터를 공개할 수 있습니다.",s5Title:"5. 데이터 보존",s5p1:"계정이 활성 상태인 동안 계정 데이터를 보존합니다. 채팅 메시지 및 에이전트 활동 데이터는 서비스 기능을 위해 최대 90일간 보존됩니다.",s5p2:"계정 삭제 시 30일 이내에 개인 데이터를 삭제합니다. 일부 익명화된 사용 데이터는 분석 목적으로 보존될 수 있습니다.",s6Title:"6. 귀하의 권리",s6p1:"귀하는 다음과 같은 권리를 보유합니다:",s6l1Label:"열람",s6l1:"개인 데이터 사본 요청",s6l2Label:"정정",s6l2:"개인 정보 업데이트 또는 수정",s6l3Label:"삭제",s6l3:"계정 및 관련 데이터 삭제 요청",s6l4Label:"이동",s6l4:"이동 가능한 형식으로 데이터 다운로드",s6l5Label:"이의",s6l5:"특정 데이터 처리 활동에 대한 이의 제기",s6p2:"이러한 권리를 행사하려면 다음으로 문의하십시오:",s7Title:"7. 쿠키",s7p1:"당사는 인증(세션 토큰) 및 사용자 환경설정(테마, 알림 설정)에 필수 쿠키만 사용합니다. 광고 또는 추적 쿠키는 사용하지 않습니다.",s8Title:"8. 아동 개인정보",s8p1:"서비스는 만 16세 미만의 사용자를 대상으로 하지 않습니다. 당사는 만 16세 미만의 아동으로부터 의도적으로 개인 정보를 수집하지 않습니다.",s9Title:"9. 국제 데이터 이전",s9p1:"귀하의 데이터는 Cloudflare의 글로벌 네트워크를 통해 다양한 위치에서 처리될 수 있습니다. 서비스를 이용함으로써 귀하는 이러한 위치에서의 데이터 이전 및 처리에 동의합니다.",s10Title:"10. 정책 변경",s10p1:"당사는 수시로 이 개인정보처리방침을 업데이트할 수 있습니다. 중요한 변경 사항은 이메일 또는 서비스를 통해 알려드립니다. 변경 후 서비스를 계속 이용하면 업데이트된 정책에 동의한 것으로 간주됩니다.",s11Title:"11. 문의",s11p1:"이 개인정보처리방침 또는 데이터 관행에 대한 문의:",s11l1Prefix:"이메일:",s11l2Prefix:"웹사이트:"},terms:{title:"이용약관",lastUpdated:"최종 업데이트: 2026년 4월 11일",intro:'ADHDev("서비스")에 오신 것을 환영합니다. 서비스는 RacoLab("당사")이 운영합니다.',introSuffix:'에서 서비스에 접근하거나 이용함으로써 이 이용약관("약관")에 동의하게 됩니다. 동의하지 않으시면 서비스를 이용하지 마십시오.',s1Title:"1. 서비스 설명",s1p1:"ADHDev는 웹 및 모바일 대시보드를 통해 AI 코딩 에이전트(Cursor, VS Code, Antigravity, Claude Code 등)를 원격으로 모니터링하고 제어할 수 있는 클라우드 개발자 도구입니다. 서비스에는 로컬 데몬, 원격 대시보드, REST API 접근, 브라우저 및 푸시 알림이 포함됩니다.",s2Title:"2. 계정 등록",s2p1:"서비스를 이용하려면 계정을 생성해야 합니다. 계정 자격증명의 기밀 유지는 귀하의 책임입니다. 등록 시 정확하고 완전한 정보를 제공하고 계정 정보를 최신 상태로 유지하는 데 동의합니다.",s2p2:"서비스를 이용하려면 만 16세 이상이어야 합니다. 계정을 생성함으로써 이 연령 요건을 충족함을 확인합니다.",s3Title:"3. 구독 플랜 및 결제",s3p1:"서비스는 다음 플랜을 제공합니다:",s3l1:"제한된 기능, 연결 머신 1대",s3l2:"연결 머신 2대, 무제한 에이전트, P2P 원격 보기, 7일 무료 체험",s3l3:"연결 머신 5대, Pro의 모든 기능 및 더 높은 동시성과 사용 한도 (좌석당이 아닌 정액 요금)",s3p2:"유료 구독은 월별 또는 연간 단위로 선불 청구됩니다. 모든 결제는 당사의 결제 파트너인 Paddle(Paddle.com Market Limited)이 처리하며, Paddle은 모든 거래에서 판매 대리인으로 활동합니다.",s4Title:"4. 환불 정책",s4p1:"당사는 모든 유료 플랜에 대해 14일 환불 보장을 제공합니다. 서비스에 만족하지 못하시면 최초 구매 후 14일 이내에 다음 주소로 문의하여 전액 환불을 요청할 수 있습니다:",s4p2:"갱신에 대한 환불은 사례별로 처리됩니다. 판매 대리인인 Paddle의 환불 정책도 적용됩니다.",s5Title:"5. 허용 사용",s5p1:"귀하는 다음 행위를 하지 않는 데 동의합니다:",s5l1:"불법적인 목적이나 관련 법률을 위반하여 서비스 사용",s5l2:"다른 사용자의 계정이나 데이터에 무단으로 접근 시도",s5l3:"서비스 서버 구성 요소의 소스 코드를 역공학, 디컴파일 또는 추출 시도",s5l4:"악성 소프트웨어, 스팸 또는 기타 유해 콘텐츠 전송에 서비스 사용",s5l5:"당사의 서면 동의 없이 서비스 재판매 또는 재배포",s5l6:"서비스의 무결성 또는 성능 방해 또는 중단",s6Title:"6. 지식재산권",s6p1:"원본 콘텐츠, 기능 및 기능성을 포함한 서비스는 RacoLab이 소유하며 관련 지식재산법의 보호를 받습니다. 로컬 데몬 구성 요소는 프로젝트 저장소에 명시된 오픈소스 라이선스 하에 제공됩니다.",s6p2:"귀하는 서비스를 통해 전송하는 모든 데이터 및 콘텐츠의 소유권을 보유합니다.",s7Title:"7. 데이터 및 개인정보",s7p1:"서비스 이용은 당사의",s7PrivacyLink:"개인정보처리방침",s7p1Suffix:"에도 적용됩니다. 서비스는 원격 모니터링 및 제어 목적으로 IDE 상호작용, 채팅 메시지 및 스크린샷을 처리합니다. 당사는 귀하의 데이터를 제3자에게 판매하지 않습니다.",s8Title:"8. 서비스 가용성",s8p1:"당사는 높은 가용성을 유지하려 노력하지만 중단 없는 접근을 보장하지는 않습니다. 서비스는 유지보수, 업데이트 또는 당사의 통제 밖의 상황으로 인해 일시적으로 이용 불가할 수 있습니다. 당사는 서비스 중단으로 인한 손실에 대해 책임을 지지 않습니다.",s9Title:"9. 책임의 제한",s9p1:"법이 허용하는 최대 범위 내에서, RacoLab은 서비스 이용으로 인해 발생하는 간접적, 부수적, 특별, 결과적 또는 징벌적 손해, 또는 이익이나 수익 손실에 대해 직간접적으로 책임을 지지 않습니다.",s9p2:"서비스로부터 발생하는 모든 청구에 대한 당사의 총 책임은 청구 이전 12개월 동안 귀하가 지불한 금액을 초과하지 않습니다.",s10Title:"10. 해지",s10p1:"당사는 이 약관 위반이나 기타 이유로 언제든지 귀하의 서비스 접근을 정지하거나 종료할 수 있습니다. 귀하는 설정 페이지를 통해 언제든지 계정을 취소할 수 있습니다. 취소 후 30일 이내에 귀하의 데이터가 삭제됩니다.",s11Title:"11. 약관 변경",s11p1:"당사는 언제든지 이 약관을 수정할 권리를 보유합니다. 중요한 변경 사항은 이메일 또는 서비스를 통해 알려드립니다. 변경 후 서비스를 계속 이용하면 수정된 약관에 동의한 것으로 간주됩니다.",s12Title:"12. 준거법",s12p1:"이 약관은 법률 충돌 조항에 관계없이 대한민국 법률에 따라 해석됩니다.",s13Title:"13. 문의",s13p1:"이 약관에 대한 질문이 있으시면 문의해 주세요:",s13l1Prefix:"이메일:",s13l2Prefix:"웹사이트:"},refund:{title:"환불 정책",lastUpdated:"최종 업데이트: 2026년 3월 24일",intro:"ADHDev는 RacoLab이 운영합니다. 모든 결제는 당사의 판매 대리인인",introSuffix:"이 결제, 청구서 발행 및 환불을 대신 처리합니다.",s1Title:"1. 14일 환불 보장",s1p1:"당사는 모든 유료 플랜(Pro)에 대해 14일 환불 보장을 제공합니다. 어떤 이유로든 서비스에 만족하지 못하신다면, 최초 구독 구매 후 14일 이내에 전액 환불을 요청할 수 있습니다.",s1p2:"환불을 요청하려면 다음 이메일로 계정 이메일과 주문 정보를 포함하여 문의하십시오:",s1p2Suffix:"3영업일 이내에 요청을 처리해 드리겠습니다.",s2Title:"2. 갱신 환불",s2p1:"구독 갱신(월별 또는 연간)에 대한 환불은 사례별로 처리됩니다. 의도치 않은 갱신 요금이 청구된 경우, 청구 후 7일 이내에 다음으로 문의해 주세요:",s3Title:"3. 환불 불가 사례",s3p1:"다음의 경우 환불이 제공되지 않습니다:",s3l1:"최초 구매 14일 보장 기간 이후에 요청된 환불",s3l2Prefix:"다음을 위반하여 정지 또는 해지된 계정:",s3l2Link:"이용약관",s3l3:"환불 기간을 초과하여 이미 사용된 부분 서비스 기간",s4Title:"4. 환불 처리 방법",s4p1:"승인된 환불은 Paddle을 통해 처리되어 원래 결제 수단으로 반환됩니다. 은행이나 카드사에 따라 환불이 나타나는 데 5~10영업일이 소요될 수 있습니다. Paddle의",s4p1RefundLink:"환불 약관",s4p1Suffix:"도 적용됩니다.",s5Title:"5. 취소",s5p1Prefix:"대시보드의",s5p1BillingLink:"결제",s5p1Suffix:"페이지에서 언제든지 구독을 취소할 수 있습니다. 취소하면 이후 요금이 청구되지 않습니다. 현재 결제 기간이 끝날 때까지 플랜 기능을 계속 이용할 수 있습니다. 취소 자체로는 환불이 발생하지 않습니다.",s6Title:"6. 문의",s6p1:"환불 요청 또는 결제 관련 문의:",s6l1Prefix:"이메일:",s6l2Prefix:"웹사이트:"},sessionShare:{loading:"세션 불러오는 중...",sessionNotFound:"세션을 찾을 수 없음",noLongerAvailable:"이 세션은 더 이상 사용할 수 없습니다",homeBtn:"← ADHDev 홈",sharedSession:"공유된 세션",host:"호스트",mode:"모드",permission:"권한",auth:"인증",authRequired:"계정 필요",viewers:"시청자",joinChat:"채팅 참여",joinSession:"세션 참여",expires:"만료: {{date}}",chatLabel:"채팅",remoteLabel:"원격",waitingMessages:"메시지 대기 중...",connecting:"연결 중... ({{state}})",sendMessageAs:"{{name}}으로 메시지 전송...",sendAs:"{{name}}으로 전송...",ownerChat:"{{name}}의 채팅",ownerSession:"{{name}}의 세션",agentName:"{{name}}의 에이전트",fullControlBadge:"전체 제어 활성",failedToJoin:"세션 참여 실패",sessionRevoked:"호스트가 세션을 취소했습니다",sessionExpired:"세션이 만료되었습니다",authRequired2:"제어 공유에는 인증이 필요합니다",unknownError:"알 수 없는 오류"},apiPlayground:{title:"API 플레이그라운드",history:"기록 ({{count}})",apiRelayWarning:"데몬 API 릴레이는 선택 사항입니다. 해당 데몬에서 `adhdev daemon:api enable`로 명시적으로 활성화하지 않으면 REST 명령/채팅 프록시 경로가 비활성화됩니다.",authBearer:"Authorization: Bearer {{key}}",copyAsCurl:"cURL",copied:"복사됨",targetDaemon:"대상 데몬",quickActions:"빠른 작업",requestBody:"요청 본문 (JSON)",recentRequests:"최근 요청",clearHistory:"지우기",noDaemonsWarning:"연결된 데몬이 없습니다. 먼저 데몬을 시작하거나 {daemonId}를 직접 교체하세요.",send:"▶ 전송",sending:"⏳"},announcementBanner:{visibleUntil:"{{time}}까지 표시",dismiss:"닫기"},push:{budgetResetsShort:"{{time}}에 초기화",budgetRemainingShort:"오늘 플랜에서 {{count}}개 남음",budgetShort:"오늘 {{used}}/{{limit}}",title:"푸시 알림",descUnsupported:"이 브라우저에서는 지원되지 않습니다",descDenied:"차단됨 — 브라우저 설정에서 허용하세요",descEnabled:"켜짐",descDefault:"탭을 닫아도 알림을 받습니다",docsLink:"푸시 알림 문서",sent:"전송됨",test:"테스트",iosHint:"iPhone과 iPad에서는 설치된 Safari PWA에서만 푸시가 동작합니다. 일반 Safari 탭은 ADHDev 푸시 알림을 받을 수 없습니다.",unsupportedWarning:"이 브라우저는 여기서 웹 푸시를 지원하지 않습니다. iPhone/iPad에서는 Safari PWA를, 데스크톱/Android에서는 Chromium 계열 브라우저를 사용하세요.",deniedWarning:"브라우저 또는 사이트 설정에서 알림이 차단되어 있습니다. 그곳에서 다시 허용한 뒤 푸시 알림을 다시 켜세요.",registeredDevices:"등록된 기기: {{count}}",noDevices:"활성 푸시 기기가 없습니다.",deviceLabel:"기기 {{number}}",thisDevice:"이 기기",lastActive:"마지막 활동",removing:"제거 중...",removeHere:"여기서 제거",remove:"제거"},mesh:{manualMcpSetup:"이 프로바이더는 Repo Mesh 코디네이터로 동작하려면 수동 MCP 설정이 필요합니다.",couldNotLoadMeshes:"메시를 불러오지 못했습니다",untitledMesh:"제목 없는 메시",chooseMachineFirst:"먼저 머신을 선택하세요.",launchFailed:"실행 실패",coordinatorLaunchFailed:"코디네이터 실행 실패",coordinatorLaunched:"코디네이터 실행됨 ({{sessionId}})",coordinatorLaunchSent:"코디네이터 실행 명령을 보냈습니다"},plans:{free:"Free",pro:"Pro",ultra:"Ultra",team:"Team",enterprise:"Enterprise"},adminAudit:{title:"전역 감사",subtitle:"시스템 전역 이벤트 추적",allActions:"모든 작업",allSources:"모든 소스",filter:"필터",noLogs:"로그가 없습니다",loading:"불러오는 중...",loadMore:"더 보기 ↓"},adminDashboard:{failedToLoad:"관리자 데이터를 불러오지 못했습니다",title:"관리자 대시보드",subtitle:"서비스 개요 및 관리",accessDenied:"관리자 접근이 거부되었습니다",backToDashboard:"대시보드로 돌아가기",loading:"관리자 대시보드 불러오는 중",loadingDesc:"서비스 통계와 최근 감사 활동을 수집하는 중입니다.",totalUsers:"전체 사용자",todayCommands:"오늘 명령",activeApiKeys:"활성 API 키",todayLogins:"오늘 로그인",planDistribution:"플랜 분포",quickActions:"빠른 작업",manageUsers:"사용자 관리",apiKeys:"API 키",auditLogs:"감사 로그",systemConfig:"시스템 설정",recentActivity:"최근 활동",viewAll:"전체 보기",noRecentActivity:"최근 활동 없음"},adminTokens:{title:"어드민 토큰",subtitle:"배포 자동화를 위한 어드민 권한 API 토큰 발급",superAdminOnly:"슈퍼 관리자 전용",superAdminOnlyDesc:"어드민 토큰은 슈퍼 관리자만 발급할 수 있습니다. 필요하면 슈퍼 관리자에게 요청하세요.",issueTitle:"새 토큰 발급",nameLabel:"이름",namePlaceholder:"예: deploy-ci",scopesLabel:"스코프",scopesHint:"admin은 대부분의 어드민 API를 포함합니다. super_admin은 토큰 발급과 역할 변경까지 가능하므로 꼭 필요할 때만 부여하세요.",expiryLabel:"만료 기간",expiryDays:"{{count}}일",expiryHint:"어드민 토큰은 항상 만료됩니다. 서버가 최대 90일로 제한합니다.",issue:"토큰 발급",issuing:"발급 중...",issuedTitle:"지금 토큰을 복사하세요",issuedWarning:"토큰은 이번 한 번만 표시됩니다. 안전한 곳에 보관하세요 — 다시 확인할 수 없습니다.",issuedMeta:"스코프: {{scopes}} · 만료: {{expiresAt}}",copy:"복사",copied:"복사됨",copyFailed:"복사 실패 — 토큰을 직접 선택해 복사하세요",dismiss:"닫기",expiryClamped:"만료 기간이 최대치인 90일로 조정되었습니다",existingTitle:"활성 어드민 토큰",emptyTitle:"어드민 토큰 없음",emptyDesc:"위에서 발급하면 브라우저 로그인 없이 배포를 인증할 수 있습니다.",expiresAt:"만료: {{time}}",lastUsed:"마지막 사용 {{time}}",neverUsed:"사용 이력 없음",noExpiry:"만료 없음",expired:"만료됨",revoke:"폐기",revokeConfirm:'토큰 "{{name}}"을(를) 폐기할까요? 이 토큰을 쓰던 곳은 즉시 동작을 멈춥니다.',revoked:"토큰이 폐기되었습니다",loading:"불러오는 중...",error:"오류: {{message}}"},adminSystem:{error:"오류: {{message}}",announcementSent:"공지가 전송되었습니다",announcementCleared:"공지가 해제되었습니다",title:"시스템 설정",subtitle:"공지 및 시스템 구성",loading:"시스템 설정 불러오는 중",loadingDesc:"현재 공지 상태를 가져오는 중입니다.",announcement:"공지",current:"현재:",untilTime:"({{time}}까지)",untilCleared:"(해제될 때까지)",announcementPlaceholder:"공지 메시지를 입력하세요...",severityInfo:"정보",severityWarning:"경고",severityCritical:"심각",duration1h:"1시간",duration6h:"6시간",duration24h:"24시간",duration7d:"7일",durationUntilCleared:"해제될 때까지",send:"전송"},adminUsers:{error:"오류: {{message}}",roleUpdated:"역할이 변경되었습니다",planUpdated:"플랜이 변경되었습니다",suspensionReasonPrompt:"정지 사유를 입력하세요:",userSuspended:"사용자가 정지되었습니다",userUnsuspended:"사용자 정지가 해제되었습니다",title:"사용자 관리",subtitle:"사용자, 역할, 정지 관리",usersTotal:"명 전체",searchPlaceholder:"이메일 또는 이름 검색...",allRoles:"모든 역할",roleUser:"사용자",roleAdmin:"관리자",roleSuperAdmin:"슈퍼 관리자",allPlans:"모든 플랜",search:"검색",colUser:"사용자",colRole:"역할",colPlan:"플랜",colStatus:"상태",colCreated:"생성일",colActions:"작업",noName:"이름 없음",statusSuspended:"정지됨",statusActive:"활성",unsuspend:"정지 해제",suspend:"정지",loading:"불러오는 중...",prev:"← 이전",next:"다음 →"}},P={onboardingTour:{next:"다음",getStarted:"시작하기",learnMore:"문서에서 더 알아보기",closeAria:"안내 닫기",allSetStandalone:{desc:"이 대시보드는 이미 로컬 데몬에 연결되어 있습니다. 대시보드 탭에서 세션을 시작하거나, 머신 → 프로바이더에서 프로바이더를 추가하세요.",title:"준비가 끝났습니다"},getStartedCloud:{desc:"조작하려는 머신에서 이 명령을 실행한 뒤 로그인하세요. 데몬이 대시보드에 자동으로 연결됩니다.",title:"시작하기"},orchestrate:{desc:"Repo Mesh(Cloud Pro)를 쓰면 코디네이터 하나가 여러 머신의 에이전트에게 작업을 나눠 줍니다 — 병렬 git 워크트리, 자동 브랜치 수렴, 같은 저장소를 여러 관점에서 교차 검증.",title:"에이전트 오케스트레이션"},watchAndSteer:{desc:"각 에이전트의 세션을 실시간으로 따라가며 작업 중에 방향을 잡아 주세요. 세션을 전환하고, 스크린샷을 찍고, (IDE 세션이라면) 직접 연결로 화면을 보고 조작할 수 있습니다.",title:"실시간으로 보고 조종하기"},realtimeChat:{desc:"AI 에이전트가 하는 일을 실시간으로 보세요. 메시지를 보내고, 작업을 승인하거나 거절하는 일을 모두 브라우저나 휴대폰에서 할 수 있습니다.",title:"실시간 채팅"},welcome:{desc:"Claude Code, Codex, Antigravity CLI 같은 로컬 CLI 코딩 에이전트를 브라우저나 휴대폰에서 바로 조작하세요. 에이전트는 내 머신에서 계속 실행되고, 웹에서 제어합니다.",title:"ADHDev에 오신 것을 환영합니다"}},installCommand:{orViaNpm:"또는 npm으로:",clickToCopy:"클릭해서 복사"},errorBoundary:{reload:"페이지 새로 고침",description:"예상치 못한 오류가 발생했습니다. 계속하려면 페이지를 새로 고치세요.",title:"문제가 발생했습니다"},shellFreshness:{dismissAria:"업데이트 알림 닫기",later:"나중에",reload:"새로 고침",message:"ADHDev 새 버전이 나왔습니다."},dashboardWire:{reloadTitle:"새로고침이 필요합니다",reloadBody:"이 페이지가 연결된 데몬보다 오래되어 데몬 상태를 읽을 수 없습니다. 새로고침해서 최신 대시보드를 받으세요.",reload:"새로고침",daemonUpdateTitle:"데몬 업데이트가 필요합니다",daemonUpdateBody:"{{count}}대의 머신이 이 대시보드가 읽을 수 없는 이전 데몬을 실행 중입니다. `adhdev update`(또는 머신 페이지의 업데이트 동작)로 업데이트하세요."},openMenu:"메뉴 열기",closeMenu:"메뉴 닫기"},A={loadingOlderMessages:"이전 메시지 불러오는 중...",waitingForMessages:"메시지를 기다리는 중...",agentGenerating:"에이전트가 응답 중...",jumpToTop:"맨 위로 이동",jumpToOldestMessages:"가장 오래된 메시지로 이동",top:"↑ 맨 위",latest:"↓ 최신",jumpToLatestMessages:"최신 메시지로 이동",jumpToBottom:"맨 아래로 이동",showEarlierMessages:"↑ 이전 메시지 {{count}}개 표시...",showEarlierMessagesHidden:"↑ 이전 메시지 {{count}}개 표시... ({{total}}개 숨김)",loadOlderMessages:"↑ 이전 메시지 불러오기",loadErrorRetry:"↻ {{error}}"},k={zoomOut:"축소",zoomIn:"확대",resetZoom:"확대/축소 초기화",toggleFullscreen:"전체화면 전환"},L={screenshotAlt:"원격 화면",mouse:"마우스",touch:"터치",connected:"연결됨",ws:"재연결 중",direct:"직접",relay:"릴레이",turnBlocked:"오늘 화면 보기 한도 도달",turnUsage:"화면 {{used}}/{{budget}}분",typeAndEnter:"입력 후 Enter...",settings:"설정",zoom:"확대/축소:",fill:"꽉 채우기",fit:"맞추기",directP2PTitle:"직접 P2P 연결",turnRelayTitle:"TURN 릴레이 사용 중",dailyTurnTitle:"오늘 사용한 원격 화면 보기 시간 (플랜 한도)",waitingState:{turnRelayActive:"TURN 릴레이 활성"},waiting:{connectedLabel:"연결됨. 첫 프레임 대기 중...",connectingLabel:"호스트에 연결 중...",reconnectingLabel:"호스트에 재연결 중...",connectedHint:"원격 스트림을 준비하고 있습니다",reconnectingHint:"원격 스트림이 따라잡기를 기다리는 중입니다"},error:{title:"원격 연결이 끊어졌습니다",reasonFailed:"이 호스트에 대한 연결이 실패했습니다. 데몬이 실행 중인지 확인한 후 다시 시도하세요.",reasonDisconnected:"호스트와의 연결이 끊어졌고 15초 후에도 재연결하지 못했습니다.",retry:"재시도"},screenshotViewer:{altText:"IDE 스크린샷",waitingForStream:"스크린샷 스트림을 기다리는 중...",p2pStatus:"P2P: {{state}}"}},I={openChat:"채팅 열기",openCoordinatorChat:"코디네이터 채팅 열기",coordinatorGone:"코디네이터 세션 종료됨",chatNotFound:"이 대시보드에 해당 세션의 채팅 탭이 없습니다 — 다른 머신에서 실행 중일 수 있습니다.",openChatHint:"클릭하면 이 세션의 채팅을 엽니다"},H={meshNodeUnavailable:"메시 노드 정보를 불러올 수 없음",roleCoordinator:"메시 코디네이터",rowProviderType:"프로바이더 유형",rowStarted:"시작",copyDiagnostics:"진단 정보 복사",gitClean:"변경 없음",gitDirty:"커밋 안 된 변경 있음",gitDetached:"(분리됨)",blockRawMetadata:"원시 런타임 메타데이터",blockFinalPrompt:"최종 시스템 프롬프트",blockExtraPrompt:"이번 실행의 추가 프롬프트",quotaOkNoWindows:"한도 없음",sectionMeshWorker:"코디네이터가 스폰한 세션",rowMeshId:"Mesh ID",rowTaskId:"태스크",rowCoordinator:"코디네이터",title:"세션 정보",loading:"불러오는 중…",close:"닫기",failedToLoad:"세션 정보를 불러오지 못했습니다",stampedToNode:"이 세션은 코디네이터가 더 이상 보고하지 않는 mesh 노드에 스탬프되어 있습니다.",sectionSession:"세션",sectionLaunch:"실행",sectionMeshNode:"Mesh 노드",sectionMeshCoordinator:"Mesh 코디네이터",sectionRuntime:"런타임",rowSessionId:"세션 ID",rowProvider:"프로바이더",rowTransport:"전송",rowWorkspace:"워크스페이스",rowSpawnedAt:"생성 시각",rowProviderSessionId:"프로바이더 세션 ID",rowMachine:"머신",rowConnection:"연결",rowCommand:"명령어",rowWorkingDirectory:"작업 디렉토리",rowArgs:"인수",rowExtraArgs:"추가 인수",rowExtraEnv:"추가 환경 변수",rowNodeId:"노드 ID",rowRepoRoot:"저장소 루트",rowDaemonId:"데몬 ID",rowRole:"역할",rowMachineStatus:"머신 상태",rowHealth:"상태",rowWorktree:"워크트리",rowLaunchReady:"실행 준비",rowGit:"Git",rowProviders:"프로바이더",rowProviderPriority:"프로바이더 우선순위",rowCoordinatorCli:"코디네이터 CLI",rowStartedAt:"시작 시각",rowPromptInjection:"프롬프트 주입",rowMcpConfig:"MCP 설정",rowRuntimeId:"런타임 ID",rowLifecycle:"라이프사이클",rowSurface:"화면",rowRecoveryState:"복구 상태",rowRestoredFromStorage:"스토리지에서 복원됨",rowAttachedClients:"연결된 클라이언트"},M={mobile:{noHistoryMatches:"이 필터에 맞는 저장 기록이 없습니다.",workspaceMissing:"(워크스페이스 없음)",resumableOnly:"이어갈 수 있는 것만",sortMessages:"메시지 많은 순",sortOldest:"오래된 순",sortRecent:"최신순",filterModel:"모델로 필터",filterWorkspace:"워크스페이스로 필터",searchHistory:"제목 또는 미리보기 검색",useThisFolder:"이 폴더 사용",browseDescription:"일반 탐색기처럼 폴더를 이동한 뒤, 현재 폴더를 이 머신에 사용하세요.",browseTitle:"워크스페이스 선택",machineDetails:"머신 상세",inspect:"살펴보기",showMore:"{{count}}개 더 보기",showFewer:"간략히 보기",recentLaunches:"최근 실행",currentChats:"진행 중인 채팅",machineFallback:"머신"},daemonUpdate:{previewUnknownDescription:"앱은 프리뷰에 연결되어 있지만 서버가 아직 프리뷰 대상 버전을 알려 주지 않았습니다.",previewUpToDateDescription:"이 머신은 이미 현재 프리뷰 데몬을 실행 중입니다.",previewUnknownTitle:"프리뷰 업데이트 상태를 알 수 없음",previewUpToDateTitle:"프리뷰 데몬이 최신입니다",mismatchDescription:"이 머신은 현재 앱과 다른 데몬 버전을 실행 중입니다. 세션을 더 시작하기 전에 업데이트하세요.",previewUpgradeDescription:"원격 셸을 열지 않고도 이 머신을 현재 프리뷰 데몬으로 업데이트할 수 있습니다.",requiredDescription:"이 머신의 데몬 버전이 호환되지 않습니다. 세션을 더 시작하기 전에 업데이트하세요.",mismatchTitle:"버전 불일치 감지",requiredTitle:"데몬 업데이트 필요",upgrade:"업데이트",updateNow:"지금 업데이트"},launchPick:{empty:"저장된 워크스페이스가 아직 없습니다. 워크스페이스 탭에서 추가하거나 위에 경로를 입력하세요.",description:"미리 정해진 곳은 없습니다. 저장된 워크스페이스, 기본 워크스페이스, 홈 중에서 고르거나 — 취소하고 경로를 직접 입력하세요.",title:"어디에서 실행할까요?"},trustBadge:{externalUntrustedHint:"직접 추가한 외부 소스에서 왔고, ADHDev가 실행할 코드를 포함합니다. 켜기 전에 소스를 검토하세요.",externalSafeHint:"직접 추가한 외부 소스에서 왔습니다. 설정만 담고 있어 ADHDev가 그 코드를 실행하지 않습니다.",trustedWithScriptsHint:"ADHDev가 공식 제공합니다. ADHDev가 실행하는 스크립트를 포함합니다.",trustedHint:"ADHDev가 공식 제공합니다. 설정만 담고 있어 프로바이더 코드가 실행되지 않습니다.",userCustomHint:"내 프로바이더 폴더에서 직접 만든 프로바이더입니다. 내 코드가 실행됩니다.",externalUntrusted:"외부 · 코드 실행",externalSafe:"외부",trustedWithScripts:"공식 · 스크립트",trusted:"공식",userCustom:"사용자 정의"},providerSettings:{option:{high:"높음",medium:"보통",low:"낮음"},notifications:{description:"{{provider}}의 상태가 바뀌면 알림을 표시합니다.",label:"알림"},showCoordinatorSystemPrompt:{description:"주입된 시스템 프롬프트를 채팅 메시지로 표시합니다. 기본값은 끔이며, 채팅 헤더의 세션 정보(ⓘ)에서 언제든 볼 수 있습니다.",label:"시스템 프롬프트 메시지 표시"},showTerminal:{description:"터미널 명령과 출력을 채팅에 표시합니다.",label:"터미널 표시"},showToolCalls:{description:"도구 호출 요약(검색, 편집 등)을 채팅에 표시합니다.",label:"도구 호출 표시"},showThinking:{description:"에이전트의 추론 과정을 채팅에 표시합니다.",label:"생각 과정 표시"},longGeneratingThresholdSec:{description:"장시간 작업 알림이 울리기까지의 시간입니다.",label:"장시간 기준 (초)"},longGeneratingAlert:{description:"응답이 유난히 오래 걸리면 알려 줍니다.",label:"장시간 작업 알림"},approvalAlert:{description:"{{provider}}이(가) 승인을 기다릴 때 알려 줍니다.",label:"승인 알림"},appPathOverride:{description:"IDE 앱의 전체 경로(선택). 비워 두면 일반적인 설치 위치에서 찾습니다.",label:"앱 경로"},cliPathOverride:{description:"IDE 명령줄 실행기의 전체 경로(선택). 비워 두면 감지된 경로를 사용합니다.",label:"CLI 실행기 경로"},executableArgs:{description:"{{provider}} 시작 시 기본 인자 대신 쓸 인자(선택). 비워 두면 기본값을 사용합니다.",label:"실행 인자"},executablePath:{description:"{{provider}} 프로그램의 전체 경로(선택). 비워 두면 PATH에서 찾습니다.",label:"실행 파일 경로"},autoApprove:{description:"{{provider}}의 도구 실행·확인 요청을 묻지 않고 자동으로 승인합니다.",label:"자동 승인"},enabled:{description:"ADHDev가 이 머신에서 {{provider}}을(를) 감지·실행·확인하기 전에 먼저 켜 주세요.",label:"이 머신에서 사용"},thisProvider:"이 프로바이더"},launchConfirm:{workspace:"워크스페이스",languageModel:"언어 모델 (선택 사항)",autoDetect:"자동 감지 또는 기본값",cliArgs:"CLI 인수 (선택 사항)",cliArgsPlaceholder:"예: --experimental",cancel:"취소",closeAria:"실행 확인 닫기",launch:"실행",launching:"실행 중…"},confirmExternal:{aboutToActivateFrom:"{{source}}의 {{provider}}을(를) 켜려고 합니다.",aboutToActivate:"{{provider}}을(를) 켜려고 합니다.",dialogAria:"신뢰할 수 없는 외부 프로바이더 확인",title:"신뢰할 수 없는 외부 프로바이더를 활성화하시겠습니까?",description:"이 manifest는 데몬이 실행할 JavaScript를 포함하고 있습니다. 신뢰할 수 없는 코드로 취급하여 활성화 전에 소스를 검토하세요.",proceedWarning:"추가한 소스 URL을 신뢰하고 manifest를 검토한 경우에만 진행하세요.",cancel:"취소",activate:"활성화"},providers:{advancedHint:"소스, 로드 경로, 프로바이더 세부 정보",filter:"필터",sourceConfigTitle:"프로바이더 소스 설정",sourceConfigDesc:"데몬이 프로바이더 manifest를 찾는 위치입니다. 해석 및 재로드에 영향을 줍니다.",sourceMode:"소스 모드",explicitProviderDir:"프로바이더 디렉토리 직접 지정",providerDirPlaceholder:"비워두면 ~/.adhdev/providers 사용",applying:"적용 중…",applyReload:"적용 + 재로드",userRoot:"사용자 루트:",upstreamRoot:"업스트림 루트:",providerRoots:"프로바이더 루트:",loadingSettings:"프로바이더 설정 불러오는 중…",noProviders:"아직 설치된 프로바이더가 없습니다 — 위의 설치를 누르거나 고급에서 소스를 추가하세요.",noFilteredProviders:"{{filter}} 프로바이더가 설치되어 있지 않습니다.",refresh:"새로고침",updateAll:"모두 업데이트",advanced:"고급",newChannelTypesTitle:"설치 가능",newChannelTypesDesc:"검증 채널에 게시됐지만 이 머신에는 아직 설치되지 않았습니다. 설치하면 digest 검증된 번들이 활성화됩니다.",installNewType:"설치",modelListTitle:"모델 목록",modelListStaleDesc:"이 CLI들에서 모델 목록을 읽지 못했습니다(로그아웃·오프라인·미지원 출력). 매니페스트의 목록을 사용 중이며 낡았을 수 있습니다.",modelListStaleBadge:"미검증",installFailedTitle:"설치 실패",installFailedDigestMismatch:"설치 실패 — 나중에 다시 시도하세요",loadFailed:"프로바이더 설정 로드 실패: {{error}}",quotaToggleFailed:"{{provider}}의 쿼터 조회 설정 변경 실패: {{error}}"},sourcesPanel:{title:"외부 소스",description:"추가한 서드파티 git URL입니다. 여기의 프로바이더는 데몬이 실행할 JavaScript를 포함할 수 있어 활성화 시 확인이 필요합니다.",addSource:"+ 소스 추가",empty:'등록된 외부 소스가 없습니다. "+ 소스 추가"로 서드파티 프로바이더 git URL을 등록하세요.',remove:"제거",removing:"…",removeConfirmTitle:"프로바이더 소스 {{name}}을(를) 제거할까요?",removeConfirmDescription:"클론된 매니페스트가 삭제되고 이 소스를 가리키던 활성 소스 항목도 초기화됩니다.",removeConfirmLabel:"제거",conflictsTitle:"충돌",conflictsDescription:"여러 소스가 동일한 프로바이더 타입을 제공합니다. 어느 소스의 사본을 활성화할지 선택하세요.",active:"활성",switchActiveTo:"{{name}}(으)로 활성 전환",addTitle:"외부 소스 추가",gitUrl:"Git URL",ref:"Ref (브랜치/태그)",name:"이름 (선택, URL에서 자동 생성)",cancel:"취소",cloning:"클론 중…",cloneAndRegister:"클론 + 등록",loadFailed:"소스 로드 실패",addFailed:"소스 추가 실패",removeFailed:"소스 제거 실패",setActiveFailed:"활성 소스 설정 실패"},providerRow:{detectDisabledHint:"확인하기 전에 프로바이더를 켜 주세요",detectHint:"설정된 프로그램을 찾고 실행할 수 있는지 확인합니다",lifecycleDeprecated:"지원 종료",lifecycleExperimental:"실험적",lifecycleBeta:"베타",lifecycleStable:"안정",checkFailed:"실패",checkOk:"정상",statusDetected:"감지됨",statusNotDetected:"감지되지 않음",statusEnabledUnchecked:"활성화됨 (미확인)",statusDisabled:"비활성화됨",labelType:"유형:",labelVersion:"버전:",labelBinary:"바이너리:",labelStatus:"상태:",labelDetails:"상세:",labelSource:"소스:",labelTrust:"신뢰:",labelLinks:"링크:",labelDetection:"감지:",labelVerification:"검증:",saving:"저장 중…",disable:"비활성화",enable:"활성화",detect:"감지",resetCommand:"명령어 초기화",quotaAccountLabel:"사용량에 계정 표시",quotaAccountLabelHint:"이 프로바이더의 플랜 사용량에 로그인 계정을 함께 표시합니다. 끄면 계정을 숨기는 게 아니라 아예 조회하지 않습니다.",quotaAccountLabelOn:"켬",quotaAccountLabelOff:"끔",quotaTracking:"쿼터 추적",quotaTrackingHint:"이 provider의 플랜 쿼터를 주기적으로 읽어 대시보드에 표시합니다. 끄면 조회를 완전히 중단합니다.",quotaTrackingOn:"켜짐",quotaTrackingOff:"꺼짐",quotaClaudeConfirmTitle:"Claude 쿼터 추적을 켤까요?",quotaClaudeConfirmBody:"Claude Code에는 쿼터 API가 없어서, ADHDev는 유일한 경로인 statusLine을 통해 사용량을 읽습니다. 켜면 ~/.claude/settings.json의 statusLine 명령이 ADHDev 래퍼로 교체됩니다. 기존 명령은 래퍼 안에서 계속 실행되고 출력은 그대로 전달되므로 보이는 프롬프트는 동일합니다. 파일의 다른 설정은 변경하지 않습니다. 기존 값은 먼저 백업되며 `adhdev quota claude:uninstall`로 언제든 복원할 수 있습니다.",quotaClaudeConfirmOk:"설치하고 켜기",quotaClaudeConfirmCancel:"취소",labelSpecPin:"스펙 핀:",labelActivatedAt:"적용 시각:",labelPreviousPin:"이전 핀:",labelDigest:"다이제스트:",specPinStale:"{{latest}} 있음",specPinStaleHint:"이 머신은 옛 스펙을 로드 중입니다. 채널에는 {{latest}} 가 있습니다.",updateInline:"업데이트",updateInlineHint:"채널에 {{latest}}가 있습니다. 이 머신에 내려받아 검증한 뒤 적용합니다.",specPinUpdating:"업데이트 중…",specPinRollback:"되돌리기",specPinRollbackHint:"스펙 {{version}} 으로 되돌립니다(로컬, 다운로드 없음).",specPinRollingBack:"되돌리는 중…"},installOptions:{title:"{{provider}} 설정",quotaLabel:"플랜 사용량 추적",quotaHint:"이 프로바이더의 플랜 사용량을 주기적으로 읽어 대시보드와 `adhdev quota`에 남은 양을 표시합니다. 끄면 읽기를 완전히 중단하며 아무것도 수집하지 않습니다.",quotaClaudeNote:"Claude Code에는 quota API가 없어, ~/.claude/settings.json에 ADHDev statusLine 래퍼를 설치합니다. 기존 명령은 래퍼 안에서 계속 실행되며 원본은 백업됩니다.",autoApproveLabel:"도구 호출 자동 승인",autoApproveHint:"에이전트가 명령 실행·파일 수정·도구 사용 권한을 물을 때 ADHDev가 대신 예로 답합니다. 승인 창은 표시되지 않고 작업이 곧바로 실행됩니다.",autoApproveWarning:"에이전트가 확인 없이 이 머신에서 명령을 실행할 수 있습니다. 직접 승인하려면 이 옵션을 끄세요.",cancel:"취소",confirm:"프로바이더 활성화"},card:{status:{offline:"오프라인",failed:"연결 실패",connecting:"연결 중…",online:"온라인"},slowLink:"느린 연결",coresCount_other:"{{count}}코어",coresCount_one:"{{count}}코어",onMachine:"{{machine}}에서",sectionIDEs:"IDEs",sectionCLIs:"CLIs",cpu:"CPU",mem:"MEM",loading:"머신을 불러오는 중…",emptyHeadline:"ADHDev에 오신 것을 환영합니다",emptyBody:"대시보드에 첫 번째 머신을 연결하세요. 해당 머신에 ADHDev를 설치하고 로그인하면 자동으로 페어링되어 여기에 표시됩니다:",emptyDocsLink:"문서 읽기 →",hidden:"숨김",pageTitle:"머신",burrowCount_one:"머신 {{count}}개",burrowCount_other:"머신 {{count}}개",onlineCount_one:"{{count}}개 온라인",onlineCount_other:"{{count}}개 온라인",agentsActive_one:"에이전트 {{count}}개 활성",agentsActive_other:"에이전트 {{count}}개 활성",activeNow:"활성 중",generating:"생성 중",connectionFailed:"연결 실패",reconnect:"재연결",transportRelay:"릴레이 서버를 거쳐 연결됨 — 직접 연결보다 느립니다. 보통 방화벽이나 NAT가 직접 경로를 막고 있습니다.",transportDirect:"직접 연결",noAgentsRunning:"실행 중인 에이전트 없음",launchCta:"실행 →"},detail:{relaunchFailed:"다시 실행하지 못했습니다",launchProvider:"프로바이더",launchType:"유형",tabsAriaLabel:"머신 섹션",tabSessions:"세션",notFound:"머신을 찾을 수 없습니다",save:"저장",cancel:"취소",loading:"머신 불러오는 중...",offlineHint:"머신이 오프라인이거나 아직 연결되지 않았을 수 있습니다.",back:"← 뒤로",tabHostedRuntimes:"호스팅 런타임",tabProviders:"프로바이더",tabSystem:"시스템",tabLogs:"로그",clickToSetNickname:"클릭하여 닉네임 설정",nicknamePlaceholder:"머신 닉네임...",reconnect:"재연결",p2pConnected:"연결됨",providerUpdatesAvailable:"프로바이더 업데이트 있음",providerSyncSuccess:"프로바이더 채널 동기화 완료 — {{count}}개 갱신",providerSyncAlreadyCurrent:"프로바이더 채널이 이미 최신입니다",providerSyncFailed:"프로바이더 업데이트 실패"},commandCenter:{updateStatusUnknown:"업데이트 상태 알 수 없음",upToDate:"최신 상태",updateDaemon:"데몬 업데이트",updateToVersion:"v{{version}}로 업데이트",updateChannel:{preview:"프리뷰",stable:"정식"},updateTargetWithChannel:"대상: v{{version}} ({{channel}})",updateTarget:"대상: v{{version}}",currentChats:"현재 채팅",recentLaunches:"최근 실행",daemonUpdate:"데몬 업데이트"},workspaceBrowse:{currentFolder:"현재 폴더",parent:"상위 폴더",go:"이동",pathPlaceholder:"폴더 경로 입력",loading:"폴더 불러오는 중…",noSubfolders:"하위 폴더가 없습니다.",useThisFolder:"이 폴더 사용"},managedWorkspaces:{setDefaultHint:"기본 워크스페이스로 설정",unsetDefaultHint:"기본 워크스페이스 — 클릭하면 해제",title:"워크스페이스",addWorkspace:"워크스페이스 추가",empty:'저장된 워크스페이스가 없습니다. "{{button}}" 버튼으로 폴더를 선택하세요.',addDialogDescription:"일반 탐색기처럼 머신을 둘러본 뒤, 현재 폴더를 워크스페이스로 추가하세요.",remove:"제거",newSession:"이 워크스페이스에서 새 세션 시작",newSessionShort:"세션",newMeshSession:"이 워크스페이스에서 메시 코디네이터 세션 시작",newMeshSessionShort:"메시",removeConfirmTitle:"워크스페이스 제거",removeConfirmDescription:'"{{label}}"을(를) 목록에서 제거할까요? 폴더 자체는 삭제되지 않습니다.',rename:"이름 바꾸기",renamePlaceholder:"워크스페이스 이름",saveName:"저장",cancelRename:"취소",renameFailed:"워크스페이스 이름을 바꾸지 못했습니다"},overview:{diagnostics:"진단",p2p:"P2P",daemonVersion:"데몬 버전",cores:"CPU 코어",platform:"플랫폼",hostname:"호스트 이름",aboutMachine:"이 머신",approx:"(근사치)",memory:"메모리",cpuDetail:"평균 {{load}} / {{cores}}코어",cpuLoad:"CPU 부하",resourceUsage:"리소스 사용량",waiting:"대기 중…",uptime:"가동 시간",waitingForStats:"실시간 통계 대기 중…",waitingForStatsWithTotal:"실시간 통계 대기 중… · 총 {{total}}"},fleetQuota:{title:"머신별 구독 사용량",subtitle:"머신마다 각 구독의 5시간·주간 한도가 얼마나 남았는지 보여줍니다. 작업 큐는 거의 다 쓴 플랜은 건너뛰고, 리셋 때 그냥 사라질 남은 사용량부터 씁니다.",machine:"머신",unreadable:"읽기 실패"},quota:{text:{failureKind:{unknown:"알 수 없는 오류","no-data":"아직 읽은 값 없음","setup-required":"설정 필요",unsupported:"지원되지 않음","cli-unavailable":"프로그램을 찾을 수 없음",parse:"응답을 해석할 수 없음",server:"프로바이더 서버 오류",network:"네트워크 오류","rate-limited":"요청 제한됨","quota-exhausted":"플랜 한도 도달",unauthorized:"접근 거부","expired-token":"로그인 만료","missing-credentials":"로그인 필요"},agoDays:"{{days}}일 {{hours}}시간 전",agoHours:"{{hours}}시간 {{minutes}}분 전",agoMinutes:"{{minutes}}분 전",justNow:"방금",unreadable:"사용량을 읽지 못함",unavailable:"이 머신에서는 사용할 수 없음",pool:"풀",usageSessions:"세션 {{count}}",usageTokens:"토큰 {{count}}",windowReset:"초기화됨 · 새 값 대기 중",cue:{stale:"오래된 값",refreshing:"새로 고치는 중"},resetsInDays:"{{days}}일 {{hours}}시간 후 초기화",resetsInHours:"{{hours}}시간 {{minutes}}분 후 초기화",resetsInMinutes:"{{minutes}}분 후 초기화",resetsNow:"곧 초기화",used:"{{percent}}% 사용"},title:"플랜 사용량",sessionHint:"이 머신이 보고한 5시간 롤링 플랜 창",weeklyHint:"이 머신이 보고한 7일 롤링 플랜 창",monthlyHint:"이 머신이 보고한 30일 결제 주기 윈도우",bucketHint:"이 머신이 보고한 풀별 쿼터 버킷 — 한 플랜의 풀들은 서로 독립적으로 리셋됩니다",failureHint:"이 머신이 해당 프로바이더의 사용량을 읽지 못했다고 보고했습니다",okNoWindows:"한도 없음",okNoWindowsHint:"쿼터 조회는 성공했고, 이 프로바이더는 퍼센트 윈도우를 보고하지 않습니다 (예: 포함 사용량 플랜).",accountHint:"이 사용량이 속한 로그인 계정 — 프로바이더 CLI 가 보고한 값",usageHint:"최근 기간의 절대 사용량입니다 — 이 프로바이더는 사용자의 업스트림 계정으로 라우팅되므로 퍼센트로 표시할 플랜 한도가 없습니다."},actions:{nicknameSyncFailed:"머신 별칭은 바뀌었지만 계정 동기화에 실패했습니다",nicknameFailed:"별칭을 저장하지 못했습니다",nicknameTimeout:"머신이 응답하지 않습니다 — 연결 상태를 확인하고 다시 시도하세요",nicknameSaved:"별칭 저장됨",pathMissing:"디스크에 경로가 없을 수 있습니다",workspaceActionFailed:"워크스페이스 변경 실패",workspaceAdded:"워크스페이스 추가됨",detectFailed:"IDE 감지 실패",usingDefaultWorkspace:"기본 워크스페이스 사용 중",runningInHome:"홈 디렉터리에서 실행 중",launchPending:"{{name}} 시작 중 — 곧 표시됩니다",launchFailed:"{{name}}을(를) 실행하지 못했습니다",launching:"{{name}} 실행 중…",stopCliConfirmDescription:"프로세스가 종료됩니다.",stopIdeConfirmDescription:"CDP 연결을 해제하고 필요 시 프로세스를 종료합니다.",stopped:"{{name}} 중지됨",launched:"{{name}} 실행됨",stopFailed:"중지하지 못했습니다",restartInitiated:"{{name}} 재시작을 시작했습니다",restartFailed:"재시작하지 못했습니다",selectProviderFirst:"먼저 CLI 프로바이더를 선택하세요",selectProvider:"프로바이더를 선택하세요",workspaceRemoved:"워크스페이스가 제거되었습니다",workspaceLabelUpdated:"워크스페이스 이름이 변경되었습니다",defaultWorkspaceUpdated:"기본 워크스페이스가 변경되었습니다",defaultWorkspaceCleared:"기본 워크스페이스가 해제되었습니다",idesFound_one:"IDE {{count}}개를 찾았습니다",idesFound_other:"IDE {{count}}개를 찾았습니다"},logsTabSections:{view:"보기",filterInfo:"정보+ ({{count}})",filterIssues:"이슈 ({{count}})",filterAll:"전체 ({{count}})",searchPlaceholder:"진단 검색…",copyDiagnostics:"진단 복사",copyVisible:"표시된 항목 복사",pause:"일시정지",resume:"재개",refresh:"↻ 새로고침",clear:"지우기",advancedSourceScope:"고급 소스 범위",daemonLevelPlus:"데몬 {{level}}+",diagnosticsTimeline:"진단 타임라인",visibleEventsIssues:"표시된 이벤트 {{events}}개 · 이슈 신호 {{issues}}개",filteredBy:"“{{query}}”로 필터링됨",mergedByTime:"데몬, 트레이스, 브라우저 신호를 시간순으로 병합",latestIssue:"최근 이슈",noVisibleIssue:"표시할 warn/error 신호 없음",sourceStatus:"소스 상태",needsAttention:"주의 필요",livePolling:"3초마다 실시간 폴링",paused:"일시정지됨",lastUpdate:"마지막 업데이트: {{time}}",notYetLoaded:"아직 로드되지 않음",rawFile:"원시 파일",sourceDaemon:"데몬",sourceTrace:"트레이스",sourceBrowser:"브라우저",repeatedIssuePatterns:"반복되는 이슈 패턴",unifiedTimeline:"통합 타임라인",visibleDiagnosticEvents:"표시된 진단 이벤트 {{count}}개",hide:"숨기기",show:"표시",loadingDiagnostics:"진단 로딩 중…",daemonLogsError:"데몬 로그: {{error}}",daemonTraceError:"데몬 트레이스: {{error}}",noDiagnosticsMatch:"현재 보기와 일치하는 진단이 없습니다.",rawSourceDaemonLogs:"원시 소스 · 데몬 로그",visibleRawLinesFallback:"파일 폴백에서 표시된 원시 라인 {{count}}개",visibleStructuredLines:"표시된 구조화 라인 {{count}}개",loadingDaemonLogs:"데몬 로그 로딩 중…",noDaemonLogsYet:"이 머신에 아직 캡처된 데몬 로그가 없습니다.",noRawLinesMatchSearch:"현재 검색과 일치하는 원시 데몬 로그 라인이 없습니다.",rawFallbackOnlyInAll:"원시 파일 폴백 로그는 전체 보기에서만 사용할 수 있습니다.",noStructuredLogsMatch:"현재 보기와 일치하는 구조화된 데몬 로그가 없습니다.",rawSourceDaemonTrace:"원시 소스 · 데몬 트레이스",sessionHostOnly:"session_host만",visibleTraceEvents:"표시된 트레이스 이벤트 {{count}}개",loadingDaemonTrace:"데몬 트레이스 로딩 중…",noTraceEntriesMatchSearch:"현재 검색과 일치하는 트레이스 항목이 없습니다.",noSessionHostTraceYet:"아직 session host 트레이스 항목이 없습니다.",noTraceEntriesYet:"아직 트레이스 항목이 없습니다.",noPayload:"페이로드 없음",rawSourceBrowserEvents:"원시 소스 · 브라우저 디버그 이벤트",visibleBrowserEvents:"표시된 브라우저 이벤트 {{count}}개",noBrowserEventsMatchSearch:"현재 검색과 일치하는 브라우저 디버그 이벤트가 없습니다.",noBrowserEventsYet:"아직 캡처된 브라우저 디버그 이벤트가 없습니다."}},R={transition:{recover:"복구됨",detach:"분리됨",attach:"연결됨",start:"시작됨",stop:"중지됨",restart:"재시작됨",resume:"재개됨"},lastErrorLabel:"마지막 오류",endpointLabel:"엔드포인트",activeAgo:"{{time}} 활동",title:"호스팅 런타임 복구",stopConfirmTitle:"{{name}}을(를) 중지할까요?",stopConfirmDescription:"호스팅 런타임이 종료됩니다.",pruneConfirmTitle:"중복 호스팅 런타임을 정리할까요?",pruneConfirmDescription:"각 프로바이더 세션의 최신 런타임만 남기고 오래된 중복은 중지 후 제거합니다.",prune:"정리",pruning:"정리 중…",pruneDuplicatesCount:"중복 정리 ({{count}})",toastResumed:"세션 호스트 재개됨: {{name}}",toastRestarted:"세션 호스트 재시작됨: {{name}}",toastStopped:"세션 호스트 중지됨: {{name}}",toastPruned:"{{groups}}개 그룹에서 중복 런타임 {{pruned}}개를 정리했습니다",actionFailed:"세션 호스트 작업 실패",pruneFailed:"중복 정리 실패",diagnosticsFailed:"호스팅 런타임 진단을 불러오지 못했습니다",diagnosticsAttention:"호스팅 런타임 진단에 확인이 필요합니다",stop:"중지",stopping:"중지 중…",restart:"재시작",restarting:"재시작 중…",resume:"재개",resuming:"재개 중…",recover:"복구",recovering:"복구 중…",refresh:"새로고침",refreshing:"새로고침 중…",noWorkspace:"워크스페이스 없음",clientsCount_one:"클라이언트 {{count}}개",clientsCount_other:"클라이언트 {{count}}개",statLive:"라이브 런타임",statRecovery:"복구",statRequests:"요청",statStarted:"시작 시각",latestWarning:"최근 호스트 경고",liveTitle:"라이브 호스팅 런타임",recoveryTitle:"복구 스냅샷",inactiveTitle:"비활성 기록",recentActivity:"최근 호스트 활동",liveEmpty:"지금 이 머신에 라이브 호스팅 런타임이 없습니다.",recoveryEmpty:"현재 확인이 필요한 복구 스냅샷이 없습니다.",transitionsEmpty:"아직 최근 런타임 전환 기록이 없습니다.",nextAction:"다음: {{action}}"},_={managed:"관리됨",checking:"확인 중…",diagnosticsIssue:"진단 문제",unavailable:"사용 불가",restoredAfterRestart:"재시작 후 복원됨",restoreFailed:"복원 실패",hostRestartInterrupted:"호스트 재시작이 중단됨",snapshotRecovered:"스냅샷 복구됨",attach:"연결",recover:"복구",restart:"재시작",hintLive:"이 런타임은 현재 라이브 상태이며 연결 가능한 유일한 대상입니다.",hintRecovery:"이 기록들은 session-host 상태에서 복원된 것으로, 명시적으로 복구하거나 재시작하기 전까지는 라이브 연결 대상이 아닙니다.",hintInactive:"이 비활성 기록은 참고용으로 표시되며 대개 다시 유용해지려면 재시작이 필요합니다.",lifecycleStarting:"시작 중",lifecycleRunning:"실행 중",lifecycleStopping:"중지 중",lifecycleStopped:"중지됨",lifecycleFailed:"실패",lifecycleInterrupted:"중단됨"},F={advancedTitle:"고급",mobileMode:{workspaceMode:"작업 공간",chatMode:"채팅 모드",descriptionWorkspace:"휴대폰과 태블릿에서도 전체 작업 공간 레이아웃을 사용합니다.",descriptionChat:"채팅 중심의 모바일 받은편지함 레이아웃을 사용합니다. 메신저 앱에 가깝습니다.",label:"모바일 받은편지함 (채팅 모드)"},theme:{preset:{honey:"따뜻한 노란색 포인트",aurora:"핑크 포인트 테마",ember:"랜딩 페이지에서 영감을 받은 기본 앰버 테마",midnight:"클래식 보라색 테마"},presetCustomDescription:"앱 전체 + 채팅 사용자 정의",helloHelp:"안녕하세요! 어떻게 도와드릴까요?",fixBug:"버그를 고쳐주세요",onIt:"알겠습니다! ✨",customEditorTitle:"커스텀 테마 편집기",darkMode:"다크 모드",lightMode:"라이트 모드",sectionAppBackground:"앱 배경",sectionAppText:"앱 텍스트",sectionBordersAccent:"테두리 및 강조색",sectionChatBubbles:"채팅 말풍선",sectionChatLayout:"채팅 레이아웃",colorBackground:"배경",colorSurface:"서피스",colorCard:"카드",colorPrimary:"기본",colorSecondary:"보조",colorMuted:"흐림",colorBorderSubtle:"테두리 (미묘)",colorBorderDefault:"테두리 (기본)",colorAccent:"강조색",colorUserBubble:"사용자 말풍선",colorUserText:"사용자 텍스트",colorAgentBubble:"에이전트 말풍선",colorAgentText:"에이전트 텍스트",colorChatBg:"채팅 배경",colorSendButton:"전송 버튼",colorInputBorder:"입력 테두리",labelBubbleRadius:"말풍선 둥글기",resetToDefaults:"기본값으로 초기화",customLabel:"커스텀"},providerPriority:{undetectedHint_other:"{{count}}개 프로바이더가 여기서 감지되지 않았습니다 — 순서는 유지되며 사용 가능해질 때까지 건너뜁니다.",undetectedHint_one:"{{count}}개 프로바이더가 여기서 감지되지 않았습니다 — 순서는 유지되며 사용 가능해질 때까지 건너뜁니다.",orderHint:"실행 시 위에서 아래 순서로 사용합니다.",noMoreProviders:"감지된 다른 CLI 프로바이더 없음",selectProvider:"프로바이더 선택…",moveDown:"아래로 이동",moveUp:"위로 이동",keptUntilDetected:"순서는 유지되며, 이 머신에서 감지될 때까지 실행 시 건너뜁니다.",emptyWarning:"프로바이더 순서가 설정되지 않았습니다. CLI 프로바이더를 지정하지 않은 실행은 거부됩니다.",available:"사용 가능",notOnMachine:"감지 안 됨",remove:"제거",addCliLabel:"사용 가능한 CLI 프로바이더 추가",addProvider:"프로바이더 추가"},coordinatorPrompts:{saveFailed:"저장하지 못했습니다",loadFailed:"코디네이터 프롬프트를 불러오지 못했습니다",save:"저장",saved:"저장됨",saving:"저장 중…",appendPlaceholder:"(비어 있음 — 이 단계에서 덧붙이는 내용 없음)",overridePlaceholder:"(비어 있음 — 기본 프롬프트 사용)",placeholdersHint:"사용 가능한 자리표시자:",resetHint:"필드를 비우고 저장하면 제거됩니다(기본값으로 복원).",intro:"이 데몬의 메시 코디네이터 세션이 받는 프롬프트를 사용자 정의합니다.",loading:"불러오는 중…",connectDaemon:"코디네이터 프롬프트를 편집하려면 데몬을 연결하세요.",overrideDesc:"<strong>Override</strong>는 해당 CLI의 데몬 내장 기본 프롬프트를 대체합니다.",appendDesc:"<strong>Append</strong>는 선택된 기본 프롬프트 뒤에 추가됩니다.",overrideLabel:"덮어쓰기",appendLabel:"덧붙이기",expandLabel:"프롬프트 편집",collapseLabel:"접기",customizedBadge:"커스텀",collapsedNone:"커스텀 프롬프트 없음 — 데몬 기본값 사용 중.",tabsAriaLabel:"코디네이터 프롬프트 프로바이더",sectionTitle:"코디네이터 프롬프트",sectionDescription:"이 머신의 메시 코디네이터 세션에 적용되는 CLI별 기본 프롬프트입니다. 메시 단위 프롬프트는 Repo Mesh 페이지에 있습니다."},appearance:{modeSystem:"시스템",modeLight:"라이트",modeDark:"다크",modeLabel:"모드",themeLabel:"테마",mobileLabel:"모바일",chatLabel:"채팅"},chatActivity:{rowLabel:"채팅에 에이전트 활동 표시",descriptionOn:"도구 호출, 터미널 출력, 생각이 채팅 메시지 사이에 표시됩니다.",descriptionOff:"대화만 표시됩니다. 도구 호출·터미널 출력·생각은 숨겨집니다."}},N={chatHistory:"채팅 기록",startNewChat:"+ 새 채팅 세션 시작",creating:"생성 중...",searchPlaceholder:"제목 또는 미리보기 검색",filterWorkspace:"워크스페이스로 필터",filterModel:"모델로 필터",sortRecent:"최신순",sortOldest:"오래된순",sortMessages:"메시지 많은순",resumeReadyOnly:"재개 가능만",untitledSession:"제목 없는 세션",noSavedPreview:"저장된 미리보기 없음",workspaceUnknown:"워크스페이스 알 수 없음",selectedWorkspaceSuffix:" · 선택한 워크스페이스",msgCount:"메시지 {{count}}개",statusActive:"활성",statusMissingWorkspace:"워크스페이스 없음",statusResumeSelectedWorkspace:"선택한 워크스페이스에서 재개",statusResuming:"재개 중...",statusResume:"재개",noMatchingHistory:"이 필터와 일치하는 저장 기록이 없습니다.",noRecentChats:"최근 채팅 세션이 없습니다.",refreshHistory:"기록 새로고침",refreshing:"새로고침 중...",confirmSwitchTitle:"세션을 전환할까요?",confirmSwitchDescription:'"{{target}}"(으)로 전환하시겠습니까? 현재 화면에서 벗어납니다.',confirmSwitchAction:"전환"},x={gallery:{next:"다음 화면",previous:"이전 화면",slides:{overview:"미션과 활동 — 휴대폰에서",tasks:"워커 전체의 작업 큐",map:"노드와 브랜치의 실시간 지도",desktop:"같은 메시, 데스크톱 화면"}},theme:{system:"시스템 테마",light:"라이트 테마",dark:"다크 테마"},nav:{home:"ADHDev 홈",mesh:"Mesh",what:"소개",agents:"에이전트",pricing:"요금제",install:"설치",github:"GitHub",docs:"문서",getStarted:"시작하기",toggleMenu:"메뉴 토글",mainNavigation:"주 내비게이션"},hero:{badge:"Claude Code, Codex, Cursor 등 — 내 모든 머신에서",title:"코딩 에이전트를 위한 컨트롤 플레인.",subtitleInstall:"<os></os>에 ADHDev를 설치하세요.",subtitlePlace:"<device></device>으로",subtitleAsk:"<coordinator></coordinator>에게 부탁해 <worker></worker>에게 레포 <verb></verb>를 맡기세요.",subtitleFrom:"<place></place>",anywhere:"어디서든",subtitleLand:"모든 머신의 모든 에이전트를 한 화면에서 보고, 하나의 작업 큐로 나눠 맡깁니다. main에는 테스트를 통과한 작업만 들어갑니다.",axes:{os:["Mac","Windows","Linux"],place:["지하철에서","카페에서","부모님 댁에서","침대에서","소파에서","정원에서","조수석에서","페리에서","헬스장에서","컨테이너 안에서","달에서","서버 랙에서"],device:["데스크톱","노트북","태블릿","휴대폰"],verb:["디버그","빌드","테스트","리뷰"]},copyInstall:"설치 명령어 복사: {{cmd}}",copied:"복사됨",copy:"복사",getStarted:"무료로 시작하기",orInstall:"또는 CLI 설치",openSource:"GitHub 오픈소스",joinDiscord:"Discord 참여",selfHost:"셀프 호스팅 가능",demoDesktop:"ADHDev 커맨드 센터가 여러 머신의 에이전트 세션을 실시간으로 구동하는 모습",demoPush:"ADHDev 모바일 푸시 알림 및 원탭 승인"},mesh:{sectionTitle:"서로 밟지 않는 병렬 에이전트.",sectionSubtitle:"에이전트를 병렬로 돌리는 건 쉬운 부분입니다 — 이제 모든 도구가 그걸 합니다. 어려운 건 그 이후입니다: 확인하고 머지해야 할 브랜치 더미. ADHDev가 그걸 대신 처리해서, 검토 큐가 아니라 main에 완성된 작업이 도착합니다.",refineryHighlight:"자동 착지",refineryTitle:"완료된 작업이 스스로 main에 머지됩니다",refineryDesc:"누구나 에이전트 열 개를 동시에 돌릴 수 있습니다. 그다음이 문제죠. ADHDev는 각 브랜치를 프로젝트의 테스트와 린트로 확인한 뒤, 깨끗하게 통과한 것만 자동으로 main에 머지하고 정리합니다 — force-push는 절대 없습니다. 애매한 것은 머지하지 않고 검토용으로 남겨둡니다.",asyncHighlight:"지시하는 곳은 한 군데",asyncTitle:"한 곳에 지시하면, 나머지는 알아서 실행됩니다.",asyncDesc:"코디네이터 한 곳에 작업을 넘기면, 모든 머신의 모든 에이전트를 대신 돌립니다. 승인이 필요하거나 완료됐을 때만 알려주므로, 지켜봐야 할 에이전트 창도, 앞에 앉아 있을 필요도 없습니다.",crossPlatformHighlight:"모든 OS를 동시에",crossPlatformTitle:"맥, 윈도우, 리눅스 — 동시에",crossPlatformDesc:"태그 하나로 특정 운영체제에 작업을 보냅니다. 프롬프트 하나로 이미 보유한 맥·윈도우·리눅스 머신에서 빌드, 테스트, 검증을 병렬로 실행합니다 — SSH 설정도, 가상 머신도 필요 없습니다.",monoHighlight:"실제 레포에서 동작",monoTitle:"git 서브모듈에서도 안전합니다",monoDesc:"실제 프로덕션 레포는 서브모듈을 품고 있는데, 바로 거기서 단순한 자동 머지가 깨집니다. ADHDev는 이를 안전하게 다룹니다: main을 건드리기 전에 서브모듈 변경이 제대로 반영·연결됐는지 먼저 확인합니다. 이 프로젝트 자체가 서브모듈 2개를 가진 레포이고, 매일 이 방식으로 머지됩니다.",crossHighlight:"두 번째 의견",crossTitle:"단일 의견이 아닌 합의",crossSubtitle:"하나의 질문, 여러 독립 에이전트",crossDesc:"코디네이터가 같은 읽기 전용 질문을 여러 머신과 모델에 동시에 던지고, 어디서 일치하고 어디서 갈리는지 비교합니다. 에이전트 하나의 답보다 신뢰할 수 있습니다.",tryMesh:"Repo Mesh 사용해보기 →",seePlans:"요금제 보기",availableOn:"머신을 연결하고 <strong>Repo Mesh</strong> 페이지에서 바로 시작하세요.",readGuide:"가이드 읽기"},compare:{sectionTitle:"병렬 에이전트는 이제 어디에나 있습니다. 서로 안 꼬이게 하는 건 다른 문제죠.",sectionSubtitle:"로컬 CLI는 서브에이전트를 생성하고, 데스크톱 오케스트레이터는 네이티브 UI로 워크트리에 작업을 분배합니다. 둘 다 브랜치에서 멈추고, 검토와 머지는 여러분 몫으로 남습니다. 각 도구가 더 잘 맞는 경우까지 포함해 아래에 비교했습니다.",colLocalCli:"로컬 CLI + 서브에이전트",colDesktop:"데스크톱 오케스트레이터",colAdhdev:"ADHDev Repo Mesh",rowLandsMain:"완료 작업을 main에 착지",rowLandsMainLocalCli:"게이트 실행과 머지를 직접 해야 합니다",rowLandsMainDesktop:"작업을 병렬화한 후 브랜치를 검토하도록 넘겨줍니다",rowLandsMainAdhdev:"Refinery가 레포의 게이트를 실행하고, 패치 동등성을 확인하고, main이 움직이지 않았을 때만 리베이스 후 병합합니다 — 자동, force-push 없음",rowSubmodules:"git 서브모듈 안전 처리",rowSubmodulesLocalCli:"서브모듈을 인식하는 머지 자동화 없음",rowSubmodulesDesktop:"워크트리 병렬화는 있지만 머지는 직접 해야 합니다",rowSubmodulesAdhdev:"서브모듈 인식 수렴: 도달 가능성 게이트, 패치 동등성 검사, 원자적 포인터 범프 — 이 모노레포에서 매일 검증됨",rowAsync:"한 곳에 비동기로 지시",rowAsyncLocalCli:"한 번에 하나의 세션, 동기적으로",rowAsyncDesktop:"각 에이전트 창을 직접 감시해야 합니다",rowAsyncAdhdev:"코디네이터 하나가 이벤트 루프로 모든 워커를 구동 — 완료/승인 이벤트를 기다리므로 폴링이나 감시 불필요",rowMultiMachine:"여러 물리 머신",rowMultiMachineLocalCli:"하나의 호스트 프로세스만",rowMultiMachineDesktop:"실행 중인 하나의 머신에만 종속",rowMultiMachineAdhdev:"P2P로 연결된 원격 데몬 — Mac, Windows, Linux 노드가 하나의 메시로, SSH 설정 없이",rowParallelBranch:"병렬 격리 브랜치 작업",rowParallelBranchLocalCli:"서브에이전트가 하나의 작업 트리를 공유 — 동시 쓰기 충돌",rowParallelBranchDesktop:"태스크당 git 워크트리 하나 — 핵심 강점",rowParallelBranchAdhdev:"노드당 git 워크트리 하나 — 코어뿐 아니라 머신 간 병렬",rowBrowser:"브라우저나 폰에서 구동",rowBrowserLocalCli:"터미널 앞에 있어야 합니다",rowBrowserDesktop:"네이티브 데스크톱 앱 — 그 책상에 있어야 합니다",rowBrowserAdhdev:"웹 퍼스트: 어떤 브라우저나 폰에서도 세션 제어 및 승인 가능",rowNativeApp:"네이티브 데스크톱 앱",rowNativeAppLocalCli:"터미널만",rowNativeAppDesktop:"세련된 네이티브 창 — 앞에 두고 쓰기엔 훨씬 좋습니다",rowNativeAppAdhdev:"웹 퍼스트입니다 — 네이티브 앱이 아닌 브라우저 탭",rowRestarts:"재시작 및 컨텍스트 손실 후에도 유지",rowRestartsLocalCli:"상태가 세션에 살아 있음 — 닫으면 사라집니다",rowRestartsDesktop:"상태가 앱 프로세스에 종속",rowRestartsAdhdev:"미션은 디스크에 지속되며 코디네이터나 데몬 재시작 후에도 재개 — 추가 전용 감사 로그",rowCrossCheck:"답을 교차 검증",rowCrossCheckLocalCli:"에이전트 하나의 판단, 두 번째 의견 없음",rowCrossCheckDesktop:"병렬 작업, 단일 판정",rowCrossCheckAdhdev:"코디네이터가 동일한 읽기 전용 질문을 서로 다른 머신 × 프로바이더 에이전트에 보내고 차이를 비교합니다",footnote:"단일 머신, 단일 브랜치, 일회성 작업이라면 — 서브에이전트를 가진 로컬 CLI가 더 가볍고 잘 작동하며, 네이티브 데스크톱 오케스트레이터가 더 쾌적합니다. Repo Mesh는 작업이 여러 머신과 브랜치로 분산되고, 재시작 후에도 유지되어야 하며, 어디서든 제어하면서 자동으로 main에 착지해야 할 때 진가를 발휘합니다."},what:{sectionTitle:"어떤 에이전트든, 자유롭게 혼합",sectionSubtitle:"설계부터 벤더 중립. Mac에서 Claude Code, Windows GPU 박스에서 Codex, 리뷰 패스에 Cursor CLI — 모두 같은 메시에서, 같은 대시보드로 구동합니다. 플랫폼을 바꾸지 않고 벤더를 바꿉니다.",cliHighlight:"CLI 에이전트",cliTitle:"어떤 터미널 에이전트든 웹에서 구동",cliDesc:"Claude Code, Codex CLI, Cursor CLI, Antigravity CLI, Grok, Kimi, OpenCode — PTY 어댑터를 통해 내 머신에서 실행되어 재개 및 재연결이 가능하며, 브라우저에서 구동됩니다. 즉시 프롬프트를 보내고 시각적 컨텍스트를 제공하세요(붙여넣기, 드래그 앤 드롭, 또는 여러 이미지를 한 번에 업로드).",uiHighlight:"하나의 UI",uiTitle:"같은 대시보드, 어떤 기기에서든",uiDesc:"adhf.dev에 클라우드로 호스팅 — 책상에 있든 없든 노트북이나 폰에서 모든 에이전트를 구동합니다.",ideHighlight:"IDE 에이전트",ideTitle:"실행 중인 에디터에도 연결",ideDesc:"Cursor, VS Code, VSCodium, Windsurf, Antigravity, Kiro, PearAI, Trae. 실시간 채팅 읽기, 프롬프트 전송, 세션 전환, 스크린샷 캡처.",p2pHighlight:"처음부터 끝까지 여러분의 것",p2pTitle:"P2P 우선: 데이터는 여러분 것으로 유지",p2pDesc:"채팅, 명령어, 스크린샷은 WebRTC를 통해 브라우저와 데몬 사이를 직접 오가며, 코드는 서버를 거치지 않습니다. 클라우드는 로그인, 연결 설정, 세션 상태만 처리합니다. 단 하나의 예외로, 승인 푸시 알림에는 승인할 내용이 최대 80자까지 포함됩니다."},oss:{sectionTitle:"오픈소스 & 셀프 호스팅 가능",sectionSubtitle:"데몬과 대시보드는 AGPL-3.0으로 GitHub에 공개되어 있습니다. 어떤 머신이나 서버에서든 직접 실행하세요 — 계정 불필요.",github:"GitHub",selfHostDocs:"셀프 호스팅 문서"},agents:{sectionTitle:"지원 에이전트",sectionSubtitle:"{{ides}}개 내장 IDE 통합, {{clis}}개 내장 CLI 에이전트, {{extensions}}개 IDE 내장 익스텐션 에이전트. 프로바이더 스크립트는 <code>adhdev-providers/</code>에 있으며 <code>~/.adhdev/providers/</code>에 직접 추가할 수 있습니다.",tierTested:"검증됨",tierTestedDesc:"실제 앱·고정 버전에서 검증됨",tierCommunity:"커뮤니티",tierCommunityDesc:"내장 및 커뮤니티 지원",groupIdes:"IDE",hintIdes:"Chrome DevTools Protocol로 연결. 채팅 읽기, 프롬프트 전송, 세션 전환, 스크린샷.",groupCli:"CLI 에이전트",hintCli:"재개 및 재연결이 가능한 PTY 어댑터로 구동.",groupExtensions:"IDE 내장 익스텐션 에이전트",hintExtensions:"다른 IDE 안에서 실행되는 에이전트를 위한 CDP 웹뷰 연결."},pricing:{sectionTitle:"에이전트 규모에 맞는 단순한 요금제",sectionSubtitle:"한 머신에서 무료로 시작하세요. 두 머신은 Pro, 다섯 머신은 Ultra. 좌석당 계산 없음, 엔터프라이즈 영업 전화 없음 — 아래 요금제가 전부입니다.",mostPopular:"가장 인기 있는",upgradeToPro:"Pro로 업그레이드",footnote:"가격은 USD 기준이며 해당 세금은 별도입니다. 셀프 호스팅을 원하시나요? 데몬과 대시보드는 오픈소스입니다.",plans:{free:{period:"영구 무료",tagline:"어디서든 머신 하나를 구동하는 데 필요한 모든 것.",cta:"무료로 시작",features:{machine:"머신 하나, 명령어 하나로 페어링",p2p:"P2P 채팅, 명령어, 스크린샷, 원격 입력",providers:"모든 프로바이더 — CLI, IDE 에이전트",push:"승인 및 완료 푸시 알림",share:"공유 세션 링크 하나"}},pro:{period:"/월",tagline:"머신 2개로 Repo Mesh가 두 머신에 걸쳐 에이전트를 돌릴 수 있습니다 — 동시 세션도 더 많이.",cta:"Pro 7일 체험 시작",features:{machines:"머신 2개 — 양쪽에서 에이전트 실행",p2p:"더 많은 동시 P2P 세션",push:"무제한 푸시 알림",share:"더 많은 공유 세션"}},ultra:{period:"/월",tagline:"Pro의 모든 것에서 확장 — 대규모 병렬 작업을 위한 더 많은 머신과 높은 한도.",cta:"Ultra 시작",features:{machines:"머신 5개 — 좌석당이 아닌 고정 가격",everything:"Pro의 모든 것 포함",p2p:"최고 동시 P2P 세션",screenshots:"무제한 일일 스크린샷 시간",webhooks:"더 높은 API 호출 한도",share:"더 많은 공유 세션"}}}},install:{sectionTitle:"세 단계로 작동하는 대시보드",sectionSubtitle:"설정 파일 없음. 연결할 API 키 없음. ADHDev는 에이전트 인증을 관리하지 않습니다 — 각 도구가 자체 로그인을 유지합니다.",selectOs:"OS 선택",osUnix:"macOS / Linux",osWindows:"Windows",copyInstall:"설치 명령어 복사: {{cmd}}",copied:"복사됨",copy:"복사",platformNote:"macOS와 Linux는 Unix 스크립트, Windows는 PowerShell 스크립트로 설치합니다. 셋 다 매일 쓰고 있습니다.",arrow:"→",steps:{step1:{title:"데몬 설치",desc:"명령어 하나로 데몬과 adhdev CLI를 설치합니다 — 머신을 페어링하고 데몬을 시작하는 런처입니다(Claude Code나 Codex 같은 CLI 에이전트와 혼동하지 마세요). 동일한 바이너리가 클라우드와 스탠드얼론을 모두 지원합니다."},step2:{title:"머신 연결",desc:"GitHub 또는 Google로 한 번 로그인하면 데몬이 스스로 페어링됩니다 — 복사할 토큰이 없습니다."},step3:{title:"에이전트 구동",desc:"대시보드에서 Claude Code, Codex CLI, Cursor CLI, Antigravity CLI, Kimi 등 에이전트를 실행하세요. 채팅 읽기, 프롬프트 전송, 시각적 컨텍스트 제공(붙여넣기, 드래그 앤 드롭, 또는 한 번에 여러 이미지 업로드), 액션 승인, 세션 전환."}}},cta:{headline:"모든 에이전트와 모든 머신을 하나의 큐 뒤에 두세요.",subtitle:"명령어 하나, 데몬 하나, 이미 쓰고 있는 모든 에이전트. 일을 큐에 넣으면 테스트를 통과한 것만 main에 들어갑니다.",getStarted:"시작하기 →",github:"GitHub",discord:"Discord"},footer:{docs:"문서",github:"GitHub",discord:"Discord",dashboard:"대시보드",terms:"이용약관",privacy:"개인정보처리방침",contact:"문의",copyright:"© {{year}} RacoLab. All rights reserved."},imagePaste:{sectionTitle:"스크린샷을 붙여넣으면, 다른 머신의 터미널 에이전트가 즉시 봅니다.",sectionSubtitle:"노트북이나 폰에서 스크린샷을 찍어 채팅에 붙여넣으면, 다른 머신의 터미널에서 돌아가는 CLI 에이전트가 그걸 시각적 컨텍스트로 받습니다 — 파일 옮기기도, SSH도 필요 없습니다. 붙여넣기, 드래그 앤 드롭, 또는 한 번에 최대 5개 이미지(장당 10MB) 업로드.",point1:"클립보드 붙여넣기, 드래그 앤 드롭, 또는 업로드",point2:"최대 5개 이미지, 장당 10MB",point3:"내 머신 어디서든 PTY 터미널 에이전트로 도착",step1Label:"이미지 붙여넣고 질문 입력",step2Label:"전송 — 에이전트가 바로 받아서 작업",step3Label:"이미지를 보고 답변"},mobile:{sectionTitle:"책상을 떠나도 에이전트는 멈추지 않습니다.",sectionSubtitle:"에이전트가 승인을 요청하거나 작업을 마치면 폰에 푸시 알림이 옵니다. 탭해서 승인하거나 거부하고, 채팅으로 후속 지시하세요 — 어디에 있든 모바일 대시보드에서 전부.",point1:"승인 또는 완료 시 푸시 알림",point2:"한 번의 탭으로 승인 또는 거부",point3:"채팅으로 후속 지시하고, 폰을 내려놓으세요",notificationLabel:"에이전트 승인을 위한 모바일 푸시 알림",resumeLabel:"모바일 대시보드에서 승인 후 후속 지시",deviceShotLabel:"Claude Code가 실행하려는 Bash 명령이 담긴 ADHDev 승인 푸시가 표시된 실제 iOS 잠금화면",deviceShotCaption:"실기기 — 실제 폰에 도착한 푸시 알림",point4:"포트포워딩·VPN·DMZ 설정 없음 — P2P와 TURN 릴레이로 카페든 핫스팟이든, 데스크톱이든 랩톱이든, 인터넷만 되면 어디서든 연결됩니다"},brain:{sectionTitle:"작업마다 맞는 모델을, 아직 여유가 있는 구독으로.",sectionSubtitle:"작업을 쉬움·보통·어려움으로 태그하면 메시가 그에 맞는 프리셋 — provider, model, thinking 예산 — 을 적용합니다. 머신마다 각 구독의 5시간·주간 한도가 얼마나 남았는지도 읽어서, 거의 다 쓴 플랜은 건너뛰고 다음 리셋 때 그냥 사라질 남은 사용량부터 먼저 씁니다.",point1:"난이도 기반 프리셋: 쉬움 / 보통 / 어려움",point2:"프리셋마다 provider, model, thinking 레벨 선택",point3:"한도가 거의 찬 플랜은 자동으로 피해 감"},scenario:{sectionTitle:"명령 하나. Mac 빌드, Windows 테스트, main 착지.",sectionSubtitle:"실제 세션을 세 단계로: 할 일을 한 번 설명하면, 에이전트들이 여러 머신에서 병렬로 작업하고, 완성된 코드가 main에 도착합니다 — 터미널 앞에 앉아 있지 않아도.",step1Label:"할 일을 설명",step1Desc:"무엇을 만들지 한 문장으로 지시합니다. 머신마다 설정할 것도, 구성 파일도 없습니다.",step2Label:"에이전트 병렬 실행",step2Desc:"작업이 Mac과 Windows 머신에 한꺼번에 나뉩니다 — 각자 자기 브랜치에서, 프로젝트의 테스트와 검사를 실행하며.",step3Label:"완성된 코드가 main에 착지",step3Desc:"검사를 통과하면 자동으로, 안전하게 main에 머지됩니다. 애매한 것은 검토하도록 남겨두고 — force-push는 절대 없습니다.",caveat:"Mac, Windows, Linux 머신 모두 매일 쓰고 있습니다."}},U={submit:"제출",submitting:"제출 중…",cancelAria:"질문 취소",actionRequired:"확인 필요",selectAllThatApply:"해당하는 항목을 모두 선택하세요",multipleChoice:"다중 선택",singleChoice:"단일 선택",other:"기타",answersRequired_one:"답변이 필요한 질문이 {{count}}개 있습니다",answersRequired_other:"답변이 필요한 질문이 {{count}}개 있습니다",errorReviewPageNotFocused:"터미널이 다른 화면을 표시 중이라 답변이 제출되지 않았습니다 — 화면을 확인하거나 닫고 다시 시도하세요",errorReviewUnconfirmed:"답변 키는 터미널에 전달됐지만 질문이 아직 화면에 남아 있습니다 — 답변이 제출되지 않았을 수 있습니다. 터미널을 확인하세요: 제출되지 않았다면 터미널에서 직접 답하세요. 여기서 재전송하면 두 번 제출될 수 있습니다"},E={diffPreview:{truncatedAfter:"을(를) 로컬에서 실행하세요.",truncatedBefore:"변경 내용이 잘렸습니다 — 전체를 보려면",empty:"표시할 변경 내용이 없습니다.",binary:"바이너리 파일 — 변경 내용을 표시할 수 없습니다.",loading:"변경 내용 불러오는 중…"},changeList:{stagedHint:"스테이징됨",noChanges:"변경된 파일이 없습니다.",binaryBadge:"bin",truncatedNote:"파일 목록이 잘렸습니다 — 전체 출력은 로컬에서 <code>git status</code>를 실행하세요."},statusDialog:{working:"처리 중…",includeUntracked:"추적 안 된 파일 포함",messageRequired:"메시지 (필수)",fileFallback:"파일",confirmRevert:"{{path}}의 변경 사항을 되돌릴까요?",confirmPop:"가장 최근 스태시를 복원할까요?",confirmStash:"변경 사항 스태시",confirmCheckpoint:"체크포인트 커밋 만들기",copySummary:"요약 복사",copied:"클립보드에 복사했습니다",checkoutSelected:"선택한 파일 되돌리기",selectFileToRevert:"되돌릴 파일을 선택하세요",revertFile:"{{path}}의 변경 사항 되돌리기",popStash:"스태시 복원",noStashes:"복원할 스태시가 없습니다",popHint:"가장 최근 스태시를 복원합니다",resolveBeforePop:"스태시를 복원하기 전에 충돌을 해결하세요",stash:"스태시",stashHint:"현재 변경 사항을 잠시 치워 둡니다 (git stash)",resolveBeforeStash:"스태시하기 전에 충돌을 해결하세요",checkpoint:"체크포인트",checkpointHint:"체크포인트로 git 커밋을 만듭니다",resolveBeforeCheckpoint:"체크포인트를 만들기 전에 충돌을 해결하세요",selectFile:"파일을 선택하면 변경 내용을 볼 수 있습니다",noDiffData:"변경 내용 데이터가 없습니다.",loading:"불러오는 중…",fileCount_other:"파일 {{count}}개",fileCount_one:"파일 {{count}}개",stashed:"스태시 {{count}}",deleted:"삭제 {{count}}",untracked:"추적 안 됨 {{count}}",modified:"수정 {{count}}",staged:"스테이징 {{count}}",behind:"{{count}}개 뒤처짐",ahead:"{{count}}개 앞섬",refresh:"새로 고침",openOnGithub:"GitHub에서 열기",title:"Git 상태",conflicts:"충돌 있음",clean:"변경 없음"}},W={machineProviders:"머신 → 프로바이더",perProviderIntro:"프로바이더별 알림 및 자동 승인:",mixed:"(일부 꺼짐)",agentAlert:{noProgressDesc:"에이전트가 한동안 진행이 없으면 알립니다.",noProgress:"진행 없음",approvalDesc:"에이전트가 승인을 기다리면 알립니다.",approval:"승인 필요"},agentAlertsDesc:"온라인 머신의 모든 프로바이더에 적용됩니다. 개별 프로바이더는 머신 → 프로바이더에서 조정하세요.",permissionUnsupportedChip:"지원 안 됨",permissionBlockedChip:"차단됨",permissionNeededChip:"권한 필요",permissionAllowedChip:"허용됨",title:"알림",subtitle:"브라우저, 푸시, 에이전트 알림",sectionBrowserAlerts:"브라우저 알림",masterToggleLabel:"알림",masterToggleDesc:"모든 알림의 마스터 토글",browserNotificationsLabel:"브라우저 알림",browserNotificationsDesc:"탭이 비활성 상태일 때 데스크톱 알림",browserBackgroundInfo:"브라우저 알림은 이 대시보드 탭이 백그라운드에서 열려 있는 동안에만 발생합니다.",browserBackgroundInfoWithPush:"브라우저 알림은 이 대시보드 탭이 백그라운드에서 열려 있는 동안에만 발생합니다. 탭을 닫으면 푸시 알림을 사용하세요.",permissionDefault:"이 브라우저는 아직 알림 권한을 허용하지 않았습니다. 브라우저 알림을 받으려면 허용하세요.",allowNotifications:"알림 허용",permissionDenied:"사이트 또는 브라우저 설정에서 알림이 차단되었습니다. 데스크톱 알림을 받으려면 해당 설정에서 다시 활성화하세요.",permissionUnsupported:"이 브라우저에서는 데스크톱 알림을 표시할 수 없습니다. 지원되는 데스크톱 브라우저를 사용하거나 가능한 경우 푸시 알림을 이용하세요.",completionAlertsLabel:"완료 알림",completionAlertsDesc:"에이전트가 작업을 완료하면 알림",approvalAlertsLabel:"승인 알림",approvalAlertsDesc:"에이전트가 승인을 요청하면 알림",connectionAlertsLabel:"연결 알림",connectionAlertsDesc:"머신 연결이 끊기면 알림",allDisabled:"모든 알림이 꺼져 있습니다.",sectionProviderAlerts:"에이전트 알림",loading:"불러오는 중...",refresh:"새로고침",noOnlineMachines:"온라인 머신이 없습니다.",loadingProviderSettings:"프로바이더 설정 불러오는 중...",soundEffectsLabel:"사운드 효과",soundEffectsDesc:"에이전트가 완료하거나 승인이 필요할 때 사운드 재생"},B={pageTitle:"승인",pageSubtitle:"결정을 기다리는 세션입니다.",pending:"대기 중",loading:"승인 목록을 불러오는 중…",emptyHint:"연결된 머신의 승인 요청이 여기에 자동으로 표시됩니다."},O={title:"가이드 메시 설정",close:"닫기",machines:{title:"머신 선택",description:"설정할 메시를 고르고 작업을 실행할 머신을 연결하세요. 메시를 새로 만들면 선택한 워크스페이스가 첫 번째 노드로 함께 연결됩니다.",noMachinesDescription:"아직 등록된 머신이 없습니다. 먼저 머신에 데몬을 설치하세요. 로그인하면 자동으로 페어링됩니다.",noMachinesFallback:"로컬 데몬을 시작한 후 여기로 돌아오세요.",nodeCount:"노드 {{count}}개",createNew:"새 메시 만들기",loadingMeshes:"메시를 불러오는 중…",meshName:"메시 이름",machine:"머신",machineSelectPlaceholder:"머신을 선택하세요",workspace:"워크스페이스(리포 경로)",workspacePlaceholder:"/path/to/repo",workspaceSelectPlaceholder:"워크스페이스를 선택하세요",workspaceCustom:"경로를 직접 입력…",pickFromKnown:"알려진 워크스페이스에서 선택",planChecking:"워크스페이스를 확인하는 중…",planOk:"워크스페이스가 정상입니다: {{identity}}",planExists:"이 워크스페이스는 이미 기존 메시에 속해 있습니다 — 새 메시를 만드는 대신 해당 메시에 노드로 추가하세요.",creating:"생성 중…",create:"메시 만들기",createFailed:"생성 실패",attachTitle:"다른 머신 연결",allMachinesAttached:"등록된 모든 머신이 이미 이 메시에 연결되어 있습니다.",attaching:"연결 중…",addMachine:"머신 추가"},quotaPolicy:{blankMeansDefaultShort:"비워 두면 기본값",title:"쿼터 기반 라우팅",description:"노드가 AI 제공자 쿼터 잔량을 보고하면, 코디네이터는 거의 소진된 노드를 건너뛰고 여유가 많은 노드를 선호할 수 있습니다. 아래 임계값이 그 기준입니다. 보고가 없거나 오래된 값은 항상 무시되므로, 낡은 데이터 때문에 노드가 제외되는 일은 없습니다.",sessionMin:"세션 하한",sessionMinHint:"짧은 롤링 윈도우 잔량이 이 값 미만인 제공자를 건너뜁니다.",weeklyMin:"주간 하한",weeklyMinHint:"주간 윈도우 잔량이 이 값 미만인 제공자를 건너뜁니다.",resetImminent:"리셋 유예",resetImminentHint:"이 시간 안에 세션 윈도우가 리셋되면 잔량 부족을 무시합니다.",staleAfter:"측정값 만료",staleAfterHint:"폴백 전용: 측정값은 해당 윈도우가 리셋될 때까지 유효하며, 이 나이 제한은 리셋 시각이 없는 측정값에만 적용됩니다.",spreadBonus:"여유량 선호도",spreadBonusHint:"잔량이 많은 쪽을 얼마나 선호할지. 작업 난이도 매칭을 뒤집지는 않습니다.",sessionAxisWeeklyHeadroom:"세션 긴급도용 주간 여유량",sessionAxisWeeklyHeadroomHint:"주간 잔량이 이 값 이상일 때만 5시간 세션 윈도우의 임박한 리셋을 우선합니다. 5시간 미사용분은 영구히 소멸하지만, 주간 윈도우가 이미 빠듯할 때 이를 태우는 것은 절약보다 손해가 큽니다.",minutes:"분",blankMeansDefault:"비워 두면 기본값(흐리게 표시된 값)이 적용됩니다.",useDefaults:"기본값 사용",saving:"저장 중…",errors:{notANumber:"숫자를 입력하세요.",percentRange:"0에서 100 사이여야 합니다.",negative:"음수는 사용할 수 없습니다."}},continueToMesh:"메시로 이동"},q={dashboard:"대시보드",machines:"머신",notifications:"알림",mesh:"메시",marketplace:"마켓플레이스",api:"API",webhooks:"웹훅",account:"계정",settings:"설정",docs:"문서",about:"정보",chats:"채팅"},G={controls:e,sessionStatus:t,language:o,common:i,connection:n,toast:a,notification:s,event:r,dashboard:l,cliStop:d,approval:c,chatControls:u,newSession:p,mobileInbox:h,mesh:m,chat:g,chatPane:b,chatInput:v,paneGroup:f,terminal:C,conversation:D,cliView:w,launch:y,standalone:T,cloud:S,app:P,chatList:A,screenshot:k,remote:L,sessionNav:I,sessionInfo:H,machine:M,sessionHost:R,sessionHostSurface:_,settings:F,historyModal:N,landing:x,interactivePrompt:U,git:E,notifications:W,approvals:B,setupWizard:O,nav:q};export{P as app,c as approval,B as approvals,g as chat,u as chatControls,v as chatInput,A as chatList,b as chatPane,d as cliStop,w as cliView,S as cloud,i as common,n as connection,e as controls,D as conversation,l as dashboard,G as default,r as event,E as git,N as historyModal,U as interactivePrompt,x as landing,o as language,y as launch,M as machine,m as mesh,h as mobileInbox,q as nav,p as newSession,s as notification,W as notifications,f as paneGroup,L as remote,k as screenshot,R as sessionHost,_ as sessionHostSurface,H as sessionInfo,I as sessionNav,t as sessionStatus,F as settings,O as setupWizard,T as standalone,C as terminal,a as toast};