2017-09-06 11 views
2

純粋なノードjsで、npmの拡張子なしでユーザ言語をチェックしようとしています。 私は、プロセスおよびグローバルコマンドを使用し、仕様がたくさんあるが、私は、ユーザーのOSの言語を取得したい場合は、環境からそれを取得しようとすることができ、システムの言語ノードJS - ユーザ言語の検出方法

答えて

0

を見つけることができませんでした:

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

それはLC_ALLのような異なる環境変数で上書きすることができますしかし、LC_MESSAGESなど

Linux ManualからLANGのenv変数の説明です:

ロケールカテゴリに使用するロケールの名前 がLC_ALL以上の特定の環境によってオーバーライドされる場合LC_COLLATE、LC_CTYPE、LC_MESSAGES、LC_MONETARY、 LC_NUMERIC、およびLC_TIMEなどの があります。

+0

これは動作するだけですがLinuxまたはMacで。 Windowsに類似したものはありますか? – Szach

0

回答はあなたの質問です。あなたは、プラグインを使用する必要はありませんが、あなたはhow they do it上で見ることができます:)

答えは忘れないでくださいenvironment

スポイラー

function getEnvLocale(env) { 
    env = env || process.env; 

    return env.LC_ALL || env.LC_MESSAGES || env.LANG || env.LANGUAGE; 
} 

です異なるプラットフォームに対応する(mac、linux、windows ...)