উত্তর:
ভাষার সেটিংস পরিবর্তন করার জন্য বেশ কয়েকটি পরিবেশগত ভেরিয়েবল উপলব্ধ। localeকমান্ডটি কার্যকর করে আপনি আপনার বর্তমান লোকাল সেটিংস দেখতে পারেন । সমস্ত স্থানীয় সেটিংস ইংরাজীতে পরিবর্তন করতে, ব্যবহার করুন LANG=C। Cঅতিরিক্ত লোকাল প্যাকগুলি ইনস্টল না করে এই লোকেলটি সর্বদা উপলব্ধ। (অস্থায়ীভাবে অ-ইংরাজী অবস্থানগুলিতে পরিবর্তন করতে, @ এমকেলেটমেন্টের পোস্ট দেখুন))
উদাহরণ:
ডিফল্ট ভাষা সেটিংস সহ একটি কমান্ড কার্যকর করা এবং বর্তমান লোকাল সেটিংস মুদ্রণ করুন:
$ /nonexistent
bash: /nonexistent: Bestand of map bestaat niet
$ locale
LANG=nl_NL.UTF-8
LANGUAGE=
LC_CTYPE="nl_NL.UTF-8"
LC_NUMERIC="nl_NL.UTF-8"
LC_TIME="nl_NL.UTF-8"
LC_COLLATE="nl_NL.UTF-8"
LC_MONETARY="nl_NL.UTF-8"
LC_MESSAGES="nl_NL.UTF-8"
LC_PAPER="nl_NL.UTF-8"
LC_NAME="nl_NL.UTF-8"
LC_ADDRESS="nl_NL.UTF-8"
LC_TELEPHONE="nl_NL.UTF-8"
LC_MEASUREMENT="nl_NL.UTF-8"
LC_IDENTIFICATION="nl_NL.UTF-8"
LC_ALL=
একটি প্রোগ্রামের জন্য অস্থায়ীভাবে ভাষা ওভাররাইড করে দেখান যে এটি সত্যই অস্থায়ী:
$ LANG=C ls /nonexistent
ls: cannot access /nonexistent: No such file or directory
$ ls /nonexistent
ls: kan geen toegang krijgen tot /nonexistent: Bestand of map bestaat niet
বর্তমান শেলটিতে সম্পাদিত সমস্ত কমান্ডের জন্য স্থানীয় অবস্থান পরিবর্তন করুন এবং আবার প্রমাণাদি অন্তর্ভুক্ত করুন:
$ LANG=C
$ ls /nonexistent
ls: cannot access /nonexistent: No such file or directory
$ locale
LANG=C
LANGUAGE=
LC_CTYPE="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_COLLATE="C"
LC_MONETARY="C"
LC_MESSAGES="C"
LC_PAPER="C"
LC_NAME="C"
LC_ADDRESS="C"
LC_TELEPHONE="C"
LC_MEASUREMENT="C"
LC_IDENTIFICATION="C"
LC_ALL=
LANGUAGEএকটি হল ব্যতিক্রম : GNU gettext এর ইনফো থেকে প্রাধান্য দেয় LANGUAGEমান ব্যতীত করেন (কার্যকর) LC_MESSAGESমান (সাধারণত মাধ্যমে পরোক্ষভাবে সেট LANGবা LC_ALL) হয় হয় Cঅথবা (তার সমার্থক) POSIX। এছাড়াও লক্ষ করুন যে LANGUAGEএই উত্তরে আনসেট হওয়ার মতো ঘটনা ঘটেছে, এটি ডিফল্ট হিসাবে সেট করা আছে এবং এটি সেট করা থাকলে একটি নির্দিষ্ট স্থানীয় ভাষার ("সি" / "পসিক্স" এর বিপরীতে) স্যুইচ করতে আপনাকে অবশ্যই এটিকে ওভাররাইড করতে হবে , যা আপনি কি খুঁজে পেয়েছেন।
LANGUAGEস্পষ্টভাবে সেট না করা বা ওভাররাইড না করা হলে অন্যান্য লোকেলের পক্ষে কাজ করবে না । প্রশ্নের জেনেরিক শিরোনাম দেওয়া, সম্ভবত লোকেরা এই উত্তরটি একটি অ-ইংরাজী ভাষাতেও স্যুইচ করতে চাইবে বলে মনে হয়, সুতরাং দয়া করে আপনার উত্তরে এই তথ্যটি যুক্ত করার বিষয়টি বিবেচনা করুন।
LANGUAGEকরতে পারেন :)
LANGUAGEআপনার নমুনা আউটপুটে মানটির পরিবর্তন করার পরামর্শ দিচ্ছি nl, যা আপনার লোকেল হলে আসল ডিফল্ট মান nl_NL.UTF-8।
Lekensteyn এর সহায়ক উত্তর কাজ করে মহান আপনি স্যুইচ করতে চান US English ব্যবহার চাহিদা, যেমন ওপি অনুরোধ করেছে, কিন্তু আপনি একটি স্যুইচ করতে চান বিভিন্ন চাহিদা ভাষা , আরো কাজ প্রয়োজন হয়।
শুরু করার আগে, আপনাকে অবশ্যই বার্তা সারণীগুলি ইনস্টল করতে হবে sudo apt-get install language-pack-<lang-tag>, যেখানে স্পেনীয়দের মতো <lang-tag>একটি সাধারণ আরটিএফ 5646 ভাষার সাবট্যাগ রয়েছেes ।
GNU gettext ভিত্তিক ইউটিলিটি নন-স্ট্যান্ডার্ড করার প্রাধান্য দিতে LANGUAGEএনভায়রনমেন্ট ভেরিয়েবল [1]
POSIX-সংজ্ঞায়িত লোকেল এনভায়রনমেন্ট ভেরিয়েবল উপর LC_ALL, LC_MESSAGESএবং LANG(যাতে)।
প্রদত্ত যে LANGUAGEডিফল্টরূপে উবুন্টু সিস্টেমে সেট করা হয় [2] , যথা একটি থেকে সাবস্ট্রিং এর LANGমান হয় একটি সহজ ভাষায় ট্যাগ প্রতিফলিত (যেমন, esস্পেনীয় জন্য) অথবা একটি ভাষা-অঞ্চল ট্যাগ (যেমন, de_DEজার্মান জার্মানি বৈকল্পিক জন্য) LANGUAGEকোনও ভিন্ন ভাষার বার্তাগুলি কার্যকর হওয়ার জন্য আপনাকে অবশ্যই আনসেট বা ওভাররাইড করতে হবে । [3]
LANGUAGEউদাহরণ : esঅ্যাড-হক স্প্যানিশ ( ) বার্তাগুলিতে স্যুইচ করুন :
$ LANGUAGE=es ls NoSuchFile
ls: no se puede acceder a NoSuchFile: No existe el archivo o el directorio
দ্রষ্টব্য : একটি সরল ভাষার ট্যাগ যেমন esযথেষ্ট, তবে আপনি একটি অঞ্চল সনাক্তকারী (উদাহরণস্বরূপ, es_ARআর্জেন্টিনার জন্য), এমনকি একটি চরসেট প্রত্যয় যুক্ত করতে পারেন (যেমন, es_AR.UTF-8)।
তবে, স্থানীয়ীকৃত বার্তাগুলি কেবলমাত্র ভাষা স্তরে উপস্থিত থাকতে পারে এবং ফলব্যাকটি সেই বার্তাগুলি ব্যবহার করে যা ভাষার অংশের সাথে মেলে ( esএই ক্ষেত্রে)।
LANGUAGEএবং সেট করুনLC_ALLএই বিকল্প সমাধান undefines LANGUAGE প্রথম, এবং তারপর POSIX লোকেল এনভায়রনমেন্ট ভেরিয়েবল ব্যবহার LC_ALLপরোক্ষভাবে সেট করতে LC_MESSAGES[4] :
$ LANGUAGE= LC_ALL=es_ES.UTF-8 ls NoSuchFile
ls: no se puede acceder a NoSuchFile: No existe el archivo o el directorio
এই সমাধানটিতে স্থানীয়করণের সমস্ত দিক নির্দিষ্ট লোকেলে (যেমন LC_TIMEতারিখ / সময় ফর্ম্যাটগুলির জন্য) সেট করার সুবিধা রয়েছে এবং ( স্পষ্টতই ) সেটিংস দ্বারা পছন্দসই ভাষার নন- জিএনইউ প্রোগ্রামগুলিকে LC_MESSAGESঅবহিত করে।
চার্সেট প্রত্যয় সহ সঠিক, পূর্ণ স্থানীয় নাম কীভাবে কার্যকর হওয়া LC_ALLদরকার তা নোট করুন ( ) বিপরীতে , যার জন্য একটি সহজ ভাষার ট্যাগ যথেষ্ট (যেমন ) থাকে। একই সেটিংস এবং প্রযোজ্য । একটি অবৈধ / অ-ইনস্টল করা লোকাল নাম উল্লেখ করা POSIX লোকালে এবং সুতরাং মার্কিন ইংরেজীতে ফ্যালব্যাকের কারণ হয়।es_ES.UTF-8LANGUAGEesLC_MESSSAGESLANG
[১] লেকেনস্টেইনের উত্তরগুলি সেট না করে বা ওভাররাইড না করেও যে কারণে কাজ করে LANGUAGEতা একটি ব্যতিক্রম : যদি (কার্যকর) LC_MESSAGESমানটি (সাধারণত পরোক্ষভাবে LANGবা এর মাধ্যমে নির্ধারিত LC_ALLহয়) হয় হয় Cবা (এর প্রতিশব্দ) POSIXহয় তবে মানটি সম্মানিত হয়, নির্বিশেষে এর মান নির্বিশেষে LANGUAGE, যদি কোন. বিপরীতভাবে, যদি (কার্যকর) LC_MESSAGESমানটি অন্য কোনও নির্দিষ্ট নির্দিষ্ট স্থানীয় হয় তবে LANGUAGEঅগ্রাধিকার নেয়।
[২] এটি উবুন্টুকে যথাযথভাবে প্রযোজ্য , তবে অন্যান্য স্বাদে অগত্যা নয় ; লেকেনস্টেইন বলেছেন যে কুবুন্টু সেট করেন নাLANGUAGE ।
তাত্ক্ষণিকভাবে, ডিফল্ট হিসাবে সেট করা LANGUAGEউচিত নয় , তার অনুপস্থিতিতে LC_MESSAGESমান দ্বারা আবদ্ধ LANGমান (যা বর্তমান লোকাল নির্ধারণ করে) সম্মানিত হয়।
[3] আপনি এই পদ্ধতিটি [মার্কিন] ইংলিশে স্যুইচ করার জন্য ব্যবহার করতে পারেন উভয়কে ( LANGUAGE=Cবা এর LANGUAGE=POSIXবিকল্প হিসাবে, LANG=C/ LANG=POSIX) বরাদ্দ দিয়ে , যদিও আমি অস্পষ্ট যে এটি সক্রিয়ভাবে স্বীকৃত বা কেবল একটি ফ্যালব্যাক প্রক্রিয়া, এই মানগুলি না দিয়ে একটি ভাষা ট্যাগ দিয়ে শুরু করবেন না ; সম্ভবত আরও ভাল পছন্দ হবে en_US।
[]] একটি প্রান্তের কেস রয়েছে যেখানে এই পদ্ধতির কাজ করে না: একটি পাথের সাথে এক্সিকিউটেবলকে অনুরোধ করার চেষ্টা করা - আপেক্ষিক বা পরম প্রকৃতির - নির্দিষ্ট ভাষায় স্যুইচ করে না, যেখানে কেবল ফাইলের নাম ব্যবহার করে:
LANGUAGE= LC_ALL=es_ES.UTF-8 /path/to/no_such_utilityকোনও বার্তা আউটপুট করে না বর্তমান লোকালে) রয়েছে, যেখানে
LANGUAGE= LC_ALL=es_ES.UTF-8 no_such_utility(স্প্যানিশ ত্রুটির বার্তা আউটপুট করে)।
কারও কারও কারও এবং যদি এর জন্য ভাল কারণ আছে কিনা তা জানা থাকে তবে আমাদের জানান।
LANGবাLANG_ALLআমার পক্ষে কাজ করছে না, তা এখনওLANGUAGE। দেখুন কেন ল্যাং পরিবেশ পরিবর্তনশীলকে ওভাররাইড করা আমার জন্য ভাষা পরিবর্তন করছে না?