これはもう少しの情報があるThis questionです。私の目標は、システムにインストールされている言語を調べることです。Linuxで指定されたロケールの言語名を取得する方法
次のコマンド
locale -a
ディスプレイすべての言語(例えばen_AU.utf8などの形式で)。これは/ usr/lib/localeの内容に対応しているようです。
LANG=fr_FR.utf8 locale -ck LC_IDENTIFICATION
呼び出すさらに
は、(この場合はフランス語である)言語名が含まれ、その特定のロケールの情報を与えます。
これは、/usr/lib/locale/fr_FR.utf8/LC_IDENTIFICATIONに含まれる情報のようです。
この情報を取得するための手段(多分API呼び出し)はありますか?私はロケールユーティリティのソースを調べましたが、private構造体を使用しています。
環境変数 'LANG'を手動で取得する必要はありません - setlocale(LC_ALL、" ");'は環境設定に基づいてロケールを設定します。 – caf
Yasirの解決策をupvoteして受け入れるべきです。質問にそれをコピーしないでください。問題は依然として問題に残ります。 – tripleee
@ tripleeeありがとうございました。調整された質問と追加された答え。 – Dushara