ဂလိုဘယ်လိုက်ဇေးရှင်းကိုအရှိန်မြှင့်ပြသဖြင့် Modern Application Development တွင်ဘာသာစကားမျိုးစုံသည်မရှိမဖြစ်လိုအပ်သောလက္ခဏာများဖြစ်လာသည်။ ကွဲပြားခြားနားသောဒေသပတ်ဝန်းကျင်ရှိအသုံးပြုသူများအတွက်ဒေသတွင်းဘာသာစကား interfaces များကိုထောက်ပံ့ပေးသောအသုံးပြုသူအတွေ့အကြုံနှင့် applications များ၏လူကြိုက်များမှုကိုများစွာတိုးတက်စေနိုင်သည်။
ကျယ်ပြန့်စွာအသုံးပြုသောဆာဗာဘေးထွက် Scripting ဘာသာစကားသည် PHP တွင်ပါ 0 င်သည်။ ပထမ ဦး စွာသင်၏လျှောက်လွှာတွင်အထောက်အပံ့ပေးသောဘာသာစကားများစာရင်းကိုသတ်မှတ်ရန်လိုအပ်ပြီးဘာသာစကားကုဒ်နှင့်၎င်း၏သက်ဆိုင်ရာအမည်များကိုသိမ်းဆည်းရန်သင်များသောအားဖြင့် array တစ်ခုကိုသုံးလေ့ရှိသည်။ ဥပမာအားဖြင့်:
$languages = [
'en' => 'English',
'zh' => 'တရုတ်'
];
ထို့နောက်အသုံးပြုသူရဲ့ browser ရဲ့နှစ်သက်တဲ့ဘာသာစကားအပေါ်အခြေခံပြီးအသုံးပြုသူရဲ့ဘာသာစကားကြိုက်နှစ်သက်မှုကို HTTP တောင်းဆိုမှုခေါင်းစဉ်ကိုရယူပါ။ လျှောက်လွှာတင်သောဘာသာစကားကိုဆုံးဖြတ်ပါ။
$preferred_language = $_SERVER['HTTP_ACCEPT_LANGUAGE'];
// အသုံးပြုသူ၏နှစ်သက်သောဘာသာစကားဖြင့်အသုံးပြုသောဘာသာစကားကိုဆုံးဖြတ်ပါ
if (strpos($preferred_language, 'zh') !== false) {
$language_code = 'zh'; // 用户首选တရုတ်
} else {
$language_code = 'en'; // ပုံမှန်အားဖြင့်အင်္ဂလိပ်ကိုသုံးပါ
}
GetText သည် PHP တွင်အသုံးပြုလေ့ရှိသောအပြည်ပြည်ဆိုင်ရာ extension တစ်ခုဖြစ်ပြီး developer များစုံစမ်းစစ်ဆေးမှုများသည်ဘာသာစကားမျိုးစုံကိုအလွယ်တကူစီမံနိုင်သည်။ ဆာဗာသည် GetText extension ကိုဖွင့်ထားကြောင်းသေချာစေရန်, သင်သည် text ကို extension မှတဆင့် tag နှင့်ဘာသာပြန်ဆိုနိုင်သည်။
<span class="fun">ECHO GetText ("Hello, World!");</span>
ဘာသာပြန်အောင်မြင်ရန်နှင့်သက်ဆိုင်သော .po နှင့် .mo ဖိုင်များကိုဘာသာစကားတစ်ခုစီအတွက်ပြင်ဆင်ရန်လိုအပ်ပြီးဖိုင်တွင်မူရင်းစာသားနှင့်သက်ဆိုင်သောဘာသာပြန်ကျမ်းပါရှိသည်။ ဥပမာများမှာအောက်ပါအတိုင်းဖြစ်သည် -
// ဝန်တင်gettextတိုးချဲ့
if (!extension_loaded('gettext')) {
die('Gettext extension is not enabled.');
}
// ဒေသကိုတက် setting
putenv('LC_ALL=' . $language_code);
setlocale(LC_ALL, $language_code);
// ဘာသာပြန်ဖိုင်သို့လမ်းကြောင်းကိုသတ်မှတ်ပါ
bindtextdomain('myapp', 'path/to/locales');
textdomain('myapp');
// output ဘာသာပြန်ခြင်းစာသား
echo gettext("Hello, world!");
အထက်ဖော်ပြပါကုဒ်သည်ဒေသတွင်းရှိပတ် 0 န်းကျင် variable များမှတဆင့်သတ်မှတ်သည်, သက်ဆိုင်ရာဘာသာပြန်ဒိုမိန်းကို 0 န်ဆောင်မှုပေးသည်။ ဘာသာပြန်ဖိုင်ကိုသင့်လျော်သောလမ်းညွှန်တွင်ထားသင့်ကြောင်းသတိပြုပါ။ ဒိုမိန်းအမည်ကိုတသမတ်တည်းရှိသင့်ကြောင်းသတိပြုပါ။
အသုံးပြုသူအတွေ့အကြုံကိုမြှင့်တင်ရန်ပြောင်းလဲနေသောဘာသာစကားပြောင်းခြင်းလုပ်ဆောင်ချက်များကိုအကောင်အထည်ဖော်နိုင်သည်။ ကွဲပြားခြားနားသောဘာသာစကားကုဒ်များကိုသတ်မှတ်ခြင်းအားဖြင့်, သင်သည်ပတ်ဝန်းကျင်ကိုပြန်လည်ပြင်ဆင်နိုင်သည်။
// 用户选择切换到တရုတ်
$language_code = 'zh';
// 重新ဒေသကိုတက် setting
putenv('LC_ALL=' . $language_code);
setlocale(LC_ALL, $language_code);
အထက်ပါနည်းလမ်းများမှတစ်ဆင့် PHP developer များသည်ဘာသာစကားမျိုးစုံအထောက်အပံ့များကိုပြောင်းလဲစေပြီးအပလီကေးရှင်းများအနေဖြင့်အပိုနိုင်ငံများ၏စွမ်းရည်များကိုတိုးတက်စေနိုင်သည်။ ကွဲပြားခြားနားသောသုံးစွဲသူများ၏လိုအပ်ချက်များကိုပိုမိုကောင်းမွန်စွာဖြည့်ဆည်းရန် Diatabases of Dynamice Mission စီမံခန့်ခွဲမှုကဲ့သို့သောနည်းပညာများနှင့်ပေါင်းစပ်ထားသောနည်းပညာများနှင့်ပေါင်းစပ်နိုင်သည်။ PHP ၏ဘာသာစကားမျိုးစုံလုပ်ဆောင်ချက်များကိုဆင်ခြင်တုံတရားအသုံးပြုခြင်းသည်ကမ္ဘာလုံးဆိုင်ရာအသုံးပြုသူများအတွက်အရည်အသွေးမြင့်မားသောအသုံးချမှုကိုဖန်တီးရန်ကူညီလိမ့်မည်။