Phase 10~11 전체 구현: 킬러 피처 5종 + 수익화 시스템
Phase 10 킬러 피처: - MemoService: 태그 CRUD + 마크다운 내보내기 (memo_tags DB) - VoiceCommandService: 키워드→명령어 매칭, 프리셋 4종 - ScreenContextService: PowerShell 활성 윈도우 + Ctrl+C 선택 텍스트 - ChainService: LLM 명령어 순차 실행 파이프라인 - CaptionService: 6초 청크 연속 전사 + 시스템 오디오 루프백 VoiceModeService 파이프라인 통합: - 녹음 시작 → 컨텍스트 캡처 → STT → 키워드 매칭 → LLM(체인/컨텍스트 주입) → 삽입 시스템 오디오 캡처: - setDisplayMediaRequestHandler + audio: 'loopback' (IPC 브릿지) - electron-audio-loopback 패키지 contextIsolation 호환 불가 → 직접 구현 Phase 11 수익화: - LicenseService: Free/Pro/Pro+ 3티어, LemonSqueezy API - Feature Gate: requireFeature/checkFeature/consumeFeature - 일일 쿼터: Free dictation 20/일, LLM 10/일 (SQLite daily_usage) - LicenseModal, ProBadge, UpgradePromptModal UI 디자인 보강: - d3roTypo(13종), d3roShadow(10종), d3roRadius(7종) 토큰 시스템 - ScreenPanel, ButtonGroup DS 컴포넌트 신규 - PhosphorText 4→13종 변형, MetalDial conic-gradient 광택 - 공유 컴포넌트: EmptyStateCard, SearchInput, PageHeader, HistoryEntryCard 기타: - 자막 핫키 SSOT 전체 연동 (Config→Hotkey→VoiceMode→Caption→Settings) - StatusBar 자막 LED + 효과음, 자막 로딩 UI - LLM 상태 이벤트 전파 수정 (폴링 제거 → onStatusChanged) - 커맨드 팝업 "선택 해제" 항목 추가
This commit is contained in:
parent
36d77ca224
commit
a31f96bbb8
97 changed files with 11853 additions and 1143 deletions
208
src/renderer/i18n/zh-TW.json
Normal file
208
src/renderer/i18n/zh-TW.json
Normal file
|
|
@ -0,0 +1,208 @@
|
|||
{
|
||||
"app.name": "D3RO Voice",
|
||||
"app.tagline": "本地AI語音助手",
|
||||
|
||||
"nav.dashboard": "儀表板",
|
||||
"nav.history": "歷史記錄",
|
||||
"nav.dictionary": "辭典",
|
||||
"nav.commands": "指令",
|
||||
"nav.settings": "設定",
|
||||
|
||||
"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": "系統",
|
||||
|
||||
"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.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.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 qwen3:4b)。",
|
||||
"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.done.title": "設定完成!",
|
||||
"onboarding.done.descWithKey": "按住 {{key}} 鍵說話,語音即可轉換為文字。",
|
||||
"onboarding.done.descNoKey": "在設定中指定快速鍵後即可開始語音聽寫。",
|
||||
"onboarding.done.start": "開始",
|
||||
"onboarding.back": "返回",
|
||||
"onboarding.next": "下一步",
|
||||
|
||||
"hotkey.title": "快速鍵設定",
|
||||
"hotkey.dictationTitle": "設定聽寫快速鍵",
|
||||
"hotkey.oneTouchTitle": "設定一鍵模式快速鍵",
|
||||
"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 qwen3:8b(更精準,速度較慢)",
|
||||
"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",
|
||||
|
||||
"common.cancel": "取消",
|
||||
"common.save": "儲存",
|
||||
"common.delete": "刪除",
|
||||
"common.add": "新增",
|
||||
"common.edit": "編輯",
|
||||
"common.close": "關閉",
|
||||
"common.confirm": "確認",
|
||||
"common.loading": "載入中...",
|
||||
"common.copy": "複製",
|
||||
"common.test": "測試",
|
||||
"common.stop": "停止",
|
||||
|
||||
"date.today": "今天",
|
||||
"date.yesterday": "昨天"
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue