create compiler for loading translation.loader tag
This commit is contained in:
62
core/lib/Thelia/Config/Resources/translation.xml
Normal file
62
core/lib/Thelia/Config/Resources/translation.xml
Normal file
@@ -0,0 +1,62 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
|
||||
<config xmlns="http://thelia.net/schema/dic/config"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://thelia.net/schema/dic/config http://thelia.net/schema/dic/config/thelia-1.0.xsd">
|
||||
|
||||
<parameters>
|
||||
<parameter key="translation.loader.php.class">Symfony\Component\Translation\Loader\PhpFileLoader</parameter>
|
||||
<parameter key="translation.loader.yml.class">Symfony\Component\Translation\Loader\YamlFileLoader</parameter>
|
||||
<parameter key="translation.loader.xliff.class">Symfony\Component\Translation\Loader\XliffFileLoader</parameter>
|
||||
<parameter key="translation.loader.po.class">Symfony\Component\Translation\Loader\PoFileLoader</parameter>
|
||||
<parameter key="translation.loader.mo.class">Symfony\Component\Translation\Loader\MoFileLoader</parameter>
|
||||
<parameter key="translation.loader.qt.class">Symfony\Component\Translation\Loader\QtFileLoader</parameter>
|
||||
<parameter key="translation.loader.csv.class">Symfony\Component\Translation\Loader\CsvFileLoader</parameter>
|
||||
<parameter key="translation.loader.res.class">Symfony\Component\Translation\Loader\IcuResFileLoader</parameter>
|
||||
<parameter key="translation.loader.dat.class">Symfony\Component\Translation\Loader\IcuDatFileLoader</parameter>
|
||||
<parameter key="translation.loader.ini.class">Symfony\Component\Translation\Loader\IniFileLoader</parameter>
|
||||
</parameters>
|
||||
|
||||
<services>
|
||||
<service id="translation.loader.php" class="%translation.loader.php.class%">
|
||||
<tag name="translation.loader" alias="php" />
|
||||
</service>
|
||||
|
||||
<service id="translation.loader.yml" class="%translation.loader.yml.class%">
|
||||
<tag name="translation.loader" alias="yml" legacy-alias="yaml" />
|
||||
</service>
|
||||
|
||||
<service id="translation.loader.xliff" class="%translation.loader.xliff.class%">
|
||||
<tag name="translation.loader" alias="xlf" legacy-alias="xliff" />
|
||||
</service>
|
||||
|
||||
<service id="translation.loader.po" class="%translation.loader.po.class%">
|
||||
<tag name="translation.loader" alias="po" />
|
||||
</service>
|
||||
|
||||
<service id="translation.loader.mo" class="%translation.loader.mo.class%">
|
||||
<tag name="translation.loader" alias="mo" />
|
||||
</service>
|
||||
|
||||
<service id="translation.loader.qt" class="%translation.loader.qt.class%">
|
||||
<tag name="translation.loader" alias="ts" />
|
||||
</service>
|
||||
|
||||
<service id="translation.loader.csv" class="%translation.loader.csv.class%">
|
||||
<tag name="translation.loader" alias="csv" />
|
||||
</service>
|
||||
|
||||
<service id="translation.loader.res" class="%translation.loader.res.class%">
|
||||
<tag name="translation.loader" alias="res" />
|
||||
</service>
|
||||
|
||||
<service id="translation.loader.dat" class="%translation.loader.res.class%">
|
||||
<tag name="translation.loader" alias="dat" />
|
||||
</service>
|
||||
|
||||
<service id="translation.loader.ini" class="%translation.loader.ini.class%">
|
||||
<tag name="translation.loader" alias="ini" />
|
||||
</service>
|
||||
</services>
|
||||
|
||||
</config>
|
||||
@@ -31,6 +31,7 @@ use Thelia\Core\DependencyInjection\Compiler\RegisterListenersPass;
|
||||
use Thelia\Core\DependencyInjection\Compiler\RegisterParserPluginPass;
|
||||
use Thelia\Core\DependencyInjection\Compiler\RegisterRouterPass;
|
||||
use Thelia\Core\DependencyInjection\Compiler\RegisterCouponConditionPass;
|
||||
use Thelia\Core\DependencyInjection\Compiler\TranslatorPass;
|
||||
|
||||
/**
|
||||
* First Bundle use in Thelia
|
||||
@@ -63,6 +64,9 @@ class TheliaBundle extends Bundle
|
||||
->addCompilerPass(new RegisterParserPluginPass())
|
||||
->addCompilerPass(new RegisterRouterPass())
|
||||
->addCompilerPass(new RegisterCouponPass())
|
||||
->addCompilerPass(new RegisterCouponConditionPass());
|
||||
->addCompilerPass(new RegisterCouponConditionPass())
|
||||
->addCompilerPass(new TranslatorPass())
|
||||
|
||||
;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -24,6 +24,7 @@
|
||||
namespace Thelia\Core\DependencyInjection\Compiler;
|
||||
use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
|
||||
use Symfony\Component\DependencyInjection\ContainerBuilder;
|
||||
use Symfony\Component\DependencyInjection\Reference;
|
||||
|
||||
|
||||
/**
|
||||
@@ -49,8 +50,11 @@ class TranslatorPass implements CompilerPassInterface
|
||||
|
||||
$translator = $container->getDefinition('thelia.translator');
|
||||
|
||||
foreach($container->findTaggedServiceIds('translator.loader') as $id => $attributes) {
|
||||
|
||||
foreach($container->findTaggedServiceIds('translation.loader') as $id => $attributes) {
|
||||
$translator->addMethodCall('addLoader', array($attributes[0]['alias'], new Reference($id)));
|
||||
if (isset($attributes[0]['legacy-alias'])) {
|
||||
$translator->addMethodCall('addLoader', array($attributes[0]['legacy-alias'], new Reference($id)));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user