diff --git a/docs/userregistry.md b/docs/userregistry.md index 2614cbc..d85186b 100644 --- a/docs/userregistry.md +++ b/docs/userregistry.md @@ -3,7 +3,8 @@ #### `HKCU\Software\AmneziaWG\Language` When this key is set, the UI will try to use the specified language as display language. +Supported languages: "ca", "cs", "de", "en", "es_ES", "et", "fa", "fi", "fr", "id", "it", "ja", "ko", "nl", "pa_IN", "pl", "pt_BR", "ro", "ru", "si_LK", "sk", "sl", "sv_SE", "tr", "uk", "vi", "zh_CN", "zh_TW". ``` -> reg add HKCU\Software\AmneziaWG /v LimitedOperatorUI /t REG_SZ /d "en" /f +> reg add HKCU\Software\AmneziaWG /v Language /t REG_SZ /d "en" /f ``` diff --git a/l18n/l18n.go b/l18n/l18n.go index 830dfd7..8d5fa20 100644 --- a/l18n/l18n.go +++ b/l18n/l18n.go @@ -42,10 +42,13 @@ func prn() *message.Printer { func lang() (tag language.Tag) { keyString, res := services.UserKeyString(LanguageUserKey) if res { - keyTag := message.MatchLanguage(keyString) - if keyTag.String() == keyString { - tag = keyTag - return + normalizedKeyTag, err := language.Parse(keyString) + if err == nil { + keyTag := message.MatchLanguage(keyString) + if normalizedKeyTag == keyTag { + tag = keyTag + return + } } } tag = language.English