Java Internationalization (i18n) হলো একটি প্রক্রিয়া যা Java অ্যাপ্লিকেশনকে বিভিন্ন ভাষা, সংস্কৃতি, এবং অঞ্চল অনুযায়ী কাস্টমাইজ করা সম্ভব করে। এটি মূলত অ্যাপ্লিকেশনটির কন্টেন্ট (যেমন টেক্সট, তারিখ, সংখ্যা, মুদ্রা) এবং ইউজার ইন্টারফেসকে বিভিন্ন ভাষায় প্রদর্শন করার সক্ষমতা প্রদান করে।
Internationalization (i18n) হলো এমন একটি প্রক্রিয়া, যার মাধ্যমে একটি অ্যাপ্লিকেশন বা সফটওয়্যারকে বিভিন্ন ভাষা, দেশ এবং সাংস্কৃতিক প্রেক্ষাপট অনুযায়ী অভিযোজিত করা যায়। Java-তে i18n প্রক্রিয়াটি ব্যবহার করে অ্যাপ্লিকেশনগুলিকে বিভিন্ন ভাষায় বা অঞ্চল অনুযায়ী localize করা সম্ভব। Java এর java.util.Locale এবং ResourceBundle ক্লাস ব্যবহার করে i18n এর কাজ করা হয়।
Locale Class:
ResourceBundle Class:
NumberFormat Class:
DateFormat Class:
MessageFormat Class:
Locale তৈরি করার মাধ্যমে আপনি ভাষা এবং অঞ্চলের নির্দিষ্ট সেটিংস ম্যানেজ করতে পারবেন। নিচে বাংলা ভাষা এবং বাংলাদেশের জন্য Locale তৈরি করা হয়েছে:
Locale localeBn = new Locale("bn", "BD"); // বাংলা ভাষা ও বাংলাদেশ
Locale localeEn = new Locale("en", "US"); // ইংরেজি ভাষা ও যুক্তরাষ্ট্র
ResourceBundle ব্যবহার করে বিভিন্ন properties file থেকে ডাটা লোড করা যায়। উদাহরণস্বরূপ, আমরা দুটি properties file তৈরি করেছি:
messages_en.properties:
greeting=Hello
farewell=Goodbye
messages_bn.properties:
greeting=স্বাগতম
farewell=বিদায়
এখন এই ফাইলগুলো ব্যবহার করে কী-ভ্যালু পেয়ার অনুযায়ী মেসেজ লোড করা যাবে:
import java.util.*;
public class I18nExample {
public static void main(String[] args) {
Locale localeBn = new Locale("bn", "BD");
ResourceBundle bundleBn = ResourceBundle.getBundle("messages", localeBn);
System.out.println(bundleBn.getString("greeting")); // Output: স্বাগতম
System.out.println(bundleBn.getString("farewell")); // Output: বিদায়
}
}
Locale অনুযায়ী তারিখ এবং সংখ্যা ফরম্যাট করতে DateFormat এবং NumberFormat ব্যবহার করা হয়।
import java.text.*;
import java.util.*;
public class FormatExample {
public static void main(String[] args) {
Locale localeFr = new Locale("fr", "FR");
// তারিখ ফরম্যাট
DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.LONG, localeFr);
System.out.println(dateFormat.format(new Date())); // Output: 1 janvier 2024
// সংখ্যা ফরম্যাট
NumberFormat numberFormat = NumberFormat.getInstance(localeFr);
System.out.println(numberFormat.format(1000.50)); // Output: 1 000,50
}
}
ডাইনামিক মেসেজ তৈরি করতে MessageFormat ব্যবহার করা হয়, যা প্যারামিটার নিয়ে মেসেজ ফরম্যাট করে:
import java.text.MessageFormat;
public class MessageFormatExample {
public static void main(String[] args) {
String pattern = "{0}, আপনার অর্ডার {1} প্রস্তুত!";
MessageFormat messageFormat = new MessageFormat(pattern);
Object[] params = {"রিয়াদ", "12345"};
String message = messageFormat.format(params);
System.out.println(message); // Output: রিয়াদ, আপনার অর্ডার 12345 প্রস্তুত!
}
}
Oracle Official Documentation:
Java Internationalization
Baeldung Java i18n Guide:
Baeldung Internationalization Tutorial
GeeksforGeeks Java i18n:
GeeksforGeeks Internationalization
Java Internationalization (i18n) হলো এমন একটি প্রক্রিয়া, যার মাধ্যমে আপনি আপনার Java অ্যাপ্লিকেশনকে বহুভাষিক এবং বহুঅঞ্চলিক ব্যবহারের উপযোগী করতে পারেন। এর মাধ্যমে অ্যাপ্লিকেশনগুলিকে বিভিন্ন ভাষায় উপস্থাপন করা, ডেটা ফরম্যাট করা এবং কাস্টম মেসেজ প্রদর্শন করা সম্ভব হয়। Java এর Locale, ResourceBundle, DateFormat, NumberFormat, এবং MessageFormat ক্লাসগুলো i18n প্রক্রিয়াকে সহজ এবং কার্যকরী করে তোলে।
Java Internationalization (i18n) হলো একটি প্রক্রিয়া যা Java অ্যাপ্লিকেশনকে বিভিন্ন ভাষা, সংস্কৃতি, এবং অঞ্চল অনুযায়ী কাস্টমাইজ করা সম্ভব করে। এটি মূলত অ্যাপ্লিকেশনটির কন্টেন্ট (যেমন টেক্সট, তারিখ, সংখ্যা, মুদ্রা) এবং ইউজার ইন্টারফেসকে বিভিন্ন ভাষায় প্রদর্শন করার সক্ষমতা প্রদান করে।
Internationalization (i18n) হলো এমন একটি প্রক্রিয়া, যার মাধ্যমে একটি অ্যাপ্লিকেশন বা সফটওয়্যারকে বিভিন্ন ভাষা, দেশ এবং সাংস্কৃতিক প্রেক্ষাপট অনুযায়ী অভিযোজিত করা যায়। Java-তে i18n প্রক্রিয়াটি ব্যবহার করে অ্যাপ্লিকেশনগুলিকে বিভিন্ন ভাষায় বা অঞ্চল অনুযায়ী localize করা সম্ভব। Java এর java.util.Locale এবং ResourceBundle ক্লাস ব্যবহার করে i18n এর কাজ করা হয়।
Locale Class:
ResourceBundle Class:
NumberFormat Class:
DateFormat Class:
MessageFormat Class:
Locale তৈরি করার মাধ্যমে আপনি ভাষা এবং অঞ্চলের নির্দিষ্ট সেটিংস ম্যানেজ করতে পারবেন। নিচে বাংলা ভাষা এবং বাংলাদেশের জন্য Locale তৈরি করা হয়েছে:
Locale localeBn = new Locale("bn", "BD"); // বাংলা ভাষা ও বাংলাদেশ
Locale localeEn = new Locale("en", "US"); // ইংরেজি ভাষা ও যুক্তরাষ্ট্র
ResourceBundle ব্যবহার করে বিভিন্ন properties file থেকে ডাটা লোড করা যায়। উদাহরণস্বরূপ, আমরা দুটি properties file তৈরি করেছি:
messages_en.properties:
greeting=Hello
farewell=Goodbye
messages_bn.properties:
greeting=স্বাগতম
farewell=বিদায়
এখন এই ফাইলগুলো ব্যবহার করে কী-ভ্যালু পেয়ার অনুযায়ী মেসেজ লোড করা যাবে:
import java.util.*;
public class I18nExample {
public static void main(String[] args) {
Locale localeBn = new Locale("bn", "BD");
ResourceBundle bundleBn = ResourceBundle.getBundle("messages", localeBn);
System.out.println(bundleBn.getString("greeting")); // Output: স্বাগতম
System.out.println(bundleBn.getString("farewell")); // Output: বিদায়
}
}
Locale অনুযায়ী তারিখ এবং সংখ্যা ফরম্যাট করতে DateFormat এবং NumberFormat ব্যবহার করা হয়।
import java.text.*;
import java.util.*;
public class FormatExample {
public static void main(String[] args) {
Locale localeFr = new Locale("fr", "FR");
// তারিখ ফরম্যাট
DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.LONG, localeFr);
System.out.println(dateFormat.format(new Date())); // Output: 1 janvier 2024
// সংখ্যা ফরম্যাট
NumberFormat numberFormat = NumberFormat.getInstance(localeFr);
System.out.println(numberFormat.format(1000.50)); // Output: 1 000,50
}
}
ডাইনামিক মেসেজ তৈরি করতে MessageFormat ব্যবহার করা হয়, যা প্যারামিটার নিয়ে মেসেজ ফরম্যাট করে:
import java.text.MessageFormat;
public class MessageFormatExample {
public static void main(String[] args) {
String pattern = "{0}, আপনার অর্ডার {1} প্রস্তুত!";
MessageFormat messageFormat = new MessageFormat(pattern);
Object[] params = {"রিয়াদ", "12345"};
String message = messageFormat.format(params);
System.out.println(message); // Output: রিয়াদ, আপনার অর্ডার 12345 প্রস্তুত!
}
}
Oracle Official Documentation:
Java Internationalization
Baeldung Java i18n Guide:
Baeldung Internationalization Tutorial
GeeksforGeeks Java i18n:
GeeksforGeeks Internationalization
Java Internationalization (i18n) হলো এমন একটি প্রক্রিয়া, যার মাধ্যমে আপনি আপনার Java অ্যাপ্লিকেশনকে বহুভাষিক এবং বহুঅঞ্চলিক ব্যবহারের উপযোগী করতে পারেন। এর মাধ্যমে অ্যাপ্লিকেশনগুলিকে বিভিন্ন ভাষায় উপস্থাপন করা, ডেটা ফরম্যাট করা এবং কাস্টম মেসেজ প্রদর্শন করা সম্ভব হয়। Java এর Locale, ResourceBundle, DateFormat, NumberFormat, এবং MessageFormat ক্লাসগুলো i18n প্রক্রিয়াকে সহজ এবং কার্যকরী করে তোলে।
আপনি আমাকে যেকোনো প্রশ্ন করতে পারেন, যেমনঃ
Are you sure to start over?