Как изменить язык интерфейса командной строки 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 (о системах GNUinfo 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
- это переменная среды, которая переопределяет все это. Он обычно используется в сценариях, которые запускают определенные программы. Например, настройте скрипты, созданные GNUautoconf
использовать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).
Если я удалил его или переименовал, то он по умолчанию был на английском языке.
здесь я переименовал файл