Skip to content

Commit

Permalink
bug #20465 [#18637][TranslationDebug] workaround for getFallbackLocal…
Browse files Browse the repository at this point in the history
…es. (aitboudad)

This PR was merged into the 2.7 branch.

Discussion
----------

[#18637][TranslationDebug] workaround for getFallbackLocales.

| Q             | A
| ------------- | ---
| Branch?       | 2.7
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #18637
| License       | MIT
| Doc PR        | ~

Commits
-------

31deea1 [TranslationDebug] workaround for getFallbackLocales.
  • Loading branch information
fabpot committed Nov 9, 2016
2 parents 7e53eab + 31deea1 commit d6e9287
Show file tree
Hide file tree
Showing 3 changed files with 31 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@
use Symfony\Component\Console\Input\InputOption;
use Symfony\Component\Translation\MessageCatalogue;
use Symfony\Component\Translation\Translator;
use Symfony\Component\Translation\DataCollectorTranslator;
use Symfony\Component\Translation\LoggingTranslator;

/**
* Helps finding unused or missing translation messages in a given locale
Expand Down Expand Up @@ -157,7 +159,7 @@ protected function execute(InputInterface $input, OutputInterface $output)
// Load the fallback catalogues
$fallbackCatalogues = array();
$translator = $this->getContainer()->get('translator');
if ($translator instanceof Translator) {
if ($translator instanceof Translator || $translator instanceof DataCollectorTranslator || $translator instanceof LoggingTranslator) {
foreach ($translator->getFallbackLocales() as $fallbackLocale) {
if ($fallbackLocale === $locale) {
continue;
Expand Down
14 changes: 14 additions & 0 deletions src/Symfony/Component/Translation/DataCollectorTranslator.php
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,20 @@ public function getCatalogue($locale = null)
return $this->translator->getCatalogue($locale);
}

/**
* Gets the fallback locales.
*
* @return array $locales The fallback locales
*/
public function getFallbackLocales()
{
if ($this->translator instanceof Translator) {
return $this->translator->getFallbackLocales();
}

return array();
}

/**
* Passes through all unknown calls onto the translator object.
*/
Expand Down
14 changes: 14 additions & 0 deletions src/Symfony/Component/Translation/LoggingTranslator.php
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,20 @@ public function getCatalogue($locale = null)
return $this->translator->getCatalogue($locale);
}

/**
* Gets the fallback locales.
*
* @return array $locales The fallback locales
*/
public function getFallbackLocales()
{
if ($this->translator instanceof Translator) {
return $this->translator->getFallbackLocales();
}

return array();
}

/**
* Passes through all unknown calls onto the translator object.
*/
Expand Down

0 comments on commit d6e9287

Please sign in to comment.