Skip to content

Commit

Permalink
[Translation] Add resources from fallback locale
Browse files Browse the repository at this point in the history
  • Loading branch information
c960657 committed Jan 28, 2016
1 parent 6eda9ad commit f7f82fa
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 0 deletions.
24 changes: 24 additions & 0 deletions src/Symfony/Component/Translation/Tests/TranslatorTest.php
Expand Up @@ -239,6 +239,30 @@ public function testWhenAResourceHasNoRegisteredLoader()
$translator->trans('foo');
}

public function testFallbackCatalogueResources()
{
$translator = new Translator('en_GB', new MessageSelector());
$translator->addLoader('yml', new \Symfony\Component\Translation\Loader\YamlFileLoader());
$translator->addResource('yml', __DIR__.'/fixtures/empty.yml', 'en_GB');
$translator->addResource('yml', __DIR__.'/fixtures/resources.yml', 'en');

// force catalogue loading
$this->assertEquals('bar', $translator->trans('foo', array()));

$cataloguesProperty = new \ReflectionProperty($translator, 'catalogues');
$cataloguesProperty->setAccessible(true);
$catalogues = $cataloguesProperty->getValue($translator);

$resources = $catalogues['en']->getResources();
$this->assertCount(1, $resources);
$this->assertContains( __DIR__.'/fixtures/resources.yml', $resources);

$resources = $catalogues['en_GB']->getResources();
$this->assertCount(2, $resources);
$this->assertContains( __DIR__.'/fixtures/empty.yml', $resources);
$this->assertContains( __DIR__.'/fixtures/resources.yml', $resources);
}

/**
* @dataProvider getTransTests
*/
Expand Down
3 changes: 3 additions & 0 deletions src/Symfony/Component/Translation/Translator.php
Expand Up @@ -255,6 +255,9 @@ private function loadFallbackCatalogues($locale)
}

$fallbackCatalogue = new MessageCatalogue($fallback, $this->catalogues[$fallback]->all());
foreach ($this->catalogues[$fallback]->getResources() as $resource) {
$fallbackCatalogue->addResource($resource);
}
$current->addFallbackCatalogue($fallbackCatalogue);
$current = $fallbackCatalogue;
}
Expand Down

0 comments on commit f7f82fa

Please sign in to comment.