Files
openhuman/app/src/lib/i18n/chunks/ko-3.ts
T

504 lines
29 KiB
TypeScript

import type { TranslationMap } from '../types';
// Korean chunk 3/5. Source of truth for translators.
const ko3: TranslationMap = {
'insights.other': '기타',
'insights.title': '인사이트',
'insights.empty': '아직 인사이트가 없습니다. 메모리가 늘어나면 인사이트가 생성됩니다.',
'insights.description': '메모리 그래프의 {count}개 관계를 기반으로 합니다.',
'insights.items': '항목',
'insights.more': '더 보기',
'calls.joiningCall': '통화에 참여하는 중',
'calls.meetWindowOpening': 'Meet 창이 열리는 중...',
'calls.failedToStart': 'Meet 통화를 시작하지 못했습니다',
'calls.couldNotStart': '통화를 시작할 수 없습니다',
'calls.failedToClose': '통화를 닫지 못했습니다',
'calls.couldNotClose': '통화를 닫을 수 없습니다',
'calls.joinMeet': 'Google Meet 통화 참여',
'calls.joinMeetDescription': '참여할 Google Meet 링크를 입력하세요.',
'calls.meetLink': 'Meet 링크',
'calls.displayName': '표시 이름',
'calls.openingMeet': 'Meet 여는 중...',
'calls.joinCall': '통화 참여',
'calls.activeCalls': '활성 통화',
'calls.leave': '나가기',
'workspace.wipeConfirm': '모든 메모리를 삭제하시겠습니까? 이 작업은 되돌릴 수 없습니다.',
'workspace.resetTreeConfirm': '메모리 트리를 다시 빌드하시겠습니까?',
'workspace.wipeTitle': '메모리 삭제',
'workspace.resetting': '초기화 중...',
'workspace.resetMemory': '메모리 초기화',
'workspace.resetTreeTitle': '메모리 트리 다시 빌드',
'workspace.rebuilding': '다시 빌드 중...',
'workspace.resetMemoryTree': '메모리 트리 초기화',
'workspace.building': '빌드 중...',
'workspace.buildSummaryTrees': '요약 트리 빌드',
'workspace.viewVault': '볼트 보기',
'workspace.openingVaultTitle': 'Obsidian에서 볼트 열기',
'workspace.openingVaultMessage':
"If Obsidian doesn't open, install it from obsidian.md or use Reveal Folder. Vault path:",
'workspace.openVaultFailedTitle': "Couldn't open vault in Obsidian",
'workspace.openVaultFailedMessage':
'폴더 표시를 사용하여 볼트 디렉터리를 직접 엽니다. 볼트 경로:',
'workspace.revealVaultFailed': "Couldn't reveal vault folder",
'workspace.revealFolder': '폴더 공개',
'workspace.checkingVault': 'Checking…',
'workspace.vaultNotRegisteredHelp':
'Obsidian only opens folders you\'ve added as a vault. In Obsidian, choose "Open folder as vault" and pick the folder below — you only need to do this once. Then click View Vault again.',
'workspace.obsidianNotFoundHelp':
"We couldn't find Obsidian on this device. Install it, or — if it's installed somewhere non-standard — set its config folder under Advanced.",
'workspace.openAnyway': 'Open in Obsidian anyway',
'workspace.installObsidian': 'Install Obsidian',
'workspace.obsidianAdvanced': 'Obsidian installed elsewhere?',
'workspace.obsidianConfigDirLabel': 'Obsidian config folder',
'workspace.obsidianConfigDirHint':
'Path to the folder containing obsidian.json (e.g. ~/.config/obsidian). Leave blank to auto-detect.',
'workspace.obsidianConfigDirPlaceholder': '~/.config/obsidian',
'workspace.graphLoadFailed': '메모리 그래프를 불러오지 못했습니다',
'workspace.loadingGraph': '메모리 그래프를 불러오는 중...',
'workspace.graphViewMode': '메모리 그래프 보기 모드',
'workspace.trees': '트리',
'workspace.contacts': '연락처',
'graph.noContactMentions': '연락처 언급 없음',
'graph.noMemory': '메모리 없음',
'graph.source': '소스',
'graph.topic': '주제',
'graph.global': '전역',
'graph.document': '문서',
'graph.contact': '연락처',
'graph.nodes': '노드',
'graph.parentChild': '부모-자식',
'graph.documentContact': '문서-연락처',
'graph.link': '링크',
'graph.links': '링크',
'graph.children': '자식',
'graph.clickToOpenObsidian': '클릭하여 Obsidian에서 열기',
'graph.person': '사람',
'modal.dontShowAgain': '비슷한 제안을 다시 표시하지 않기',
'reflections.loading': '반영을 불러오는 중...',
'reflections.empty': '아직 반영이 없습니다',
'reflections.title': '반영',
'reflections.proposedAction': '제안된 작업',
'reflections.act': '실행',
'reflections.dismiss': '닫기',
'whatsapp.chatsSynced': '채팅 동기화됨',
'whatsapp.chatSynced': '채팅 동기화됨',
'sync.active': '활성',
'sync.recent': '최근',
'sync.idle': '유휴',
'sync.memorySources': '메모리 소스',
'sync.noConnectedSources': '연결된 소스 없음',
'sync.chunks': '청크',
'sync.lastChunk': '마지막 청크:',
'sync.pending': '대기 중',
'sync.processed': '처리됨',
'sync.syncing': '동기화 중…',
'sync.sync': '동기화',
'sync.failedToLoad': '동기화 상태를 불러오지 못했습니다',
'sync.noContent': '아직 메모리에 동기화된 콘텐츠가 없습니다. 시작하려면 통합을 연결하세요.',
'memorySources.title': 'Memory Sources',
'memorySources.empty': 'No memory sources yet. Add one to start feeding memory.',
'memorySources.loadingConnections': 'Loading connections…',
'memorySources.noConnections':
'No active Composio connections found. Connect an integration first.',
'memorySources.pickConnection': 'Pick a connection',
'memorySources.selectConnection': '— Select a connection —',
'memorySources.composioListFailed': 'Failed to load Composio connections.',
'memorySources.browse': 'Browse…',
'memorySources.folderPathPlaceholder': '/Users/you/notes',
'memorySources.globPatternPlaceholder': '**/*.md',
'memorySources.repoUrlPlaceholder': 'https://github.com/org/repo',
'memorySources.branchPlaceholder': 'main',
'memorySources.feedUrlPlaceholder': 'https://example.com/feed.xml',
'memorySources.pageUrlPlaceholder': 'https://example.com/article',
'memorySources.cssSelectorPlaceholder': 'article',
'memorySources.searchQueryPlaceholder': 'from:user AI safety',
'memorySources.kind.composio': 'Integration',
'memorySources.kind.folder': 'Local Folder',
'memorySources.kind.github_repo': 'GitHub Repo',
'memorySources.kind.twitter_query': 'Twitter Search',
'memorySources.kind.rss_feed': 'RSS Feed',
'memorySources.kind.web_page': 'Web Page',
'memorySources.sync.successTitle': 'Syncing',
'memorySources.sync.successMessage': 'Progress will appear shortly.',
'memorySources.sync.failedTitle': 'Sync failed:',
'time.justNow': 'just now',
'time.secondsAgoSuffix': 's ago',
'time.minutesAgoSuffix': 'm ago',
'time.hoursAgoSuffix': 'h ago',
'time.daysAgoSuffix': 'd ago',
'memorySources.customSources': 'Custom Sources',
'memorySources.addSource': 'Add Source',
'memorySources.noCustomSources':
'No custom sources yet. Add a folder, GitHub repo, RSS feed, or web page to start.',
'memorySources.pickKind': 'What kind of source do you want to add?',
'memorySources.backToKinds': 'Back to source types',
'memorySources.label': 'Label',
'memorySources.labelPlaceholder': 'My research notes',
'memorySources.add': 'Add',
'memorySources.adding': 'Adding…',
'memorySources.added': 'Source added',
'memorySources.removed': 'Source removed',
'memorySources.remove': 'Remove',
'memorySources.enable': 'Enable',
'memorySources.disable': 'Disable',
'memorySources.toggleFailed': 'Toggle failed',
'memorySources.removeFailed': 'Remove failed',
'memorySources.folderPath': 'Folder path',
'memorySources.globPattern': 'Glob pattern',
'memorySources.repoUrl': 'Repository URL',
'memorySources.branch': 'Branch',
'memorySources.feedUrl': 'Feed URL',
'memorySources.pageUrl': 'Page URL',
'memorySources.cssSelector': 'CSS selector (optional)',
'memorySources.searchQuery': 'Search query',
'backend.aiBackend': 'AI 백엔드',
'backend.cloud': '클라우드',
'backend.recommended': '추천',
'backend.cloudDescription':
'서버에서 호스팅되는 빠르고 강력한 모델입니다. 즉시 사용할 수 있습니다.',
'backend.privacyNote': '개인 데이터, 메시지 또는 키는 서버로 전송되지 않습니다.',
'backend.local': '로컬',
'backend.advanced': '고급',
'backend.localDescription':
'Ollama를 사용하여 자신의 컴퓨터에서 모델을 실행합니다. 완전한 개인정보 보호를 제공하지만 설정이 필요합니다.',
'backend.ramRecommended': '16GB 이상 RAM 권장',
'subconscious.tasks': '작업',
'subconscious.ticks': '틱',
'subconscious.last': '마지막',
'subconscious.failed': '실패',
'subconscious.tickInterval': '틱 간격',
'subconscious.runNow': '지금 실행',
'subconscious.providerUnavailableTitle': 'Subconscious 일시 중지됨',
'subconscious.providerSettings': 'AI 설정',
'subconscious.approvalNeeded': '승인 필요',
'subconscious.requiresApproval': '승인이 필요함',
'subconscious.fixInConnections': '연결에서 수정',
'subconscious.goAhead': '진행',
'subconscious.activeTasks': '활성 작업',
'subconscious.noActiveTasks': '활성 작업 없음',
'subconscious.default': '기본값',
'subconscious.addTaskPlaceholder': '새 작업 추가...',
'subconscious.activityLog': '활동 로그',
'subconscious.noActivity': '아직 활동이 없습니다',
'subconscious.decision.nothingNew': '새로운 내용 없음',
'subconscious.decision.completed': '완료됨',
'subconscious.decision.evaluating': '평가 중',
'subconscious.decision.waitingApproval': '승인 대기 중',
'subconscious.decision.failed': '실패',
'subconscious.decision.cancelled': '취소됨',
'subconscious.decision.skipped': '건너뜀',
'actionable.complete': '완료',
'actionable.dismiss': '닫기',
'actionable.snooze': '다시 알림',
'actionable.new': '새 항목',
'stats.storage': '저장소',
'stats.files': '파일',
'stats.documents': '문서',
'stats.today': '오늘',
'stats.namespaces': '네임스페이스',
'stats.relations': '관계',
'stats.firstMemory': '첫 번째 메모리',
'stats.latest': '최신',
'stats.sessions': '세션',
'stats.tokens': '토큰',
'bootCheck.invalidUrl': '런타임 URL을 입력해 주세요.',
'bootCheck.urlMustStartWith': 'URL은 http:// 또는 https://로 시작해야 합니다',
'bootCheck.validUrlRequired': '유효한 URL처럼 보이지 않습니다(예: https://core.example.com/rpc)',
'bootCheck.tokenRequired': '연결하려면 인증 토큰이 필요합니다.',
'bootCheck.chooseCoreMode': '런타임 선택',
'bootCheck.connectToCore': '런타임에 연결',
'bootCheck.desktopDescription':
'OpenHuman은 생각하기 위한 런타임이 필요합니다. 어디에서 실행할지 선택하세요.',
'bootCheck.webDescription':
'웹에서 OpenHuman은 사용자가 제어하는 런타임에 연결됩니다. 아래에 URL과 인증 토큰을 입력하거나, 데스크톱 앱을 받아 이 컴퓨터에서 바로 실행하세요.',
'bootCheck.preferDesktop': '모든 것을 자신의 기기에 보관하고 싶으신가요?',
'bootCheck.downloadDesktop': '데스크톱 앱 받기',
'bootCheck.localRecommended': '로컬에서 실행(추천)',
'bootCheck.localDescription':
'이 컴퓨터에서 바로 실행됩니다. 가장 빠르고, 완전히 비공개이며, 설정할 것이 없습니다.',
'bootCheck.cloudMode': '클라우드에서 실행(복잡)',
'bootCheck.cloudDescription':
'다른 곳에서 호스팅 중인 런타임에 연결합니다. 24×7 온라인 상태를 유지하므로 이 기기를 계속 켜둘 필요가 없습니다.',
'bootCheck.coreRpcUrl': '런타임 URL',
'bootCheck.rpcUrlPlaceholder': 'https://core.example.com/rpc',
'bootCheck.authToken': '인증 토큰',
'bootCheck.bearerTokenPlaceholder': '원격 런타임의 bearer 토큰',
'bootCheck.storedLocally': '이 기기에만 보관됩니다. 다음으로 전송됨: ',
'bootCheck.testing': '테스트 중…',
'bootCheck.testConnection': '연결 테스트',
'bootCheck.connectedOk': '연결되었습니다. 사용할 준비가 되었습니다.',
'bootCheck.authFailed': '해당 토큰이 작동하지 않았습니다. 다시 확인하고 시도하세요.',
'bootCheck.unreachablePrefix': '연결할 수 없습니다:',
'bootCheck.checkingCore': '런타임을 깨우는 중…',
'bootCheck.cannotReach': '런타임에 연결할 수 없습니다',
'bootCheck.cannotReachDesc': '런타임에 연결할 수 없습니다. 다른 런타임을 시도하시겠습니까?',
'bootCheck.switchMode': '다른 런타임 선택',
'bootCheck.quit': '종료',
'bootCheck.legacyDetected': '레거시 백그라운드 런타임 감지됨',
'bootCheck.legacyDescription':
'별도로 설치된 OpenHuman 데몬이 이 기기에서 이미 실행 중입니다. 내장 런타임이 대신 실행되기 전에 이를 정리해야 합니다.',
'bootCheck.removing': '제거 중…',
'bootCheck.removeContinue': '제거하고 계속',
'bootCheck.localNeedsRestart': '로컬 런타임을 다시 시작해야 함',
'bootCheck.localNeedsRestartDesc':
'로컬 런타임의 버전이 이 앱과 다릅니다. 빠르게 다시 시작하면 다시 동기화됩니다.',
'bootCheck.restarting': '다시 시작 중…',
'bootCheck.restartCore': '런타임 다시 시작',
'bootCheck.cloudNeedsUpdate': '클라우드 런타임 업데이트 필요',
'bootCheck.cloudNeedsUpdateDesc':
'클라우드 런타임의 버전이 이 앱과 다릅니다. 업데이트 프로그램을 실행하여 다시 동기화하세요.',
'bootCheck.updating': '업데이트 중…',
'bootCheck.updateCloudCore': '클라우드 런타임 업데이트',
'bootCheck.versionCheckFailed': '런타임 버전 확인 실패',
'bootCheck.versionCheckFailedDesc':
'런타임이 실행 중이지만 버전을 보고하지 않습니다. 오래된 버전일 수 있습니다. 계속하려면 다시 시작하거나 업데이트하세요.',
'bootCheck.working': '작업 중…',
'bootCheck.restartUpdateCore': '런타임 다시 시작 / 업데이트',
'bootCheck.unexpectedError': '예상치 못한 부트 체크 오류',
'bootCheck.actionFailed': '문제가 발생했습니다. 다시 시도해 주세요.',
'bootCheck.portConflictTitle': '앱 엔진을 시작할 수 없습니다',
'bootCheck.portConflictBody':
'다른 프로세스가 OpenHuman에 필요한 네트워크 포트를 사용 중입니다. 자동으로 문제를 해결해 드리겠습니다.',
'bootCheck.portConflictFixButton': '자동 수정',
'bootCheck.portConflictFixing': '수정 중…',
'bootCheck.portConflictFixFailed':
'자동 수정에 실패했습니다. 컴퓨터를 재시작한 후 다시 시도해 주세요.',
'notifications.justNow': '방금 전',
'notifications.minAgo': '{n}분 전',
'notifications.hrAgo': '{n}시간 전',
'notifications.dayAgo': '{n}일 전',
'notifications.category.messages': '메시지',
'notifications.category.agents': '에이전트',
'notifications.category.skills': '스킬',
'notifications.category.system': '시스템',
'notifications.category.meetings': '회의',
'notifications.category.reminders': '리마인더',
'notifications.category.important': '중요',
'about.update.status.checking': '확인 중...',
'about.update.status.available': 'v{version} 사용 가능',
'about.update.status.availableNoVersion': '업데이트 사용 가능',
'about.update.status.downloading': '다운로드 중...',
'about.update.status.readyToInstall': 'v{version} 설치 준비 완료',
'about.update.status.readyToInstallNoVersion':
'새 버전이 다운로드되어 준비되었습니다. 적용하려면 다시 시작하세요.',
'about.update.status.installing': '설치 중...',
'about.update.status.restarting': '다시 시작 중...',
'about.update.status.upToDate': '최신 버전을 실행 중입니다.',
'about.update.status.error': '업데이트 확인 실패',
'about.update.status.default': '업데이트 확인',
'welcome.connectionFailed': '연결 실패: {status} {statusText}',
'welcome.connectionFailedMsg': '연결 실패: {message}',
'welcome.continueLocally': '로컬에서 계속',
'welcome.localSessionStarting': '로컬 세션 시작 중...',
'welcome.localSessionDesc': '오프라인 로컬 프로필을 사용하고 TinyHumans를 건너뜁니다. OAuth.',
'chat.agentChatDesc': '에이전트와 직접 채팅 세션을 엽니다.',
'channels.activeRouteValue': '{authMode}을(를) 통해 {channel}',
'privacy.dataKind.messages': '메시지',
'privacy.dataKind.agents': '에이전트',
'privacy.dataKind.skills': '스킬',
'privacy.dataKind.system': '시스템',
'privacy.dataKind.meetings': '회의',
'privacy.dataKind.reminders': '리마인더',
'privacy.dataKind.important': '중요',
'onboarding.enableLocalAI': '로컬 AI 활성화',
'onboarding.skills.status.available': '사용 가능',
'onboarding.skills.status.connected': '연결됨',
'onboarding.skills.status.connecting': '연결 중',
'onboarding.skills.status.error': '오류',
'onboarding.skills.status.unavailable': '사용할 수 없음',
'composio.statusUnavailable': '상태를 사용할 수 없음',
'composio.envVarOverrides': '설정되어 있으며, 이 설정을 재정의합니다.',
'memory.day.sun': '일',
'memory.day.mon': '월',
'memory.day.tue': '화',
'memory.day.wed': '수',
'memory.day.thu': '목',
'memory.day.fri': '금',
'memory.day.sat': '토',
'memory.ingesting': '수집 중',
'memory.ingestionQueued': '대기열에 추가됨',
'memory.ingestingTitle': '{title} 수집 중',
'mic.noAudioCaptured': '캡처된 오디오가 없습니다',
'mic.noSpeechDetected': '음성이 감지되지 않았습니다',
'mic.lowConfidenceResult': '오디오를 명확하게 이해할 수 없습니다 — 다시 시도해 주세요',
'mic.failedToStopRecording': '녹음을 중지하지 못했습니다: {message}',
'mic.transcriptionFailed': '전사에 실패했습니다: {message}',
'reflections.kind.retrospective': '회고',
'reflections.kind.derivedFact': '파생된 사실',
'reflections.kind.moodInsight': '기분 인사이트',
'reflections.kind.relationshipInsight': '관계 인사이트',
'graph.tooltip.summary': '요약',
'graph.tooltip.contact': '연락처',
'localModel.usage.never': '사용 안 함',
'localModel.usage.mediumLoad': '중간 부하',
'localModel.usage.lowLoad': '낮은 부하',
'localModel.usage.idleMode': '유휴 모드',
'localModel.rebootstrapComplete': '모델 재부트스트랩 완료.',
'localModel.modelsVerified': '로컬 모델 확인 완료.',
'accounts.addModal.allConnected': '모두 연결됨',
'accounts.addModal.title': '계정 추가',
'accounts.respondQueue.empty': '비어 있음',
'accounts.respondQueue.hide': '응답 대기열 숨기기',
'accounts.respondQueue.loadFailed': '응답 대기열을 불러오지 못했습니다',
'accounts.respondQueue.loading': '대기열 불러오는 중…',
'accounts.respondQueue.pending': '대기 중',
'accounts.respondQueue.show': '응답 대기열 표시',
'accounts.respondQueue.title': '응답 대기열',
'accounts.webviewHost.almostReady': '거의 준비됨...',
'accounts.webviewHost.loadTimeout': 'Webview 로드 시간 초과',
'accounts.webviewHost.loading': '{providerName} 불러오는 중...',
'accounts.webviewHost.loadingAccount': '계정 불러오는 중',
'accounts.webviewHost.restoringSession': '세션 복원 중...',
'accounts.webviewHost.retryLoading': '다시 불러오기',
'accounts.webviewHost.takingLonger': '{providerName}이 예상보다 오래 걸리고 있습니다.',
'accounts.webviewHost.timeoutHint': '시간 초과 힌트',
'app.connectionBadge.composio': 'Composio',
'app.connectionBadge.messaging': '메시징',
'app.connectionIndicator.connected': 'OpenHuman AI에 연결됨 🚀',
'app.connectionIndicator.connecting': '연결 중',
'app.connectionIndicator.coreOffline': '코어 오프라인',
'app.connectionIndicator.disconnected': '연결 해제됨',
'app.connectionIndicator.offline': '오프라인',
'app.connectionIndicator.reconnecting': '다시 연결 중…',
'app.errorFallback.componentStack': '컴포넌트 스택',
'app.errorFallback.downloadLatest': '최신 버전 다운로드',
'app.errorFallback.heading': '제목',
'app.errorFallback.hint': '힌트',
'app.errorFallback.reloadApp': '앱 다시 불러오기',
'app.errorFallback.subheading': '부제목',
'app.errorFallback.tryRecover': '복구 시도',
'app.localAiDownload.installing': '설치 중...',
'app.localAiDownload.preparing': '준비 중...',
'app.openhumanLink.accounts.continueWith': '{label} 로그인으로 계속',
'app.openhumanLink.accounts.done': '완료',
'app.openhumanLink.accounts.intro': '소개',
'app.openhumanLink.accounts.webviewNote': 'Webview 안내',
'app.openhumanLink.billing.openDashboard': '대시보드 열기',
'app.openhumanLink.billing.stayOnTrial': '체험판 유지',
'app.openhumanLink.billing.trialCredit': '체험 크레딧',
'app.openhumanLink.billing.trialDesc': '체험 설명',
'app.openhumanLink.defaultBody':
'아직 팝업에서 준비되지 않았습니다. 필요하면 전체 설정 페이지를 여세요.',
'app.openhumanLink.discord.intro': '소개',
'app.openhumanLink.discord.openInvite': '초대 열기',
'app.openhumanLink.discord.perk1': '혜택1',
'app.openhumanLink.discord.perk2': '혜택2',
'app.openhumanLink.discord.perk3': '혜택3',
'app.openhumanLink.discord.perk4': '혜택4',
'app.openhumanLink.done': '완료',
'app.openhumanLink.loadingChannelSetup': '채널 설정 불러오는 중',
'app.openhumanLink.maybeLater': '나중에',
'app.openhumanLink.notifications.asking': 'OS에 요청 중…',
'app.openhumanLink.notifications.blocked': '차단됨',
'app.openhumanLink.notifications.blockedStep1': '차단 단계1',
'app.openhumanLink.notifications.blockedStep2': '차단 단계2',
'app.openhumanLink.notifications.blockedStep3': '차단 단계3',
'app.openhumanLink.notifications.intro': '소개',
'app.openhumanLink.notifications.promptHint': '프롬프트 힌트',
'app.openhumanLink.notifications.retry': '테스트 알림 다시 시도',
'app.openhumanLink.notifications.send': '테스트 알림 보내기',
'app.openhumanLink.notifications.sendFailed': '보낼 수 없습니다: {error}',
'app.openhumanLink.notifications.sent':
'테스트 알림이 전송되었습니다. 받지 못했다면 시스템 설정 → 알림 → OpenHuman으로 이동해 알림 허용을 켜고 배너 스타일을 지속으로 설정하세요.',
'app.openhumanLink.skipForNow': '지금은 건너뛰기',
'app.openhumanLink.telegramUnavailable': 'Telegram을 사용할 수 없음',
'app.openhumanLink.title.accounts': '앱 연결',
'app.openhumanLink.title.billing': '결제 및 크레딧',
'app.openhumanLink.title.discord': '커뮤니티 참여',
'app.openhumanLink.title.messaging': '채팅 채널 연결',
'app.openhumanLink.title.notifications': '알림 허용',
'app.persistRehydration.body': '본문',
'app.persistRehydration.heading': '제목',
'app.persistRehydration.resetCta': '초기화 중…',
'app.persistRehydration.resetting': '초기화 중…',
'app.routeLoading.initializing': 'OpenHuman 초기화 중...',
'app.update.currentlyOn': '{version}',
'app.update.errorFallback': '업데이트 중 문제가 발생했습니다.',
'app.update.header.default': '업데이트',
'app.update.header.error': '업데이트 실패',
'app.update.header.installing': '업데이트 설치 중',
'app.update.header.readyToInstall': '업데이트 설치 준비 완료',
'app.update.header.restarting': '다시 시작 중…',
'app.update.later': '나중에',
'app.update.newVersionReady': '새 버전을 설치할 준비가 되었습니다.',
'app.update.progress.downloaded': '{amount} 다운로드됨',
'app.update.progress.installing': '새 버전 설치 중…',
'app.update.progress.restarting': '앱 다시 실행 중…',
'app.update.progress.working': '{percent}%',
'app.update.restartNote': '다시 시작 안내',
'app.update.restartNow': '지금 다시 시작',
'app.update.versionReady': '버전 {newVersion} 설치 준비 완료.',
'channels.discord.accountLinked': '계정 연결됨',
'channels.discord.connect': '연결',
'channels.discord.linkTokenExpired': '링크 토큰이 만료되었습니다. 다시 시도하세요.',
'channels.discord.linkTokenInstruction': '{token}',
'channels.discord.linkTokenLabel': '링크 토큰 라벨',
'channels.discord.linkTokenOnce': '링크 토큰 1회 사용',
'channels.discord.picker.allPermissionsOk':
'봇이 이 채널에서 필요한 모든 권한을 가지고 있습니다.',
'channels.discord.picker.botNotInServers': '봇이 서버에 없습니다',
'channels.discord.picker.category': '카테고리',
'channels.discord.picker.channel': '채널',
'channels.discord.picker.checkingPermissions': '권한 확인 중',
'channels.discord.picker.loadingChannels': '채널 불러오는 중...',
'channels.discord.picker.loadingServers': '서버 불러오는 중...',
'channels.discord.picker.missingPermissions': '권한 누락',
'channels.discord.picker.noChannels': '텍스트 채널을 찾을 수 없습니다',
'channels.discord.picker.noServers': '서버를 찾을 수 없습니다',
'channels.discord.picker.selectChannel': '채널 선택',
'channels.discord.picker.selectServer': '서버 선택',
'channels.discord.picker.server': '서버',
'channels.discord.picker.serverChannelSelection': '서버 및 채널 선택',
'channels.discord.savedRestartRequired':
'채널이 저장되었습니다. 활성화하려면 앱을 다시 시작하세요.',
'channels.telegram.connect': '연결',
'channels.telegram.managedDmConnecting': '관리형 DM 연결 중',
'channels.telegram.managedDmTimeout': '관리형 DM 시간이 초과됨',
'channels.telegram.reconnect': '다시 연결',
'channels.telegram.savedRestartRequired':
'채널이 저장되었습니다. 활성화하려면 앱을 다시 시작하세요.',
'channels.web.alwaysAvailable': '항상 사용 가능',
'channels.discord.displayName': 'Discord',
'channels.discord.description': 'Discord을(를) 통해 메시지를 보내고 받습니다.',
'channels.discord.authMode.bot_token.description': '자신만의 Discord 봇 토큰을 제공하세요.',
'channels.discord.authMode.oauth.description':
'OAuth을 통해 OpenHuman 봇을 Discord 서버에 설치합니다.',
'channels.discord.authMode.managed_dm.description':
'개인 Discord 계정을 OpenHuman 봇에 연결하세요.',
'channels.discord.fields.bot_token.label': '봇 토큰',
'channels.discord.fields.bot_token.placeholder': '귀하의 Discord 봇 토큰',
'channels.discord.fields.guild_id.label': '서버(길드) ID',
'channels.discord.fields.guild_id.placeholder': '선택 사항: 특정 서버로 제한',
'channels.telegram.displayName': 'Telegram',
'channels.telegram.description': '메시지 보내기 및 받기 Telegram.',
'channels.telegram.authMode.managed_dm.description':
'OpenHuman Telegram 봇에게 직접 메시지를 보냅니다.',
'channels.telegram.authMode.bot_token.description':
'@BotFather에서 자신만의 Telegram 봇 토큰을 제공하세요.',
'channels.telegram.fields.bot_token.label': '봇 토큰',
'channels.telegram.fields.bot_token.placeholder': '123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11',
'channels.telegram.fields.allowed_users.label': '허용된 사용자',
'channels.telegram.fields.allowed_users.placeholder': '쉼표로 구분 Telegram 사용자 이름',
'channels.web.displayName': '웹',
'channels.web.description': '내장된 웹 UI를 통해 채팅합니다.',
'channels.web.authMode.managed_dm.description':
'내장된 웹 채팅을 사용하세요. 설정이 필요하지 않습니다.',
'welcome.continueLocallyExperimental': '로컬에서 계속(실험적)',
'channels.yuanbao.connect': 'Connect',
'channels.yuanbao.connecting': 'Connecting…',
'channels.yuanbao.fieldRequired': '{field} is required',
'channels.yuanbao.reconnect': 'Reconnect',
'channels.yuanbao.savedRestartRequired': 'Channel saved. Restart the app to activate it.',
'channels.yuanbao.unexpectedStatus': 'Unexpected connection status: {status}',
'chat.approval.approve': 'Approve',
'chat.approval.alwaysAllow': 'Always allow',
'chat.approval.alwaysAllowHint': 'Stop asking for this tool — add it to your Always-allow list',
'chat.approval.deciding': 'Working…',
'chat.approval.deny': 'Deny',
'chat.approval.error': 'Could not record your decision — try again.',
'chat.approval.fallback': 'The agent wants to run an action that needs your approval.',
'chat.approval.title': 'Approval needed',
'chat.approval.tool': 'Tool:',
};
export default ko3;