Ariver
2026-07-01 2547282e0942a09b67fccfd53cf62a403ccd4a52
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,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",
@@ -59,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",
@@ -70,19 +80,23 @@
    "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.",
    "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."
  },
  "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",
@@ -108,7 +122,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": {
@@ -132,13 +146,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",
@@ -198,7 +222,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",
@@ -256,7 +280,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",