এই উত্তরটি প্রদর্শিত হবে যে কীভাবে কোনও লোকেল সম্পূর্ণরূপে কাস্টমাইজ করা যায়, বিকল্প হিসাবে বিদ্যমান লোকেলকে বেস হিসাবে ব্যবহার করে। এই উত্তরটিতে যে ধরণের লোকেল ব্যবহৃত হবে তা হ'ল i18n
; এই জাতীয় প্রকারের উত্তরটির শৃঙ্খলে "লোকাল" শব্দের প্রতিটি উল্লেখেই অন্তর্ভুক্ত থাকবে।
একটি গাইড সন্ধান করুন
আপনাকে প্রথমে কোনও লোকেল কাস্টমাইজ করতে হবে, তা হল লোকেলের ফর্ম্যাটটি জানা। এই ওয়েব লোকেল এডিটরটির লোকালটিতে প্রতিটি ক্ষেত্রের বিস্তৃত বিবরণ রয়েছে, যদিও ডান-উপায়ে কেবল কারও দ্বারা ব্যবহারযোগ্য না হওয়া সত্ত্বেও। এটি ব্যবহারের গাইড হবে।
সরঞ্জাম প্রয়োজন
লোকেলগুলির সাথে কাজ করার জন্য আপনার কেবলমাত্র সরঞ্জামগুলি হ'ল
- একটি পাঠ্য সম্পাদক। যে কোনও কাজ করবে, যদিও ভিআইএম এক্সেল করবে।
- একটি পাঠ্য-থেকে-ইউনিকোড রূপান্তরকারী। এটি সর্বাধিক প্রত্যাশিত হবে যে আপনার একটি নেই, তাই আমি আপনাকে একটি সহজ সরবরাহ করব। এটি পেতে পরবর্তী উপচ্ছেদ পড়ুন।
আমি আপনাকে একটি ডিরেক্টরি তৈরি করার পরামর্শ দিচ্ছি এবং লোকালটিতে আপনি যে কাজটি করবেন তার সাথে সম্পর্কিত সমস্ত কিছু সংরক্ষণ করুন।
পাঠ্য-থেকে-ইউনিকোড রূপান্তরকারী (এনকোডাস্টার)
দ্রষ্টব্য: আপনি যদি অ-সাধারণ অক্ষরগুলি ব্যবহার করেন তবে আমার নীচে লেখা স্ক্রিপ্টটিতে আপনার সমস্যা হতে পারে; আপনি নাস দ্বারা সংযুক্ত বিকল্প স্ক্রিপ্টগুলি একবার দেখে নিতে পারেন ।
নিম্নলিখিত কোডটি একটি ফাইলে সংরক্ষণ করুন। এই ফাইলটি অজগর স্ক্রিপ্ট হিসাবে আপনার সিস্টেম দ্বারা চিহ্নিত করা হবে, যা ঠিক আছে কারণ এটি এক। এই গাইডটি আপনাকে ধরে নিয়েছে স্ক্রিপ্ট বলে encodestr
।
#!/usr/bin/python
def encode(string):
newstring = str()
for ch in string:
newstring += "<U%04X>" % ord(ch)
return newstring
if __name__ == '__main__':
import sys
print encode(sys.argv[1])
আপনি এটি সংরক্ষণ করার পরে, ফাইল কার্যকর করার অনুমতি দিন - এটি কার্যকর হবে। আপনি যে নটিলাস ব্যবহার করে, অথবা ডাইরেক্টরি যার মাধ্যমে আপনি স্ক্রিপ্ট সংরক্ষিত, একটি টার্মিনাল নিম্নলিখিত কমান্ড থেকে চলমান দ্বারা করতে পারেন: chmod +x encodestr
।
এখন আপনি একই ডিরেক্টরির চলমান দ্বারা এই স্ক্রিপ্টের পরীক্ষা করতে পারেন: ./encodestr hello
। আপনার সমান আউটপুট পাওয়া উচিত <U0068><U0065><U006C><U006C><U006F>
।
একটি বিদ্যমান লোকেল পরিবর্তন করুন
একটি বিদ্যমান লোকেল পরিবর্তন করা সবচেয়ে সহজ কেস, আদর্শ হিসাবে আপনি এমন একটি লোকেল বেছে নেবেন যা আপনার প্রয়োজনের সাথে পুরোপুরি ফিট করে, এক্ষেত্রে আপনাকে কেবলমাত্র ছোট পরিবর্তন করতে হবে mod এটি উপস্থাপনের জন্য, আপনি কোন বিভাগটি পরিবর্তন করতে চান সেগুলি এবং আপনি কীভাবে সেগুলি পরিবর্তন করতে পারেন তা জানতে গাইড ব্যবহার করতে পারেন। সমস্ত ইনস্টল থাকা লোকেলগুলি অন্তর্ভুক্ত থাকে /usr/share/i18n/locales
তবে গাইডে প্রতিটি লোকেল তৈরির পরিমাণটি রয়েছে।
যাইহোক, আপনি যখন কোনও লোকেল খুলবেন তখন প্রথম যে বিষয়টি আপনি লক্ষ্য করবেন তা হ'ল আপনি অদ্ভুত <UXXXX>
কোডগুলির মতো ইংরেজি শব্দগুলি পড়বেন । আপনাকে এই কোডগুলি তৈরি করতে সক্ষম হতে হবে - encodestr
স্ক্রিপ্টটি এখানে আসে।
যখন আপনি জানেন যে আপনাকে কোন বিভাগগুলি পরিবর্তন করতে হবে, আপনাকে বিভাগে থাকা প্রতিটি ক্ষেত্রটি জানতে হবে।
উদাহরণস্বরূপ, LC_TIME
বিভাগটিতে ক্ষেত্র t_fmt
এবং আরও অনেকগুলি রয়েছে। প্রতিটি ক্ষেত্রের উপর তার নিজস্ব বিবরণ নেই নির্দেশিকা ।
এখন আপনি যে ক্ষেত্রগুলি সংশোধন করতে হবে তা জানেন, ক্ষেত্রটি কী মানগুলি গ্রহণ করে তা খুঁজে পেতে আবার গাইড ব্যবহার করুন ।
উদাহরণস্বরূপ, ক্ষেত্রটি t_fmt
পাঠ্য এবং সাধারণ strfmt ভেরিয়েবল গ্রহণ করে ।
আপনি যখন যে ক্ষেত্রগুলিতে সংশোধন করতে চান তাতে কী লিখতে হবে তা জানার পরে, encodestr
স্ক্রিপ্টের মাধ্যমে এনকোডযুক্ত সমতুল্য হয়ে পাঠ্যটি চালনা করুন ।
দ্রষ্টব্য: প্রতিটি ক্ষেত্রের এনকোড করার দরকার নেই, প্রয়োজনে একটি বিদ্যমান স্থানীয় অবস্থানকে রেফারেন্স হিসাবে ব্যবহার করুন।
উদাহরণস্বরূপ, আপনি যদি ক্ষেত্রের Time: %T
মধ্যে সময় বিন্যাস করতে চান t_fmt
, চালান ./encodestr "Time: %T"
; এটি ফিরে আসবে <U0054><U0069><U006D><U0065><U003A><U0020><U0025><U0054>
এবং সুতরাং t_fmt <U0054><U0069><U006D><U0065><U003A><U0020><U0025><U0054>
আপনার লোকালে আপনার লাইন থাকবে (অবশ্যই এটি সম্পর্কিত বিভাগে)।
আপনি যে প্রতিটি ক্ষেত্রটি চান তা সংশোধন করার পরে, আপনাকে সিস্টেমে লোকাল ইনস্টল করার জন্য এগিয়ে যেতে হবে, যাতে এটি ব্যবহার করা যায়। এই জন্য ইনস্টলেশন বিভাগে এগিয়ে যান।
স্ক্র্যাচ থেকে একটি লোকেল তৈরি করা হচ্ছে
কোনওটি সংশোধন করার বিরোধিতা হিসাবে, আপনি আপনার কাস্টম লোকেল তৈরি করতে ব্যবহার করতে পারেন এমন অন্য পদ্ধতিটি স্ক্র্যাচ থেকে এতে কাজ করছে। যদি আপনি আবার গাইড ব্যবহার করেন তবে - এটি খুব কঠিন নয় । যদিও এখানে একটি দরকারী টিপ: আপনি আসল অনুলিপি এবং পেস্ট পদ্ধতি ছাড়াই অন্যান্য লোকেল থেকে বিভাগগুলি অনুলিপি করতে পারেন । আপনাকে কেবল এই ফর্ম্যাটটি অনুসরণ করতে হবে:
LC_SECTION
copy "locale"
END LC_SECTION
LC_SECTION
আপনি যে বিভাগটি সংশোধন করতে চান তা কোথায় এবং locale
আপনি যে বিভাগটি থেকে অনুলিপি করতে চান তা হল।
উদাহরণস্বরূপ, আপনি যদি ইংলিশ লোকালে সময় বিন্যাসটি অনুলিপি করতে চান তবে আপনার এই পাঠ্যটি আপনার কাস্টম লোকেল ফাইলটি থাকবে:
LC_TIME
copy "en_GB"
END LC_TIME
এবং এটি আপনাকে প্রচুর কাজ বাঁচায় এবং আশ্বাস দেয় যে রেফারেন্স করা লোকালয়ে করা কোনও পরিবর্তন আপনার প্রতিচ্ছবি হয়ে যাবে।
আপনার কাস্টম লোকেল ইনস্টল করা হচ্ছে
নীচে আমি যে পদক্ষেপগুলি প্রদর্শন করতে যাচ্ছি তা সর্বোত্তম নাও হতে পারে তবে কাজ করে।
আপনার লোকেল সংকলন করুন। আতঙ্কিত হবেন না! এতে কোনও সময় লাগে না। শুধু কমান্ডটি প্রয়োগ sudo localedef -i custom -f UTF-8 custom.UTF-8 -c -v
যেখানে custom
আপনার লোকেল নাম।
/usr/share/i18n/locales/
ডিরেক্টরিতে আপনার লোকাল অনুলিপি করুন । আপনি স্পষ্টভাবে করতে হবে sudo এই কাজ করতে সুবিধা দেয়া, এবং আপনি আদেশের সঙ্গে এটা করতে পারেন sudo cp locale /usr/share/i18n/locales/
যেখানে locale
আপনার কাস্টম লোকেল ফাইলের নাম নেই।
আপনার স্থানীয় অবস্থান নির্দিষ্ট করুন /var/lib/locales/supported.d/
। উদাহরণস্বরূপ, একটি ফাইলের নাম তৈরি /var/lib/locales/supported.d/asd
করুন এবং লাইনটি যুক্ত করুন custom UTF-8
, যেখানে কাস্টমটি আপনার লোকেলের নাম।
ম্যাজিক কমান্ড চালান। আমি আসলে জানি না যে এই আদেশটি ঠিক কী করে, তবে এটি অত্যন্ত গুরুত্বপূর্ণ। চালান sudo locale-gen
। এটি সর্বাধিক সম্ভাবনাময় এটি যেখানে প্রয়োজন সেখানে উপলব্ধ লোকেলগুলির রেফারেন্স উত্পন্ন করে।
আপনার সিস্টেমকে লোকেলটি ব্যবহার করতে বলুন। যদি আপনি চান যে লোকালটি সিস্টেম-ব্যাপী পদ্ধতিতে ব্যবহার করা হয় তবে /etc/environment
ফাইলটি পরিবর্তন করুন। যদি তা না হয় তবে আপনি নিজের ~/.profile
ফাইল বা প্রারম্ভকালে উত্সাহিত অন্য যে কোনও ফাইলটি সংশোধন করতে পারেন । যদি আপনি না জানেন যে পরবর্তীকর্মটির অর্থ কী তবে চিন্তা করবেন না, কেবল ~/.profile
ফাইলটি ব্যবহার করুন। এতে আপনাকে কী লিখতে হবে তা জানতে প্রথমে locale
কমান্ডটি চালান । মনে হচ্ছে আইটেম সঙ্গে একটি তালিকা ইস্যু হবে LANGUAGE
, LC_MESSAGES
, LC_CTYPE
এবং আরও অনেক কিছু। আপনি লিখতে হবে বিভাগে যদি আপনি চান (পূর্ববর্তী হুকুমে তালিকাভুক্ত) প্রত্যেকের জন্য আলাদা লাইন, এই SECTION="locale"
যেখানে SECTION
অধ্যায় এবং locale
আপনার কাস্টম লোকেল নাম।
উদাহরণস্বরূপ, আপনি যদি নেদারল্যান্ডসের সময় বিন্যাসটি ব্যবহার করতে চান তবে ইংরেজি ভাষাটি লিখুন:
LANGUAGE="en_GB:en"
LC_TIME="nl_NL"
দ্রষ্টব্য: আপনি যদি প্রতিটি লোকেল সেটিংয়ের জন্য একটি লোকেল ব্যবহার করতে চান তবে আপনার কাস্টম লোকেলের নামটি LC_ALL="locale"
কোথায় লিখুন locale
। আপনি যদি ভাষার পরিবর্তে সমস্ত কিছুর জন্য লোকেল ব্যবহার করতে চান তবে আপনি লিখতে পারেন LANG="locale"
এবং (অবশ্যই অন্য একটি লাইনে) আপনি যে ভাষাটি চান তার জন্য দুটি লেটার কোডটি LANGUAGE="locale":XX
কোথায় XX
রয়েছে?
উদাহরণস্বরূপ, আপনি যদি ডাচ লোকেল এবং ইংরেজি ভাষা ব্যবহার করতে চান তবে আপনি ব্যবহার করতে পারেন:
LANG="nl_NL"
LANGUAGE="nl_NL:en"
আপনি শেষ করেছেন
পরের বার আপনি লগ ইন করবেন, আপনার লোকেল ব্যবহার করা উচিত। locale
কমান্ডটি আবার চালিয়ে আপনি এটি পরীক্ষা করতে পারেন ।
এই গাইডটিতে অসঙ্গতি বা মিথ্যা বিবৃতি সম্পর্কে মন্তব্য করুন!
πμ
আউটপুট দেয় । এখানে কাজ করে এমন একটি লিঙ্ক ।<U00CF><U0080><U00CE><U00BC>
<U03C0><U03BC>