Вам нужно будет добавить «ru-RU» при создании соответствия.
var matcher = language.NewMatcher([]language.Tag{
language.English,
language.MustParse("ru-RU"),
language.Russian,
})
когда вы переходите в регион, а его нет в вашем совпадении, по умолчанию используется ZZ , и вы нажимаете этот код в языковом пакете.
} else if r := w.RegionID.String(); len(r) == 2 {
// TODO: also filter macro and deprecated.
tt, _ = tt.SetTypeForKey("rg", strings.ToLower(r)+"zzzz")
}
Если вы хотите получить только язык, вы можете использовать метод Base
из возвращенного совпадающего тега
matched, _, _ := matcher.Match(tag)
base, _ := matched.Base();
fmt.Println(base.String()) // will only print the language
при использовании base.String()
будет напечатано ru
для всех предоставленных вами языковых заголовков.