8000 Add default translations path option and convention · symfony/symfony@dee7d07 · GitHub
[go: up one dir, main page]

Skip to content

Commit dee7d07

Browse files
committed
Add default translations path option and convention
1 parent 8e5b3b1 commit dee7d07

File tree

3 files changed

+13
-0
lines changed

3 files changed

+13
-0
lines changed

src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Configuration.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -624,6 +624,10 @@ private function addTranslatorSection(ArrayNodeDefinition $rootNode)
624624
->end()
625625
->booleanNode('logging')->defaultValue($this->debug)->end()
626626
->scalarNode('formatter')->defaultValue('translator.formatter.default')->end()
627+
->scalarNode('default_path')
628+
->info('The default path used to load translations')
629+
->defaultValue('%kernel.project_dir%/translations')
630+
->end()
627631
->arrayNode('paths')
628632
->prototype('scalar')->end()
629633
->end()

src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -871,6 +871,7 @@ private function registerTranslatorConfiguration(array $config, ContainerBuilder
871871
$translator->addMethodCall('setFallbackLocales', array($config['fallbacks']));
872872

873873
$container->setParameter('translator.logging', $config['logging']);
874+
$container->setParameter('translator.default_path', $config['default_path']);
874875

875876
// Discover translation directories
876877
$dirs = array();
@@ -889,11 +890,15 @@ private function registerTranslatorConfiguration(array $config, ContainerBuilder
889890

890891
$dirs[] = dirname(dirname($r->getFileName())).'/Resources/translations';
891892
}
893+
$defaultDir = $container->getParameterBag()->resolveValue($config['default_path']);
892894
$rootDir = $container->getParameter('kernel.root_dir');
893895
foreach ($container->getParameter('kernel.bundles_metadata') as $name => $bundle) {
894896
if ($container->fileExists($dir = $bundle['path'].'/Resources/translations')) {
895897
$dirs[] = $dir;
896898
}
899+
if ($container->fileExists($dir = $defaultDir.'/'.$name)) {
900+
$dirs[] = $dir;
901+
}
897902
if ($container->fileExists($dir = $rootDir.sprintf('/Resources/%s/translations', $name))) {
898903
$dirs[] = $dir;
899904
}
@@ -907,6 +912,9 @@ private function registerTranslatorConfiguration(array $config, ContainerBuilder
907912
}
908913
}
909914

915+
if ($container->fileExists($defaultDir)) {
916+
$dirs[] = $defaultDir;
917+
}
910918
if ($container->fileExists($dir = $rootDir.'/Resources/translations')) {
911919
$dirs[] = $dir;
912920
}

src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/ConfigurationTest.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,7 @@ protected static function getBundleDefaultConfig()
155155
'logging' => true,
156156
'formatter' => 'translator.formatter.default',
157157
'paths' => array(),
158+
'default_path' => '%kernel.project_dir%/translations',
158159
),
159160
'validation' => array(
160161
'enabled' => !class_exists(FullStack::class),

0 commit comments

Comments
 (0)
0