/home/techb158/dev.balacoffee.com/vendor/symfony/translation/Loader
NameSizeModeActions
ArrayLoader.php14870644editdlrm
CsvFileLoader.php17580644editdlrm
FileLoader.php17250644editdlrm
IcuDatFileLoader.php18280644editdlrm
IcuResFileLoader.php27890644editdlrm
IniFileLoader.php5370644editdlrm
JsonFileLoader.php15290644editdlrm
LoaderInterface.php9500644editdlrm
MoFileLoader.php42670644editdlrm
PhpFileLoader.php10540644editdlrm
PoFileLoader.php51020644editdlrm
QtFileLoader.php27740644editdlrm
XliffFileLoader.php88440644editdlrm
YamlFileLoader.php16220644editdlrm
Edit: /home/techb158/dev.balacoffee.com/vendor/symfony/translation/Loader/ArrayLoader.php (1487B)
* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\Translation\Loader; use Symfony\Component\Translation\MessageCatalogue; /** * ArrayLoader loads translations from a PHP array. * * @author Fabien Potencier */ class ArrayLoader implements LoaderInterface { public function load(mixed $resource, string $locale, string $domain = 'messages'): MessageCatalogue { $resource = $this->flatten($resource); $catalogue = new MessageCatalogue($locale); $catalogue->add($resource, $domain); return $catalogue; } /** * Flattens an nested array of translations. * * The scheme used is: * 'key' => ['key2' => ['key3' => 'value']] * Becomes: * 'key.key2.key3' => 'value' */ private function flatten(array $messages): array { $result = []; foreach ($messages as $key => $value) { if (\is_array($value)) { foreach ($this->flatten($value) as $k => $v) { if (null !== $v) { $result[$key.'.'.$k] = $v; } } } elseif (null !== $value) { $result[$key] = $value; } } return $result; } }