[FrameworkBundle] Use default_locale as default value for translator.fallbacks

This commit is contained in:
Kévin Dunglas 2019-06-19 22:36:28 +02:00
parent d31b71677d
commit e0ef35973d
No known key found for this signature in database
GPG Key ID: 4D04EBEF06AAF3A6
3 changed files with 6 additions and 5 deletions

View File

@ -763,9 +763,10 @@ class Configuration implements ConfigurationInterface
->fixXmlConfig('path')
->children()
->arrayNode('fallbacks')
->info('Defaults to the value of "default_locale".')
->beforeNormalization()->ifString()->then(function ($v) { return [$v]; })->end()
->prototype('scalar')->end()
->defaultValue(['en'])
->defaultValue([])
->end()
->booleanNode('logging')->defaultValue(false)->end()
->scalarNode('formatter')->defaultValue('translator.formatter.default')->end()

View File

@ -296,7 +296,7 @@ class FrameworkExtension extends Extension
$this->registerEsiConfiguration($config['esi'], $container, $loader);
$this->registerSsiConfiguration($config['ssi'], $container, $loader);
$this->registerFragmentsConfiguration($config['fragments'], $container, $loader);
$this->registerTranslatorConfiguration($config['translator'], $container, $loader);
$this->registerTranslatorConfiguration($config['translator'], $container, $loader, $config['default_locale']);
$this->registerProfilerConfiguration($config['profiler'], $container, $loader);
$this->registerCacheConfiguration($config['cache'], $container);
$this->registerWorkflowConfiguration($config['workflows'], $container, $loader);
@ -1073,7 +1073,7 @@ class FrameworkExtension extends Extension
return new Reference('assets.empty_version_strategy');
}
private function registerTranslatorConfiguration(array $config, ContainerBuilder $container, LoaderInterface $loader)
private function registerTranslatorConfiguration(array $config, ContainerBuilder $container, LoaderInterface $loader, string $defaultLocale)
{
if (!$this->isConfigEnabled($container, $config)) {
$container->removeDefinition('console.command.translation_debug');
@ -1088,7 +1088,7 @@ class FrameworkExtension extends Extension
$container->setAlias('translator', 'translator.default')->setPublic(true);
$container->setAlias('translator.formatter', new Alias($config['formatter'], false));
$translator = $container->findDefinition('translator.default');
$translator->addMethodCall('setFallbackLocales', [$config['fallbacks']]);
$translator->addMethodCall('setFallbackLocales', [$config['fallbacks'] ?: [$defaultLocale]]);
$container->setParameter('translator.logging', $config['logging']);
$container->setParameter('translator.default_path', $config['default_path']);

View File

@ -245,7 +245,7 @@ class ConfigurationTest extends TestCase
],
'translator' => [
'enabled' => !class_exists(FullStack::class),
'fallbacks' => ['en'],
'fallbacks' => [],
'logging' => false,
'formatter' => 'translator.formatter.default',
'paths' => [],