{
  "chat": {
    "title": "AI 어시스턴트",
    "tabAssistant": "채팅",
    "tabGenerate": "3D 모델 생성",
    "sessionsTooltip": "채팅 세션",
    "sessionsLocked": "채팅 세션 (응답 중 잠김)",
    "placeholder": "만들고 싶거나 수정하고 싶은 것을 설명하세요...",
    "send": "전송",
    "stop": "중지",
    "newChat": "+ 새 채팅",
    "discordLink": "도움이 필요하신가요? Discord에 참여하세요",
    "thinking": "ParallaxPro AI가 생각 중...",
    "sessionIdCopied": "복사됨!",
    "sessionIdTooltip": "클릭하여 세션 ID 복사",
    "changesApplied": "변경 사항이 적용됨",
    "revertBefore": "이전 상태로 되돌리기",
    "revertHere": "여기로 되돌리기",
    "templateBanner": "템플릿이 로드되었습니다. 이전 프로젝트 파일이 교체되었습니다.",
    "templateRestore": "이전 프로젝트 복원",
    "createScratch": "이 템플릿 대신 처음부터 만들기 (20-30분)",
    "createScratchRecommended": "보통 템플릿보다 결과가 더 좋습니다",
    "fixerHint": "최대 10분이 걸릴 수 있습니다. 페이지를 열어 두되 닫지 마세요.",
    "continue": "계속",
    "rawFilesTitle": "세션 대화 원본",
    "rawFilesEmpty": "이 세션에는 아직 파일이 없습니다.",
    "buildingPlan": "빌드 계획",
    "todoPaused": "일시 정지",
    "tabSoundEffects": "사운드 이펙트"
  },
  "feedback": {
    "titleCreate": "빌더를 사용해 주셔서 감사합니다!",
    "titleFix": "AI 어시스턴트를 사용해 주셔서 감사합니다!",
    "thankYou": "당신의 피드백은 매우 소중하며 모든 사용자를 위한 제품 개선에 직접적으로 도움이 됩니다. 경험을 공유해 주셔서 정말 감사합니다!",
    "promptLabelCreate": "빌더에 요청한 내용:",
    "promptLabelFix": "에이전트에 요청한 내용:",
    "rateLabel": "잘 작동했나요?",
    "worked": "잘 작동했어요",
    "notWorked": "작동하지 않았어요",
    "notesLabel": "문제가 있거나 개선할 점이 있나요?",
    "notesPlaceholder": "무엇이 잘 되었나요? 무엇이 이상한가요? 무엇을 바꾸고 싶나요?",
    "restoreNote": "이 빌드를 유지하고 싶지 않으신가요? 빌드 전 상태로 프로젝트를 복원할 수 있습니다.",
    "restoreButton": "이 빌드 전 상태로 프로젝트 복원",
    "restoring": "복원 중…",
    "dismiss": "닫기",
    "dismissTooltip": "이 피드백 양식을 닫습니다. 이 변경 사항에 대해 다시 표시되지 않습니다.",
    "submit": "피드백 제출",
    "submitting": "제출 중…",
    "noPrompt": "(기록된 프롬프트 없음)"
  },
  "signup": {
    "createGame": "이 템플릿 대신 처음부터 게임을 만들려면 먼저 회원가입이 필요합니다.",
    "fixGame": "게임 수정을 실행하려면 먼저 회원가입이 필요합니다.",
    "budget": "무료 익명 예산을 모두 사용했습니다. 계속하려면 회원가입하세요.",
    "default": "먼저 회원가입이 필요합니다.",
    "button": "무료 회원가입"
  },
  "toolbar": {
    "backToProjects": "프로젝트로 돌아가기",
    "untitled": "제목 없는 프로젝트",
    "renameTooltip": "클릭하여 이름 변경",
    "save": "저장 (Ctrl+S)",
    "undo": "실행 취소 (Ctrl+Z)",
    "redo": "다시 실행 (Ctrl+Y / Ctrl+Shift+Z)",
    "translate": "이동 (1)",
    "rotate": "회전 (2)",
    "scale": "크기 조절 (3)",
    "cameraMode": "오빗 / 플라이 전환 (4)",
    "gizmoSpace": "글로벌 / 로컬 전환 (5)",
    "play": "재생",
    "stop": "중지",
    "loading": "로딩 중...",
    "publish": "게시",
    "feedback": "피드백",
    "settings": "설정",
    "multiplayer": "멀티플레이어",
    "multiplayerTooltip": "멀티플레이어 룸 링크",
    "shareLink": "이 링크를 공유하여 플레이어를 초대하세요:",
    "copyLink": "링크 복사",
    "copied": "복사됨!",
    "previewClient": "+ 클라이언트",
    "previewClientTooltip": "멀티플레이어를 로컬에서 테스트하기 위해 다른 창 열기",
    "teamChat": "팀 채팅",
    "teamChatPlaceholder": "메시지를 입력하세요...",
    "unsavedConfirm": "저장되지 않은 변경 사항이 있습니다. 저장하지 않고 나가시겠습니까?",
    "moveLabel": "이동",
    "rotateLabel": "회전",
    "scaleLabel": "크기 조절",
    "orbitLabel": "오빗",
    "flyLabel": "플라이",
    "globalLabel": "글로벌",
    "localLabel": "로컬",
    "flyMode": "플라이 모드 (4)",
    "orbitMode": "오빗 모드 (4)",
    "localSpace": "로컬 공간 (5)",
    "globalSpace": "글로벌 공간 (5)",
    "playCtrlP": "재생 (Ctrl+P)",
    "loadingAssets": "에셋 로딩 중",
    "projectSaved": "프로젝트 저장됨",
    "projectRenamed": "프로젝트 이름 변경됨",
    "renameFailed": "이름 변경 실패",
    "renameProject": "프로젝트 이름 변경",
    "projectNamePlaceholder": "프로젝트 이름",
    "playerConnected": "{count}명의 플레이어가 접속 중",
    "playersConnected": "{count}명의 플레이어가 접속 중",
    "joined": "입장함",
    "left": "퇴장함",
    "you": "나",
    "startedMultiplayer": "멀티플레이어 세션을 시작했습니다"
  },
  "settings": {
    "chatAgent": "채팅 에이전트",
    "editingAgent": "편집 에이전트",
    "graphicsQuality": "그래픽 품질",
    "cloudSync": "클라우드 동기화",
    "cloudSignIn": "로그인",
    "cloudSigningIn": "로그인 중…",
    "cloudSynced": "이 프로젝트는 저장할 때마다 parallaxpro.ai에 동기화됩니다.",
    "cloudHint": "이 프로젝트를 parallaxpro.ai에 동기화하여 어디서든 이어서 작업할 수 있습니다.",
    "cloudPromote": "클라우드로 승격",
    "cloudPromoting": "동기화 중…",
    "cloudSignedOutHint": "parallaxpro.ai에 로그인하여 이 프로젝트의 클라우드 동기화를 활성화하세요.",
    "cloudSignedOutCloudHint": "클라우드 프로젝트이지만 로그아웃 상태입니다. 저장이 parallaxpro.ai에 전송되지 않습니다. 로그인하여 동기화를 재개하세요.",
    "cloudSyncedCheck": "✓ 이 프로젝트는 저장할 때마다 parallaxpro.ai에 동기화됩니다.",
    "cloudProjectSynced": "프로젝트가 parallaxpro.ai에 동기화되었습니다.",
    "signedInToast": "parallaxpro.ai에 로그인했습니다.",
    "cancel": "취소",
    "save": "저장",
    "chatAgentHint": "추천: LLM API — 더 빠르고 (CLI가 매 턴 재시작되므로 1초 미만 vs 10-20초), 저렴하며, 깔끔한 출력. CLI 에이전트는 API 키가 없을 때 편의를 위한 것이지만, 채팅 모드가 아닌 에이전트 모드로 실행되어 도구 호출이 채팅 응답 대신 출력될 수 있습니다.",
    "editingAgentHint": "AI가 프로젝트 파일을 편집할 때 실행되는 에이전트.",
    "qualityLow": "낮음",
    "qualityMedium": "보통",
    "qualityHigh": "높음",
    "qualityLowHint": "기본 렌더링, 그림자 없음",
    "qualityMediumHint": "그림자, FXAA 안티앨리어싱, HBAO",
    "qualityHighHint": "그림자, MSAA 안티앨리어싱, HBAO, 스크린 스페이스 반사, 블룸"
  },
  "editor": {
    "systemUpdated": "시스템이 업데이트되었습니다 — 새로고침해 주세요",
    "connectionLost": "연결이 끊겼습니다 — 재연결될 때까지 편집이 비활성화됩니다",
    "reconnecting": "연결이 끊겼습니다. 재연결 중...",
    "reconnected": "재연결됨",
    "reconnectFailed": "재연결할 수 없습니다. 연결을 확인하고 페이지를 새로고침해 주세요.",
    "disconnectOverlay": "재연결 중 편집이 비활성화됩니다...",
    "disconnectRefresh": "연결이 끊겼습니다. 페이지를 새로고침하여 편집을 계속하세요."
  },
  "projectList": {
    "newProject": "+ 새 프로젝트",
    "exit": "나가기",
    "backToLanding": "랜딩 페이지로 돌아가기",
    "searchPlaceholder": "프로젝트 검색...",
    "tabAll": "전체",
    "tabLocal": "로컬 프로젝트",
    "tabCloud": "클라우드 프로젝트",
    "emptyDefault": "아직 프로젝트가 없습니다. 첫 번째 게임을 만들어 보세요!",
    "emptySearch": "검색과 일치하는 프로젝트가 없습니다.",
    "emptyCloud": "아직 클라우드 프로젝트가 없습니다. 게시하거나 승격하면 여기에 표시됩니다.",
    "cloudSignIn": "parallaxpro.ai에 로그인하여 클라우드 프로젝트에 접근하세요.",
    "cloudSignInButton": "로그인",
    "selectAll": "전체 선택",
    "deleteSelected": "선택 삭제",
    "prev": "‹ 이전",
    "next": "다음 ›",
    "draft": "초안",
    "published": "게시됨",
    "deprecated": "폐기됨",
    "buildFailed": "빌드 실패",
    "justBuilt": "✓ 빌드 완료",
    "stopBuild": "중지",
    "stopTooltip": "이 빌드를 중지 (실행이 종료되고 프로젝트가 잠금 해제됨)",
    "anonBanner": "익명으로 탐색 중입니다. 프로젝트는 이 브라우저에만 저장됩니다. 무료로 가입하여 여러 기기에서 저장하고 더 많은 기능을 사용하세요.",
    "anonSignup": "회원가입",
    "anonLogin": "로그인",
    "restartNotice": "문제 개선을 위해 서버를 언제든 재시작할 수 있습니다. 불편을 드려 죄송합니다! 프로젝트는 항상 저장되지만, 장시간 실행 중인 AI 빌드가 중단될 수 있으며 재시도가 필요합니다.",
    "newProjectModal": "새 프로젝트",
    "generateFromPrompt": "프롬프트에서 생성",
    "generateHint": "게임 아이디어를 설명하면 AI가 만들어 줍니다.",
    "generatePlaceholder": "예: 더블 점프와 코인 수집이 있는 3D 플랫포머...",
    "buildFromTemplate": "템플릿에서 만들기",
    "templateHint": "커스터마이즈 가능한 게임 템플릿으로 시작하세요.",
    "templateSearch": "템플릿 검색...",
    "login": "로그인",
    "loginTooltip": "parallaxpro.ai에 로그인하여 프로젝트를 게시할 수 있도록 설정",
    "logout": "로그아웃",
    "generate": "생성",
    "or": "또는",
    "noTemplatesMatch": "검색과 일치하는 템플릿이 없습니다",
    "loadingTemplates": "로딩 중...",
    "statusAll": "전체",
    "statusPublished": "게시됨",
    "statusDraft": "초안",
    "untitled": "제목 없음",
    "moreActions": "추가 작업",
    "open": "열기",
    "rename": "이름 변경",
    "duplicate": "복제",
    "changeThumbnail": "썸네일 변경",
    "setThumbnail": "썸네일 설정",
    "removeThumbnail": "썸네일 제거",
    "viewPublishedGame": "게시된 게임 보기",
    "updatePublish": "새 버전 게시",
    "unpublish": "게시 취소",
    "delete": "삭제",
    "clickToOpen": "카드를 클릭하여 열기",
    "renameProject": "프로젝트 이름 변경",
    "newNamePlaceholder": "새 이름",
    "deleteProject": "프로젝트 삭제",
    "deleteCloudProject": "클라우드 프로젝트 삭제",
    "deleteLocalCopy": "로컬 복사본 삭제",
    "stopBuildConfirmTitle": "이 빌드를 중지하시겠습니까?",
    "stopBuildConfirmMsg": "실행이 중지되고 이번 시도의 모든 진행 상황이 삭제됩니다. 프로젝트가 잠금 해제되어 다른 프롬프트로 다시 시작할 수 있습니다.",
    "unpublishGame": "게임 게시 취소",
    "cloudCopyDeleted": "클라우드 복사본이 삭제됨",
    "keepAsLocalOnly": "로컬 전용으로 유지",
    "deleteLocalToo": "로컬도 삭제"
  },
  "share": {
    "title": "프로젝트 공유",
    "addPeople": "사람 추가",
    "emailPlaceholder": "이메일 또는 사용자 이름",
    "editor": "편집자",
    "viewer": "뷰어",
    "share": "공유",
    "peopleWithAccess": "접근 권한이 있는 사람",
    "owner": "소유자",
    "removeAccess": "접근 권한 제거",
    "notSharedYet": "아직 아무에게도 공유되지 않았습니다.",
    "couldNotLoad": "공유 정보를 불러올 수 없습니다.",
    "enterEmailOrUsername": "이메일 또는 사용자 이름을 입력하세요.",
    "invitationSent": "{email}에 초대 이메일이 발송되었습니다",
    "sharedWith": "{email}와 공유됨",
    "done": "완료"
  },
  "feedbackModal": {
    "title": "피드백 보내기",
    "whatFeedback": "어떤 피드백이 있으신가요?",
    "placeholder": "문제, 제안 또는 피드백을 설명해 주세요...",
    "screenshotsLabel": "스크린샷 (선택, 최대 5장, 각 5MB)",
    "addImage": "+ 이미지 추가",
    "exceedsLimit": "{name}이(가) 5MB 제한을 초과합니다.",
    "enterFeedback": "피드백을 입력해 주세요.",
    "sendFailed": "피드백 전송에 실패했습니다.",
    "sent": "피드백이 전송되었습니다! 감사합니다.",
    "cancel": "취소",
    "send": "전송"
  },
  "assets": {
    "title": "에셋 & 유한 상태 기계 & 성능",
    "projectFiles": "프로젝트 파일",
    "assetLibrary": "에셋 라이브러리",
    "fsm": "FSM",
    "performance": "성능",
    "scenes": "씬",
    "untitledScene": "제목 없는 씬",
    "usedAssets": "사용 중인 에셋",
    "searchAssets": "에셋 검색...",
    "allTypes": "모든 유형",
    "assetLibraryBreadcrumb": "에셋 라이브러리",
    "noItemsFound": "항목을 찾을 수 없습니다",
    "noAssetsFound": "에셋을 찾을 수 없습니다",
    "prevPage": "‹ 이전",
    "nextPage": "다음 ›"
  },
  "hierarchy": {
    "title": "하이어라키",
    "addEntity": "엔티티 추가",
    "searchEntities": "엔티티 검색...",
    "noSceneLoaded": "로드된 씬 없음",
    "newScene": "새 씬",
    "emptyEntity": "빈 엔티티",
    "rename": "이름 변경",
    "deleteScene": "씬 삭제",
    "createChild": "자식 생성",
    "deleteLocked": "삭제 (잠김)",
    "show": "표시",
    "hide": "숨기기"
  },
  "properties": {
    "title": "속성",
    "noSelection": "선택된 엔티티 없음",
    "entitiesSelected": "{count}개의 엔티티가 선택됨",
    "active": "활성",
    "enabled": "활성화됨",
    "addComponent": "컴포넌트 추가",
    "addComponentToAll": "모두에 컴포넌트 추가",
    "removeComponent": "컴포넌트 제거",
    "removeFromEntities": "{count}개의 엔티티에서 제거",
    "reset": "초기화",
    "copyValues": "값 복사",
    "pasteValues": "값 붙여넣기",
    "addTag": "태그 추가",
    "enterTagName": "태그 이름을 입력하세요:",
    "scriptProperties": "속성",
    "viewFSMs": "FSM 보기",
    "viewFSMsTooltip": "FSM 탭으로 전환하여 이 엔티티의 상태 기계 표시",
    "sculptTerrain": "지형 스컬프트",
    "stopSculpting": "스컬프트 중지",
    "brush": "브러시",
    "raise": "올리기",
    "lower": "내리기",
    "smooth": "스무딩",
    "flatten": "평탄화",
    "radius": "반지름",
    "strength": "강도"
  },
  "publish": {
    "title": "게임 게시",
    "manage": "게시된 게임 관리",
    "gameName": "게임 이름",
    "gameNamePlaceholder": "나의 멋진 게임",
    "urlSlug": "URL 슬러그",
    "urlSlugPlaceholder": "my-awesome-game",
    "version": "버전",
    "changelogLabel": "변경 로그 (선택)",
    "changelogPlaceholder": "이 버전의 내용...",
    "visibility": "공개 범위",
    "visibilityPublic": "공개",
    "visibilityUnlisted": "비공개 링크",
    "thumbnail": "썸네일 (선택)",
    "noImage": "이미지 없음",
    "upload": "업로드",
    "change": "변경",
    "cancel": "취소",
    "publish": "게시",
    "gameNameRequired": "게임 이름은 필수입니다.",
    "slugInvalid": "슬러그는 3-64자, 소문자 영숫자 및 하이픈만 가능합니다.",
    "versionInvalid": "올바른 버전을 입력하세요 (예: 1.0.0).",
    "publishNewVersion": "새 버전 게시",
    "changelogOptional": "변경 로그 (선택)",
    "versionRequired": "올바른 버전을 입력하세요.",
    "setLive": "라이브 설정",
    "checkout": "체크아웃",
    "revertConfirm": "v{version}으로 되돌리시겠습니까? 현재 에디터 상태가 교체됩니다.",
    "unpublishGame": "게임 게시 취소",
    "unpublishConfirm": "이 게임의 게시를 취소하시겠습니까? 더 이상 플레이어가 접근할 수 없게 됩니다.",
    "successTitle": "게시 완료!",
    "successMessage": "버전 {version}이(가) 라이브되었습니다!",
    "done": "완료",
    "close": "닫기",
    "mismatchTitle": "엔진 버전이 지원되지 않습니다",
    "gotIt": "확인",
    "saving": "저장 중…",
    "saved": "저장됨"
  },
  "profiler": {
    "title": "성능",
    "engineNotRunning": "엔진이 실행 중이 아닙니다",
    "copyStats": "통계 복사",
    "copied": "복사됨!",
    "copyFailed": "복사 실패",
    "smoothness": "부드러움 (최근 2초)",
    "smoothnessHint": "낮고 평평할수록 좋습니다. 빨간 선은 부드러운 60fps를 나타냅니다.",
    "frameBudget": "프레임 시간 분배",
    "frameBudgetHint": "엔진이 각 프레임에서 무엇에 시간을 쓰는지 그룹별 뷰.",
    "onScreen": "화면 표시 내용",
    "drawCalls": "드로우 콜",
    "triangles": "삼각형",
    "entities": "엔티티",
    "showDetails": "상세 보기",
    "cpuPhases": "CPU 단계 (tickOneFrame 당)",
    "cpuPhasesHint": "각 단계를 개별 측정. 막대는 총 틱 시간 대비 비율을 표시합니다.",
    "renderPasses": "렌더 패스 (CPU 제출, ms)",
    "renderPassesHint": "패스별 대략적 비용. 커맨드 구성 및 제출에 걸리는 CPU 시간. 실제 GPU 시간이 아닙니다.",
    "renderer": "렌더러 (마지막 프레임)",
    "meshesDrawn": "그려진 메시",
    "scripts": "스크립트",
    "meshesTotal": "총 메시",
    "scriptCost": "스크립트당 비용 (이번 프레임)",
    "scriptCostHint": "동일한 스크립트를 공유하는 모든 엔티티의 onUpdate / onFixedUpdate / onLateUpdate 시간 합계.",
    "jsHeap": "JS 힙 (MB)",
    "jsHeapHint": "Chrome 전용. 메모리 누수 감지에 유용.",
    "noDataYet": "아직 데이터가 없습니다.",
    "noRenderPasses": "측정된 렌더 패스가 없습니다.",
    "noScriptsActive": "활성 스크립트가 없습니다 (Play를 눌러 타이밍을 확인하세요).",
    "labelSmooth": "부드러움",
    "labelOK": "양호",
    "labelChoppy": "끊김",
    "labelLaggy": "지연",
    "scripts_budget": "스크립트",
    "physics_budget": "물리",
    "animation_budget": "애니메이션",
    "rendering_budget": "렌더링",
    "other_budget": "기타"
  },
  "modal": {
    "cancel": "취소",
    "ok": "확인",
    "confirm": "확인"
  },
  "modelGen": {
    "health": {
      "checking": "확인 중…",
      "unavailable": "GPU 서비스를 사용할 수 없습니다",
      "offline": "오프라인 — 사용 가능한 워커 없음",
      "onlineSingular": "온라인 · {count}개 워커 사용 가능",
      "onlinePlural": "온라인 · {count}개 워커 사용 가능",
      "queuedSuffix": " · {count}개 대기 중"
    },
    "notice": {
      "searchFirstBold": "먼저 커뮤니티를 검색하세요.",
      "searchFirstBody": "생성하기 전에 아래 커뮤니티 라이브러리에서 기존 3D 모델을 둘러보세요 — 즉시 사용할 수 있으며 GPU 시간을 절약할 수 있습니다.",
      "publicBold": "회원님의 생성물이 공개될 수 있습니다.",
      "publicBody": "검토 후 추천되면 프롬프트와 생성된 모델이 다른 사용자에게 표시됩니다. 개인정보나 저작권 보호 콘텐츠를 포함하지 마세요."
    },
    "mode": {
      "fromText": "텍스트로",
      "fromImage": "이미지로"
    },
    "text": {
      "label": "3D 모델을 설명해 주세요:",
      "placeholder": "예: \"나무 통\", \"로우폴리 나무\", \"애니메이션 검\"",
      "previewBtn": "이미지 미리보기",
      "needPrompt": "먼저 프롬프트를 입력하세요.",
      "tooShort": "프롬프트는 최소 {min}자 이상이어야 합니다.",
      "generating": "미리보기 생성 중…",
      "previewFailed": "미리보기 실패"
    },
    "image": {
      "label": "대상 이미지를 업로드하세요:",
      "dropPrimary": "클릭하여 선택하거나 이미지를 드래그하세요",
      "dropHint": "PNG, JPG 또는 WEBP — 최대 8MB",
      "tooLarge": "이미지는 8MB 이하여야 합니다.",
      "uploading": "업로드 중…",
      "uploadFailed": "업로드 실패",
      "labelInputLabel": "이 이미지에 라벨을 붙이세요 (검색에 사용됩니다):",
      "labelInputPlaceholder": "예: \"빨간 사과\", \"중세 투구\""
    },
    "preview": {
      "labelText": "미리보기 — 확인하면 이 이미지로 3D 모델을 생성합니다:",
      "labelImage": "미리보기 — 확인하여 생성:",
      "refinePrompt": "프롬프트 수정",
      "chooseDifferent": "다른 파일 선택",
      "confirm": "확인 및 3D 생성"
    },
    "submit": {
      "submitting": "제출 중…",
      "submitFailed": "제출 실패",
      "cacheHit": "✓ 일치하는 공유 모델을 찾았습니다 — 라이브러리에 추가되었습니다."
    },
    "active": {
      "header": "진행 중",
      "uploadedImage": "(업로드된 이미지)",
      "stageQueued": "대기 중",
      "stageStarting": "시작 중",
      "stageFetching": "이미지 가져오는 중",
      "stageGenerating": "생성 중",
      "stageUploading": "업로드 중",
      "stageOrienting": "방향 조정 중",
      "failedLabel": "실패",
      "failedUnknown": "알 수 없는 오류",
      "dismissFailed": "닫기"
    },
    "library": {
      "scopeMine": "내 생성",
      "scopeCommunity": "커뮤니티",
      "refresh": "라이브러리 새로 고침",
      "search": "생성 검색…",
      "empty": "아직 생성된 항목이 없습니다.",
      "emptyMatches": "일치하는 결과가 없습니다.",
      "emptyCommunity": "커뮤니티에 아직 생성된 항목이 없습니다.",
      "notAvailable": "이 백엔드에서는 3D 모델 생성을 사용할 수 없습니다."
    },
    "errorPrefix": "오류: {message}"
  },
  "soundFx": {
    "header": "사운드 이펙트",
    "usageTooltip": "일일 업로드 횟수. UTC 자정에 초기화됩니다.",
    "daily": "오늘: {today}/{limit}",
    "notice": {
      "privateBold": "공개 목록에 없을 뿐, 비공개는 아닙니다.",
      "privateBody": "이 클립을 채팅이나 게임에서 사용할 수 있는 사람은 당신뿐이지만 — 오디오 파일 자체에는 인증이 걸려 있지 않습니다.",
      "extract": "URL 을 가진 사람(공유한 친구, 링크를 입수한 사람, 또는 이 클립을 사용하는 공개 게임을 플레이하는 사람)은 누구나 오디오를 다운로드하고 재사용할 수 있습니다.",
      "tokenHint": "URL 은 추측하기 어려운 긴 랜덤 토큰을 사용하지만, 여기에 업로드하는 모든 것은 사실상 공개된 것으로 취급하세요 — 추출되어서는 안 되는 오디오는 업로드하지 마세요."
    },
    "mode": {
      "upload": "업로드",
      "record": "녹음"
    },
    "upload": {
      "dropPrimary": "오디오 파일을 드롭하거나 클릭하여 선택",
      "dropHint": "10초 이내 · wav, mp3, ogg, flac · 최대 2 MB",
      "reading": "파일 읽는 중…",
      "parseFailed": "오디오 파일을 분석할 수 없습니다. 다른 형식으로 시도해 보세요.",
      "tooLarge": "파일이 너무 큽니다({mb} MB > 2 MB).",
      "tooLong": "클립이 너무 깁니다({s}초 > {max}초)."
    },
    "record": {
      "btnStart": "녹음",
      "btnStop": "중지",
      "hint": "10초 후 자동 중지됩니다. 다시 클릭하여 일찍 중지할 수 있습니다.",
      "micDenied": "마이크 접근이 거부되었습니다: {reason}",
      "recorderUnavailable": "녹음기를 사용할 수 없습니다: {reason}",
      "encoding": "인코딩 중…",
      "encodeFailed": "인코딩에 실패했습니다: {reason}",
      "noAudio": "오디오가 캡처되지 않았습니다."
    },
    "staged": {
      "headerUpload": "선택한 클립",
      "headerRecording": "녹음한 클립",
      "labelPlaceholder": "라벨(예: \"폭발\", \"점프\", \"아얏\")",
      "cancel": "취소",
      "save": "저장",
      "needLabel": "라벨을 입력해 주세요.",
      "labelTooLong": "라벨이 너무 깁니다(최대 {max})."
    },
    "library": {
      "header": "내 클립",
      "refresh": "새로 고침",
      "empty": "업로드하거나 녹음하여 첫 번째 클립을 추가하세요.",
      "loading": "로딩 중…",
      "couldNotLoad": "로드할 수 없습니다: {reason}",
      "deleteConfirm": "\"{label}\" 을(를) 삭제하시겠습니까?",
      "deleteFailed": "삭제에 실패했습니다: {reason}",
      "addToChatTooltip": "이 클립을 AI 어시스턴트의 힌트로 추가",
      "deleteTooltip": "삭제"
    },
    "save": {
      "uploading": "업로드 중…",
      "saved": "저장됨.",
      "failed": "저장에 실패했습니다: {reason}"
    }
  }
}
