গিটের কমান্ড লাইন ইন্টারফেসের ভাষা কীভাবে একজন পরিবর্তন করতে পারে?


103

আমি অন্যান্য প্রোগ্রামের ভাষা পরিবর্তন না করে আমার লিনাক্স ইনস্টলেশনতে গিটের ভাষা (ইংরেজী ভাষায়) পরিবর্তন করতে চাই এবং সেটিংসটি খুঁজে পেলাম না। এটা কিভাবে করতে হবে?


1
আপনি লোকেল পরিবর্তন করতে খুঁজছেন। আমি মনে করি সুপারিশারের উপর আমি এই প্রশ্নটি পুনরায় পোস্ট করব।
জোসেফআসাদ 17'12

উত্তর:


145

আপনার এই লাইনগুলি যুক্ত করুন ~/.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পুনরায় চালু করার পরেও চেষ্টা করেছি । এলিয়াস কাজ। এটা ঠিক ভাষা পরিবর্তন হয় না।
ব্যবহারকারী 905686

.bashrcসফলভাবে সম্পাদিত হয়েছে তা যাচাই করতে আপনি echo "This is .bashrc"ফাইলের শেষের মতো একটি পরীক্ষা যুক্ত করতে পারেন । টার্মিনাল বা পুরো সিস্টেমটি পুনরায় আরম্ভ না করেও আপনি চাহিদা অনুযায়ী এটি সম্পাদন করতে পারেন . .bashrc। শেষ পর্যন্ত, আমি LC_ALLপরিবর্তে পরিবেশের পরিবর্তনশীল সেট করার চেষ্টা করার পরামর্শ দেব LANG, কারণ প্রথমটির নজির রয়েছে।
বেংট

আমার সব কিছু ঠিক আছে .bashrc। যদি LC_ALLঅগ্রাধিকার থাকে তবে এটিই সমস্যা হবে, এটি আমার ভাষাতে সেট করা আছে। তবে আমি সাধারণ ভাষার সেটিংটি পরিবর্তন করতে চাই না ... আমি কি কোনও প্রোগ্রামের জন্য ওভাররাইট করতে পারি না?
ব্যবহারকারী 905686

1
পার্শ্ব প্রতিক্রিয়া ছাড়াই আপনি প্রস্তাবিত পদ্ধতিটি ব্যবহার করে ভাষাটি সেট করতে পারেন, কারণ এই পরিবর্তনগুলি কেবলমাত্র যতক্ষণ না কমান্ডটি শেষ হতে পারে ততক্ষণ জীবন life দৌড়ে $ LC_ALL="en_US" manএবং তারপরে এটি ব্যবহার করে দেখুন$ man
বেনগেট

20

পরিবর্তে আপনি যদি ইংরেজিতে একটি কমান্ড রাখতে চান তবে আপনি কেবল কমান্ডের LC_ALL=Cআগে লিখতে পারেন , উদাহরণস্বরূপ:

LC_ALL=C git status

ফলাফল হবে

# On branch master
nothing to commit, working directory clean

হিসাবে ব্যবহৃত লোকেলটি Cইংরেজী এবং অতিরিক্ত ভাষা প্যাকগুলি ইনস্টল না করে সর্বদা উপলব্ধ
( https://askubuntu.com/a/142814/34298 দেখুন )

পুরো বর্তমান বাশ সেশনের জন্য এটি পরিবর্তন করতে কেবল প্রবেশ করুন

LANG=C

এটির জন্য উদাহরণস্বরূপ জার্মান প্রবেশ করান

LANG=de_DE.UTF-8

LC_ALL=Cপরামর্শ দেওয়ার জন্য ধন্যবাদ , যেহেতু আমার লোকাল নিয়ে কিছু সমস্যা রয়েছে, LC_ALL="en_US"সম্প্রতি আর কাজ হয়নি।
ব্যবহারকারী 905686

11

এই লাইনটি যুক্ত করা আমার সমস্যার সমাধান করেছে:

$ more ~/.bash_profile
export LANG=en_US

2
প্রশ্নটি কীভাবে কেবল গিটের জন্য ভাষা পরিবর্তন করতে হয় - আমি এটি আরও পরিষ্কার হওয়ার জন্য আপডেট করেছি।
ব্যবহারকারী 905686

6

দ্রষ্টব্য: গিট 2.3.1+ (Q1 / Q2 2015) থেকে, গিট সম্ভব হলে গ্রহণ-ভাষা শিরোনাম যুক্ত করবে। ইউজজুন দ্বারা প্রতিশ্রুতিবদ্ধ f18604b
দেখুন ( )eungjun-yi

একটি অ্যাড Accept-Languageহেডার যা ব্যবহারকারীর পছন্দের ভাষাগুলিকে দ্বারা সংজ্ঞায়িত ইঙ্গিত $LANGUAGE, $LC_ALL, $LC_MESSAGESএবং $LANG

এটি গিট সার্ভারগুলিকে ব্যবহারকারীর পছন্দের ভাষায় দূরবর্তী ত্রুটি বার্তা প্রদর্শন করার সুযোগ দেয়।


গিট গুই বা অন্যান্য জিইউআইয়ের জন্য আপনার কাছে স্থানীয় অবস্থান রয়েছে ,তবে কমান্ড-লাইনের পক্ষে নয়, বিবেচনা করা এটি গিটসুরভে 2010- এর অন্যতম প্রশ্ন ছিল

localization of command-line messages (i18n)    258     3.6%    

অবশ্যই, ২০১০ সাল থেকে, po/READMEবর্ণনা হিসাবে :

স্ট্রিংগুলি অনুবাদ করার আগে তাদের প্রথমে অনুবাদের জন্য চিহ্নিত করতে হবে।

গিট একটি আন্তর্জাতিকীকরণ ইন্টারফেস ব্যবহার করে যা সিস্টেমের gettextলাইব্রেরিটি আবৃত করে , তাই আপনার গেটেক্সট ডকুমেন্টেশনের বেশিরভাগ পরামর্শই ( info gettextটার্মিনালে জিএনইউ সিস্টেমে ) প্রয়োগ হয়।

গিট 1.7.9+ (জানুয়ারী ২০১২) থেকে স্থানটিতে :

গিট 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একটি পরিবেশের পরিবর্তনশীল যা এই সমস্তগুলিকে ওভাররাইড করে। এটি সাধারণত স্ক্রিপ্টগুলিতে ব্যবহৃত হয় যা নির্দিষ্ট প্রোগ্রামগুলি চালায়। উদাহরণস্বরূপ, কনফিগার গনুহ দ্বারা উত্পন্ন স্ক্রিপ্ট autoconfব্যবহার LC_ALLনিশ্চিত করুন যে কনফিগারেশন পরীক্ষা লোকেল নির্ভরশীল উপায়ে কাজ করে না করা।

কিছু সিস্টেম, দুর্ভাগ্যক্রমে, অনুরূপ সূচনা ফাইলগুলিতে বা সেট করা LC_ALLআছে /etc/profile। একজন ব্যবহারকারী হিসাবে, আপনাকে LANGঅন্য কিছু LC_xxxভেরিয়েবল সেট করতে এবং বিকল্পভাবে কিছু করতে চাইলে আপনাকে এই পরিবর্তনশীলটি আনসেট করতে হবে ।


তাহলে ট্রান্সলেশন কোথা থেকে আসে? আমি যে কারণে জিজ্ঞাসা করেছি তার কারণটি হ'ল আমার আগে এবং পরে আপডেটের পরে ইংরেজিতে আমার গিটারটি আমার ভাষায় পরিবর্তিত হয়েছিল, তবে আমি এটি পছন্দ করি না।
ব্যবহারকারী 905686

@ ব্যবহারকারী 905686 দুঃখিত, আমার ভুল। গিট গেটেক্সটেক্স সহ লোকেল সমর্থন করে। সুতরাং আপনার পরিবেশের ভেরিয়েবলগুলি পরীক্ষা করে দেখুন। আমি আমার সম্পাদিত উত্তরে যা যাচাই করতে হবে তা বিশদ।
ভোনসি

আমি যদি কেবল গিটের জন্য ভাষা পরিবর্তন করতে চাই তবে অন্যান্য প্রোগ্রামগুলির জন্য নয়? উদাহরণস্বরূপ, অনুবাদগুলির জন্য কিছু জিনিস ভাঙা হয় তাই আমি সর্বদা গিট পেতে চাই (কোন প্রোগ্রাম এটি কল করুক না কেন) ল্যাং = সি এবং আমার মাতৃভাষায় সমস্ত কিছু থাকতে পারে। কোন ধারনা?
ড্রাগগল

@ ড্রোগল যতক্ষণ আপনি LANGব্যাশ / শেল / ডস সেশনে সেট করেছেন যতক্ষণ আপনি ব্যবহার gitকরছেন (বা git-guiথেকে শুরু করছেন), কেবলমাত্র git(বা git-gui) সেই নির্দিষ্ট সেটিংস ব্যবহার করবে। অন্যান্য সমস্ত প্রোগ্রাম সিস্টেম / ব্যবহারকারী পরিবেশের ভেরিয়েবল থেকে উত্তরাধিকার সূত্রে প্রাপ্ত হবে।
ভোনসি

4

চালান LC_MESSAGES=C git, এলসি_এলএল = সি বা ল্যাং = সি নয় এবং ফাইল মুছতে বা পুনরায় নামকরণের প্রয়োজন নেই।

এই কমান্ডটি আউটপুট গিট বার্তাগুলিকে ইংরাজীতে পরিবর্তন করে।


2

জিআইটি যদি স্থানীয় ভাষা না খুঁজে পায় তবে ইংরেজিতে এটি ডিফল্ট থাকে।

সুতরাং আপনি যদি জিআইটি ইংরাজীতে থাকতে চান তবে যে ভাষা ফাইলটি চলছে তা কেবল নাশকতা করুন। আমার ক্ষেত্রে এটি সর্বদা জার্মানদের সাথে চলত (যেমন: ডি.এমএসজি )।

আমি যদি এটি মুছে ফেলে বা নামকরণ করে, তবে এটি ইংরেজিতে ডিফল্ট।

এখানে চিত্র বর্ণনা লিখুন

এখানে আমি ফাইলটির নামকরণ করেছি

এখানে চিত্র বর্ণনা লিখুন


উইন্ডোজ ২.x এর জন্য গিটের সাথে (bit৪ বিট) এটি হবে C:\Program Files\Git\mingw64\share\locale\$LANG\LC_MESSAGES\git.mo
Koraktor

এই পদ্ধতির সুবিধাটি হ'ল গিট আপডেট হওয়ার পরে অনুবাদটি ফিরে আসবে (এবং সম্ভবত উন্নত হয়েছে), তাই আপনি এটি ব্যবহার করতে চান বা এটি আবার মুছে ফেলতে চান কিনা তা আপনি আবার সিদ্ধান্ত নিতে পারেন।
ব্যবহারকারী 905686

আমি সোর্স কোডটি যাচাই করেছি, দেখে মনে হচ্ছে গিট ইংরেজি সমর্থন করে না: github.com/git-l10n/git-po/tree/master/po এমনকি আমি চাইনিজ এবং সুইডিশের আগে প্রথমে ইংরেজি ব্যবহার করতে চাই (en_GB: en: zh_HK: zh_CN: zh: sv_SE: sv), গিট এখনও আমার কাছে চীনা দেখায়।
মাইকেল সাঙ্গ

হোমব্রিউয়ের মাধ্যমে গিট সহ ম্যাক ওএসএক্স-এ আমি লোকালগুলি খুঁজে পেয়েছি /usr/local/Cellar/git/2.21.0/share/locale/
ম্যাগনাস ডাব্লু

0

বেঙ্গট যেমন পরামর্শ দিয়েছে: আপনার এই লাইনগুলি যুক্ত করুন ~/.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?
ব্যবহারকারী 905686

0

এখানে পরিবর্তন Git ভাষা ফলো আমার সমাধান উত্তর এই এবং এই

1) nano ~/.bashrc
2) alias git='LANG=en_GB git'ফাইলটি যুক্ত করুন
2) ফাইলটি সংরক্ষণ করুন
4)source ~/.bashrc

এখন আপনার গিট ইতিমধ্যে ভাষা পরিবর্তন করে। তবে, যদি আপনার পুনরায় চালু করার টার্মিনাল পরে এবং এটি আর কাজ করে না, আপনার প্রয়োজন to

4.1) nano ~/.profile
4.2) যোগ করুন source ~/.bashrc
4.3) ফাইলটি সংরক্ষণ করুন

source ~/.bashrcআপনি যখন টার্মিনালটি খুলবেন এটি চালানো হবে

আশা করি এটি সাহায্য করবে

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.