Homebrew ve Git - Komut satırında yanlış dil var


43

Garip bir sorunum var - gitKomut Satırı Araçları paketiyle birlikte gelen komutu kullandığımda, komut satırındaki arabirim olmasını istediğim gibi İngilizce. Ancak, Homebrew kullanılarak kurulan sürüm çıktısında Almanca kullanıyor (Almanya'da yaşıyorum, ancak sistem dilim ABD İngilizcesine ayarlanmış ve bilgisayar aslında Singapur'da satın alınmıştı).

Bunun sadece son zamanlarda değiştiğine inanıyorum. Mac'imi onarım için vermek zorunda kaldım ve bunu bir Alman mağazasında yaptım. Artık bilgisayarımı geri aldığım için Git'in çıktısının Almanca olduğunu fark ettim, sistem ayarlarında bir şey yaptıklarından emin değillerdi. Bildiğim kadarıyla, bu, Almanca'yı dili olarak kullanan tek komut satırı uygulamasıdır. localeKomut tarafından üretilen çıktı :

LANG=
LC_COLLATE="C"
LC_CTYPE="UTF-8"
LC_MESSAGES="C"
LC_MONETARY="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_ALL=

Git'in benimle İngilizce konuşmasını istiyorum. Ben LANGvb. İngilizce'ye ayarlayabileceğimi biliyorum ve (muhtemelen) işe yarayacaktır, ancak bu değişikliğin nereden gelebileceğini de anlamak istiyorum.

Herhangi bir fikir?

EDIT : işleri daha ilginç hale getirmek için işten aldığım başka bir Mac kullanıyorum. Almanya'da satın alındı, ilk dil ayarları Almanca (ABD İngilizcesine değiştirdim) ve her şey iyi çalışıyor, yani Git kurulumları (CLT ve Homebrew) İngilizce kullanıyor. Komuttaki yerel bilgiler localeaynıdır.


Sanırım aynı sorunu yaşıyorum. MacOS Mojave 10.14 (18A389), Homebrew 1.7.6, git sürüm 2.19.0… üzerinde çalışıyor
Frank Lämmer

2
Bu sadece Mojave'ye geçtiğimde başıma geldi; şimdiye kadar iyi çalıştı. İngilizce, C yerel ayarlarındaki tüm OS X arabirimleri, ancak Almanca konuşulan bir ülkedeyim ve git benimle Almanca konuşuyor. Peki yapar kullanmak için hangi dili karar git?
alexis

Yanıtlar:


57

Son zamanlarda, özellikle git (ve MacOS Mojave'ye güncelledikten sonra) ile aynı davranışı gözlemlemeye başladım. İlk başta, git ile ilgili bir sorun olduğunu düşündüm. Yani, git, homebrew ile boşuna yeniden kurdum.

Ancak, MacOS "Ayarlar" daki "Dil ve Bölge" sekmesine gidip ihtiyacınız olmayan diğer dilleri listeden kaldırmak (not: bunlar klavye giriş kaynaklarından farklıdır) komut çıktı mesajlarının görüntülenmesine neden oldu istenen dilde terminalde (benim durumumda İngilizce).

Özellikle, bu sorun bana sadece macOS terminalinde oluştu (örneğin, VSCode terminalinde değil).


1
Henüz Mojave'de değilim, ama bu sorunumu düzeltti. Dediğiniz gibi, VSCode veya Idea terminali İngilizce, sadece iterm2 Almanca idi. Genellikle farklı dillerde yazdığım ve özel karakterlerine ihtiyaç duyduğum için Almanca da dahil olmak üzere birkaç giriş kaynağım var. Bir giriş kaynağı eklediğimde 'Dil ve Bölge' listesine de bir dil ekliyor, bu gerçekten gerekli değil ve soruna neden oluyor. Garip, İngilizce hala bu listenin başındaydı, ancak bir şekilde ikinci dil olan Almanca tarafından geçersiz kılındı. Hmm.
wujek

1
Mojave'ye güncelledikten sonra da benzer bir şey oldu. Terminal gitim İngilizce'ydi ama IntelliJ terminali üzerinden git İspanyolca'ydı (Language & Reigon'daki ikincil dilim). LANG ortam değişkenimi açıkça ayarladım ve bu düzeltti, çünkü Language & Reigon'da İspanyolca istiyorum
Sam

@wujek, Mojave'yi kullanmadığınız gerçeğinin, homebrew'daki en son git paketiyle ilgili bir sorun olabileceği olasılığını sağlar. Sistemimde, yalnızca iki değişiklik yapıldı, sonra sorunu fark ettim: Mojave'ye güncelleme ve git paketinin homebrew ile yükseltilmesi.
Anton K

2
Rusçada git'i görünce çok şaşırdım: D
Artem

3
Bir dili silmek bir çözüm değildir. LANG = en_US.UTF-8 ayarladım ve hala Fransızca.
Walker Rowe

10

Aynı sorunu yaşıyorum. Homebrew yükseltme git 2.17.0 -> 2.19.1 sonra, yeni git sürümünün LANG env değişkenine saygı duymaya başladığını görüyorum.

Eğer

LANG="en_US.UTF-8"

veya

LANG=

git İngilizce kullanacaktır.

Örneğin,

LANG="zh_CN.UTF-8"

Çince kullan.

Git'in taahhüt günlüklerini okumadım, ama bence amaçlandığı gibi çalışıyor. İngilizce olmayan git komut satırı çıktı mesajlarını görmek biraz garip hissetmek :)


aslında en_ENgeçerli bir yerel ayar değil. Geçerli yerel ayarlar mesela, yani, son 2 karakter olarak ülke kodları var, en_USve en_UKgeçerli yerel ayarlar vardır.
Walter Tross

Homebrew 2.1.6 git sürüm 2.21.0 ile bile benim için çalışmıyor
Nicolas Massart

@WalterTross Aslında en_UKgeçersiz, en_GB(İngiltere) doğru olanı. stackoverflow.com/a/7296292/9534591
ik1ne

Doğru, ve aslında çift kontrol ettikten sonra Timothy Siwula'nın cevabını doğru bir şekilde düzeltmiştim. Birinin her zaman İngiltere ile GB :-( BTW ile iki kez kontrol edilmesi gerekir, GB, İngiltere ve Kuzey İrlanda'dan oluşan İngiltere için ISO kodudur: en.wikipedia.org/wiki/ISO_3166-2: GB
Walter Tross

bu doğrulanmış cevap olmalıdır, dilleri ayarlardan kaldırmanın başka etkileri vardır.
tsnobip

4

Bunu .bash_profiledosyanıza ekleyin - PyCharm'ın macOS mojave'deki (10.14) terminal bileşeninde de benzer bir hata var.

# locale settings, string mac/chinese/pycharm/git bug
# https://coderwall.com/p/ehvc8w/set-lang-variable-in-osx-terminal-app
export LANG="en_GB.UTF-8"
export LC_COLLATE="en_GB.UTF-8"
export LC_CTYPE="en_GB.UTF-8"
export LC_MESSAGES="en_GB.UTF-8"
export LC_MONETARY="en_GB.UTF-8"
export LC_NUMERIC="en_GB.UTF-8"
export LC_TIME="en_GB.UTF-8"
export LC_ALL=

Bunu yaptıktan sonra, etkili olması için sisteminizi yeniden başlatmanız gerekir.

Kredi bu blog gönderisine gidiyor


3

Söyleyebileceğim kadarıyla , Git ile ilgili bir sorun değil , GNU gettext ile ilgili bir sorun.

Hata GNU gettext v0.20'de düzeltilmiş gibi görünüyor ; ancak, bu kayıttan sonra , Homebrew maalesef sadece v0.19.8.1 sağlar .


Sorunu şu şekilde çoğalttım:

$ sw_vers
ProductName:    Mac OS X
ProductVersion: 10.14.4
BuildVersion:   18E226
$ locale
LANG=
LC_COLLATE="C"
LC_CTYPE="UTF-8"
LC_MESSAGES="C"
LC_MONETARY="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_ALL=
$ defaults read -g AppleLanguages
(
    "en-JP",
    "ja-JP",
    "sv-JP"
)
$ brew info gettext
gettext: stable 0.19.8.1 (bottled) [keg-only]
GNU internationalization (i18n) and localization (l10n) library
https://www.gnu.org/software/gettext/
/usr/local/Cellar/gettext/0.19.8.1 (1,934 files, 17.0MB)
  Poured from bottle on 2016-06-24 at 02:05:52
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/gettext.rb
...
$ /usr/local/Cellar/gettext/0.19.8.1/bin/msgcat --version
msgcat (GNU gettext-tools) 0.19.8.1
Copyright (c) 2001-2016 Free Software Foundation, Inc.
Licens GPLv3+: GNU GPL version 3 eller senare <http://gnu.org/licenses/gpl.html>
Detta program "ar fri programvara.  Du kan modifiera och distribuera den.
Det finns inte NAGON SOM HELST GARANTI, till den grad som lagen tillater.
Skrivet av Bruno Haible.
$ sudo filebyproc.d
CPU     ID                    FUNCTION:NAME
...
  2    957              open_nocancel:entry msgcat /usr/local/Cellar/gettext/0.19.8.1/bin
  2    957              open_nocancel:entry msgcat /etc/localtime
  2    957              open_nocancel:entry msgcat /var/db/timezone/zoneinfo/posixrules
  2    957              open_nocancel:entry msgcat /usr/local/Cellar/gettext/0.19.8.1/share/locale/locale.alias
  2    171                       open:entry msgcat /usr/local/Cellar/gettext/0.19.8.1/share/locale/en_JP/LC_MESSAGES/gettext-tools.mo
  2    171                       open:entry msgcat /usr/local/Cellar/gettext/0.19.8.1/share/locale/en/LC_MESSAGES/gettext-tools.mo
  2    171                       open:entry msgcat /usr/local/Cellar/gettext/0.19.8.1/share/locale/ja_JP.eucJP/LC_MESSAGES/gettext-tools.mo
  2    171                       open:entry msgcat /usr/local/Cellar/gettext/0.19.8.1/share/locale/ja_JP.eucjp/LC_MESSAGES/gettext-tools.mo
  2    171                       open:entry msgcat /usr/local/Cellar/gettext/0.19.8.1/share/locale/ja_JP/LC_MESSAGES/gettext-tools.mo
  2    171                       open:entry msgcat /usr/local/Cellar/gettext/0.19.8.1/share/locale/ja.eucJP/LC_MESSAGES/gettext-tools.mo
  2    171                       open:entry msgcat /usr/local/Cellar/gettext/0.19.8.1/share/locale/ja.eucjp/LC_MESSAGES/gettext-tools.mo
  2    171                       open:entry msgcat /usr/local/Cellar/gettext/0.19.8.1/share/locale/ja/LC_MESSAGES/gettext-tools.mo
  3    171                       open:entry msgcat /usr/local/Cellar/gettext/0.19.8.1/share/locale/sv_JP/LC_MESSAGES/gettext-tools.mo
  3    171                       open:entry msgcat /usr/local/Cellar/gettext/0.19.8.1/share/locale/sv/LC_MESSAGES/gettext-tools.mo

brew info gettextyolundaki gettex ekleyerek nasıl düzeltme konularına dair Infos vermek gibi görünüyor, ama ben ... Bunu yapmak veya olmamalı eğer söylemek mümkün değilim
Nicolas Massart


0

Mojave ve Git 2.19 ile aynı sorunu yaşadım, ancak Git'i 2.21'e güncelledim ve tekrar beklendiği gibi çalıştı.


2
Git 2.21.0
Walter Tross ile
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.