CentOS 8でLANG変数をイタリア語に変更しようとすると、変更されません。ここに私がしていることの例があります。
LANG=it_IT.UTF-8
その後、これを実行すると、ls --help
結果はまだ英語で表示されます。
ありがとうございます。
答え1
これを機能させるには、次のような条件を満たす必要があります。
- ロケール
it_IT.UTF-8
はシステムで利用可能でなければなりません。確認するlocale -a | grep it
- そのアプリケーションのイタリア語翻訳が可能でなければなりません(GNUの場合、
ls
通常は/usr/share/locale/it/LC_MESSAGES/coreutils.mo
CentOSなどのGNUシステムに似ています)。 - 変数にアクセスするには、変数
LANG
を環境にエクスポートする必要がありますls
(export LANG
)。 - 具体的には、GNUシステムのメッセージ言語設定はおよび変数
$LANGUAGE
よりも優先されます(またはがC / POSIXロケールに設定されていない場合)。したがって、ある場合は、他のすべての項目をに設定しても、フランス語のメッセージ(利用可能な場合)が届きます。LANG
LC_*
LC_MESSAGE
LANG
LC_ALL
LANGUAGE=fr:en:it
it_IT.UTF-8
- メッセージ言語設定の場合は、他のすべて
LC_MESSAGES
よりも優先され、LANG
上書きされLC_ALL
ます(上記のように/LANGUAGE
でない場合)。C
POSIX
の出力には、locale
現在の設定の概要が表示されます。env | grep -e LANG -e LC_
ロケール関連のリストを提供する必要があります環境現在設定されている変数です。
答え2
LANG
Sun Microsystemsが現在ローカライゼーションの基本を開発した1980年代の古い環境変数です。
この変数は引き続き使用されますが、公式規格の他の変数が定義されていない場合は、代替としてのみ使用されます。
検索順序は次のとおりです。
LC_ALLはすべてを網羅するために使用されます。
LC_MESSAGESと同様の一般的な使用法
LC_ALLまたはロケールタイプ固有の定義の両方が使用できない場合はLANGです。
上書きするには、文書化されたLC_ALLを使用してください。
答え3
LC_ALL=it_IT.UTF-8
を除いて試してみてください。LANGUAGE=it_IT.UTF-8
LANG=it_IT.UTF-8
現在のロケールが正しく設定されていることを確認してくださいlocale
。
また、it_IT.UTF-8
ロケールが使用可能であることを確認してくださいlocale -a
。
LANGUAGE=it_IT.UTF-8
たとえば、メッセージテキストhelp
またはman
ページのメッセージテキストを変更するように設定するだけです。これはLANGUAGE
、翻訳が存在するメッセージの言語を設定することを覚えておいてください。だからls --help
まさにイタリア語ではないかもしれません。
答え4
tmux
Ubuntuで使用するとアイコンなどを表示できません。
使用して
export LANG=en_IN.utf-8
問題が解決しました。正しく表示するために使用する別の方法はtmux -u
。