Yii ফ্রেমওয়ার্ক আন্তর্জাতিকীকরণ (i18n) এবং স্থানীয়ীকরণ (l10n) সমর্থন করে, যা অ্যাপ্লিকেশনটি বিভিন্ন ভাষায় প্রদর্শন করতে সহায়তা করে। Yii-তে ভাষা ফাইল এবং ট্রান্সলেশন ব্যবস্থাপনা একটি গুরুত্বপূর্ণ অংশ, যা আপনাকে সহজেই বিভিন্ন ভাষায় অ্যাপ্লিকেশনের ইন্টারফেস তৈরি করতে সক্ষম করে।
i18n এবং l10n কি?
- i18n (Internationalization): অ্যাপ্লিকেশনকে এমনভাবে ডিজাইন করা যাতে এটি বিভিন্ন ভাষা এবং সংস্কৃতির জন্য সহজেই কাস্টমাইজ করা যায়।
- l10n (Localization): i18n-এ তৈরি করা অ্যাপ্লিকেশনকে বিশেষ কোনো ভাষা বা অঞ্চলের জন্য কাস্টমাইজ করা।
Yii ফ্রেমওয়ার্কে, i18n এবং l10n ব্যবস্থাপনার জন্য ভাষা ফাইল (language files) ব্যবহার করা হয়, যা ট্রান্সলেশন স্ট্রিং এবং অন্যান্য স্থানীয় ভাষার ডেটা ধারণ করে।
Yii তে ভাষা ফাইলস
Yii ফ্রেমওয়ার্ক ভাষা ফাইলগুলি messages/ ডিরেক্টরিতে সংরক্ষণ করে। এই ফাইলগুলো সাধারণত PHP অ্যারে হিসেবে তৈরি হয় এবং একে একে বিভিন্ন ভাষায় অনুবাদ করা হয়।
ভাষা ফাইলের গঠন
Yii তে ভাষা ফাইলের গঠন সাধারণত এমন হয়:
/messages
/en-US
app.php
/fr-FR
app.php
en-US/app.phpফাইলটি ইংরেজি ভাষার জন্য অনুবাদ স্ট্রিং ধারণ করে।fr-FR/app.phpফাইলটি ফরাসি ভাষার জন্য অনুবাদ স্ট্রিং ধারণ করে।
ভাষা ফাইলের উদাহরণ
en-US/app.php:
return [
'Welcome' => 'Welcome to our site!',
'Hello, {name}' => 'Hello, {name}!',
];
fr-FR/app.php:
return [
'Welcome' => 'Bienvenue sur notre site!',
'Hello, {name}' => 'Bonjour, {name}!',
];
এইভাবে, আপনি প্রতিটি ভাষার জন্য আলাদা আলাদা ফাইল তৈরি করতে পারেন এবং এতে প্রয়োজনীয় অনুবাদ স্ট্রিং যোগ করতে পারেন।
Yii তে ট্রান্সলেশন
Yii ফ্রেমওয়ার্কে ট্রান্সলেশন করার জন্য Yii::t() মেথড ব্যবহার করা হয়। এই মেথড একটি ট্রান্সলেশন স্ট্রিং ব্যবহার করে নির্দিষ্ট ভাষায় অনুবাদ প্রদর্শন করে।
ট্রান্সলেশন ব্যবহারের উদাহরণ
echo Yii::t('app', 'Welcome');
এখানে, 'app' হচ্ছে ভাষা ফাইলের ক্যাটেগরি (যেমন app.php), এবং 'Welcome' হচ্ছে স্ট্রিং যা ট্রান্সলেট হবে।
আপনি যদি ফ্রেঞ্চ ভাষায় ট্রান্সলেশন করতে চান, এবং সিস্টেমের লোকেশন ফ্রেঞ্চ হিসেবে সেট করা থাকে, তাহলে এটি "Bienvenue sur notre site!" হিসাবে প্রদর্শিত হবে।
ভাষা নির্বাচন এবং কনফিগারেশন
Yii ফ্রেমওয়ার্কে ভাষা নির্বাচন করা সহজ। আপনি অ্যাপ্লিকেশনের কনফিগারেশন ফাইলে language কনফিগারেশন সেটিংস ব্যবহার করে ভাষা নির্ধারণ করতে পারেন।
ভাষা সেট করা
'language' => 'en-US', // ইংরেজি ভাষা ব্যবহার
আপনি যদি অ্যাপ্লিকেশনটির ভাষা পরিবর্তন করতে চান, আপনি নিম্নলিখিতভাবে এটি করতে পারেন:
Yii::$app->language = 'fr-FR'; // ফরাসি ভাষা সেট করা
এটি সেশন বা কুকি ব্যবহার করে ভাষা পরিবর্তন করতে সাহায্য করে, যাতে ইউজার অ্যাপ্লিকেশনের ভাষা পরিবর্তন করতে পারেন।
ডাইন্যামিক ট্রান্সলেশন
Yii তে আপনি ভাষা পরিবর্তন করার সময় কাস্টম ডাটা যেমন ইউজারের নাম, বয়স ইত্যাদি ডায়নামিকালি ট্রান্সলেট করতে পারেন। এর জন্য {} চিহ্ন ব্যবহার করা হয়।
উদাহরণ
echo Yii::t('app', 'Hello, {name}', ['name' => 'John']);
এই কোডটি ইংরেজি ভাষায় "Hello, John!" এবং ফরাসি ভাষায় "Bonjour, John!" প্রদর্শন করবে, যদি ফরাসি ভাষা নির্বাচিত থাকে।
i18n এবং l10n এর উন্নত ব্যবহার
Yii তে আরও উন্নত i18n এবং l10n ব্যবস্থাপনা করা যায়, যেমন:
ডেটা ফর্ম্যাটিং: Yii স্বয়ংক্রিয়ভাবে ভাষার ভিত্তিতে তারিখ, সময় এবং সংখ্যার ফরম্যাট পরিবর্তন করে। উদাহরণস্বরূপ:
echo Yii::$app->formatter->asDate('2024-12-15', 'long'); // "December 15, 2024" অথবা "15 décembre 2024"- ভাষা-নির্ভর কনটেন্ট: আপনি বিভিন্ন ভাষার জন্য বিশেষ কনটেন্ট শো করতে পারেন। উদাহরণস্বরূপ, কিছু ছবি বা মেনু অপশন বিভিন্ন ভাষায় ভিন্ন হতে পারে।
- কাস্টম ভাষা ফাইল: Yii তে আপনি কাস্টম ভাষা ফাইল তৈরি করতে পারেন, যেখানে ডেভেলপারদের নির্দিষ্ট ট্রান্সলেশন স্ট্রিং দেওয়া হয়। এটি বড় প্রকল্পে বিশেষভাবে সাহায্য করে যেখানে অনেক কাস্টম ফিচার প্রয়োজন।
সারাংশ
Yii ফ্রেমওয়ার্কে i18n এবং l10n ব্যবস্থাপনার জন্য ভাষা ফাইল এবং ট্রান্সলেশন ব্যবস্থাপনা গুরুত্বপূর্ণ ভূমিকা পালন করে। Yii::t() মেথডের মাধ্যমে সহজে ট্রান্সলেশন করা যায় এবং ভাষা ফাইলগুলো বিভিন্ন ভাষায় অনুবাদ সংরক্ষণ করে। Yii তে ভাষা নির্বাচন এবং কনফিগারেশন সহজ, এবং ডেভেলপাররা ডায়নামিক ট্রান্সলেশন ও কাস্টম ভাষা ফাইল ব্যবহার করতে পারেন। এই সব বৈশিষ্ট্য Yii-কে একাধিক ভাষার অ্যাপ্লিকেশন তৈরির জন্য একটি শক্তিশালী প্ল্যাটফর্ম হিসেবে প্রতিষ্ঠিত করে।
Read more