Locale Switching এবং Formatting

ইন্টারন্যাশনালাইজেশন (i18n) এবং লোকালাইজেশন (l10n) - জী ফ্রেমওয়ার্ক (Yii Framework) - Web Development

356

Yii ফ্রেমওয়ার্কে Locale Switching এবং Formatting হলো এমন দুটি গুরুত্বপূর্ণ ফিচার, যা আন্তর্জাতিককরণ (i18n) এবং স্থানীয়করণ (l10n) প্রক্রিয়াকে সহজ এবং কার্যকরী করে তোলে। Locale হল একটি ব্যবহারকারী বা সিস্টেমের ভাষা, দেশের সংযোগ বা সেটিং, যা বিভিন্ন কনটেন্ট ফরম্যাটিং, তারিখ, সময়, সংখ্যা এবং মুদ্রার ফরম্যাটিং নির্ধারণে সহায়ক।

Yii ফ্রেমওয়ার্কের Locale Switching ফিচার ব্যবহারকারীদের ইন্টারফেসে বিভিন্ন ভাষার মধ্যে পরিবর্তন করতে সহায়তা করে, এবং Formatting ফিচারটি ব্যবহারকারীর অঞ্চলের ভিত্তিতে ডেটা প্রদর্শন করতে সক্ষম করে। এটি অ্যাপ্লিকেশনটিকে বিভিন্ন ভাষায় এবং অঞ্চলে ব্যবহারযোগ্য করে তোলে, যা গ্লোবালাইজেশন (Localization) এবং আন্তর্জাতিককরণ (Internationalization) প্রক্রিয়া সহজ করে।


Locale Switching

Locale Switching হল এমন একটি প্রক্রিয়া যেখানে ব্যবহারকারীরা তাদের পছন্দের ভাষা বা অঞ্চলের জন্য অ্যাপ্লিকেশন কনটেন্ট দেখতে পারেন। Yii ফ্রেমওয়ার্কে, এটি সহজে কনফিগার করা যায় এবং বিভিন্ন ভাষার ফাইল ব্যবহৃত হয়।

১. Locale সেটআপ

প্রথমে, আপনাকে config/web.php ফাইলে ভাষা সেটআপ করতে হবে। Yii ফ্রেমওয়ার্ক language কম্পোনেন্টের মাধ্যমে অ্যাপ্লিকেশনের ডিফল্ট ভাষা নির্ধারণ করে।

config/web.php

'language' => 'en-US',  // ডিফল্ট ভাষা ইংরেজি

এখানে 'en-US' সেট করা হয়েছে, যা ইংরেজি (যুক্তরাষ্ট্র) ভাষা নির্ধারণ করে। আপনি চাইলে অন্য ভাষাও সেট করতে পারেন, যেমন 'bn-BD' (বাংলা, বাংলাদেশ)।

২. ভাষার ফাইল তৈরি করা

আপনি চাইলে আপনার অ্যাপ্লিকেশনকে একাধিক ভাষায় সমর্থন দিতে পারেন। Yii ভাষার ফাইলগুলি messages ডিরেক্টরিতে সংরক্ষণ করে। প্রতিটি ভাষার জন্য আলাদা একটি ফোল্ডার তৈরি করুন এবং তার মধ্যে PHP অ্যারে ব্যবহার করে ভাষার টেক্সটগুলো সংরক্ষণ করুন।

উদাহরণ: বাংলায় ভাষার ফাইল তৈরি করা:

  1. messages/bn-BD/app.php ফাইল তৈরি করুন।
  2. এই ফাইলে আপনি প্রয়োজনীয় টেক্সট এর অনুবাদ দেবেন।
return [
    'Hello, world!' => 'হ্যালো, বিশ্ব!',
    'Welcome to Yii Framework' => 'Yii ফ্রেমওয়ার্কে স্বাগতম',
];

এখানে, আপনি বাংলা ভাষায় Hello, world! এবং Welcome to Yii Framework এর অনুবাদ করেছেন।

৩. ভাষা পরিবর্তন (Locale Switching)

ব্যবহারকারীকে ভাষা পরিবর্তন করতে দিতে, আপনার ভিউ বা কন্ট্রোলারে একটি ভাষা নির্বাচন সিস্টেম তৈরি করতে হবে। সাধারণত, এটি একটি ড্রপডাউন মেনু বা একটি URL প্যারামিটার মাধ্যমে করা হয়।

Controller (ভাষা পরিবর্তন করার উদাহরণ):

public function actionSwitchLanguage($language)
{
    if (in_array($language, ['en-US', 'bn-BD'])) {
        Yii::$app->language = $language;
    }
    return $this->redirect(Yii::$app->request->referrer);
}

এখানে, কন্ট্রোলারটি $language প্যারামিটারটি গ্রহণ করে এবং এটি একটি বৈধ ভাষা হলে, ব্যবহারকারীর ভাষা সেট করে।

View (ভাষা নির্বাচন ড্রপডাউন):

<?php
echo yii\helpers\Html::dropDownList('language', Yii::$app->language, [
    'en-US' => 'English',
    'bn-BD' => 'বাংলা',
], [
    'onchange' => 'this.form.submit()',
    'form' => 'language-form'
]);
?>

এটি একটি ড্রপডাউন তৈরি করবে, যেখানে ব্যবহারকারী তাদের পছন্দসই ভাষা নির্বাচন করতে পারবে এবং তা পরিবর্তন হবে।


Formatting

Yii ফ্রেমওয়ার্কে Formatting আপনাকে আপনার অ্যাপ্লিকেশনটি বিভিন্ন অঞ্চলের জন্য উপযুক্তভাবে ডেটা প্রদর্শন করতে সাহায্য করে। এটি বিশেষ করে তারিখ, সময়, সংখ্যা, মুদ্রা ইত্যাদি ফরম্যাটিং করতে ব্যবহৃত হয়।

১. তারিখ এবং সময় ফরম্যাটিং

Yii 2 তারিখ এবং সময় প্রদর্শন করতে শক্তিশালী DateFormatter ক্লাস প্রদান করে। আপনি Yii::$app->formatter ব্যবহার করে সহজেই স্থানীয়তার উপর ভিত্তি করে তারিখ এবং সময় ফরম্যাট করতে পারবেন।

Date and Time Formatting Example:

echo Yii::$app->formatter->asDate('2024-12-25', 'long');  // December 25, 2024
echo Yii::$app->formatter->asTime('2024-12-25 14:30:00', 'short'); // 2:30 PM
  • asDate() তারিখ ফরম্যাট করে এবং 'long' প্যারামিটারটি একটি দীর্ঘ ফরম্যাটে তারিখ দেখাবে।
  • asTime() সময় ফরম্যাট করে এবং 'short' প্যারামিটারটি একটি সংক্ষিপ্ত ফরম্যাটে সময় দেখাবে।

২. সংখ্যা এবং মুদ্রা ফরম্যাটিং

Yii আপনাকে সংখ্যা এবং মুদ্রা ফরম্যাট করার জন্য asDecimal(), asCurrency() এবং asPercent() ফরম্যাটিং ফাংশন প্রদান করে।

Currency Formatting Example:

echo Yii::$app->formatter->asCurrency(12345.67);  // $12,345.67 (USD)
echo Yii::$app->formatter->asCurrency(12345.67, 'bdt'); // ৳12,345.67 (BDT)
  • asCurrency() ফাংশনটি সংখ্যাকে স্থানীয় মুদ্রার ফরম্যাটে রূপান্তরিত করে।
  • আপনি মুদ্রার সিম্বল এবং সঠিক স্থানীয়করণ পেতে ISO মুদ্রার কোড পাস করতে পারেন (যেমন 'bdt' বা 'usd')।

৩. সংখ্যা ফরম্যাটিং

Number Formatting Example:

echo Yii::$app->formatter->asDecimal(12345.6789, 2);  // 12,345.68
  • asDecimal() ফাংশনটি দশমিক সংখ্যা ফরম্যাট করে এবং 2 প্যারামিটারটি দশমিক স্থান সংখ্যা নির্দেশ করে।

৪. স্থানীয়করণের জন্য formatter কনফিগারেশন

Yii ফ্রেমওয়ার্কে আপনি formatter কম্পোনেন্ট কনফিগার করতে পারেন যাতে আপনি নির্দিষ্ট তারিখ, সময়, সংখ্যা এবং মুদ্রার ফরম্যাটিং অনুসারে অ্যাপ্লিকেশন কনফিগার করতে পারেন।

config/web.php:

'components' => [
    'formatter' => [
        'class' => 'yii\i18n\Formatter',
        'decimalSeparator' => '.',
        'thousandSeparator' => ',',
        'currencyCode' => 'USD',
    ],
],

এখানে, formatter কম্পোনেন্টটি কনফিগার করা হয়েছে যাতে সংখ্যাগুলোর জন্য দশমিক এবং হাজারের আলাদা আলাদা সেপারেটর ব্যবহার করা হয় এবং মুদ্রার কোড USD সেট করা হয়েছে।


সারাংশ

Locale Switching এবং Formatting Yii ফ্রেমওয়ার্কের দুটি অত্যন্ত কার্যকরী বৈশিষ্ট্য, যা আন্তর্জাতিককরণ এবং স্থানীয়করণ প্রক্রিয়াকে সহজ করে তোলে। Locale Switching ব্যবহারকারীদের ভাষা পরিবর্তন করতে সহায়তা করে এবং Formatting স্থানীয়তার ভিত্তিতে ডেটা ফরম্যাট করে যেমন তারিখ, সময়, সংখ্যা, এবং মুদ্রা। এই ফিচারগুলির মাধ্যমে আপনি গ্লোবাল অ্যাপ্লিকেশন তৈরি করতে পারেন যা বিভিন্ন দেশের এবং অঞ্চলের ব্যবহারকারীদের জন্য উপযুক্ত।

Content added By
Promotion

Are you sure to start over?

Loading...