|
19 | 19 | use Symfony\Component\Console\Input\InputOption;
|
20 | 20 | use Symfony\Component\Translation\MessageCatalogue;
|
21 | 21 | use Symfony\Component\Translation\Translator;
|
| 22 | +use Symfony\Component\Translation\DataCollectorTranslator; |
| 23 | +use Symfony\Component\Translation\LoggingTranslator; |
22 | 24 |
|
23 | 25 | /**
|
24 | 26 | * Helps finding unused or missing translation messages in a given locale
|
@@ -157,21 +159,30 @@ protected function execute(InputInterface $input, OutputInterface $output)
|
157 | 159 | // Load the fallback catalogues
|
158 | 160 | $fallbackCatalogues = array();
|
159 | 161 | $translator = $this->getContainer()->get('translator');
|
160 |
| - if ($translator instanceof Translator) { |
161 |
| - foreach ($translator->getFallbackLocales() as $fallbackLocale) { |
162 |
| - if ($fallbackLocale === $locale) { |
163 |
| - continue; |
164 |
| - } |
165 | 162 |
|
166 |
| - $fallbackCatalogue = new MessageCatalogue($fallbackLocale); |
167 |
| - foreach ($transPaths as $path) { |
168 |
| - $path = $path.'translations'; |
169 |
| - if (is_dir($path)) { |
170 |
| - $loader->loadMessages($path, $fallbackCatalogue); |
171 |
| - } |
| 163 | + $fallbackLocales = []; |
| 164 | + if ($translator instanceof DataCollectorTranslator || $translator instanceof LoggingTranslator) { |
| 165 | + try { |
| 166 | + $fallbackLocales = $translator->getFallbackLocales(); |
| 167 | + } catch (\Throwable $e) { |
| 168 | + } |
| 169 | + } elseif ($translator instanceof Translator) { |
| 170 | + $fallbackLocales = $translator->getFallbackLocales(); |
| 171 | + } |
| 172 | + |
| 173 | + foreach ($fallbackLocales as $fallbackLocale) { |
| 174 | + if ($fallbackLocale === $locale) { |
| 175 | + continue; |
| 176 | + } |
| 177 | + |
| 178 | + $fallbackCatalogue = new MessageCatalogue($fallbackLocale); |
| 179 | + foreach ($transPaths as $path) { |
| 180 | + $path = $path.'translations'; |
| 181 | + if (is_dir($path)) { |
| 182 | + $loader->loadMessages($path, $fallbackCatalogue); |
172 | 183 | }
|
173 |
| - $fallbackCatalogues[] = $fallbackCatalogue; |
174 | 184 | }
|
| 185 | + $fallbackCatalogues[] = $fallbackCatalogue; |
175 | 186 | }
|
176 | 187 |
|
177 | 188 | // Display header line
|
|
0 commit comments