Как переключить язык интерфейса Git GUI с русского на английский?
задан 12 апр 2013 в 9:06
2
Запускать из консоли вот так:
LANG=C git gui
Deleted
3611 золотой знак5 серебряных знаков13 бронзовых знаков
ответ дан 12 апр 2013 в 9:35
4
Вот тебе ответ
А по поводу непонимания, тут вряд ли поможет перевод.
ответ дан 12 апр 2013 в 9:31
ArtemArtem
12k1 золотой знак21 серебряный знак41 бронзовый знак
2
пойти в папку «c:Program FilesGitsharegit-guilibmsgs» или где там он установлен
найти файл ru.msg и переименовать например в ru.msg_
а смысл в том, что если оболочке не находит файл языка под текущие настройки пользователя, то она стартует на английском
да, интерфейс оболочки ужасен и настройка языка иным способом вообще не предусмотрена
ответ дан 28 апр 2015 в 14:53
spsoftspsoft
111 бронзовый знак
System | Advanced System Settings | Environment Variables
LANG = C
ответ дан 14 ноя 2017 в 17:13
В папке, куда установлен git
нужно удалить или переименовать файл ru.msg
в git/share/git-gui/lib/msgs
Deleted
3611 золотой знак5 серебряных знаков13 бронзовых знаков
ответ дан 15 мая 2013 в 11:57
Проверенный и работающий вариант для Mac Os — запускать через LC_MESSAGES=C git
Не нужно никаких LANG=C или LC_ALL=C, удалять или переименовывать файлы тоже.
Можно в ~/.bash_profile
написать alias git='LC_MESSAGES=C git'
и потом перезапустить терминал.
ответ дан 2 окт 2018 в 16:12
iapetusiapetus
3132 серебряных знака10 бронзовых знаков
Note: since Git 2.3.1+ (Q1/Q2 2015), Git will add Accept-Language header if possible.
See commit f18604b by Yi EungJun (eungjun-yi
)
Add an
Accept-Language
header which indicates the user’s preferred
languages defined by$LANGUAGE
,$LC_ALL
,$LC_MESSAGES
and$LANG
.This gives git servers a chance to display remote error messages in
the user’s preferred language.
You have locale for git gui or other GUIs, but not for the command-line, considering it was one of the questions of GitSurvey 2010
localization of command-line messages (i18n) 258 3.6%
Of course, since 2010, as po/README
describes:
Before strings can be translated they first have to be marked for translation.
Git uses an internationalization interface that wraps the system’s
gettext
library, so most of the advice in your gettext documentation
(on GNU systemsinfo gettext
in a terminal) applies.
In place since git 1.7.9+ (January 2012):
Git uses
gettext
to translate its most common interface messages into the user’s language if translations are available and the locale is appropriately set.
Distributors can drop newPO
files inpo/
to add new translations.
So, if your update has mess up the translation, check what gettext
uses:
See, for instance, «Locale Environment Variables»
A locale is composed of several locale categories, see Aspects. When a program looks up locale dependent values, it does this according to the following environment variables, in priority order:
LANGUAGE LC_ALL LC_xxx, according to selected locale category: LC_CTYPE, LC_NUMERIC, LC_TIME, LC_COLLATE, LC_MONETARY, LC_MESSAGES, ... LANG
Variables whose value is set but is empty are ignored in this lookup.
LANG
is the normal environment variable for specifying a locale. As a user, you normally set this variable (unless some of the other variables have already been set by the system, in/etc/profile
or similar initialization files).
LC_CTYPE
,LC_NUMERIC
,LC_TIME
,LC_COLLATE
,LC_MONETARY
,LC_MESSAGES
, and so on, are the environment variables meant to overrideLANG
and affecting a single locale category only.
For example, assume you are a Swedish user in Spain, and you want your programs to handle numbers and dates according to Spanish conventions, and only the messages should be in Swedish. Then you could create a locale named ‘sv_ES
’ or ‘sv_ES.UTF-8
’ by use of thelocaledef
program. But it is simpler, and achieves the same effect, to set theLANG
variable toes_ES.UTF-8
and theLC_MESSAGES
variable tosv_SE.UTF-8
; these two locales come already preinstalled with the operating system.
LC_ALL
is an environment variable that overrides all of these. It is typically used in scripts that run particular programs. For example, configure scripts generated by GNUautoconf
useLC_ALL
to make sure that the configuration tests don’t operate in locale dependent ways.Some systems, unfortunately, set
LC_ALL
in/etc/profile
or in similar initialization files. As a user, you therefore have to unset this variable if you want to setLANG
and optionally some of the otherLC_xxx
variables.
Earlier, HTTP transport clients learned to tell the server side what locale they are in by sending Accept-Language
HTTP header, but this was done only for some requests but not others.
This is fixed with Git 2.38 (Q3 2022):
See commit b0c4adc (11 Jul 2022) by Li Linchao (Cactusinhand
).
(Merged by Junio C Hamano — gitster
— in commit 4b8cdff, 19 Jul 2022)
remote-curl
: send Accept-Language header to serverHelped-by: Junio C Hamano
Signed-off-by: Li Linchao
Git server end’s ability to accept
Accept-Language
header was introduced in f18604b («http
: add Accept-Language header if possible», 2015-01-28, Git v2.4.0-rc0 — merge), but this is only used by very early phase of the transfer, which is HTTPGET
request to discover references.
For other phases, likePOST
request in the smart HTTP, the server does not know what language the client speaks.Teach git client to learn end-users preferred language and throw
accept-language
header to the server side.
Once the server gets this header, it has the ability to talk to end-user with language they understand.
This would be very helpful for many non-English speakers.
Предисловие
Когда я впервые столкнулся с Git, я прочитал официальную книгу Pro Git, но так и не смог запомнить никаких командных строк во время фактической работы, поэтому я напрямую стал использовать Git-GUI. Но даже в использовании графического интерфейса у меня возникали сложности, так как он был на английском(((
Установочный пакет Git, загруженный с официального сайта, имеет только английский интерфейс и никаких других языков. Документы на русском языке, которые можно найти в Интернете, вероятно, более 10-летней давности.
Содержимое самого языкового файла представляет собой обычный текст, формат которого соответствует определенной спецификации, а инструменты также доступны в исходном коде. Специально для вас я собрал вручную все необходимые файлы для локализации, теперь вам надо разбираться в спецификациях и использовать специальные инструменты, достаточно просто загрузить приложенные файлы в нужный раздел каталога Git.
Локализация Git Bash
Русская локализация Git Bash очень проста. Вам нужно только щелкнуть правой кнопкой мыши на командную строку, выбрать Options/Window, а затем установить язык на русский.
Локализация Git GUI
Но вот графический интерфейс Git, не так легко установить на русском языке. Открыв настройки, все из которых являются английскими, и после долгого поиска я так не нашел соответствующие языковые настройки. Так как мне установить русский язык отображение в Git GUI?
Все очень просто! На самом деле, Git GUI не имеет опциональной языковой настройки. К счастью, некоторые пользователи интернета разработали соответствующий русский пакет. Нам нужно только загрузить и установить его.
Пример такого пакета можно скачать здесь.
После загрузки, поместите содержимое архива по следующему пути в gitmingw64share.
Внимание! В ходе установки Git не создается папка MSGS. Это нормально!
Когда вы открываете программное обеспечение, вы обнаружите, что программный интерфейс стал на русском)))
Локализация Gitk
Отлично! Мы перевели на русский Git Bash и Git GUI. Но открыв историю веток репозитория (Gitk) мы увидим что он все еще на английском(((
Так как же нам его перевести? Все аналогично Git GUI! Нам надо добавить в папку с Git нужные файлы для локализации Gitk.
Читай рецепт тут.
Корректное отображение русских букв в Git GUI и Gitk
Ну вот и все! Мы перевели английский Git на русский 🇷🇺
Но есть один нюанс… Что это за инопланетные иероглифы???
А это у нас не корректно отображается кодирвка! Выставь в настройках кодировку UTF-8 и все будет ОК!
УРА!!! Все готово!!!
GitHub search allows filtering repositories by language. How can I set a repository to a specific language?
asked Nov 28, 2012 at 4:34
1
You can also override certain files
$ cat .gitattributes
*.rb linguist-language=Java
Source
6
It is purely deduced from the code content.
As Pedro mentions:
Please note that we count the total bytes of each language’s file (we check the extension) to decide the percentages.
This means that if you see your project reported a JavaScript, but you swear you use Ruby, you probably have a JS lib somewhere that is bigger than your Ruby code
As detailed in «GitHub changes repository to the wrong language», you can add a .gitattributes
file in which you can:
-
ignore part of your project (not considered for language detection)
static/* linguist-vendored
-
consider part of your project as documentation:
docs/* linguist-documentation
-
indicate some files with specific extension (for instance
*.rb
) should be considered a specific language:*.rb linguist-language=Java
answered Nov 28, 2012 at 7:14
VonCVonC
1.2m508 gold badges4249 silver badges5070 bronze badges
2
You can also make some of the files vendor
-ed. Just create a .gitattributes
file in the main directory. If you want to exclude CSS from the language statistics write into the file something like this.
client/stylesheets/* linguist-vendored
This will hide all files in the client/stylesheets/
from the language statistics. In my case these are the .css files.
This solves your problem partly, because hides the most used language and choose the second one to be prime.
answered Apr 22, 2016 at 14:07
KasmetskiKasmetski
6876 silver badges10 bronze badges
0
A bit brute-force, but I used this .gitattributes file:
* linguist-vendored
*.js linguist-vendored=false
It says to ignore all files except .js, so JavaScript becomes the only possible language. My project, https://github.com/aim12340/jQuery-Before-Ready, was listed as HTML and this changed it to JavaScript.
answered Apr 20, 2017 at 13:19
EamonnMEamonnM
2,1211 gold badge12 silver badges18 bronze badges
As VonC mentioned in the comments, you can put your libraries under «vendors» or «thirdparty» and the files won’t be analysed by linguist, the tool GitHub uses to analyse the language in your code.
# Vendored dependencies
- third[-_]?party/
- 3rd[-_]?party/
- vendors?/
- extern(al)?/
Later, they added more folder names.
answered Feb 24, 2014 at 13:47
NicolasNicolas
1,12512 silver badges20 bronze badges
3
Create .gitattributes file in the root of your folder.
Suppose you want the language to be Java, just copy-paste
*.java linguist-detectable=true
*.js linguist-detectable=false
*.html linguist-detectable=false
*.xml linguist-detectable=false
in the .gitattributes file and push the file in the repository. Reload your GitHub page to see the language change.
For reference, use this GitHub repository.
insolor
4049 silver badges16 bronze badges
answered Aug 15, 2019 at 4:03
Saif SiddiquiSaif Siddiqui
7981 gold badge12 silver badges33 bronze badges
Rename the name of the code files in your repository with the extension added.
For example:
- change abc to abc.py for Python
- abc to abc.java for Java files
- abc to abc.html for HTML
answered Nov 13, 2016 at 12:53
1
GitHub search allows filtering repositories by language. How can I set a repository to a specific language?
asked Nov 28, 2012 at 4:34
1
You can also override certain files
$ cat .gitattributes
*.rb linguist-language=Java
Source
6
It is purely deduced from the code content.
As Pedro mentions:
Please note that we count the total bytes of each language’s file (we check the extension) to decide the percentages.
This means that if you see your project reported a JavaScript, but you swear you use Ruby, you probably have a JS lib somewhere that is bigger than your Ruby code
As detailed in «GitHub changes repository to the wrong language», you can add a .gitattributes
file in which you can:
-
ignore part of your project (not considered for language detection)
static/* linguist-vendored
-
consider part of your project as documentation:
docs/* linguist-documentation
-
indicate some files with specific extension (for instance
*.rb
) should be considered a specific language:*.rb linguist-language=Java
answered Nov 28, 2012 at 7:14
VonCVonC
1.2m508 gold badges4249 silver badges5070 bronze badges
2
You can also make some of the files vendor
-ed. Just create a .gitattributes
file in the main directory. If you want to exclude CSS from the language statistics write into the file something like this.
client/stylesheets/* linguist-vendored
This will hide all files in the client/stylesheets/
from the language statistics. In my case these are the .css files.
This solves your problem partly, because hides the most used language and choose the second one to be prime.
answered Apr 22, 2016 at 14:07
KasmetskiKasmetski
6876 silver badges10 bronze badges
0
A bit brute-force, but I used this .gitattributes file:
* linguist-vendored
*.js linguist-vendored=false
It says to ignore all files except .js, so JavaScript becomes the only possible language. My project, https://github.com/aim12340/jQuery-Before-Ready, was listed as HTML and this changed it to JavaScript.
answered Apr 20, 2017 at 13:19
EamonnMEamonnM
2,1211 gold badge12 silver badges18 bronze badges
As VonC mentioned in the comments, you can put your libraries under «vendors» or «thirdparty» and the files won’t be analysed by linguist, the tool GitHub uses to analyse the language in your code.
# Vendored dependencies
- third[-_]?party/
- 3rd[-_]?party/
- vendors?/
- extern(al)?/
Later, they added more folder names.
answered Feb 24, 2014 at 13:47
NicolasNicolas
1,12512 silver badges20 bronze badges
3
Create .gitattributes file in the root of your folder.
Suppose you want the language to be Java, just copy-paste
*.java linguist-detectable=true
*.js linguist-detectable=false
*.html linguist-detectable=false
*.xml linguist-detectable=false
in the .gitattributes file and push the file in the repository. Reload your GitHub page to see the language change.
For reference, use this GitHub repository.
insolor
4049 silver badges16 bronze badges
answered Aug 15, 2019 at 4:03
Saif SiddiquiSaif Siddiqui
7981 gold badge12 silver badges33 bronze badges
Rename the name of the code files in your repository with the extension added.
For example:
- change abc to abc.py for Python
- abc to abc.java for Java files
- abc to abc.html for HTML
answered Nov 13, 2016 at 12:53
1
Примечание: начиная с Git 2.3.1+ (Q1/Q2 2015), Git будет добавлять заголовок Accept-Language, если это возможно.
Видеть зафиксировать f18604b by Йи Ынджун (англ.eungjun-yi
)
Добавьте
Accept-Language
заголовок, который указывает предпочтительные языки пользователя, определенные$LANGUAGE
,$LC_ALL
,$LC_MESSAGES
и$LANG
.Это дает серверам git возможность отображать удаленные сообщения об ошибках на предпочитаемом пользователем языке.
У тебя есть локаль для git gui or другие графические интерфейсы, но не для командной строки, учитывая, что это был один из вопросов GitSurvey 2010
localization of command-line messages (i18n) 258 3.6%
Конечно, с 2010 г. po/README
описывает:
Прежде чем строки можно будет перевести, их сначала нужно пометить для перевода.
Git использует интерфейс интернационализации, обертывающий системный интерфейс.
gettext
библиотека, поэтому большинство советов в вашей документации по gettext (в системах GNUinfo gettext
в терминале) применяется.
На месте с гит 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
‘ с помощьюlocaledef
программа. Но проще и с тем же эффектом установитьLANG
переменная доes_ES.UTF-8
иLC_MESSAGES
переменная доsv_SE.UTF-8
; эти две локали уже предустановлены вместе с операционной системой.
LC_ALL
это переменная среды, которая переопределяет все это. Обычно он используется в сценариях, запускающих определенные программы. Например, настроить сценарии, сгенерированные GNU.autoconf
использованиеLC_ALL
чтобы убедиться, что тесты конфигурации не работают в зависимости от локали.Некоторые системы, к сожалению, устанавливают
LC_ALL
in/etc/profile
или в подобных файлах инициализации. Следовательно, как пользователь, вы должны отключить эту переменную, если хотите установитьLANG
и, возможно, некоторые другиеLC_xxx
переменные.
Добавьте эти строки в свои ~/.bashrc
, ~/.bash_profile
или ~/.zprofile
чтобы заставить 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
Чтобы изменить его, например, на немецкий, введите
LANG=de_DE.UTF-8
Добавление этой строки решило для меня проблему:
$ more ~/.bash_profile
export LANG=en_US
Примечание: начиная с Git 2.3.1+ (Q1 / Q2 2015), Git по возможности добавит заголовок Accept-Language.
См. Коммит f18604b от Yi EungJun ( eungjun-yi
)
Добавьте заголовок
Accept-Language
который указывает предпочтительные языки пользователя, определяемые$LANGUAGE
,$LC_ALL
,$LC_MESSAGES
и$LANG
.Это дает серверам git возможность отображать удаленные сообщения об ошибках на предпочитаемом пользователем языке.
У вас есть локаль для git gui или других графических интерфейсов ,но не для командной строки, учитывая, что это был один из вопросов GitSurvey 2010
localization of command-line messages (i18n) 258 3.6%
Конечно, с 2010 года, как описывает po/README
:
Прежде чем строки можно будет перевести, их сначала нужно пометить для перевода.
Git использует интерфейс интернационализации, который охватывает системную библиотеку
gettext
, поэтому применимы большинство советов из вашей документации gettext (в системах GNUinfo gettext
в терминале).
Используется с
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
» с помощью программыlocaledef
. Но это проще, и достигает тот же эффект, чтобы установитьLANG
переменныхes_ES.UTF-8
иLC_MESSAGES
переменныхsv_SE.UTF-8
; эти две локали поставляются с предустановленной операционной системой.
LC_ALL
— это переменная среды, которая отменяет все это. Обычно он используется в сценариях, запускающих определенные программы. Например, сценарии конфигурации, сгенерированные GNUautoconf
используютLC_ALL
чтобы убедиться, что тесты конфигурации не работают в зависимости от локали.Некоторые системы, к сожалению, устанавливают
LC_ALL
в/etc/profile
или в аналогичные файлы инициализации. Следовательно, вы, как пользователь, должны отключить эту переменную, если хотите установитьLANG
и, возможно, некоторые другие переменныеLC_xxx
.
Запустите LC_MESSAGES=C git
, а не LC_ALL = C или LANG = C, и не нужно удалять или переименовывать файлы.
Эта команда меняет вывод сообщений Git на английский.
GIT по умолчанию использует английский, если не может найти язык Locale.
Поэтому, если вы хотите, чтобы GIT был на английском языке, просто саботируйте языковой файл, с которым он работает. В моем случае он всегда работал с немецким языком (например,
Если я удалил его или переименовал, по умолчанию он стал английским.
Здесь я переименовал файл
Как предложил Бенгт: добавьте эти строки в свой ~/.bashrc
или ~/.bash_profile
чтобы заставить git отображать все сообщения на английском языке: vim ~/.bashrc
— для этого профиля (если вы пользователь ubuntu
и вы его редактируете, это будет только для этого пользователя); добавьте эти строки:
# Set Git language to English
#alias git='LANG=en_US git'
alias git='LANG=en_GB git'
#you can add also
LANG=en_GB
и после того, как вы закроете файл, вам нужно написать в оболочке:
source ~/.bashrc
чтобы перезагрузить новые настройки или выйти из терминала и снова подключиться
Вот мое решение для изменения языка git, ответьте на это и на это
1) nano ~/.bashrc
2) добавить в файл alias git='LANG=en_GB git'
2) сохраните файл
4) source ~/.bashrc
Теперь ваш git уже меняет язык. Однако, если после перезапуска терминала он больше не работает, вам необходимо
4.1) nano ~/.profile
4.2) добавить source ~/.bashrc
4.3) сохраните файл
он будет запускать source ~/.bashrc
всякий раз, когда вы открываете терминал
Надеюсь, это поможет