Merge branch 'feature/intelligent-polish-and-personal-dict' into main
Resolved real conflicts introduced by translation-polish-2 (#3) and docs refresh (#4) being merged to main during development: - OSGKeyboardShared/Models/ProviderConfig.swift Add polishIntensity field alongside translationTargetLocaleId / polishScenarioId / handednessPreference. Both new fields coexist. - OSGKeyboardShared/Services/AppGroupStore.swift Keep main's translation setters; add polishIntensity setter, detectedAppContext setter, and personalDictionary getter/setter. - OSGKeyboardShared/Services/PolishingService.swift Merge v0.2.1 translate-and-polish path with v0.3.0 context-aware intelligent prompt. New polish() entry point accepts both modes; translation mode still uses TranslationPrompt, polish mode now uses buildPrompt(for:context:). - OSGKeyboard/Views/SettingsView.swift Compose localEngineSettingsSection (main) with polishIntensitySection, languageAndModelsSection, systemPromptLinkSection, personalDictionaryLinkSection (feature). - OSGKeyboardShared/{en,zh-Hans}.lproj/Shared.strings Concat scenario keys + polish intensity / app context / dictionary keys. Auto-merged without conflict: - AppGroupStore new methods (localASRBackend, etc.) - FlowSessionManager, KeyboardViewController (auto-merged) - MaterialIcon, HistoryView (auto-merged, my icons added on top) Co-authored-by: Mavis <Mavis@hkgood.dev>
This commit is contained in:
@@ -48,3 +48,33 @@
|
||||
"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" = "Insert the raw ASR transcript with no LLM call.";
|
||||
"polish.intensity.light.desc" = "Drop only isolated filler words and obvious duplications.";
|
||||
"polish.intensity.medium.desc" = "Correct recognition errors, remove fillers, polish phrasing. Default.";
|
||||
"polish.intensity.heavy.desc" = "Restructure into lists and paragraphs. 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";
|
||||
|
||||
Reference in New Issue
Block a user