Pythonでシステム言語を見つける方法は?

Pythonでシステム言語を見つける方法は?

Python 3では、システムがどの言語を使用しているかを把握する方法はありますか?次のようなトリッキーな問題もあります。秘密のディレクトリにあるファイルを読み、ファイルの内容から
文字列を検索する'ENG'か...'FRE'

ベストアンサー1

Unixシステムには実際には「システム言語」はありません。 Unixはマルチユーザーシステムなので、各ユーザーは自由に希望の言語を選択できます。システム言語に最も近いのは、アカウントが設定されていないときにユーザーが取得するデフォルト言語です。この設定の場所は展開ごとに異なり、ログインプロセス中の特定の時点で選択されます。

ほとんどの場合、重要なのは「システム言語」ではなく、ユーザーがアプリケーションで使用したい言語です。言語設定は次のように表されます。地域設定。アプリケーションがユーザーインターフェイスで使用する言語を決定する設定はですLC_MESSAGES。日付、通貨などの設定もあります。この設定が渡されました。環境変数通常、ユーザーが特定のシステムおよびユーザー関連ファイルからログインしたときに設定されます。

LC_MESSAGES複数の変数が使用されるため、ロケールを見つけることは変数を読むよりも少し複雑です(参照:ロケールを何に設定する必要がありますか?これはどのような影響を及ぼしますか?)。これを達成するための標準ライブラリ関数があります。 Pythonでは、次を使用します。locale.getlocale。まず電話をする必要があります。setlocaleロケール認識をオンにします。

import locale
locale.setlocale(locale.LC_ALL, "")
message_language = locale.getlocale(locale.LC_MESSAGES)[0]

おすすめ記事