From fdc5c43b2cf8ebc3d67099cfba9936c838281561 Mon Sep 17 00:00:00 2001
From: Ariver <shanghai3168@gmail.com>
Date: Tue, 30 Jun 2026 03:36:45 +0800
Subject: [PATCH] Add Windows QA evidence verifier
---
privatevoice.src/frontend/src/lib/i18n/en.json | 82 ++++++++++++++++++++++++++++++++--------
1 files changed, 65 insertions(+), 17 deletions(-)
diff --git a/privatevoice.src/frontend/src/lib/i18n/en.json b/privatevoice.src/frontend/src/lib/i18n/en.json
index 1b2d78b..7f8aa66 100755
--- a/privatevoice.src/frontend/src/lib/i18n/en.json
+++ b/privatevoice.src/frontend/src/lib/i18n/en.json
@@ -1,10 +1,13 @@
{
"app": {
- "name": "PrivateVoice Input",
- "secondaryName": "私语输入"
+ "name": "PrivateVoice Dictation",
+ "brandName": "PrivateVoice",
+ "brandTagline": "Private. Offline.",
+ "secondaryName": "Private. Offline."
},
"nav": {
"home": "Home",
+ "language": "Input",
"userdict": "Dictionary",
"permissions": "Permissions",
"history": "History",
@@ -30,7 +33,7 @@
"done": "Typed"
},
"home": {
- "tagline": "Private.Offline",
+ "tagline": "Private. Offline.",
"description": "Hold {key} to speak, release to recognize and type",
"hotkeyLabel": "Trigger Hotkey",
"modeHint": "Hold to record, release to type · Tap to start free talk, tap again to stop",
@@ -38,6 +41,8 @@
"modeHintHold": "Hold to speak, release to stop and type"
},
"settings": {
+ "inputConfigTitle": "Input",
+ "inputConfigDesc": "Set input language and offline recognition models.",
"inputDevice": "Input Device",
"hotkeyMode": "Voice Input Mode",
"hotkeyModeTap": "Tap",
@@ -48,9 +53,26 @@
"languageAuto": "Automatic",
"languageChinese": "Chinese",
"languageEnglish": "English",
- "languageAutoDesc": "Follow the system language, currently choosing only between Chinese and English",
- "languageChineseDesc": "Use the Chinese interface. The offline model remains SenseVoice in this round",
- "languageEnglishDesc": "Use the English interface. The offline model remains SenseVoice in this round",
+ "languageAutoDesc": "Follow the system language and choose the matching language version",
+ "languageManualDesc": "Use {language} as the app language and default recognition language",
+ "languageChineseDesc": "Use the Chinese interface with SenseVoice as the default offline model",
+ "languageEnglishDesc": "Use the English interface with Moonshine English as the default offline model",
+ "recognitionModel": "Recognition Model",
+ "recognitionModelDesc": "Choose the default offline model or an available model for {language}",
+ "recognitionModelChineseDesc": "Choose the default lightweight Chinese model or a larger high-quality Chinese model",
+ "recognitionModelEnglishDesc": "Choose the default lightweight model or a larger high-quality English model",
+ "modelDefault": "Default",
+ "modelAdvanced": "Advanced",
+ "modelCurrent": "Current",
+ "modelUse": "Use",
+ "modelDownload": "Download",
+ "modelCancel": "Cancel",
+ "modelCancelling": "Cancelling",
+ "modelWorking": "Working",
+ "modelUnavailable": "Unavailable",
+ "modelInstalled": "Installed",
+ "modelNotInstalled": "Not installed",
+ "modelActionFailed": "Model action failed",
"autoHide": "Auto-hide Indicator",
"autoHideDesc": "Automatically hide the floating indicator after completion",
"soundFeedback": "Sound Feedback",
@@ -58,13 +80,24 @@
"copyToClipboard": "Save Recognition to Clipboard",
"copyToClipboardDesc": "Keep recognized text in the clipboard after input; off uses it only temporarily",
"startAtLogin": "Start at Login",
- "startAtLoginDesc": "Launch PrivateVoice Input when you log in",
+ "startAtLoginDesc": "Launch PrivateVoice Dictation when you log in",
"hideDockIcon": "Hide Dock Icon",
- "hideDockIconDesc": "Show PrivateVoice Input only in the menu bar"
+ "hideDockIconDesc": "Show PrivateVoice Dictation only in the menu bar"
+ },
+ "models": {
+ "sensevoiceDesc": "Lightweight Chinese offline model for Chinese and mixed Chinese-English input.",
+ "moonshineDesc": "Lightweight English offline model, recommended default.",
+ "parakeetDesc": "Higher quality English offline model for longer sentences and technical terms.",
+ "parakeetV3Desc": "Multilingual European offline model for French, German, Spanish, Italian, and Portuguese.",
+ "japaneseDesc": "Dedicated Japanese offline model based on ReazonSpeech.",
+ "koreanDesc": "Dedicated Korean offline model for Korean dictation.",
+ "qwen3Desc": "Higher quality Chinese offline model for long Chinese dictation, technical terms, and mixed Chinese-English input.",
+ "qwen3RequiresMacOS14": "Qwen3-ASR requires macOS 14 or later. This compatibility build does not support downloading it.",
+ "windowsPreviewUnsupported": "The Windows preview currently supports SenseVoice only. This model is not available yet."
},
"permissions": {
"title": "Permission Check",
- "subtitle": "PrivateVoice Input needs these permissions for recording, global hotkeys, and automatic text input",
+ "subtitle": "PrivateVoice Dictation needs these permissions for recording, global hotkeys, and automatic text input",
"refresh": "Refresh",
"grant": "Grant",
"granted": "Granted",
@@ -90,7 +123,7 @@
},
"backgroundActivity": {
"title": "Background Activity / Login Item",
- "desc": "Starts PrivateVoice Input after login and allows it to run as a menu bar app in the background; it does not affect the currently running voice input."
+ "desc": "Starts PrivateVoice Dictation after login and allows it to run as a menu bar app in the background; it does not affect the currently running voice input."
}
},
"hotkeys": {
@@ -114,13 +147,23 @@
"checkingUpdate": "Checking...",
"isLatestVersion": "Up to date",
"checkFailed": "Check failed",
- "tagline": "Private.Offline",
- "slogan": "Private.Offline",
+ "displayName": "PrivateVoice Dictation",
+ "tagline": "Private offline · Custom dictionary · Privacy protected",
+ "slogan": "Voice dictation that truly belongs to you",
+ "offlineText": "This app runs fully offline. All speech recognition is completed on the local device using local models including SenseVoice, Qwen3-ASR, Moonshine English, and Parakeet.",
+ "noDataText": "Data never leaves the device. The app does not collect, upload, or store any voice, text, dictionary, or usage data.",
"legalText": "This app is a secondary development based on the open-source VoiceSnap project and follows the MIT License.",
"legalDetails": "For complete copyright notices, license text, and improvement details, visit:",
- "supportUrl": "https://shanghai3168.github.io/privatevoice-support/",
- "openSupport": "Open copyright and license details",
- "copyright": "© {year} PrivateVoice Input · MIT License"
+ "sourceProjectLabel": "Source project",
+ "licenseLabel": "License details",
+ "privacyLabel": "Privacy policy",
+ "feedbackLabel": "Support",
+ "sourceUrl": "https://github.com/vorojar/VoiceSnap",
+ "licenseUrl": "https://shanghai3168.github.io/privatevoice-dictation-support/",
+ "privacyUrl": "https://shanghai3168.github.io/privatevoice-dictation-support/privacy.html",
+ "feedbackUrl": "https://shanghai3168.github.io/privatevoice-dictation-support/support.html",
+ "openSupport": "Open support and feedback",
+ "copyright": "© {year} PrivateVoice Dictation · MIT License"
},
"history": {
"title": "Recognition History",
@@ -180,7 +223,7 @@
"from": "Recognized As",
"to": "Replace With",
"fromPlaceholder": "e.g. voice snap",
- "toPlaceholder": "e.g. PrivateVoice Input",
+ "toPlaceholder": "e.g. PrivateVoice Dictation",
"add": "Add",
"edit": "Edit",
"save": "Save",
@@ -238,7 +281,12 @@
"optimizing": "Optimizing...",
"extracting": "Extracting model files...",
"complete": "Complete",
- "failed": "Setup failed"
+ "failed": "Setup failed",
+ "cancel": "Cancel",
+ "cancelling": "Cancelling",
+ "cancelled": "Cancelled",
+ "cancelledDetail": "Model download was cancelled. You can download it again later.",
+ "retry": "Download again"
},
"update": {
"title": "Update Available",
--
Gitblit v1.9.3