mirror of
https://github.com/tinyhumansai/openhuman.git
synced 2026-07-27 21:08:00 +00:00
504 lines
29 KiB
TypeScript
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;
|