package shared import "golang.org/x/text/language" const defaultPreferredLanguage = "en" // ResolvePreferredLanguage returns the first canonical BCP 47 language tag // accepted from value, or the stable "en" fallback when the input is absent, // malformed, or too unspecific for auth registration purposes. func ResolvePreferredLanguage(value string) string { tags, _, err := language.ParseAcceptLanguage(value) if err != nil { return defaultPreferredLanguage } for _, tag := range tags { canonical := tag.String() switch canonical { case "", "und", "mul": continue default: return canonical } } return defaultPreferredLanguage }