間違った言語のaptヘルプテキストとメッセージ

Aug 19 2020

ロケールが混在するシステムを使用しています。テキスト言語は英語に設定され、数値の書式設定、通貨などはドイツ語に設定されます。これは、aptを除いて非常にうまく機能します。aptコマンド(apt-get、apt-cacheなど)のすべてのメッセージとヘルプテキストは常にドイツ語です。

例えば:

apt-get --help                                                                                                                                                                                               
apt 1.6.12ubuntu0.1 (amd64)
Aufruf: apt-get [Optionen] befehl
        apt-get [Optionen] install|remove paket1 [paket2 ...]
        apt-get [Optionen] source paket1 [paket2 ...]

apt-get ist ein Befehlszeilenwerkzeug zum Herunterladen von Paketen (und
Informationen zu diesen Paketen) von authentifizierten Paketquellen sowie
für deren Installation, Aktualisierung und Entfernung zusammen mit ihren
Paketabhängigkeiten.
...

これは、私の個人ユーザーアカウントとrootユーザーで同じ動作です。

ユーザーアカウントのロケール設定は次のとおりです。

LANG=en_US.UTF-8
LANGUAGE=en_US:de
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC=de_DE.UTF-8
LC_TIME=de_DE.UTF-8
LC_COLLATE="en_US.UTF-8"
LC_MONETARY=de_DE.UTF-8
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT=de_DE.UTF-8
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=

LC_ALLは設定されていませんが、このenvvarを明示的に設定しても

export LC_ALL="en_US.UTF-8"   

apt出力の言語は変更されません。

どのロケール変数が実際にaptコマンドに影響しますか?どうすれば適切な英語を話すように説得できますか?

回答

GunnarHjalmarsson Aug 19 2020 at 19:26

そうですか:

LANGUAGE=en_US:de

それはあなたが思っていることをしません。元の言語はen_USであるため、基本的にen_USの翻訳はありません。したがって、LANGUAGE環境変数を理解するアプリケーションの場合、gettextは代わりにドイツ語の翻訳を選択します。

これを次のように変更します。

LANGUAGE=en_US

PSAPTよりもはるかに多くのアプリケーションで問題が発生するはずです。