လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> ဘာသာစကားမျိုးစုံ configuration file ကိုနှိုင်းယှဉ်ခြင်း - မည်သည့်သော့နှင့်တန်ဖိုးများကိုဘာသာပြန်ဆိုခြင်းမရှိပါ။

ဘာသာစကားမျိုးစုံ configuration file ကိုနှိုင်းယှဉ်ခြင်း - မည်သည့်သော့နှင့်တန်ဖိုးများကိုဘာသာပြန်ဆိုခြင်းမရှိပါ။

M66 2025-06-06

ဘာသာစကားမျိုးစုံအထောက်အကူပြုသော 0 က် အပလီကေးရှင်း များ တီထွင်သောအခါကျွန်ုပ်တို့သည်ဘာသာစကားမျိုးစုံအတွက် configuration files များရှိသည်။ အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုတွင်အချို့သောသော့ချက်တန်ဖိုးများကိုသူတို့ဘာသာပြန်ဆိုခြင်းမရှိသောနေရာတွင်ကြုံတွေ့ရနိုင်သည်။ သို့မဟုတ်အချို့သောဘာသာစကား၏ configuration file တစ်ခုတွင်အချို့သောသော့များပျောက်ဆုံးနေသည်။ ထို့ကြောင့် PHP အစီအစဉ်များကို configuration files များကိုဘာသာစကားအမျိုးမျိုးဖြင့်အလိုအလျောက်နှိုင်းယှဉ်ခြင်းနှင့်ဤ untranslated key တန်ဖိုးများကိုရှာဖွေရန် PHP အစီအစဉ်များကိုသင်မည်သို့အသုံးပြုသနည်း။

ဤဆောင်းပါးသည် PHP script ကိုမည်သို့ရေးသားရမည်ကိုပြသမည့် PHP script ကိုမည်သို့ရေးသားရမည်ကိုပြသမည်ဖြစ်ပြီးမည်သည့်သော့ချက်တန်ဖိုးများကိုမပြန်ဘဲပြုလုပ်နိုင်သည်ကိုခွဲခြားသိမြင်ရန်,

1 ။ configuration ဖိုင်ဖွဲ့စည်းပုံ

အောက်ဖော်ပြပါမျိုးချစ်ခြားနှစ်မျိုးစုံပြုပြင်ပြောင်းလဲရေးဖိုင်ရှိတယ်ဆိုပါစို့။

en.php (အင်္ဂလိပ်)

 return [
    'welcome_message' => 'Welcome to our website!',
    'login' => 'Login',
    'register' => 'Register',
];

fr.php (ပြင်သစ်)

 return [
    'welcome_message' => 'Bienvenue sur notre site!',
    'login' => 'Se connecter',
];

De.php (ဂျာမန်)

 return [
    'welcome_message' => 'Willkommen auf unserer Website!',
    'register' => 'Registrieren',
];

အထက်တွင်ဖော်ပြထားသည့်အတိုင်းကွဲပြားခြားနားသောဘာသာစကားများအတွက် configuration file များပါ 0 င်သည် ( ကြိုဆိုသော levelage ကဲ့သို့သော သော့ များတွင်အချို့သော့များတွင်သာအချို့သောဘာသာစကားများဖြင့်သာလျှင်သာလျှင်အင်္ဂလိပ်နှင့်ပြင်သစ်တို့တွင်သာပေါ်လာသည်။

2 ။ PHP Script Logic

ဤ configuration files များကိုနှိုင်းယှဉ်ရန် PHP script ကိုရေးရန်, ဘာသာစကားတစ်ခုစီ၏ configuration files များကိုဖွင့်ပြီးမည်သည့်သော့ချက်များပျောက်ဆုံးနေသည်ကိုရှာဖွေရန်သို့မဟုတ်အချို့ဘာသာစကားများမှဘာသာပြန်ထားသောမည်သည့်သော့ကိုပျောက်ဆုံးနေသည်ကိုရှာဖွေရန်၎င်းတို့ကိုနှိုင်းယှဉ်နိုင်သည်။

အဆင့် 1: configuration file ကို load လုပ်ပါ

ပထမ ဦး စွာကျွန်ုပ်တို့သည် configuration file ကိုတင်ရန် function တစ်ခုကိုရေးရန်လိုအပ်သည်။ ဤဖိုင်များကိုဤ configuration files အားလုံးသည် Associative ခင်းကျင်းမှုကိုပြန်ပေးရန်ထည့်သွင်းခြင်းဖြင့် ထည့်သွင်းခြင်း သို့မဟုတ် လိုအပ်ခြင်းကို အသုံးပြု. အသုံးပြုနိုင်သည်။

 function loadLangFile($langCode) {
    $filePath = __DIR__ . "/$langCode.php";
    if (file_exists($filePath)) {
        return include $filePath;
    }
    return [];
}

အဆင့် 2 - သော့အားလုံးကိုရှာပါ

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);  // မိုးသည်းထန်စွာသွားပါ,ထပ်တူသော့များကိုရှောင်ပါ

အဆင့် 3. untranslated keys ကိုနှိုင်းယှဉ်ကြည့်ပါ

ထို့နောက်ကျွန်ုပ်တို့သည်သော့များအားလုံးကိုကြည့်ရှုခြင်းနှင့်ဘာသာစကား 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;
        }
    }
}

အဆင့် 4: ရလဒ် output ကို

နောက်ဆုံးအနေဖြင့်ကျွန်ုပ်တို့သည် developer များကိုမြန်မြန်ဆန်ဆန်မဘာသာပြန်နိုင်သည့်သော့များကိုမြန်မြန်ဆန်ဆန်ရှာရန်ကူညီရန်မမှန်မကန်သော့များကိုထုတ်ပေးနိုင်သည်။

 echo "untranslated သော့:\n";
foreach ($missingKeys as $langCode => $keys) {
    echo "\nဘာသာစကားအတွက် $langCode အောက်ပါသော့ချက်ပျောက်ဆုံးနေသည်:\n";
    foreach ($keys as $key) {
        echo "- $key\n";
    }
}

3 ။ ပြီးပြည့်စုံသောကုဒ်ဥပမာ

ကုဒ်အားလုံးကိုအတူတကွပေါင်းစည်းပါ, နောက်ဆုံး 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";
    }
}

4 ။ အကျဉ်းချုပ်

အထက်ပါ PHP script မှတဆင့်ကျွန်ုပ်တို့သည် configuration files များကိုဘာသာစကားအမျိုးမျိုးဖြင့်လျင်မြန်စွာနှိုင်းယှဉ်နိုင်ပြီးမည်သည့် key တန်ဖိုးများကိုဘာသာပြန်ဆိုခြင်းမရှိပါ။ ၎င်းသည်ဘာသာစကားမျိုးစုံအသုံးပြုခြင်း၏ပြုပြင်ထိန်းသိမ်းမှုနှင့်နောက်ဆုံးသတင်းများအတွက်အလွန်အထောက်အကူပြုသည်။ လွဲချော်သောဘာသာပြန်များကိုလျှော့ချပြီးအသုံးပြုသူအတွေ့အကြုံကိုတိုးတက်စေနိုင်သည်။