feat: mail service
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
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
|
||||
}
|
||||
Reference in New Issue
Block a user