diff --git a/backend/services/preferences_service.go b/backend/services/preferences_service.go index 43c03df..0a85eaf 100644 --- a/backend/services/preferences_service.go +++ b/backend/services/preferences_service.go @@ -6,6 +6,7 @@ import ( "github.com/adrg/sysfont" runtime2 "github.com/wailsapp/wails/v2/pkg/runtime" "net/http" + "os" "sort" "strings" "sync" @@ -50,6 +51,7 @@ func (p *preferencesService) SetPreferences(pf types.Preferences) (resp types.JS return } + p.UpdateEnv() resp.Success = true return } @@ -114,6 +116,11 @@ func (p *preferencesService) GetBuildInDecoder() (resp types.JSResp) { return } +func (p *preferencesService) GetLanguage() string { + pref := p.pref.GetPreferences() + return pref.General.Language +} + func (p *preferencesService) SetAppVersion(ver string) { if !strings.HasPrefix(ver, "v") { p.clientVersion = "v" + ver @@ -246,3 +253,12 @@ func (p *preferencesService) CheckForUpdate() (resp types.JSResp) { } return } + +// UpdateEnv Update System Environment +func (p *preferencesService) UpdateEnv() { + if p.GetLanguage() == "zh" { + os.Setenv("LANG", "zh_CN.UTF-8") + } else { + os.Unsetenv("LANG") + } +} diff --git a/main.go b/main.go index 158da48..83916fc 100644 --- a/main.go +++ b/main.go @@ -35,6 +35,7 @@ func main() { pubsubSvc := services.Pubsub() prefSvc := services.Preferences() prefSvc.SetAppVersion(version) + prefSvc.UpdateEnv() windowWidth, windowHeight, maximised := prefSvc.GetWindowSize() windowStartState := options.Normal if maximised {