节点JS – 如何检测用户语言

我试图检查纯节点js中的用户语言,没有从npm的任何扩展。 我使用过程和全局命令,有很多规范,但我无法find系统语言

如果你想获得用户的操作系统语言,你可以尝试从环境中获得它:

const env = process.env, language = env.LANG || env.LANGUAGE || env.LC_ALL || env.LC_MESSAGES; 

在大多数情况下process.env.LANG应该工作。 它将包含ISO 639-1语言代码,ISO 3166-1国家代码和编码名称。

例如: en_US.UTF-8uk_UA.UTF-8

但是,它可以被不同的环境variables如LC_ALLLC_MESSAGES等所覆盖

以下是来自Linux手册的 LANG envvariables的描述:

未被LC_ALL或LC_COLLATE,LC_CTYPE,LC_MESSAGES,LC_MONETARY,LC_NUMERIC和LC_TIME等更具体的环境variables覆盖时用于语言环境类别的语言环境的名称。

答案在你的问题。 你不想使用插件,但你可以看看他们是如何做到的 🙂

答案是environment

扰stream板

 function getEnvLocale(env) { env = env || process.env; return env.LC_ALL || env.LC_MESSAGES || env.LANG || env.LANGUAGE; } 

不要忘记适应不同的平台(mac,linux,windows …)