Comment obtenir la langue actuelle de l'ordinateur dans Go?Comment obtenir la langue actuelle de l'ordinateur dans Go?
par exemple. en-US pour les USA ou es-es pour l'Espagne.
Comment obtenir la langue actuelle de l'ordinateur dans Go?Comment obtenir la langue actuelle de l'ordinateur dans Go?
par exemple. en-US pour les USA ou es-es pour l'Espagne.
Sur les systèmes basés sur * nix, vous pouvez simplement utiliser os.Getenv("LANG")
, je ne sais pas si cela s'applique à Windows.
// modifier
@JimB mentionné qu'il existe d'autres variables à vérifier aussi, pour plus de détails, consultez gettext
sur mon système:
➜ 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=
Note: Windows doesn't not rely on LANG
environment variable (ou les variables LC_*
: aucun n'est défini sur mon Windows 8)
Les paramètres régionaux sont stored in HKCU/ControlPanel/International/LocalName
(comme mentionné d in this thread)
Vous feriez mieux d'utiliser un projet d'accéder au registre, comme:
Vous pouvez wan également vérifier 'LC_ * 'variables comme' LC_MESSAGES', car elles ont la priorité sur 'LANG'. [gettext par exemple] (https://www.gnu.org/software/gettext/manual/html_node/Locale-Environment-Variables.html) – JimB
Bon à savoir, merci. –