import type { Translations } from "./types"; export const ko: Translations = { common: { save: "저장", saving: "저장 중...", cancel: "취소", close: "닫기", confirm: "확인", delete: "삭제", refresh: "새로고침", retry: "다시 시도", search: "검색...", loading: "로딩 중...", create: "생성", creating: "생성 중...", set: "설정", replace: "교체", clear: "지우기", live: "라이브", off: "꺼짐", enabled: "활성화됨", disabled: "비활성화됨", active: "활성", inactive: "비활성", unknown: "알 수 없음", untitled: "제목 없음", none: "없음", form: "양식", noResults: "결과 없음", of: "/", page: "페이지", msgs: "메시지", tools: "도구", match: "일치", other: "기타", configured: "구성됨", removed: "제거됨", failedToToggle: "전환에 실패했습니다", failedToRemove: "제거에 실패했습니다", failedToReveal: "표시에 실패했습니다", collapse: "접기", expand: "펼치기", general: "일반", messaging: "메시징", pluginLoadFailed: "이 플러그인의 스크립트를 로드할 수 없습니다. Network 탭(dashboard-plugins/…)과 서버의 플러그인 경로를 확인하세요.", pluginNotRegistered: "플러그인 스크립트가 register()를 호출하지 않았거나 스크립트에 오류가 발생했습니다. 자세한 내용은 브라우저 콘솔을 열어 확인하세요.", }, app: { brand: "Hermes Agent", brandShort: "HA", closeNavigation: "내비게이션 닫기", closeModelTools: "모델 및 도구 닫기", footer: { org: "Nous Research", }, activeSessionsLabel: "활성 세션:", gatewayStatusLabel: "게이트웨이 상태:", gatewayStrip: { failed: "시작 실패", off: "꺼짐", running: "실행 중", starting: "시작 중", stopped: "중지됨", }, nav: { analytics: "분석", chat: "채팅", config: "설정", cron: "Cron", documentation: "문서", keys: "키", logs: "로그", models: "모델", profiles: "프로필: 멀티 에이전트", plugins: "플러그인", sessions: "세션", skills: "스킬", }, modelToolsSheetSubtitle: "및 도구", modelToolsSheetTitle: "모델", navigation: "내비게이션", openDocumentation: "새 탭에서 문서 열기", openNavigation: "내비게이션 열기", pluginNavSection: "플러그인", sessionsActiveCount: "{count}개 활성", statusOverview: "상태 개요", system: "시스템", webUi: "Web UI", }, status: { actionFailed: "작업 실패", actionFinished: "완료됨", actions: "작업", agent: "에이전트", activeSessions: "활성 세션", connected: "연결됨", connectedPlatforms: "연결된 플랫폼", disconnected: "연결 끊김", error: "오류", failed: "실패", gateway: "게이트웨이", gatewayFailedToStart: "게이트웨이 시작 실패", lastUpdate: "마지막 업데이트", noneRunning: "없음", notRunning: "실행 중이 아님", pid: "PID", platformDisconnected: "연결 끊김", platformError: "오류", recentSessions: "최근 세션", restartGateway: "게이트웨이 재시작", restartingGateway: "게이트웨이 재시작 중…", running: "실행 중", runningRemote: "실행 중 (원격)", startFailed: "시작 실패", starting: "시작 중", startedInBackground: "백그라운드에서 시작됨 — 진행 상황은 로그를 확인하세요", stopped: "중지됨", updateHermes: "Hermes 업데이트", updatingHermes: "Hermes 업데이트 중…", waitingForOutput: "출력 대기 중…", }, sessions: { title: "세션", searchPlaceholder: "메시지 내용 검색...", noSessions: "아직 세션이 없습니다", noMatch: "검색과 일치하는 세션이 없습니다", startConversation: "대화를 시작하면 여기에 표시됩니다", noMessages: "메시지가 없습니다", untitledSession: "제목 없는 세션", deleteSession: "세션 삭제", confirmDeleteTitle: "세션을 삭제하시겠습니까?", confirmDeleteMessage: "이 작업은 대화와 모든 메시지를 영구적으로 제거합니다. 되돌릴 수 없습니다.", sessionDeleted: "세션이 삭제되었습니다", failedToDelete: "세션 삭제에 실패했습니다", resumeInChat: "채팅에서 다시 시작", previousPage: "이전 페이지", nextPage: "다음 페이지", roles: { user: "사용자", assistant: "어시스턴트", system: "시스템", tool: "도구", }, }, analytics: { period: "기간:", totalTokens: "총 토큰", totalSessions: "총 세션", apiCalls: "API 호출", dailyTokenUsage: "일일 토큰 사용량", dailyBreakdown: "일별 내역", perModelBreakdown: "모델별 내역", topSkills: "주요 스킬", skill: "스킬", loads: "에이전트 로드됨", edits: "에이전트 관리", lastUsed: "마지막 사용", input: "입력", output: "출력", total: "합계", noUsageData: "이 기간에 대한 사용 데이터가 없습니다", startSession: "세션을 시작하면 여기에 분석이 표시됩니다", date: "날짜", model: "모델", tokens: "토큰", perDayAvg: "/일 평균", acrossModels: "{count}개 모델 전반", inOut: "입력 {input} / 출력 {output}", }, models: { modelsUsed: "사용된 모델", estimatedCost: "예상 비용", tokens: "토큰", sessions: "세션", avgPerSession: "세션당 평균", apiCalls: "API 호출", toolCalls: "도구 호출", noModelsData: "이 기간에 대한 모델 사용 데이터가 없습니다", startSession: "세션을 시작하면 여기에 모델 데이터가 표시됩니다", }, logs: { title: "로그", autoRefresh: "자동 새로고침", file: "파일", level: "레벨", component: "구성 요소", lines: "줄 수", noLogLines: "로그 줄을 찾을 수 없습니다", }, cron: { confirmDeleteMessage: "이 작업은 일정에서 작업을 제거합니다. 되돌릴 수 없습니다.", confirmDeleteTitle: "예약된 작업을 삭제하시겠습니까?", newJob: "새 Cron 작업", nameOptional: "이름 (선택 사항)", namePlaceholder: "예: 일일 요약", prompt: "프롬프트", promptPlaceholder: "에이전트가 매 실행 시 무엇을 해야 합니까?", schedule: "스케줄 (cron 표현식)", schedulePlaceholder: "0 9 * * *", deliverTo: "전달 대상", scheduledJobs: "예약된 작업", noJobs: "구성된 cron 작업이 없습니다. 위에서 하나 만드세요.", last: "마지막", next: "다음", pause: "일시 정지", resume: "재개", triggerNow: "지금 실행", delivery: { local: "로컬", telegram: "Telegram", discord: "Discord", slack: "Slack", email: "Email", }, }, profiles: { newProfile: "새 프로필", name: "이름", namePlaceholder: "예: coder, writer 등.", nameRequired: "이름은 필수입니다", nameRule: "소문자, 숫자, _ 및 - 만 사용 가능합니다. 문자나 숫자로 시작해야 하며 최대 64자입니다.", invalidName: "잘못된 프로필 이름입니다", cloneFromDefault: "기본 프로필에서 설정 복제", allProfiles: "프로필", noProfiles: "프로필을 찾을 수 없습니다.", defaultBadge: "기본", hasEnv: "env", model: "모델", skills: "스킬", rename: "이름 변경", editSoul: "SOUL.md 편집", soulSection: "SOUL.md (개성 / 시스템 프롬프트)", soulPlaceholder: "# 이 에이전트가 어떻게 동작해야 하는지…", saveSoul: "SOUL 저장", soulSaved: "SOUL.md가 저장되었습니다", openInTerminal: "CLI 명령 복사", commandCopied: "클립보드에 복사되었습니다", copyFailed: "복사할 수 없습니다", confirmDeleteTitle: "프로필을 삭제하시겠습니까?", confirmDeleteMessage: "이 작업은 '{name}' 프로필 — 설정, 키, 메모리, 세션, 스킬, cron 작업 — 을 영구적으로 삭제합니다. 되돌릴 수 없습니다.", created: "생성됨", deleted: "삭제됨", renamed: "이름 변경됨", }, pluginsPage: { contextEngineLabel: "컨텍스트 엔진", dashboardSlots: "대시보드 슬롯", disableRuntime: "비활성화", enableAfterInstall: "설치 후 활성화", enableRuntime: "활성화", forceReinstall: "강제 재설치 (기존 폴더를 먼저 삭제)", headline: "Hermes 플러그인을 검색, 설치, 활성화 및 업데이트합니다 (`hermes plugins` 동등).", identifierLabel: "Git URL 또는 owner/repo", inactive: "비활성", installBtn: "Git에서 설치", installHeading: "GitHub / Git URL에서 설치", installHint: "owner/repo 약어 또는 전체 https:// 또는 git@ 클론 URL을 사용하세요.", memoryProviderLabel: "메모리 제공자", missingEnvWarn: "플러그인을 실행하기 전에 Keys에서 다음 항목을 설정하세요:", noDashboardTab: "대시보드 탭 없음", openTab: "열기", orphanHeading: "대시보드 전용 확장 (일치하는 agent plugin.yaml 없음)", pluginListHeading: "설치된 플러그인", providerDefaults: "내장 / 기본", providersHeading: "런타임 제공자 플러그인", providersHint: "memory.provider (비어 있으면 = 내장)와 context.engine을 config.yaml에 기록합니다. 다음 세션부터 적용됩니다.", refreshDashboard: "대시보드 확장 재스캔", removeConfirm: "~/.hermes/plugins/에서 이 플러그인을 제거하시겠습니까?", removeHint: "~/.hermes/plugins 아래에 사용자가 설치한 플러그인만 제거할 수 있습니다.", rescanHeading: "SPA 플러그인 레지스트리", rescanHint: "디스크에 파일을 추가한 후 재스캔하여 대시보드 사이드바가 새 매니페스트를 인식하도록 합니다.", runtimeHeading: "게이트웨이 런타임 (YAML 플러그인)", saveProviders: "제공자 설정 저장", savedProviders: "제공자 설정이 저장되었습니다.", sourceBadge: "소스", authRequired: "인증 필요", authRequiredHint: "이 명령을 실행하여 인증하세요:", updateGit: "Git pull", versionBadge: "버전", showInSidebar: "사이드바에 표시", hideFromSidebar: "사이드바에서 숨기기", }, skills: { title: "스킬", searchPlaceholder: "스킬 및 도구 세트 검색...", enabledOf: "{enabled}/{total} 활성화됨", all: "전체", categories: "카테고리", filters: "필터", noSkills: "스킬을 찾을 수 없습니다. 스킬은 ~/.hermes/skills/ 에서 로드됩니다", noSkillsMatch: "검색이나 필터와 일치하는 스킬이 없습니다.", skillCount: "{count}개 스킬", resultCount: "{count}개 결과", noDescription: "사용 가능한 설명이 없습니다.", toolsets: "도구 세트", toolsetLabel: "{name} 도구 세트", noToolsetsMatch: "검색과 일치하는 도구 세트가 없습니다.", setupNeeded: "설정 필요", disabledForCli: "CLI에서 비활성화됨", more: "+{count}개 더", }, config: { configPath: "~/.hermes/config.yaml", filters: "필터", sections: "섹션", exportConfig: "설정을 JSON으로 내보내기", importConfig: "JSON에서 설정 가져오기", resetDefaults: "기본값으로 재설정", resetScopeTooltip: "{scope}을(를) 기본값으로 재설정", confirmResetScope: "모든 {scope} 설정을 기본값으로 재설정하시겠습니까? 이 작업은 양식만 업데이트하며, 저장을 누르기 전까지는 변경 사항이 config.yaml에 기록되지 않습니다.", resetScopeToast: "{scope}이(가) 기본값으로 재설정되었습니다 — 검토 후 저장하여 적용하세요", rawYaml: "원본 YAML 설정", searchResults: "검색 결과", fields: "개 필드", noFieldsMatch: '\"{query}\"와(과) 일치하는 필드가 없습니다', configSaved: "설정이 저장되었습니다", yamlConfigSaved: "YAML 설정이 저장되었습니다", failedToSave: "저장에 실패했습니다", failedToSaveYaml: "YAML 저장에 실패했습니다", failedToLoadRaw: "원본 설정 로드에 실패했습니다", configImported: "설정을 가져왔습니다 — 검토 후 저장하세요", invalidJson: "잘못된 JSON 파일입니다", categories: { general: "일반", agent: "에이전트", terminal: "터미널", display: "디스플레이", delegation: "위임", memory: "메모리", compression: "압축", security: "보안", browser: "브라우저", voice: "음성", tts: "텍스트 음성 변환", stt: "음성 텍스트 변환", logging: "로깅", discord: "Discord", auxiliary: "보조", }, }, env: { changesNote: "변경 사항은 즉시 디스크에 저장됩니다. 활성 세션은 자동으로 새 키를 가져옵니다.", confirmClearMessage: "이 변수에 대해 저장된 값이 .env 파일에서 제거됩니다. UI에서는 이 작업을 되돌릴 수 없습니다.", confirmClearTitle: "이 키를 지우시겠습니까?", description: "다음 위치에 저장된 API 키와 비밀을 관리합니다", hideAdvanced: "고급 숨기기", showAdvanced: "고급 표시", llmProviders: "LLM 제공자", providersConfigured: "{configured}/{total} 제공자가 구성됨", getKey: "키 받기", notConfigured: "{count}개 구성되지 않음", notSet: "설정되지 않음", keysCount: "{count}개 키", enterValue: "값 입력...", replaceCurrentValue: "현재 값 교체 ({preview})", showValue: "실제 값 표시", hideValue: "값 숨기기", }, oauth: { title: "제공자 로그인 (OAuth)", providerLogins: "제공자 로그인 (OAuth)", description: "{connected}/{total} OAuth 제공자가 연결되었습니다. 로그인 흐름은 현재 CLI를 통해 실행됩니다. 명령 복사를 클릭하고 터미널에 붙여넣어 설정하세요.", connected: "연결됨", expired: "만료됨", notConnected: "연결되지 않음. 터미널에서 {command}을(를) 실행하세요.", runInTerminal: "터미널에서.", noProviders: "OAuth를 지원하는 제공자가 감지되지 않았습니다.", login: "로그인", disconnect: "연결 해제", managedExternally: "외부에서 관리됨", copied: "복사됨 ✓", cli: "CLI", copyCliCommand: "CLI 명령 복사 (외부 / 대체용)", connect: "연결", sessionExpires: "세션이 {time} 후 만료됩니다", initiatingLogin: "로그인 흐름 시작 중…", exchangingCode: "코드를 토큰으로 교환 중…", connectedClosing: "연결되었습니다! 닫는 중…", loginFailed: "로그인 실패.", sessionExpired: "세션이 만료되었습니다. 다시 시도를 클릭하여 새 로그인을 시작하세요.", reOpenAuth: "인증 페이지 다시 열기", reOpenVerification: "확인 페이지 다시 열기", submitCode: "코드 제출", pasteCode: "인증 코드 붙여넣기 (#state 접미사 포함도 가능)", waitingAuth: "브라우저에서 인증을 기다리는 중…", enterCodePrompt: "새 탭이 열렸습니다. 메시지가 표시되면 이 코드를 입력하세요:", pkceStep1: "claude.ai로 새 탭이 열렸습니다. 로그인하고 Authorize를 클릭하세요.", pkceStep2: "인증 후 표시된 인증 코드를 복사하세요.", pkceStep3: "아래에 붙여넣고 제출하세요.", flowLabels: { pkce: "브라우저 로그인 (PKCE)", device_code: "디바이스 코드", external: "외부 CLI", }, expiresIn: "{time} 후 만료", }, language: { switchTo: "영어로 전환", }, theme: { title: "테마", switchTheme: "테마 전환", }, achievements: { hero: { kicker: "Agentic Gamerscore", title: "Hermes Achievements", subtitle: "실제 세션 기록에서 획득하는 Hermes 컬렉터블 배지입니다. 알려져 있지만 아직 달성되지 않은 업적은 Discovered로 표시되며, Secret 업적은 일치하는 동작이 처음 나타날 때까지 숨겨집니다.", scan_subtitle: "Hermes 세션 기록을 스캔하고 있습니다. 기록이 많으면 첫 스캔에 5~10초가 걸릴 수 있습니다.", }, actions: { rescan: "다시 스캔", }, stats: { unlocked: "해제됨", unlocked_hint: "획득한 배지", discovered: "발견됨", discovered_hint: "알려져 있으나 아직 획득하지 못함", secrets: "시크릿", secrets_hint: "첫 신호가 있을 때까지 숨겨짐", highest_tier: "최고 등급", highest_tier_hint: "Copper → Silver → Gold → Diamond → Olympian", latest: "최근", latest_hint_empty: "Hermes를 더 사용해 보세요", none_yet: "아직 없음", }, state: { unlocked: "해제됨", discovered: "발견됨", secret: "시크릿", }, tier: { target: "목표 {tier}", hidden: "숨김", complete: "완료", objective: "목표", }, progress: { hidden: "숨김", }, scan: { building_headline: "업적 프로필을 구성하고 있습니다…", building_detail: "세션, 도구 호출, 모델 메타데이터, 해제 상태를 읽고 있습니다.", starting_headline: "업적 스캔을 시작합니다…", progress_detail: "{total}개 중 {scanned}개의 세션을 스캔했습니다 · {pct}%. 더 많은 기록이 들어오면 배지가 해제됩니다.", idle_detail: "세션, 도구 호출, 모델 메타데이터, 해제 상태를 읽고 있습니다. 배지가 해제되면 여기에 표시됩니다.", }, guide: { tiers_header: "등급", secret_header: "시크릿 업적", secret_body: "시크릿은 정확한 트리거 조건을 숨깁니다. Hermes가 관련 신호를 감지하면 카드가 Discovered로 바뀌고 요건이 표시됩니다.", scan_status_header: "스캔 상태", scan_status_body: "Hermes는 로컬 기록을 한 번 스캔한 뒤 카드를 자동으로 표시합니다. 몇 초 걸리더라도 멈춘 것이 아닙니다.", what_scanned_header: "스캔 대상", what_scanned_body: "세션, 도구 호출, 모델 메타데이터, 오류, 업적 및 로컬 해제 상태입니다.", }, card: { share_title: "이 업적 공유", share_label: "{name} 공유", share_text: "공유", how_to_reveal: "공개하는 방법", what_counts: "인정되는 조건", evidence_label: "근거", evidence_session_fallback: "세션", no_evidence: "아직 근거가 없습니다", }, latest: { header: "최근 해제", }, empty: { no_secrets_header: "이번 스캔에 남은 숨겨진 시크릿이 없습니다.", no_secrets_body: "힌트: 시크릿은 보통 비정상적인 실패나 파워 유저 패턴에서 시작됩니다 — 포트 충돌, 권한 차단, 누락된 환경 변수, YAML 실수, Docker 충돌, 롤백/체크포인트 사용, 캐시 적중, 또는 많은 오류 메시지 뒤의 작은 수정 등입니다.", }, filters: { all_categories: "전체", visibility_all: "전체", visibility_unlocked: "해제됨", visibility_discovered: "발견됨", visibility_secret: "시크릿", }, share: { dialog_label: "업적 공유", header: "공유: {name}", close: "닫기", rendering: "렌더링 중…", card_alt: "{name} 공유 카드", error_generic: "문제가 발생했습니다.", x_title: "미리 작성된 게시물로 X를 엽니다", x_button: "X에 공유", copy_title: "게시물에 붙여넣을 수 있도록 이미지를 복사합니다", copy_button: "이미지 복사", copied: "복사됨 ✓", download_button: "PNG 다운로드", hint: "X에 공유를 누르면 새 탭에서 미리 작성된 게시물이 열립니다. 1200×630 배지를 첨부하려면 먼저 이미지 복사를 누르세요 — X 작성기에서 바로 붙여넣을 수 있습니다. PNG 다운로드는 파일을 저장하여 어디서나 사용할 수 있게 합니다.", clipboard_unsupported: "이 브라우저에서는 클립보드 이미지 복사를 지원하지 않습니다 — 대신 다운로드를 이용하세요.", tweet_text: "Just unlocked {tier_part}\"{name}\" in Hermes Agent ☤", }, }, kanban: { loading: "Kanban 보드를 불러오는 중입니다…", loadFailed: "Kanban 보드를 불러오지 못했습니다: ", loadFailedHint: "백엔드는 처음 읽을 때 kanban.db를 자동으로 생성합니다. 문제가 계속되면 대시보드 로그를 확인하십시오.", board: "보드", newBoard: "+ 새 보드", newBoardTitle: "새 보드", newBoardDescription: "보드를 사용하면 관련 없는 작업 흐름을 분리할 수 있습니다 — 프로젝트, 저장소, 도메인마다 하나씩. 한 보드의 워커는 다른 보드의 작업을 절대 보지 않습니다.", slug: "슬러그", slugHint: "— 소문자, 하이픈, 예: atm10-server", displayName: "표시 이름", displayNameHint: "(선택)", description: "설명", descriptionHint: "(선택)", icon: "아이콘", iconHint: "(한 글자 또는 이모지)", switchAfterCreate: "생성 후 이 보드로 전환", cancel: "취소", creating: "생성 중…", createBoard: "보드 생성", search: "검색", filterCards: "카드 필터링…", tenant: "테넌트", allTenants: "모든 테넌트", assignee: "담당자", allProfiles: "모든 프로필", showArchived: "보관된 항목 표시", lanesByProfile: "프로필별 레인", nudgeDispatcher: "디스패처 깨우기", refresh: "새로 고침", selected: "선택됨", complete: "완료", archive: "보관", apply: "적용", clear: "지우기", createTask: "이 열에 작업 만들기", noTasks: "— 작업 없음 —", unassigned: "미지정", untitled: "(제목 없음)", loadingDetail: "불러오는 중…", addComment: "댓글 추가… (Enter로 전송)", comment: "댓글", status: "상태", workspace: "작업 공간", skills: "스킬", createdBy: "작성자", result: "결과", comments: "댓글", events: "이벤트", runHistory: "실행 기록", workerLog: "워커 로그", loadingLog: "로그를 불러오는 중…", noWorkerLog: "— 아직 워커 로그가 없습니다 (작업이 시작되지 않았거나 로그가 순환되었습니다) —", noDescription: "— 설명 없음 —", noComments: "— 댓글 없음 —", edit: "편집", save: "저장", dependencies: "종속성", parents: "상위 작업:", children: "하위 작업:", none: "없음", addParent: "— 상위 작업 추가 —", addChild: "— 하위 작업 추가 —", removeDependency: "종속성 제거", block: "차단", unblock: "차단 해제", notifyHomeChannels: "홈 채널에 알림", diagnostics: "진단", hide: "숨기기", show: "표시", attention: "주의", tasksNeedAttention: "개의 작업이 주의를 필요로 합니다", taskNeedsAttention: "작업 1개가 주의를 필요로 합니다", diagnostic: "진단", open: "열기", close: "닫기 (Esc)", reassignTo: "다음으로 재지정:", copied: "복사됨", copyCommand: "명령을 클립보드로 복사", reclaim: "회수", reassign: "재지정", renderingError: "Kanban 탭에서 렌더링 오류가 발생했습니다", reloadView: "뷰 다시 불러오기", wsAuthFailed: "WebSocket 인증 실패 — 페이지를 다시 불러와 세션 토큰을 갱신하십시오.", markDone: "{n}개의 작업을 완료로 표시하시겠습니까?", markArchived: "{n}개의 작업을 보관하시겠습니까?", warning: "경고", phantomIds: "팬텀 ID:", active: "활성", ended: "종료됨", noProfile: "(프로필 없음)", showAllAttempts: "모든 시도 표시", sendingUpdates: "업데이트 전송 대상: ", sendNotifications: "완료 / 차단됨 / 포기 알림 전송 대상", archiveBoardConfirm: "보드 '{name}'을(를) 보관하시겠습니까? 보드는 boards/_archived/로 이동되어 나중에 복구할 수 있습니다. 이 보드의 작업은 더 이상 UI 어디에도 나타나지 않습니다.", archiveBoardTitle: "이 보드 보관", boardSwitcherHint: "보드를 사용하면 관련 없는 작업 흐름을 분리할 수 있습니다", taskCreatedWarning: "작업이 생성되었지만: ", moveFailed: "이동 실패: ", bulkFailed: "일괄 처리: ", completionBlockedHallucination: "⚠ 완료가 차단됨 — 팬텀 카드 ID", suspectedHallucinatedReferences: "⚠ 본문이 팬텀 카드 ID를 참조함", pickProfileFirst: "먼저 프로필을 선택하십시오.", unblockedMessage: "{id}의 차단을 해제했습니다. 작업이 다음 틱을 위해 준비되었습니다.", unblockFailed: "차단 해제 실패: ", reclaimedMessage: "{id}을(를) 회수했습니다. 작업이 ready 상태로 돌아갔습니다.", reclaimFailed: "회수 실패: ", reassignedMessage: "{id}을(를) {profile}(으)로 재지정했습니다.", reassignFailed: "재지정 실패: ", selectForBulk: "일괄 작업을 위해 선택", clickToEdit: "클릭하여 편집", clickToEditAssignee: "클릭하여 담당자 편집", emptyAssignee: "(비우면 = 지정 해제)", columnLabels: { triage: "분류", todo: "할 일", ready: "준비됨", running: "진행 중", blocked: "차단됨", done: "완료", archived: "보관됨", }, columnHelp: { triage: "원시 아이디어 — 스페시파이어가 사양을 구체화합니다", todo: "종속성 대기 중 또는 미지정", ready: "지정되었으며 디스패처 틱 대기 중", running: "워커가 점유 중 — 실행 중", blocked: "워커가 사람의 입력을 요청함", done: "완료됨", archived: "보관됨", }, confirmDone: "이 작업을 완료로 표시하시겠습니까? 워커의 점유가 해제되고 종속된 하위 작업이 ready 상태가 됩니다.", confirmArchive: "이 작업을 보관하시겠습니까? 기본 보드 보기에서 사라집니다.", confirmBlocked: "이 작업을 차단됨으로 표시하시겠습니까? 워커의 점유가 해제됩니다.", completionSummary: "{label}의 완료 요약입니다. 이는 작업 결과로 저장됩니다.", completionSummaryRequired: "작업을 완료로 표시하기 전에 완료 요약이 필요합니다.", triagePlaceholder: "대략적인 아이디어 — AI가 사양을 작성합니다…", taskTitlePlaceholder: "새 작업 제목…", specifier: "스페시파이어", assigneePlaceholder: "담당자", priority: "우선순위", skillsPlaceholder: "스킬 (선택, 쉼표로 구분): translation, github-code-review", noParent: "— 상위 작업 없음 —", workspacePathDir: "작업 공간 경로 (필수, 예: ~/projects/my-app)", workspacePathOptional: "작업 공간 경로 (선택, 비어 있으면 담당자에서 파생됨)", logTruncated: "(마지막 100 KB 표시 중 — 전체 로그 위치: ", logAt: ")", }, };