ဘာသာစကားဖိုင်များ၏သမာဓိကိုထိန်းသိမ်းခြင်းသည်ဘာသာစကားမျိုးစုံ 0 က်ဘ်ဆိုက်များသို့မဟုတ် applications များပြုလုပ်ရာတွင်အရေးပါသည်။ လုပ်ဆောင်နိုင်စွမ်းတိုးလာသည်နှင့်အမျှဗဟိုဘာသာစကားဖိုင်များတွင်သက်ဆိုင်ရာကွက်လပ်များကိုပျောက်ဆုံးနေသည့်အဓိကဘာသာစကားဖိုင်တွင်ကွက်လပ်အသစ်များထဲသို့ထည့်သွင်းနိုင်သည်။ ဤအချိန်တွင်ကျွန်ုပ်တို့သည်ဘာသာစကားဖိုင်များ၏သမာဓိကိုစစ်ဆေးရန်နှင့်သေချာစေရန်နည်းလမ်းတစ်ခုလိုအပ်သည်။ PHP ၏ Array_Diff_Key () function သည်ကျွန်ုပ်တို့အားဤအရာကိုအောင်မြင်ရန်ကူညီနိုင်သည်။
array_diff_ey () function ကိုနှစ်ခုသို့မဟုတ်နှစ်ခုထက်ပိုသောသော့များကိုသော့များနှင့်နှိုင်းယှဉ်ရန်နှင့်အခြားခင်းကျင်းမှုမရှိတဲ့ပထမခင်းကျင်းမှုတွင်သော့များပါ 0 င်သည့်နေရာများပါ 0 င်သည်။ ၎င်းသည်ဘာသာစကားဖိုင်များတွင်ပျောက်ဆုံးနေသောလယ်ကွင်းများကိုစစ်ဆေးရန်အလွန်အသုံးဝင်သည်။ ကွဲပြားခြားနားသောဘာသာစကားဖိုင်များအတွက်သော့များကိုနှိုင်းယှဉ်ရန်ကျွန်ုပ်တို့သည်ဘာသာစကားဖိုင်တစ်ခုစီတွင်လိုအပ်သောလယ်ကွင်းများပါ 0 င်သည်။
ကျွန်ုပ်တို့တွင်အဓိကဘာသာစကားဖိုင် (ထိုကဲ့သို့သောအင်္ဂလိပ်ဘာသာစကားဖိုင်ကဲ့သို့) နှင့်အခြားဘာသာစကားဖိုင်များ (ဥပမာတရုတ်, ပြင်သစ်စသကဲ့သို့) တွင်ပျောက်ဆုံးနေသောလယ်ကွင်းများမရှိပါ။ ဤဖိုင်များ၏အဓိကတန်ဖိုးများကိုနှိုင်းယှဉ်ကြည့်ရှုရန် array_diff_ey () ကို သုံး. ပျောက်ဆုံးသောလယ်ကွင်းများကိုရှာဖွေရန်ကျွန်ုပ်တို့အသုံးပြုနိုင်သည်။
ကျွန်ုပ်တို့၏ဘာသာစကားဖိုင်များကိုအောက်ပါတည်ဆောက်ပုံနှင့်ဆင်တူသည့်ခင်းကျင်းမှုတွင်သိမ်းဆည်းထားကြောင်းဆိုပါစို့။
အင်္ဂလိပ်စာဖိုင်များ ( en.php ):
return [
'welcome_message' => 'Welcome to our website!',
'login_button' => 'Login',
'logout_button' => 'Logout',
'contact_us' => 'Contact Us'
];
တရုတ်ဘာသာစကားဖိုင်များ ( zh.php ):
return [
'welcome_message' => 'ကျွန်ုပ်တို့၏ဝက်ဘ်ဆိုက်မှကြိုဆိုပါသည်!',
'login_button' => 'လော့ဂ်အင်',
// 'logout_button' => 'Log Out', ဒီမှာပျောက်နေတယ် 'logout_button' လယ်ကွင်း
];
ယခုကျွန်ုပ်တို့သည်ဤဘာသာစကားဖိုင်များကို array_diff_ey () ကိုနှိုင်းယှဉ်ရန်တရုတ်ဖိုင်ရှိပျောက်ဆုံးနေသောလယ်ကွင်းများကိုရှာဖွေရန်။
// အင်္ဂလိပ်နှင့်တရုတ်ဘာသာစကားဖိုင်များကိုတင်ပါ
$en = include('en.php');
$zh = include('zh.php');
// တရုတ်ဘာသာစကားဖိုင်များ၏သော့များကိုအင်္ဂလိပ်ဘာသာစကားဖိုင်များဖြင့်နှိုင်းယှဉ်ခြင်း,找出缺失的လယ်ကွင်း
$missingFields = array_diff_key($en, $zh);
// 输出缺失的လယ်ကွင်း
if (!empty($missingFields)) {
echo "以下လယ်ကွင်း在中文语言文件မရှိသော:\n";
foreach ($missingFields as $key => $value) {
echo "- $key\n";
}
} else {
echo "中文语言文件没有缺失任何လယ်ကွင်း。\n";
}
Loading Language Files များ - အသုံးပြုမှု ( zh.php ဖိုင်များကိုဖွင့်ရန် () ( zh.php files များကိုဖွင့်ရန်,
array_diff_key () : အင်္ဂလိပ်နှင့်တရုတ်ဘာသာစကားဖိုင်များ၏သော့များကို array_diff_key ($ en, $ zh) မှတဆင့်နှိုင်းယှဉ်ပါ။ Array_Diff_Key () သည် အင်္ဂလိပ်ဘာသာစကားဖြင့်ပါ 0 င်သောသော့များပါ 0 င်သည့်သော့များထည့်ထားသော်လည်းတရုတ်ဘာသာစကားဖိုင်တွင်မဟုတ်ပါ။
output ပျောက်ဆုံးနေသောလယ်ကွင်းများ - ပြန်လာသော ဒေါ်လာပျောက်ဆုံးနေသော Fields Array သည်အချည်းနှီးမဟုတ်လျှင်အချို့သောနယ်ပယ်များသည်တရုတ်ဘာသာစကားဖိုင်တွင်ပျောက်ဆုံးနေသည်။ ကျွန်ုပ်တို့သည်ဤပျောက်ဆုံးနေသောလယ်ကွင်းများကို looping ဖြင့် output လုပ်သည်။
ဘာသာစကားဖိုင်များစွာ၏သမာဓိကိုစစ်ဆေးရန်လိုပါကလယ်ကွင်းများအားလုံးဘာသာပြန်ထားသောရန်သေချာစေရန်ဘာသာစကားဖိုင်တစ်ခုစီကိုအဓိကဘာသာစကားဖိုင်ဖြင့်နှိုင်းယှဉ်ရန်အလားတူချဉ်းကပ်မှုကိုအသုံးပြုနိုင်သည်။ ဥပမာအားဖြင့်ကျွန်ုပ်တို့သည် Check Logic ကို function တစ်ခုထဲသို့ချထားနိုင်သည်။
function checkMissingFields($primaryLangFile, $compareLangFile) {
$primaryLang = include($primaryLangFile);
$compareLang = include($compareLangFile);
$missingFields = array_diff_key($primaryLang, $compareLang);
if (!empty($missingFields)) {
echo "以下လယ်ကွင်း在 $compareLangFile မရှိသော:\n";
foreach ($missingFields as $key => $value) {
echo "- $key\n";
}
} else {
echo "$compareLangFile 没有缺失任何လယ်ကွင်း。\n";
}
}
// အင်္ဂလိပ်နှင့်တရုတ်စာရွက်စာတမ်းများနှိုင်းယှဉ်ခြင်း
checkMissingFields('en.php', 'zh.php');
// အင်္ဂလိပ်နှင့်ပြင်သစ်စာရွက်စာတမ်းများနှိုင်းယှဉ်
checkMissingFields('en.php', 'fr.php');
PHP ၏ Array_Diff_Key () function ကိုအသုံးပြုခြင်းသည်ဘာသာစကားမျိုးစုံဖိုင်များတွင်ပျောက်ဆုံးနေသောလယ်ကွင်းများကိုထိရောက်စွာစစ်ဆေးနိုင်သည်။ ဤသည်သည်မတူညီသောဘာသာစကားများဖြင့်ဖိုင်များသည်တသမတ်တည်းရှိကြောင်းနှင့်ဘာသာပြန်ဆိုခြင်းကြောင့်မပြည့်စုံသော interface display ကိုရှောင်ရှားသည်။ ဤနည်းအားဖြင့်ဘာသာစကားမျိုးစုံစီမံကိန်းများ၏အရည်အသွေးနှင့်ထိန်းသိမ်းမှုကိုများစွာတိုးတက်စေနိုင်သည်။