jms_i18n_routing extractor always extracts all routes
Opened this issue · 6 comments
Hi,
I tried to extract routes for one bundle only, but the extractor always extracted all the routes from the application. Here is the command I used:
php app/console translation:extract de --enable-extractor=jms_i18n_routing --bundle=TestShopBundle --output-dir=./app/Resources/translations --keep
and here is the output:
Extracting Translations for locale de
Keep old translations: Yes
Output-Path: ./app/Resources/translations
Directories: /var/www/test.local/src/Test/Bundle/ShopBundle
Excluded Directories: ./src
Excluded Names: *Test.php, *TestCase.php
Output-Format: # whatever is present, if nothing then xlf #Custom Extractors: jms_i18n_routing
Loading catalogues from "./app/Resources/translations"
Extracting translation keys
Extracting messages from directory : /var/www/test.local/src/Test/Bundle/ShopBundle
Extracting messages with custom extractor : jms_i18n_routing
Added Messages: 742
Deleted Messages: # none as "Keep Old Translations" is true #
Added Messages: 742 but I have much less routes in this bundle...
Am I doing something wrong?
Thanks a lot!
Hi @jschaedl
translation:extract command creates translations both for routes and translation in twig, that don't have translation in file.
So 742 is routes + twig translations
Hi @Leprechaunz
sorry, but that's not true. I'm using the custom extractor --enable-extractor=jms_i18n_routing
as you can see in the command above which only extracts routes. So no twig translations inside the routes translation file.
Hi @jschaedl
Even if you use --enable-extractor=jms_i18n_routing
anyway it creates translations from twig, but in messages.*.yml
file.
You can test it by removing 'messages' translation files and running this command. It will create new 'messages' files from your twig template.
@Leprechaunz :-) you are right there is also a messages.*.yml
. But it still creates translation for all the application routes inside the routes.*.yml
even when I add --bundle=TestShopBundle
. So the bundle option had no effect. Any ideas how to resolve this?
@jschaedl Yes, you are right. It creates route translation for all bundles.
Only way you can prevent route from translating is http://jmsyst.com/bundles/JMSI18nRoutingBundle/master/usage#leaving-routes-untranslated
But it's not a solution if you want to restrict by bundle.
Sorry, I don't have any better idea for your issue.
I also have the problem that routes translation per bundle are filled with all routes, instead of the bundle only routes. Would be nice if this works te same as for messages translations. Respect the --bundle=MyBundle
option here.