| | |
| | | ) |
| | | |
| | | const ( |
| | | HotkeyModeTap = "tap" |
| | | HotkeyModeHold = "hold" |
| | | LanguageModeAuto = "auto" |
| | | LanguageModeManual = "manual" |
| | | HotkeyModeTap = "tap" |
| | | HotkeyModeHold = "hold" |
| | | LanguageModeAuto = "auto" |
| | | LanguageModeManual = "manual" |
| | | ModelSelectionModeAuto = "auto" |
| | | ModelSelectionModeManual = "manual" |
| | | ) |
| | | |
| | | // Config holds the application configuration, compatible with the WPF version's config.json. |
| | |
| | | IndicatorX int `json:"IndicatorX,omitempty"` |
| | | IndicatorY int `json:"IndicatorY,omitempty"` |
| | | SelectedModelID string `json:"SelectedModelID,omitempty"` |
| | | ModelSelectionMode string `json:"ModelSelectionMode,omitempty"` |
| | | LanguageMode string `json:"LanguageMode,omitempty"` |
| | | LanguageID string `json:"LanguageID,omitempty"` |
| | | ModelDownloadUrl string `json:"ModelDownloadUrl"` |
| | |
| | | HideDockIcon: true, |
| | | CopyToClipboard: true, |
| | | SelectedModelID: model.DefaultModelID, |
| | | ModelSelectionMode: ModelSelectionModeAuto, |
| | | LanguageMode: LanguageModeAuto, |
| | | LanguageID: model.DefaultLanguageID, |
| | | ModelDownloadUrl: "http://www.maikami.com/voicesnap/sensevoice.zip", |
| | |
| | | } |
| | | cfg.HotkeyMode = NormalizeHotkeyMode(cfg.HotkeyMode) |
| | | cfg.LanguageMode = NormalizeLanguageMode(cfg.LanguageMode) |
| | | cfg.ModelSelectionMode = NormalizeModelSelectionMode(cfg.ModelSelectionMode) |
| | | languageID := cfg.LanguageID |
| | | cfg.LanguageID = model.NormalizeLanguageID(cfg.LanguageID) |
| | | if languageID != "" && languageID != cfg.LanguageID { |
| | |
| | | } |
| | | } |
| | | |
| | | func NormalizeModelSelectionMode(mode string) string { |
| | | switch mode { |
| | | case ModelSelectionModeAuto, ModelSelectionModeManual: |
| | | return mode |
| | | default: |
| | | return ModelSelectionModeAuto |
| | | } |
| | | } |
| | | |
| | | func NormalizeHotkeyMode(mode string) string { |
| | | switch mode { |
| | | case HotkeyModeTap, HotkeyModeHold: |