গনুহ/লিনাক্স-এ বাংলা ভাষা তানিম আহমেদ শান্তনু চ্যাটার্জি প্রজ্ঞা সায়মিন্দু দাশগুপ্ত ৩য় অনুচ্ছেদ ও পরিশিষ্টের বঙ্গানুবাদ: শরীফ ইসলাম অনুচ্ছেদ ২.২.২. থেকে ২.৪.১. এর বঙ্গানুবাদ: কাজী আশফাক-উর রহমান অনুচ্ছেদ ১ থেকে ২.২.১. এর বঙ্গানুবাদ: প্রজ্ঞা প্রকাশকাল ২০০৩-১০-০১ পরিবর্ধন ও পরিবর্তন তালিকা পরিবর্তন ০.০ ২০০৩-১০-০১ প্র মূল হাওটু'র ১.১.৩. সংস্করণ থেকে প্রথমবারের মত বঙ্গানুবাদ করা হয়। সারসংক্ষেপ এই প্রবন্ধের উদ্দেশ্য হল গনুহ/লিনাক্স-এ বাংলা ভাষা ব্যবহারের পূর্বে করণীয় বিষয়সমূহের বর্ণনা এবং বাংলা ভাষার প্রয়োগ উন্নততর করার ব্যাপারে নির্দেশনা প্রদান। _____________________________________________________________________________________ সূচিপত্র সূচনা ১.১. প্রসঙ্গ-কথা ১.২. কপিরাইট ১.৩. দাবিত্যাগ ১.৪. নতুন সংস্করণ ১.৫. স্বীকৃতি ১.৬. মন্তব্য ১.৭. এই প্রবন্ধে ব্যবহৃত রীতিনীতি ১.৮. প্রবন্ধের উদ্দেশ্য ২. বাংলা ব্যবহারবিধি ২.১. বাংলা Locale স্থাপন ২.২. বাংলা ফন্ট ইনস্টল পদ্ধতি ২.৩. বাংলা কীবোর্ড স্থাপন ২.৪. বিশেষ কিছু বাংলা অ্যাপলিকেশন ৩. ডেভেলপারের সহায়িকা ৩.১. সাধারণ ডেভেলপমেন্ট পদ্ধতি ৩.২. পূর্বশর্ত ৩.৩. অনুবাদকের সহায়িকা A. পরিশিষ্ট সংশ্লিষ্ট ওয়েব সাইট গনুহ/লিনাক্স-এ বাংলা ভাষার প্রয়োগ উন্নততর করার লক্ষ্যে স্বেচ্ছাসেবীর ভূমিকা গ্রহণ বাংলা ব্যবহারোপযোগী সফটওয়ার সূচনা ১.১. প্রসঙ্গ-কথা অসংখ্য গনুহ/লিনাক্স ব্যবহারকারীর মনের ইচ্ছাতালিকার সর্বাগ্রে যে জিনিষটি থাকে, তা হল প্রিয় অপারেটিং সিস্টেমটিতে তাদের মাতৃভাষা ব্যবহারের সুব্যবস্থা। কিন্তু বিশ্বের বিভিন্ন ভাষার মধ্যে ভারতীয় উপমহাদেশের ভাষাসমূহ কম্পিউটারে ব্যবহারের ব্যবস্থা করা একটি অত্যন্ত দুরূহ কাজ। যুক্তাক্ষরের উপস্থিতি, অপ্রমিত (Nonstandard) বানান ইত্যাদি কারণে এই ভাষাগুলো স্বভাবতই জটিল। আশার কথা হল, ফ্রী/লিবার/ওপেন-সোর্স সমাজও সহজে হাল ছেড়ে দেয়ার পাত্র নয়। এই প্রবন্ধে FLOSS অ্যাপলিকেশনসমূহে বাংলা ব্যবহার প্রক্রিয়ার রূপরেখা দেয়া হয়েছে। উপরন্তু, গনুহ/লিনাক্স এ বাংলা ভাষার ব্যবহার আরো উন্নত করতে আগ্রহী ডেভেলপারগণের জন্যও এটি একটি "ডেভেলপার গাইড" হিসেবে কাজ করবে। ১.২. কপিরাইট কপিরাইট (c) ২০০২-২০০৩ তানিম আহমেদ, শান্তনু চ্যাটার্জী, প্রজ্ঞা, সায়মিন্দু দাশগুপ্ত। ফ্রী সফটওয়ার ফাউন্ডেশন কর্তৃক প্রকাশিত গনুহ ফ্রী ডকুমেন্টেশন লাইসেন্সের ১.১ বা পরবর্তী কোনো সংস্করণের অধীনে কপি, পুনঃবিতরণ এবং/অথবা পরিবর্তনের অনুমতি দেওয়া গেল। তবে কোন পরিবর্তিত অনুচ্ছেদ, প্রচ্ছদ টেক্সট এবং পেছনের কভার টেক্সট ব্যবহার করা যাবে না। এই লাইসেন্সের একটি কপি পাওয়া যাবে http://www.gnu.org/licences/fdl.html ["http://www.gnu.org/licences/fdl.html"] এই ঠিকানায়। ১.৩. দাবিত্যাগ পৃথকভাবে বলা না থাকলে সকল স্বত্ত্ব লেখকগণ কর্তৃক সংরক্ষিত। এই প্রবন্ধে কোন টার্ম (Term) ব্যবহার করা হলে তা কোন ট্রেডমার্ক বা সার্ভিস-মার্ক ভঙ্গ করছে বলে ধরে নেয়া উচিত্‍ হবে না। কোন দ্রব্য বা ব্র্যান্ডের নাম উল্লেখ করার অর্থ এই নয় যে তার পক্ষে প্রচারণা চালানো হচ্ছে। সিস্টেমে কোন পরিবর্তনের পূর্বে প্রয়োজনীয় ব্যাকআপ তৈরির জন্য আপনাকে অত্যন্ত জোরালোভাবে পরামর্শ দেয়া হচ্ছে। ১.৪. নতুন সংস্করণ এই হাওটুর সর্বশেষ সংস্করণটি সবসময়ই www.Bengalinux.Org ["www.bengalinux.org"] ওয়েব সাইটে বিভিন্ন রূপে পাওয়া যাবে। * এইচটিএমএল ["http://www.bengalinux.org/bn/howto/Bangla-HOWTO.bn.html"] * সাধারণ টেক্সট ["http://www.bengalinux.org/bn/howto/Bangla-HOWTO.bn.txt"] * পিডিএফ ["http://www.bengalinux.org/bn/howto/Bangla-HOWTO.bn.pdf"] * এক্সএমএল ["http://www.bengalinux.org/bn/howto/Bangla-HOWTO.bn.xml"] ১.৫. স্বীকৃতি গনুহ/লিনাক্স এ বাংলা ভাষার প্রয়োগের সাথে জড়িত সকল ডেভেলপার/ব্যবহারকারীর নিকট আমরা আন্তরিকভাবে কৃতজ্ঞ। বিশেষভাবে অঙ্কুর ["http://www.AnkurBangla.Org"] ও ফ্রী বাংলা ফন্ট প্রকল্পের ["http://www.savannah.nongnu.org/freebangfont/"] কথা না বললেই নয়। প্রবন্ধটির এক্সএমএল (XML) সংস্করণ তৈরির সময় যে নমুনা ব্যবহার করা হয়েছে তা তৈরি করেছেন স্টেইন জিওন,গ্রেগরী লেব্লাঁ ও গ্রেগ ফার্গুসন। ১.৬. মন্তব্য যদি আপনার কোন মন্তব্য, সমালোচনা, সুচিন্তিত মতামত, সংযোজন বা প্রশ্ন থাকে তবে আমাদের ই-মেইল করুন এই ঠিকানায় । আপনাকে সাহায্য করতে পারলে আমার অত্যন্ত আনন্দিত হবো। ১.৭. এই প্রবন্ধে ব্যবহৃত রীতিনীতি সতর্কবাণী, কমান্ড, ফাইলের নাম, কম্পিউটারের আউটপুট ইত্যাদি নির্দেশ করার জন্য আমরা কিছু বিশেষ ধরনের লেখা ব্যবহার করেছি। নিম্নে এদের তালিকা প্রদান করা হল। শেল কমান্ড bash$ ls বিশেষভাবে লক্ষ্যণীয় বিষয়াবলী লক্ষণীয় লক্ষ্যণীয় সতর্কতা সতর্কতা সতর্কতা বিশেষ তথ্য ইঙ্গিত ইঙ্গিত সতর্কবাণী সতর্কবাণী সতর্কবাণী ফাইল/ডিরেক্টরির নাম /usr/src/linux/ অ্যাপলিকেশনের নাম অ্যাপলিকেশন কম্পিউটারের আউটপুট এরকম কোন ফাইল বা ডিরেক্টরির অস্তিত্ব নেই কোড/স্ক্রিপ্ট #!/bin/bash বড় করে প্রদর্শিত কম্পিউটারের আউটপুট logfile begins ১.৮. প্রবন্ধের উদ্দেশ্য এই প্রবন্ধের বিষয়বস্তু হল গনুহ/লিনাক্স অপারেটিং সিস্টেমে বাংলা ভাষা ব্যবহারের পূর্বে করণীয় কাজসমূহের বর্ণনা। তাছাড়া বাংলা ভাষার ব্যবহার আরো উন্নত ও ব্যাপক করার জন্য যারা কাজ করতে ইচ্ছুক, তাদের জন্যও এতে কিছু নির্দেশনা রয়েছে। গনুহ/লিনাক্স-এ বাংলা ভাষার প্রয়োগ এখনো পরিপূর্ণ নয়। কিন্তু আধুনিক গনুহ/লিনাক্স ডিস্ট্রিবিউশনে আপনি বাংলা ভাষা ব্যবহার করে লেখালেখি, ই-মেইল পাঠানো, আড্ডা (Chat) দেওয়া, ফাইলের নাম সংরক্ষণ (Save) করা (ইউটিএফ-৮...), চিত্রভিত্তিক (GUI) অ্যাপলিকেশনের ইন্টারফেস ব্যবহার করা ইত্যাদি কাজ করতে পারবেন। উপরন্তু , আমরা ২০০৩ সালের আগস্ট মাসের মধ্যে গুহ্‌নোম (GNOME) এর মূল অংশটুকু বাংলায় অনুবাদ করার লক্ষ্য নির্ধারণ করেছি যেন তা গুহ্‌নোম ২.৪ সংস্করণে অন্তর্ভুক্ত করা যায়। লক্ষণীয় এই প্রবন্ধটি শুধুমাত্র গনুহ/লিনাক্স-এর চিত্রভিত্তিক অ্যাপলিকেশনে বাংলা ব্যবহারের ক্ষেত্রে প্রযোজ্য - কনসোল-এ বাংলা ব্যবহারের কোন পরিকল্পনা আপাতত আমাদের নেই। লক্ষণীয় এখানে যে প্রক্রিয়ায় বাংলা ব্যবহারের কথা বলা হচ্ছে, তা সম্পূর্ণই ইউনিকোডভিত্তিক। আমরা কোন মালিকানাধীন (Proprietery) বা অপ্রমিত এনকোডিং নিয়ে কাজ করি না। ২. বাংলা ব্যবহারবিধি যারা বাংলা ভাষা ব্যবহার করতে চান, এই অংশটি তাদের জন্য। বাংলা ভাষার প্রয়োগ আরো ব্যাপক করার জটিলতা নিয়ে এখানে আলোচনা করা হয় নি। তবে, যারা এ বিষয়ে ডেভেলপার হিসেবে কাজ করতে আগ্রহী, তাদেরও এই অংশটি পড়া উচিত্‍। এর ফলে তারা বাংলার প্রয়োগকে আরো উন্নত করার জন্য প্রয়োজনীয় পরিবেশ স্থাপন করতে পারবেন। ২.১. বাংলা Locale স্থাপন বাংলা ব্যবহারের জন্য প্রথমে আপনাকে যে কাজটি করতে হবে তা হল বাংলা Locale স্থাপন। কোন দেশের বিশেষ সাংস্কৃতিক বৈশিষ্ট্য এবং সংশ্লিষ্ট কিছু শব্দের প্রতিশব্দকে একত্রেত্ক্তঐ অঞ্চলের “Locale” বলে। এই উপ-অনুচ্ছেদে bn_BD নামক Locale এর জন্য প্রয়োজনীয় ফাইল ইনস্টল করার পদ্ধতি বর্ণনা করা হয়েছে যা বাংলাদেশী বাংলার জন্য প্রযোজ্য। তবে ভারতীয় বাংলার জন্য প্রয়োজনীয় ফাইলও একই উপায়ে ইনস্টল করে যাবে। লক্ষণীয় এই উপ-অনুচ্ছেদে Locale এর জন্য প্রয়োজনীয় ফাইল তৈরির পদ্ধতি বর্ণনা করা হয় নি। এখানে শুধুমাত্র বাংলাদেশী বাংলার Locale ফাইল ইনস্টল করার পদ্ধতি বর্ণনা করা হয়েছে। glibc প্যাকেজের সর্বশেষ সংস্করণের সাথে bn_BD-র জন্য প্রয়োজনীয় ফাইল দেয়া থাকে। যদি আপনি glibc'র কোন পুরনো সংস্করণ ব্যবহার করেন, তবে প্রয়োজনীয় ফাইল Bengalinux.org এর ডাউনলোড ["http://www.bengalinux.org/downloads/"] অংশ থেকে ডাউনলোড করতে পারেন। সতর্কতা আপনার সিস্টেমে কোন ইউনিকোড এনকোডেড ফন্ট ইনস্টল করা আছে কিনা তা নিশ্চিত হোন। যদি না থাকে, তবে ফন্টের ওপর লিখিত অনুচ্ছেদটি দেখুন। এখন Root হিসেবে নিম্নোক্ত কমান্ডটি প্রয়োগ করুন bash$ localdef -f UTF-8 -i bn_BD.UTF-8 এরফলে আপনার সিস্টেমটি bn_BD নামক Locale ব্যবহারের উপযোগী হবে। এরপর নিশ্চিত হোন যে, আপনার ব্যবহৃত এক্স সার্ভারটি বাংলা ব্যবহারের উপযোগী কিনা। এজন্য /usr/X11R6/lib/X11/locale/locale.dir ফাইলটি দেখুন। এতে নিম্নের লাইনগুলো থাকার কথা en_US.UTF-8/XLC_LOCALE bn_BD.UTF-8 en_US.UTF-8/XLC_LOCALE: bn_BD.UTF-8 এখন আপনার সিস্টেমটি bn_BD.UTF-8 নামক Locale ব্যবহারের উপযোগী হয়েছে। উদাহরণস্বরূপ, আমি নিচের কমান্ডটি ব্যবহার করে আমার নিজস্ব ভাঙ্গাচোরা একটি ফন্টের সাহায্যে xterm চালাই bash$ LC_ALL=bn_BD.UTF-8 xterm -fn "-misc-Probhat-medium-r-normal--0-0-0-0-p-0-iso10646-1" -u8 মনে রাখবেন, যদি আপনি কোন অ্যাপলিকেশনে বাংলা ব্যবহার করতে চান, তবে অ্যাপলিকেশনটিকে bn_BD.UTF-8 নামক Locale ব্যবহারকারী এনভায়রনমেন্ট থেকে চালাতে হবে। অন্যথায় তা বাংলায় কাজ করবে না। ২.২. বাংলা ফন্ট ইনস্টল পদ্ধতি ২.২.১. আরপিএম (RPM) থেকে বাংলা ফন্ট ইনস্টল করার পদ্ধতি যদি আপনি একজন আরপিএম (RPM) ব্যবহারকারী হন, তবে ফ্রী বাংলা ফন্ট প্রকল্পের (FBFP) ফন্টসমূহ ইনস্টল করার সবচেয়ে সহজ পদ্ধতি হল ফন্টের আরপিএম প্যাকেজ ব্যবহার করা। আরপিএম প্যাকেজ ডাউনলোড করা যাবে http://www.Bengalinux.org/downloads/freebanglafont-0.2.-1.noarch.rpm ["http://www.bengalinux.org/downloads/freebanglafont-0.2.-1.noarch.rpm"] অথবা http://savannah.nongnu.org/files/?group=freebanglafont ["http://savannah.nongnu.org/files/?group=freebanglafont"] এই ঠিকানা থেকে । অন্যান্য আরপিএম প্যাকেজ যেভাবে ইনস্টল করে থাকেন, ফন্টের আরপিএম'টিও এই কমান্ডটির সাহায্যে সেভাবেই ইনস্টল করুন bash$ rpm -ivh freebanglafont-0.2-1.noarch.rpm ২.২.২. পৃথক পৃথক ফন্ট ফাইল ইনস্টল করার পদ্ধতি যদি আপনি আরপিএম (RPM) প্যাকেজ ব্যবহার করতে অপারগ হন তবে পুরনো ও কার্যকরী tgz প্যাকেজতো আছেই। মনে রাখবেন, এখানে উল্লেখিত কমান্ডগুলো চালাতে আপনাকে অবশ্যই Root ব্যবহারকারীর বিশেষাধিকার থাকতে হবে। যেসকল ফাইল আপনি ইনস্টল করতে চান তা এই সাইট থেকে ডাউনলোড করে নিন - http://savannah.nongnu.org/files/?group=freebangfont ["http://savannah.nongnu.org/files/?group=freebangfont"] লক্ষণীয় ফ্রী বাংলা ফন্ট প্রকল্পে (FBFP) আপনি বিভিন্ন tgz প্যাকেজ খুঁজে পাবেন। প্রতিটিতে বিভিন্ন আকৃতির ফন্ট আছে; অর্থাত্‍ তারা সবাই একে অপরের থেকে ভিন্ন। আপনার প্রয়োজনমত সকল ফাইল ডাউনলোড করুন; সমস্ত ttf ফাইলগুলো এক্সট্র্যাক্ট (Extract) করুন। মূলত প্রতিটি *.tgz অথবা *.tar.gz ফাইলের জন্য নিম্নোক্ত কমান্ডটি প্রয়োগ করুন bash$ tar zxvf your_font_package.tar.gz এটি একটি নতুন ডিরেক্টরি তৈরি করবে যেটিতে প্যাকেজের বিভিন্ন ফাইলগুলো থাকবে। আমরা শুধু *.ttf ফাইলগুলোর প্রতি আগ্রহী। একটি নতুন ডিরেক্টরি তৈরি করুন যেখানে আপনি ফন্ট ইনস্টল করবেন। এখন থেকে বাকি অংশের জন্য আমরা ধরে নিচ্ছি যে ফন্ট ইনস্টল করছি /usr/X11R6/lib/X11/fonts/bengali/ ডিরেক্টরিতে। প্রতিটি ttf ফাইল এই ডিরেক্টরিতে কপি করুন এবং নিম্নোক্ত কমান্ডগুলো প্রয়োগ করুন: bash$ cd /usr/X11R6/lib/X11/fonts/bengali/ bash$ ttmkfdir bash$ mkfontdir bash$ chkfontpath -q -a /usr/X11R6/lib/X11/fonts/bengali/ এখন আমরা নতুন ডিরেক্টরিকে fontconfig এর কনফিগারেশনে যোগ করবো। সচরাচর এই কনফিগারেশন ফাইলটি হল /etc/fonts/fonts.conf । আপনার পছন্দমত টেক্সট এডিটর দিয়ে ফাইলটি খুলুন এবং নিম্নোক্ত কিছু লাইনের মত অংশ খুঁজে বের করুন: /usr/X11R6/lib/X11/fonts/Type1 /usr/share/fonts/ ~/.fonts/ এখানে নিম্নের লাইনটি যোগ করুন - /usr/X11R6/lib/X11/fonts/bengali/ ফলে যা দাঁড়াবে তা হলো - /usr/X11R6/lib/X11/fonts/Type1 /usr/share/fonts/ ~/.fonts/ /usr/X11R6/lib/X11/fonts/bengali/ ফাইলটি সেভ করুন এবং নিম্নোক্ত কমান্ডটি প্রয়োগ করুন - bash$ fc-cache যদি আপনার গুহ্নোম প্রিন্ট লাইব্রেরী (libgnomeprint) ইনস্টল করা থাকে তবে নিম্নের কমান্ডগুলো চালান - bash$ cd /usr/X11R6/lib/X11/fonts/bengali/ bash$ libgnomeprint-2.0-font-install --dynamic ব্যস, এই! যেকোন সমস্যার জন্য আমাদের জানিয়ে মেইল করুন এই ঠিকানায় ২.৩. বাংলা কীবোর্ড স্থাপন XKB সিম্বল ফাইল কি বা কিভাবে নতুন লেআউট তৈরি করা হয় ইত্যাদি ব্যাখ্যা করা এই প্রবন্ধের উদ্দেশ্য নয়। ইন্টারনেটে অসংখ্য ওয়েব সাইট আছে যেখানে যেকেউ XFree86 কীবোর্ড সম্পর্কে আরো ভালো এবং পুঙ্খানুপুঙ্খ বিবরণ পাবেন। বাংলা কীবোর্ড স্থাপন করা খুবই সহজ। শুধু নিচের ধাপগুলো অনুসরণ করলেই হবে। নিচে যা যা বর্ণনা করা হচ্ছে তার সবই আপনি পেতে ["http://www.bengalinux.org/downloads/"] পারেন Bengalinux.org সাইটে। সতর্কতা আপনার কম্পিউটারে ইউনিকোডভিত্তিক বাংলা ফন্ট আছে কিনা নিশ্চিত হয়ে নিন। যদি না থাকে তবে ফন্ট অনুচ্ছেদ দেখে নিন। XKB সিম্বল ফাইল ben ডাউনলোড করুন এবং অন্যান্য XKB সিম্বল ফাইল যেখানে থাকে সেখানে কপি করুন। সাধারণত পাথটি হয় /usr/X11R6/lib/X11/xkb/symbols/ লক্ষণীয় শুধুমাত্র Root ব্যবহারকারী এই ডিরেক্টরিতে ফাইল কপি করতে পারবে। বাংলা কীবোর্ড ব্যবহারের থেকে আপনি আর মাত্র একটি কমান্ড দূরে আছেন। আমি আমার সিস্টেমে নিচের কমান্ডটি ব্যবহার করি: bash$ setxkbmap -symbols "us(pc101)+ben+group(ctrl_shift_toggle)" খুব সম্ভবত আপনাকে আপনার সিস্টেমে -symbols অপশনের জন্য ভিন্ন কোন মান ব্যবহার করতে হবে। আমি এগুলোর অর্থ বুঝিয়ে দিচ্ছি। তখন আপনি নিজেই আপনার সিস্টেমের জন্য মানটি কি হবে তা নির্ধারণ করতে পারবেন। এক্স উইন্ডো'র জন্য আমার সিস্টেমের ডিফল্ট কীবোর্ড হচ্ছে us(pc101)। আপনি যদি আপনার ডিফল্ট কীবোর্ডের নাম না জানেন তবে XF86Config ফাইলটি খুলে দেখে নিন। যেহেতু ২য় গ্রুপে বাংলা কীবোর্ড লেআউট বলা আছে, আমরা শুধু ben থেকে পরবর্তী অংশ আমাদের কীবোর্ড লেআউটে সংযোজন করবো। এখন আপনি আপনার কীবোর্ডটির প্রথম গ্রুপ হিসেবে us(pc101) এবং ২য় গ্রুপ হিসেবে ben নির্ধারণ করেছেন। এর অর্থ কি ? সহজ ভাষায়: এক্স উইন্ডোতে আপনি বিভিন্ন গ্রুপের জন্য লেআউট রাখতে পারেন। যেকোন সময় এই লেআউটগুলোর যেকোন একটিকে বেছে নেওয়া যায়। এজন্যই আমরা যোগ করেছিলাম “group(ctrl_shift_toggle)” যার মানে হল আপনি যেকোন সময় Ctrl-Shift বাটন একসাথে চেপে দুটো গ্রুপের একটিকে বেছে নিতে পারবেন। আসল কথা হল - Toggle Swith এর জন্য আরো অনেক অপশন আছে। যদি আপনার ব্যবহৃত XFree86 যথেষ্ট নতুন না হয়, তবে আপনি যে ডিরেক্টরিতে ben ফাইলটি কপি করেছেন সেখানেই group নামে একটি ফাইল খুঁজে পাবেন। যদি ফাইলটি না থাকে তবে উদ্বিগ্ন হওয়ার কোন প্রয়োজন নেই। আপনি একটি অপশন ব্যবহার করতে পারেন, যেমন: “grp:shift_toggle” যার ফলে দুটো Shift বাটন চেপেই কীবোর্ড লেআউট পরিবর্তন করতে পারবেন। ফলে এখন আপনার কমান্ড হবে: bash$ sexxkbmap -symbols "us(pc101)+ben" -option "grp:shift_toggle" ২.৪. বিশেষ কিছু বাংলা অ্যাপলিকেশন ২.৪.১. লেখ (Lekho) 'লেখ' একটি টেক্সট এডিটর যা দিয়ে কোন ইউনিকোডভিত্তিক বাংলা ফন্ট ব্যবহার না করেই বাংলা ফাইল তৈরি করা যায়। লক্ষণীয় এই অনুচ্ছেদটি কখনোই 'লেখ'-এর সম্পূর্ণ তথ্যনির্দেশিকা নয়। খুব বেশি হলে এটিকে এর ভূমিকা বলা যেতে পারে। এই অংশের প্রধান উদ্দেশ্য আপনাকে এই অসাধারণ এডিটরটির উপস্থিতি সম্পর্কে অবগত করা। যেকোন ব্যাপারেই 'লেখ' সম্পর্কিত মূল তথ্যসূত্র হল এর ওয়েব সাইট অথবা 'লেখ'র প্যাকেজ ডিস্ট্রিবিউশনের সাথে প্রদত্ত ডকুমেন্টেশন। আপনি লেখ দ্বারা উপকৃত হবেন যদি - * প্রয়োজনীয় Locale, ওপেনটাইপ ফন্ট, কীবোর্ড ইত্যাদি ইনস্টল করার মত যথেষ্ট উত্‍সাহ বা সময় আপনার না থাকে। * বর্তমানে আপনি যে গুহ্নোম (GNOME) ব্যবহার করছেন তার সংস্করণ ২.০ হতে পুরোনো। * আপনার সিস্টেমে আদৌ GTK+ নেই। * Bangtex ম্যাক্রো প্যাকেজে ব্যবহারের জন্য লেখাকে লেটেক্স (Latex) এ রূপান্তর করতে চান। লেখ'র কিছু মূল বৈশিষ্ট্য নিম্নরূপ - * কীবোর্ড লেআউট: ধ্বনি নির্ভর (যেমন, ক=K, খ=kh ইত্যাদি) * ফন্ট ব্যবহার - আদর্শলিপি (Adarshalipi) * ফাইল সংরক্ষণ করা যায় - UTF-8, UTF-16, ISO-8859-1 বিন্যাস অনুসারে * ফাইল রূপান্তর করতে পারে - HTML, Bangtex এ * বর্তমান অবস্থা - বেটা (Beta) * সহায়তা - মেইলিং লিস্টের মাধ্যমে লেখ'র ইনস্টল প্রক্রিয়া নিম্নরূপ - 1. লেখ'র ওয়েব সাইট http://www.lekho.sourceforge.net/ ["http://www.lekho.sourceforge.net/"] থেকে এডিটরটির সর্বশেষ সংস্করণ ডাউনলোড করুন। শোনাচ্ছে যে, অল্পদিনের ভেতেরেই লেখ'র RPM সংস্করণ প্রকাশ করা হবে। আপনি যখন এই লেখাটি পড়ছেন তখন হয়তো RPM'টি প্রকাশিত হয়ে গিয়েছে। সুতরাং আপনি যদি RPM এর ভক্ত হন, তবে অনুগ্রহ করে ওয়েব সাইটে খোঁজ করুন। এখন টারবলটি (tarball) আনটার (Untar) করুন: bash$ tar xfz Lekho.tar.gz 2. লেখ'র সোর্স ডিরেক্টরিতে যান এবং প্রথাগত উপায়ে কম্পাইলেশন ও ইনস্টলেশন সম্পন্ন করুন: bash$ ./configure bash$ make bash$ make install 3. 'make install' শেষ হওয়ার পরপর আদর্শলিপি (Adarshalipi) ফন্টসমূহ একটি ভিন্ন ডিরেক্টরিতে কপি করা হয় এবং এই ডিরেক্টিরির নাম জানানো হয়। এখন আপনার ফন্টপাথ-এ এই ডিরেক্টরিটি যোগ করুন। আপনি XFree86 এর কোন সংস্করণটি ব্যবহার করেছেন তার ওপর নির্ভর করে ফন্ট ইনস্টল করার বিভিন্ন উপায় আছে। এ ব্যাপারে বিস্তারিত জানার জন্য লেখ'র ডকুমেন্টেশন দেখুন। যদিও 'লেখ' এখনো তৈরির পর্যায়ে রয়েছে তবুও আমি মনে করি যে, অধিকাংশ ব্যবহারকারীর প্রয়োজন মেটানোর মত যথেষ্ট সুযোগ-সুবিধা এই প্রোগ্রামটিতে ইতিমধ্যেই রয়েছে। ৩. ডেভেলপারের সহায়িকা এই অংশটি মূলত ডেভেলপারদের জন্যে। আগ্রহী ব্যবহারকারীরাও এটি পড়ে উপকৃত হতে পারবে। তবে ডেভেলপারদের পূর্ববর্তী অধ্যায় (কিভাবে বাংলা সিস্টেম সেট আপ করা হয়) থেকে পড়া শুরু করা উচিত। ৩.১. সাধারণ ডেভেলপমেন্ট পদ্ধতি www.Bengalinux.org ["http://www.bengalinux.org"] ওয়েব সাইটটি আমাদের ডেভেলপমেন্ট প্রকল্পের মূল সাইট। এই প্রকল্পের জন্যে আমরা FLOSS মডেল অনুসারে কাজ করে যাচ্ছি। আপনি ডেভেলপার হিসেবে সিভিএস (CVS), শেল, এসসিপি (scp), ই-মেইল লিস্ট প্রভৃতি প্রয়োজনীয় টুল ব্যবহার করতে পারবেন। আপনি যদি আমাদের কাজের প্রতি আগ্রহী হন, তবে আপনার যে কোন রকমের সাহায্য, মন্তব্য, এবং পরামর্শ সব সময়ই কাম্য। যোগাযোগের জন্যে -এ ই-মেইল করুন। একজন ডেভেলপারকে অবশ্যই আমাদের প্রকল্পের ই-মেইল লিস্টের সদস্য হতে হবে। বিস্তারিত তথ্যের জন্যে আমাদের প্রকল্প সাইটটি ["http://www.bengalinux.org/projects/"] দেখুন। ই-মেইল লিস্টে যোগাযোগের সময়ে সাধারণ নেটিকোয়েট (netiquette) বা ভদ্রতা বজায় রাখুন। দয়া করে HTML-এ ই-মেইল পাঠাবেন না। ৩.২. পূর্বশর্ত * বাংলা ভাষা লেখা এবং পড়ার দক্ষতা। বাংলা ব্যাকরণের ন্যুনতম জ্ঞান আবশ্যক। * ইউনিকোড উপযোগী বাংলা এডিটর ব্যবহারের অভিজ্ঞতা। (Proprietary এডিটরের ব্যবহার গ্রহণযোগ্য নয়। ) * (অত্যাবশ্যক নয়) - l10n সমন্ধে ধারণা। বিস্তারিত তথ্যের জন্য GNU gettext এর ইনফো (Info) পাতা দেখুন। * FLOSS- এর মূলনীতি অনুসারে কাজ করার ইচ্ছা আবশ্যক। ৩.৩. অনুবাদকের সহায়িকা ৩.৩.১. পদ্ধতিগত সহায়িকা অনুবাদের প্রধান অংশ হচ্ছে *.po (পোর্টেবল অবজেক্ট) ফাইলটি সম্পাদন করা। অনুবাদের পূর্বে অনুগ্রহ করে , স্ট্যাটাস পাতাটি ["http://developer.gnome.org/projects/gtp/status/gnome-2.4/bn/index.html"] দেখুন। যে ফাইলগুলো অনুবাদ করা হয় নি, তা থেকে যেকোন একটি ডাউনলোড করুন। এখন ইউনিকোড উপযোগী টেক্সট এডিটরে ফাইলটি খুলুন। বর্তমানে ভি আই (VI) বা ইমেকসে (Emacs) বাংলা কাজ করে না। আমাদের সদস্যদের মধ্যে উডিট ["http://www.yudit.org/"] (Yudit), লেখ ["http://www.lekho.sf.net/"] (lekho) এবং জীএডিট বেশ জনপ্রিয়। অনুবাদ শুরুর প্রাক্কালে ই-মেইল লিস্টে আপনার কাজের ঘোষনা প্রদান করুন। ফাইলের শুরুতে লক্ষ্য করলে দেখতে পাবেন অনুবাদকের নাম, ই-মেইল, অনুবাদের সময় ইত্যাদি পূরণ করার জায়গা রয়েছে। এই তথ্যগুলো পূরণ করে পরবর্তী পর্যায়ের জন্য প্রস্তুত হোন। আপনি এই ধরনের কয়েকটি লাইন দেখতে পাবেন #: atk/atkobject.c:1183 msgid "invalid" msgstr "" প্রথম লাইনে ফাইলের নাম এবং দ্বিতীয় লাইনে যে পংক্তিটি আছে তার স্থান (সারি,কলাম) সংক্রান্ত তথ্য থাকে। অনুবাদযোগ্য পংক্তিটি দ্বিতীয় লাইনে ইংরেজিতে থাকবে। এবং তৃতীয় লাইনটিতে আপনি বাংলা অনুবাদটি লিখবেন, ফলে একটি ফাইলের অনুবাদকৃত অংশটি এরকম দেখাবে #: atk/atkobject.c:1183 msgid "invalid" msgstr "ভুল" এই ধরনের সবকটি পংক্তি অনুবাদ করা হলে ফাইলের অনুবাদ কাজ শেষ হবে। আপনার অনুবাদ শেষ হলে ফাইলটি আমাদের অনুবাদ প্রকল্পের ই-মেইল লিস্ট -এ মন্তব্যের জন্যে পেশ করুন। গুরুত্বপূর্ণ ফাইলটি প্রেরণের পূর্বে নিমোক্ত কমান্ড দ্বারা ফাইলটি পরীক্ষা করে দেখুন bash$ msgfmt -c filename_bn.po -o /dev/null এখানে filename_bn.po হচ্ছে আপনার অনুবাদ করা ফাইলের নাম। ৩.৩.২. ভাষারীতি অনুবাদের সময় ভাষার ব্যবহার সংক্রান্ত কিছু বিষয়ে সতর্কতা অবলম্বন করা উচিত্‍। সাধু ভাষার ব্যবহার থেকে বিরত থাকুন, কম্পিউটার যখন একজন ব্যবহারকারীকে সম্বোধন করবে তখন সম্মানসূচক (যেমন করুন, বলুন) ক্রিয়াপদ ব্যবহার করতে হবে। আবার যখন কম্পিউটারকে কোন নির্দেশ দেওয়া হচ্ছে তখন কর, বল প্রভৃতি ব্যবহার করা যাবে। অপ্রচলিত বা সাধারণত অব্যবহৃত শব্দার্থের ক্ষেত্রে ইংরেজি শব্দটি বাংলা হরফে লিখুন। কোনভাবেই অতি অনুবাদ করবেন না। নামসূচক শব্দ এবং ট্রেডমার্ক, পণ্যের নাম প্রভৃতি অনুবাদ করার প্রয়োজন নেই। যেমন Bourne Again Shell (BASH) কখনই 'আবার Bourne Shell' নয়। প্রচলিত শব্দ ব্যবহার করুন। যেমন গবাক্ষের পরিবর্তে জানালা। অনুবাদক হিসাবে অনেক সময় আমাদেরকে শব্দের নতুন ব্যবহারের প্রতি খেয়াল রাখতে হবে। উদাহরণস্বরুপ বলা যায়, কয়েক দশক আগে ইংরেজি ভাষীরা কখনো হয়তো ‘save’ শব্দটির বর্তমান ব্যবহার কল্পনা করেনি। আমাদেরকে হয়তোবা সে ধরনের কোনো শব্দের নতুন ব্যবহার আবিষ্কার করতে হতে পারে। অনুবাদের ফাইলে আপনি খুব সহজে নিজস্ব মন্তব্য উল্লেখ করতে পারেন। মন্তব্য সমূহ ‘#’ পরে যোগ করতে পারেন। ফলে অন্যান্য অনুবাদকরা নিরীক্ষণের সময় আপনার মন্তব্য পড়তে পারবে। যদি একটি শব্দের বেশ কয়েকটি অর্থ প্রযোজ্য হয়, তবে সেগুলোও মন্তব্য আকারে উল্লেখ করতে পারেন। তবে, লক্ষ্য রাখবেন, msgid এবং msgstr-এর মধ্যে মন্তব্য অন্তর্ভুক্ত করা যাবেনা। তার মানে #: atk/atkobject.c:1183 msgid "invalid" # পাগলে কিনা বলে msgstr "ভুল" গ্রহনযোগ্য নয়। এর পরিবর্তে লিখুন - #: atk/atkobject.c:1183 msgid "invalid" msgstr "ভুল" # ভুল সবই ভুল ..... সঠিক বানানের প্রতি খেয়াল রাখবেন। অনুবাদের সময়ে অভিধান ব্যবহার করতে পারেন। বাংলা একাডেমীর বাংলা বানান অভিধান এই ক্ষেত্রে কাজে আসতে পারে। Bengalinux-এর bspeller ["http://www.bengalinux.org/projects/dictionary/bspeller.php"] প্রোগ্রামটিও বেশ উপযোগী। অন্যান্য অভিধানের মধ্যে অশোক মূখার্জি প্রণীত সাহিত্য সংসদের সমার্থ-শব্দকোষ (Bangla Thesaraus) উল্লেখযোগ্য। ৩.৩.৩. অনুবাদ পরীক্ষা করা বিষয়বস্তু সাপেক্ষে অনুবাদ করার প্রতি আমাদের খেয়াল রাখতে হবে। শুধুমাত্র po ফাইল দেখে অ্যাপ্লিকেশন সম্বন্ধে ধারণা লাভ করা কঠিন। যেমন Open এর ক্ষেত্রে খোলো অথবা খোলা উভয়ই হতে পারে। এই কারণে অনুবাদকৃত po ফাইলগুলো অ্যাপ্লিকেশন সহকারে সঠিকভাবে পরীক্ষা-নিরীক্ষা করা প্রয়োজন। এই অধ্যায়ে আমরা পুরো সিস্টেম আবার কম্পাইল না করেই po ফাইল পরীক্ষা করার পদ্ধতি নিয়ে আলোচনা করবো। লক্ষণীয় এই পদ্ধতি সব ধরনের সিস্টেমে (জিডিএম যুক্ত) ব্যবহার করা যাবে। তবে আমাদের পক্ষে সব সিস্টেমে পরীক্ষা করা সম্ভবপর হয়ে উঠেনি। ফলে আপনার সিস্টেমে পরীক্ষাটি সফল হওয়ার কোনো নিশ্চয়তা নেই। প্রথমে বাংলা Locale এবং কিছু বাংলা ফন্ট ইন্সটল করুন। ইন্সটল করা শেষ হলে po ফাইলগুলো একটি ফোল্ডারে রাখুন। এরপরে একটি একটি করে po ফাইলগুলোকে MO ফাইলে নিম্নোক্ত কমান্ড দ্বারা রূপান্তর করুন। bash$ msgfmt -o file.mo file.version.gnomeversion_bn.po সতর্কতা রূপান্তর করার সময় ভাষা এবং সংস্করণ সংক্রান্ত তথ্যগুলো mo ফাইলের নাম থেকে সরিয়ে ফেলুন। উদাহরণস্বরুপ, gnome-games.gnome-2-4.bn.po রূপান্তরিত হয়ে হবে gnome-games.mo হিসাবে। কোনো প্যাকেজ সম্বন্ধে সন্দেহ থাকলে rpm [-ql packagename] কমান্ডটি প্রয়োগ করুন। এই নির্দেশটি প্যাকেজের নাম সংক্রান্ত সকল তথ্য প্রদান করবে। যেমন, rpm -ql gdm নিম্নের তথ্যগুলো প্রদান করে /usr/share/locale/ru/LC_MESSAGES/gdm-2.4.mo /usr/share/locale/sk/LC_MESSAGES/gdm-2.4.mo /usr/share/locale/sl/LC_MESSAGES/gdm-2.4.mo /usr/share/locale/sv/LC_MESSAGES/gdm-2.4.mo /usr/share/locale/ta/LC_MESSAGES/gdm-2.4.mo উপরোক্ত তথ্য দেখে আপনি বুঝতে পারবেন যে জিডিএম প্যাকেজের জন্য আমাদের msgfmt -o gdm-2.4.mo gdm2.gnome-2-4.bn.po কমান্ডটি প্রয়োজন। সব ফাইল রূপান্তর করা শেষ হলে MO ফাইলগুলো /usr/share/locale/bn_IN.UTF-8 অথবা /usr/share/locale/bn_BD.UTF-8 ফোল্ডারে রাখুন। bn_BD বা bn_IN নির্ভর করবে আপনার লৌকাল ইনস্টলের উপর। এখন /etc/X11/gdm/locale.alias ফাইলটি খুলুন এবং নিচের লাইনগুলো ফাইলটিতে লিখুন Bengali bn_IN.UTF-8,bn_IN এরপরে X রির্স্টাট করুন এবং GNOME লগ-ইন মেনু থেকে বাংলা সিলেক্ট করুন। এখন আপনার সিস্টেমে বাংলা হরফ দেখতে পাবেন। শুধুমাত্র একটি অ্যাপ্লিকশন পরীক্ষা করার জন্যে উপরের সবকিছু করার প্রয়োজন নেই। এই পদ্ধতি তখনই লাগবে যখন আপনি পুরো সিস্টেম বাংলায় নিতে চান। একটি অ্যাপ্লিকেশনের জন্যে প্রথমে লৌকাল এবং ফন্ট সেট-আপ করুন। MO ফাইলগুলো সঠিক ফোল্ডারে রাখুন, xterm চালু করুন। export LANG=bn_IN.UTF-8 বা export LANG=bn_BD.UTF-8 কমান্ডটি লিখুন। এরপরে xterm থেকে প্রোগ্রামটি চালু করুন। সবকিছু ঠিকমত করা হলে আপনি বাংলা ইন্টারফেস দেখতে পাবেন। A. পরিশিষ্ট এই অনুচ্ছেদে কিছু আনুষঙ্গিক তথ্য আছে। সংশ্লিষ্ট ওয়েব সাইট * www.Bengalinux.Org ["http://www.Bengalinux.Org"] বা www.AnkurBangla.Org ["http://www.AnkurBangla.Org"] : বাংলা সংশ্লিষ্ট গনুহ/লিনাক্সভিত্তিক প্রকল্পসমূহের কেন্দ্রীয় সাইট। * www.nongnu.org/freebangfont ["http://www.nongnu.org/freebangfont"]: অংকুর প্রকল্পের ফন্ট ডেভেলপমেন্ট অংশ। * www.unicode.org ["http://www.unicode.org"]: ইউনিকোড কনসোর্টিয়ামের ওয়েবসাইট। গনুহ/লিনাক্স-এ বাংলা ভাষার প্রয়োগ উন্নততর করার লক্ষ্যে স্বেচ্ছাসেবীর ভূমিকা গ্রহণ আপনি যদি GNU/Linux বা অন্যান্য ফ্রী/লিবার/ওপেন সোর্স (FLOSS) অ্যাপলিকেশনে বাংলা ব্যবহারের প্রতি আগ্রহী হন, তবে আপনার যেকোন রকমের সাহায্য, মন্তব্য, এবং পরামর্শ সব সময়ই আমাদের কাম্য। আমাদের সাথে যোগাযোগ করার সবচেয়ে সহজ উপায় হচ্ছে আমাদের ই-মেইল লিস্ট । আমরা ডেভেলপার, অনুবাদক, ফন্ট ডিজাইনার ছাড়াও সাধারণ GNU/Linux ব্যবহারকারিদের মধ্য থেকে স্বেচ্ছাসেবক খুঁজছি। GNU/Linux ব্যবহারে দক্ষতা না থাকলেও আমাদের বিভিন্ন প্রকল্পে আপনি সাহায্য করতে পারবেন। আপনি যদি ফন্ট ডেভেলপার হয়ে থাকেন তবে আপনার নিজস্ব কাজগুলো গনুহ (GNU) জিপিএল লাইসেন্সের অধীনে (পুনঃ)প্রকাশ করতে পারেন। এর ফলে আপনার ফন্টটি আমাদের প্রকল্পের সাথে যুক্ত হতে পারবে। বাংলা ব্যবহারোপযোগী সফটওয়ার ইউনিকোডভিত্তিক বাংলা হরফ প্রদর্শন করা একটি জটিল কাজ। এ জন্য ব্যবহৃত প্রযুক্তিটি অতি সাম্প্রতিক এবং এ কারণে কিছু সফটওয়ারের শুধুমাত্র সর্বশেষ সংস্করণগুলোই এ কাজটি করতে পারে। উদাহরণস্বরূপ কেডিই-তে ব্যবহৃত Qt টুলকিট-এর শুধুমাত্র সর্বশেষ সংস্করণ (Qt ৩.২) এবং GTK 2-এর টেক্সট রেনডারিং/লেআউট ইঞ্জিন প্যাঙ্গো ["http://www.pango.org"] বাংলা প্রদর্শন করতে পারে। প্যাঙ্গো-এর ১.১.১. বা পরবর্তী সংস্করণগুলোতে বাংলার জন্য একটি পৃথক মডিউল রয়েছে। এছাড়া ফ্রী সফটওয়ারসমূহের মধ্যে Yudit ["http://www.yudit.org"] ভালভাবে বাংলা টেক্সট প্রদর্শন করতে পারে। তবে ধীরে ধীরে এ অবস্থার উন্নতি ঘটছে, এবং অদূর ভবিষ্যতে সম্ভবত মজিলা, ওপেন-অফিস ইত্যাদিতেও বাংলা ব্যবহার করা যাবে। আসলে ওপেন-অফিসের বেটা সংস্করণে (এই প্রবন্ধ লেখার সময়) এ মুহূর্তেই বাংলা ব্যবহারের আংশিক সুযোগ রয়েছে; তবে ও-কার এবং ঔ-কার প্রদর্শনের ক্ষেত্রে এতে এখনো বেশ কিছু বড় ধরনের সমস্যা রয়েছে। আর ৩.২.০ সংস্করণ থেকে আরম্ভ করে কেডিই অ্যাপলিকেশনসমূহেও বাংলা ব্যবহার করা যাবে।