mar*_*nga 6 internationalization go
是否有获取用户系统语言的功能,但我在Go网站上的任何地方都找不到。
为了澄清我的问题,我想要当前用户的系统语言,这意味着当系统上的所有内容(例如荷兰语)时,我想获取“ dutch”或“ nl”
注意:该程序是在Linux,Mac和Windows上运行的
有一个很好的跨平台库,称为
jibber_jabber
,它在 Unix 系统中查找$LC_ALL或$LANGenv 变量,对于 Windows,加载Kernel32并调用一些类似GetUserDefaultLocaleName或GetSystemDefaultLocaleName内部的过程。对于 Windows,一切都在getWindowsLocale()
函数中完成
。请注意 Kernel32 库内置于 Windows 操作系统内核中。
By the way, should you need to convert locale-format'd language strings like en_US and fr_FR, you can utilize the
x/text/language and x/text/language/display
packages to get fully qualified name of the language.
lang := "ru_RU"
tag := language.MustParse(lang)
inEng := display.English.Languages()
inTur := display.Turkish.Languages()
inSelf := display.Self
fmt.Println(inEng.Name(tag))
fmt.Println(inSelf.Name(tag))
fmt.Println(inTur.Name(tag))
// Output:
// Russian
// ???????
// Rusça
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1037 次 |
| 最近记录: |