/* Engine status labels */ "engine.summary.local" = "On-device · %@"; "engine.summary.cloud" = "Active: %@"; "engine.summary.cloudWithModel" = "Active: %1$@ · %2$@"; "engine.asr.appleSpeech" = "Apple SpeechAnalyzer"; /* v0.2.0: flow-level warnings surfaced alongside the final transcript. */ "flow.warning.cloudPolishMissingKey" = "Cloud polish needs an API key in Settings. Inserted raw ASR text."; "flow.warning.localPolishUnavailable" = "Built-in polish is unavailable. Inserted raw ASR text."; "flow.warning.polishDegraded" = "Weak network — inserted raw ASR text without polish."; /* LLM providers */ "provider.openai" = "OpenAI"; "provider.deepseek" = "DeepSeek"; "provider.qwen" = "Qwen (DashScope)"; "provider.zhipu" = "Zhipu GLM"; "provider.moonshot" = "Moonshot"; "provider.mimo" = "Xiaomi MiMo"; "provider.custom" = "Custom"; /* LLM errors */ "error.llm.invalidURL" = "Invalid API URL. Check Base URL in Settings."; "error.llm.noAPIKey" = "API Key is missing."; "error.llm.http" = "API returned HTTP %lld. Try again later or contact the provider."; "error.llm.decoding" = "Failed to parse the API response."; "error.llm.transport" = "Network error. Check your connection and try again."; "error.llm.rateLimited" = "Too many API requests. Please wait and try again."; "error.llm.cancelled" = "Request cancelled."; /* ASR errors */ "error.asr.localeUnsupported" = "Speech language assets are unavailable. Try again later or switch the recognition language."; "error.asr.assetsNotReady" = "Speech language assets are not ready. Try again later."; "error.asr.formatUnsupported" = "This device does not support the required audio format."; "error.asr.noSpeech" = "No speech detected. Please try again."; "error.asr.chunkFailed" = "Segment %lld failed: %@"; /* Cloud ASR errors */ "error.cloudASR.noAPIKey" = "API Key is missing."; "error.cloudASR.invalidURL" = "Invalid cloud ASR endpoint."; "error.cloudASR.http" = "Cloud ASR returned HTTP %lld."; "error.cloudASR.httpWithMessage" = "Cloud ASR returned HTTP %lld: %@"; "error.cloudASR.decoding" = "Failed to parse cloud ASR response: %@"; "error.cloudASR.transport" = "Cloud ASR network error: %@"; "error.cloudASR.emptyTranscript" = "Cloud ASR returned an empty transcript."; "error.cloudASR.audioTooLong" = "Audio segment is too long for this cloud ASR provider."; "error.cloudASR.providerUnsupported" = "This provider does not support cloud speech recognition yet."; /* Polish scenarios */ "polishScenario.daily_chat" = "Daily Chat"; "polishScenario.social_lifestyle" = "Social Network"; "polishScenario.social_short" = "Instagram"; "polishScenario.goofy" = "Goofy"; "polishScenario.work" = "Work"; "polishScenario.document" = "Document"; "polishScenario.todo" = "TODO"; "polishScenario.custom" = "Custom"; "polishScenario.chip.daily_chat" = "Chat"; "polishScenario.chip.social_lifestyle" = "Social"; "polishScenario.chip.social_short" = "IG"; "polishScenario.chip.goofy" = "Goofy"; "polishScenario.chip.work" = "Work"; "polishScenario.chip.document" = "Doc"; "polishScenario.chip.todo" = "TODO"; "polishScenario.chip.custom" = "Custom"; /* v0.3.0: Polish intensity picker */ "polish.intensity.off" = "Off"; "polish.intensity.light" = "Light"; "polish.intensity.medium" = "Medium"; "polish.intensity.heavy" = "Heavy"; "polish.intensity.off.desc" = "No polish; inserts raw ASR unless your personal dictionary has entries, then runs ASR correction only."; "polish.intensity.light.desc" = "Drop only isolated filler words and obvious duplications. Punctuation and structure still apply."; "polish.intensity.medium.desc" = "Correct recognition errors, remove fillers, polish phrasing. Punctuation and structure always apply. Default."; "polish.intensity.heavy.desc" = "Restructure into lists and paragraphs when needed. Best for meeting notes and reports."; /* v0.3.0: Detected app context labels */ "appContext.code" = "Code"; "appContext.email" = "Email"; "appContext.chat" = "Chat"; "appContext.document" = "Document"; "appContext.unknown" = "General"; /* v0.3.0: Personal dictionary categories */ "dict.category.properNoun" = "Names & places"; "dict.category.technical" = "Technical terms"; "dict.category.acronym" = "Acronyms"; "dict.category.productName" = "Product names"; "dict.category.custom" = "Custom"; /* v0.3.0: Personal dictionary sources */ "dict.source.manual" = "Manual"; "dict.source.history" = "Auto-learned"; "dict.source.contacts" = "From Contacts"; "dict.source.recentEdit" = "From recent edit"; /* Keyboard UI (shared between extension + preview) */ "keyboard.tapToTalkA11y" = "Tap to talk"; "keyboard.translation.chip" = "Translate"; "keyboard.translation.offMenu" = "Don't translate"; "keyboard.translation.a11y" = "Translation"; "keyboard.translation.a11yHint" = "Toggle translation or change the target language."; /* macOS app */ "mac.section.dashboard" = "Dashboard"; "mac.section.history" = "History"; "mac.section.dictionary" = "Personal Dictionary"; "mac.section.settings" = "Settings"; "mac.brand.subtitle" = "AI DICTATION"; "mac.devices" = "Devices"; "mac.status.ready" = "Ready to dictate…"; "mac.status.listening" = "Listening…"; "mac.status.transcribing" = "Transcribing…"; "mac.status.copied" = "Copied to clipboard"; "mac.status.pasted" = "Inserted into front app"; "mac.status.copiedAndPasted" = "Copied and inserted"; "mac.stat.dictationTime" = "Dictation Time"; "mac.stat.words" = "Dictation Chars"; "mac.stat.translation" = "Translation Chars"; "mac.stat.dictionary" = "Dictionary"; "mac.stat.cumulativeDuration" = "Total time"; "mac.stat.transcribed" = "Transcribed"; "mac.stat.cumulativeTranslation" = "Translated"; "mac.stat.customTerms" = "Custom terms"; "mac.status.chipReady" = "Ready"; "mac.status.chipProcessing" = "Processing"; "mac.record.start" = "Record"; "mac.record.stop" = "Stop"; "mac.record.pressStop" = "Press Stop"; "mac.copy" = "Copy"; "mac.openWindow" = "Open Window"; "mac.quit" = "Quit"; "mac.mode.cloud" = "Cloud Mode"; "mac.mode.local" = "Local Mode"; "mac.connected" = "Connected"; "mac.offline" = "Offline"; "mac.history.recent" = "Recent"; "mac.history.empty" = "No voice transcripts yet."; "mac.history.select" = "Select a dictation"; "mac.history.clearTitle" = "Clear all history?"; "mac.history.clearMessage" = "This cannot be undone."; "mac.history.clearConfirm" = "Clear all"; "mac.dict.health" = "Vocabulary Health"; "mac.dict.healthDesc" = "Custom terms that bias recognition and are never rewritten."; "mac.dict.search" = "Search words"; "mac.dict.empty" = "No words yet"; "mac.dict.emptyBody" = "Add words on your iPhone or iPad to improve recognition accuracy. They sync here via iCloud."; "mac.dict.noMatch" = "No matches"; "mac.cancel" = "Cancel"; "mac.delete" = "Delete"; "mac.dict.deleteTitle" = "Delete this word?"; "mac.dict.deleteMessage" = "This cannot be undone."; "mac.hint.holdOption" = "Hold Option to dictate"; "mac.settings.cloudProvider" = "CLOUD PROVIDER"; "mac.settings.service" = "Service"; "mac.settings.apiKey" = "API Key"; "mac.settings.model" = "Model"; "mac.settings.recognition" = "RECOGNITION METHOD"; "mac.settings.cloudEngine" = "Cloud Engine & AI Refinement"; "mac.settings.cloudEngineDesc" = "Premium transcription via your provider's API, plus AI grammar and style polishing."; "mac.settings.localEngine" = "Local Recognition"; "mac.settings.localEngineDesc" = "On-device transcription with a local model. High privacy, zero latency."; "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"; "mac.settings.interfaceLanguage" = "Interface Language"; "mac.settings.autoPaste" = "Auto-paste after dictation"; "mac.settings.autoPasteDesc" = "Simulate ⌘V in the front app after transcription (requires Accessibility)."; "mac.settings.hotkey" = "Global shortcut"; "mac.settings.hotkeyDesc" = "Hold Option (⌥) to dictate from any app."; "mac.settings.qwen3Model" = "Qwen3 model folder"; "mac.settings.qwen3ModelDesc" = "Folder with config.json, model.safetensors, vocab.json, and merges.txt."; "mac.settings.qwen3Browse" = "Choose folder…"; "mac.settings.qwen3Missing" = "Qwen3 model not found — using Apple Speech for now."; "mac.settings.mlxModelMissing" = "Select a Qwen3 MLX model folder below, or choose another installed model."; "mac.settings.selectedModelMissing" = "%@ is not installed — using Apple Speech for now."; "mac.settings.localModelFallbackApple" = "No local model is ready — using Apple Speech for now."; "mac.settings.accessibility" = "Accessibility"; "mac.settings.accessibilityDesc" = "Required for global shortcut and auto-paste."; "mac.settings.openAccessibility" = "Open System Settings"; "mac.settings.appearance" = "Appearance"; "mac.settings.appearanceDesc" = "Match the system, or force a light or dark look."; "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 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"; "mac.localASR.pause" = "Pause"; "mac.localASR.resume" = "Resume"; "mac.localASR.needsFolder" = "Folder required"; "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."; "mac.localASR.diagnostics" = "Last Bias Diagnostics"; "mac.localASR.diagnosticsDesc" = "Captured after your most recent local dictation."; "mac.localASR.diagEmpty" = "No local dictation yet."; "mac.localASR.diagBackend" = "Backend"; "mac.localASR.diagUserTerms" = "User terms"; "mac.localASR.diagBuiltinTerms" = "Builtin terms"; "mac.localASR.diagHotwords" = "Hotwords sent"; "mac.localASR.diagPrompt" = "Prompt chars"; "mac.localASR.diagTruncated" = "Prompt truncated"; "mac.localASR.delete" = "Delete"; "mac.localASR.deleteDone" = "Model deleted."; "mac.localASR.redownload" = "Re-download"; "mac.localASR.revealInFinder" = "Reveal in Finder"; "mac.localASR.openStorage" = "Open model storage folder"; "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"; "mac.localASR.phase.validating" = "Validating"; "mac.localASR.phase.finalizing" = "Finalizing"; "mac.localASR.phase.failed" = "Failed"; "mac.localASR.phase.completed" = "Completed"; "mac.error.accessibilityRequired" = "Enable Accessibility for OSGKeyboard in System Settings"; "mac.foregroundApp" = "Front app: %@"; "mac.sync.settingsTitle" = "iCloud Sync"; "mac.sync.settingsSubtitle" = "Sync settings, usage stats, speech history, and API keys across your devices via iCloud."; "mac.sync.syncNow" = "Sync Now"; "mac.sync.dictTitle" = "Personal dictionary iCloud sync"; "mac.sync.dictSubtitle" = "Keep your dictionary in sync across all devices."; "mac.sync.error.generic" = "Could not sync with iCloud. Try again later."; "mac.sync.error.dictTooLarge" = "Dictionary is too large to sync via iCloud."; "settings.appLanguage.auto" = "Auto"; "settings.appLanguage.english" = "English"; "settings.appLanguage.chinese" = "Chinese";