Localization একটি গুরুত্বপূর্ণ ফিচার, যা আপনাকে অ্যাপ্লিকেশনের বিভিন্ন ভাষায় কনটেন্ট প্রদর্শন করতে সাহায্য করে। .NET MAUI তে currency এবং date formatting এর জন্য localization ব্যবহার করা খুবই গুরুত্বপূর্ণ, কারণ বিভিন্ন দেশ এবং অঞ্চলে মুদ্রার ধরন এবং তারিখের ফরম্যাট ভিন্ন হতে পারে। Localization এর মাধ্যমে আপনি এই সবকিছুকে ব্যবহারকারীর ভাষা এবং অবস্থান অনুসারে কাস্টমাইজ করতে পারেন।
এখানে .NET MAUI তে Currency এবং Date Formatting এর জন্য Localization ব্যবহারের পদ্ধতি ব্যাখ্যা করা হবে।
1. Localization Setup
প্রথমে, আপনার অ্যাপ্লিকেশনের জন্য localization সঠিকভাবে সেটআপ করতে হবে। এটি করার জন্য, আপনাকে অ্যাপ্লিকেশনের resx ফাইল তৈরি করতে হবে, যা বিভিন্ন ভাষার জন্য কনটেন্ট সংরক্ষণ করবে।
Step 1: Add Resource Files for Localization
- আপনার প্রকল্পে Resources ফোল্ডার তৈরি করুন এবং সেখানে বিভিন্ন ভাষার জন্য
.resxফাইল যোগ করুন। - উদাহরণস্বরূপ:
- Resources\Strings.resx (Default language - English)
- Resources\Strings.bn.resx (Bengali translation)
এখানে, Strings.resx ফাইলে আপনার সকল স্ট্যাটিক কনটেন্ট (যেমন: currencySymbol, dateFormat) রাখতে পারেন।
Step 2: Enable Localization in App.xaml.cs
App.xaml.cs ফাইলে localization সক্রিয় করতে হবে:
using System.Globalization;
using Microsoft.Maui.Controls;
using Microsoft.Maui.LifecycleEvents;
public partial class App : Application
{
public App()
{
InitializeComponent();
// Set the default culture to the user's device culture
CultureInfo.CurrentCulture = CultureInfo.CurrentUICulture = new CultureInfo("en-US"); // Default English
MainPage = new MainPage();
}
}
এখানে, CultureInfo ব্যবহার করে অ্যাপ্লিকেশনটি ইউজারের ডিভাইস কালচার অনুসারে কনফিগার করা হচ্ছে।
2. Currency Formatting
Currency formatting এর মাধ্যমে আপনি একটি নির্দিষ্ট দেশের মুদ্রার চিহ্ন এবং বিন্যাস অনুযায়ী মান প্রদর্শন করতে পারেন।
Step 1: Currency Formatting Using .NET Localization
using System.Globalization;
public class CurrencyFormatter
{
public string FormatCurrency(decimal amount)
{
// Format the currency using the device's culture
return string.Format(CultureInfo.CurrentCulture, "{0:C}", amount);
}
}
এখানে, CultureInfo.CurrentCulture ব্যবহার করা হয়েছে, যা বর্তমান ব্যবহারকারীর কালচারের ভিত্তিতে মুদ্রার সঠিক চিহ্ন এবং বিন্যাস প্রয়োগ করে।
Step 2: Displaying Currency in UI (XAML)
UI তে মুদ্রা প্রদর্শন করতে:
<Label Text="{Binding CurrencyAmount}" />
এখানে, CurrencyAmount হচ্ছে CurrencyFormatter ক্লাস থেকে প্রাপ্ত মুদ্রার মান।
Step 3: Example of Currency Formatting
যদি আপনার CurrencyAmount 1234.56 হয়, এবং ব্যবহারকারী যুক্তরাষ্ট্রের কালচারে রয়েছে (en-US), তাহলে এটি $1,234.56 হিসেবে প্রদর্শিত হবে। যদি ব্যবহারকারী ভারতীয় কালচারে (hi-IN) থাকে, এটি ₹1,234.56 হয়ে যাবে।
3. Date Formatting
Date formatting ব্যবহারকারীর অঞ্চলের ভিত্তিতে তারিখ প্রদর্শন করতে সাহায্য করে। .NET MAUI আপনাকে বিভিন্ন অঞ্চলের জন্য বিভিন্ন তারিখের ফরম্যাট তৈরি করার সুযোগ দেয়।
Step 1: Date Formatting Using .NET Localization
using System.Globalization;
public class DateFormatter
{
public string FormatDate(DateTime date)
{
// Format the date using the device's culture
return date.ToString("D", CultureInfo.CurrentCulture);
}
}
এখানে, ToString("D", CultureInfo.CurrentCulture) ব্যবহার করে, আপনি বর্তমান ব্যবহারকারীর কালচারের ভিত্তিতে তারিখের পূর্ণ ফরম্যাট প্রদর্শন করতে পারেন।
Step 2: Displaying Date in UI (XAML)
<Label Text="{Binding FormattedDate}" />
এখানে, FormattedDate হচ্ছে DateFormatter ক্লাস থেকে প্রাপ্ত তারিখের মান।
Step 3: Example of Date Formatting
যদি আপনার FormattedDate 2024-11-21 হয়, এবং ব্যবহারকারী যুক্তরাজ্যের কালচারে (en-GB) থাকে, তাহলে এটি 21 November 2024 হিসেবে প্রদর্শিত হবে। যদি ব্যবহারকারী যুক্তরাষ্ট্রের কালচারে (en-US) থাকে, এটি November 21, 2024 হবে।
4. Dynamic Language Switching
আপনি যদি অ্যাপ্লিকেশন চলাকালীন ভাষা পরিবর্তন করতে চান, তাহলে ব্যবহারকারীর ভাষা পরিবর্তন করার জন্য একটি Localization Service তৈরি করতে পারেন, যা CultureInfo পরিবর্তন করবে।
Step 1: Switching Language at Runtime
public class LocalizationService
{
public void SetLanguage(string languageCode)
{
CultureInfo.CurrentCulture = new CultureInfo(languageCode);
CultureInfo.CurrentUICulture = new CultureInfo(languageCode);
// Force the page to update after language change
Application.Current.MainPage = new MainPage();
}
}
এখানে, SetLanguage মেথড ব্যবহারকারীর ভাষা কোডের উপর ভিত্তি করে কালচার পরিবর্তন করে এবং অ্যাপ্লিকেশন পেজ রিফ্রেশ করে।
Step 2: Calling the Language Change
যখন আপনি ভাষা পরিবর্তন করতে চান, তখন আপনি এই সেবা কল করতে পারেন:
var localizationService = new LocalizationService();
localizationService.SetLanguage("bn-IN"); // Change to Bengali
এখানে, "bn-IN" বাংলার (ভারত) সংস্করণ।
5. Localization for Currency and Date Formatting
আপনি যদি একটি নির্দিষ্ট ভাষার জন্য কাস্টম ফরম্যাট চাহিদা পূর্ণ করতে চান, তবে সেই ভাষার জন্য CultureInfo এর সাথে উপযুক্ত Currency এবং Date ফরম্যাট সংযুক্ত করতে হবে। যেমন:
var amount = 1234.56m;
var formattedCurrency = string.Format(new CultureInfo("en-IN"), "{0:C}", amount); // INR Currency
var date = DateTime.Now;
var formattedDate = date.ToString("D", new CultureInfo("en-IN")); // Date in Indian format
এখানে, "en-IN" হল ভারতের ইংরেজি সংস্করণ, যেখানে মুদ্রার চিহ্ন এবং তারিখের বিন্যাস ভারতীয় পদ্ধতিতে প্রদর্শিত হবে।
সারাংশ:
- Localization হল একাধিক ভাষা এবং অঞ্চলের জন্য অ্যাপ্লিকেশনের কনটেন্ট এবং ফরম্যাট কাস্টমাইজ করার প্রক্রিয়া।
- Currency Formatting: .NET MAUI তে
CultureInfo.CurrentCultureব্যবহার করে মুদ্রা ফরম্যাট করা যায়, যা ব্যবহারকারীর অঞ্চলের ভিত্তিতে মুদ্রার চিহ্ন এবং ফরম্যাট প্রদর্শন করে। - Date Formatting:
ToStringমেথড ব্যবহার করে ব্যবহারকারীর কালচারের ভিত্তিতে তারিখের ফরম্যাট কাস্টমাইজ করা হয়। - Dynamic Language Switching: রানটাইমে ভাষা পরিবর্তন করার জন্য
CultureInfoব্যবহার করা যেতে পারে, এবং এটি অ্যাপ্লিকেশনটি পুনরায় রিফ্রেশ করবে।
এই সব ফিচার ব্যবহার করে আপনি আপনার .NET MAUI অ্যাপ্লিকেশনে কার্যকরী Localization তৈরি করতে পারবেন, যা আন্তর্জাতিক ব্যবহারকারীদের জন্য উপযুক্ত।
Read more