我需要将语言代码(如'en-US'
或'ja'
)转换为其专有名称(如'American English'
和'Japanese'
)。我该怎么做呢?
我很难找到这个,因为功能分布在两个不同的包-languages
和display
,而不是在一个。希望这能帮助到那些不知道怎么做的人。
文档链接:
https://pkg.go.dev/golang.org/x/text/language#CanonType.MustParse
https://pkg.go.dev/golang.org/x/text@v0.3.7/language/display#Namer
示例程序:
package main
import (
"fmt"
"golang.org/x/text/language"
"golang.org/x/text/language/display"
)
func main() {
japTag := language.MustParse("ja")
fmt.Println(display.Self.Name(japTag)) // --> 日本語
// To get the language names in English
en := display.English.Languages()
fmt.Println(en.Name(japTag)) // --> Japanese
}