# How do I get the current computer language in Go?

How do I get the current computer language in Go?

eg. en-US for USA or es-es for Spain.

+3

source to share

On * nix based systems you can just use os.Getenv("LANG")

, I'm not sure if this applies to windows.

//edit

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

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_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=



+1

source

Note: Windows doesn't rely on environment variableLANG

(or LC_*

variables: none are defined on my Windows 8)

So, you're better off using a project, registry access like:

+2

source

All Articles