PHP Laravel,识别未使用的翻译

PHP Laravel,识别未使用的翻译,php,laravel,translation,Php,Laravel,Translation,我在想,是否有一种方法可以使用常规下划线翻译来识别laravel中未使用的翻译键?如果您使用一些模式在循环中使用翻译,这将不起作用,您可能会删除正在使用的键 其中一种方法是使用grep 首先,打开补锅匠 php artisan tinker 然后需要翻译文件并将其存储在变量中 $translations = require resource_path('lang/en/app.php'); $translations变量将包含翻译文件返回的数组 循环遍历数组并对每个键使用grep $unus

我在想,是否有一种方法可以使用常规下划线翻译来识别laravel中未使用的翻译键?

如果您使用一些模式在循环中使用翻译,这将不起作用,您可能会删除正在使用的键

其中一种方法是使用
grep

首先,打开补锅匠

php artisan tinker
然后需要翻译文件并将其存储在变量中

$translations = require resource_path('lang/en/app.php');
$translations
变量将包含翻译文件返回的数组

循环遍历数组并对每个键使用
grep

$unused_keys = [];

foreach ($translations as $key => $value) {

    // Here app is the name of the translation file
    // that was required in first step.
    // Replace app with the name of the translation file that is been required.

    $out = exec('echo $(grep -rn "app.' . $key . '" . --exclude-dir=vendor)');

    echo strlen($out) . " " . $key . "\n";

    if (strlen($out) <= 0) {
        $unused_keys[] = $key;
    }
}

// The $unused_keys array would contain the translation key that is not being used.
$unused_key=[];
foreach($key=>$value){
//此处app是翻译文件的名称
//这是第一步所需要的。
//用所需翻译文件的名称替换app。
$out=exec('echo$(grep-rn“app.”.$key.“--exclude dir=vendor”);
echo strlen($out)。“.$key.\n”;

如果(strlen($out)谢谢,这是tinker的一个很好的用途。