Ariver
2026-06-03 4e7591ebb1294f611e7b85082be55313dd53820f
privatevoice.src/internal/config/config.go
@@ -9,10 +9,12 @@
)
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.
@@ -27,6 +29,7 @@
   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"`
@@ -43,6 +46,7 @@
      HideDockIcon:             true,
      CopyToClipboard:          true,
      SelectedModelID:          model.DefaultModelID,
      ModelSelectionMode:       ModelSelectionModeAuto,
      LanguageMode:             LanguageModeAuto,
      LanguageID:               model.DefaultLanguageID,
      ModelDownloadUrl:         "http://www.maikami.com/voicesnap/sensevoice.zip",
@@ -73,6 +77,7 @@
   }
   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 {
@@ -95,6 +100,15 @@
   }
}
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: