Как изменить язык интерфейса командной строки Git?

Я хотел бы изменить язык git (на английский) в моей установке Linux и не смог найти настройки. Как это сделать?

5 ответов


добавить эти строки в свой ~/.bashrc или ~/.bash_profile чтобы заставить git отображать все сообщения на английском языке:

# 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 псевдоним, который будет использоваться при входе в систему.


если вы просто хотите иметь одну команду на английском языке, вместо этого вы можете просто написать 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

изменить его пример для немецкого enter

LANG=de_DE.UTF-8

Примечание: поскольку Git 2.3.1+ (Q1/Q2 2015), Git добавит заголовок Accept-Language, если это возможно.
См.совершить f18604b by Yi EungJun (eungjun-yi)

добавить Accept-Language заголовок, который указывает предпочтительный пользователь языки, определенные $LANGUAGE, $LC_ALL, $LC_MESSAGES и $LANG.

это дает серверам git возможность отображать удаленные сообщения об ошибках в выбранный пользователем язык.


вы локаль для Git gui или другие GUIs, но не для командной строки, учитывая, что это был один из вопросов GitSurvey 2010

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

конечно, с 2010 года, как po/README описание:

прежде чем строки могут быть переведены, они сначала должны быть отмечены для перевода.

Git использует интерфейс интернационализации, который обертывает систему gettext библиотека, поэтому большинство советов в вашей документации gettext (о системах GNU info gettext в терминале) применяется.

С git 1.7.9+ (январь 2012):

Git использует gettext перевести свои самые общие сообщения интерфейса в язык потребителя если переводы доступны и локаль выставлена правильно.
Дистрибьюторы могут отказаться от новых PO файлы po/ добавить новый перевод.

Итак, если ваше обновление испортило перевод, проверьте, что gettext применение:
См., например, "Переменные Среды Локали"

локаль состоит из нескольких категорий локалей, см. аспекты. Когда программа ищет значения, зависящие от локали, она делает это в соответствии со следующим переменные среды, в порядке приоритета:

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_CTYPE, LC_NUMERIC, LC_TIME, LC_COLLATE, LC_MONETARY, LC_MESSAGES, и так далее, переменные среды предназначены для переопределения LANG и влияет только на одну категорию локали.
Например, предположим, что вы являетесь шведским Пользователем в Испании и хотите, чтобы ваши программы обрабатывали числа и даты в соответствии с испанскими соглашениями, и только сообщения должны быть на шведском языке. Затем вы можете создать локаль с именем'sv_ES’ или ‘sv_ES.UTF-8’ С помощью . Но проще и достигает того же эффекта, чтобы установить LANG переменной к es_ES.UTF-8 и LC_MESSAGES переменная sv_SE.UTF-8; эти два локали уже предустановлены с операционной системой.

LC_ALL - это переменная среды, которая переопределяет все это. Он обычно используется в сценариях, которые запускают определенные программы. Например, настройте скрипты, созданные GNU autoconf использовать LC_ALL чтобы убедиться, что тесты конфигурации не работают в зависимости от локали.

некоторые системы, к сожалению, set LC_ALL in /etc/profile или в аналогичных файлах инициализации. Поэтому, как пользователь, вы должны отключить эту переменную, если хотите установить LANG и, возможно, некоторые из других LC_xxx переменные.


Run LC_MESSAGES=C git, не LC_ALL=C или LANG=C и нет необходимости удалять или переименовывать файлы.

эта команда изменяет выходные сообщения Git на английский язык.


git по умолчанию английский, если он не может найти язык локали.

поэтому, если вы хотите, чтобы GIT был на английском языке, просто саботируйте языковой файл, с которым он работает. В моем случае он всегда работал с немецким (т. е.:de.msg).

Если я удалил его или переименовал, то он по умолчанию был на английском языке.

enter image description here

здесь я переименовал файл

enter image description here