如何将语言代码转换为Go中的专有名称?



我需要将语言代码(如'en-US''ja')转换为其专有名称(如'American English''Japanese')。我该怎么做呢?

我很难找到这个,因为功能分布在两个不同的包-languagesdisplay,而不是在一个。希望这能帮助到那些不知道怎么做的人。

文档链接:
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
}

最新更新