- 五语 PC/手机页文案取云端指纹核验版;de/es/fr 全套补译(指纹 6 键、保亮屏 4 键、恢复 4 键、中断/离线 2 键) - index.html:帮助块改为指纹核验流程 + 录音屏新增保亮屏开关(默认开) - RemoteInputStatus 补 caFingerprintSha256;Linux egui 面板移植指纹显示与复制 - remote-input-audio-queue 测试取云端(#1049 音频队列改造),我方仅格式差异
2057 lines
101 KiB
TypeScript
2057 lines
101 KiB
TypeScript
import type { zhCN } from './zh-CN';
|
||
|
||
// 繁體中文資源 — 與產品當前文案保持一致。
|
||
// 新增 key 時,必須同步更新 en.ts,避免切換到 English 後出現中文殘留。
|
||
|
||
export const zhTW: typeof zhCN = {
|
||
cloudSync: {
|
||
title: '雲端同步',
|
||
description: '使用 GitHub 帳號,在裝置之間同步詞典、風格與個人偏好。',
|
||
signIn: '使用 GitHub 登入',
|
||
account: '同步帳號',
|
||
refresh: '重新整理狀態',
|
||
loading: '正在讀取雲端狀態…',
|
||
noBackup: '雲端尚無備份',
|
||
available: '雲端備份已就緒',
|
||
summary: '{{dictionary}} 個詞條 · {{corrections}} 條修正规則 · {{stylePacks}} 個風格',
|
||
updated: '更新於 {{time}}',
|
||
upload: '備份至雲端',
|
||
restore: '從雲端還原',
|
||
delete: '刪除雲端備份',
|
||
working: '正在同步…',
|
||
uploadSuccess: '已備份至雲端',
|
||
restoreSuccess: '已還原雲端設定',
|
||
deleteSuccess: '已刪除雲端備份',
|
||
failed: '同步失敗:{{error}}',
|
||
conflict: '雲端已有更新。請重新整理狀態後,再決定備份或還原。',
|
||
unavailable: '官方同步服務暫時無法使用,請稍後重試。',
|
||
signInRequired: '請先登入 GitHub。',
|
||
restoreTitle: '還原雲端備份?',
|
||
restoreDescription:
|
||
'雲端的詞典、修正规則、風格和同步偏好將覆蓋本機對應內容。API 金鑰、裝置目錄與權限維持本機設定。',
|
||
deleteTitle: '刪除雲端備份?',
|
||
deleteDescription: '僅刪除此 GitHub 帳號的雲端備份,本機資料會保留。',
|
||
confirmRestore: '還原並取代',
|
||
confirmDelete: '刪除備份',
|
||
scope: '同步詞典、修正规則、風格圖示與常用偏好。API 金鑰、登入憑據與裝置專屬設定保留在本機。',
|
||
},
|
||
macDictationKey: {
|
||
Changed: '儲存期間快捷鍵已變更,請重試。',
|
||
label: 'Mac 聽寫鍵',
|
||
description: '用麥克風圖示鍵替換目前的聽寫快捷鍵。結束 OpenLess 後,此鍵交回 macOS。',
|
||
Permission: '請在 macOS「隱私權與安全性 → 輔助使用」中允許 OpenLess 後重試。',
|
||
Busy: '請先結束目前的聽寫,再變更快捷鍵。',
|
||
Unavailable: '無法啟用此快捷鍵,已儲存的綁定未變更。請重試或選擇其他鍵。',
|
||
},
|
||
app: {
|
||
name: 'OpenLess',
|
||
tagline: '自然說話,完美書寫',
|
||
},
|
||
common: {
|
||
loading: '加載中…',
|
||
retry: '重試',
|
||
settingsLoadFailed: '設置加載失敗',
|
||
refresh: '刷新',
|
||
clear: '清空',
|
||
copy: '複製',
|
||
delete: '刪除',
|
||
later: '稍後',
|
||
cancel: '取消',
|
||
close: '關閉',
|
||
show: '顯示',
|
||
hide: '隱藏',
|
||
saved: '已保存',
|
||
saving: '保存中',
|
||
experimental: '實驗性',
|
||
copied: '已複製',
|
||
operationFailed: '操作失敗',
|
||
add: '添加',
|
||
durationSeconds: '{{value}} 秒',
|
||
durationMillis: '{{value}} 毫秒',
|
||
durationMinutes: '{{value}} 分鐘',
|
||
},
|
||
capsule: {
|
||
thinking: 'thinking',
|
||
using: 'using',
|
||
cancelled: '已取消',
|
||
error: '出錯了',
|
||
inserted: '已插入 {{count}}',
|
||
translating: '正在翻譯',
|
||
selectionPolish: {
|
||
polishing: '正在潤色...',
|
||
replaced: '已替換',
|
||
noSelection: '未選中內容',
|
||
failed: '潤色失敗,請重試',
|
||
},
|
||
},
|
||
selectionPolishPreview: {
|
||
title: '選區潤色預覽',
|
||
subtitle: '可直接編輯;點擊確認後才會替換原選區。',
|
||
cancel: '取消',
|
||
resultLabel: '潤色結果',
|
||
sourcePrefix: '原文:',
|
||
applyError: '未能應用:',
|
||
confirmReplace: '確認並替換',
|
||
},
|
||
selectionVoiceIntent: {
|
||
title: '你想做什麼?',
|
||
subtitle: '已識別你的語音指令,請選擇處理方式。',
|
||
loading: '載入中…',
|
||
sourcePrefix: '選區:',
|
||
errorPrefix: '未能繼續:',
|
||
question: '提問',
|
||
edit: '編輯選區',
|
||
cancel: '取消',
|
||
},
|
||
qa: {
|
||
title: '劃詞追問',
|
||
headerHint: '隨時提問',
|
||
thinking: '思考中…',
|
||
error: '出錯了,請稍後再試。',
|
||
errorRetry: '重試',
|
||
errorRetryHint: '請再試一次。',
|
||
pinTooltip: '固定(不自動關閉)',
|
||
unpinTooltip: '取消固定',
|
||
closeTooltip: '關閉',
|
||
micLabel: '語音提問',
|
||
micStop: '結束錄音',
|
||
selectionPreview: '基於選中文本:',
|
||
emptyTitle: '有什麼可以幫你?',
|
||
emptyDesc: '選中任意文字後開始追問,或直接在下方輸入問題。回答會顯示在這裏,可以連續多輪。',
|
||
recordingHint: '錄音中…再按一次 {{recordHotkey}} 結束並提問',
|
||
mobileRecordLabel: '錄音按鈕',
|
||
mobileRecordStart: '開始錄音',
|
||
mobileRecordStop: '結束並提交',
|
||
composerPlaceholder: '輸入問題,Enter 發送',
|
||
composerSend: '發送',
|
||
statusIdle: '按 {{recordHotkey}} 提問',
|
||
statusRecording: '錄音中',
|
||
statusThinking: '思考中',
|
||
statusError: '出錯了',
|
||
jumpToLatest: '跳到最新',
|
||
editApplyReplace: '確認並替換選區',
|
||
editApplyUnavailable: '沒有可替換的編輯結果',
|
||
editRevertPrevious: '保留上一版本',
|
||
editInstructionMode: '編輯指令',
|
||
},
|
||
lessComputer: {
|
||
title: 'Less Computer',
|
||
subtitle: '想讓電腦做什麼?',
|
||
you: '你',
|
||
working: '正在操控電腦…',
|
||
tool: '呼叫了 {{name}}',
|
||
compaction: '上下文已壓縮',
|
||
done: '完成',
|
||
cost: '${{cost}}',
|
||
error: '失敗,請重試。',
|
||
closeTooltip: '關閉',
|
||
jumpToLatest: '跳到最新',
|
||
inputPlaceholder: '輸入指令,Enter 傳送',
|
||
send: '傳送',
|
||
approvalTitle: '執行被攔截的指令?',
|
||
approvalRerunWarning:
|
||
'注意:批准後將在已被修改的工作區上重新執行,可能對不可重入操作產生副作用',
|
||
approve: '允許',
|
||
deny: '拒絕',
|
||
approved: '已允許',
|
||
denied: '已拒絕',
|
||
},
|
||
nav: {
|
||
overview: '概覽',
|
||
history: '歷史',
|
||
vocab: '詞典',
|
||
style: '風格',
|
||
marketplace: '風格市場',
|
||
translation: '翻譯',
|
||
selectionAsk: '劃詞追問',
|
||
corrections: '糾正規則',
|
||
polishMode: '潤色模式',
|
||
group: {
|
||
style: '風格',
|
||
tools: '工具',
|
||
},
|
||
localAsr: '模型設置',
|
||
more: '更多',
|
||
},
|
||
marketplace: {
|
||
kicker: '風格市場',
|
||
title: '風格包市場',
|
||
desc: '瀏覽、安裝和分享社區風格包。',
|
||
searchPlaceholder: '搜尋名稱 / 描述 / 標籤…',
|
||
sortPopular: '按熱度',
|
||
sortNew: '最新',
|
||
uploadBtn: '上傳',
|
||
uploadDisabledHint: '請先在 設定 → 風格市場 配置 GitHub 使用者名稱',
|
||
refreshBtn: '重新整理',
|
||
empty: '還沒有風格包',
|
||
emptyHint: '換個搜尋詞,或自己上傳一個分享給社群',
|
||
loadFailed: '載入失敗:{{err}}',
|
||
noDescription: '(暫無描述)',
|
||
installBtn: '安裝到本機',
|
||
installingBtn: '安裝中…',
|
||
downloadZipBtn: '下載 ZIP',
|
||
downloadingZipBtn: '下載中…',
|
||
downloadAria: '下載「{{name}}」ZIP',
|
||
likeBtn: '點讚',
|
||
installed: '已安裝「{{name}}」到本機風格包',
|
||
downloaded: '已下載「{{name}}」ZIP',
|
||
uploaded: '上傳成功,等待審核',
|
||
uploadTitle: '選擇要上傳的風格包',
|
||
uploadHint: '以 {{login}} 身份上傳。包內容會發送到雲端審核佇列。',
|
||
uploadNoLocal: '本機沒有可上傳的風格包',
|
||
errors: {
|
||
detail: '載入詳情失敗:{{err}}',
|
||
install: '安裝失敗:{{err}}',
|
||
download: '下載 ZIP 失敗:{{err}}',
|
||
like: '點讚失敗:{{err}}',
|
||
upload: '上傳失敗:{{err}}',
|
||
loadLocal: '載入本機風格包失敗:{{err}}',
|
||
},
|
||
sortLiked: '我讚過的',
|
||
likedEmpty: '你還沒有讚過任何風格包',
|
||
likedEmptyHint: '點開任一風格包,紅色星星點亮後會出現在這裡',
|
||
derivativeBadge: '衍生自 @{{login}}',
|
||
detail: {
|
||
withdrawBtn: '撤回發布',
|
||
withdrawConfirm: '確認從風格市場撤回「{{name}}」?本機副本不會被刪除。',
|
||
withdrawSuccess: '已從風格市場撤回',
|
||
withdrawFailed: '撤回失敗:{{err}}',
|
||
},
|
||
myPacks: {
|
||
buttonLabel: '我的發布',
|
||
buttonTitle: '查看 {{login}} 的發布',
|
||
buttonTitleEmpty: '先在 Settings → 風格市場 填寫發布身份',
|
||
searchPlaceholder: '搜尋名稱、標籤',
|
||
notLoggedIn: '請先在 Settings → 風格市場 填寫發布身份',
|
||
emptyTitle: '你還沒有發布過風格包',
|
||
emptyHint: '在「風格」頁面編輯後點「發布到風格市場」,或點擊右上角上傳本機風格包。',
|
||
noMatch: '沒有符合的風格包',
|
||
summary: '已發布 {{count}} 個風格包',
|
||
summaryPending: '已發布 {{count}} 個風格包 · {{pending}} 個審核中',
|
||
versionDate: 'v{{version}} · {{date}}',
|
||
stats: '★ {{likes}} · ↓ {{downloads}}',
|
||
actions: {
|
||
update: '更新',
|
||
withdraw: '下架',
|
||
},
|
||
loadFailed: '我的發布載入失敗:{{err}}',
|
||
loadingTitle: '正在拉取,請稍後…',
|
||
loadingHint: '從風格市場獲取你最新發布的風格包。',
|
||
loadErrorTitle: '載入失敗',
|
||
loadErrorRetry: '重試',
|
||
},
|
||
upload: {
|
||
confirmBtn: '確定上傳',
|
||
updateTitle: '更新「{{name}}」',
|
||
updateHint: '選中要上傳的本機新版本風格包,下方點「確定上傳」。同名包預設預選。',
|
||
recommendedBadge: '建議更新',
|
||
},
|
||
state: {
|
||
pending: '審核中',
|
||
approved: '已上架',
|
||
rejected: '未通過',
|
||
withdrawn: '已下架',
|
||
superseded: '已被新版替換',
|
||
unknown: '未知',
|
||
},
|
||
oauth: {
|
||
title: '用 GitHub 登入',
|
||
generating: '正在產生裝置驗證碼…',
|
||
browserHint: '在瀏覽器中開啟 {{uri}} 並輸入下方代碼:',
|
||
copyBtn: '複製',
|
||
copied: '已複製裝置碼',
|
||
copyFailed: '複製失敗:{{err}}',
|
||
openBrowserBtn: '開啟瀏覽器',
|
||
cancelBtn: '取消',
|
||
waiting: '等待你在瀏覽器中授權…',
|
||
successAs: '已登入為 @{{login}}',
|
||
retryBtn: '重試',
|
||
closeBtn: '關閉',
|
||
loginBtn: '登入',
|
||
loginTooltip: '點擊用 GitHub 登入',
|
||
reloginTooltip: '點擊重新登入 / 切換帳號(目前 @{{login}})',
|
||
},
|
||
modal: {
|
||
loggedIn: '目前登入身份 —— 在 Settings → 錄音 → 風格市場 修改',
|
||
notLoggedIn: '未登入 —— 去 Settings → 錄音 → 風格市場 填一個發布者名',
|
||
notLoggedInLabel: '未登入',
|
||
},
|
||
},
|
||
shell: {
|
||
shortcutLabel: '錄音快捷鍵',
|
||
shortcutHint: '開始 / 停止',
|
||
betaTag: 'BETA',
|
||
betaNote: '本機儲存,可選雲端備份',
|
||
navHint: {
|
||
overview: '狀態總覽:用量統計、提供商與權限健康檢查',
|
||
history: '聽寫歷史:搜尋、回放與複製過往轉寫',
|
||
vocab: '詞典:自訂熱詞,提升專有名詞辨識率',
|
||
style: '潤色風格:管理輸出風格與自訂提示詞',
|
||
translation: '翻譯:按住 Shift 說話,譯成目標語言插入',
|
||
selectionAsk: '劃詞追問:選取文字後語音提問',
|
||
settings: '偏好設定:快捷鍵、提供商、隱私與更新',
|
||
},
|
||
footer: {
|
||
account: '賬戶',
|
||
feedback: '反饋',
|
||
settings: '設置',
|
||
help: '幫助',
|
||
version: '版本 {{version}}',
|
||
helpPopover: {
|
||
tagline: '本地驅動的語音輸入層',
|
||
releaseNotes: '查看發佈日誌 ↗',
|
||
docs: '幫助中心 ↗',
|
||
},
|
||
},
|
||
providerPrompt: {
|
||
title: '設置語音提供商',
|
||
body: '還沒有配置 ASR 或 LLM 提供商,語音輸入和潤色暫時無法正常工作。',
|
||
later: '稍後',
|
||
openSettings: '去設置',
|
||
},
|
||
hotkeyModePrompt: {
|
||
title: '檢查錄音方式',
|
||
body: '預設已改為切換式。如果之前改過觸發方式,請到錄音設定確認一次。',
|
||
later: '稍後提醒',
|
||
openSettings: '去錄音設置',
|
||
},
|
||
},
|
||
onboarding: {
|
||
welcome: '歡迎使用 OpenLess',
|
||
intro: '本地說出,本地落字。開始前需要兩個系統權限。',
|
||
accessibilityTitle: '輔助功能',
|
||
hotkeyTitle: '全局快捷鍵',
|
||
accessibilityDesc: '用於監聽全局快捷鍵(默認 {{trigger}})並把識別結果寫入光標位置。',
|
||
hotkeyDesc: '用於確認全局快捷鍵監聽可用。',
|
||
micTitle: '麥克風',
|
||
micDesc: '用於捕獲你的語音輸入。',
|
||
actionNotApplicable: '無需授權',
|
||
actionGranted: '已授權',
|
||
actionOpenSystem: '打開系統設置',
|
||
actionRestart: '重置授權並重新啟動 OpenLess',
|
||
actionGrant: '授權',
|
||
actionRequestMic: '彈出授權',
|
||
micNoDeviceHint: '未偵測到麥克風,請連接並啟用麥克風後重試。',
|
||
accessibilityHint: '授權後必須**完全退出 OpenLess** 再重新打開(macOS TCC 規則)。',
|
||
footerHint:
|
||
'授權全部完成後此引導自動關閉。如果一直不消失,從菜單欄 OpenLess → 退出,重新打開 App。',
|
||
continueToSettings: '僅進入設定(語音與全域快速鍵暫不可用)',
|
||
androidContinue: '先進入應用',
|
||
androidFooterHint:
|
||
'聽寫需要麥克風權限。可點擊上方「彈出授權」,或先進入應用後在概覽頁繼續授權。',
|
||
androidTitle: '配置 OpenLess',
|
||
androidIntro: '按步驟完成移動端權限和服務配置。',
|
||
androidStepCounter: '第 {{current}} / {{total}} 項',
|
||
androidBack: '上一步',
|
||
androidNext: '下一步',
|
||
androidFinish: '完成並進入',
|
||
androidSteps: {
|
||
microphoneTitle: '麥克風權限',
|
||
microphoneDesc: '調用 Android 系統授權卡片,允許 OpenLess 錄製語音。',
|
||
accessibilityTitle: '無障礙服務',
|
||
accessibilityDesc: '用於把識別結果貼回當前輸入框,並輔助檢測輸入環境。',
|
||
overlayPermissionTitle: '懸浮窗權限',
|
||
overlayPermissionDesc: '允許 OpenLess 在其他應用上顯示錄音控制按鈕。',
|
||
overlayConfigTitle: '懸浮窗配置',
|
||
overlayConfigDesc: '設置懸浮窗顯示時機、觸發方式、滑動動作和按鈕大小。',
|
||
asrTitle: 'ASR 雲服務',
|
||
asrDesc: '配置語音轉文字服務的供應商、密鑰、接口地址和模型。',
|
||
llmTitle: 'LLM 服務',
|
||
llmDesc: '配置文本潤色、翻譯和問答使用的語言模型服務。',
|
||
},
|
||
},
|
||
overview: {
|
||
refresh: '重新整理狀態',
|
||
servicesTitle: '目前的語音服務',
|
||
statsTitle: '使用紀錄',
|
||
omniKind: '多模態語音',
|
||
omniName: '目前的 Omni 模型',
|
||
statusLoading: '正在讀取服務設定…',
|
||
configureProvider: '前往設定',
|
||
manageProvider: '管理服務',
|
||
recentEmptyHint: '還沒有聽寫紀錄。依照上方引導試一次,結果就會顯示在這裡。',
|
||
providerHelp: {
|
||
asr: '將語音轉成文字。',
|
||
llm: '依照你的風格整理和潤飾文字。',
|
||
omni: '由一個模型完成語音辨識和文字處理。',
|
||
},
|
||
actions: {
|
||
refresh: '重新讀取',
|
||
services: 'AI 服務與模型',
|
||
general: '錄音與輸入',
|
||
shortcuts: '快捷鍵',
|
||
privacy: '權限與資料',
|
||
},
|
||
guide: {
|
||
nextStep: '下一步',
|
||
loadingTitle: '正在讀取你的設定',
|
||
loadingDesc: '請稍候,馬上顯示目前的服務和下一步操作。',
|
||
unavailableTitle: '暫時無法讀取服務狀態',
|
||
unavailableDesc: '重新讀取,或前往 AI 服務檢查設定。',
|
||
servicesTitle: '先設定語音服務',
|
||
servicesDesc:
|
||
'建議從這裡開始:選擇語音辨識和文字處理服務;使用 Omni 時,只需設定目前的多模態模型。',
|
||
permissionsTitle: '先檢查快捷鍵狀態',
|
||
permissionsDesc: '目前無法使用快捷鍵介面。請開啟權限與資料,查看狀態和可用的處理方式。',
|
||
shortcutsTitle: '設定一個錄音快捷鍵',
|
||
shortcutsDesc: '選擇順手的快捷鍵,之後就能在輸入時開始聽寫。',
|
||
recordingTitle: '確認你的錄音方式',
|
||
recordingDesc: '服務設定已儲存。開啟錄音設定,選擇麥克風和適合你的錄音方式。',
|
||
tryDictationTitle: '試一次聽寫',
|
||
tryDictationDesc: '將游標放到要輸入的位置。{{shortcut}}',
|
||
permissionsHint: '錄音或快捷鍵沒有反應?在「權限與資料」中查看權限、麥克風和快捷鍵狀態。',
|
||
},
|
||
kicker: '概覽',
|
||
title: '今日概覽',
|
||
desc: '今日口述統計與系統狀態。',
|
||
pressPrefix: '按',
|
||
pressSuffix: '開始錄音',
|
||
asrKind: '語音辨識',
|
||
llmKind: '文字處理',
|
||
asrName: '火山引擎',
|
||
asrSubname: 'bigmodel',
|
||
llmName: 'OpenAI 兼容',
|
||
llmConfigured: '已配置 active LLM',
|
||
llmNotConfigured: '未配置',
|
||
statusConfigured: '已配置',
|
||
statusNotConfigured: '未配置',
|
||
statusUnknown: '無法讀取',
|
||
credentialsLoadError: '無法讀取憑據狀態',
|
||
metricChars: '今日字數',
|
||
metricSegments: '{{count}} 段',
|
||
metricDuration: '今日總時長',
|
||
metricAvg: '平均段落',
|
||
metricAvgTrend: '今日均值',
|
||
metricNoData: '暫無數據',
|
||
historyLoadError: '歷史讀取失敗',
|
||
metricTotal: '累計記錄',
|
||
metricTotalTrend: '本機存檔 (上限 200)',
|
||
activityTitle: '年度活動',
|
||
activityCount: '{{count}} 次聽寫',
|
||
activityLoadError: '活動數據讀取失敗',
|
||
period: {
|
||
ariaLabel: '統計週期',
|
||
last7Days: '近 7 天',
|
||
last30Days: '近 30 天',
|
||
dailyAverage: '日均 {{value}}',
|
||
minutes: '{{value}} 分鐘',
|
||
hoursMinutes: '{{hours}} 小時 {{minutes}} 分',
|
||
},
|
||
metricName: {
|
||
ariaLabel: '統計指標',
|
||
count: '條數',
|
||
chars: '字數',
|
||
duration: '時長',
|
||
},
|
||
recentTitle: '最近識別',
|
||
recentAll: '全部記錄 →',
|
||
recentEmpty: '還沒有記錄。按 {{trigger}} 開始第一次錄音。',
|
||
recentLoadFailed: '無法讀取最近識別,請重試。',
|
||
historyRetry: '重試',
|
||
weekDays: ['日', '一', '二', '三', '四', '五', '六'],
|
||
inAppDictation: {
|
||
title: '應用內錄音',
|
||
start: '開始錄音',
|
||
stop: '停止錄音',
|
||
idle: '點擊開始錄音',
|
||
recording: '錄音中…',
|
||
processing: '處理中…',
|
||
},
|
||
androidMicBanner: {
|
||
title: '需要麥克風權限',
|
||
desc: '授權麥克風後可使用應用內錄音與語音輸入。',
|
||
grant: '彈出授權',
|
||
openSettings: '打開系統設置',
|
||
},
|
||
},
|
||
history: {
|
||
exportError: '匯出錄音失敗,請重試。',
|
||
kicker: '歷史記錄',
|
||
title: '歷史記錄',
|
||
desc: '本機保存的識別記錄。',
|
||
filterAll: '全部',
|
||
summary: '共 {{total}} 條 · 顯示 {{shown}}',
|
||
searchPlaceholder: '搜尋轉寫內容…({{shortcut}})',
|
||
searchNoMatch: '沒有符合「{{query}}」的記錄。',
|
||
empty: '還沒有歷史記錄。按 {{trigger}} 錄一段試試。',
|
||
loadFailed: '加載歷史失敗:{{err}}',
|
||
retry: '重試',
|
||
clearFailed: '清空失敗:{{err}}',
|
||
deleteFailed: '刪除失敗:{{err}}',
|
||
copyFailed: '複製失敗:{{err}}',
|
||
playRecording: '播放錄音',
|
||
audioLoading: '載入中…',
|
||
audioDecodeFailed: '音訊解碼失敗:{{err}}',
|
||
exportRecording: '匯出錄音',
|
||
exportFailed: '匯出失敗:{{err}}',
|
||
retranscribe: '重新轉錄',
|
||
retranscribing: '轉錄中…',
|
||
retranscribeFailed: '重新轉錄失敗:{{err}}',
|
||
rawLabel: '原文',
|
||
rawEmpty: '(空)',
|
||
selectHint: '左側選一條查看詳情。',
|
||
recorded: '錄音 {{duration}}',
|
||
stepAsr: '辨識',
|
||
multimodalPipeline: '多模態',
|
||
stepAsrHint: '放開按鍵後等待辨識結果的耗時。串流辨識邊錄邊轉,此值通常遠小於錄音時長。',
|
||
stepPolish: '潤飾',
|
||
stepInsert: '插入',
|
||
chars: '{{count}} 字',
|
||
vocabHits: '{{count}} 個熱詞',
|
||
inserted: '已插入',
|
||
pasteSent: '已嘗試粘貼',
|
||
copiedFallback: '已複製(需 {{shortcut}})',
|
||
insertFailed: '插入失敗',
|
||
confirmClear: '確定清空全部 {{count}} 條記錄?此操作不可恢復。',
|
||
backToList: '返回列表',
|
||
repolish: {
|
||
title: '重新潤色',
|
||
hint: '基於上面的原文再跑一次潤色。結果只在本次查看時顯示,不寫回這條記錄。原風格包已刪除或舊記錄時,重試將使用當前風格。',
|
||
retry: '用原風格重試',
|
||
retrying: '重試中…',
|
||
apply: '套用',
|
||
applying: '潤色中…',
|
||
pickStyle: '選擇風格包',
|
||
noPacks: '沒有可用的風格包。',
|
||
packsLoadFailed: '讀取風格包失敗:{{err}}',
|
||
failed: '重新潤色失敗:{{err}}',
|
||
timeout:
|
||
'當前 LLM 提供商 30 秒內沒有返回結果。換個更快的提供商,或稍後重試 —— 免費模型池經常排隊。',
|
||
resultTitle: '{{name}} 的結果',
|
||
retryResultTitle: '重試結果',
|
||
empty: '(模型返回了空結果)',
|
||
clear: '清除結果',
|
||
},
|
||
},
|
||
vocabCard: {
|
||
title: '要記住這個詞嗎?',
|
||
accept: '記住',
|
||
reject: '不用',
|
||
},
|
||
insertFallbackCard: {
|
||
copy: '複製',
|
||
copied: '已複製',
|
||
copyFailed: '複製失敗',
|
||
dismiss: '關閉',
|
||
},
|
||
vocab: {
|
||
selectAllVisible: '選取目前結果',
|
||
selectedCount: '已選取 {{count}} 個詞',
|
||
selectWord: '選取「{{phrase}}」',
|
||
deleteSelected: '刪除已選({{count}})',
|
||
batchDeleteFailed: '{{count}} 個詞條刪除失敗,已保留選取,可重試。',
|
||
|
||
kicker: '詞典',
|
||
title: '詞典',
|
||
desc: '添加生詞或專業術語,提高識別準確率。',
|
||
sectionTitle: '詞條',
|
||
placeholder: '輸入詞語,按 Enter 或點添加…',
|
||
tip: '支持中英混合 · 數字開頭按字面識別 · 命中次數自動計數',
|
||
loadFailed: '加載失敗:{{err}}',
|
||
empty: '還沒有詞條。在上面輸入一個生詞或專業術語,讓模型在聽寫時優先匹配。',
|
||
tipDisabled: '點擊禁用此詞條',
|
||
tipEnabled: '點擊啓用此詞條',
|
||
removeAria: '刪除',
|
||
edit: '編輯',
|
||
editTitle: '編輯詞彙',
|
||
editSave: '儲存',
|
||
editEmpty: '詞條不能為空。',
|
||
filter: { all: '所有', auto: '自動新增', manual: '手動新增' },
|
||
searchPlaceholder: '搜尋',
|
||
searchEmpty: '沒有符合的詞條。',
|
||
newWord: '新詞',
|
||
newWordTitle: '新增新詞',
|
||
newWordDesc: '直接輸入新詞,或從預設範本批次匯入。',
|
||
newWordInputPlaceholder: '輸入詞語,按 Enter 新增…',
|
||
newWordTemplates: '預設範本',
|
||
newWordTemplateCount: '{{count}} 詞',
|
||
newWordAddSelected: '新增所選',
|
||
learnedSection: '自動收集({{count}})',
|
||
removeAllLearned: '全部刪除',
|
||
corrections: {
|
||
title: '糾正規則',
|
||
tip: '修正常見 ASR 誤識別,支援 {num} 數字通配。',
|
||
patternPlaceholder: '誤識別寫法,如 {num}粒',
|
||
replacementPlaceholder: '目標寫法,如 {num}例',
|
||
empty: '還沒有糾正規則。',
|
||
invalid: '僅支援字面替換,或一個 {num} 通配數字的規則,例如 {num}粒 → {num}例。',
|
||
tipDisabled: '點擊停用此規則',
|
||
tipEnabled: '點擊啟用此規則',
|
||
removeAria: '刪除糾正規則',
|
||
learnedBadge: '自動',
|
||
learnedTip: '從你的手動修改中自動收集。可以隨時刪掉。',
|
||
onlyLearned: '只看自動收集的({{count}})',
|
||
removeAllLearned: '刪除全部自動收集的',
|
||
suggestTitle: '要記住這個改法嗎?',
|
||
suggestAccept: '記住',
|
||
suggestDismiss: '不用',
|
||
},
|
||
presets: {
|
||
title: '場景預設',
|
||
tip: '可多選批量啟用,支援編輯和新建。',
|
||
create: '新建預設',
|
||
apply: '啓用所選',
|
||
save: '保存預設',
|
||
edit: '編輯 {{name}}',
|
||
newPreset: '新預設',
|
||
namePlaceholder: '預設名稱',
|
||
wordsPlaceholder: '詞條(用逗號或換行分隔)',
|
||
},
|
||
},
|
||
style: {
|
||
kicker: '風格',
|
||
title: '輸出風格',
|
||
desc: '選擇錄音的預設輸出風格。',
|
||
masterToggle: '整體啓用',
|
||
currentDefault: '當前默認',
|
||
ariaSetDefault: '設爲默認',
|
||
saveFailed: '保存失敗:{{error}}',
|
||
customPromptTitle: '自定義提示詞',
|
||
customPromptPlaceholder: '可選,追加到這個風格的內建 system prompt 末尾。',
|
||
customPromptHint:
|
||
'留空則保持當前行為不變。保存後會在該風格的潤色和 repolish 中生效;按 Ctrl/Cmd+Enter 也可保存。',
|
||
customPromptSave: '保存提示詞',
|
||
customPromptDirty: '未保存',
|
||
systemPromptMovedHint:
|
||
'完整 System Prompt 已移到 設定 -> Providers 頁面統一編輯。這裡現在只負責風格啟停和預設風格。',
|
||
modes: {
|
||
raw: {
|
||
name: '原文',
|
||
desc: '只補標點和必要分句,不改寫不擴寫。',
|
||
sample: '保留原始口語;嗯、那個等口癖會被去除,但不會重組語句。',
|
||
},
|
||
light: {
|
||
name: '輕度潤色',
|
||
desc: '去口癖、補標點,整理爲可發送的自然文字。',
|
||
sample: '讓轉寫聽起來不像念稿——保留語氣和表達習慣,但行文流暢。',
|
||
},
|
||
structured: {
|
||
name: '清晰結構',
|
||
desc: '面向程式協作、技術排障和產品回饋,準確保留術語並整理結構。',
|
||
sample: '1. 主題一\na. 要點\nb. 要點\n2. 主題二\na. 要點\nb. 要點',
|
||
},
|
||
formal: {
|
||
name: '正式表達',
|
||
desc: '工作溝通和郵件場景,更專業更完整。',
|
||
sample: '郵件場景自動識別問候 / 落款;不引入空泛客套。',
|
||
},
|
||
},
|
||
pack: {
|
||
builtinTags: {
|
||
minimalEdits: '最小改寫',
|
||
strongCorrection: '強糾錯',
|
||
communication: '溝通',
|
||
natural: '自然',
|
||
organized: '條理',
|
||
workplaceCommunication: '工作溝通',
|
||
aiCoding: 'AI 程式開發',
|
||
technicalStructure: '技術結構化',
|
||
},
|
||
newName: '未命名風格',
|
||
newDescription: '簡短描述這個風格的使用情境。',
|
||
uploadIcon: '為「{{name}}」上傳 SVG 圖示',
|
||
resetIcon: '還原預設圖示',
|
||
iconSaved: '圖示已儲存',
|
||
iconInvalid: '請選擇不含外部資源的有效 SVG 圖示(最大 256 KB)。',
|
||
iconSaveFailed: '圖示儲存失敗,請再試一次。',
|
||
|
||
selectionListTitle: '選區書面潤色風格',
|
||
selectionListDesc:
|
||
'用於無需 ASR 的已選文字:單純語法、清晰度和格式潤色。可為它單獨選擇風格與 Prompt。',
|
||
dictationTab: '錄音 / ASR 風格',
|
||
selectionTab: '選區潤色',
|
||
current: '目前',
|
||
useForSelection: '用於選區',
|
||
writtenPolish: '書面潤色',
|
||
selectionPromptTitle: '選區潤色 Prompt(無 ASR)',
|
||
selectionPromptHint:
|
||
'用於使用者主動選中的書面文字;不經過 ASR,不把內容當成轉寫,也不回答其中的問題。',
|
||
selectionPromptEditorDesc:
|
||
'目前編輯選區潤色 Prompt;輸入對象是使用者主動選中的書面文字,不經過 ASR。',
|
||
dictationPromptEditorDesc: '目前編輯錄音 / ASR 風格 Prompt;輸入對象是語音辨識後的轉寫文本。',
|
||
dictationPromptTitle: '錄音 / ASR Prompt',
|
||
dictationPromptHint:
|
||
'用於錄音轉寫後的 ASR 文本;這裡可以寫口語整理、ASR 錯字糾正和專有名詞還原規則。',
|
||
selectionPromptFallback: '尚未配置書面潤色 Prompt;將使用安全預設規則。',
|
||
selectionActivated: '已將「{{name}}」用於選區潤色',
|
||
selectionActivateFailed: '選區潤色風格切換失敗:{{err}}',
|
||
selectionChars: '{{count}} 字元',
|
||
kicker: '風格包',
|
||
title: '風格包',
|
||
desc: '管理本機風格包。',
|
||
marketplaceBtn: '風格市場',
|
||
loadFailed: '載入風格包失敗:{{err}}',
|
||
importZip: '匯入 ZIP',
|
||
exportZip: '匯出 ZIP',
|
||
exportShort: '匯出',
|
||
publishMarketplace: '發布到風格市場',
|
||
updateMarketplace: '更新到風格市場新版本',
|
||
publishDisabledHint: '請先在 設定 → 風格市場 設定 GitHub 使用者名稱',
|
||
publishSuccess: '發布成功,等待 marketplace 審核',
|
||
publishFailed: '發布失敗:{{err}}',
|
||
publishBuiltinRejected: '內建風格包不能直接發布,請先編輯產生一份匯入版。',
|
||
builtin: '內建',
|
||
imported: '匯入',
|
||
active: '目前',
|
||
activate: '啟用',
|
||
edit: '編輯',
|
||
closeEditor: '關閉',
|
||
unsaved: '未儲存',
|
||
listTitle: '本機風格包',
|
||
listDesc: '瀏覽和切換風格包。',
|
||
listCount: '{{count}} 個風格包',
|
||
addPackTileTitle: '新建風格包',
|
||
addPackTileHint: '從空白範本開始。',
|
||
createSuccess: '已建立新風格包',
|
||
createFailed: '建立風格包失敗:{{err}}',
|
||
save: '儲存',
|
||
revert: '還原',
|
||
saveSuccess: '風格包已儲存',
|
||
saveFailed: '儲存風格包失敗:{{err}}',
|
||
activateSuccess: '已將"{{name}}"設為目前風格',
|
||
activateFailed: '設為目前風格失敗:{{err}}',
|
||
importSuccess: '已匯入"{{name}}"',
|
||
importFailed: '匯入 ZIP 失敗:{{err}}',
|
||
exportSuccess: '已匯出到 {{path}}',
|
||
exportFailed: '匯出 ZIP 失敗:{{err}}',
|
||
exportDirtyFirst: '請先儲存目前風格包,再匯出 ZIP。',
|
||
resetBuiltin: '重設',
|
||
resetSuccess: '已重設"{{name}}"',
|
||
resetFailed: '重設風格包失敗:{{err}}',
|
||
deleteImported: '刪除',
|
||
deleteConfirm: '確定刪除"{{name}}"嗎?刪除後無法復原。',
|
||
deleteSuccess: '已刪除"{{name}}"',
|
||
deleteFailed: '刪除風格包失敗:{{err}}',
|
||
summaryCurrentEmpty: '還沒有選中風格包',
|
||
editorTitle: '編輯風格',
|
||
editorDesc: '編輯目前風格包。',
|
||
metaTitle: '安裝資訊',
|
||
metaSource: '來源',
|
||
metaBaseMode: '基礎模式',
|
||
metaUpdatedAt: '更新時間',
|
||
fieldName: '名稱',
|
||
fieldAuthor: '作者',
|
||
fieldAuthorPlaceholder: '可選,方便標註來源',
|
||
fieldVersion: '版本',
|
||
fieldTags: '標籤',
|
||
fieldTagsPlaceholder: '用英文逗號分隔,例如 community, voiceover, formal',
|
||
fieldDescription: '描述',
|
||
fieldModel: '建議模型(僅元資料)',
|
||
fieldModelPlaceholder: '可選,例如 gpt-4.1 / deepseek-v3',
|
||
fieldModelHint: '僅作說明,不會切換實際模型。',
|
||
fieldCompatibility: '相容版本',
|
||
fieldCompatibilityPlaceholder: '可選,例如 >=1.3.0',
|
||
fullPromptTitle: 'System Prompt',
|
||
fullPromptHint: '這就是這套風格包自己的 Prompt。',
|
||
promptChars: '{{count}} 字元',
|
||
runtimeTitle: 'OpenLess 執行時附加指令',
|
||
runtimeDesc: '只讀的執行時輔助項。',
|
||
runtimeContextTitle: '上下文前提',
|
||
runtimeContextDesc: '來自語言與應用上下文',
|
||
runtimeContextEmpty: '目前不會附加',
|
||
runtimeHotwordTitle: '熱詞提示段',
|
||
runtimeHotwordDesc: '來自已啟用熱詞',
|
||
runtimeHotwordEmpty: '目前不會附加',
|
||
runtimeHistoryTitle: '多輪歷史保護段',
|
||
runtimeHistoryDesc: '僅用於即時多輪 polish',
|
||
runtimeHistoryEmpty: '只有存在 prior turns 時才會附加',
|
||
runtimeActive: '目前生效',
|
||
runtimeInactive: '目前未生效',
|
||
runtimePreviewFailed: '產生執行時預覽失敗:{{err}}',
|
||
runtimePreviewOmittedFrontApp: '預覽已省略前台 app 標籤。',
|
||
examplesTitle: '效果範例',
|
||
examplesDesc: '會隨風格包一起匯出。',
|
||
addExample: '新增範例',
|
||
examplesEmpty: '還沒有範例。',
|
||
exampleTitlePlaceholder: '範例 {{index}} 標題',
|
||
exampleInput: '輸入',
|
||
exampleOutput: '輸出',
|
||
examplesCount: '{{count}} 個範例',
|
||
discardCloseConfirm: '關閉編輯面板前要捨棄未儲存修改嗎?',
|
||
discardSwitchConfirm: '要捨棄目前未儲存修改,並切換到"{{name}}"嗎?',
|
||
derivativeBadge: '衍生自 @{{login}}',
|
||
},
|
||
},
|
||
translation: {
|
||
searchLanguages: '搜尋語言…',
|
||
noMatchingLanguages: '沒有符合的語言',
|
||
selectedLanguages: '已選擇 {{count}} 種語言',
|
||
|
||
languageSupportHint: '語音服務支援的語種可能不同;翻譯目標不受介面語言限制。',
|
||
kicker: '翻譯',
|
||
title: '翻譯',
|
||
desc: '錄音後自動翻譯為目標語言再插入。',
|
||
statusEnabled: '已啓用',
|
||
statusDisabled: '未啓用',
|
||
working: {
|
||
title: '工作語言',
|
||
desc: '勾選日常使用的語言,影響潤色與翻譯效果。',
|
||
},
|
||
target: {
|
||
title: '翻譯目標語言',
|
||
desc: '錄音時按 Shift 觸發翻譯。選「不啟用」則 Shift 無效。',
|
||
disabled: '不啓用(Shift 按下不觸發翻譯)',
|
||
sameAsWorking:
|
||
'目標語言與你唯一的工作語言相同,翻譯不會生效:按 Shift 仍按普通潤色處理。換一個目標語言,或在上方多勾選一個工作語言。',
|
||
},
|
||
style: {
|
||
title: '翻譯風格',
|
||
desc: '自動沿用「風格」頁目前啓用的風格包。',
|
||
unavailable: '暫時無法取得',
|
||
},
|
||
save: {
|
||
workingFailed: '工作語言保存失敗,請重試。',
|
||
targetFailed: '翻譯目標語言保存失敗,請重試。',
|
||
hotkeyRegisterFailed: '翻譯快捷鍵註冊失敗,未繼續保存。',
|
||
hotkeySaveFailed: '翻譯快捷鍵保存失敗,請重試。',
|
||
},
|
||
howto: {
|
||
title: '使用方法',
|
||
step1: '在任意輸入框聚焦游標。',
|
||
step2: '按 {{trigger}} 開始錄音。',
|
||
step3: '錄音中按一下 {{shortcut}} 啟動翻譯。',
|
||
step4: '再按 {{trigger}} 停止錄音。',
|
||
step5: '翻譯結果自動插入到游標位置。',
|
||
indicatorTitle: '怎麼知道翻譯模式生效了',
|
||
indicatorDesc: '按 Shift 後螢幕底部會顯示藍色「正在翻譯」標識。',
|
||
fallbackTitle: '安全兜底',
|
||
fallbackDesc: '翻譯失敗時回退為插入原始轉寫,不會丟字。',
|
||
},
|
||
},
|
||
selectionAsk: {
|
||
title: '劃詞追問',
|
||
desc: '選中文字後語音提問,支援多輪追問。',
|
||
shortcutSettings: '快捷鍵設定',
|
||
guide: {
|
||
openTitle: '開啟追問浮窗',
|
||
openDesc: '按 <key>{{hotkey}}</key>,開始一輪對話。',
|
||
unsetDesc: '先到快捷鍵設定中,為劃詞追問設定快捷鍵。',
|
||
selectTitle: '選取想了解的內容',
|
||
askTitle: '開口說出問題',
|
||
askDesc: '按 <key>{{recordHotkey}}</key> 錄音,再按一次提交。',
|
||
followup: '繼續使用錄音快捷鍵,即可多輪追問。',
|
||
dismiss: '關閉浮窗,結束本次對話',
|
||
},
|
||
hotkey: {
|
||
title: '彈出浮窗的快捷鍵',
|
||
},
|
||
save: {
|
||
historySaveFailed: 'Q&A 歷史保存設置保存失敗,請重試。',
|
||
},
|
||
history: {
|
||
title: '保存歷史',
|
||
desc: '開啟後在本地保存問答記錄,預設關閉。',
|
||
},
|
||
howto: {
|
||
title: '使用方法',
|
||
step2: '在任意 app 選中文字。',
|
||
},
|
||
},
|
||
settings: {
|
||
selectionWorkspace: {
|
||
title: '選區助手',
|
||
hint: '選中文字後按同一快捷鍵:關閉語音編輯時直接潤色;開啟後口述指令,說完再選擇「提問」或「編輯選區」。',
|
||
polishHotkey: '選區助手快捷鍵',
|
||
polishHotkeyDesc:
|
||
'關閉語音編輯時直接潤色;開啟語音編輯時按住口述指令(錄音方式跟隨全域設定)。',
|
||
polishDelivery: '結果處理',
|
||
voiceDeliveryDesc: '語音編輯完成後:直接替換選區,或在華詞面板中預覽後再確認。',
|
||
voiceEnable: '語音編輯',
|
||
voiceEnableDesc: '與上方同一快捷鍵;錄音方式跟隨全域設定(目前:{{recordingLabel}})。',
|
||
autoIntent: '自動判斷意圖',
|
||
autoIntentDesc:
|
||
'開啟後預設用服務配置的模型判斷問句 vs 編輯;模型不可用或解析失敗時回退到問句啟發式。',
|
||
editKeywords: '額外問句線索',
|
||
editKeywordsDesc: '關閉自動判斷時生效;每行一個,指令含則視為提問,否則仍按問句啟發式判定。',
|
||
},
|
||
selectionPolish: {
|
||
title: '選區潤色',
|
||
hotkey: '觸發快捷鍵',
|
||
hotkeyDesc: '錄製後立即生效;與錄音、追問等全域快捷鍵衝突時會被拒絕。',
|
||
delivery: '結果處理方式',
|
||
hint: '選取任意文字後觸發。它不依賴麥克風或 ASR,使用目前風格包與獨立的選區 Prompt。',
|
||
directReplace: '直接覆蓋',
|
||
directReplaceHint: '模型完成後安全替換原選區。',
|
||
previewConfirm: '預覽確認',
|
||
previewConfirmHint: '在可編輯彈窗中核對結果,再確認覆蓋原選區。',
|
||
},
|
||
kicker: '設定',
|
||
title: '設置',
|
||
desc: '錄音、提供商、快捷鍵與權限配置。',
|
||
network: {
|
||
title: '網路',
|
||
useSystemProxyLabel: '使用系統代理',
|
||
useSystemProxyDesc:
|
||
'開啟時請求跟隨系統代理;關閉後所有網路請求直連(國內服務延遲通常更低),GitHub 登入、更新等境外服務可能連不上。即時語音串流與 Less Computer 不受此開關影響。',
|
||
},
|
||
dataStorage: {
|
||
title: '資料儲存',
|
||
desc: '本機保留的歷史會話與對話上下文。',
|
||
cursorContextLabel: '游標上下文(實驗)',
|
||
cursorContextDesc:
|
||
'潤稿時讀取你正在寫的那篇文件中游標附近的原文,幫模型判斷同音詞、專有名詞與代詞該怎麼寫。開啟後這段文字會隨請求送給你設定的 LLM 服務商;關閉時一個字都不讀。密碼輸入框、Secure Input、密碼管理器與終端機始終不讀。僅 macOS。',
|
||
},
|
||
codingConsole: {
|
||
title: 'Claude 主控台',
|
||
desc: '偵測本機 Claude Code 與 MCP(computer use)狀態,並以護欄方式無頭執行一次 Claude、串流檢視輸出與用量。',
|
||
guardNote:
|
||
'預設放行可復原操作;rm -rf / sudo / 強制推送等高風險指令會被攔截;若工作目錄為 git 儲存庫,執行前自動建立快照可回滾。',
|
||
status: '狀態',
|
||
detect: '偵測',
|
||
detecting: '偵測中…',
|
||
installed: '已偵測到 Claude',
|
||
notInstalled: '未偵測到 claude',
|
||
notInstalledHint:
|
||
'請先安裝 Claude Code(參見 docs.anthropic.com/claude-code),或在下方填入其執行檔完整路徑。',
|
||
mcpServers: '已設定 {{count}} 個 MCP 服務',
|
||
computerUsePresent: '已設定桌面控制(computer use)MCP',
|
||
computerUseAbsent: '未設定桌面控制 MCP(複製/貼上等輕動作用 Bash 即可,無需此項)',
|
||
exePath: '執行檔',
|
||
workdir: '工作目錄',
|
||
workdirDesc: '選填。Claude 在此目錄內執行;填入 git 儲存庫可啟用執行前快照回滾。',
|
||
workdirPlaceholder: '留空則於暫存目錄執行',
|
||
permissionMode: '權限模式',
|
||
mode: {
|
||
acceptEdits: '放行(可復原操作)',
|
||
plan: '唯讀 / 計畫',
|
||
default: '預設(逐項確認)',
|
||
bypassPermissions: '完全放行(高風險)',
|
||
},
|
||
promptPlaceholder: '讓 Claude 做點什麼,例如:列出目前目錄的檔名',
|
||
run: '執行',
|
||
running: '執行中…',
|
||
cancel: '取消',
|
||
clear: '清空',
|
||
riskWarn: '偵測到高風險意圖:{{reason}}。護欄會在執行層攔截高風險指令。',
|
||
toolUse: '呼叫工具 {{name}}',
|
||
done: '完成',
|
||
doneCost: '完成 · 用量 ${{cost}}',
|
||
cancelled: '已取消',
|
||
outputPlaceholder: '輸出會串流顯示在這裡…',
|
||
},
|
||
codingAgent: {
|
||
title: 'Less Computer',
|
||
desc: '按住一個鍵說話,由所選 Agent 幫你操作電腦。僅 macOS。',
|
||
enable: '啟用 Less Computer',
|
||
comingSoonNote: '設定即時儲存;熱鍵觸發與執行鏈路隨後續版本生效。',
|
||
hotkeyHint: '開啟後,按住快捷鍵說話,放開後由所選 Agent 處理並把結果顯示在膠囊裡。',
|
||
voiceHotkey: '按住說話鍵',
|
||
voiceHotkeyDesc:
|
||
'按住說話、放開執行。支援 Ctrl/Option/Fn 等單鍵。功能說明參見「進階」設定頁。',
|
||
provider: 'Agent 後端',
|
||
opencodeReady: '已偵測到 OpenCode v{{version}}。',
|
||
opencodeMissing:
|
||
'未偵測到 opencode 指令。請先安裝(npm i -g opencode-ai)並用 opencode auth login 登入後再使用。',
|
||
cliReady: '已偵測到 {{name}} v{{version}}。',
|
||
cliMissing: '未偵測到 {{name}} 指令。請先安裝並登入,或在下方「執行檔」欄填它的絕對路徑。',
|
||
sandboxGuardHint:
|
||
'此後端只有粗粒度沙箱層級,沒有逐指令的高風險清單:碰到限制時會直接據實回報錯誤,不會跳出「核准這條指令」的卡片。',
|
||
codexModelHint: '填 Codex 的模型名稱(如 gpt-5);留空則使用 ~/.codex/config.toml 的設定。',
|
||
codexBudgetHint: 'Codex 沒有單次美元預算上限;費用取決於你設定的服務商。',
|
||
codexMode: {
|
||
plan: '唯讀 / 計畫',
|
||
workspaceWrite: '允許工作目錄寫入',
|
||
},
|
||
codexModelPlaceholder: '留空 = 使用 Codex 自己的預設',
|
||
dshModelHint:
|
||
'dsh 的 headless 設定沒有模型開關:模型由 dsh 自己的 profile 決定,這裡改不了。',
|
||
panelHotkey: '面板鍵(語音 Agent)',
|
||
panelHotkeyDesc: '錄音 → ASR → Claude → 結果串流進面板。預設 Cmd/Ctrl+Shift+Enter。',
|
||
quickHotkey: '快取用鍵',
|
||
quickHotkeyDesc: '取目前選取文字 → Claude → 結果回插游標處。不開面板、更快。',
|
||
model: '模型',
|
||
modelPlaceholder: '預設 sonnet',
|
||
modelDefault: '預設(自動 sonnet)',
|
||
modelHint: 'Haiku 最快 · Sonnet 均衡 · Opus 最強',
|
||
opencodeModelDefault: '使用 OpenCode 預設模型',
|
||
opencodeModelHint: '自動拉取 OpenCode 目前帳號可用的 provider/model;選取後立即儲存。',
|
||
opencodeModelsRefresh: '重新拉取模型',
|
||
opencodeModelsRefreshing: '正在拉取 OpenCode 模型…',
|
||
opencodeModelsLoaded: '已拉取 {{count}} 個模型。',
|
||
opencodeModelsEmpty: '沒有回傳可用模型,請先完成 OpenCode 登入或設定模型提供商。',
|
||
opencodeModelsError: '拉取模型失敗:{{message}}',
|
||
exe: '可執行檔路徑',
|
||
openPanel: '文字測試',
|
||
openPanelHint: '直接開啟 Less Computer 浮窗,以文字驗證目前的 Agent 與模型設定。',
|
||
openPanelAction: '開啟 Less Computer',
|
||
},
|
||
debug: {
|
||
cursorLabel: '游標',
|
||
title: '除錯工具',
|
||
desc: '排查辨識問題時使用,平時無需開啟。',
|
||
cursorProbeLabel: '游標上下文探針',
|
||
cursorProbeDesc:
|
||
'點一下,然後在倒數內切到目標 app 並點進輸入框——探針會讀那裡的游標附近原文,用來確認哪些 app 讀得到、哪些被安全閘門擋住。只讀一次,不送給任何服務商。',
|
||
cursorProbeBtn: '探測(5 秒後)',
|
||
cursorProbeCountdown: '{{n}} 秒後讀取…',
|
||
},
|
||
marketplace: {
|
||
title: '擴充市集',
|
||
desc: '風格市集的上傳身份。瀏覽與安裝風格在「風格」頁內完成。',
|
||
github: {
|
||
signIn: '用 GitHub 帳號登入',
|
||
signedIn: '已透過 GitHub 登入',
|
||
signedOut: '登入後即可上傳風格、為風格按讚。',
|
||
signOut: '登出',
|
||
starting: '正在發起登入…',
|
||
codeHint: '在開啟的 GitHub 頁面輸入這個驗證碼:',
|
||
openGithub: '開啟 GitHub',
|
||
waiting: '已開啟 GitHub,完成授權後會自動登入…',
|
||
failed: '登入失敗,請重試',
|
||
},
|
||
},
|
||
recording: {
|
||
title: '錄音與輸入',
|
||
desc: '定義全局錄音的快捷鍵與觸發方式。',
|
||
hotkeyLabel: '錄音快捷鍵',
|
||
hotkeyDescAcc: '按下即開始捕獲語音,全局生效。需要授予輔助功能權限。',
|
||
hotkeyDescNoAcc: '按下即開始捕獲語音,全局生效。無需額外輔助功能授權。',
|
||
modeLabel: '錄音方式',
|
||
modeDesc: '切換式 = 按一次開始、再按一次結束;按住說話 = 按住開始、鬆開結束。',
|
||
modeToggle: '切換式',
|
||
modeHold: '按住說話',
|
||
modeAuto: '自動',
|
||
silenceAutoStopLabel: '靜音後自動停止',
|
||
silenceAutoStopDesc:
|
||
'僅切換模式生效。偵測到語音後,連續靜音達到所選時長即自動結束並提交;一直沒說話則 10 秒後取消。預設關閉;第二次按鍵停止和 Esc 取消仍然有效。',
|
||
silenceAutoStopSecondsLabel: '靜音時長',
|
||
silenceAutoStopSecondsValue: '{{value}} 秒',
|
||
migrationNoticeTitle: '默認已改爲切換式說話',
|
||
migrationNoticeDesc:
|
||
'如果你之前改過快捷鍵觸發方式,請在這裏手動確認一次。本次更新調整了快捷鍵方式的默認值與讀取邏輯;如果你更習慣按住說話,可以重新切回“按住說話”。',
|
||
comboRecordLabel: '錄製快捷鍵',
|
||
comboRecordDesc: '點擊後按下你想要的快捷鍵組合(如 ⌘⇧D),支援 Toggle 與 Hold 模式。',
|
||
comboRecordBtn: '錄製快捷鍵',
|
||
comboResetBtn: '重置',
|
||
comboMenuToggle: '更多操作',
|
||
comboDisableHint: '核心快捷鍵不可停用,錄音必須綁定一個快捷鍵',
|
||
comboRecordHint: '請按下快捷鍵組合…',
|
||
comboNeedKey: '請設定組合鍵(如 ⌘⇧J),不支援單獨的修飾鍵',
|
||
comboRecorded: '已錄製',
|
||
comboClear: '清除',
|
||
comboConflict: '此快捷鍵組合不可用',
|
||
microphoneLabel: '首選麥克風',
|
||
microphoneDesc:
|
||
'選擇優先使用的輸入設備。設備暫時不可用時會使用系統默認麥克風,重新連接後自動切回首選設備。',
|
||
microphoneDefault: '系統默認麥克風',
|
||
microphoneDefaultDesc: '使用系統默認輸入設備',
|
||
microphoneSystemDefault: '系統默認',
|
||
microphoneUnavailable: '不可用',
|
||
microphoneLoadError: '麥克風列表讀取失敗:{{message}}',
|
||
microphoneDialogTitle: '麥克風',
|
||
microphoneDialogDesc: '選擇能捕捉到您聲音的麥克風。如果指示條沒有移動,請嘗試其他麥克風。',
|
||
microphoneMonitorError: '輸入電平監聽失敗:{{message}}',
|
||
capsuleLabel: '錄音膠囊',
|
||
capsuleDesc: '錄音 / 轉寫時在屏幕底部顯示半透明膠囊。',
|
||
capsuleStyleTypeless: 'Typeless 傳統風格',
|
||
capsuleStyleLabel: '膠囊樣式',
|
||
capsuleStyleSiri: '流光 Siri 風格',
|
||
capsuleStyleClassic: 'Openless 預設風格',
|
||
muteDuringRecordingLabel: '錄音時靜音',
|
||
muteDuringRecordingDesc: '錄音期間臨時靜音系統輸出,避免揚聲器回音。',
|
||
audioCueLabel: '錄音提示音',
|
||
audioCueDesc: '按下熱鍵開始錄音時播放一段合成提示音,提醒已開始錄音。膠囊隱藏時也會響。',
|
||
audioCuePreview: '試聽',
|
||
insertGroupTitle: '插入與剪貼板',
|
||
restoreClipboardLabel: '插入後恢復剪貼板',
|
||
restoreClipboardDesc: '粘貼成功後恢復你原來的剪貼板內容(僅 Windows / Linux)。',
|
||
pasteShortcutLabel: '模擬粘貼快捷鍵',
|
||
pasteShortcutDesc:
|
||
'插入時模擬按下的粘貼鍵,部分終端類應用需要 Ctrl+Shift+V(僅 Windows / Linux)。',
|
||
pasteShortcutCtrlV: 'Ctrl+V(默認 / 多數應用)',
|
||
pasteShortcutCtrlShiftV: 'Ctrl+Shift+V(kitty / alacritty / wezterm / 多數終端)',
|
||
pasteShortcutShiftInsert: 'Shift+Insert(xterm / urxvt)',
|
||
allowNonTsfFallbackLabel: '允許非 TSF 兜底',
|
||
allowNonTsfFallbackDesc:
|
||
'Windows:TSF 失敗時使用分批 Unicode SendInput;如果仍失敗,再複製到剪貼簿。',
|
||
windowsInsertionModeLabel: 'Windows 插入方式',
|
||
windowsInsertionModeDesc:
|
||
'聽寫結果如何插入到目前游標位置。剪貼簿貼上模式使用上方「模擬粘貼快捷鍵」,可完整保留換行。',
|
||
windowsInsertionModeTsf: 'TSF 輸入法(預設)',
|
||
windowsInsertionModeSendInput: 'SendInput 逐字模擬',
|
||
windowsInsertionModePaste: '剪貼簿貼上(Ctrl+V 等)',
|
||
macosNewlineModeLabel: '換行怎麼落',
|
||
macosNewlineModeDesc:
|
||
'自動會在已知終端應用中使用 Line Feed(U+000A / Ctrl+J),其他應用使用 Shift+Return;Return 會直接發送。',
|
||
macosNewlineModeAuto: '自動(終端使用 Line Feed)',
|
||
macosNewlineModeShiftReturn: 'Shift+Return(聊天框換行)',
|
||
macosNewlineModeLineFeed: 'Line Feed(終端 CLI / Ctrl+J)',
|
||
macosNewlineModeReturn: 'Return(拆成多條訊息)',
|
||
windowsSendInputNewlineModeLabel: 'SendInput 換行模擬',
|
||
windowsSendInputNewlineModeDesc:
|
||
'SendInput 模式下如何把換行符模擬成按鍵。聊天框通常選 Shift+Enter;記事本 / VS Code 等選 Enter。',
|
||
windowsSendInputNewlineModeEnter: 'Enter(多數編輯器)',
|
||
windowsSendInputNewlineModeShiftEnter: 'Shift+Enter(聊天輸入框)',
|
||
windowsSendInputNewlineModeCrLf: 'CR+LF Unicode',
|
||
windowsShowOpenlessInKeyboardListLabel: '在鍵盤列表中顯示 OpenLess',
|
||
windowsShowOpenlessInKeyboardListDesc:
|
||
'關閉後 Win+Space 切換輸入法時不會出現 OpenLess;SendInput 與剪貼簿貼上插入不受影響。重新開啟本項可恢復顯示。',
|
||
windowsShowOpenlessInKeyboardListError:
|
||
'無法更新鍵盤列表:系統拒絕更改 OpenLess 語言設定檔。',
|
||
historyGroupTitle: '歷史與上下文',
|
||
historyRetentionLabel: '歷史保留天數',
|
||
historyRetentionDesc: '超過保留天數的歷史在寫入新條目時被清理;0 = 不按時間清理。',
|
||
historyMaxEntriesLabel: '歷史條數上限',
|
||
historyMaxEntriesDesc: '本地保留會話上限,留空 = 200。範圍 5–200。',
|
||
polishContextWindowLabel: '對話上下文窗口(分鐘)',
|
||
polishContextWindowDesc: '把最近 N 分鐘內已潤色的轉寫作為多輪上下文,0 = 關閉。',
|
||
recordAudioForDebugLabel: '保留原始錄音(除錯)',
|
||
recordAudioForDebugDesc: '保存原始麥克風音訊為 wav,便於排查識別問題。',
|
||
audioRecordingMaxEntriesLabel: '原始錄音保留條數',
|
||
audioRecordingMaxEntriesDesc: '本地保留 wav 檔案數上限,留空 = 200。',
|
||
startupGroupTitle: '啟動',
|
||
startMinimizedLabel: '啓動時靜默運行',
|
||
startMinimizedDesc: '所有啓動路徑都不彈主窗口,僅選單欄 / 托盤運行。',
|
||
autoUpdateCheckLabel: '自動檢查更新',
|
||
autoUpdateCheckDesc: '啟動時及每 60 分鐘自動檢查更新。',
|
||
marketplaceGroupTitle: '風格市場',
|
||
marketplaceBaseUrlLabel: '雲端服務位址',
|
||
marketplaceBaseUrlDesc: '風格市場後端 URL,留空使用預設值。',
|
||
marketplaceDevLoginLabel: 'GitHub 使用者名稱(上傳身份)',
|
||
marketplaceDevLoginDesc: '標識上傳者身分,為空時無法上傳或按讚。',
|
||
startupAtBoot: '開機自啓',
|
||
startupAtBootDesc: '登錄系統時自動啓動 OpenLess。',
|
||
startupAtBootError: '開機自啓切換失敗:{{message}}',
|
||
},
|
||
channels: {
|
||
backToList: '返回渠道列表',
|
||
done: '完成',
|
||
llmTitle: '文字處理渠道',
|
||
asrTitle: '語音辨識渠道',
|
||
current: '目前使用',
|
||
enabled: '啟用',
|
||
disabled: '已停用',
|
||
enabledFor: '啟用 {{name}}',
|
||
modelNotSet: '未單獨設定模型',
|
||
localModelManaged: '模型由系統或「本地模型」頁管理',
|
||
lastCheck: '上次驗證',
|
||
verifying: '正在驗證…',
|
||
notVerified: '尚未驗證',
|
||
passed: '驗證通過',
|
||
failed: '驗證失敗 · {{reason}}',
|
||
elapsed: '耗時 {{ms}} ms',
|
||
staleResult: '結果已超過 24 小時',
|
||
connectionTitle: '服務連線',
|
||
modelTitle: '模型設定',
|
||
modelHint: '直接輸入模型名稱,或取得並選擇供應商的可用模型。',
|
||
availableModels: '可用模型',
|
||
validationTitle: '連線驗證',
|
||
validationHint:
|
||
'手動發出一次實際請求,檢查目前設定;可能消耗服務額度。儲存設定不會自動驗證。',
|
||
autoSaveHint: '修改欄位後會自動儲存;完成設定後,可手動驗證連線。',
|
||
nameHint: '名稱僅用於區分同一供應商的多個渠道,不影響模型或連線。',
|
||
errModel: '模型',
|
||
verify: '驗證',
|
||
verifyHint: '點一下會真實呼叫一次介面,確認這張卡現在可用',
|
||
errTimeout: '逾時',
|
||
errNetwork: '網路',
|
||
errEndpoint: '網址',
|
||
errGeneric: '失敗',
|
||
dragHint: '按住拖曳可調整優先順序',
|
||
orderHint: '請求會使用列表中第一個啟用的渠道。拖曳可調整順序;停用的渠道會移到末尾。',
|
||
empty: '還沒有渠道。點選「新增渠道」,連接你的第一個服務。',
|
||
add: '新增渠道',
|
||
edit: '編輯',
|
||
createTitle: '新增渠道',
|
||
editTitle: '編輯渠道',
|
||
providerLabel: '供應商',
|
||
nameLabel: '渠道名稱(選填)',
|
||
namePlaceholder: '例如:矽基流動-主帳號',
|
||
create: '建立',
|
||
delete: '刪除渠道',
|
||
deleteConfirm: '刪除後該渠道儲存的金鑰也會一併清除。',
|
||
confirmDelete: '確認刪除',
|
||
justNow: '剛剛',
|
||
minutesAgo: '{{count}} 分鐘前',
|
||
hoursAgo: '{{count}} 小時前',
|
||
daysAgo: '{{count}} 天前',
|
||
localEngineModelHint: '可在「AI 服務與模型 → 本地模型」中下載和切換本地模型。',
|
||
},
|
||
providers: {
|
||
localEngineNoCredentials: '本機引擎不需要 API Key 與網址。',
|
||
localModelLabel: '本地模型',
|
||
localModelEmpty: '尚未下載本地模型',
|
||
appleSpeechLocalNote: 'Apple 語音辨識使用系統內建引擎,無需選擇模型。',
|
||
localEngineNote:
|
||
'已下載的本地模型在上方下拉中直接選擇;更多模型在「本地模型」看板下載與管理。',
|
||
localTag: '本地',
|
||
llmTitle: 'LLM 模型(潤色)',
|
||
llmDesc: 'OpenAI 兼容協議,支持多家供應商切換。',
|
||
providerLabel: '供應商',
|
||
llmProviderDesc: '選擇後將自動填入 Base URL 默認值。',
|
||
credentialStorageNotice: '憑據保存在系統憑據庫中。',
|
||
codexOAuthNotice:
|
||
'Codex OAuth 使用本機 Codex 登入狀態(~/.codex/auth.json),無需在 OpenLess 中保存 API Key 或 Base URL。',
|
||
asrProviderDesc: '切換後將自動選用對應憑據。',
|
||
asrTitle: 'ASR 語音(轉寫)',
|
||
asrDesc: '用於將錄製的語音轉寫為文字。',
|
||
omniTitle: '多模態模型',
|
||
omniDesc: '一個模型直接接收「提示詞 + 音訊」一步輸出最終文字(實驗性管線)。',
|
||
pipelineModeLabel: '識別管線',
|
||
pipelineModeHint: '傳統 = ASR 轉寫 + LLM 潤色兩段式;多模態 = 單一多模態模型一次完成。',
|
||
pipelineModeTraditional: '傳統模式',
|
||
pipelineModeMultimodal: '多模態模式',
|
||
pipelineIsolationNotice:
|
||
'兩種模式使用完全獨立的憑證設定。切換模式不會刪除另一套設定,只是暫時停用;切回即恢復。',
|
||
presets: {
|
||
ark: 'ARK(火山方舟)',
|
||
deepseek: 'DeepSeek',
|
||
siliconflow: '硅基流動',
|
||
atlascloud: 'Atlas Cloud',
|
||
openai: 'OpenAI',
|
||
gemini: 'Google Gemini',
|
||
codexOAuth: 'Codex OAuth',
|
||
mimo: '小米 MiMo',
|
||
cometapi: 'CometAPI',
|
||
openrouterFree: 'OpenRouter(免費模型)',
|
||
orcarouter: 'OrcaRouter',
|
||
alibabaCoding: '阿里雲 Coding Plan',
|
||
codingPlanX: 'CodingPlanX',
|
||
minimax: 'MiniMax(M3)',
|
||
stepfun: 'StepFun(階躍星辰)',
|
||
opencode: 'OpenCode Zen',
|
||
tencentTokenHub: '騰訊雲 TokenHub',
|
||
customChatCompletions: '自訂 · Chat Completions',
|
||
customResponses: '自訂 · Responses',
|
||
customMessages: '自訂 · Messages',
|
||
custom: '自定義',
|
||
asrVolcengine: '火山引擎 bigasr',
|
||
asrBailian: '阿里雲百煉即時 ASR',
|
||
asrBailianQwen3: '阿里雲百煉 Qwen3 即時 ASR',
|
||
asrBailianFunAsrFlash: '阿里雲百煉 Fun-ASR-Flash(錄音檔)',
|
||
asrSiliconflow: '硅基流動 SenseVoice',
|
||
asrStepfun: '階躍星辰 StepAudio',
|
||
asrZhipu: '智譜 GLM-ASR',
|
||
asrGroq: 'Groq Whisper-large-v3',
|
||
asrWhisper: 'OpenAI Whisper(兼容)',
|
||
asrOpenrouter: 'OpenRouter Whisper',
|
||
asrZenmux: 'ZenMux',
|
||
asrOpenAiCompatible: '自訂 OpenAI 相容',
|
||
asrXiaomiMimo: '小米 MiMo ASR',
|
||
asrIflytek: '訊飛即時語音轉寫',
|
||
asrTencentCloud: '騰訊雲混元即時 ASR',
|
||
asrElevenLabs: 'ElevenLabs Scribe',
|
||
asrSherpaOnnxLocal: '本地 sherpa-onnx(實驗性)',
|
||
asrFoundryLocalWhisper: '本地 Whisper(Foundry Local)',
|
||
asrLocalWhisper: '本地 Whisper(批次解碼)',
|
||
asrLocalQwen3: '本地 Qwen3-ASR',
|
||
asrLocalQwen3Mlx: '本地 Qwen3-ASR(MLX / Metal)',
|
||
asrLocalQwen3C: '本地 Qwen3-ASR(C / CPU)',
|
||
asrAppleSpeech: 'Apple 語音(macOS)',
|
||
omniOpenai: 'OpenAI(支援音訊)',
|
||
omniGemini: 'Google Gemini',
|
||
omniDashscope: '阿里雲百煉 Omni',
|
||
},
|
||
elevenLabsUploadNotice: 'ElevenLabs 會將錄音上傳至已設定的端點進行批次轉寫。',
|
||
zenmuxVocabularyNote:
|
||
'ZenMux 走 JSON 轉寫協定,不傳送詞典熱詞(prompt/hotwords);詞典仍會進入潤色鏈路,但不會參與語音辨識偏置。',
|
||
asrAdvancedNote:
|
||
'以下進階選項僅影響「自訂 OpenAI 相容」與「ZenMux」預設;其餘具名廠商預設維持內建行為。',
|
||
asrAdvancedVerboseJsonLabel: '分段指標 (verbose_json)',
|
||
asrAdvancedVerboseJsonHint:
|
||
'服務端支援時回傳 segments 指標,用於幻聽過濾;自建服務若不支援請保持關閉。',
|
||
asrAdvancedChunkLabel: '分片時長 (ms)',
|
||
asrAdvancedChunkHint:
|
||
'0 = 不分片,整段傳送;按片段多次請求,適合長錄音或服務端單次請求時長受限。',
|
||
asrAdvancedEnableItnLabel: '數字正規化 (enable_itn)',
|
||
asrAdvancedEnableItnHint:
|
||
'把口語數字/單位正規化為阿拉伯數字(如「二零二六年」→「2026年」)。關閉後保留原始文字。',
|
||
volcengineAppKeyLabel: 'APP ID',
|
||
volcengineAccessKeyLabel: 'Access Token',
|
||
volcengineApiKeyLabel: 'API Key',
|
||
volcengineResourceIdLabel: 'Resource ID',
|
||
volcengineAuthModeLabel: '鑑權模式',
|
||
volcengineAuthModeAppIdToken: '舊版應用(APP ID + Access Token)',
|
||
volcengineAuthModeApiKey: '新版控制台 API Key',
|
||
volcengineMappingNote:
|
||
'Secret Key 當前無需填寫。Resource ID 默認使用 volc.seedasr.sauc.duration。',
|
||
volcengineApiKeyNote:
|
||
'使用新版語音控制台建立的 API Key 鑑權,無需 APP ID。API Key 可在語音控制台「API Key 管理」建立:console.volcengine.com/speech/new/setting/apikeys。Resource ID 預設使用 volc.seedasr.sauc.duration。',
|
||
xfyunAppIdLabel: 'AppID',
|
||
xfyunApiKeyLabel: 'API Key',
|
||
xfyunNote:
|
||
'在訊飛開放平台「即時語音轉寫」服務頁取得 AppID 與 API Key。音訊為 16kHz/16bit/單聲道 PCM;標準版介面暫不支援熱詞參數(可在訊飛控制台設定個人化熱詞),語種預設中文普通話。',
|
||
tencentCloudAppIdLabel: '騰訊雲 AppID',
|
||
tencentCloudSecretIdLabel: 'SecretID',
|
||
tencentCloudSecretKeyLabel: 'SecretKey',
|
||
tencentCloudNote:
|
||
'使用騰訊雲「語音辨識」服務的 API 金鑰。預設 Hy-ASR-3.0-preview 支援中英與 20 種方言;Preview 僅支援 60 秒內的 16kHz 單聲道 PCM,暫不支援上下文或熱詞增強。',
|
||
tencentTokenHubNote:
|
||
'僅顯示目前在線的語言模型。部分模型始終啟用思考;關閉思考開關時將沿用該模型的固定行為。',
|
||
localAsrActiveNotice: '當前已啓用「{{name}}」,可在「高級」中切換或停用。',
|
||
localAsrTakeoverHint: '啓動「{{name}}」後,ASR 提供商將被接管。',
|
||
asrProviderTakenOver:
|
||
'目前使用的是本地引擎,在上方下拉直接選其他供應商即可切換(本地引擎會自動停用);本地模型在「服務 → 本地模型」裡管理。',
|
||
localAsrHint: '在本機運行,無需 API Key。從 HuggingFace 下載模型即可使用。',
|
||
foundryLocalAsrHint: '在本機運行,無需 ASR API Key。首次使用需下載運行元件和模型。',
|
||
localAsrPerformanceWarning: '本地推理比雲端慢,中文準確率可能更低。適合離線或隱私敏感場景。',
|
||
localAsrReady: '{{model}} 已下載',
|
||
localAsrNotReady: '{{model}} 未下載',
|
||
localAsrGoDownload: '前往模型設置下載',
|
||
localAsrManage: '前往模型設置',
|
||
localAsrDownloadedTitle: '已下載模型',
|
||
localAsrDelete: '刪除',
|
||
fillDefault: '填入默認值',
|
||
readFailed: '讀取失敗',
|
||
apiKeyLabel: 'API 密鑰',
|
||
baseUrlLabel: '接口地址',
|
||
modelLabel: '模型',
|
||
customModelLabel: '自訂模型…',
|
||
presetListLabel: '返回預設清單',
|
||
searchModels: '搜尋模型…',
|
||
noMatchingModels: '沒有符合的模型',
|
||
orcarouterCatalogHint:
|
||
'模型來自 OrcaRouter /models;此供應商只允許從目錄中選擇,不支援手動填寫模型 ID。',
|
||
orcarouterAsrCatalogHint:
|
||
'模型來自 OrcaRouter /models,並僅顯示相容音訊輸入的 Gemini;不支援手動填寫模型 ID。',
|
||
temperatureLabel: 'Temperature',
|
||
temperaturePlaceholder: '留空則不發送;範圍 0~2(含邊界),例如 0.3',
|
||
extraHeadersLabel: '額外 Headers',
|
||
extraHeadersPlaceholder: '{"custom-head":"..."}',
|
||
thinkingModeLabel: '思考',
|
||
thinkingModeOn: '開啟',
|
||
thinkingModeOff: '關閉',
|
||
requestFormatLabel: '請求格式',
|
||
messagesThinkingLabel: '思考方式',
|
||
thinkingAdaptive: '自適應',
|
||
thinkingBudget: '固定預算',
|
||
maxTokensLabel: '最大輸出 tokens',
|
||
thinkingBudgetLabel: '思考預算 tokens',
|
||
responsesThinkingHint: '部分模型只能降低思考,無法完全關閉。推理請求不傳送溫度參數。',
|
||
messagesThinkingHint:
|
||
'舊模型或相容閘道可能需要固定預算;思考預算必須小於最大輸出。開啟思考時不傳送溫度參數。',
|
||
llmRequestFormatInvalid: '請求格式無效,請重新選擇。',
|
||
llmThinkingModeInvalid: '思考方式無效,請重新選擇。',
|
||
llmTokenLimitInvalid: 'Token 上限必須為正整數。',
|
||
llmThinkingBudgetInvalid: '思考預算至少為 1024,且固定預算必須小於最大輸出。',
|
||
llmResponseIncomplete: '回應未完整結束或達到輸出上限;已輸出正文會保留。',
|
||
llmProtocolHeaderConflict:
|
||
'Messages 已自動設定驗證與版本標頭,請移除額外 Headers 中的 x-api-key 與 anthropic-version。',
|
||
llmStreamError: '伺服器回傳串流錯誤,請檢查模型和請求參數。',
|
||
saveProtocol: '儲存協定設定',
|
||
thinkingModeHint:
|
||
'依所選請求格式與模型支援的參數啟用、關閉或降低思考,不在提示詞注入控制指令。',
|
||
bailianVocabularyIdLabel: '熱詞 Vocabulary ID(可選)',
|
||
bailianVocabularyIdNote: '如已在百煉建立熱詞表,可填寫 vocab-...;留空則不下發熱詞。',
|
||
bailianModelRealtimeHint: '即時模型 · 邊說邊出字。',
|
||
bailianModelSyncFileHint: '同步錄音模型 · 說完後整段轉寫(單條 ≤ 5 分鐘)。',
|
||
bailianModelAsyncFileHint: '非同步檔案模型 · 錄音上傳後等待轉寫工作完成。',
|
||
appIdLabel: 'App ID(應用 ID)',
|
||
accessKeyLabel: 'Access Key',
|
||
resourceIdLabel: '資源 ID',
|
||
toolsLabel: '連接檢查',
|
||
toolsDesc: '先保存上方配置,再驗證當前模型連通性或拉取模型;失敗時仍可手動填寫模型 ID。',
|
||
validate: '驗證',
|
||
validating: '驗證中…',
|
||
fetchModels: '拉取模型',
|
||
loadingModels: '拉取模型中…',
|
||
modelMissing: '未配置模型,請先填寫模型 ID。',
|
||
modelsEmpty: '鑑權成功,但沒有返回可用模型。',
|
||
modelsLoaded: '已拉取 {{count}} 個模型。',
|
||
selectModel: '選擇一個模型寫入上方字段',
|
||
modelSaved: '已保存模型 {{model}}。',
|
||
validateSuccess: '連接檢查通過。',
|
||
validateFailed: '連接檢查未通過。',
|
||
providerHttpStatus: '供應商接口返回 {{status}},請檢查 API Key 權限或 Endpoint。',
|
||
endpointMustUseHttps:
|
||
'允許使用 HTTP Endpoint,但請注意:API Key 和音訊內容可能在傳輸中外洩。',
|
||
endpointHttpWarning: '允許使用 HTTP Endpoint,但請注意:API Key 和請求內容可能在傳輸中外洩。',
|
||
endpointInvalid: 'Endpoint 格式不合法。',
|
||
bailianEndpointSchemeInvalid:
|
||
'百煉即時 ASR 走 DashScope WebSocket 閘道,接口地址必須以 wss:// 開頭(預設 wss://dashscope.aliyuncs.com/api-ws/v1/inference/);https:// 的相容模式地址在此不可用。',
|
||
qwen3EndpointSchemeInvalid:
|
||
'Qwen3 即時 ASR 走 DashScope Realtime WebSocket 閘道,接口地址必須以 wss:// 開頭(預設 wss://dashscope.aliyuncs.com/api-ws/v1/realtime);https:// 地址在此不可用。',
|
||
responseTooLarge: '供應商響應過大,已停止驗證以保證安全。',
|
||
asrInvalidJson: 'ASR 響應不是有效 JSON。',
|
||
asrMissingTextField: 'ASR 響應缺少 text 字段。',
|
||
apiKeyMissing: 'API Key 爲空。',
|
||
endpointMissing: 'Endpoint 爲空。',
|
||
volcengineAppIdMissing: 'APP ID 爲空。',
|
||
volcengineAccessTokenMissing: 'Access Token 爲空。',
|
||
requestTimeout: '請求超時,請稍後重試。',
|
||
},
|
||
shortcuts: {
|
||
title: '快捷鍵設定',
|
||
descAcc: '所有快捷鍵全局生效,需要在權限設置中開啓輔助功能。',
|
||
descNoAcc: '所有快捷鍵全局生效。若無響應,請在權限頁查看全局快捷鍵監聽狀態。',
|
||
startStop: '開始 / 停止錄音',
|
||
cancel: '取消本次錄音',
|
||
confirm: '膠囊確認插入',
|
||
switchStyle: '切換到上一個風格',
|
||
openApp: '打開 OpenLess',
|
||
stylePackTitle: '風格直達快捷鍵',
|
||
stylePackDesc: '為常用風格包各配一個快捷鍵,按下直接切換;停用中的包會自動啟用。',
|
||
stylePackAdd: '新增風格快捷鍵',
|
||
stylePackSelect: '選擇風格包',
|
||
stylePackDisabledSuffix: '(已停用)',
|
||
stylePackRemove: '移除',
|
||
agentPolish: '選取文字潤色',
|
||
agentPolishDesc: '選取文字 → 按鍵 → Claude 潤色 → 取代選取。',
|
||
agentVoice: 'Less Computer',
|
||
agentVoiceDesc: '按住自訂按鍵 → 說話 → Claude 執行任務 → 結果彈膠囊顯示。',
|
||
agentVoiceHint: '在「進階 → Less Computer」裡設定按住說話鍵。',
|
||
agentVoiceTrigger: 'Less Computer 按住說話鍵',
|
||
enable: '啟用',
|
||
disable: '停用',
|
||
confirmHint: '點擊右側 ✓',
|
||
notSupported: '暫未支持',
|
||
androidReadOnly: 'Android 不支援全域快捷鍵,請在概覽頁使用錄音按鈕。',
|
||
},
|
||
permissions: {
|
||
title: '權限',
|
||
descAcc: 'OpenLess 需要以下系統權限才能正常工作。授權後通常需要完全退出 App 重啓一次才生效。',
|
||
descNoAcc: 'OpenLess 需要麥克風可用,並依賴全局快捷鍵監聽狀態判斷 native hook 是否正常工作。',
|
||
micLabel: '麥克風',
|
||
micDesc: '用於捕獲你的語音輸入。',
|
||
accLabel: '輔助功能',
|
||
accDesc: '用於監聽全局快捷鍵並將識別結果寫入光標位置。',
|
||
hotkeyLabel: '全局快捷鍵',
|
||
hotkeyDescWithAdapter: '當前適配器:{{adapter}}。用於判斷快捷鍵監聽是否已經安裝。',
|
||
hotkeyDescPlain: '用於判斷快捷鍵監聽是否已經安裝。',
|
||
networkLabel: '網絡',
|
||
networkDesc: '雲端 ASR / LLM 調用所必需。本地模式可關閉。',
|
||
networkOk: '可用',
|
||
networkOffline: '不可用',
|
||
checking: '檢查中…',
|
||
granted: '已授權',
|
||
notApplicable: '無需授權',
|
||
denied: '未授權',
|
||
indeterminate: '未確定',
|
||
micNoDevice: '未偵測到麥克風',
|
||
openSystem: '打開系統設置',
|
||
restart: '重置授權並重新啟動',
|
||
grant: '授權',
|
||
rerunAndroidSetup: '重新執行設定向導',
|
||
hotkeyInstalled: '已安裝',
|
||
hotkeyStarting: '安裝中…',
|
||
hotkeyFailed: '監聽失敗',
|
||
windowsImeLabel: 'Windows 輸入法後端',
|
||
windowsImeDesc: '用於在語音會話期間臨時切換到 OpenLess TSF 輸入法,避免剪貼板插入限制。',
|
||
windowsImeInstalled: '已安裝',
|
||
windowsImeUnavailable: '不可用',
|
||
androidImeLabel: '輸入法 (IME)',
|
||
androidImeSelected: '已選中',
|
||
androidImeEnabled: '已啟用',
|
||
androidImeDisabled: '未啟用',
|
||
androidOverlayLabel: '懸浮窗',
|
||
androidAccessibilityLabel: '無障礙服務',
|
||
androidAccessibilityImpact:
|
||
'開啟後可在不切換鍵盤的情況下把結果輸出到目前輸入框;未開啟時仍會複製到剪貼簿,需要手動貼上。',
|
||
androidAccessibilityGrantedStale: '已授權,未連線',
|
||
androidAccessibilityMessages: {
|
||
not_android: '無障礙狀態僅在 Android 上可用。',
|
||
not_enabled: '請在系統無障礙設定中啟用 OpenLess。',
|
||
operational: '無障礙服務正在執行。',
|
||
authorized_not_connected: '無障礙已授權但未連線,請在系統設定中重新開啟 OpenLess。',
|
||
status_read_failed: '無法讀取無障礙狀態。',
|
||
},
|
||
androidShizukuLabel: 'Shizuku 增強模式',
|
||
androidShizukuHint:
|
||
'可選功能,在部分機型無法手動開啟無障礙時盡力恢復;無法完全消除跨應用競態。裝置重啟後可能需要重新啟動 Shizuku。',
|
||
androidShizukuOpenApp: '開啟 Shizuku',
|
||
androidShizukuRequestPermission: '請求授權',
|
||
androidShizukuRecover: '恢復無障礙服務',
|
||
androidShizukuRecoverConfirm:
|
||
'是否透過 Shizuku 嘗試重新啟用 OpenLess 無障礙服務?寫入時會合併當時已啟用的服務。若全域開關為關閉,啟用後可能同時啟動清單中已登記的其他無障礙服務。',
|
||
androidShizukuYes: '是',
|
||
androidShizukuNo: '否',
|
||
androidShizukuAccessibilityOperational: '無障礙服務已註冊且正在執行。',
|
||
androidShizukuAccessibilityRegistered: '已註冊:{{registered}} · 執行中:{{operational}}',
|
||
androidShizukuState: {
|
||
notInstalled: '未安裝',
|
||
notRunning: '未執行',
|
||
notAuthorized: '未授權',
|
||
authorized: '已授權',
|
||
binderDead: '連線中斷',
|
||
notAndroid: '不可用',
|
||
},
|
||
androidShizukuMessages: {
|
||
not_android: 'Shizuku 僅在 Android 上可用。',
|
||
not_installed: '未安裝 Shizuku 或 Sui 後端。',
|
||
unsupported_backend: '目前的 Shizuku 後端版本過舊,請更新 Shizuku 或 Sui 至 v11 以上。',
|
||
not_running: 'Shizuku 未執行,請先啟動 Shizuku 或 Sui。',
|
||
not_authorized: 'Shizuku 未授權,請授予 OpenLess 權限。',
|
||
binder_dead: 'Shizuku 連線已中斷,請重新啟動 Shizuku。',
|
||
authorized_operational: 'Shizuku 已授權,無障礙服務執行正常。',
|
||
authorized_registered_stale: 'Shizuku 已授權,無障礙服務已註冊但未執行。',
|
||
authorized_can_recover: 'Shizuku 已授權,可嘗試恢復無障礙服務。',
|
||
operational: '無障礙服務已註冊且正在執行。',
|
||
registered_stale: '無障礙服務已註冊,但服務目前無法使用。',
|
||
not_registered: '無障礙服務未在系統設定中啟用。',
|
||
already_granted: 'Shizuku 權限已授予。',
|
||
binder_unavailable: '請求授權時 Shizuku 服務不可用。',
|
||
request_cancelled: '已取消 Shizuku 授權請求。',
|
||
granted: 'Shizuku 權限已授予。',
|
||
denied: 'Shizuku 權限被拒絕。',
|
||
permission_permanently_denied: 'Shizuku 授權已被阻止。請開啟 Shizuku 並手動允許 OpenLess。',
|
||
launched: '已開啟 Shizuku 授權介面。',
|
||
launch_failed: '無法開啟 Shizuku 授權介面。',
|
||
open_shizuku: '已開啟 Shizuku 管理器。',
|
||
jni_error: '無法連線 Android Shizuku 後端。',
|
||
status_parse_failed: '無法解析 Shizuku 狀態。',
|
||
user_not_confirmed: '需要使用者確認後才能恢復無障礙服務。',
|
||
shizuku_unavailable: 'Shizuku 未授權或不可用。',
|
||
invalid_component: '無效的無障礙服務元件 ID。',
|
||
service_connect_failed: '無法連線 Shizuku 特權服務。',
|
||
recovery_in_progress: '已有恢復操作正在進行,請稍後再試。',
|
||
parse_failed: '無法解析恢復結果。',
|
||
service_not_bound: '設定已寫入,但無障礙服務尚未執行。',
|
||
success: '無障礙服務已恢復。',
|
||
read_failed: '無法讀取無障礙服務設定。',
|
||
read_enabled_failed: '無法讀取無障礙總開關。',
|
||
merge_failed: '無法合併無障礙服務清單。',
|
||
write_services_failed: '無法寫入已啟用無障礙服務清單。',
|
||
write_enabled_failed: '無法啟用無障礙總開關。',
|
||
readback_failed: '寫入後無法驗證無障礙設定。',
|
||
oem_rollback: '廠商系統回滾了無障礙寫入。',
|
||
concurrent_change: '恢復過程中無障礙設定被其他應用修改。',
|
||
partial_rollback: '恢復失敗,且設定只能部分回滾。請檢查系統無障礙設定。',
|
||
manual_required:
|
||
'全域開關關閉且清單中已有其他無障礙服務時,無法安全自動恢復。請前往系統設定手動操作。',
|
||
max_retries: '多次嘗試後恢復失敗。',
|
||
internal_error: '恢復因內部錯誤失敗。',
|
||
unknown: '未知 Shizuku 狀態。',
|
||
},
|
||
androidInsertStrategyLabel: '文字插入策略',
|
||
androidOverlayTriggerLabel: '懸浮窗顯示時機',
|
||
androidOverlayActivationModeLabel: '懸浮窗啟用方式',
|
||
androidOverlayLeftSwipeActionLabel: '左滑動作',
|
||
androidOverlayCancelSwipeDirectionLabel: '取消錄音滑向',
|
||
androidOverlaySizeLabel: '懸浮窗大小',
|
||
androidOverlaySizeHint: '調整懸浮按鈕直徑,儲存後在目前懸浮窗上生效並保留位置。',
|
||
androidInsertStrategy: { accessibility: '自動輸出到輸入框', clipboard: '僅剪貼簿' },
|
||
androidInsertStrategyHint: {
|
||
accessibility: '需要開啟無障礙服務;不可用時會複製到剪貼簿。',
|
||
clipboard: '不需要無障礙權限,只複製到剪貼簿,由你手動貼上。',
|
||
},
|
||
androidOverlayTrigger: { background: '退到背景', keyboard: '鍵盤彈出時', always: '常駐' },
|
||
androidOverlayTriggerHint: {
|
||
background: '省電',
|
||
keyboard: '此模式已暫緩,既有設定會改回退到背景。',
|
||
always: '一直佔屏',
|
||
},
|
||
androidOverlayTriggerDisabled: {
|
||
keyboard: '「鍵盤彈出時」暫緩開放,後續將以懸浮窗手勢取代鍵盤偵測。',
|
||
},
|
||
androidOverlayActivationMode: { tap: '點按啟用', long_press: '長按啟用' },
|
||
androidOverlayActivationModeHint: {
|
||
tap: '第一次點按進入啟用狀態,第二次點按開始普通聽寫。',
|
||
long_press: '按住進入啟用狀態;放開時結束目前錄音或問答輪次。',
|
||
},
|
||
androidOverlayLeftSwipeAction: { translation: '翻譯聽寫', style_pack: '切換風格包' },
|
||
androidOverlayLeftSwipeActionHint: {
|
||
translation: '啟用狀態左滑後按翻譯模式錄音。',
|
||
style_pack: '啟用狀態左滑後切換到上一個風格包。',
|
||
},
|
||
androidOverlayCancelSwipeDirection: { up: '向上滑', down: '向下滑' },
|
||
androidOverlayCancelSwipeDirectionHint: {
|
||
up: '錄音中向上滑取消本次聽寫,不轉寫、不插入。',
|
||
down: '錄音中向下滑取消本次聽寫,不轉寫、不插入。',
|
||
},
|
||
windowsIme: {
|
||
installed: '已安裝。語音輸入時會臨時切換到 OpenLess 輸入法。',
|
||
notInstalled: '未安裝。OpenLess 正在使用剪貼板 / WM_PASTE 兜底。',
|
||
registrationBroken: '註冊已損壞。請重新安裝 OpenLess 輸入法。',
|
||
notWindows: '僅 Windows 可用。',
|
||
},
|
||
},
|
||
advanced: {
|
||
multimodalPipelineTitle: '多模態辨識管線',
|
||
multimodalPipelineTitleHint:
|
||
'用單一多模態模型一步完成語音辨識;與傳統 ASR + LLM 設定完全隔離。',
|
||
multimodalPipelineLabel: '啟用多模態辨識管線',
|
||
multimodalPipelineHint:
|
||
'開啟後,「服務 → AI 提供者」頁出現「傳統模式 / 多模態模式」切換。傳統 = ASR + LLM;多模態 = 單一支援音訊的模型。兩套設定分開儲存、絕不共用憑證。',
|
||
streamingInsertTitle: '流式輸入',
|
||
streamingInsertTitleLinux: '流式輸入(實驗性)',
|
||
streamingInsertDesc: '逐字即時插入,降低感知延遲。不滿足條件時回落到一次性貼上。',
|
||
streamingInsertLabel: '流式輸入',
|
||
streamingInsertHintMac: '臨時切到 ABC 輸入源,避免 CJK IME 攔截,會話結束後自動切回。',
|
||
streamingInsertHintWindows: 'SendInput Unicode 直接送字元,繞過 TSF / IME,不切輸入法。',
|
||
streamingInsertHintLinux: '通過 fcitx5 插件提交文字;串流輸入使用 enigo + XTest 合成按鍵。',
|
||
streamingInsertSaveClipboardLabel: '同步到剪貼簿',
|
||
streamingInsertSaveClipboardHint:
|
||
'插入成功後把最終文字寫入剪貼簿,方便 Cmd+V 再次貼上;關閉後流式過程不動剪貼簿。',
|
||
localAsrTitle: '本地 ASR 模型',
|
||
localAsrDesc: '把轉寫從雲端切到本機推理。僅推薦離線 / 隱私敏感場景。',
|
||
localAsrWarningShort: '本地推理較慢,配置不足時可能吞字。',
|
||
qwen3Desc: '啓動之後,ASR 提供商將被接管。',
|
||
sherpaDesc: '啟用後,ASR 提供商將被接管。',
|
||
foundryDesc: '啓動之後,ASR 提供商將被接管。',
|
||
notSupportedHere: '本平臺暫不支持,未集成推理模塊。',
|
||
enable: '啓用',
|
||
alreadyActive: '已啓用',
|
||
disableLocalLabel: '停用本地 ASR',
|
||
disableLocalDesc: '切回雲端 ASR(默認火山引擎 bigasr)。',
|
||
disable: '停用',
|
||
platformNotSupported: '該平臺暫未支持本地 ASR 模型集成。',
|
||
confirmEnableLocalTitle: '啓用本地 ASR?',
|
||
confirmEnableLocalBody: '啟用後轉寫會比雲端慢,準確率可能更低。',
|
||
confirm: '確認啓用',
|
||
},
|
||
language: {
|
||
es: 'Español',
|
||
fr: 'Français',
|
||
de: 'Deutsch',
|
||
title: '界面語言',
|
||
desc: '切換 UI 顯示語言。當前會話即時生效,下次啓動自動沿用。',
|
||
label: '語言',
|
||
labelDesc: '選擇「跟隨系統」時按操作系統當前語言顯示。',
|
||
followSystem: '跟隨系統',
|
||
zh: '簡體中文',
|
||
zhTW: '繁體中文',
|
||
en: 'English',
|
||
ja: '日本語 (Beta)',
|
||
ko: '한국어 (Beta)',
|
||
restartHint: '部分原生菜單(系統托盤等)可能需要重啓 App 纔會切換。',
|
||
},
|
||
layout: {
|
||
title: '布局',
|
||
},
|
||
theme: {
|
||
title: '外觀',
|
||
label: '主題',
|
||
activityHeatmapLabel: '概覽頁顯示年度活動熱力圖',
|
||
stackedRowLayoutLabel: '易讀布局(防溢出換行)',
|
||
stackedRowLayoutDesc:
|
||
'小螢幕或大字時,同一行放不下的按鈕和選項會自動換到下一行,避免橫向擠出螢幕或文字被壓扁。',
|
||
conservativeLayoutLabel: '保守排版',
|
||
conservativeLayoutDesc:
|
||
'除首頁、頂欄與底欄外,設定與功能頁改為單列滿寬,最大程度避免橫向溢出。',
|
||
system: '跟隨系統',
|
||
light: '淺色',
|
||
dark: '深色',
|
||
},
|
||
remoteInput: {
|
||
title: '遠端輸入',
|
||
enableLabel: '啟用遠端輸入',
|
||
enableDesc:
|
||
'手機/平板瀏覽器連到電腦錄音,語音即時落到電腦游標處(需 HTTPS,首次存取要信任憑證)',
|
||
portLabel: '監聽連接埠',
|
||
defaultModeLabel: '預設錄音方式',
|
||
modeToggle: '點擊切換',
|
||
modeHold: '按住說話',
|
||
urlLabel: '存取網址',
|
||
pinLabel: '配對碼',
|
||
regeneratePin: '重新產生',
|
||
portInUse: '連接埠 {{port}} 被佔用,請更換',
|
||
startError: '遠端輸入服務啟動失敗:{{reason}}',
|
||
securityHint: '僅同一區域網路可存取,需輸入配對碼;不用時建議關閉。',
|
||
certHint: "首次連線需核對根憑證指紋後再信任。升級舊版需設定一次;之後重新啟動和更換 IP 會保留信任。",
|
||
certFingerprintLabel: "本機根憑證 SHA-256",
|
||
certFingerprintCopy: "複製完整指紋",
|
||
certFingerprintCopied: "已複製指紋",
|
||
certFingerprintUnavailable: "完整指紋無法取得。請勿安裝或信任下載的憑證。",
|
||
certVerifyHint: "在手機系統的憑證詳細資訊中找到 SHA-256,與此處全部 64 個字元逐一核對(忽略空格和冒號)。必須在開啟完全信任前完成。網頁、描述檔名稱與識別碼不能證明憑證身分;若不一致或無法查看完整指紋,請停止並移除已下載或安裝的描述檔。",
|
||
certProfileHint: "描述檔應只包含一張根憑證。若有其他憑證、VPN 或裝置管理設定,請勿安裝。",
|
||
certTrustWarning: "首次憑證下載無法驗證電腦身分,惡意區域網路裝置可能透過中間人攻擊替換根憑證。僅在可信任的家庭或私人網路中安裝,請勿在公共或共享網路操作。根憑證能簽發憑證,私密金鑰保存在這台電腦;不再使用時請從手機移除。",
|
||
certSetupLink: "複製 iPhone 憑證連結",
|
||
waitingStart: '服務尚未啟動。請關閉開關再打開一次,不要重啟軟體。',
|
||
starting: '正在啟動遠端輸入服務…',
|
||
urlsStale: '這些地址來自上次執行,可能已經過期。',
|
||
},
|
||
about: {
|
||
tagline: '自然說話,完美書寫',
|
||
checkUpdate: '檢查更新',
|
||
checkUpdateBtn: '檢查',
|
||
checkStableUpdateBtn: '檢查正式版更新',
|
||
checkBetaUpdateBtn: '檢查 Beta 更新',
|
||
checkingUpdate: '檢查中…',
|
||
upToDate: '當前已是最新版本。',
|
||
updateError: '檢查或更新失敗,請稍後重試。',
|
||
retryBtn: '重試',
|
||
openReleases: '打開 Releases',
|
||
source: '源碼',
|
||
docs: '文檔',
|
||
feedback: '反饋',
|
||
qq: '社區 QQ 羣',
|
||
qqDesc: '使用 QQ 搜索羣號加入,或掃碼進羣。',
|
||
copyQq: '複製羣號',
|
||
privacy: '隱私',
|
||
privacyDesc: '錄音可能會傳送至你設定的雲端服務商進行轉寫。',
|
||
localFirst: '本地優先',
|
||
linksTitle: '文件連結',
|
||
betaChannelLabel: '加入 Beta 渠道',
|
||
betaChannelToggleLabel: '啟用 Beta 渠道',
|
||
betaChannelDesc:
|
||
'開啟後,背景自動更新將跟隨 Beta 渠道;關閉則回到正式版。下方按鈕可隨時手動檢查 Beta 更新。',
|
||
autoUpdateSectionTitle: '自動更新',
|
||
autoUpdateCheckLabelAndroid: '自動檢查並下載更新',
|
||
autoUpdateCheckDescAndroid:
|
||
'啟動後及每 60 分鐘自動檢查更新;發現新版本後自動下載並開啟系統安裝器。渠道跟隨上方 Beta 開關。',
|
||
betaChannelFetching: '正在獲取最新 Beta 版本…',
|
||
betaChannelFetchBtn: '查詢最新 Beta',
|
||
betaChannelLatestPrefix: '最新 Beta:',
|
||
betaChannelDownloadBtn: '前往下載',
|
||
betaChannelRefresh: '重新查詢',
|
||
betaChannelNoBeta: '尚未發佈過 Beta 版。',
|
||
betaChannelFetchError: '獲取 Beta 版本資訊失敗,請稍後重試。',
|
||
betaChannelUpToDate: '已是最新',
|
||
betaChannelUpdateNow: '立即更新',
|
||
betaChannelUpdateNowTitle: '檢查並下載最新 Beta,然後彈出更新對話框',
|
||
betaChannelChecking: '檢查中…',
|
||
updateDialog: {
|
||
available: {
|
||
title: '發現新版本',
|
||
desc: '發現 OpenLess {{version}},是否現在更新?',
|
||
},
|
||
stableChannelSwitch: {
|
||
title: '切換到正式版',
|
||
desc: '目前版本:OpenLess {{currentVersion}}\n目標版本:OpenLess {{version}}\n這是從 Beta 頻道切換到正式版,是否繼續?',
|
||
},
|
||
downloading: {
|
||
title: '正在下載更新',
|
||
desc: '正在下載 OpenLess {{version}},請保持應用打開。',
|
||
},
|
||
downloaded: {
|
||
title: '更新已準備好',
|
||
desc: 'OpenLess {{version}} 已安裝完成。是否現在自動重啓以應用更新?',
|
||
},
|
||
installing: {
|
||
title: '正在安裝更新',
|
||
desc: '正在安裝 OpenLess {{version}},請保持應用打開。',
|
||
},
|
||
install: '現在更新',
|
||
androidInstall: '下載並開啟安裝器',
|
||
androidInstalled: {
|
||
title: '系統安裝器已開啟',
|
||
desc: '請依系統提示完成安裝。安裝後重新開啟 OpenLess 即可使用 {{version}}。',
|
||
},
|
||
downloadingLabel: '下載中…',
|
||
installingLabel: '安裝中…',
|
||
later: '稍後手動重啓',
|
||
restartNow: '現在重啓',
|
||
progress: '{{progress}}% · {{downloaded}} / {{total}}',
|
||
progressUnknown: '已下載 {{downloaded}}',
|
||
installError: {
|
||
title: '更新失敗',
|
||
desc: '自動更新未能完成:{{error}}。你可以前往下載頁手動下載安裝最新版本。',
|
||
},
|
||
manualDownload: '手動下載',
|
||
},
|
||
},
|
||
},
|
||
startup: {
|
||
loading: '正在啟動 OpenLess…',
|
||
loadingDesc: '正在連接本機服務並檢查相容性。',
|
||
failed: 'OpenLess 暫時無法啟動',
|
||
recovery:
|
||
'請重新檢查。如果仍然失敗,請完全結束後重開應用程式;升級後出現此問題時,確認已安裝完整的同一版本。',
|
||
retry: '重新檢查',
|
||
details: '查看錯誤詳情',
|
||
},
|
||
modal: {
|
||
serviceViews: {
|
||
label: '服務設定分類',
|
||
llm: '語言模型',
|
||
asr: '語音辨識',
|
||
omni: '多模態模型',
|
||
models: '本機模型',
|
||
connections: '連線與擴充',
|
||
statusConfigured: '已設定',
|
||
statusMissing: '未設定',
|
||
},
|
||
searchPlaceholder: '尋找設定分類…',
|
||
clearSearch: '清除搜尋',
|
||
categoriesLabel: '設定分類',
|
||
searchResults: '搜尋結果',
|
||
searchCount: '找到 {{count}} 個相關分類',
|
||
noResults: '找不到相關分類。試試「麥克風」「模型」或「主題」。',
|
||
autoSaveHint: '修改後自動儲存',
|
||
backToAdvanced: '返回實驗與擴充',
|
||
advancedPages: {
|
||
lessComputer: '選擇 Agent,設定模型、權限與工作目錄。',
|
||
claudeConsole: '偵測 Claude Code,並查看測試工作的執行輸出。',
|
||
multimodal: '管理多模態辨識的實驗性開關。',
|
||
debug: '保留偵錯錄音、探測游標上下文與匯出日誌。',
|
||
},
|
||
descriptions: {
|
||
general: '選擇麥克風、設定錄音方式與文字輸入,也可連接手機輸入。',
|
||
shortcuts: '設定各功能的觸發方式,以及選取文字後的操作。',
|
||
services: '選擇語音辨識與文字處理服務,管理管道、本機模型和網路連線。',
|
||
appearance: '調整主題、頁面排版和介面語言,讓閱讀更舒服。',
|
||
privacy: '檢查系統權限與連線狀態,管理歷史、錄音和本機資料。',
|
||
advanced: '按需設定 Less Computer、多模態與除錯功能。',
|
||
about: '查看目前版本、更新管道與自動更新設定。',
|
||
},
|
||
searchKeywords: {
|
||
general: '麥克風 錄音 輸入 手機 遠端 區域網路 PIN 膠囊 靜音 開機',
|
||
shortcuts: '快捷鍵 熱鍵 組合鍵 選取 潤飾 語音編輯',
|
||
services: 'ASR LLM API 管道 模型 雲端 本機 網路 代理 市場',
|
||
appearance: '主題 深色 淺色 暗色 語言 字體 排版 版面 熱圖',
|
||
privacy: '權限 麥克風 輔助功能 歷史 錄音 儲存 隱私 匯出',
|
||
advanced: 'Less Computer Claude Agent 多模態 Omni 除錯 日誌 實驗',
|
||
about: '版本 Beta 穩定 更新 升級',
|
||
},
|
||
|
||
sections: {
|
||
appearance: '外觀與語言',
|
||
shortcuts: '快捷鍵與選取文字',
|
||
general: '錄音與輸入',
|
||
services: 'AI 服務與模型',
|
||
privacy: '權限與資料',
|
||
advanced: '實驗與擴充',
|
||
personalize: '個性化',
|
||
about: '關於與更新',
|
||
helpCenter: '幫助中心',
|
||
releaseNotes: '發佈日誌',
|
||
},
|
||
personalize: {
|
||
font: '字體大小',
|
||
fontDesc: '整體縮放界面字號,立即生效。',
|
||
fontSmall: '小',
|
||
fontMedium: '中',
|
||
fontLarge: '大',
|
||
blur: '毛玻璃強度',
|
||
blurDesc: '影響窗口內層 backdrop-filter 強度(macOS 系統磨砂層無法運行時調)。',
|
||
},
|
||
about: {
|
||
tagline: '自然說話,完美書寫',
|
||
checkUpdate: '檢查更新',
|
||
checkUpdateBtn: '檢查',
|
||
docs: '文檔',
|
||
docsBtn: 'openless.app/docs ↗',
|
||
feedback: '反饋渠道',
|
||
feedbackBtn: 'GitHub Issues ↗',
|
||
source: '原始碼',
|
||
qq: '社群 QQ 群',
|
||
qqDesc: '使用 QQ 搜尋群號加入,或掃碼進群。',
|
||
copyQq: '複製群號',
|
||
exportErrorLog: '匯出錯誤日誌',
|
||
exportErrorLogDesc: '把當前會話的執行日誌儲存到本地,便於排查問題或反饋給我們。',
|
||
exportErrorLogBtn: '匯出',
|
||
exporting: '匯出中…',
|
||
exportSuccess: '已儲存',
|
||
exportFailed: '匯出失敗',
|
||
privacy: '隱私',
|
||
privacyDesc: '識別結果保存在本機;已設定的雲端服務商可能接收錄音以完成轉寫。',
|
||
localFirst: '本地優先',
|
||
},
|
||
},
|
||
windowChrome: {
|
||
restore: '還原',
|
||
minimize: '最小化',
|
||
maximize: '最大化',
|
||
close: '關閉',
|
||
},
|
||
hotkey: {
|
||
triggers: {
|
||
rightOption: '右 Option',
|
||
leftOption: '左 Option',
|
||
rightControl: '右 Control',
|
||
leftControl: '左 Control',
|
||
rightCommand: '右 Command',
|
||
leftCommand: '左 Command',
|
||
leftShift: '左 Shift',
|
||
rightShift: '右 Shift',
|
||
fn: 'Fn (地球鍵)',
|
||
rightAlt: '右 Alt',
|
||
mediaPlayPause: '⏯ 媒體播放/暫停',
|
||
custom: '自訂組合…',
|
||
},
|
||
fallback: '全局快捷鍵',
|
||
modeHoldSuffix: '(按住說話)',
|
||
modeToggleSuffix: '(開始 / 停止)',
|
||
modeAutoSuffix: '(自動識別)',
|
||
usageHold: '按住 {{trigger}} 說話,鬆開結束。',
|
||
usageToggle: '按 {{trigger}} 開始錄音,再按一次結束。',
|
||
usageAuto: '短按 {{trigger}} 切換開始 / 停止,按住則說完鬆開即停。',
|
||
adapter: {
|
||
macEventTap: 'macOS Event Tap',
|
||
windowsLowLevel: 'Windows 低層鍵盤 hook',
|
||
fcitx5: 'fcitx5 輸入法插件',
|
||
unavailable: '不可用',
|
||
},
|
||
},
|
||
localAsr: {
|
||
kicker: '本地 ASR',
|
||
title: '模型設置',
|
||
desc: '管理本機語音識別模型。',
|
||
storageTitle: '模型儲存位置',
|
||
storageBaseDir: '選擇的父目錄',
|
||
storageModelsRoot: '實際模型目錄',
|
||
storageDefault: '系統預設目錄',
|
||
storageChoose: '更改目錄',
|
||
storageReset: '恢復預設',
|
||
storageReveal: '開啟模型總目錄',
|
||
storageDesc:
|
||
'自訂目錄會在所選位置下建立 OpenLess/models,並自動遷移現有模型;遷移前會取消下載和釋放已載入模型。',
|
||
storageChooseTitle: '選擇本地模型儲存父目錄',
|
||
storageChangeConfirm:
|
||
'將把現有本地模型遷移到 {{path}}/OpenLess/models。遷移前會自動取消下載並釋放已載入模型。是否繼續?',
|
||
storageResetConfirm: '將把現有本地模型遷回系統預設目錄。當前目錄:{{path}}。是否繼續?',
|
||
modelDir: '模型目錄',
|
||
revealDir: '開啟目錄',
|
||
deleteConfirm: '確定刪除 {{name}} 的本地模型檔案嗎?此操作無法復原。',
|
||
appleSpeechTitle: 'Apple 語音辨識(macOS)',
|
||
appleSpeechDesc:
|
||
'macOS 系統內建的語音辨識,在本機把語音轉成文字:不用下載模型、不用填 API Key,主流語言可完全離線、音訊不出本機。適合作雲端 ASR 網路不穩時的本地後備;首次使用會跳出系統語音辨識授權。',
|
||
appleSpeechUse: '使用 Apple 語音',
|
||
qwenTitle: 'Qwen3-ASR 模型管理',
|
||
qwenExperimentalBadge: '實驗性',
|
||
engineUnavailable:
|
||
'當前平臺暫未集成 Qwen3-ASR 推理引擎。可下載模型,但暫時無法啟用 Qwen3-ASR。',
|
||
qwenUnavailableOnWindows: 'Windows 暫不支援 Qwen3-ASR,請使用上方的 Foundry Local Whisper。',
|
||
foundryTitle: 'Windows Foundry Local Whisper',
|
||
foundryDesc: '在本機識別語音,無需 ASR API Key。首次使用需下載運行元件和模型。',
|
||
foundryAvailable: 'Windows 可用',
|
||
foundryUnavailable: '僅 Windows 可用',
|
||
foundryRuntimeReady: '運行組件已下載',
|
||
foundryRuntimeMissing: '運行組件未下載',
|
||
foundryRuntimeSourceLabel: '運行組件下載源',
|
||
foundryRuntimeSourceAuto: '自動(NuGet 優先)',
|
||
foundryRuntimeSourceNuget: 'NuGet 官方源',
|
||
foundryRuntimeSourceOrtNightly: 'Microsoft ORT-Nightly 源',
|
||
foundryRuntimeSourceDesc: '首次使用前需下載運行元件。',
|
||
foundrySelectedModel: '選擇模型',
|
||
foundryActiveModel: '當前默認 alias',
|
||
foundryLoadedModel: '已加載模型',
|
||
foundryNotLoaded: '未加載',
|
||
foundryError: 'Foundry 狀態',
|
||
foundrySetDefault: '設為默認 / 啟用 Windows 本地 ASR',
|
||
foundryEnabling: '正在啟用…',
|
||
foundryPrepare: '準備 / 下載 / 加載',
|
||
foundryPreparing: '正在準備…',
|
||
foundryReleasing: '正在釋放…',
|
||
foundryRetryPrepare: '繼續準備 / 重試',
|
||
foundryCancelPrepare: '取消準備',
|
||
foundryCancelRequested: '已請求取消',
|
||
foundryCancelling: '正在取消…',
|
||
foundryCancelBestEffort: '已請求取消,會在當前步驟完成後停止。可稍後重試。',
|
||
foundryPrepareRuntime: '準備運行時組件',
|
||
foundryPrepareModel: '下載模型',
|
||
foundryPrepareLoad: '加載模型',
|
||
foundryPrepareModelSkipped: '模型已下載,跳過下載階段',
|
||
foundryPrepareDone: '已完成',
|
||
foundryPrepareWaiting: '等待中',
|
||
foundryApproxSizeMb: '約 {{mb}} MB',
|
||
foundryLanguageLabel: '識別語言',
|
||
foundryLanguageAuto: '自動',
|
||
foundryLanguageZh: '中文 zh',
|
||
foundryLanguageEn: '英文 en',
|
||
foundryLanguageDesc: '中文聽寫選中文,中英混用選自動。',
|
||
foundryModelSmall: 'Whisper Small(默認 / 平衡)',
|
||
foundryModelSmallDesc: '默認平衡選項,兼顧質量與資源佔用。',
|
||
foundryModelMedium: 'Whisper Medium(更高質量)',
|
||
foundryModelMediumDesc: '更高準確率,適合性能更強、可接受更大下載和更慢推理的設備。',
|
||
foundryModelLarge: 'Whisper Large V3 Turbo(最高質量)',
|
||
foundryModelLargeDesc: '更高質量的大模型選項,適合高配設備和質量優先場景。',
|
||
foundryModelBase: 'Whisper Base(更快 / 更省資源)',
|
||
foundryModelBaseDesc: '更快、資源佔用更低,適合日常輕量使用。',
|
||
foundryModelTiny: 'Whisper Tiny(最快 / 冒煙測試)',
|
||
foundryModelTinyDesc: '最快的檢查選項,適合確認 Foundry 路徑可用。',
|
||
sherpaTitle: 'Windows sherpa-onnx Local(實驗性)',
|
||
sherpaDesc: 'Windows 使用 sherpa-onnx 在本機離線批次識別,無需 ASR API Key。',
|
||
sherpaRuntimeReady: '模型已載入',
|
||
sherpaRuntimeMissing: '模型未載入',
|
||
sherpaSetDefault: '設為預設 / 啟用 sherpa-onnx',
|
||
sherpaPrepare: '檢查本地檔案 / 載入',
|
||
sherpaPreparing: '載入中…',
|
||
sherpaPrepareLocalFiles: '檢查本地模型檔案',
|
||
sherpaModelDir: '模型目錄',
|
||
sherpaRevealDir: '開啟模型目錄',
|
||
sherpaError: 'sherpa-onnx 狀態',
|
||
sherpaLanguageJa: '日語 ja',
|
||
sherpaLanguageKo: '韓語 ko',
|
||
sherpaLanguageYue: '粵語 yue',
|
||
sherpaModelSenseVoice: 'SenseVoice Small(預設 / 中文優先)',
|
||
sherpaModelSenseVoiceDesc: '預設實驗模型,適合中文與中英混合聽寫。',
|
||
sherpaModelParaformer: 'Paraformer 中文',
|
||
sherpaModelParaformerDesc: '面向中文的實驗模型。',
|
||
sherpaModelWhisper: 'Whisper Small 多語言',
|
||
sherpaModelWhisperDesc: '與 Whisper 系列行為一致的多語言實驗兜底模型。',
|
||
sherpaModelWhisperLargeV3: 'Whisper Large V3(多語)',
|
||
sherpaModelWhisperLargeV3Desc:
|
||
'開源多語通用中效果最好的 Whisper 檔,品質高、體積大,適合高品質轉寫。',
|
||
sherpaModelZipformer: 'Zipformer 串流(中英)',
|
||
sherpaModelZipformerDesc: '邊說邊出的串流中英模型,延遲最低,適合即時聽寫。',
|
||
sherpaModelQwen3: 'Qwen3-ASR 0.6B INT8',
|
||
sherpaModelQwen3Desc:
|
||
'轉換後的 sherpa-onnx Qwen3-ASR 模型,支援多語言識別與更強的長上下文能力。',
|
||
modelSelectTitle: '本機模型',
|
||
modelSelectDesc: '查看下載狀態、管理檔案,或載入模型進行測試。',
|
||
modelSelectPlaceholder: '選擇已下載的模型…',
|
||
modelSelectEmpty: '還沒有已下載的模型,先到「下載與管理」下載一個。',
|
||
groupDownload: '下載與管理',
|
||
groupOther: '其他',
|
||
mirrorLabel: '下載鏡像源',
|
||
mirrorDesc: '官方源在國外網絡更穩;hf-mirror.com 是國內社區維護的鏡像。',
|
||
mirrorHuggingface: 'HuggingFace 官方 (huggingface.co)',
|
||
mirrorHfMirror: '國內鏡像 (hf-mirror.com)',
|
||
activeBadge: '當前使用',
|
||
downloadedBadge: '已下載',
|
||
notDownloadedBadge: '未下載',
|
||
download: '下載',
|
||
resume: '繼續下載',
|
||
cancel: '取消',
|
||
delete: '刪除',
|
||
setActive: '設為默認',
|
||
failed: '失敗',
|
||
cancelled: '已取消',
|
||
files: '文件',
|
||
sizeLoading: '正在查詢尺寸…',
|
||
sizeUnknown: '尺寸未知',
|
||
performanceWarning: '本地 ASR 適合離線或隱私敏感場景,首次使用需下載模型。',
|
||
test: '加載並測試',
|
||
testRunning: '測試中…',
|
||
testHeading: '內置音頻測試',
|
||
testExpected: '原文',
|
||
testActual: '識別',
|
||
testStats: '音頻時長 {{audio}}s · 加載 {{load}}s · 推理 {{transcribe}}s · 後端 {{backend}}',
|
||
testFailed: '測試失敗',
|
||
engineStatusLabel: '內存中的引擎',
|
||
engineLoaded: '已加載:{{model}}',
|
||
engineUnloaded: '未加載(首次聽寫需先加載模型)',
|
||
loadNow: '立即加載',
|
||
releaseNow: '立即釋放',
|
||
keepLoadedLabel: '保持加載多久',
|
||
keepLoadedDesc: '決定 Qwen3-ASR 用完後多久從內存釋放,避免長期佔用內存。',
|
||
keepImmediate: '說完話立即釋放',
|
||
keep1min: '上次使用後 1 分鐘',
|
||
keep5min: '上次使用後 5 分鐘(默認)',
|
||
keep30min: '上次使用後 30 分鐘',
|
||
keepForever: '不釋放(始終保留)',
|
||
sidebarTitle: '已下載與下載中',
|
||
activePill: '目前使用',
|
||
setDefault: '設為預設',
|
||
downloading: '下載中',
|
||
startDownload: '開始下載',
|
||
downloadNewModel: '下載新模型',
|
||
downloadDialogTitle: '下載模型',
|
||
downloadDialogAlreadyHave:
|
||
'模型檔案已下載。可返回模型頁載入並測試,或在「ASR 語音轉寫」中選擇對應供應商。',
|
||
downloadDialogDesc:
|
||
'查看模型大小與簡介,選擇後開始下載。下載完成後,在「語音辨識」中選擇對應的本機服務。',
|
||
detailRepo: '模型倉庫',
|
||
hfDownloads: '下載量',
|
||
hfLikes: '收藏數',
|
||
hfDescription: '模型簡介',
|
||
hfNoDescription: '暫無簡介',
|
||
hfCardFailed: '模型資訊取得失敗',
|
||
|
||
detailFiles: '個檔案',
|
||
detailDownloaded: '已下載',
|
||
detailEmpty: '選擇一個模型查看詳情',
|
||
foundryLanguage: '語言',
|
||
foundryRuntimeSource: '執行時來源',
|
||
mirrorGithubRelease: 'GitHub Releases',
|
||
keep: '保持載入',
|
||
downloadSettingsTitle: '下載與儲存設定',
|
||
downloadSettingsDesc: '鏡像源 · 模型儲存位置 · 記憶體引擎',
|
||
libraryEmptyTitle: '還沒有本機模型',
|
||
libraryEmptyDesc:
|
||
'下載一個語音辨識模型,讓音訊在本機處理。已有模型卻未顯示時,可重新讀取目錄。',
|
||
catalogTitle: '模型目錄',
|
||
catalogEmpty: '目前沒有可顯示的模型。請重新讀取目錄後再試。',
|
||
reloadCatalog: '重新讀取',
|
||
engineLabel: '辨識引擎',
|
||
sizeLabel: '模型大小',
|
||
allEngines: '全部',
|
||
backToCatalog: '返回模型目錄',
|
||
detailsTitle: '模型詳情',
|
||
testActivateHint: '「載入並測試」會將此模型設為目前使用,再執行內建音訊測試。',
|
||
downloadProgressHint: '開始後返回模型頁查看進度,也可隨時取消下載。',
|
||
errorDetails: '錯誤詳情',
|
||
},
|
||
};
|