Chciałbym zmienić język git (na angielski) w mojej instalacji Linuksa bez zmiany języka dla innych programów i nie mogłem znaleźć ustawień. Jak to zrobić?
Chciałbym zmienić język git (na angielski) w mojej instalacji Linuksa bez zmiany języka dla innych programów i nie mogłem znaleźć ustawień. Jak to zrobić?
Odpowiedzi:
Dodaj te linie do swojego ~/.bashrclub, ~/.bash_profileaby wymusić na git wyświetlanie wszystkich wiadomości w języku angielskim:
# Set Git language to English
#alias git='LANG=en_US git'
alias git='LANG=en_GB git'
Alias musi zostać zastąpiony LC_ALLw niektórych systemach, gdy LC_ALLustawiona jest zmienna środowiskowa , która ma pierwszeństwo przed LANG. Więcej informacji można znaleźć w specyfikacji UNIX - zmienne środowiskowe .
# Set Git language to English
#alias git='LC_ALL=en_US git'
alias git='LC_ALL=en_GB git'
Jeśli dodałeś te linie do ~/.bashrcaliasu, zostanie on zdefiniowany, gdy zostanie uruchomiona nowa interaktywna powłoka. W przypadku, gdy dodałeś go do ~/.bash_profilealiasu, zostanie zastosowany podczas logowania.
.bash.rczamiast .bashrc). Musisz także zamknąć i ponownie uruchomić powłokę, aby program .bashrczostał wykonany. Dodałem też uwagę na ten temat.
.bashrcnawet przy ponownym uruchomieniu. Aliasy działają. Po prostu język się nie zmienia.
.bashrczostanie wykonany pomyślnie, możesz dodać test taki jak echo "This is .bashrc"na końcu pliku. Możesz również zlecić wykonanie go na żądanie bez konieczności ponownego uruchamiania terminala lub całego systemu przez . .bashrc. Na koniec sugerowałbym próbę ustawienia LC_ALLzmiennej środowiskowej zamiast LANG, ponieważ pierwsza z nich ma pierwszeństwo.
.bashrc. Jeśli LC_ALLma pierwszeństwo, to będzie problem, jest ustawiony na mój język. Ale wtedy nie chcę zmieniać ogólnego ustawienia języka ... Czy nie mogę go nadpisać dla jednego programu?
$ LC_ALL="en_US" mana potem$ man
Jeśli chcesz mieć tylko jedno polecenie w języku angielskim, możesz po prostu napisać LC_ALL=Cprzed poleceniem, na przykład:
LC_ALL=C git status
spowoduje
# On branch master
nothing to commit, working directory clean
Ustawienia regionalne są używane w Cjęzyku angielskim i są zawsze dostępne bez instalowania dodatkowych pakietów językowych
(patrz https://askubuntu.com/a/142814/34298 )
Aby zmienić to dla całej bieżącej sesji basha, po prostu wprowadź
LANG=C
Aby zmienić go na przykład na niemiecki wpisz
LANG=de_DE.UTF-8
LC_ALL=Csugestię, ponieważ mam pewne problemy z lokalizacją, LC_ALL="en_US"ostatnio już nie działało.
Dodanie tej linii rozwiązało problem dla mnie:
$ more ~/.bash_profile
export LANG=en_US
Uwaga: od Git 2.3.1+ (Q1 / Q2 2015), Git doda nagłówek Accept-Language, jeśli to możliwe.
Zobacz commit f18604b autorstwa Yi EungJun ( eungjun-yi)
Dodać
Accept-Languagenagłówek, który wskazuje preferowane języki użytkownika określa$LANGUAGE,$LC_ALL,$LC_MESSAGESi$LANG.Daje to serwerom git szansę na wyświetlanie zdalnych komunikatów o błędach w preferowanym języku użytkownika.
Masz ustawienia regionalne dla git gui lub innych GUI ,ale nie dla wiersza poleceń, biorąc pod uwagę, że było to jedno z pytań GitSurvey 2010
localization of command-line messages (i18n) 258 3.6%
Oczywiście od 2010 roku, jak po/READMEopisuje:
Zanim będzie można przetłumaczyć łańcuchy, należy je najpierw zaznaczyć do tłumaczenia.
Git używa interfejsu internacjonalizacji, który otacza
gettextbibliotekę systemową , więc większość porad z twojej dokumentacji gettext (na temat systemów GNUinfo gettextw terminalu) ma zastosowanie.
Na miejscu od wersji 1.7.9+ (styczeń 2012):
Git używa
gettextdo tłumaczenia komunikatów z najczęściej używanych interfejsów na język użytkownika, jeśli tłumaczenia są dostępne, a ustawienia regionalne są odpowiednio ustawione .
Dystrybutorzy mogą dodawać nowePOpliki,po/aby dodawać nowe tłumaczenia.
Jeśli więc twoja aktualizacja zepsuła tłumaczenie, sprawdź, co gettextużywa:
Zobacz na przykład „ Zmienne środowiskowe ustawień regionalnych ”
Ustawienia regionalne składają się z kilku kategorii ustawień regionalnych, zobacz Aspekty. Gdy program wyszukuje wartości zależne od ustawień regionalnych, robi to zgodnie z następującymi zmiennymi środowiskowymi w kolejności priorytetów:
LANGUAGE
LC_ALL
LC_xxx, according to selected locale category: LC_CTYPE, LC_NUMERIC, LC_TIME, LC_COLLATE, LC_MONETARY, LC_MESSAGES, ...
LANG
Zmienne, których wartość jest ustawiona, ale jest pusta, są ignorowane w tym wyszukiwaniu.
LANGjest normalną zmienną środowiskową do określania ustawień regionalnych. Jako użytkownik zwykle ustawiasz tę zmienną (chyba że inne zmienne zostały już ustawione przez system, w/etc/profilelub podobnych plikach inicjalizacyjnych).
LC_CTYPE,LC_NUMERIC,LC_TIME,LC_COLLATE,LC_MONETARY,LC_MESSAGES, I tak dalej, są zmienne środowiskowe przeznaczone do zastąpieniaLANGi wpływając tylko jedną kategorię lokalizacji.
Na przykład załóżmy, że jesteś szwedzkim użytkownikiem w Hiszpanii i chcesz, aby Twoje programy obsługiwały liczby i daty zgodnie z hiszpańskimi konwencjami i tylko komunikaty powinny być w języku szwedzkim. Następnie możesz utworzyć ustawienie regionalne o nazwie „sv_ES” lub „sv_ES.UTF-8” za pomocąlocaledefprogramu. Ale jest prostsze i daje ten sam efekt, aby ustawićLANGzmienną na,es_ES.UTF-8aLC_MESSAGESzmienną nasv_SE.UTF-8; te dwie wersje językowe są już preinstalowane w systemie operacyjnym.
LC_ALLjest zmienną środowiskową, która zastępuje wszystkie z nich. Jest zwykle używany w skryptach uruchamiających określone programy. Na przykład, skrypty configure generowanych przez GNUautoconfużytkuLC_ALL, aby upewnić się, że testy konfiguracyjne nie działają w locale sposobów zależnych.Niektóre systemy, niestety, ustawione
LC_ALLw/etc/profilelub w podobnych plików inicjujących. Dlatego jako użytkownik musisz usunąć ustawienie tej zmiennej, jeśli chcesz ustawićLANGi opcjonalnie niektóre inneLC_xxxzmienne.
LANGsesję bash / shell / DOS, której używasz git(lub uruchamiasz git-guiz), tylko git(lub git-gui) będzie używać tego konkretnego ustawienia. Wszystkie inne programy będą dziedziczyć po zmiennych środowiskowych systemowych / użytkownika.
GIT domyślnie ustawia język angielski, jeśli nie może znaleźć języka lokalnego.
Więc jeśli chcesz, aby GIT był w języku angielskim, po prostu sabotuj plik językowy, z którym działa. W moim przypadku zawsze działał z językiem niemieckim (czyli: de.msg ).
Jeśli go usunąłem lub zmieniłem jego nazwę, domyślnie był ustawiony na angielski.

Tutaj zmieniłem nazwę pliku

C:\Program Files\Git\mingw64\share\locale\$LANG\LC_MESSAGES\git.mo.
/usr/local/Cellar/git/2.21.0/share/locale/.
Jak zasugerował Bengt: Dodaj te linie do swojego ~/.bashrclub ~/.bash_profileaby wymusić na gicie wyświetlanie wszystkich wiadomości w języku angielskim:
vim ~/.bashrc- dla tego profilu (jeśli jesteś użytkownikiem ubuntui edytujesz to będzie to tylko dla tego użytkownika); dodaj te linie:
# Set Git language to English
#alias git='LANG=en_US git'
alias git='LANG=en_GB git'
#you can add also
LANG=en_GB
i po zamknięciu pliku musisz napisać w powłoce:
source ~/.bashrc
aby przeładować nowe ustawienia lub wyjść z terminala i połączyć się ponownie :)
LANG=en_GBw ~/.bashrcrobić? Czy to nie tylko definiuje zmienną lokalną LANG?
Oto moje rozwiązanie, aby zmienić język git, wykonaj odpowiedź na to i to
1) nano ~/.bashrc
2) dodaj alias git='LANG=en_GB git'do pliku
2) zapisz plik
4)source ~/.bashrc
Teraz twój dupek już zmienił język. Jednak JEŚLI po ponownym uruchomieniu terminala i już nie działa, musisz
4.1) nano ~/.profile
4.2) dodaj source ~/.bashrc
4.3) zapisz plik
będzie source ~/.bashrcdziałać za każdym razem, gdy otworzysz terminal
Mam nadzieję, że to pomoże