[Translation] fixed nested fallback catalogue using multiple locales.

This commit is contained in:
Abdellatif Ait boudad 2016-11-09 19:27:17 +00:00
parent 7e53eab232
commit bac217dd83
2 changed files with 12 additions and 2 deletions

View File

@ -273,6 +273,16 @@ class TranslatorTest extends \PHPUnit_Framework_TestCase
$translator->trans('foo'); $translator->trans('foo');
} }
public function testNestedFallbackCatalogueWhenUsingMultipleLocales()
{
$translator = new Translator('fr');
$translator->setFallbackLocales(array('ru', 'en'));
$translator->getCatalogue('fr');
$this->assertNotNull($translator->getCatalogue('ru')->getFallbackCatalogue());
}
public function testFallbackCatalogueResources() public function testFallbackCatalogueResources()
{ {
$translator = new Translator('en_GB', new MessageSelector()); $translator = new Translator('en_GB', new MessageSelector());

View File

@ -159,7 +159,7 @@ class Translator implements TranslatorInterface, TranslatorBagInterface
* *
* @throws \InvalidArgumentException If a locale contains invalid characters * @throws \InvalidArgumentException If a locale contains invalid characters
* *
* @deprecated since version 2.3, to be removed in 3.0. Use setFallbackLocales() instead. * @deprecated since version 2.3, to be removed in 3.0. Use setFallbackLocales() instead
*/ */
public function setFallbackLocale($locales) public function setFallbackLocale($locales)
{ {
@ -420,7 +420,7 @@ EOF
foreach ($this->computeFallbackLocales($locale) as $fallback) { foreach ($this->computeFallbackLocales($locale) as $fallback) {
if (!isset($this->catalogues[$fallback])) { if (!isset($this->catalogues[$fallback])) {
$this->doLoadCatalogue($fallback); $this->loadCatalogue($fallback);
} }
$fallbackCatalogue = new MessageCatalogue($fallback, $this->catalogues[$fallback]->all()); $fallbackCatalogue = new MessageCatalogue($fallback, $this->catalogues[$fallback]->all());