मैं अपने लिनक्स इंस्टॉलेशन में git (अंग्रेजी में) की भाषा को अन्य कार्यक्रमों के लिए भाषा बदले बिना बदलना चाहता हूं और सेटिंग्स नहीं ढूंढ सका। यह कैसे करना है?
मैं अपने लिनक्स इंस्टॉलेशन में git (अंग्रेजी में) की भाषा को अन्य कार्यक्रमों के लिए भाषा बदले बिना बदलना चाहता हूं और सेटिंग्स नहीं ढूंढ सका। यह कैसे करना है?
जवाबों:
अंग्रेजी में सभी संदेशों को प्रदर्शित करने के लिए इन पंक्तियों को अपने में जोड़ें ~/.bashrc
या ~/.bash_profile
जोर-जबरदस्ती करें:
# Set Git language to English
#alias git='LANG=en_US git'
alias git='LANG=en_GB git'
LC_ALL
वातावरण चर LC_ALL
के सेट होने पर उपनाम को कुछ सिस्टम पर ओवरराइड करने की आवश्यकता होती है, जिसकी पूर्वता है LANG
। यूनिक्स की विशिष्टता देखें - आगे की व्याख्या के लिए पर्यावरण चर ।
# Set Git language to English
#alias git='LC_ALL=en_US git'
alias git='LC_ALL=en_GB git'
यदि आपने इन पंक्तियों को ~/.bashrc
उपनाम में जोड़ा है , तो एक नया इंटरेक्टिव शेल शुरू होने पर परिभाषित किया जाएगा। यदि आपने ~/.bash_profile
लॉग इन करते समय इसे उपनाम में जोड़ा है, तो इसे लागू किया जाएगा।
.bash.rc
इसके बजाय .bashrc
) में एक टाइपो था । आपको .bashrc
निष्पादित करने के लिए शेल को फिर से बंद करना और शुरू करना होगा। मैंने इस पर एक नोट जोड़ा, साथ ही।
.bashrc
फिर से शुरू करने के साथ भी कोशिश की । उपनाम काम करते हैं। यह सिर्फ भाषा नहीं बदलती है।
.bashrc
सफलतापूर्वक निष्पादित हो जाता है आप echo "This is .bashrc"
फ़ाइल के अंत की तरह एक परीक्षण जोड़ सकते हैं । तुम भी यह टर्मिनल या पूरे सिस्टम को पुनः आरंभ करने के बिना मांग पर निष्पादित किया जा सकता है . .bashrc
। अंत में, मैं LC_ALL
इसके बजाय पर्यावरण चर को निर्धारित करने का प्रयास करना चाहूंगा LANG
, क्योंकि पहले वाले में पूर्वता है।
.bashrc
, वास्तव में। यदि LC_ALL
पूर्वता है तो यह समस्या होगी, यह मेरी भाषा पर सेट है। लेकिन फिर मैं सामान्य भाषा सेटिंग को बदलना नहीं चाहता ... क्या मैं इसे एक कार्यक्रम के लिए अधिलेखित नहीं कर सकता हूं?
$ LC_ALL="en_US" man
तो और$ man
यदि आप केवल अंग्रेजी में एक कमांड रखना चाहते हैं तो इसके बजाय आप LC_ALL=C
कमांड से पहले लिख सकते हैं , उदाहरण के लिए:
LC_ALL=C git status
में परिणाम होगा
# On branch master
nothing to commit, working directory clean
स्थानीय भाषा के रूप में प्रयोग किया जाता C
है और हमेशा अतिरिक्त भाषा पैक स्थापित किए बिना उपलब्ध होता है
(देखें https://askubuntu.com/a/142814/52929 )
पूरे वर्तमान बैश सत्र के लिए इसे बदलने के लिए बस दर्ज करें
LANG=C
उदाहरण के लिए इसे बदलने के लिए जर्मन दर्ज करें
LANG=de_DE.UTF-8
LC_ALL=C
सुझाव के लिए धन्यवाद , क्योंकि मुझे LC_ALL="en_US"
हाल ही में कुछ काम नहीं करना है , इसलिए मुझे कुछ परेशानी हो रही है ।
इस पंक्ति को जोड़ने से मेरे लिए समस्या हल हो गई:
$ more ~/.bash_profile
export LANG=en_US
नोट: चूंकि Git 2.3.1+ (Q1 / Q2 2015), Git यदि संभव हो तो Accept-Language शीर्षक जोड़ देगा। यी युंगजुन द्वारा प्रतिबद्ध f18604b
देखें ( )eungjun-yi
एक जोड़े
Accept-Language
हैडर जो उपयोगकर्ता की पसंदीदा भाषा द्वारा परिभाषित इंगित करता है$LANGUAGE
,$LC_ALL
,$LC_MESSAGES
और$LANG
।इससे जीआईटी सर्वर को उपयोगकर्ता की पसंदीदा भाषा में दूरस्थ त्रुटि संदेश प्रदर्शित करने का मौका मिलता है।
आपके पास गिट gui या अन्य GUI के लिए स्थान है ,लेकिन कमांड-लाइन के लिए नहीं, यह विचार करते हुए कि यह GitSurvey 2010 के प्रश्नों में से एक था
localization of command-line messages (i18n) 258 3.6%
बेशक, 2010 के बाद से, के रूप में po/README
वर्णन:
अनुवाद किए जाने से पहले उन्हें पहले अनुवाद के लिए चिह्नित करना होगा।
Git एक अंतर्राष्ट्रीयकरण इंटरफ़ेस का उपयोग करता है जो सिस्टम की
gettext
लाइब्रेरी को लपेटता है , इसलिए आपके गेटटेक्स्ट डॉक्यूमेंटेशन में (info gettext
टर्मिनल में GNU सिस्टम पर ) अधिकांश सलाह लागू होती है।
जगह के बाद से git 1.7.9+ (जनवरी 2012):
gettext
यदि अनुवाद उपलब्ध हो और स्थान उचित रूप से सेट हो तो Git अपने सबसे सामान्य इंटरफ़ेस संदेशों को उपयोगकर्ता की भाषा में अनुवाद करने के लिए उपयोग करता है ।
वितरक नए अनुवाद जोड़ने के लिए नई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
एक पर्यावरण चर है जो इन सभी को ओवरराइड करता है। यह आमतौर पर स्क्रिप्ट में उपयोग किया जाता है जो विशेष कार्यक्रम चलाते हैं। उदाहरण के लिए, कॉन्फ़िगर जीएनयू द्वारा उत्पन्न स्क्रिप्टautoconf
उपयोगLC_ALL
सुनिश्चित करें कि विन्यास परीक्षण वातावरण निर्भर तरीकों से काम नहीं करते बनाने के लिए।कुछ प्रणालियों, दुर्भाग्य से, सेट
LC_ALL
में/etc/profile
या इसी तरह के प्रारंभ फाइलों में। एक उपयोगकर्ता के रूप में, आपको इस चर को अनसेट करना होगा यदि आप सेट करना चाहते हैंLANG
और वैकल्पिक रूप से कुछ अन्यLC_xxx
चर।
LANG
bash / shell / DOS सत्र में सेट करते हैं , तब तक आप git
(या से लॉन्च कर रहे हैं git-gui
), केवल git
(या git-gui
) उस विशिष्ट सेटिंग का उपयोग कर रहे होंगे। अन्य सभी कार्यक्रम सिस्टम / उपयोगकर्ता पर्यावरण चर से विरासत में मिलेंगे।
अगर यह लोकेल भाषा नहीं खोज सकता है तो जीआईटी अंग्रेजी में डिफॉल्ट करता है।
इसलिए यदि आप चाहते हैं कि जीआईटी अंग्रेजी में हो, तो बस उस भाषा फ़ाइल को तोड़फोड़ करें जिसके साथ वह चल रही है। मेरे मामले में यह हमेशा जर्मन (यानी: de.msg ) के साथ चल रहा था ।
यदि मैंने इसे हटा दिया है या इसका नाम बदल दिया है, तो यह अंग्रेज़ी में डिफ़ॉल्ट हो गया।
यहाँ मैंने फ़ाइल का नाम बदला
C:\Program Files\Git\mingw64\share\locale\$LANG\LC_MESSAGES\git.mo
।
/usr/local/Cellar/git/2.21.0/share/locale/
।
जैसा कि बेंगट ने सुझाव दिया: अंग्रेजी में सभी संदेशों को प्रदर्शित करने के लिए इन पंक्तियों को अपने में जोड़ें ~/.bashrc
या ~/.bash_profile
जोर लगाने के लिए मजबूर करें:
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
नई सेटिंग्स को फिर से लोड करने या टर्मिनल से बाहर निकलने और फिर से कनेक्ट करने के लिए :)
LANG=en_GB
में अतिरिक्त ~/.bashrc
है? क्या यह केवल स्थानीय चर को परिभाषित नहीं करता है LANG
?
यहाँ मेरा समाधान है 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
जब भी आप टर्मिनल खोलेंगे तो यह रन बनाएगा
आशा है कि यह मदद करेगा