在 Golang 中验证语言环境字符串

Validate Locale string in Golang

我正在尝试编写 Go 代码来检查字符串是否代表有效的语言环境。从文档中,我已经到了这里:

import "golang.org/x/text/language"

locale := "en"
tag, err := language.Parse(locale)
if err != nil {
    return errors.New("Invalid locale: " + locale)
}

我认为这应该可行,并且它似乎在大多数时候都可行,但它并不总是在我期望的时候给我一个错误。例如,如果我说 locale := "bcd" 我不会收到错误。

我在这里错过了什么?

bcd 是 North Babar 语言的有效 ISO 639-3 语言代码,推而广之,它是一个有效的语言环境名称。