プログラムはロケールを尊重しません。

プログラムはロケールを尊重しません。

私のコンピュータにDebian 9(stretch)を新しくインストールし、ロケールをdpkg-reconfigure英語以外の言語に設定しました。私もKDEを使用しているので、システム設定の優先言語リストでもKDEを唯一の言語に設定してkde-l10n渡しましたapt-get

KDE関連プログラムは現在正しい言語を使用していますが、他のすべてのプログラム(Firefox、Thunderbird、Kaffeine、Telgramなど)はまだ関連インタフェーステキストを英語で表示します。具体的には、Firefoxでは、表示された日付がCET(私のロケールに適している)の代わりにUTCタイムゾーンを使用し、私のロケールとは無関係のフランス語辞書がいくつかの言語にプリインストールされていることも確認しました。理由。

env | grep LANG表示LANGLANGUAGE環境変数は何も返さず、希望の言語に正しく設定されます。env | grep LC(私が読んだところによると、これはsが見つからないLANG場合の代替変数にすぎません。)LC_*

プログラムが私のロケールを尊重しないのはなぜですか。この問題を解決する方法は何ですか?

ベストアンサー1

プログラムを作成するときは、ロケールを尊重する必要があります。たとえば、私が書くなら

 #!/bin/sh
 echo hello

私はそれをフランス語のロケールとして実行し、これを行いますいいえ出力されると予想bonjour

タイムゾーンは地域とは無関係で、英語は世界中で使用されていますが、世界のすべての地域がロンドンと同じ時間を持つわけではありません。個々のプログラムのTZタイムゾーンを指定する変数(TZ=PST8PDTまたは)を設定するか、正しい情報でグローバルに設定します。TZ=America/LosAngeles/etc/localtime

おすすめ記事