Internationalization (i18n) কি এবং এর প্রয়োগ

Struts 2 এর Internationalization (i18n) - স্ট্রাটস (Struts 2) - Java Technologies

377

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

Struts 2-এ Internationalization (i18n) সাধারণত Resource Bundle ব্যবহার করে করা হয়, যেখানে প্রয়োজনীয় ভাষার জন্য পৃথক ফাইল তৈরি করা হয় এবং তারপর এগুলি UI তে লোড করা হয়।


Struts 2 এ Internationalization (i18n) কনফিগারেশন

Struts 2 এর মাধ্যমে Internationalization এর জন্য সাধারণত properties ফাইল ব্যবহৃত হয়। এগুলি সাধারণত messages.properties, messages_en.properties, messages_fr.properties ইত্যাদি নামে থাকে, এবং প্রতিটি ফাইলে নির্দিষ্ট ভাষার জন্য টেক্সট স্ট্রিং থাকে।

1. Struts 2 Internationalization এর জন্য কনফিগারেশন

Struts 2-এ i18n কনফিগার করার জন্য কিছু পদক্ষেপ অনুসরণ করতে হয়:

  1. struts.xml ফাইলে Locale Interceptor যোগ করা
  2. messages.properties ফাইলে ভাষার জন্য প্রয়োজনীয় টেক্সট সংজ্ঞায়িত করা
  3. JSP পেজে বা অন্য ভিউ ফাইলগুলোতে লোড করা এবং ব্যবহার করা

1.1. struts.xml ফাইলে Locale Interceptor কনফিগার করা

struts.xml ফাইলে Locale Interceptor কনফিগার করতে হবে যাতে ব্যবহারকারীর ভাষা অনুযায়ী UI টেক্সট পরিবর্তন করা যায়। এটি কনফিগার করার জন্য নিচে একটি উদাহরণ দেওয়া হল:

<struts>
    <package name="default" extends="struts-default">
        
        <!-- Locale Interceptor Configuration -->
        <interceptors>
            <interceptor name="locale" class="org.apache.struts2.interceptor.LocalizableTextInterceptor"/>
        </interceptors>

        <action name="login" class="com.example.action.LoginAction">
            <result name="success">/welcome.jsp</result>
            <result name="input">/login.jsp</result>
        </action>
    </package>
</struts>

এখানে, LocalizableTextInterceptor ব্যবহার করে ইন্টারসেপ্টরের মাধ্যমে ভাষার জন্য প্রপার টেক্সট ব্যবহার করা হয়েছে।

1.2. messages.properties ফাইলে ভাষার জন্য টেক্সট সংজ্ঞায়িত করা

প্রতিটি ভাষার জন্য আলাদা properties ফাইল তৈরি করা হয়, যেখানে বিভিন্ন ভাষায় টেক্সট সংজ্ঞায়িত থাকে। নিচে কিছু উদাহরণ দেওয়া হল:

messages.properties (ডিফল্ট ভাষার জন্য):

login.username=Username
login.password=Password
login.button=Login

messages_en.properties (ইংরেজি ভাষার জন্য):

login.username=Username
login.password=Password
login.button=Login

messages_fr.properties (ফরাসি ভাষার জন্য):

login.username=Nom d'utilisateur
login.password=Mot de passe
login.button=Connexion

এখানে, messages.properties ফাইলটি ডিফল্ট ভাষার জন্য এবং অন্য ফাইলগুলো নির্দিষ্ট ভাষার জন্য তৈরি করা হয়েছে। messages_en.properties ইংরেজি ভাষার জন্য এবং messages_fr.properties ফাইলটি ফরাসি ভাষার জন্য।

1.3. JSP ফাইল (View) এ লোড করা এবং ব্যবহার করা

Struts 2-এ i18n কনফিগার করার পর, JSP পেজে s:text ট্যাগ ব্যবহার করে টেক্সট রেন্ডার করা হয়। উদাহরণস্বরূপ:

<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head><title>Login Page</title></head>
<body>
    <h2><s:text name="login.username" /></h2>
    <s:textfield name="username" />
    <h2><s:text name="login.password" /></h2>
    <s:password name="password" />
    <s:submit value="<s:text name='login.button' />" />
</body>
</html>

এখানে, s:text ট্যাগ ব্যবহার করা হয়েছে যেখানে login.username, login.password, এবং login.button এর মান messages.properties বা নির্দিষ্ট ভাষার properties ফাইল থেকে নেয়া হবে।

1.4. Language Selection (ভাষা নির্বাচন)

ভাষা নির্বাচন করার জন্য আপনাকে সাধারণত একটি ড্রপডাউন বা লিঙ্ক তৈরি করতে হবে, যাতে ব্যবহারকারী ভাষা পরিবর্তন করতে পারে। নিচে একটি উদাহরণ দেয়া হল যেখানে ব্যবহারকারীকে ভাষা পরিবর্তন করার সুযোগ দেওয়া হচ্ছে:

<html>
<head><title>Language Selection</title></head>
<body>
    <h2>Choose Language:</h2>
    <a href="<s:url action="login" addSession="false">?lang=en">English</a> | 
    <a href="<s:url action="login" addSession="false">?lang=fr">Français</a>
</body>
</html>

এখানে, lang প্যারামিটার ব্যবহার করে ভাষা পরিবর্তন করা হয়েছে। যখন ব্যবহারকারী ভাষা পরিবর্তন করবে, তখন নতুন ভাষার properties ফাইল লোড হবে এবং UI টেক্সট সেই অনুযায়ী পরিবর্তিত হবে।


2. Struts 2-এ Internationalization (i18n) প্রয়োগের সুবিধা

  1. Multiple Language Support: বিভিন্ন ভাষায় অ্যাপ্লিকেশন তৈরি করা সম্ভব, যা বিশ্বব্যাপী ব্যবহারকারীদের জন্য উপযোগী।
  2. Easier Maintenance: সমস্ত ভাষার টেক্সট পৃথক properties ফাইলে থাকে, ফলে ভবিষ্যতে ভাষা পরিবর্তন বা নতুন ভাষা যোগ করা সহজ হয়।
  3. User Experience: ব্যবহারকারীরা তাদের পছন্দসই ভাষায় অ্যাপ্লিকেশন ব্যবহার করতে পারবে, যা তাদের জন্য একটি ব্যক্তিগত অভিজ্ঞতা তৈরি করে।

সারাংশ

Struts 2-এ Internationalization (i18n) ব্যবহারের মাধ্যমে অ্যাপ্লিকেশনকে বিভিন্ন ভাষায় কনফিগার করা যায়। properties ফাইল ব্যবহার করে ভাষা নির্ধারণ এবং UI টেক্সট পরিবর্তন করা হয়। Struts 2 এর Locale Interceptor, messages.properties ফাইল এবং s:text ট্যাগের মাধ্যমে এই প্রক্রিয়া সঞ্চালিত হয়। এটি বিশ্বব্যাপী ব্যবহারকারীদের জন্য অ্যাপ্লিকেশনটিকে উপযুক্ত করে তোলে এবং ব্যবহারকারীর অভিজ্ঞতা বৃদ্ধি করে।

Content added By
Promotion

Are you sure to start over?

Loading...