ওয়ার্ডপ্রেসে চাইল্ড থিমে অনুবাদ যোগ করা

সর্বশেষ আপডেট:

ওয়ার্ডপ্রেসে (WordPress) আপনি যদি ইংরেজি ছাড়া অন্য কোনো ভাষায় আপনার সাইট পরিচালনা করতে চান, তাহলে ঐ ভাষাটি ড্যাশবোর্ডে সিলেক্ট করে নিতে হবে। এক্ষেত্রে থিমের ইংরেজি টেক্সটগুলো অনুবাদ করার প্রয়োজন হতে পারে। কেননা, আপনার পছন্দের থিমে কাঙ্ক্ষিত ভাষা নাও থাকতে পারে। আবার ভাষা সাপোর্ট করলেও অনুবাদকৃত টেক্সটগুলো আপনার পছন্দসই নাও হতে পারে।

থিমের টেক্সট অনুবাদ করার প্রক্রিয়া:

সাধারণত কোনো থিমের Root ফোল্ডারে languages নামে একটি ফোল্ডার থাকে। এ ফোল্ডারের ভিতরে অনুবাদ সম্পর্কিত ফাইলগুলো থাকে। আপনি যদি কোনো ভাষায় নতুন করে অনুবাদ করতে চান তবে .pot এক্সটেনশনযুক্ত ফাইলটি ব্যবহার করতে হবে। আর পুরনো অনুবাদ আপডেট করতে চাইলে .po এক্সটেনশনযুক্ত আপনার ভাষার ফাইলটি, যেমন বাংলার জন্য bn_BD.po ফাইলটি ব্যবহার করুন।

এখন Poedit সফটওয়্যারটি ডাউনলোড করে ইন্সটল করে নিন। .pot অথবা .po এক্সটেনশনযুক্ত ফাইলটি Open করুন। কাঙ্ক্ষিত ভাষাটি সিলেক্ট করে English টেক্সটগুলোতে গিয়ে গিয়ে অনুবাদ করে নিন। অনুবাদ করার সময় হয়তো কিছু কিছু শব্দ বা Symbol আপনার কাছে অদ্ভুত মনে হতে পারে। যেমন, %s, %1$s ইত্যাদি। এগুলো আসলে কোনো শব্দ নয়। এগুলো Placeholder হিসেবে কাজ করে। অর্থাৎ, যখন কোনো পেজ প্রদর্শন করবে তখন এসব Placeholder Text গুলো কাঙ্ক্ষিত/প্রয়োজনীয় টেক্সট দ্বারা পরিবর্তিত হয়ে যাবে। তাই অনুবাদ করার সময় এ Placeholder Text-গুলো যেমন আছে হুবহু তেমনই রাখুন। কোনো ধরনের পরিবর্তন যেন না হয় সেজন্য Copy from source text (Ctrl + B) ব্যবহার করতে পারেন। আবার, অনুবাদের সময় HTML কোডও পেতে পারেন। সেগুলোও যেমন আছে তেমনই রাখুন। মোটকথা বোধগম্য ভাষার টেক্সটটাই শুধু অনুবাদ করতে হবে।

অনুবাদ করা শেষ হয়ে গেলে সেভ করুন। .po এবং .mo এক্সটেনশনযুক্ত দুটি ফাইল তৈরি হবে। এ দুটি ফাইলই আমরা চাইল্ড থিমে ব্যবহার করব আমাদের Front-end-এ ভাষা পরিবর্তনের জন্য।

অনুবাদকৃত ফাইলের ব্যবহার:

আপনার চাইল্ড থিমে languages নামে একটি ফোল্ডার তৈরি করে উক্ত .po এবং .mo এক্সটেনশনযুক্ত ফাইল দুটি সেখানে সেভ করুন। ওয়ার্ডপ্রেস Default হিসেবে প্যারেন্ট থিমের অনুবাদ অনুসরণ করে। কিন্তু আমরা চাই, আমাদের অনুবাদকৃত টেক্সট দেখাক। তাই চাইল্ড থিমের functions.php ফাইল ওপেন করে নিচের কোডগুলো পেস্ট করুন।

 // Load translation files from your child theme instead of the parent theme
function my_child_theme_locale() {
    load_child_theme_textdomain( 'parent-theme-slug', get_stylesheet_directory() . '/languages' );
}
add_action( 'after_setup_theme', 'my_child_theme_locale' );

এখানে ‘parent-theme-slug’ টেক্সটটিকে আপনার প্যারেন্ট থিমের Slug / Text Domain দ্বারা পরিবর্তন করুন।
Slug বা Text Domain হলো একটি Unique ID যা প্রত্যেকটা থিমের জন্য আলাদা আলাদা হয়। আপনার প্যারেন্ট থিমের Root ফোল্ডারে style.css ফাইলের শুরুর দিকে থিমের Text Domain পেতে পারেন। আবার থিমের বিভিন্ন ফাংশনেও এটি ব্যবহৃত হয়, যেখান থেকে আপনি Text Domain পেতে পারেন।

এই নিবন্ধটি তৈরিতে যেসব লিংকের সহায়তা নেয়া হয়েছে:

শেয়ার, কমেন্ট, মেইল বা প্রিন্ট করুন

Leave a Reply