উত্তর:
ভাষার সেটিংস পরিবর্তন করার জন্য বেশ কয়েকটি পরিবেশগত ভেরিয়েবল উপলব্ধ। 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-8
LANGUAGE
es
LC_MESSSAGES
LANG
[১] লেকেনস্টেইনের উত্তরগুলি সেট না করে বা ওভাররাইড না করেও যে কারণে কাজ করে 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
। দেখুন কেন ল্যাং পরিবেশ পরিবর্তনশীলকে ওভাররাইড করা আমার জন্য ভাষা পরিবর্তন করছে না?