jeudi 18 juillet 2019

Laravel - Read language files and put them into an array

I'm using laravel 5.2 with locale. I have a function that reads all my language files and put them into an array:

$this->langPath = resource_path('lang/'.App::getLocale());
$allTranslations = collect(File::allFiles($this->langPath))->flatMap(function ($file) {
    return [
        ($translation = $file->getBasename('.php')) => trans($translation),
    ];
});

This works fine. But the subfolder of my lang folder are missing of course. So I added another file read on the subfolder. But it returns only the name of the files and not the content:

$allModuleTranslations = collect(File::allFiles($this->langPath .'/modul'))->flatMap(function ($file) {
    return [
        ($translation = $file->getBasename('.php')) => trans($translation),
    ];
});

This is the folder structure:

[lang]
   [de]
      someFile.php
      anotherFile.php
      [modul]
         general.php
         modul1.php
   [en]
      someFile.php
      anotherFile.php
      [modul]
         general.php
         modul1.php

This turns out only the name of the files i.e. general, module1 and not the content of these files. What I'm doing wrong here? Thanks in advance for any help!



via Chebli Mohamed

Aucun commentaire:

Enregistrer un commentaire