如何在 Go 中获取计算机的当前语言?例如,en-US 代表美国,es-es 代表西班牙。
2 回答
慕尼黑的夜晚无繁华
TA贡献1864条经验 获得超6个赞
在基于 *nix 的系统上,您可以简单地使用os.Getenv("LANG"),我不确定这是否适用于 Windows。
//编辑
@JimB 提到还有其他变量要检查,有关更多详细信息,请检查gettext
在我的系统上:
➜ locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
拉莫斯之舞
TA贡献1820条经验 获得超10个赞
注意:Windows 不依赖于LANG
环境变量(或LC_*
变量:我的 Windows 8 上没有定义)
语言环境存储在HKCU/ControlPanel/International/LocalName
(如该线程中所述)
因此,您最好使用访问注册表的项目,例如:
- 2 回答
- 0 关注
- 275 浏览
添加回答
举报
0/150
提交
取消