2012-06-25 40 views
0

我正在嘗試在Symfony 1.4.18上設置i18n行爲。我的前端佈局中有一些i18n友好的字符串(使用兩個下劃線)。我試圖運行下面的命令:i18n提取不會在Symfony中創建目錄或文件

$ ./symfony i18n:extract frontend fr --auto-save 

起初,symfony中發現有17串,但沒有建立路徑的應用程序/前端/國際化/ FR/NOR裏面的文件:messages.xml。

我重新運行上面的命令,但這次的Symfony沒有發現任何字符串。我想,如果Symfony的沒有找到新的字符串,它可能保存的地方,於是我就在我的Linux另一個命令,找到我的國際化字符串之一任何出現(通常我有這樣的字符串:):

$ grep "Freelance" $(find ./) 

這個命令是在我的項目的根目錄下啓動的,但不幸的是除了我的佈局中沒有發現任何事件。

我不知道該怎麼做才能解決我的問題。

PS:我希望我的英語不是太糟糕了,這不是我的母語,但我會盡我所能。

+0

你檢查過的文件夾'應用程序/前端/ 118N/fr'?它可能有一個名爲'messages.xml'的文件。 – j0k

+0

你是否在'settings.yml''文件中設置了'''i18n:true'''? – Raise

+0

另外,你或者./symfony腳本是否有權寫入'''''''前端/ i18n /'''文件夾? – Raise

回答

-1

你的默認語言是fr和你試圖讓翻譯給fr

XML文件中應該有源字符串(法語 - 默認語言)和目標字符串(英文或其他)。

嘗試./symfony i18n:extract frontend en --auto-save(或任何語言,你想,法文以外),並讓我們知道,如果你會得到你所需要的。

+0

感謝您的幫助,但不幸的是它沒有奏效。我在'apps/frontend/i18n'中運行'$ mkdir en',然後運行命令(使用en位置),但不創建en/messages.xml。 –

+0

你在factory.yml中定義了什麼(與i18n相關)? –

+0

我不這麼認爲,我不習慣編輯這個文件,我敢肯定這是默認文件,但是這裏是複製:[apps/frontend/config/factories.yml](http: //pastebin.com/N44HLBVS) –

0

嘗試設置國際化源factories.yml文件

事情是這樣的:

i18n: 
    class: sfI18N 
    param: 
    source:    XLIFF 
    debug:    false 
    untranslated_prefix: "[T]" 
    untranslated_suffix: "[/T]" 
    cache: 
     class: sfFileCache 
     param: 
     automatic_cleaning_factor: 0 
     cache_dir:     %SF_I18N_CACHE_DIR% 
     lifetime:     31556926 
     prefix:     %SF_APP_DIR%/i18n 

here你可以找到更多信息。

3

嘗試

messageSource: '%SF_APP_DIR%/i18n' 

選項添加到您的i18n的出廠配置。

而且在app_dir/i18n/your_culture尋找你messages.xml。老messages.xml地方在我的情況

0
  1. vendor/symfony/lib/plugins/sfdoctrineplugin/i18n在你的項目根這樣做:

    sudo find . -print | grep -i 'messages.xml' 
    
  2. 然後刪除該文件()你發現(可能內symfony的廠商文件sfDoctrinePlugin /國際化)

  3. 使用從上面的設置,爲您factory.yml和設置。陽明海運

  4. 重啓任務:

    php symfony i18n:extract frontend fr --auto-save 
    

    這就是全部。現在生成messages.xml文件。缺少文件夾被創建。

  5. (還原使用chmod改變你之前所做的那樣)

相關問題