laravel-vue-i18n-generator icon indicating copy to clipboard operation
laravel-vue-i18n-generator copied to clipboard

Merge folder and php file existing at the same time

Open limi7break opened this issue 5 years ago • 0 comments

If in a folder I have a php file and a folder with the same name, the generator does not merge them in the generated file: sometimes the file is picked and the folder is ignored, sometimes the opposite. I don't know if this behavior is intended, but I think both the file and the folder should be recursively merged into the generated file.

This modification of Generator.php resolves this issue:

at line 218:

if ($fileinfo->isDir()) {
    // Recursivley iterate through subdirs, until everything is allocated.

    if (array_key_exists($fileinfo->getFilename(), $data)) {
        $data[$fileinfo->getFilename()] = array_merge_recursive($data[$fileinfo->getFilename()], $this->allocateLocaleArray($path . DIRECTORY_SEPARATOR .     $fileinfo->getFilename()));
    } else {
        $data[$fileinfo->getFilename()] = $this->allocateLocaleArray($path . DIRECTORY_SEPARATOR . $fileinfo->getFilename());
    }
}

if ($fileinfo->isFile()) {
    $noExt = $this->removeExtension($fileinfo->getFilename());

[...]

if (array_key_exists($noExt, $data)) {
    $data[$noExt] = array_merge_recursive($data[$noExt], $this->adjustArray($tmp));
} else {
    $data[$noExt] = $this->adjustArray($tmp);
}

limi7break avatar Mar 06 '20 13:03 limi7break