আমি কীভাবে কমান্ড আউটপুট ল্যাঙ্গুয়েজটি আমার স্থানীয় ভাষা থেকে ইংরেজিতে স্যুইচ করতে পারি, তাই আমি ইংরাজী কমান্ড আউটপুট (ত্রুটি বার্তা) সহ আমার জিজ্ঞাসা উবুন্টু প্রশ্নটি পোস্ট করতে পারি?
আমি কীভাবে কমান্ড আউটপুট ল্যাঙ্গুয়েজটি আমার স্থানীয় ভাষা থেকে ইংরেজিতে স্যুইচ করতে পারি, তাই আমি ইংরাজী কমান্ড আউটপুট (ত্রুটি বার্তা) সহ আমার জিজ্ঞাসা উবুন্টু প্রশ্নটি পোস্ট করতে পারি?
উত্তর:
export LC_ALL=C
যথেষ্ট। পরবর্তী সমস্ত কমান্ড আউটপুট ইংরেজি হবে।
আরও তথ্য: "এলসি_এলএল = সি" কী করে?
আপনি যদি স্থানীয় ভাষায় ফিরে যেতে চান তবে LC_ALL
ভেরিয়েবলটি আনসেট করুন :
unset LC_ALL
DE এবং EN লোকেলের মধ্যে স্যুইচ করার জন্য আমার বাশ ফাংশনটি এখানে।
আপনি আপনার পছন্দসই ভাষাগুলি সহ এই কোডটি প্রসারিত করতে পারেন। এটি ব্যবহার করতে, এটি আপনার ~/.bashrc
(বা ~/.bash_profile
) -
_configure_locale EN
ইংরাজীতে স্যুইচ করার জন্য এটি কল করুন ।
function _configure_locale() { # [profile]
local profile=${1:-EN}
case ${profile} in
DE|DE_DE|de_DE)
LC_ALL="de_DE.UTF-8"
LANG="de_DE.UTF-8"
LANGUAGE="de_DE:de:en_US:en"
;;
EN|EN_US|en|en_US)
LC_ALL="en_US.UTF-8"
LANG="en_US.UTF-8"
LANGUAGE="en_US:en"
;;
*)
echo "ALERT" "${FUNCNAME}: unknown profile '${profile}'"
;;
esac
LC_PAPER="de_DE.UTF-8"; # independent from locale
LESSCHARSET="utf-8"; # independent from locale
MM_CHARSET="utf-8" # independent from locale
echo "locale settings" "${LANG}";
export LC_ALL LANG LANGUAGE LC_PAPER LESSCHARSET MM_CHARSET
}
সাধারণভাবে আমি সব 3 এনভায়রনমেন্ট ভেরিয়েবল পরিবর্তন করতে সুপারিশ LC_ALL
, LANG
, LANGUAGE
কিছু প্রোগ্রাম misbehaviours এড়ানো।
কোডটি আপনার মাতৃভাষায় প্রসারিত করা বেশ সহজ। আপনি নিম্নলিখিত কমান্ডটি ব্যবহার করে প্রয়োজনীয় মানগুলি সন্ধান করতে পারেন
env |egrep -e 'LC_ALL|LANG'
case
এবং <lang>_<country>
বিন্যাসের সাথে সামঞ্জস্য করতে ইনপুটটি নির্দিষ্ট করে সহজেই এটিকে মানিয়ে নিতে পারেন । তারপরে আপনি কেবল ইউটিএফ -8 ধরে ধরে এটি পেরিয়ে যেতে পারেন। আপনি যদি সত্যিই পরিপাটি সমাধানের জন্য আগ্রহী হন locale -a
তবে অনুরোধ করা লোকেলটি আসলে ইনস্টলড আছে কিনা তা নিশ্চিত করার জন্য আপনার সম্ভবত ব্যবহারকারী ইনপুটটি পরীক্ষা করা উচিত ।
একটি টার্মিনাল খুলুন Ctrl+ + Alt+ + Tএবং টাইপ:
LANG=en_US.UTF-8 bash
বা :
LC_ALL=C bash
এখন টার্মিনাল আউটপুট ইংরেজি ভাষায়। আপনি এটি দিয়ে পরীক্ষা করতে পারেন locale
।
স্থায়ীভাবেalias
এটি করার জন্য একটি আদেশ করা সম্ভব । .bashrc
আপনার পছন্দসই সম্পাদক দিয়ে ফাইলটি খুলুন এবং নীচের কোডটি সেখানে রাখুন:
alias basheng='LANG=en_US.UTF-8 bash'
বা :
alias basheng='LC_ALL=C bash'
বাশ শেলটি পুনরায় চালু করুন। এখন আপনার কমান্ড আছে basheng
। ইংরাজির বাশ শেলটি পেতে এটি টাইপ করুন। ইংরেজি শেল টাইপ ছেড়ে exit
।
উৎস:
LANG
হয় না সব আউটপুট সুযোগ করার জন্য যথেষ্ট।
LANG=en_US.UTF-8 && LC_ALL=en_US.UTF-8 && LANGUAGE=en_US.UTF-8 bash
আরও ভাল?
LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 LANGUAGE=en_US.UTF-8 $SHELL
।
এটি লোকেল সেটিংসের মাধ্যমে কনফিগার করা হয়েছে , যা পরিবেশ পরিবর্তনশীলের মাধ্যমে সেট করা যেতে পারে। ভেরিয়েবলের চারটি স্তর রয়েছে; সেট করা প্রথমটি অগ্রাধিকার নেয়:
LANGUAGE
- এটি ব্যবহার করবেন না, এটি খুব কমই কার্যকর এবং এটি বাগের কারণ হতে পারে। দুর্ভাগ্যক্রমে, উবুন্টুর কয়েকটি সংস্করণ এটি সেট করেছে, যাতে আপনার এটি আনসেট করার প্রয়োজন হতে পারে।LC_ALL
- বিভাগ-নির্দিষ্ট সেটিংসকে ওভাররাইড করে যার অর্থ প্রাথমিকভাবে ডিফল্ট লোকালে চালানো প্রোগ্রামগুলি দ্বারা ব্যবহৃত হয়। বিশ্বব্যাপী সেটিংস হিসাবে ব্যবহার করার উদ্দেশ্যে নয়।LC_
: LC_CTYPE
, LC_MESSAGES
, LC_TIME
, ...।LANG
- বিশ্বব্যাপী ব্যবহারকারীর সেটিংসে ব্যবহৃত হওয়া বোঝাতে সমস্ত বিভাগের জন্য ডিফল্ট লোকেল সেট করে।"সমতল" লোকেল, সমস্ত বার্তা অপরিকল্পিত, ডিফল্ট সময় এবং নম্বর ফর্ম্যাট, অক্ষর সেট হিসাবে ASCII ইত্যাদি বলা হয় C
। এই লোকেল প্রতিটি সিস্টেমে উপস্থিত রয়েছে।
সুতরাং, ইংরেজীতে বার্তা সহ একটি প্রোগ্রাম চালাতে, চালান
unset LANGUAGE; LC_MESSAGES=C myprogram --option
অথবা
unset LANGUAGE
export LC_MESSAGES=C
myprogram --option
myotherprogram
সমস্ত স্থানীয়করণ বন্ধ করে একটি প্রোগ্রাম চালাতে, চালান
env -u LANGUAGE LC_ALL=C myprogram --option
তবে সাবধান থাকুন যে এটি ASCII তে অক্ষর এনকোডিংটি স্যুইচ করে (তাই কোনও ইউনিকোড, ল্যাটিন -1 ইত্যাদি নয়)।
দেখুন আমার লোকেলটি আমি কী সেট করব এবং এর কী কী প্রভাব রয়েছে? লোকেলগুলির আরও বিশদ বিবরণ জন্য।
LANGUAGE
হ'ল এটি অগ্রাধিকার গ্রহণ করে LC_ALL
যা প্রোগ্রামগুলি LC_ALL
অনুমানযোগ্য আউটপুট পেতে সেট করে এবং তারপরে বিভ্রান্ত হয় কারণ তারা প্রত্যাশিত আউটপুট পাচ্ছে না।
LANGUAGE
, একটি খারাপ ধারণা তা সত্ত্বেও কারণ সুবিধা খুব পাতলা যেহেতু বাগ বিরক্তিকর এবং খুঁজে পাওয়া কঠিন হতে পারে। আপনি ঠিক বলেছেন, আমার আনসেটিংয়ের কথা উল্লেখ করা উচিত LANGUAGE
।
সবচেয়ে সহজ উপায় হল Alt + F2 টিপুন এবং এই কমান্ডটি চালিয়ে টার্মিনালটি খোলার :
env LANGUAGE=en gnome-terminal
আপনার মধ্যে ~/.bashrc
unset LC_ALL
export LC_MESSAGES=C
তারপর
source ~/.bashrc
এটি পরীক্ষা করে দেখুন
$ locale
LANG=pl_PL.utf8
LANGUAGE=
LC_CTYPE="pl_PL.utf8"
LC_NUMERIC="pl_PL.utf8"
LC_TIME="pl_PL.utf8"
LC_COLLATE="pl_PL.utf8"
LC_MONETARY="pl_PL.utf8"
LC_MESSAGES=C
LC_PAPER="pl_PL.utf8"
LC_NAME="pl_PL.utf8"
LC_ADDRESS="pl_PL.utf8"
LC_TELEPHONE="pl_PL.utf8"
LC_MEASUREMENT="pl_PL.utf8"
LC_IDENTIFICATION="pl_PL.utf8"
LC_ALL=
প্রথমে আনসেট কেন?
এলসি_এলএল পৃথক এলসি_ * সেটিংসকে ওভাররাইড করে: যদি এলসি_এল সেট করা থাকে তবে নীচের কোনওটির কোনও প্রভাব নেই।
LANG
পারে এবং এটি সাহায্য করতে পারে, তবে আমাদের অনুলিপিযুক্ত ত্রুটি বার্তাগুলি ইংরাজীতে থাকতে হবে না। ইংরেজিতে লেখক যা লিখেছেন তা আমাদের প্রয়োজন (যদিও আমরা সাধারণত প্রশ্নগুলি বন্ধ করার পরিবর্তে এটি অনুবাদ করি)। স্প্যানিশ টার্মিনাল পাঠ্য সহ ইংরেজিতে লেখা একটি প্রশ্ন ঠিক আছে, তবে ইংরেজি টার্মিনাল পাঠ্যের সাহায্যে স্প্যানিশ ভাষায় লেখা একটি প্রশ্ন নয়।