2012-02-14 88 views
1


的表單助手CakePHP的2.0.6在1.3作品完美),不接受應用程序/地點/ PT_BR/LC_MESSAGES/default.po。
當我打開檢查文件,我看到:翻譯表單助手月CakePHP的

__d('cake', 'January'); 

如何我可以覆蓋「__d」和/或「蛋糕」插件。
因爲,當我改變_ d()到_(),工作正常,但我認爲這不是一個完美的解決方案。

__('January'); 

謝謝。
對不起,我的英語,我是巴西人

回答

3

移動所有這些翻譯成app/Locale/pt_br/LC_MESSAGES/cake.po__d中的d切換到另一個,而這些域在LC_MESSAGES目錄中僅僅是不同的文件。

+0

不工作我的朋友。現在我有:app/Locale/pt_br/LC_MESSAGES/cake.po,並且返回__d給FormHelper .... so:再次用英語。我做錯了什麼? – 2012-02-14 11:40:54

+0

可能緩存? – deceze 2012-02-14 11:45:24

+0

沒有我的朋友,真的不行。我嘗試翻譯,但沒有任何工作。 – 2012-02-16 17:39:33

5

我搜索了一個小時的解決方案,因爲我遇到了同樣的問題。這是我如何做的:

  1. /app/Locale/[your language key]/LC_MESSAGES/

  2. 複製創建cake.po翻譯文件在此文件中的以下和msgstr條目翻譯成你的語言:

    msgid "January" 
    msgstr "Januar" 
    
    msgid "February" 
    msgstr "Februar" 
    
    msgid "March" 
    msgstr "März" 
    
    msgid "April" 
    msgstr "April" 
    
    msgid "May" 
    msgstr "Mai" 
    
    msgid "June" 
    msgstr "Juni" 
    
    msgid "July" 
    msgstr "Juli" 
    
    msgid "August" 
    msgstr "August" 
    
    msgid "September" 
    msgstr "September" 
    
    msgid "October" 
    msgstr "Oktober" 
    
    msgid "November" 
    msgstr "November" 
    
    msgid "December" 
    msgstr "Dezember" 
    
  3. 添加Configure::write('Config.language', '[your language key (same as the folder created above)]');到你的引導程序或將它設置在其他地方。

  4. Tada!

說明:在CakePHP的幫手月份名稱是通過cake域譯:__d('cake', 'January')see file on github)在default.po文件,以便正常翻譯將無法正常工作。

+0

是的,我這樣做,但沒有工作。唯一的方法是改變原始的FormHelper.php。無論如何,非常感謝你。 – 2012-07-31 17:47:50

+0

只是好奇:您是否嘗試使用符合ISO 639-2標準的三字符區域代碼而不是'pt_br'?上面的作品完美地在我的應用程序,所以我不能相信它不工作:) – 2012-07-31 18:43:02

+0

所以,我試試這個,但沒有任何事情發生。在這裏查看詳細信息:https://gist.github.com/3222238(我使用'cpp'語言 - 僅用於測試 - 我可以嗎?) – 2012-08-01 01:15:42