2010-12-16 183 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