ဘာသာစကားမျိုးစုံအထောက်အကူပြုသော 0 က် ဘ ် အပလီကေးရှင်း များ တီထွင်သောအခါကျွန်ုပ်တို့သည်ဘာသာစကားမျိုးစုံအတွက် configuration files များရှိသည်။ အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုတွင်အချို့သောသော့ချက်တန်ဖိုးများကိုသူတို့ဘာသာပြန်ဆိုခြင်းမရှိသောနေရာတွင်ကြုံတွေ့ရနိုင်သည်။ သို့မဟုတ်အချို့သောဘာသာစကား၏ configuration file တစ်ခုတွင်အချို့သောသော့များပျောက်ဆုံးနေသည်။ ထို့ကြောင့် PHP အစီအစဉ်များကို configuration files များကိုဘာသာစကားအမျိုးမျိုးဖြင့်အလိုအလျောက်နှိုင်းယှဉ်ခြင်းနှင့်ဤ untranslated key တန်ဖိုးများကိုရှာဖွေရန် PHP အစီအစဉ်များကိုသင်မည်သို့အသုံးပြုသနည်း။
ဤဆောင်းပါးသည် PHP script ကိုမည်သို့ရေးသားရမည်ကိုပြသမည့် PHP script ကိုမည်သို့ရေးသားရမည်ကိုပြသမည်ဖြစ်ပြီးမည်သည့်သော့ချက်တန်ဖိုးများကိုမပြန်ဘဲပြုလုပ်နိုင်သည်ကိုခွဲခြားသိမြင်ရန်,
အောက်ဖော်ပြပါမျိုးချစ်ခြားနှစ်မျိုးစုံပြုပြင်ပြောင်းလဲရေးဖိုင်ရှိတယ်ဆိုပါစို့။
return [
'welcome_message' => 'Welcome to our website!',
'login' => 'Login',
'register' => 'Register',
];
return [
'welcome_message' => 'Bienvenue sur notre site!',
'login' => 'Se connecter',
];
return [
'welcome_message' => 'Willkommen auf unserer Website!',
'register' => 'Registrieren',
];
အထက်တွင်ဖော်ပြထားသည့်အတိုင်းကွဲပြားခြားနားသောဘာသာစကားများအတွက် configuration file များပါ 0 င်သည် ( ကြိုဆိုသော levelage ကဲ့သို့သော သော့ များတွင်အချို့သော့များတွင်သာအချို့သောဘာသာစကားများဖြင့်သာလျှင်သာလျှင်အင်္ဂလိပ်နှင့်ပြင်သစ်တို့တွင်သာပေါ်လာသည်။
ဤ configuration files များကိုနှိုင်းယှဉ်ရန် PHP script ကိုရေးရန်, ဘာသာစကားတစ်ခုစီ၏ configuration files များကိုဖွင့်ပြီးမည်သည့်သော့ချက်များပျောက်ဆုံးနေသည်ကိုရှာဖွေရန်သို့မဟုတ်အချို့ဘာသာစကားများမှဘာသာပြန်ထားသောမည်သည့်သော့ကိုပျောက်ဆုံးနေသည်ကိုရှာဖွေရန်၎င်းတို့ကိုနှိုင်းယှဉ်နိုင်သည်။
ပထမ ဦး စွာကျွန်ုပ်တို့သည် configuration file ကိုတင်ရန် function တစ်ခုကိုရေးရန်လိုအပ်သည်။ ဤဖိုင်များကိုဤ configuration files အားလုံးသည် Associative ခင်းကျင်းမှုကိုပြန်ပေးရန်ထည့်သွင်းခြင်းဖြင့် ထည့်သွင်းခြင်း သို့မဟုတ် လိုအပ်ခြင်းကို အသုံးပြု. အသုံးပြုနိုင်သည်။
function loadLangFile($langCode) {
$filePath = __DIR__ . "/$langCode.php";
if (file_exists($filePath)) {
return include $filePath;
}
return [];
}
configuration files အားလုံးမှသော့များကိုကျွန်ုပ်တို့ရှာဖွေရန်လိုအပ်သည်။ အဆင်ပြေစေရန်အတွက်အထောက်အကူပြုသောဘာသာစကားကုဒ်များအားလုံးကို ( ဥပမာ , fr , de စသည်တို့) ကိုသိပြီးဖြစ်သည်ဟုဆိုပါစို့။ ဘာသာစကားပရိုဖိုင်းကိုတစ် ဦး ချင်းစီမှတစ်ဆင့်ကျွန်ုပ်တို့ကြုံတွေ့ရနိုင်ပြီးသူတို့၏ငွေချေးစာချုပ်များကိုအတူတကွပေါင်းစပ်နိုင်သည်။
$langCodes = ['en', 'fr', 'de'];
$allKeys = [];
foreach ($langCodes as $langCode) {
$langData = loadLangFile($langCode);
$allKeys = array_merge($allKeys, array_keys($langData));
}
$allKeys = array_unique($allKeys); // မိုးသည်းထန်စွာသွားပါ,ထပ်တူသော့များကိုရှောင်ပါ
ထို့နောက်ကျွန်ုပ်တို့သည်သော့များအားလုံးကိုကြည့်ရှုခြင်းနှင့်ဘာသာစကား configuration file တွင်သက်ဆိုင်ရာတန်ဖိုးများရှိပါသလားစစ်ဆေးပါလိမ့်မည်။ ဘာသာစကားတစ်ခု၏ configuration file တစ်ခုတွင်သော့ချက်သည်ပျောက်ဆုံးနေသည်သို့မဟုတ်ဗလာမပင်ရှိပါကကျွန်ုပ်တို့သည်သော့ကိုဘာသာပြန်ဆိုခြင်းမရှိပါဟုယူဆနိုင်သည်။
$missingKeys = [];
foreach ($allKeys as $key) {
foreach ($langCodes as $langCode) {
$langData = loadLangFile($langCode);
if (!isset($langData[$key]) || empty($langData[$key])) {
$missingKeys[$langCode][] = $key;
}
}
}
နောက်ဆုံးအနေဖြင့်ကျွန်ုပ်တို့သည် developer များကိုမြန်မြန်ဆန်ဆန်မဘာသာပြန်နိုင်သည့်သော့များကိုမြန်မြန်ဆန်ဆန်ရှာရန်ကူညီရန်မမှန်မကန်သော့များကိုထုတ်ပေးနိုင်သည်။
echo "untranslated သော့:\n";
foreach ($missingKeys as $langCode => $keys) {
echo "\nဘာသာစကားအတွက် $langCode အောက်ပါသော့ချက်ပျောက်ဆုံးနေသည်:\n";
foreach ($keys as $key) {
echo "- $key\n";
}
}
ကုဒ်အားလုံးကိုအတူတကွပေါင်းစည်းပါ, နောက်ဆုံး PHP script သည်ဤကဲ့သို့သောပုံ
function loadLangFile($langCode) {
$filePath = __DIR__ . "/$langCode.php";
if (file_exists($filePath)) {
return include $filePath;
}
return [];
}
$langCodes = ['en', 'fr', 'de'];
$allKeys = [];
foreach ($langCodes as $langCode) {
$langData = loadLangFile($langCode);
$allKeys = array_merge($allKeys, array_keys($langData));
}
$allKeys = array_unique($allKeys); // မိုးသည်းထန်စွာသွားပါ,ထပ်တူသော့များကိုရှောင်ပါ
$missingKeys = [];
foreach ($allKeys as $key) {
foreach ($langCodes as $langCode) {
$langData = loadLangFile($langCode);
if (!isset($langData[$key]) || empty($langData[$key])) {
$missingKeys[$langCode][] = $key;
}
}
}
echo "untranslated သော့:\n";
foreach ($missingKeys as $langCode => $keys) {
echo "\nဘာသာစကားအတွက် $langCode အောက်ပါသော့ချက်ပျောက်ဆုံးနေသည်:\n";
foreach ($keys as $key) {
echo "- $key\n";
}
}
အထက်ပါ PHP script မှတဆင့်ကျွန်ုပ်တို့သည် configuration files များကိုဘာသာစကားအမျိုးမျိုးဖြင့်လျင်မြန်စွာနှိုင်းယှဉ်နိုင်ပြီးမည်သည့် key တန်ဖိုးများကိုဘာသာပြန်ဆိုခြင်းမရှိပါ။ ၎င်းသည်ဘာသာစကားမျိုးစုံအသုံးပြုခြင်း၏ပြုပြင်ထိန်းသိမ်းမှုနှင့်နောက်ဆုံးသတင်းများအတွက်အလွန်အထောက်အကူပြုသည်။ လွဲချော်သောဘာသာပြန်များကိုလျှော့ချပြီးအသုံးပြုသူအတွေ့အကြုံကိုတိုးတက်စေနိုင်သည်။