PHP 8.3.31
Preview: TranslationProviderCollectionFactory.php Size: 1.55 KB
/home/getspomw/royalsquad.us/vendor/symfony/translation/Provider/TranslationProviderCollectionFactory.php

<?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\Provider;

use Symfony\Component\Translation\Exception\UnsupportedSchemeException;

/**
 * @author Mathieu Santostefano <msantostefano@protonmail.com>
 */
class TranslationProviderCollectionFactory
{
    /**
     * @param iterable<mixed, ProviderFactoryInterface> $factories
     */
    public function __construct(
        private iterable $factories,
        private array $enabledLocales,
    ) {
    }

    public function fromConfig(array $config): TranslationProviderCollection
    {
        $providers = [];
        foreach ($config as $name => $currentConfig) {
            $providers[$name] = $this->fromDsnObject(
                new Dsn($currentConfig['dsn']),
                !$currentConfig['locales'] ? $this->enabledLocales : $currentConfig['locales'],
                !$currentConfig['domains'] ? [] : $currentConfig['domains']
            );
        }

        return new TranslationProviderCollection($providers);
    }

    public function fromDsnObject(Dsn $dsn, array $locales, array $domains = []): ProviderInterface
    {
        foreach ($this->factories as $factory) {
            if ($factory->supports($dsn)) {
                return new FilteringProvider($factory->create($dsn), $locales, $domains);
            }
        }

        throw new UnsupportedSchemeException($dsn);
    }
}

Directory Contents

Dirs: 0 × Files: 10

Name Size Perms Modified Actions
1.03 KB lrw-rw-rw- 2025-09-17 06:53:18
Edit Download
2.86 KB lrw-rw-rw- 2025-09-17 06:53:18
Edit Download
8.67 KB lrw-r--r-- 2026-04-26 10:34:14
Edit Download
1.50 KB lrw-rw-rw- 2025-09-17 06:53:18
Edit Download
910 B lrw-rw-rw- 2025-09-17 06:53:18
Edit Download
843 B lrw-rw-rw- 2025-09-17 06:53:18
Edit Download
669 B lrw-rw-rw- 2025-09-17 06:53:18
Edit Download
927 B lrw-rw-rw- 2025-09-17 06:53:18
Edit Download
1.37 KB lrw-rw-rw- 2025-09-17 06:53:18
Edit Download
1.55 KB lrw-rw-rw- 2025-09-17 06:53:18
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).