স্থানীয় ভাষা থেকে ইংরেজিতে কমান্ড আউটপুট ভাষা পরিবর্তন করুন


84

আমি কীভাবে কমান্ড আউটপুট ল্যাঙ্গুয়েজটি আমার স্থানীয় ভাষা থেকে ইংরেজিতে স্যুইচ করতে পারি, তাই আমি ইংরাজী কমান্ড আউটপুট (ত্রুটি বার্তা) সহ আমার জিজ্ঞাসা উবুন্টু প্রশ্নটি পোস্ট করতে পারি?


5
এটি কিছুটা বিভ্রান্তিকর। মানুষের এটি করা আসলে প্রয়োজন হয় না । (আপনি যদি ভাবেন যে আমাদের ওপিকে এইভাবে বোঝা চাপানো উচিত, দয়া করে কাউকে এটি করার নির্দেশ দেওয়ার আগে মেটাতে পোস্ট করুন) তারা এ জাতীয় পরিবর্তন করতে LANGপারে এবং এটি সাহায্য করতে পারে, তবে আমাদের অনুলিপিযুক্ত ত্রুটি বার্তাগুলি ইংরাজীতে থাকতে হবে না। ইংরেজিতে লেখক যা লিখেছেন তা আমাদের প্রয়োজন (যদিও আমরা সাধারণত প্রশ্নগুলি বন্ধ করার পরিবর্তে এটি অনুবাদ করি)। স্প্যানিশ টার্মিনাল পাঠ্য সহ ইংরেজিতে লেখা একটি প্রশ্ন ঠিক আছে, তবে ইংরেজি টার্মিনাল পাঠ্যের সাহায্যে স্প্যানিশ ভাষায় লেখা একটি প্রশ্ন নয়।
এলিয়াহ কাগন

4
@ এলিয়াকাগান হ্যাঁ, আপনি ঠিক বলেছেন, তবে যাইহোক আমি মনে করি এটি কার্যকর।
বুজজেড-ডিইই

2
আমি সম্মত হই, লোকেরা এটি করতে সক্ষম হওয়ায় এটি দরকারী এবং আপনি এই প্রশ্নটি পোস্ট করেছেন ভাল! যাইহোক, এটি গুরুত্বপূর্ণ ব্যক্তিরা জানেন যে তাদের এটি করার জন্য আমাদের প্রয়োজন হয় না (তবে তাদের যে প্রশ্ন এবং উত্তরগুলি নিজেরাই ইংরেজীতে লেখা উচিত তা দরকার)।
এলিয়াহ কাগন

8
@ এলিয়াহকাগান বিপরীতে, প্রকৃত ত্রুটি বার্তাগুলি পোস্ট করা অত্যন্ত গুরুত্বপূর্ণ এবং সেগুলি ইংরেজিতে পোস্ট করা ভাল because কারণ এই সাইটের প্রধান শ্রোতা তাদের চিনতে ও পরীক্ষা করতে পারে। (এবং কখনও কখনও পুনরায় অনুবাদিত ত্রুটি বার্তা পোস্ট করুন না Always সর্বদা কপি-পেস্ট করুন, কারণ সঠিক শব্দগঠন, বিরামচিহ্ন এমনকি স্পেসিংও উল্লেখযোগ্য হতে পারে))
গিলস

উত্তর:



13

টার্মিনাল জন্য বাশ ফাংশন

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তবে অনুরোধ করা লোকেলটি আসলে ইনস্টলড আছে কিনা তা নিশ্চিত করার জন্য আপনার সম্ভবত ব্যবহারকারী ইনপুটটি পরীক্ষা করা উচিত ।
বিটমাস্ক

@ বাজ-Dee: আপডেট উত্তর দেখার
এইচ-ডির্ক স্মিট

7

একটি টার্মিনাল খুলুন 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আরও ভাল?
বুজজেড-ডিইই

2
আসলে, এটা হওয়া উচিত LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 LANGUAGE=en_US.UTF-8 $SHELL
বিটমাস্ক

কেবলমাত্র এলসি_এলএল = সি বাশ আমার জন্য কাজ করে।
তরল পদার্থ

5

এটি লোকেল সেটিংসের মাধ্যমে কনফিগার করা হয়েছে , যা পরিবেশ পরিবর্তনশীলের মাধ্যমে সেট করা যেতে পারে। ভেরিয়েবলের চারটি স্তর রয়েছে; সেট করা প্রথমটি অগ্রাধিকার নেয়:

  • 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অনুমানযোগ্য আউটপুট পেতে সেট করে এবং তারপরে বিভ্রান্ত হয় কারণ তারা প্রত্যাশিত আউটপুট পাচ্ছে না।
গিলস

ঠিক আছে, উবুন্টু জিইউআইগুলি নিয়মিতভাবে ল্যাং এবং ভাষা উভয়ই সেট করে (এবং LC_MESSAGES LANG এর উত্তরাধিকারী), যা এই ধরণের বিভ্রান্তি রোধ করা উচিত। ভাষা নির্ধারণের কারণটি হ'ল ভাষা সাপোর্টের একটি অগ্রাধিকার তালিকা সেট করার জন্য একটি ইন্টারফেস রয়েছে।
গুনার হেজালমারসন

@ গুন্নারহাজালমারসন আমি জানি সেটিং LANGUAGE, একটি খারাপ ধারণা তা সত্ত্বেও কারণ সুবিধা খুব পাতলা যেহেতু বাগ বিরক্তিকর এবং খুঁজে পাওয়া কঠিন হতে পারে। আপনি ঠিক বলেছেন, আমার আনসেটিংয়ের কথা উল্লেখ করা উচিত LANGUAGE
গিলস

নকশাগুলির বিষয়ে বিতর্ক করার জন্য এখানে উত্তরগুলি যথাযথ জায়গা নয়। এই জাতীয় আলোচনা আরও ভালভাবে উদ্বোধন -ডভেল-আলোচনা অনুষ্ঠিত হয় । ব্যবহারকারীদের সহায়ক হতে, আমি সত্যিই মনে করি যে উত্তরটি বর্তমান ডিজাইনের উপর ভিত্তি করে হওয়া উচিত, আপনি ভাবেন এটি সর্বোত্তম কিনা। এবং দয়া করে মনে রাখবেন যে "কিছু সংস্করণ" হ'ল উবুন্টু ডেস্কটপ এবং ডেরিভেটিভসের সমস্ত সমর্থিত সংস্করণ, সম্ভবত কুবুন্টু বাদে।
গুনার হেজালমারসন


1

আপনার মধ্যে ~/.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=

প্রথমে আনসেট কেন?

এলসি_এলএল পৃথক এলসি_ * সেটিংসকে ওভাররাইড করে: যদি এলসি_এল সেট করা থাকে তবে নীচের কোনওটির কোনও প্রভাব নেই।

https://help.ubuntu.com/community/Locale


আমি জানি না কেন এই উত্তরটি হ্রাস পেয়েছে। হ্যাঁ এটি আরও কিছু ব্যাখ্যা ব্যবহার করতে পারে তবে স্বীকৃত উত্তরের বিপরীতে এটি কীভাবে স্থায়ী করা যায় এবং আরও সুনির্দিষ্ট তা দেখায়।
জেরাস

0
  1. বামদিকে গিয়ার আইকনে ক্লিক করুন (ইউনিটি প্যানেলে সিস্টেম সেটিংস)
  2. ভাষা সমর্থন ক্লিক করুন
  3. আঞ্চলিক ফর্ম্যাট নির্বাচন করুন
  4. আপনার "প্রদর্শনের নম্বর, তারিখ এবং মুদ্রার পরিমাণ ..." সেট করুন ইংরাজীতে।
  5. সেশনটি লগআউট করুন এবং আবার লগইন করুন (প্রয়োজনীয়!)

সম্পন্ন.

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