- sidecar 슬림화: torch/pyannote 제거, ctranslate2 GPU 감지, /diarize 삭제 - Ollama 번들: resources/ollama/에 포터블 바이너리 배치, LocalLLMService 1순위 탐색 - installer.nsh: VC++ 재배포 x64 자동 다운로드(aka.ms 경유) + 사일런트 설치 - electron-builder: extraResources에 ollama 추가, nsis.include로 installer.nsh 연결 - scripts: download-ollama.ps1/sh 신규 - LLM.PULL_MODEL IPC 핸들러 + LocalLLMService.pullModel() 구현 (api/pull 스트리밍) - 온보딩 모달: gemma4:e4b 미설치 감지 시 자동 표시, 진행률 UI, i18n(ko/en) 키 추가 - .gitlab-ci.yml: Windows 러너에서 sidecar/sox/ollama 준비 후 NSIS 패키징, 태그 시 Release 자동 생성
631 lines
30 KiB
JSON
631 lines
30 KiB
JSON
{
|
|
"app.name": "D3RO Voice",
|
|
"app.tagline": "로컬 AI 음성 어시스턴트",
|
|
"nav.dashboard": "대시보드",
|
|
"nav.history": "히스토리",
|
|
"nav.dictionary": "사전",
|
|
"nav.commands": "명령어",
|
|
"nav.settings": "설정",
|
|
"nav.meetings": "회의",
|
|
"nav.record": "녹음",
|
|
"nav.chat": "채팅",
|
|
"nav.knowledge": "지식 베이스",
|
|
"nav.actions": "액션",
|
|
"nav.teams": "팀",
|
|
"nav.billing": "결제",
|
|
"nav.logout": "로그아웃",
|
|
"login.subtitle": "AI 음성 어시스턴트",
|
|
"login.google": "Google로 계속하기",
|
|
"login.github": "GitHub로 계속하기",
|
|
"login.terms": "계속 진행하면 이용약관 및 개인정보 처리방침에 동의합니다.",
|
|
"dashboard.sessionOverview": "세션 개요",
|
|
"dashboard.systemStatus": "시스템 상태",
|
|
"dashboard.sessionsToday": "오늘 세션",
|
|
"dashboard.pressToRecord": "{{key}}를 눌러 녹음 시작",
|
|
"dashboard.hotkeyNotSet": "핫키 미설정",
|
|
"dashboard.words": "단어",
|
|
"dashboard.total": "전체",
|
|
"dashboard.streak": "연속",
|
|
"dashboard.days": "일",
|
|
"dashboard.recording": "녹음",
|
|
"dashboard.sessions": "세션",
|
|
"dashboard.today": "오늘",
|
|
"dashboard.recentTranscriptions": "최근 전사",
|
|
"dashboard.noHistory": "히스토리 없음 — 핫키를 눌러 녹음을 시작하세요",
|
|
"dashboard.copy": "복사",
|
|
"dashboard.entries": "{{count}}건",
|
|
"dashboard.stat": "통계",
|
|
"dashboard.sys": "시스템",
|
|
"dashboard.currentBackend": "현재 백엔드",
|
|
"dashboard.backendLocal": "로컬 (Ollama)",
|
|
"dashboard.backendPremium": "프리미엄 (Claude)",
|
|
"dashboard.loginRequired": "로그인 필요",
|
|
"history.title": "전사 기록",
|
|
"history.search": "검색...",
|
|
"history.entries": "{{count}}건",
|
|
"history.loading": "로딩...",
|
|
"history.noResults": "검색 결과 없음",
|
|
"history.noHistory": "히스토리 없음 — 녹음을 시작하세요",
|
|
"history.count": "{{count}}건",
|
|
"dictionary.title": "커스텀 사전",
|
|
"dictionary.words": "{{count}}개",
|
|
"dictionary.add": "추가",
|
|
"dictionary.search": "검색...",
|
|
"dictionary.loading": "로딩...",
|
|
"dictionary.noResults": "검색 결과 없음",
|
|
"dictionary.noWords": "단어 없음 — STT 정확도 향상을 위해 커스텀 단어를 추가하세요",
|
|
"dictionary.used": "{{count}}회 사용",
|
|
"dictionary.editTitle": "단어 편집",
|
|
"dictionary.addTitle": "단어 추가",
|
|
"dictionary.word": "단어",
|
|
"dictionary.pronunciation": "발음 (선택)",
|
|
"commands.title": "LLM 명령어",
|
|
"commands.count": "{{count}}개",
|
|
"commands.add": "추가",
|
|
"commands.activeCommand": "활성 명령어",
|
|
"commands.none": "없음",
|
|
"commands.loading": "로딩...",
|
|
"commands.noCommands": "명령어 없음 — 추가를 클릭하여 생성",
|
|
"commands.editTitle": "명령어 편집",
|
|
"commands.addTitle": "명령어 추가",
|
|
"commands.name": "이름",
|
|
"commands.description": "설명",
|
|
"commands.promptTemplate": "프롬프트 템플릿",
|
|
"commands.promptHelp": "{{text}}는 전사된 텍스트로 치환됩니다",
|
|
"commands.defaultPrompt": "{{text}}를 다듬어주세요.",
|
|
"settings.title": "설정",
|
|
"settings.tabs.general": "일반",
|
|
"settings.tabs.audio": "오디오",
|
|
"settings.tabs.stt": "STT",
|
|
"settings.tabs.llm": "LLM",
|
|
"settings.tabs.cloud": "클라우드",
|
|
"settings.tabs.about": "정보",
|
|
"settings.shortcuts": "단축키",
|
|
"settings.dictation": "받아쓰기",
|
|
"settings.dictation.desc": "누른 상태에서 말하기. 키를 놓으면 전사가 시작됩니다.",
|
|
"settings.agent": "Agent 모드",
|
|
"settings.agent.descWithKey": "{{key}}를 두 번 클릭하면 Agent 모드에 진입합니다.",
|
|
"settings.agent.descNoKey": "받아쓰기 핫키를 먼저 설정하세요.",
|
|
"settings.oneTouch": "원터치 모드",
|
|
"settings.oneTouch.desc": "눌러서 시작, 다시 눌러서 중지. 별도 단축키가 필요합니다.",
|
|
"settings.caption": "실시간 자막",
|
|
"settings.caption.desc": "핫키로 자막 모드를 토글합니다. 마이크 입력을 실시간 전사합니다.",
|
|
"settings.captionAudio": "자막 오디오 소스",
|
|
"settings.captionSource": "오디오 소스",
|
|
"settings.captionSource.mic": "마이크만",
|
|
"settings.captionSource.system": "시스템 오디오만 (데스크톱 소리)",
|
|
"settings.captionSource.both": "마이크 + 시스템 오디오",
|
|
"settings.key": "키",
|
|
"settings.notSet": "미설정",
|
|
"settings.enabled": "활성화됨",
|
|
"settings.disabled": "비활성화",
|
|
"settings.interface": "인터페이스",
|
|
"settings.theme": "테마",
|
|
"settings.theme.system": "시스템",
|
|
"settings.theme.light": "라이트",
|
|
"settings.theme.dark": "다크",
|
|
"settings.language": "언어",
|
|
"settings.appBehavior": "앱 동작",
|
|
"settings.closeToTray": "트레이로 최소화",
|
|
"settings.autoLaunch": "시스템 시작 시 자동 실행",
|
|
"settings.autoInsert": "전사 후 자동 텍스트 삽입",
|
|
"settings.soundEffects": "효과음",
|
|
"settings.microphone": "마이크",
|
|
"settings.inputDevice": "입력 장치",
|
|
"settings.deviceDefault": "(기본)",
|
|
"settings.textInsert": "텍스트 삽입",
|
|
"settings.insertMethod": "삽입 방식",
|
|
"settings.insertClipboard": "클립보드 (Ctrl+V)",
|
|
"settings.insertKeyboard": "키보드 타이핑",
|
|
"settings.whisperModel": "Whisper 모델",
|
|
"settings.model.tiny": "tiny (39 MB, 가장 빠름)",
|
|
"settings.model.base": "base (74 MB, 균형)",
|
|
"settings.model.small": "small (244 MB, 양호)",
|
|
"settings.model.medium": "medium (769 MB, 우수)",
|
|
"settings.model.large": "large-v3 (1.5 GB, 최고)",
|
|
"settings.sttLanguage": "인식 언어",
|
|
"settings.sttLang.auto": "자동 감지",
|
|
"settings.ollamaServer": "Ollama 서버",
|
|
"settings.ollamaUrl": "Ollama 서버 URL",
|
|
"settings.ollamaHint": "Ollama가 실행 중이면 자동으로 연결됩니다. 모델은 Ollama에서 직접 pull하세요 (예: ollama pull gemma4:e4b).",
|
|
"settings.llmBackend": "LLM 엔진",
|
|
"settings.backend.local": "Local (Ollama, 무료)",
|
|
"settings.backend.premium": "Premium (Claude AI, 구독)",
|
|
"settings.backend.localHint": "로컬 Ollama 서버로 텍스트를 다듬습니다. 완전 무료, 인터넷 불필요.",
|
|
"settings.backend.premiumHint": "Anthropic Claude AI로 고품질 다듬기. 로그인 + 구독 필요. 네트워크 실패 시 Local로 자동 전환.",
|
|
"settings.llmModel": "LLM 모델",
|
|
"settings.postProcess": "음성 후처리",
|
|
"settings.defaultAction": "기본 후처리 명령어",
|
|
"settings.action.none": "없음 (원본 텍스트 그대로)",
|
|
"settings.action.refine": "다듬기 (문법+자연스러움)",
|
|
"settings.action.translate": "번역",
|
|
"settings.action.summarize": "요약",
|
|
"settings.action.grammar": "문법 교정",
|
|
"settings.action.custom": "커스텀 프롬프트",
|
|
"settings.actionHint": "핫키로 녹음 후 전사된 텍스트에 선택한 LLM 후처리가 적용됩니다. Ollama가 연결되어 있을 때만 동작합니다.",
|
|
"settings.about.version": "버전",
|
|
"settings.about.techStack": "기술 스택",
|
|
"settings.about.techStackValue": "Electron + React 19 + MUI 7 + TypeScript",
|
|
"settings.about.voiceEngine": "음성 엔진",
|
|
"settings.about.voiceEngineValue": "STT: faster-whisper (로컬) / LLM: Ollama (로컬)",
|
|
"settings.about.description": "Speakly 리버스엔지니어링 노하우 기반 로컬 AI 음성 어시스턴트. 클라우드 의존성 없이 완전 로컬로 동작합니다.",
|
|
"settings.about.restartOnboarding": "초기 설정 안내 다시 보기",
|
|
"status.ollama": "OLLAMA",
|
|
"status.offline": "OFFLINE",
|
|
"status.nudge.title": "Ollama가 실행되지 않고 있어요",
|
|
"status.nudge.desc": "LLM 후처리(번역, 요약 등)를 사용하려면 Ollama가 필요합니다.",
|
|
"status.nudge.guide": "설치 안내 보기 →",
|
|
"onboarding.welcome.title": "D3RO-VOICE",
|
|
"onboarding.welcome.desc": "타이핑 없이, 음성으로. 로컬 AI 음성 어시스턴트입니다.",
|
|
"onboarding.welcome.start": "시작하기",
|
|
"onboarding.mic.title": "마이크 설정",
|
|
"onboarding.mic.desc": "사용할 마이크를 선택하세요. 나중에 설정에서 변경할 수 있습니다.",
|
|
"onboarding.hotkey.title": "단축키 설정",
|
|
"onboarding.hotkey.desc": "받아쓰기 단축키를 설정하세요. 키를 누르고 있는 동안 녹음됩니다.",
|
|
"onboarding.hotkey.notSet": "단축키가 설정되지 않았습니다",
|
|
"onboarding.hotkey.change": "단축키 변경",
|
|
"onboarding.hotkey.set": "단축키 설정",
|
|
"onboarding.ollama.title": "Ollama 설치 (선택)",
|
|
"onboarding.ollama.desc": "번역, 요약 등 LLM 후처리를 사용하려면 Ollama가 필요합니다. 음성 받아쓰기 자체는 Ollama 없이도 동작합니다.",
|
|
"onboarding.ollama.download": "Ollama 다운로드",
|
|
"onboarding.ollama.modelHint": "설치 후 터미널에서 모델을 다운로드하세요",
|
|
"onboarding.cloud.title": "Cloud Sync (선택)",
|
|
"onboarding.cloud.tagline": "로컬만으로도 충분히 작동합니다. 원할 때 로그인하면 더 많은 기능이 잠금 해제됩니다.",
|
|
"onboarding.cloud.benefit1": "여러 기기에서 히스토리 · 회의록 자동 동기화",
|
|
"onboarding.cloud.benefit2": "Premium LLM (Claude, GPT-4) 사용",
|
|
"onboarding.cloud.benefit3": "팀 공유 · 백업 · 웹 앱 접속",
|
|
"onboarding.cloud.signInLater": "설정에서 언제든지 로그인",
|
|
"onboarding.done.title": "설정 완료!",
|
|
"onboarding.done.descWithKey": "{{key}} 키를 누르고 말하면 음성이 텍스트로 변환됩니다.",
|
|
"onboarding.done.descNoKey": "설정에서 단축키를 지정하면 음성 받아쓰기를 시작할 수 있습니다.",
|
|
"onboarding.done.start": "시작하기",
|
|
"onboarding.back": "뒤로",
|
|
"onboarding.next": "다음",
|
|
"hotkey.title": "단축키 설정",
|
|
"hotkey.dictationTitle": "받아쓰기 단축키 설정",
|
|
"hotkey.oneTouchTitle": "원터치 모드 단축키 설정",
|
|
"hotkey.captionTitle": "실시간 자막 단축키 설정",
|
|
"hotkey.prompt": "키 조합을 눌러주세요...",
|
|
"hotkey.ready": "✓ {{keys}} — 저장을 눌러주세요",
|
|
"hotkey.noKey": "키를 입력해주세요",
|
|
"hotkey.reserved": "{{keys}}은 시스템 예약 단축키입니다",
|
|
"hotkey.current": "현재: {{keys}}",
|
|
"hotkey.hint": "조합키(예: Ctrl+Shift+Q) 또는 단일키(예: F5)를 입력하세요",
|
|
"hotkey.reset": "다시 입력",
|
|
"ollama.title": "OLLAMA SETUP GUIDE",
|
|
"ollama.step1.title": "STEP 1 — Ollama 설치",
|
|
"ollama.step1.desc": "Ollama는 로컬에서 LLM을 실행하는 무료 도구입니다.",
|
|
"ollama.step2.title": "STEP 2 — 모델 다운로드",
|
|
"ollama.step2.desc": "터미널에서 원하는 모델을 pull하세요. 한국어에 추천:",
|
|
"ollama.step2.alt": "또는 더 큰 모델: ollama pull gemma4:26b (더 정확, 더 느림)",
|
|
"ollama.step3.title": "STEP 3 — 자동 연결",
|
|
"ollama.step3.desc": "Ollama가 실행되면 D3RO-VOICE가 자동으로 감지합니다. 하단 상태 바의 LED가 빨간색에서 초록색으로 바뀌면 준비 완료!",
|
|
"service.sttEngine": "STT ENGINE",
|
|
"service.ollamaLlm": "OLLAMA LLM",
|
|
"service.hotkeyHook": "HOTKEY HOOK",
|
|
"service.audioInput": "AUDIO INPUT",
|
|
"service.ready": "READY",
|
|
"service.connected": "CONNECTED",
|
|
"service.offline": "OFFLINE",
|
|
"service.active": "ACTIVE",
|
|
"service.standby": "STANDBY",
|
|
"service.premiumLlm": "PREMIUM LLM",
|
|
"service.notConfigured": "NOT SET",
|
|
"common.cancel": "취소",
|
|
"common.save": "저장",
|
|
"common.delete": "삭제",
|
|
"common.add": "추가",
|
|
"common.edit": "편집",
|
|
"common.close": "닫기",
|
|
"common.confirm": "확인",
|
|
"common.loading": "로딩...",
|
|
"common.copy": "복사",
|
|
"common.test": "테스트",
|
|
"common.stop": "중지",
|
|
"memo.tags": "태그",
|
|
"memo.addTag": "태그 추가",
|
|
"memo.removeTag": "태그 제거",
|
|
"memo.tagPlaceholder": "태그 입력 후 Enter",
|
|
"memo.noTags": "태그 없음",
|
|
"memo.export": "마크다운 내보내기",
|
|
"memo.exportSuccess": "내보내기 완료",
|
|
"memo.filterByTag": "태그로 필터",
|
|
"memo.allTags": "전체 태그",
|
|
"memo.clearFilter": "필터 해제",
|
|
"voiceCommand.title": "음성 명령어",
|
|
"voiceCommand.enabled": "음성 키워드 인식",
|
|
"voiceCommand.enabledDesc": "전사 시작 시 키워드를 감지하여 명령어를 자동 선택합니다.",
|
|
"voiceCommand.keywords": "키워드",
|
|
"voiceCommand.keywordPlaceholder": "키워드 입력 후 Enter",
|
|
"voiceCommand.noKeywords": "키워드 없음",
|
|
"voiceCommand.matchMode": "매칭 모드",
|
|
"voiceCommand.matchMode.prefix": "앞부분 일치",
|
|
"voiceCommand.matchMode.suffix": "뒷부분 일치",
|
|
"voiceCommand.matchMode.contains": "포함",
|
|
"chain.title": "LLM 체인",
|
|
"chain.count": "{{count}}개",
|
|
"chain.add": "체인 추가",
|
|
"chain.editTitle": "체인 편집",
|
|
"chain.addTitle": "체인 추가",
|
|
"chain.name": "체인 이름",
|
|
"chain.steps": "단계",
|
|
"chain.addStep": "단계 추가",
|
|
"chain.removeStep": "제거",
|
|
"chain.inputSource": "입력 소스",
|
|
"chain.inputSource.original": "원본 텍스트",
|
|
"chain.inputSource.previous": "이전 단계 결과",
|
|
"chain.selectInstruction": "명령어 선택",
|
|
"chain.execute": "실행",
|
|
"chain.executing": "실행 중...",
|
|
"chain.noChains": "체인 없음 — 여러 명령어를 순차 실행하는 파이프라인을 만들어 보세요",
|
|
"chain.step": "{{n}}단계",
|
|
"chain.progress": "{{current}}/{{total}} 단계 처리 중",
|
|
"context.title": "화면 컨텍스트",
|
|
"context.enabled": "스크린 컨텍스트",
|
|
"context.enabledDesc": "녹음 시작 시 활성 앱과 선택된 텍스트를 캡처하여 LLM에 전달합니다.",
|
|
"dashboard.caption": "실시간 자막",
|
|
"dashboard.captionStart": "자막 시작",
|
|
"dashboard.captionStop": "자막 종료",
|
|
"dashboard.captionActive": "자막 활성",
|
|
"settings.voiceCommands": "음성 명령어",
|
|
"settings.voiceCommands.desc": "전사된 텍스트에서 키워드를 감지하여 명령어를 자동 선택합니다.",
|
|
"settings.screenContext": "화면 컨텍스트",
|
|
"settings.screenContext.desc": "녹음 시 활성 앱 정보와 선택된 텍스트를 LLM에 함께 전달합니다.",
|
|
"date.today": "오늘",
|
|
"date.yesterday": "어제",
|
|
"license.title": "라이선스",
|
|
"license.currentTier": "현재 등급",
|
|
"license.free": "FREE",
|
|
"license.pro": "PRO",
|
|
"license.proPlus": "PRO+",
|
|
"license.subscribe": "구독하기",
|
|
"license.upgrade": "업그레이드",
|
|
"license.currentPlan": "현재 구독 중",
|
|
"license.proPlan": "Pro — ₩9,900/월",
|
|
"license.proPlusPlan": "Pro+ — ₩29,900/월",
|
|
"license.quotaUsed": "{{used}}/{{limit}} 사용",
|
|
"license.quotaUnlimited": "무제한",
|
|
"license.tierComparison": "등급 비교",
|
|
"license.dailyUsage": "일일 사용량",
|
|
"license.feature.dictation": "받아쓰기",
|
|
"license.feature.llm_process": "LLM 처리",
|
|
"license.feature.live_caption": "실시간 자막",
|
|
"license.feature.screen_context": "화면 컨텍스트",
|
|
"license.feature.voice_command": "음성 명령어",
|
|
"license.feature.llm_chain": "LLM 체인",
|
|
"license.feature.voice_memo": "음성 메모",
|
|
"license.feature.history_unlimited": "무제한 히스토리",
|
|
"license.feature.history_export": "히스토리 내보내기",
|
|
"license.feature.custom_instruction_create": "커스텀 명령어 생성",
|
|
"license.feature.file_transcription": "파일 전사",
|
|
"license.feature.voice_conversation": "음성 대화",
|
|
"license.feature.dictation_template": "받아쓰기 템플릿",
|
|
"license.feature.meeting_summary": "회의 요약",
|
|
"license.feature.local_rag": "로컬 RAG",
|
|
"license.feature.os_automation": "OS 자동화",
|
|
"license.feature.llmProcess": "LLM 처리",
|
|
"license.feature.liveCaption": "실시간 자막",
|
|
"license.feature.screenContext": "화면 컨텍스트",
|
|
"license.feature.voiceCommand": "음성 명령어",
|
|
"license.feature.llmChain": "LLM 체인",
|
|
"license.feature.voiceMemo": "음성 메모",
|
|
"license.feature.historyUnlimited": "무제한 히스토리",
|
|
"license.feature.historyExport": "히스토리 내보내기",
|
|
"license.feature.customInstruction": "커스텀 명령어 생성",
|
|
"license.feature.fileTranscription": "파일 전사",
|
|
"license.feature.voiceConversation": "음성 대화",
|
|
"license.feature.dictationTemplate": "받아쓰기 템플릿",
|
|
"license.feature.meetingSummary": "회의 요약",
|
|
"license.feature.localRag": "로컬 RAG",
|
|
"license.feature.osAutomation": "OS 자동화",
|
|
"license.pro.required": "PRO 필요",
|
|
"license.proPlus.required": "PRO+ 필요",
|
|
"license.included": "포함",
|
|
"license.notIncluded": "미포함",
|
|
"license.quotaExceeded.title": "오늘의 {{feature}}을(를) 모두 사용했습니다",
|
|
"license.quotaExceeded.desc": "Pro로 업그레이드하면 무제한으로 사용할 수 있습니다",
|
|
"license.tierRequired.title": "{{feature}}은(는) {{tier}} 기능입니다",
|
|
"license.tierRequired.desc": "{{tier}}로 업그레이드하여 잠금을 해제하세요",
|
|
"license.loginRequired.title": "{{feature}}은(는) 로그인이 필요합니다",
|
|
"license.loginRequired.desc": "클라우드 기능을 사용하려면 로그인하세요. 로컬 기능은 로그인 없이도 계속 사용할 수 있습니다.",
|
|
"license.loginRequired.signIn": "로그인하기",
|
|
"license.tryTomorrow": "내일 다시 사용하기",
|
|
"license.learnMore": "알아보기",
|
|
"license.upgradeBenefits": "업그레이드 혜택",
|
|
"license.benefit.unlimitedDictation": "무제한 받아쓰기",
|
|
"license.benefit.unlimitedLLM": "무제한 AI 다듬기",
|
|
"license.benefit.liveCaption": "실시간 자막",
|
|
"license.benefit.unlimitedHistory": "히스토리 무제한 보존",
|
|
"license.usageToday": "오늘 사용량",
|
|
"license.perDay": "회/일",
|
|
"license.unlimited": "무제한",
|
|
"license.locked": "잠금",
|
|
"license.nav": "라이선스",
|
|
"license.signInRequired": "구독을 관리하려면 로그인하세요",
|
|
"license.signInToUpgrade": "로그인 후 업그레이드",
|
|
"license.subscriptionActive": "구독 활성",
|
|
"license.subscriptionManage": "구독 관리",
|
|
"license.upgradeToProDesc": "프리미엄 AI 모델, 클라우드 동기화 등 모든 기능을 사용하세요",
|
|
"license.currentPlanActive": "현재 구독 중",
|
|
"license.openBillingPage": "결제 페이지 열기",
|
|
"license.premiumQuota": "프리미엄 쿼터",
|
|
"license.modelHaiku": "Haiku",
|
|
"license.modelSonnet": "Sonnet",
|
|
"license.modelOpus": "Opus",
|
|
"license.quotaWeekly": "주간",
|
|
"license.quotaDaily": "일간",
|
|
"fileTranscription.title": "파일 전사",
|
|
"fileTranscription.dropZone": "오디오/비디오 파일을 여기에 드래그하세요",
|
|
"fileTranscription.dropZoneHint": "MP3, WAV, M4A, MP4, MKV, WEBM 지원",
|
|
"fileTranscription.converting": "변환 중...",
|
|
"fileTranscription.processing": "전사 중...",
|
|
"fileTranscription.progress": "청크 {{current}} / {{total}}",
|
|
"fileTranscription.complete": "전사 완료",
|
|
"fileTranscription.copyAll": "전체 복사",
|
|
"fileTranscription.cancel": "취소",
|
|
"fileTranscription.retry": "다시 시도",
|
|
"fileTranscription.error.invalidFormat": "지원하지 않는 파일 형식입니다",
|
|
"fileTranscription.error.unknown": "알 수 없는 오류",
|
|
"meetingSummary.title": "회의록 요약",
|
|
"meetingSummary.generating": "요약 생성 중...",
|
|
"meetingSummary.summary": "요약",
|
|
"meetingSummary.decisions": "핵심 결정사항",
|
|
"meetingSummary.actionItems": "할 일 목록",
|
|
"meetingSummary.exportMarkdown": "마크다운 내보내기",
|
|
"meetingSummary.noSummary": "요약이 없습니다",
|
|
"meetingSummary.generate": "요약 생성",
|
|
"template.title": "딕테이션 템플릿",
|
|
"template.create": "새 템플릿",
|
|
"template.edit": "템플릿 편집",
|
|
"template.delete": "삭제",
|
|
"template.name": "템플릿 이름",
|
|
"template.description": "설명",
|
|
"template.fields": "필드",
|
|
"template.addField": "필드 추가",
|
|
"template.fieldName": "필드명",
|
|
"template.fieldLabel": "라벨",
|
|
"template.fieldPrompt": "음성 안내",
|
|
"template.outputFormat": "출력 포맷",
|
|
"template.startSession": "시작",
|
|
"template.cancelSession": "세션 취소",
|
|
"template.empty": "템플릿이 없습니다",
|
|
"nav.conversation": "대화",
|
|
"conversation.title": "음성 대화",
|
|
"conversation.idle": "대기",
|
|
"conversation.listening": "듣는 중",
|
|
"conversation.thinking": "생각 중",
|
|
"conversation.speaking": "말하는 중",
|
|
"conversation.empty": "D3RO에게 말을 걸어보세요",
|
|
"conversation.emptyHint": "마이크 버튼을 누르거나 텍스트를 입력하세요",
|
|
"conversation.inputPlaceholder": "메시지 입력...",
|
|
"conversation.end": "종료",
|
|
"conversation.clearHistory": "대화 초기화",
|
|
"conversation.recording.hint": "말씀하세요 · ⏹로 전송",
|
|
"conversation.thinking.placeholder": "응답 대기 중…",
|
|
"conversation.state.recording": "녹음 중",
|
|
"conversation.error.phase.stt": "음성 인식",
|
|
"conversation.error.phase.llm": "응답 생성",
|
|
"conversation.error.phase.tts": "음성 재생",
|
|
"conversation.error.noSpeech": "음성이 감지되지 않았습니다. 마이크를 확인하고 다시 말씀해 주세요.",
|
|
"rag.title": "지식 베이스",
|
|
"rag.addDocument": "문서 추가",
|
|
"rag.documents": "문서",
|
|
"rag.noDocuments": "문서가 없습니다",
|
|
"rag.chunks": "청크",
|
|
"rag.indexed": "인덱싱 완료",
|
|
"rag.pending": "대기 중",
|
|
"rag.indexing": "인덱싱 중",
|
|
"rag.reindex": "재인덱싱",
|
|
"rag.askQuestion": "질문하기",
|
|
"rag.queryPlaceholder": "문서에 대해 질문하세요...",
|
|
"rag.searching": "검색 중...",
|
|
"rag.sources": "참조 문서",
|
|
"rag.adding": "추가 중...",
|
|
"rag.parsing": "문서 분석 중...",
|
|
"voiceAction.title": "음성 액션",
|
|
"voiceAction.execute": "실행",
|
|
"voiceAction.presets": "프리셋 명령",
|
|
"voiceAction.history": "실행 이력",
|
|
"voiceAction.noHistory": "실행 이력이 없습니다",
|
|
"voiceAction.blocked": "차단됨 (위험 명령)",
|
|
"voiceAction.executed": "실행됨",
|
|
"settings.theme.nord": "Nord",
|
|
"settings.theme.solarized": "Solarized",
|
|
"settings.theme.catppuccin": "Catppuccin",
|
|
"settings.theme.dracula": "Dracula",
|
|
"settings.sttLang.ko": "한국어",
|
|
"settings.sttLang.en": "English",
|
|
"settings.sttLang.ja": "日本語",
|
|
"settings.sttLang.zh": "中文",
|
|
"template.outputHelperText": "{{필드명}} 형식으로 플레이스홀더를 사용하세요",
|
|
"nav.meeting": "회의",
|
|
"meeting.title": "회의 모드",
|
|
"meeting.newMeeting": "새 회의",
|
|
"meeting.startRecording": "녹음 시작",
|
|
"meeting.stopRecording": "녹음 종료",
|
|
"meeting.recording": "녹음 중",
|
|
"meeting.processing": "회의록 생성 중...",
|
|
"meeting.completed": "완료",
|
|
"meeting.error": "오류",
|
|
"meeting.elapsed": "경과 시간",
|
|
"meeting.memoPlaceholder": "메모 입력 (Enter로 추가)",
|
|
"meeting.memoAdded": "메모 추가됨",
|
|
"meeting.noSessions": "회의 녹음이 없습니다",
|
|
"meeting.noSessionsDesc": "새 회의 버튼을 눌러 녹음을 시작하세요",
|
|
"meeting.summary": "요약",
|
|
"meeting.decisions": "결정사항",
|
|
"meeting.actionItems": "할 일",
|
|
"meeting.timeline": "타임라인",
|
|
"meeting.transcript": "원문 전사",
|
|
"meeting.memos": "메모",
|
|
"meeting.exportPdf": "PDF 내보내기",
|
|
"meeting.exportMarkdown": "마크다운 내보내기",
|
|
"meeting.delete": "삭제",
|
|
"meeting.deleteConfirm": "이 회의록을 삭제하시겠습니까?",
|
|
"meeting.backToList": "목록으로",
|
|
"meeting.notificationTitle": "회의록 준비 완료",
|
|
"meeting.notificationBody": "회의록이 생성되었습니다. 클릭하여 확인하세요.",
|
|
"meeting.sessions": "{{count}}건",
|
|
"meeting.duration": "{{minutes}}분",
|
|
"meeting.editTitle": "제목 편집",
|
|
"meeting.untitled": "무제 회의",
|
|
"meeting.processingStep.merging": "전사 텍스트 합산 중...",
|
|
"meeting.processingStep.generating": "LLM 회의록 생성 중...",
|
|
"meeting.processingStep.parsing": "회의록 파싱 중...",
|
|
"meeting.processingStep.saving": "저장 중...",
|
|
"meeting.processingStep.notifying": "완료 알림 중...",
|
|
"meeting.transcriptTab": "전사",
|
|
"meeting.addDocument": "문서 추가",
|
|
"meeting.selectTemplate": "템플릿 선택",
|
|
"meeting.generate": "생성",
|
|
"meeting.generating": "문서 생성 중...",
|
|
"meeting.editMode": "편집",
|
|
"meeting.previewMode": "미리보기",
|
|
"meeting.modified": "수정됨",
|
|
"meeting.originalText": "원본 보기",
|
|
"meeting.editedText": "수정본 보기",
|
|
"meeting.exportDocx": "DOCX 내보내기",
|
|
"meeting.exportTxt": "TXT 내보내기",
|
|
"meeting.exportFormat": "내보내기",
|
|
"meeting.customPrompt": "커스텀 프롬프트",
|
|
"meeting.templateName": "템플릿 이름",
|
|
"meeting.templatePrompt": "AI 프롬프트",
|
|
"meeting.templateSave": "템플릿 저장",
|
|
"meeting.documentDeleted": "문서가 삭제되었습니다",
|
|
"meeting.autoSaved": "자동 저장됨",
|
|
"meeting.minutesTemplate": "회의록",
|
|
"meeting.reportTemplate": "보고서",
|
|
"meeting.ideaNoteTemplate": "아이디어 노트",
|
|
"meeting.customTemplate": "커스텀",
|
|
"meeting.downloadTranscript": "전사 다운로드",
|
|
"meeting.polish": "AI 다듬기",
|
|
"meeting.polishing": "AI가 전사를 다듬는 중...",
|
|
"meeting.polished": "AI 다듬기 완료",
|
|
"meeting.mindmapTemplate": "마인드맵",
|
|
"meeting.chat": "AI 채팅",
|
|
"meeting.chatPlaceholder": "회의 내용에 대해 질문하세요...",
|
|
"meeting.chatSend": "전송",
|
|
"meeting.chatClear": "대화 초기화",
|
|
"meeting.copyToClipboard": "클립보드 복사",
|
|
"meeting.copied": "복사됨",
|
|
"meeting.chatCollapse": "채팅 접기",
|
|
"meeting.chatExpand": "채팅 펼치기",
|
|
"meeting.chatReasoning": "추론 중…",
|
|
"meeting.exportMd": "Markdown (.md)",
|
|
"meeting.exportPdfFmt": "PDF (.pdf)",
|
|
"meeting.polishFailed": "AI 다듬기에 실패했습니다",
|
|
"meeting.viewDetailError": "회의 상세 정보를 불러오지 못했습니다",
|
|
"meeting.startRecordingError": "녹음을 시작하지 못했습니다",
|
|
"meeting.diarize": "화자 구분",
|
|
"meeting.diarizing": "화자를 구분하는 중...",
|
|
"meeting.diarizeComplete": "화자 구분 완료",
|
|
"meeting.speaker": "화자",
|
|
"settings.hfToken": "HuggingFace 토큰",
|
|
"settings.hfTokenHint": "화자 구분을 위해 HuggingFace 토큰이 필요합니다",
|
|
"settings.diarization": "화자 구분",
|
|
"settings.diarizationHint": "녹음 종료 후 화자를 자동으로 구분합니다",
|
|
"theme.label": "테마",
|
|
"theme.dark": "다크",
|
|
"theme.light": "라이트",
|
|
"theme.auto": "자동 (시스템)",
|
|
"theme.nord": "노드",
|
|
"theme.solarized": "솔라라이즈드",
|
|
"theme.catppuccin": "카푸치노",
|
|
"theme.dracula": "드라큘라",
|
|
|
|
"mobile.dash.title": "D3RO-VOICE",
|
|
"mobile.dash.sessionOverview": "SESSION OVERVIEW",
|
|
"mobile.dash.today": "TODAY",
|
|
"mobile.dash.words": "WORDS",
|
|
"mobile.dash.streak": "STREAK",
|
|
"mobile.dash.rec": "REC",
|
|
"mobile.dash.min": "MIN",
|
|
"mobile.dash.backend": "BACKEND",
|
|
"mobile.dash.tier": "TIER",
|
|
"mobile.dash.free": "FREE",
|
|
"mobile.dash.tapToRecord": "REC 탭을 눌러 녹음 시작",
|
|
"mobile.dash.usage": "USAGE",
|
|
"mobile.dash.dictation": "받아쓰기",
|
|
"mobile.dash.llmProcess": "LLM 처리",
|
|
"mobile.dash.premiumQuota": "프리미엄 쿼터",
|
|
"mobile.dash.unlimited": "무제한",
|
|
|
|
"mobile.hist.title": "HISTORY",
|
|
"mobile.hist.all": "ALL",
|
|
"mobile.hist.saved": "SAVED",
|
|
"mobile.hist.processing": "PROC",
|
|
"mobile.hist.empty": "아직 기록이 없습니다. 녹음을 시작해보세요!",
|
|
|
|
"mobile.rec.title": "RECORDER",
|
|
"mobile.rec.session": "REC_SESSION",
|
|
"mobile.rec.ready": "READY",
|
|
"mobile.rec.recording": "RECORDING",
|
|
"mobile.rec.processing": "PROCESSING",
|
|
"mobile.rec.done": "DONE",
|
|
"mobile.rec.error": "ERROR",
|
|
"mobile.rec.start": "START RECORDING",
|
|
"mobile.rec.stop": "STOP",
|
|
"mobile.rec.cancel": "CANCEL",
|
|
"mobile.rec.newRecording": "NEW RECORDING",
|
|
"mobile.rec.listening": "LISTENING_",
|
|
"mobile.rec.realtime": "REAL-TIME TRANSCRIPT",
|
|
"mobile.rec.initLog": "> initializing voice recording protocol...",
|
|
"mobile.rec.micDenied": "마이크 권한이 거부되었습니다",
|
|
"mobile.rec.supabaseNotConfigured": "Supabase가 설정되지 않았습니다",
|
|
"mobile.rec.loginRequired": "로그인이 필요합니다",
|
|
|
|
"mobile.talk.title": "TALK",
|
|
"mobile.talk.live": "LIVE",
|
|
"mobile.talk.you": "YOU",
|
|
"mobile.talk.claude": "CLAUDE",
|
|
"mobile.talk.placeholder": "입력하거나 말하세요...",
|
|
"mobile.talk.greeting": "안녕하세요! 무엇을 도와드릴까요?",
|
|
|
|
"mobile.set.title": "설정",
|
|
"mobile.set.accountPlan": "ACCOUNT & PLAN",
|
|
"mobile.set.backendConfig": "BACKEND CONFIG",
|
|
"mobile.set.preferences": "PREFERENCES",
|
|
"mobile.set.llmModel": "LLM Model",
|
|
"mobile.set.llmDesc": "AI processing backend",
|
|
"mobile.set.cloudStt": "Cloud STT",
|
|
"mobile.set.cloudSttDesc": "Google Cloud Speech",
|
|
"mobile.set.language": "Language",
|
|
"mobile.set.autoPolish": "Auto Polish",
|
|
"mobile.set.haptic": "Haptic Feedback",
|
|
"mobile.set.logout": "LOGOUT",
|
|
"mobile.set.logoutConfirm": "정말 로그아웃 하시겠습니까?",
|
|
"mobile.set.connected": "CLOUD CONNECTED",
|
|
|
|
"mobile.login.title": "D3RO-VOICE",
|
|
"mobile.login.subtitle": "PRECISION VOICE INTELLIGENCE",
|
|
"mobile.login.google": "Google로 로그인",
|
|
"mobile.login.apple": "Apple로 로그인",
|
|
"mobile.login.github": "GitHub로 로그인",
|
|
"mobile.login.or": "또는",
|
|
"mobile.login.email": "EMAIL",
|
|
"mobile.login.password": "PASSWORD",
|
|
"mobile.login.signIn": "로그인",
|
|
"mobile.login.noAccount": "계정이 없으신가요?",
|
|
"mobile.login.signUp": "회원가입",
|
|
"mobile.login.notConfigured": "Supabase가 설정되지 않았습니다. EXPO_PUBLIC_SUPABASE_URL을 .env에 설정하세요.",
|
|
|
|
"mobile.status.model": "CLOUD CLAUDE",
|
|
"mobile.status.link": "PRECISION DATA LINK",
|
|
|
|
"date.today": "TODAY",
|
|
"date.yesterday": "YESTERDAY",
|
|
|
|
"onboarding.title": "D3RO Voice 초기 설정",
|
|
"onboarding.subtitle": "음성 어시스턴트 사용에 필요한 모델을 다운로드합니다.",
|
|
"onboarding.llmModelMissing": "AI 모델({model})이 설치되어 있지 않습니다.",
|
|
"onboarding.llmModelSize": "크기: 약 9.6GB — 네트워크 속도에 따라 10~30분 소요",
|
|
"onboarding.download": "다운로드 시작",
|
|
"onboarding.cancel": "나중에",
|
|
"onboarding.close": "닫기",
|
|
"onboarding.downloading": "다운로드 중…",
|
|
"onboarding.status": "상태: {status}",
|
|
"onboarding.success": "설치 완료! 이제 사용할 수 있습니다.",
|
|
"onboarding.failed": "다운로드 실패: {message}",
|
|
"onboarding.retry": "재시도",
|
|
"onboarding.ollamaNotRunning": "Ollama 서버가 실행되지 않았습니다. 잠시 후 다시 시도하세요."
|
|
}
|