i18n এবং l10n এর ধারণা

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

299

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


i18n (Internationalization) কী?

i18n (Internationalization) হল সেই প্রক্রিয়া যা অ্যাপ্লিকেশন বা সফটওয়্যারকে এমনভাবে ডিজাইন এবং ডেভেলপ করে যাতে এটি বিভিন্ন ভাষা এবং সংস্কৃতিতে সহজে localize (স্থানীয়করণ) করা যায়। সাধারণত i18n প্রক্রিয়ায় ভাষা, তারিখের ফরম্যাট, সময় অঞ্চল, মুদ্রা, এবং অন্যান্য স্থানীয় উপাদানগুলির জন্য সাপোর্ট প্রদান করা হয়।

i18n-এ মূলত অ্যাপ্লিকেশনটি এমনভাবে নির্মিত হয় যাতে এটি একাধিক ভাষা এবং অঞ্চল সমর্থন করতে পারে, কিন্তু এতে বিশেষ কোনো নির্দিষ্ট ভাষা বা সংস্কৃতির সাথে সম্পর্কিত কিছু থাকে না।

Yii 2 এ i18n

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

i18n কনফিগারেশন:

Yii 2-এ i18n কনফিগারেশন সাধারণত config/web.php ফাইলে করা হয়, যেখানে ভাষা সংক্রান্ত সেটিংস নির্ধারণ করা হয়।

'language' => 'en-US', // ডিফল্ট ভাষা
'charset' => 'UTF-8',
'extensions' => [
    'i18n' => [
        'class' => 'yii\i18n\I18N',
        'translations' => [
            'app*' => [
                'class' => 'yii\i18n\PhpMessageSource',
                'basePath' => '@app/messages',
            ],
        ],
    ],
],

এই কনফিগারেশনে:

  • language দিয়ে ডিফল্ট ভাষা সেট করা হয়।
  • translations দ্বারা app* নামে একটি ট্রান্সলেশন গ্রুপের জন্য ভাষার ফাইল ব্যবহৃত হয়।
  • basePath নির্দেশ করে কোথায় ভাষা ফাইলগুলি অবস্থিত থাকবে।

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

messages ডিরেক্টরিতে ভাষার ফাইল তৈরি করতে হয়। উদাহরণস্বরূপ, en-US.php এবং bn-BD.php নামে ইংরেজি এবং বাংলা ভাষার জন্য ফাইল তৈরি করা যেতে পারে:

en-US.php:

return [
    'Welcome to Yii' => 'Welcome to Yii',
    'Hello, world!' => 'Hello, world!',
];

bn-BD.php:

return [
    'Welcome to Yii' => 'Yii তে স্বাগতম',
    'Hello, world!' => 'হ্যালো, বিশ্ব!',
];

ভাষা পরিবর্তন করা

Yii 2-এ আপনি ব্যবহারকারীর ভাষা পরিবর্তন করতে পারেন। যেমন, ইউজার যদি বাংলা ভাষা চায়, তাহলে আপনি অ্যাপ্লিকেশনের ভাষা পরিবর্তন করতে পারেন:

Yii::$app->language = 'bn-BD';

এভাবে, অ্যাপ্লিকেশনটি বাংলা ভাষায় রেন্ডার হবে, যেখানে সব স্ট্যাটিক টেক্সট বাংলা ভাষার ফাইলে দেওয়া থাকবে।


l10n (Localization) কী?

l10n (Localization) হল একটি প্রক্রিয়া যা অ্যাপ্লিকেশনটির নির্দিষ্ট ভাষা এবং সংস্কৃতি অনুযায়ী কাস্টমাইজ করা হয়। এটি মূলত i18n এর পরবর্তী ধাপ যেখানে একটি অ্যাপ্লিকেশনকে নির্দিষ্ট অঞ্চলের ভাষা, সময়, তারিখ, মুদ্রা ইত্যাদির উপযোগী করা হয়।

l10n একটি কনটেক্সট নির্ধারণের মাধ্যমে অ্যাপ্লিকেশনকে একটি নির্দিষ্ট বাজার বা অঞ্চলের জন্য উপযোগী করে তোলে। এটি ভাষার অনুবাদ, স্থানীয় সংস্করণের জন্য তারিখের ফরম্যাট এবং মুদ্রা বিনিময়ের ফিচারসহ অন্যান্য নির্দিষ্ট সেটিংস অন্তর্ভুক্ত করে।

Yii 2 এ l10n

Yii 2-এ l10n প্রক্রিয়া করার জন্য, আপনি কেবলমাত্র i18n এর জন্য ভাষা ফাইল তৈরি করবেন না, বরং আপনি dateFormatter, numberFormatter, currencyFormatter ইত্যাদির মাধ্যমে স্থানীয়করণের বিষয়গুলি কনফিগার করতে পারেন।

উদাহরণ: তারিখ এবং সময়ের স্থানীয়করণ

Yii::$app->formatter->locale = 'bn-BD'; // বাংলা (বাংলাদেশ)
Yii::$app->formatter->dateFormat = 'php:d-M-Y'; // বাংলা তারিখ ফরম্যাট
Yii::$app->formatter->timeFormat = 'php:H:i'; // বাংলা সময় ফরম্যাট

এই কনফিগারেশন দিয়ে আপনি অ্যাপ্লিকেশনটির সময় এবং তারিখ প্রদর্শনের স্টাইল বাংলা সংস্করণের জন্য পরিবর্তন করতে পারবেন।


i18n এবং l10n এর মধ্যে পার্থক্য

  • i18n (Internationalization): এটি অ্যাপ্লিকেশনকে এমনভাবে তৈরি করার প্রক্রিয়া, যাতে সেটি বিভিন্ন ভাষা এবং অঞ্চল সমর্থন করতে পারে, তবে কোনও নির্দিষ্ট ভাষা বা সংস্কৃতির উপর নির্ভর করে না।
  • l10n (Localization): এটি অ্যাপ্লিকেশনকে একটি নির্দিষ্ট ভাষা বা সংস্কৃতির উপযোগী করার প্রক্রিয়া, যেমন একটি নির্দিষ্ট অঞ্চলের ভাষা, তারিখ, সময়, এবং মুদ্রা ফরম্যাট।

সারাংশ

Yii ফ্রেমওয়ার্কে i18n এবং l10n দুইটি গুরুত্বপূর্ণ প্রক্রিয়া যা আন্তর্জাতিকীকরণ এবং স্থানীয়করণের জন্য ব্যবহৃত হয়। i18n অ্যাপ্লিকেশনটি বিভিন্ন ভাষা এবং সংস্কৃতিতে কাজ করার উপযোগী করে, যেখানে l10n একটি নির্দিষ্ট ভাষা এবং সংস্কৃতির উপযোগী করে অ্যাপ্লিকেশনটিকে কাস্টমাইজ করে। Yii 2 এর i18n সিস্টেম সহজে ভাষা ফাইল ব্যবহার এবং কাস্টমাইজেশন করতে সহায়তা করে, এবং l10n এর মাধ্যমে সময়, তারিখ, মুদ্রা ইত্যাদি উপাদানগুলি স্থানীয় সংস্করণের জন্য ফরম্যাট করা যায়।

Content added By
Promotion

Are you sure to start over?

Loading...