404

[ Avaa Bypassed ]




Upload:

Command:

elspacio@3.16.47.126: ~ $
<?php

/*
 * This file is part of the Symfony package.
 *
 * (c) Fabien Potencier <fabien@symfony.com>
 *
 * 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 <fabien@symfony.com>
 */
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) {
                    $result[$key.'.'.$k] = $v;
                }
            } else {
                $result[$key] = $value;
            }
        }

        return $result;
    }
}

Filemanager

Name Type Size Permission Actions
ArrayLoader.php File 1.42 KB 0644
CsvFileLoader.php File 1.75 KB 0644
FileLoader.php File 1.74 KB 0644
IcuDatFileLoader.php File 1.84 KB 0644
IcuResFileLoader.php File 2.81 KB 0644
IniFileLoader.php File 562 B 0644
JsonFileLoader.php File 1.54 KB 0644
LoaderInterface.php File 982 B 0644
MoFileLoader.php File 4.3 KB 0644
PhpFileLoader.php File 1.05 KB 0644
PoFileLoader.php File 5.12 KB 0644
QtFileLoader.php File 2.84 KB 0644
XliffFileLoader.php File 8.85 KB 0644
YamlFileLoader.php File 1.62 KB 0644