From 7eb0b4196ce15c8bfbb0514c54b51cf019c78d24 Mon Sep 17 00:00:00 2001
From: Ariver <shanghai3168@gmail.com>
Date: Tue, 23 Jun 2026 13:15:33 +0800
Subject: [PATCH] Prepare 2.1.34 input settings QA build
---
privatevoice.src/frontend/src/App.svelte | 31 ++++++++++++++++++++++---------
1 files changed, 22 insertions(+), 9 deletions(-)
diff --git a/privatevoice.src/frontend/src/App.svelte b/privatevoice.src/frontend/src/App.svelte
index e6dc993..407dd7e 100755
--- a/privatevoice.src/frontend/src/App.svelte
+++ b/privatevoice.src/frontend/src/App.svelte
@@ -11,6 +11,7 @@
import { deviceName, engineHardwareInfo } from './lib/stores/app'
import { setLocale, localeRevision } from './lib/i18n'
import { languageMode, languageID, effectiveLanguageID, uiLocale } from './lib/stores/config'
+ import type { UILocale } from './lib/stores/config'
let isIndicatorRoute = $state(window.location.hash === '#/indicator')
let showUpdateDialog = $state(false)
@@ -84,11 +85,7 @@
}
})
- Call.ByName('voicesnap/services.EngineService.ModelExists').then((exists: any) => {
- if (!exists) {
- engineStatus.set('need_model')
- }
- })
+ refreshCurrentModelAvailability()
// Load actual hotkey name from backend (store default is generic "Ctrl")
Call.ByName('voicesnap/services.HotkeyService.GetHotkeyName').then((name: any) => {
@@ -100,16 +97,32 @@
function applyLanguageSettings(settings: any) {
const mode = settings?.languageMode === 'manual' ? 'manual' : 'auto'
- const configured = settings?.languageID === 'en' ? 'en' : 'zh-CN'
- const effective = settings?.effectiveLanguageID === 'en' ? 'en' : 'zh-CN'
- const locale = settings?.uiLocale === 'en' ? 'en' : 'zh'
+ const configured = typeof settings?.languageID === 'string' && settings.languageID ? settings.languageID : 'zh-CN'
+ const effective = typeof settings?.effectiveLanguageID === 'string' && settings.effectiveLanguageID ? settings.effectiveLanguageID : configured
+ const locale = typeof settings?.uiLocale === 'string' && settings.uiLocale ? settings.uiLocale : 'en'
languageMode.set(mode)
languageID.set(configured)
effectiveLanguageID.set(effective)
- uiLocale.set(locale)
+ uiLocale.set(locale as UILocale)
setLocale(locale)
languageReady = true
}
+
+ async function refreshCurrentModelAvailability() {
+ try {
+ const current: any = await Call.ByName('voicesnap/services.EngineService.GetCurrentModelStatus')
+ if (!current?.installed) {
+ engineStatus.set('need_model')
+ }
+ } catch {
+ try {
+ const exists: any = await Call.ByName('voicesnap/services.EngineService.ModelExists')
+ if (!exists) {
+ engineStatus.set('need_model')
+ }
+ } catch {}
+ }
+ }
</script>
{#if isIndicatorRoute}
--
Gitblit v1.9.3