# #go
Вопрос:
Мне нужно преобразовать языковые коды, такие как 'en-US'
или 'ja'
, в их собственные имена, такие как 'American English'
и 'Japanese'
. Как мне это сделать?
Ответ №1:
У меня возникли некоторые трудности с поиском этого, так как функциональность распределена по 2 разным пакетам — 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
}