130

Linuxインストールで他のプログラムの言語を変更せずにgitの言語を(英語に)変更したいのですが、設定が見つかりませんでした。どうやってするの?

4

8 に答える 8

195

これらの行を に追加するか~/.bashrc、git にすべてのメッセージを英語で表示するように強制するには:~/.bash_profile~/.zprofile

# Set Git language to English
#alias git='LANG=en_US git'
alias git='LANG=en_GB git'

LC_ALL環境変数LC_ALLが設定されている場合、エイリアスは一部のシステムでオーバーライドする必要があります。これは よりも優先されLANGます。詳細については、UNIX 仕様 - 環境変数を参照してください。

# Set Git language to English
#alias git='LC_ALL=en_US git'
alias git='LC_ALL=en_GB git'

これらの行を~/.bashrcエイリアスに追加した場合、新しい対話型シェルが開始されたときに定義されます。~/.bash_profileエイリアスに追加した場合、ログイン時に適用されます。

于 2012-06-03T16:56:13.217 に答える
21

代わりに英語のコマンドを 1 つだけ使用したい場合はLC_ALL=C、コマンドの前に次のように記述できます。

LC_ALL=C git status

結果として

# On branch master
nothing to commit, working directory clean

使用されているロケールCは英語で、追加の言語パックをインストールしなくてもいつでも利用できます
( https://askubuntu.com/a/142814/34298を参照) 。

現在のbashセッション全体で変更するには、次のように入力します

LANG=C

たとえば、ドイツ語に変更するには、次のように入力します

LANG=de_DE.UTF-8
于 2014-04-17T19:20:18.067 に答える
7

注: Git 2.3.1+ (2015 年第 1 四半期/第 2 四半期) 以降、Git は可能であれば Accept-Language ヘッダーを追加します。Yi EungJunによるコミット f18604b
を 参照してください( )eungjun-yi

、、 で定義Accept-Languageされたユーザーの優先言語を示すヘッダーを追加します。$LANGUAGE$LC_ALL$LC_MESSAGES$LANG

これにより、git サーバーはリモート エラー メッセージをユーザーの好みの言語で表示できます。


git guiまたはその他の GUI のロケールがある場合、GitSurvey 2010の質問の1つであったことを考えると、コマンドライン用ではありません

localization of command-line messages (i18n)    258     3.6%    

もちろん、2010年以降、次のようにpo/README説明されています。

文字列を翻訳する前に、まず翻訳対象としてマークする必要があります。

gettextGit は、システムのライブラリをラップする国際化インターフェイスを使用する ため、gettext ドキュメント (info gettext端末の GNU システム) のほとんどのアドバイスが適用されます。

git 1.7.9+ (2012 年 1 月)以降:

Git はgettext、翻訳が利用可能でロケールが適切に設定されている場合、最も一般的なインターフェイス メッセージをユーザーの言語に翻訳するために使用します
配布者は、新しいPOファイルをドロップしpo/て新しい翻訳を追加できます。

したがって、更新によって翻訳が台無しになっている場合は、何gettextが使用されているかを確認して
ください。たとえば、「Locale Environment Variables」を参照してください。

ロケールは、複数のロケール カテゴリで構成されます。「アスペクト」を参照してください。プログラムがロケールに依存する値を検索する場合、次の環境変数に従って、優先順位に従ってこれを行います。

LANGUAGE
LC_ALL
LC_xxx, according to selected locale category: LC_CTYPE, LC_NUMERIC, LC_TIME, LC_COLLATE, LC_MONETARY, LC_MESSAGES, ...
LANG 

値が設定されているが空の変数は、このルックアップでは無視されます。

LANGロケールを指定するための通常の環境変数です。/etc/profileユーザーとして、通常、この変数を設定します (他の変数の一部がシステムによって、または同様の初期化ファイルで既に設定されている場合を除きます)。

LC_CTYPELC_NUMERICLC_TIMELC_COLLATELC_MONETARYなどは、単一のロケール カテゴリのみLC_MESSAGESをオーバーライドして影響を与えることを意図した環境変数です。 たとえば、スペインに住むスウェーデン人のユーザーが、スペイン語の規則に従って数字と日付をプログラムで処理し、メッセージのみをスウェーデン語にする必要があるとします。次に、プログラムを使用して、'<code>sv_ES' または '<code>sv_ES.UTF-8' という名前のロケールを作成できます。しかし、変数を に設定し、変数をに設定する方が簡単で、同じ効果が得られます。これら 2 つのロケールは、オペレーティング システムにあらかじめインストールされています。LANG
localedefLANGes_ES.UTF-8LC_MESSAGESsv_SE.UTF-8

LC_ALLこれらすべてをオーバーライドする環境変数です。通常、特定のプログラムを実行するスクリプトで使用されます。たとえば、GNU によって生成された構成スクリプトをautoconf使用LC_ALLして、構成テストがロケールに依存する方法で動作しないようにします。

残念ながら、一部のシステムでは、または同様の初期化ファイルに設定LC_ALLされています。/etc/profileしたがって、ユーザーとして、LANGオプションで他のLC_xxx変数のいくつかを設定したい場合は、この変数を設定解除する必要があります。

于 2012-05-17T11:51:08.490 に答える
4

LC_ALL LC_MESSAGES=C git=C または LANG=C ではなく、ファイルを削除または名前変更する必要はありません。

このコマンドは、Git メッセージの出力を英語に変更します。

于 2018-10-02T16:21:34.370 に答える