Homebrew और Git - कमांड लाइन पर गलत भाषा


43

मेरे पास एक अजीब मुद्दा है - जब मैं gitकमांड लाइन टूल पैकेज के साथ आने वाली कमांड का उपयोग करता हूं , तो कमांड-लाइन पर इंटरफ़ेस अंग्रेजी में है, जैसा कि मैं चाहता हूं कि यह हो। हालांकि, होमब्रे का उपयोग करके इंस्टॉल किया गया संस्करण अपने आउटपुट में जर्मन का उपयोग करता है (मैं जर्मनी में रहता हूं, लेकिन मेरी प्रणाली की भाषा अमेरिकी अंग्रेजी पर सेट है और कंप्यूटर वास्तव में सिंगापुर में खरीदा गया था, अगर यह मायने रखता है)।

मेरा मानना ​​है कि यह हाल ही में बदला है। मुझे अपने मैक को मरम्मत के लिए देना था और ऐसा जर्मन स्टोर में किया। अब जब मेरे पास अपना कंप्यूटर वापस आ गया है तो मैंने देखा कि जीआईटी का उत्पादन जर्मन में है, सुनिश्चित नहीं है कि उन्होंने सिस्टम सेटिंग्स के लिए कुछ भी किया था जबकि उनके पास यह था। जहां तक ​​मुझे पता है, यह एकमात्र कमांड-लाइन एप्लिकेशन है जो जर्मन को अपनी भाषा के रूप में उपयोग करता है। यहाँ उत्पादन localeकमांड द्वारा उत्पन्न होता है :

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

मैं चाहूंगा कि Git मुझसे अंग्रेजी में बात करे। मुझे पता है कि मैं LANGअंग्रेजी को आदि सेट कर सकता हूं और यह (शायद) काम करेगा, लेकिन मैं यह भी समझना चाहूंगा कि यह बदलाव कहां से हो सकता है।

कोई विचार?

संपादित करें : चीजों को और अधिक दिलचस्प बनाने के लिए, मैं एक और मैक का उपयोग करता हूं जो मुझे काम से मिला है। इसे जर्मनी में खरीदा गया था, प्रारंभिक भाषा सेटिंग्स जर्मन थीं (जिसे मैंने यूएस इंग्लिश में बदल दिया था) और इस पर सब कुछ ठीक काम करता है, अर्थात गिट इंस्टॉलेशन (सीएलटी और होमब्रे) दोनों ही अंग्रेजी का उपयोग करते हैं। localeकमांड से स्थानीय जानकारी समान है।


मुझे लगता है कि मैं एक ही मुद्दा रहा हूँ। MacOS Mojave 10.14 (18A389) पर चल रहा है, Homebrew 1.7.6, git संस्करण 2.19.0…
फ्रैंक लेममर

2
यह सिर्फ मेरे साथ हुआ जब मैंने मोजावे में अपग्रेड किया; अब तक यह ठीक काम किया। सभी ओएस एक्स अंग्रेजी, सी लोकेल में इंटरफेस करते हैं, लेकिन मैं एक जर्मन भाषी देश में हूं और जर्मन में मुझसे बात कर रहा है। तो जीआईटी कैसे तय करता है कि किस भाषा का उपयोग करना है?
एलेक्सिस

जवाबों:


57

हाल ही में, मैंने समान व्यवहार का अवलोकन करना शुरू किया है, विशेष रूप से गिट के साथ (और मैकओएस मोजाव के अपडेट के बाद)। सबसे पहले, मैंने सोचा कि यह खुद ही एक मुद्दा है। तो, मैं कोई फायदा नहीं हुआ homebrew के साथ git पुनर्स्थापित किया है।

हालाँकि, MacOS "सेटिंग्स" में "भाषा और क्षेत्र" टैब पर जा रहे हैं, और अन्य भाषाओं को उस सूची से हटा रहे हैं, जिसकी आपको आवश्यकता नहीं है (ध्यान दें: ये कीबोर्ड इनपुट स्रोतों से अलग हैं) जिसके परिणामस्वरूप कमांड आउटपुट संदेश प्रदर्शित होते हैं वांछित भाषा में टर्मिनल में (मेरे मामले में, अंग्रेजी)।

विशेष रूप से, यह समस्या मुझे केवल macOS टर्मिनल (और, उदाहरण के लिए, VSCode के टर्मिनल) में हुई।


1
मैं अभी तक Mojave पर नहीं हूं, लेकिन इसने मेरा मुद्दा ठीक कर दिया है। और जैसा कि आप कहते हैं, VSCode या Idea टर्मिनल अंग्रेजी में था, बस iterm2 जर्मन में था। मेरे पास जर्मन सहित काफी कुछ इनपुट स्रोत हैं, जैसा कि मैं अक्सर विभिन्न भाषाओं में लिखता हूं और उनके विशेष पात्रों की आवश्यकता होती है। ऐसा लगता है (सिर्फ परीक्षण) जब मैं एक इनपुट स्रोत जोड़ता हूं तो यह एक भाषा को 'भाषा और क्षेत्र' सूची में भी जोड़ता है, जो वास्तव में आवश्यक नहीं है और इस मुद्दे का कारण बनता है। काफी अजीब, अंग्रेजी अभी भी उस सूची में शीर्ष पर थी लेकिन किसी तरह दूसरी भाषा, जर्मन द्वारा ओवरराइड की गई। हम्म।
वुजेक

1
मोजवे को अपडेट करने के बाद मेरे साथ भी ऐसा ही हुआ। मेरा टर्मिनल git अंग्रेजी में था लेकिन IntelliJ टर्मिनल के माध्यम से git स्पेनिश में था (भाषा और रेइगॉन में मेरी द्वितीयक भाषा)। मैंने स्पष्ट रूप से अपना LANG पर्यावरण चर निर्धारित किया है और इसे तय किया है, क्योंकि मैं भाषा और रेइगॉन में स्पैनिश चाहता हूं
सैम

@wujek तथ्य यह है कि आप Mojave का उपयोग नहीं कर रहे हैं, संभावना है कि यह अभी भी homebrew पर सबसे हाल ही में git पैकेज के साथ एक मुद्दा हो सकता है की अनुमति देता है। मेरे सिस्टम पर, केवल दो बदलाव किए गए हैं जिसके बाद मैंने इस मुद्दे पर ध्यान दिया है: Mojave को अपडेट करना और गीज़र के साथ git पैकेज का अपग्रेड करना।
एंटोन के।

2
मुझे रूसी में git देखकर बहुत आश्चर्य हुआ: D
Artem

3
भाषा हटाना कोई हल नहीं है। मैंने LANG = en_US.UTF-8 सेट किया और यह अभी भी फ्रेंच में है।
वॉकर रोवे

10

मैं एक ही मुद्दा रहा हूँ। होमब्रेव अपग्रेड git 2.17.0 -> 2.19.1 के बाद, मुझे पता चला है कि नया git वर्जन LANG env वैरिएबल का सम्मान करना शुरू करता है।

अगर

LANG="en_US.UTF-8"

या

LANG=

git अंग्रेजी का उपयोग करेगा।

यदि, जैसे,

LANG="zh_CN.UTF-8"

चीनी का उपयोग करें।

मैंने git के कमिट लॉग नहीं पढ़े हैं, लेकिन मुझे लगता है कि यह इरादा के अनुसार काम कर रहा है। बस गैर-अंग्रेजी git कमांड लाइन आउटपुट संदेश देखने के लिए थोड़ा अजीब लग रहा है :)


वास्तव en_ENमें एक वैध स्थान नहीं है। वैध स्थानों में अंतिम 2 वर्णों के रूप में देश कोड होते हैं, इसलिए, उदाहरण के लिए, en_USऔर en_UKमान्य स्थान हैं।
वाल्टर ट्रॉस

काम नहीं मेरे लिए homebrew 2.1.6 से भी Git संस्करण 2.21.0 के साथ करता है
निकोलस Massart

@AlterTross वास्तव en_UKमें अमान्य भी है, en_GB(ग्रेट ब्रिटेन) सही है। stackoverflow.com/a/7296292/9534591
ik1ne

सही, और वास्तव में मैंने पहले ही टिमोथी सिवुला द्वारा उत्तर को सही ढंग से तय कर लिया था, डबल-चेकिंग के बाद। हमेशा यूके बनाम जीबी के साथ डबल-चेक करना पड़ता है :(। BTW, यह पागल है कि जीबी यूके के लिए आईएसओ कोड है, जिसमें ग्रेट ब्रिटेन और उत्तरी आयरलैंड शामिल हैं: en.wikipedia.org/wiki/ISO_3166-2: GB
वाल्टर ट्रॉस

यह मान्य उत्तर होना चाहिए, सेटिंग्स से भाषाओं को हटाने के अन्य प्रभाव हैं।
tsnobip

4

इसे अपनी .bash_profileफ़ाइल में जोड़ें - MacOS mojave (10.14) पर PyCharm के टर्मिनल कंपोनेंट के साथ एक समान बग है।

# 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=

ऐसा करने के बाद, आपको प्रभावी होने के लिए अपने सिस्टम को पुनरारंभ करना होगा।

इस ब्लॉग पोस्ट का श्रेय जाता है


3

मैं जो बता सकता हूं, वह जीआईटी के साथ समस्या के बजाय जीएनयू गेटटेक्स्ट की समस्या है।

ऐसा लगता है कि बग को GNU गेटटेक्स्ट v0.20 में तय किया गया था ; लेकिन, इस पोस्टिंग के रूप में, Homebrew दुर्भाग्य से केवल v0.19.8.1 प्रदान करता है


मैंने समस्या का पुन: हल किया:

$ 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 gettextरास्ते में gettex जोड़कर बारे में समस्याओं को ठीक करने के लिए कैसे infos दे रहा है, लेकिन मैं अगर मैं इस या क्या करना चाहिए नहीं ... बता नहीं पा रहा हूँ
निकोलस Massart


0

मैं Mojave और Git 2.19 के साथ एक ही मुद्दा था, लेकिन मैंने अभी Git को 2.21 में अपडेट किया और यह फिर से अपेक्षित था।


2
मैं के साथ समस्या हो रही है git 2.21.0
Walter Tross
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.