현재 위치: > 최신 기사 목록> 다국어 구성 파일 비교 : 어떤 키와 값이 번역되지 않습니까?

다국어 구성 파일 비교 : 어떤 키와 값이 번역되지 않습니까?

M66 2025-06-06

다중 언어 지원 웹 애플리케이션을 개발할 때는 종종 여러 언어 ( EN.Php , F.P.Php , de.php 등)에 대한 구성 파일이 있으며 각 구성 파일에는 해당 언어의 번역 내용이 포함되어 있습니다. 실제 개발에서는 번역되지 않은 곳에서 일부 주요 값이 발생하거나 특정 언어의 구성 파일에 일부 키가 누락 될 수 있습니다. 그렇다면 PHP 프로그램을 사용하여 여러 언어로 구성 파일을 자동으로 비교하고 변환되지 않은 주요 값을 찾는 방법은 무엇입니까?

이 기사는 여러 언어 구성 파일을 비교하여 PHP 스크립트를 작성하여 번역되지 않은 주요 값을 식별하여 개발자가 다국적으로 더 잘 관리 할 수 ​​있도록 도와줍니다.

1. 구성 파일 구조

다음과 같은 다국어 구성 파일이 있다고 가정합니다.

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',
];

위에서 볼 수 있듯이 다른 언어에 대한 구성 파일에는 동일한 키 (예 : Welcome_message )가 포함되어 있지만 일부 키는 일부 언어로만 나타납니다 (예 : 로그인 과 같은 영어와 프랑스어로만 나타나지만 독일어는 그 키가 부족합니다).

2. PHP 스크립트 로직

이러한 구성 파일을 비교하기 위해 PHP 스크립트를 작성하고 각 언어의 구성 파일을로드 한 다음 비교하여 일부 언어의 파일에 누락되었거나 번역되지 않은 키를 찾을 수 있습니다.

1 단계 : 구성 파일을로드합니다

먼저 구성 파일을로드하려면 함수를 작성해야합니다. 이러한 구성 파일이 모두 연관 배열을 반환한다고 가정 할 때이 파일은 포함 또는 요구를 사용하여로드 할 수 있습니다.

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

2 단계 : 모든 키를 찾으십시오

모든 구성 파일에서 모든 키를 찾아야합니다. 편의를 위해 지원되는 모든 언어 코드 (예 : EN , 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 단계 : 번역되지 않은 키를 비교하고 찾으십시오

다음으로 모든 키를 반복하고 각 언어 구성 파일에 해당 값이 있는지 확인합니다. 언어의 구성 파일에 키가 없거나 비어있는 경우 키가 번역되지 않았다고 가정 할 수 있습니다.

 $missingKeys = [];

foreach ($allKeys as $key) {
    foreach ($langCodes as $langCode) {
        $langData = loadLangFile($langCode);
        if (!isset($langData[$key]) || empty($langData[$key])) {
            $missingKeys[$langCode][] = $key;
        }
    }
}

4 단계 : 결과 출력

마지막으로, 번역되지 않은 키를 출력하여 개발자가 번역되지 않은 키를 신속하게 찾을 수 있도록 도와줍니다.

 echo "번역되지 않은 키:\n";
foreach ($missingKeys as $langCode => $keys) {
    echo "\n언어로 $langCode 다음 키가 누락되었습니다:\n";
    foreach ($keys as $key) {
        echo "- $key\n";
    }
}

3. 코드 예제 완료

모든 코드를 함께 병합하면 최종 PHP 스크립트는 다음과 같습니다.

 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 "번역되지 않은 키:\n";
foreach ($missingKeys as $langCode => $keys) {
    echo "\n언어로 $langCode 다음 키가 누락되었습니다:\n";
    foreach ($keys as $key) {
        echo "- $key\n";
    }
}

4. 요약

위의 PHP 스크립트를 통해 구성 파일을 여러 언어로 신속하게 비교하고 어떤 키 값이 번역되지 않은지 알아낼 수 있습니다. 이는 다국어 애플리케이션의 유지 관리 및 업데이트에 매우 도움이되며, 누락 된 번역을 줄이고 사용자 경험을 향상시킬 수 있습니다.