Как получить текущий язык компьютера в Go?Как получить текущий язык компьютера в Go?
например. en-US для США или es-es для Испании.
Как получить текущий язык компьютера в Go?Как получить текущий язык компьютера в Go?
например. en-US для США или es-es для Испании.
В системах на основе nix вы можете просто использовать os.Getenv("LANG")
, я не уверен, что это относится к окнам.
// редактировать
@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=
Примечание: Windows doesn't not rely on LANG
environment variable (или LC_*
переменных : ни один из них не определен на моей Windows 8)
Языковой стандарт: stored in HKCU/ControlPanel/International/LocalName
(в качестве упоминания d in this thread)
Таким образом, вы лучше использовать проект доступа к реестру, например:
Вы можете тусклый также проверить 'LC_ * 'переменные, такие как' LC_MESSAGES', поскольку они имеют приоритет над 'LANG'. [gettext например] (https://www.gnu.org/software/gettext/manual/html_node/Locale-Environment-Variables.html) – JimB
Полезно знать, спасибо. –