🤩
আসসালামুআলাইকুম বন্ধুরা ,আপনার ওয়েবসাইটটি কি প্রধানত বাংলাভাষী বা বাংলাদেশী দর্শকদের জন্য তৈরি? অথচ আপনার সাইটে তারিখ, সংখ্যা, মাস, এমনকি “৫ ঘণ্টা আগে” (5 hours ago) লেখাগুলোও ইংরেজিতে দেখাচ্ছে?
যদি এমনটা হয়, তাহলে এই পোস্টটি আপনার জন্য একটি গেম-চেঞ্জার হতে চলেছে। এই আর্টিকেলে আমরা শিখব কিভাবে শুধুমাত্র একটি ছোট JavaScript কোড ব্যবহার করে আপনার ওয়েবসাইটের সব ইংরেজি সংখ্যা, মাস, দিন এবং টাইমস্ট্যাম্পের শব্দগুলো (যেমন: minutes, hours ago) স্বয়ংক্রিয়ভাবে বাংলায় পরিবর্তন করা যায়। এর ফলে আপনার ওয়েবসাইটটি হবে সম্পূর্ণ লোকাল এবং ইউজার-ফ্রেন্ডলি।
১. কেন আপনার সাইটে সবকিছু ইংরেজিতে দেখায়? 🤔
বেশিরভাগ ওয়েবসাইট বা ব্লগ তৈরি হয় ইংরেজি ভাষার ডিফল্ট সেটিং ব্যবহার করে। এর প্রধান কারণগুলো হলো:
- টেকনোলজির ডিফল্ট সেটিং: ওয়েবসাইট তৈরির মূল প্রযুক্তিগুলো, যেমন PHP, JavaScript, এবং বিভিন্ন ডেটাবেস—এগুলো মূলত ইংরেজি (বা ল্যাটিন-ভিত্তিক) অক্ষর, সংখ্যা এবং তারিখ ফরম্যাটকে ডিফল্ট হিসেবে ব্যবহার করে।
- সার্ভার ও প্ল্যাটফর্মের ভাষা: বিশ্বের বেশিরভাগ ওয়েব সার্ভার, ডোমেইন এবং হোস্টিং প্ল্যাটফর্ম ইংরেজি-ভিত্তিক হওয়ায় তারা তারিখ ও সময়কে ইংরেজি ফরম্যাটে পরিবেশন করে।
- CMS ডিফল্ট: WordPress, Blogger, বা Shopify-এর মতো কন্টেন্ট ম্যানেজমেন্ট সিস্টেম (CMS) গুলোও আন্তর্জাতিক ব্যবহারকারীদের কথা মাথায় রেখে ইংরেজিকে প্রধান ভাষা হিসেবে রাখে।
বাংলাভাষী ব্যবহারকারীদের জন্য বাংলা কেন জরুরি?
আপনার লক্ষ্য যদি হয় বাংলা ভাষাভাষী ইউজার বা বাংলাদেশের ভিজিটর, তবে তাদের জন্য সাইটের সবকিছু বাংলায় দেখানোটা অত্যন্ত জরুরি।
- উন্নত ইউজার এক্সপেরিয়েন্স (UX): একজন পাঠক যখন পুরো সাইট বাংলায় দেখবে, তখন তারা একাত্মতা অনুভব করবে। সবকিছু তাদের পরিচিত ভাষায় হওয়ায় কনটেন্ট পড়া ও বোঝা আরও সহজ হবে।
- পেশাদারিত্ব: একটি বাংলা ব্লগ বা সাইটে তারিখ, সংখ্যা এবং সময় সম্পর্কিত শব্দগুলো বাংলায় থাকলে সেটা অনেক বেশি পেশাদার এবং স্থানীয় (Localized) মনে হয়।
- বিশ্বাসযোগ্যতা: যখন একজন ইউজার দেখবে আপনি তাদের ভাষাকে সম্মান করছেন এবং সম্পূর্ণ লোকাল অভিজ্ঞতা দিচ্ছেন, তখন আপনার ব্র্যান্ড বা সাইটের প্রতি তাদের বিশ্বাস বাড়বে।
২. ইংরেজি ডেট ও সংখ্যা কেন বেমানান?
বাংলা কনটেন্টের মাঝে ইংরেজি সংখ্যা বা তারিখ দেখলে একটা বেমানান (Unprofessional) ভাব চলে আসে। একটু চিন্তা করুন:
“এটি 03 March 2024 তারিখে পোস্ট করা হয়েছিল এবং সর্বশেষ 5 hours ago আপডেট করা হয়েছে।”
এর চেয়ে নিচের বাক্যটি দেখতে কত বেশি সাবলীল এবং স্বচ্ছন্দ:
“এটি ০৩ মার্চ ২০২৪ তারিখে পোস্ট করা হয়েছিল এবং সর্বশেষ ৫ ঘণ্টা আগে আপডেট করা হয়েছে।”
পাঠকরা আজকাল পুরোপুরি স্থানীয়করণ (Fully Localized) করা কন্টেন্ট আশা করেন। এর মধ্যে রয়েছে:
- সংখ্যা (1, 2, 3 → ১, ২, ৩)
- মাস (January, Feb → জানুয়ারি, ফেব্রুয়ারি)
- সপ্তাহের দিন (Sunday, Monday → রবিবার, সোমবার)
- টাইমস্ট্যাম্পের শব্দ (hours ago, minutes ago → ঘণ্টা আগে, মিনিট আগে)
যদি এগুলো ইংরেজিতে থাকে, তবে আপনার সাইটটি কিছুটা অসম্পূর্ণ মনে হতে পারে।
৩. বাংলা সংখ্যা ও তারিখ দেখানোর দুটি উপায়
আপনার ওয়েবসাইটে ইংরেজি সংখ্যা ও তারিখকে বাংলায় দেখানোর দুটি প্রধান উপায় আছে:
পদ্ধতি ১: ব্যাকএন্ড/PHP মেথড (শুধুমাত্র WordPress-এর জন্য)
এটি সবচেয়ে ভালো পদ্ধতি। আপনি যদি ওয়ার্ডপ্রেস ব্যবহার করেন, তবে আপনি ওয়ার্ডপ্রেসের সেটিংসে গিয়ে সাইটের ভাষা পরিবর্তন করে (Settings > General > Site Language) বাংলা করে দিতে পারেন।
আসলে কি সাইট ল্যাঙ্গুয়েজ বাংলা করে দিলেই সমাধান হয়ে গেলো? না, কখনোই না। এটা শুধুই আপনার wp dashboard এর ভাষা বাংলাই রূপান্তর করে, তাহলে উপায়? আছে, কিছু প্লাগইন বা থিমের কোডে PHP ফাংশন যেমন date_i18n() ব্যবহার করে তারিখকে বাংলায় রূপান্তর করা যায়।
- সুবিধা: এটি সার্ভার-সাইড থেকে লোড হওয়ায় খুব দ্রুত কাজ করে।
- অসুবিধা: শুধুমাত্র WordPress-এর জন্যই প্রযোজ্য। অন্যান্য প্ল্যাটফর্মে (Blogger, Laravel, React, HTML) এই পদ্ধতি কাজ করবে না। এমন কি ওয়ার্ডপ্রেসে ও অনেক সময় সঠিক ভাবে কাজ করে না।
পদ্ধতি ২: ফ্রন্টএন্ড/JavaScript মেথড (ইউনিভার্সাল সমাধান)
এটিই হলো সর্বোত্তম এবং সার্বজনীন পদ্ধতি। এখানে আমরা একটি ছোট JavaScript কোড ব্যবহার করব যা আপনার ভিজিটরের ব্রাউজারে লোড হওয়ার সাথে সাথেই পুরো ওয়েবসাইটের টেক্সট স্ক্যান করে ইংরেজি সংখ্যা, মাস, দিন এবং টাইমস্ট্যাম্পের শব্দগুলোকে বাংলায় পরিবর্তন করে দেবে।
- সুবিধা: এটি যেকোনো ওয়েবসাইটে কাজ করবে – WordPress, Blogger, সাধারণ HTML, Laravel, React, Vue, Shopify, ইত্যাদি।
- অসুবিধা: ব্রাউজারে লোড হওয়ার পর পরিবর্তন হয়, তবে কোডটি খুব ছোট হওয়ায় এর জন্য ইউজারকে অপেক্ষা করতে হয় না।
এই পোস্টটিতে আমরা পদ্ধতি ২-এর ধাপে ধাপে আলোচনা করব, যা সবার জন্য প্রযোজ্য।
৪. জাভাস্ক্রিপ্ট পদ্ধতি (JavaScript Method)
এই পদ্ধতি ব্যবহার করার জন্য আপনার কোডিং সম্পর্কে গভীর জ্ঞান থাকার দরকার নেই। শুধু নিচের সম্পূর্ণ কোডটি কপি করে আপনার ওয়েবসাইটের সঠিক জায়গায় বসিয়ে দিন।
কোড বসানোর স্থান:
আপনাকে এই JavaScript কোডটি আপনার ওয়েবসাইটের Footer বা যেখানে <script> ট্যাগ বসানো যায়, সেখানে যুক্ত করতে হবে।
- WordPress: থিমের
footer.phpফাইলের একেবারে শেষে</body>ট্যাগের আগে। অথবা, Header and Footer Scripts জাতীয় কোনো প্লাগইন ব্যবহার করে Footer সেকশনে। - Blogger: আপনার থিমের HTML এডিটরে গিয়ে
</body>ট্যাগের আগে। - HTML/অন্যান্য: আপনার
<head>ট্যাগের আগে বা</body>ট্যাগের ঠিক আগে। - React/Vue/Laravel: আপনার মূল লেআউট ফাইল (main layout file) বা কম্পোনেন্টের শেষে।
সম্পূর্ণ কম্প্রেসড জাভাস্ক্রিপ্ট কোড:
নিচের কোডটি কপি করে আপনার সাইটে যুক্ত করুন:
৫. এই কোড কিভাবে কাজ করে?
এই কোডটি খুবই শক্তিশালী কিন্তু হালকা। এখানে এর কার্যপ্রণালী ব্যাখ্যা করা হলো: চাইলে এড়িয়ে যেতে পারেন।
- ম্যাপিং টেবিল: কোডের শুরুতে চারটি কন্সট্যান্ট (Constant) ভ্যারিয়েবল তৈরি করা হয়েছে:
mapNum,mapTime,mapMonth, এবংmapDay। এগুলো হলো মূলত ইংরেজি শব্দ/সংখ্যার সাথে তার বাংলা প্রতিশব্দের একটি ডিকশনারি বা ম্যাপিং টেবিল। convertTextফাংশন: এই ফাংশনটি একটি টেক্সট স্ট্রিং গ্রহণ করে এবং ম্যাপিং টেবিলের উপর ভিত্তি করে পরিবর্তনগুলো ঘটায়:- সংখ্যা:
t.replace(/[0-9]/g,m=>mapNum[m])লাইনটি Regular Expression ব্যবহার করে ওয়েবসাইটের সব ইংরেজি সংখ্যাকে (0-9) তার বাংলা প্রতিশব্দ দিয়ে প্রতিস্থাপন করে। - মাস, দিন, শব্দ: এরপর এটি লুপ ব্যবহার করে মাস (January, Jan), দিন (Sunday, Sun) এবং সময়-সম্পর্কিত শব্দগুলোকে (hours, ago) বাংলায় পরিবর্তন করে।
- সংখ্যা:
walkফাংশন (প্রাথমিক পরিবর্তন):walk(document.body);লাইনটি ওয়েবসাইটের ইতিমধ্যে লোড হওয়া সমস্ত কন্টেন্ট (body) স্ক্যান করে এবং সব টেক্সট নোডের উপরconvertTextফাংশন প্রয়োগ করে।MutationObserver(ডায়নামিক পরিবর্তন): এটিই এই কোডটিকে অনন্য করে তোলে! ওয়েবসাইট লোড হওয়ার পর যদি কোনো কন্টেন্ট ডায়নামিকভাবে (যেমন, AJAX কল বা ইউজার স্ক্রোল করার পর) লোড হয়, তখন এইMutationObserverসেই নতুন কন্টেন্টকে সাথে সাথে স্ক্যান করে এবং বাংলায় রূপান্তর করে দেয়।- ডিজাইন-সেফটি: এই কোডটি শুধুমাত্র টেক্সট নোড (Node Type 3) এর উপর কাজ করে। এর মানে হলো, এটি আপনার HTML ট্যাগ, CSS ক্লাস, ইনপুট ফিল্ডের ভ্যালু, বাটন, SVG ইত্যাদির কোডকে স্পর্শ করবে না। ফলে আপনার ওয়েবসাইটের ডিজাইন বা কার্যকারিতা নষ্ট হওয়ার কোনো আশঙ্কা নেই।
৬. ফলাফল /পরিবর্তনটি দেখুন
এই কোডটি যুক্ত করার পরে আপনার সাইটে কেমন পরিবর্তন আসবে তার একটি তুলনামূলক চিত্র নিচে দেওয়া হলো:
| বিষয় | ইংরেজিতে (আগে) | বাংলায় (পরে) |
|---|---|---|
| সাধারণ সংখ্যা | 1,234,567 | ১,২৩৪,৫৬৭ |
| তারিখ | 12 December 2025 | ১২ ডিসেম্বর ২০২৫ |
| মাস (সংক্ষেপ) | Mar 15, 2024 | মার্চ ১৫, ২০২৪ |
| সপ্তাহের দিন | Sunday, 7 August | রবিবার, ৭ আগস্ট |
| টাইমস্ট্যাম্প | 3 hours ago | ৩ ঘণ্টা আগে |
| টাইমস্ট্যাম্প | 1 minute ago | ১ মিনিট আগে |
| টাইমস্ট্যাম্প | 4 weeks ago | ৪ সপ্তাহ আগে |

৭. সেরা অনুশীলন (Best Practices)
আপনার সাইটে এই কোডটি যুক্ত করার সময় নিচের বিষয়গুলো মনে রাখুন:
১. কোথায় কোড রাখবেন:
- সবচেয়ে ভালো জায়গা হলো
</body>ট্যাগের ঠিক আগের অংশ। এতে পুরো পেজ লোড হওয়ার পরে দ্রুত পরিবর্তনটি ঘটে যায়। - ওয়ার্ডপ্রেসে, এটিকে একটি আলাদা কাস্টম JS প্লাগইন বা আপনার চাইল্ড থিমের
functions.phpফাইলের মাধ্যমে এনকিউ করে দেওয়া সবচেয়ে নিরাপদ।
২. অ্যাডমিন প্যানেল বাদ দিন:
যদি আপনার অ্যাডমিন প্যানেল বা এডিটর এলাকা থাকে (যেমন WordPress-এর ড্যাশবোর্ড), তবে সেখানে এই কোড লোড হওয়া উচিত নয়। কারণ এতে ইনপুট ফিল্ডের ইংরেজি সংখ্যাগুলোও বাংলায় পরিবর্তিত হতে পারে(না হওয়ার সম্ভাবনাই বেশি), যা ভুল তথ্য সেভ করতে পারে।
- ওয়ার্ডপ্রেসে করণীয়: কোডটি শুধুমাত্র ভিজিটরদের দেখার জন্য লোড করার জন্য
wp_footerহুকে নিচের শর্ত যোগ করতে পারেন:if ( ! is_admin() ) { // এখানে আপনার <script> ট্যাগটি রাখুন }
৩. সর্বজনীন ব্যবহার:
এই পদ্ধতিটি এর সার্বজনীনতা-র জন্য চমৎকার:
- WordPress: ✔️
- Blogger: ✔️
- Pure HTML: ✔️
- Laravel/PHP: ✔️
- React/Vue/Angular (SPA): ✔️ (MutationObserver থাকায় ডায়নামিক কন্টেন্টেও কাজ করে)
- Shopify/WooCommerce: ✔️
প্রশ্ন উত্তর দিয়ে ইনকাম করতে চাইলে ঘুরে আসতে পারেন AnsBD থেকে।
৮. সমাপ্তি
আপনার ওয়েবসাইটে বাংলা সংখ্যা, তারিখ ও সময় সম্পর্কিত শব্দগুলো সঠিকভাবে ব্যবহার করার গুরুত্ব অপরিসীম। এটি কেবল একটি ভাষাগত পরিবর্তন নয়, বরং আপনার ইউজার এক্সপেরিয়েন্স (UX) এবং ব্যবহারকারীর সংযোগ (Engagement) উন্নত করার একটি নিশ্চিত উপায়।
এই সহজ JavaScript কোডটি ব্যবহার করে আপনার বাংলা ওয়েবসাইটকে দিন একটি সম্পূর্ণ স্থানীয় রূপ। এটি আপনার পাঠকদের মাঝে আস্থা তৈরি করবে এবং তাদের বারবার আপনার সাইটে ফিরে আসতে উৎসাহিত করবে।
এখনই কোডটি আপনার সাইটে প্রয়োগ করুন এবং দেখুন আপনার পাঠকরা কিভাবে আরও বেশি কানেক্টেড ফিল করে!
যদি কোড বসানো নিয়ে কোনো সমস্যায় পড়েন, কমেন্ট বক্সে জানাতে পারেন। আমি সাহায্য করতে প্রস্তুত! আছি ইনশাল্লাহ।
৯. সচরাচর জিজ্ঞাস্য (FAQ) ❓
১. এই কোডটি কি আমার সাইটের গতি কমিয়ে দেবে?
না। এই কোডটি খুবই ছোট এবং অত্যন্ত অপটিমাইজড। এটি ব্রাউজারে মিলি-সেকেন্ডের মধ্যে লোড হয় এবং কার্যকর হয়। MutationObserver-ও খুব দক্ষতার সাথে নতুন কন্টেন্ট মনিটর করে, তাই সাইটের গতিতে কোনো উল্লেখযোগ্য প্রভাব ফেলবে না।
২. আমার সাইটে কি বাংলা ফন্ট ইনস্টল থাকতে হবে?
হ্যাঁ। তবে বেশিরভাগ আধুনিক বাংলাভাষী ভিজিটরের ডিভাইসে (কম্পিউটার, মোবাইল) ডিফল্টভাবেই বাংলা ফন্ট (যেমন SolaimanLipi, Kalpurush) ইনস্টল থাকে। এই কোডটি ফন্ট পরিবর্তন করে না, শুধুমাত্র ইংরেজি অক্ষরকে তার বাংলা প্রতিশব্দ দিয়ে প্রতিস্থাপন করে।
৩. সংখ্যা বা তারিখের ফরম্যাট কি পরিবর্তন করা যাবে?
এই কোডটি শুধুমাত্র ইংরেজি অক্ষর/সংখ্যাকে বাংলায় রূপান্তর করে। এটি তারিখের ফরম্যাট (যেমন YYYY/MM/DD → MM/DD/YYYY) পরিবর্তন করে না। যদি আপনি তারিখের ফরম্যাট পরিবর্তন করতে চান, তাহলে আপনাকে আপনার CMS (যেমন WordPress-এর সেটিংস) বা সার্ভার-সাইড লজিক ব্যবহার করতে হবে।
৪. আমি কি শুধু সংখ্যা বা শুধু মাস পরিবর্তন করতে পারি?
অবশ্যই। আপনি যদি শুধুমাত্র সংখ্যা পরিবর্তন করতে চান, তাহলে কোডের mapMonth, mapDay, এবং mapTime অংশগুলো এবং convertText ফাংশনে তাদের সাথে সম্পর্কিত প্রতিস্থাপন লাইনগুলো (যেমন: for(const en in mapMonth) t=t.replace(...)) বাদ দিতে পারেন।
৫. এই কোড কি ইনপুট ফিল্ডের লেখাও পরিবর্তন করবে?
না। এই কোডটি শুধুমাত্র document.body-এর মধ্যে থাকা টেক্সট নোড (যা দৃশ্যমান কন্টেন্ট) পরিবর্তন করে। এটি <input>, <textarea>, বা <button> ট্যাগের ভ্যালু (value) বা অ্যাট্রিবিউট পরিবর্তন করে না। তাই ফর্ম বা ইনপুট ফিল্ডে সাধারণত কোনো সমস্যা হওয়ার কথা নয়।
যেকোনো ফ্রী স্ক্রীপ্ট, ব্লগ,নিউজ থিম ফ্রিতেই পেতে যুক্ত হোন ScriptBD তে।
তো বন্ধুরা আজকের মতো এখানেই শেষ করতেছি, দেখা হবে নতুন কোনো পোস্টে ধন্যবাদ।

