How do I get the computer's current language in Go?

huangapple go评论83阅读模式
英文:

How do I get the computer's current language in Go?

问题

在Go语言中,你可以使用go包中的lang包来获取计算机的当前语言。以下是一个示例代码:

package main

import (
	"fmt"
	"golang.org/x/text/language"
)

func main() {
	lang := language.MustParse("")

	fmt.Println(lang)
}

这段代码将打印出计算机的当前语言代码,例如en-US表示美国英语,es-ES表示西班牙语。你可以根据需要进一步处理这个语言代码。

英文:

How do I get the computer's current language in Go?

e.g. en-US for USA or es-es for Spain.

答案1

得分: 2

注意:Windows 不依赖于 LANG 环境变量(或 LC_* 变量:在我的 Windows 8 上没有定义任何变量)

区域设置存储在 HKCU/ControlPanel/International/LocalName 中(如此线程中所提到的)

How do I get the computer's current language in Go?

因此,最好使用访问注册表的项目,比如:

英文:

Note: Windows doesn't not rely on LANG environment variable (or LC_* variables: none are defined on my Windows 8)

The locale is stored in HKCU/ControlPanel/International/LocalName (as mentioned in this thread)

How do I get the computer's current language in Go?

So you are better off using a project accessing the registry, like:

答案2

得分: 1

在基于*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=
英文:

On *nix based systems you can simply use os.Getenv("LANG"), I'm not sure if that applies to windows.

//edit

@JimB mentioned that there are other variables to check too, for more details check gettext

on my system:

➜ 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=

huangapple
  • 本文由 发表于 2014年9月16日 04:02:17
  • 转载请务必保留本文链接:https://go.coder-hub.com/25856022.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定