From 913b25529de9fb28fe9d212cc13492430db5a7c6 Mon Sep 17 00:00:00 2001
From: Ariver <shanghai3168@gmail.com>
Date: Tue, 30 Jun 2026 03:43:10 +0800
Subject: [PATCH] Collect Windows runtime preflight evidence

---
 privatevoice.src/frontend/src/lib/i18n/en.json |   42 +++++++++++++++++++++++++++++++++++-------
 1 files changed, 35 insertions(+), 7 deletions(-)

diff --git a/privatevoice.src/frontend/src/lib/i18n/en.json b/privatevoice.src/frontend/src/lib/i18n/en.json
index 8211f00..7f8aa66 100755
--- a/privatevoice.src/frontend/src/lib/i18n/en.json
+++ b/privatevoice.src/frontend/src/lib/i18n/en.json
@@ -7,6 +7,7 @@
   },
   "nav": {
     "home": "Home",
+    "language": "Input",
     "userdict": "Dictionary",
     "permissions": "Permissions",
     "history": "History",
@@ -40,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",
@@ -50,10 +53,12 @@
     "languageAuto": "Automatic",
     "languageChinese": "Chinese",
     "languageEnglish": "English",
-    "languageAutoDesc": "Follow the system language, currently choosing only between Chinese and English",
+    "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",
@@ -61,7 +66,10 @@
     "modelCurrent": "Current",
     "modelUse": "Use",
     "modelDownload": "Download",
+    "modelCancel": "Cancel",
+    "modelCancelling": "Cancelling",
     "modelWorking": "Working",
+    "modelUnavailable": "Unavailable",
     "modelInstalled": "Installed",
     "modelNotInstalled": "Not installed",
     "modelActionFailed": "Model action failed",
@@ -80,7 +88,12 @@
     "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.",
-    "qwen3Desc": "Higher quality Chinese offline model for long Chinese dictation, technical terms, and mixed Chinese-English input."
+    "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",
@@ -134,12 +147,22 @@
     "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",
+    "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": {
@@ -258,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