2014-10-22 65 views
2

當我運行命令JmsI18NBundle - 在翻譯都必須設置

php app/console translation:extract en --enable-extractor=jms_i18n_routing 

我得到以下錯誤的目錄:

[JMS\TranslationBundle\Exception\InvalidArgumentException] 
The directory where translations are must be set. 

這是束配置:

jms_i18n_routing: 
default_locale: it 
locales: [it, en] 
strategy: prefix 
cookie: 
    enabled: false 

那有什麼問題?

回答

4

您可以通過使用--dir選項來定義運行translation:extract命令時翻譯所在的目錄。

From the documentation,

For dumping, the bundle provides you with a console command which you can use to update your translation files, or also just to preview all changes that have been made.

更新文件:

php app/console translation:extract de --dir=./src/ --output-dir=./app/Resources/translations 
+0

我試圖定義--dir選項,但它不起作用。 我修復了指定包和域選項的錯誤 – jury89 2014-10-22 09:23:02

+0

好的,我不確定,但我認爲你也可以在你的配置中設置域。 – 2014-10-22 09:30:52

+0

我認爲我的解決方案和您的解決方案都有效,不同之處在於,您想通過解決方案將所有路線轉換並將routes.en.yml放在應用程序文件夾中,而使用我的解決方案,您可以轉換特定的包和地點裏面的routes.en.yml – jury89 2014-10-22 10:40:44

0

我不得不使用下面的命令

php app/console translation:extract en --enable-extractor=jms_i18n_routing --bundle="AcmeFooBundle" --domain="routes"