feat: sync force-quit Flow teardown and polish macOS local ASR UX
End Live Activities and release the audio session synchronously on applicationWillTerminate, and continue macOS local-model install, onboarding, and settings polish on this branch.
This commit is contained in:
@@ -162,6 +162,10 @@
|
||||
"mac.settings.localSpeechFallback" = "Local Recognition (Apple Speech)";
|
||||
"mac.settings.localSpeechFallbackDesc" = "On-device Apple Speech when the Qwen3 model is not installed.";
|
||||
"mac.settings.about" = "About";
|
||||
"mac.settings.privacyPolicy" = "Privacy Policy";
|
||||
"mac.settings.thirdPartyLicenses" = "Third-Party Licenses";
|
||||
"mac.settings.licenses.footer" = "Open-source components used by OSGKeyboard. License texts are reproduced from upstream repositories; model weights are downloaded at runtime and cached on device. OSGKeyboard itself is source-available — commercial licensing: rocky.hk@gmail.com.";
|
||||
"mac.settings.restartOnboarding" = "Restart First-Run Setup";
|
||||
"mac.settings.general" = "General";
|
||||
"mac.settings.input" = "Input & Shortcuts";
|
||||
"mac.settings.recognitionLanguage" = "Recognition Language";
|
||||
@@ -185,14 +189,48 @@
|
||||
"mac.appearance.system" = "System";
|
||||
"mac.appearance.light" = "Light";
|
||||
"mac.appearance.dark" = "Dark";
|
||||
"mac.onboarding.progress" = "Step %lld of %lld";
|
||||
"mac.onboarding.back" = "Back";
|
||||
"mac.onboarding.next" = "Next";
|
||||
"mac.onboarding.finish" = "Finish";
|
||||
"mac.onboarding.skipForNow" = "Skip for now";
|
||||
"mac.onboarding.welcome.title" = "Welcome to OSGKeyboard";
|
||||
"mac.onboarding.welcome.subtitle" = "Set up dictation in a minute. Everything here can be changed later in Settings.";
|
||||
"mac.onboarding.welcome.privacy" = "Your voice stays local unless you choose a cloud provider.";
|
||||
"mac.onboarding.welcome.hotkey" = "Hold Option to dictate from any app.";
|
||||
"mac.onboarding.welcome.local" = "Local Sherpa recognition can be prepared now or later.";
|
||||
"mac.onboarding.microphone.title" = "Allow microphone access";
|
||||
"mac.onboarding.microphone.subtitle" = "OSGKeyboard needs the microphone to capture your dictation audio.";
|
||||
"mac.onboarding.microphone.allow" = "Allow Microphone";
|
||||
"mac.onboarding.microphone.granted" = "Microphone access is granted.";
|
||||
"mac.onboarding.microphone.needed" = "Microphone access is needed for recording.";
|
||||
"mac.onboarding.accessibility.title" = "Enable Accessibility";
|
||||
"mac.onboarding.accessibility.subtitle" = "Accessibility lets OSGKeyboard listen for the global shortcut and paste text into the front app. You can skip it and grant it later.";
|
||||
"mac.onboarding.accessibility.open" = "Open System Settings";
|
||||
"mac.onboarding.accessibility.granted" = "Accessibility permission is granted.";
|
||||
"mac.onboarding.accessibility.needed" = "Accessibility is not enabled yet.";
|
||||
"mac.onboarding.engine.title" = "Choose a recognition path";
|
||||
"mac.onboarding.engine.subtitle" = "Start locally for privacy, or use your own cloud API for provider-based recognition and polish.";
|
||||
"mac.onboarding.engine.localDesc" = "Private on-device recognition with Sherpa models. Falls back to Apple Speech until a model is installed.";
|
||||
"mac.onboarding.engine.cloudDesc" = "Use your API key for cloud speech recognition and AI polishing.";
|
||||
"mac.onboarding.cloud.title" = "Configure API access";
|
||||
"mac.onboarding.cloud.subtitle" = "Pick a provider and add your key. This step is optional, so you can finish now and fill it later in Settings.";
|
||||
"mac.onboarding.cloud.skipHint" = "You can leave these blank and finish setup; cloud mode will ask for a key before use.";
|
||||
"mac.onboarding.model.title" = "Prepare local recognition";
|
||||
"mac.onboarding.model.subtitle" = "Download the basic Sherpa runtime and default model now, or skip and continue with Apple Speech fallback.";
|
||||
"mac.onboarding.model.download" = "Download Default Model";
|
||||
"mac.onboarding.model.done" = "Local model is ready.";
|
||||
"mac.onboarding.model.skipHint" = "Skipping is safe: Settings keeps the same download controls for later.";
|
||||
"mac.onboarding.popover.title" = "Finish setup";
|
||||
"mac.onboarding.popover.subtitle" = "Open the main window to choose permissions, API settings, and local model download.";
|
||||
"mac.error.noAudio" = "No audio captured";
|
||||
"mac.error.noCloudASR" = "Selected provider has no cloud ASR";
|
||||
"mac.error.emptyTranscript" = "No speech recognized";
|
||||
"mac.error.qwen3ModelMissing" = "Qwen3-ASR model not installed";
|
||||
"mac.error.qwen3LoadFailed" = "Failed to load Qwen3 model: %@";
|
||||
"mac.error.qwen3InferenceFailed" = "Qwen3 transcription failed: %@";
|
||||
"mac.localASR.models" = "Local ASR Models";
|
||||
"mac.localASR.modelsDesc" = "Sherpa models download directly. For MLX Qwen3, drop your converted weights into the folder opened by “Open folder”. All three share one storage directory.";
|
||||
"mac.localASR.models" = "Local ASR Engine & Models";
|
||||
"mac.localASR.modelsDesc" = "Models download directly. China uses ModelScope first; elsewhere Hugging Face first, then GitHub. Qwen3 1.7B downloads as multiple files.";
|
||||
"mac.localASR.download" = "Download";
|
||||
"mac.localASR.selectFolder" = "Choose folder";
|
||||
"mac.localASR.openFolder" = "Open folder";
|
||||
@@ -202,6 +240,7 @@
|
||||
"mac.localASR.installDone" = "Install completed.";
|
||||
"mac.localASR.installed" = "Installed";
|
||||
"mac.localASR.notInstalled" = "Not installed";
|
||||
"mac.localASR.personalDictionaryTag" = "Personal dictionary";
|
||||
"mac.localASR.hotwordsYes" = "Hotwords";
|
||||
"mac.localASR.hotwordsNo" = "No hotwords";
|
||||
"mac.localASR.catalogMissing" = "Local ASR catalog is missing from the app bundle.";
|
||||
@@ -219,8 +258,8 @@
|
||||
"mac.localASR.redownload" = "Re-download";
|
||||
"mac.localASR.revealInFinder" = "Reveal in Finder";
|
||||
"mac.localASR.openStorage" = "Open model storage folder";
|
||||
"mac.localASR.runtime" = "Sherpa Runtime";
|
||||
"mac.localASR.runtimeDesc" = "Required for Sherpa Qwen3 and SenseVoice models. Installed automatically with those models.";
|
||||
"mac.localASR.runtime" = "Local ASR runtime";
|
||||
"mac.localASR.runtimeDesc" = "Installed automatically with the models above; required for Qwen3, SenseVoice, and similar models.";
|
||||
"mac.localASR.phase.downloading" = "Downloading";
|
||||
"mac.localASR.phase.paused" = "Paused";
|
||||
"mac.localASR.phase.extracting" = "Extracting";
|
||||
|
||||
Reference in New Issue
Block a user