<?xml version="1.0" ?>

<container xmlns="http://symfony.com/schema/dic/services"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">

    <services>
        <defaults public="false" />

        <service id="translator.default" class="Symfony\Bundle\FrameworkBundle\Translation\Translator" public="true">
            <argument /> <!-- translation loaders locator -->
            <argument type="service" id="translator.selector" />
            <argument>%kernel.default_locale%</argument>
            <argument type="collection" /> <!-- translation loaders ids -->
            <argument type="collection">
                <argument key="cache_dir">%kernel.cache_dir%/translations</argument>
                <argument key="debug">%kernel.debug%</argument>
            </argument>
            <call method="setConfigCacheFactory">
                <argument type="service" id="config_cache_factory" />
            </call>
        </service>
        <service id="Symfony\Component\Translation\TranslatorInterface" alias="translator" />

        <service id="translator.logging" class="Symfony\Component\Translation\LoggingTranslator">
            <argument type="service" id="translator.logging.inner" />
            <argument type="service" id="logger" />
            <tag name="monolog.logger" channel="translation" />
        </service>

        <service id="translation.loader.php" class="Symfony\Component\Translation\Loader\PhpFileLoader" public="true">
            <tag name="translation.loader" alias="php" />
        </service>

        <service id="translation.loader.yml" class="Symfony\Component\Translation\Loader\YamlFileLoader" public="true">
            <tag name="translation.loader" alias="yml" />
        </service>

        <service id="translation.loader.xliff" class="Symfony\Component\Translation\Loader\XliffFileLoader" public="true">
            <tag name="translation.loader" alias="xlf" legacy-alias="xliff" />
        </service>

        <service id="translation.loader.po" class="Symfony\Component\Translation\Loader\PoFileLoader" public="true">
            <tag name="translation.loader" alias="po" />
        </service>

        <service id="translation.loader.mo" class="Symfony\Component\Translation\Loader\MoFileLoader" public="true">
            <tag name="translation.loader" alias="mo" />
        </service>

        <service id="translation.loader.qt" class="Symfony\Component\Translation\Loader\QtFileLoader" public="true">
            <tag name="translation.loader" alias="ts" />
        </service>

        <service id="translation.loader.csv" class="Symfony\Component\Translation\Loader\CsvFileLoader" public="true">
            <tag name="translation.loader" alias="csv" />
        </service>

        <service id="translation.loader.res" class="Symfony\Component\Translation\Loader\IcuResFileLoader" public="true">
            <tag name="translation.loader" alias="res" />
        </service>

        <service id="translation.loader.dat" class="Symfony\Component\Translation\Loader\IcuDatFileLoader" public="true">
            <tag name="translation.loader" alias="dat" />
        </service>

        <service id="translation.loader.ini" class="Symfony\Component\Translation\Loader\IniFileLoader" public="true">
            <tag name="translation.loader" alias="ini" />
        </service>

        <service id="translation.loader.json" class="Symfony\Component\Translation\Loader\JsonFileLoader" public="true">
            <tag name="translation.loader" alias="json" />
        </service>

        <service id="translation.dumper.php" class="Symfony\Component\Translation\Dumper\PhpFileDumper" public="true">
            <tag name="translation.dumper" alias="php" />
        </service>

        <service id="translation.dumper.xliff" class="Symfony\Component\Translation\Dumper\XliffFileDumper" public="true">
            <tag name="translation.dumper" alias="xlf" />
        </service>

        <service id="translation.dumper.po" class="Symfony\Component\Translation\Dumper\PoFileDumper" public="true">
            <tag name="translation.dumper" alias="po" />
        </service>

        <service id="translation.dumper.mo" class="Symfony\Component\Translation\Dumper\MoFileDumper" public="true">
            <tag name="translation.dumper" alias="mo" />
        </service>

        <service id="translation.dumper.yml" class="Symfony\Component\Translation\Dumper\YamlFileDumper" public="true">
            <tag name="translation.dumper" alias="yml" />
        </service>

        <service id="translation.dumper.qt" class="Symfony\Component\Translation\Dumper\QtFileDumper" public="true">
            <tag name="translation.dumper" alias="ts" />
        </service>

        <service id="translation.dumper.csv" class="Symfony\Component\Translation\Dumper\CsvFileDumper" public="true">
            <tag name="translation.dumper" alias="csv" />
        </service>

        <service id="translation.dumper.ini" class="Symfony\Component\Translation\Dumper\IniFileDumper" public="true">
            <tag name="translation.dumper" alias="ini" />
        </service>

        <service id="translation.dumper.json" class="Symfony\Component\Translation\Dumper\JsonFileDumper" public="true">
            <tag name="translation.dumper" alias="json" />
        </service>

        <service id="translation.dumper.res" class="Symfony\Component\Translation\Dumper\IcuResFileDumper" public="true">
            <tag name="translation.dumper" alias="res" />
        </service>

        <service id="translation.extractor.php" class="Symfony\Bundle\FrameworkBundle\Translation\PhpExtractor" public="true">
            <tag name="translation.extractor" alias="php" />
        </service>

        <service id="translation.loader" class="Symfony\Bundle\FrameworkBundle\Translation\TranslationLoader" public="true" />

        <service id="translation.extractor" class="Symfony\Component\Translation\Extractor\ChainExtractor" public="true" />

        <service id="translation.writer" class="Symfony\Component\Translation\Writer\TranslationWriter" public="true" />

        <service id="translation.warmer" class="Symfony\Bundle\FrameworkBundle\CacheWarmer\TranslationsCacheWarmer">
            <argument type="service" id="service_container" />
            <tag name="kernel.cache_warmer" />
        </service>

        <service id="translator_listener" class="Symfony\Component\HttpKernel\EventListener\TranslatorListener" public="true">
            <argument type="service" id="translator" />
            <argument type="service" id="request_stack" />
            <tag name="kernel.event_subscriber" />
        </service>
    </services>
</container>
