2010-12-16 75 views
2

如何通過default.po文件
例如
對於CakePHP的庫文件的翻譯添加到 - 個名字
- 一天的名字
- timeAgoInWords.po文件

我嘗試手動添加字符串到default.po
但每次我從default.pot更新它(使用poedit)
字符串已經消失。

請幫我解決這個問題
將罰款通過使用單獨.po文件

回答

1

我解決這個問題
- 創建/app/views/dummy.ctp
- 通過從應對蛋糕\庫\圖\助手翻譯複製\ time.ctp到dummy.ctp
- 和蛋糕國際化將將翻譯添加到default.pot

0

你可以看到相關的字符串timeAgoInWordsat the end of TimeHelper::timeAgoInWords找到解決方案。他們只是沿着'year','years','month''months'等行的正常翻譯字符串,只需將這些翻譯放入通用域.po文件即可。

有一種特殊情況,可能會打印完整日期字符串,如'on 18/2/09'。 「關於」通過本地化字符串'on %s'是局部的,但需要傳遞給timeAgoInWords函數的日期格式:

$this->Time->timeAgoInWords($time, array('format' => __('Y-m-d', true))); 

月份名稱follow the same schema,只需添加翻譯'January''February'等在一般域名翻譯文件。不太確定Cake輸出哪些地方需要翻譯。請詳細說明。

+0

這對翻譯是正確的,但是如何將它們放到單獨的文件中。我知道我可以使用域解決方案來製作單獨的文件 但它不是編輯cake \ libs \ view \ helpers \ time.php到添加域 – baur79 2010-12-17 07:06:44

+0

@baur的方式啊,現在我明白你在問什麼了。是的,沒有編輯或覆蓋Cake方法,恐怕沒有真正的解決方案。您需要更加小心地將新的翻譯合併到您現有的文件中: -/ – deceze 2010-12-17 07:18:28

+0

謝謝,我也找不到其他解決方案,但作爲您的。 – baur79 2010-12-17 07:27:15