使用.po文件

时间:2016-02-05 08:46:18

标签: database cakephp internationalization translation cakephp-2.5

我已经有好几天这个问题,经过研究,我还没有找到解决办法 我正在使用CakePHP 2.5.6项目,现在我正在进行国际化,一切似乎都运转正常,但我遇到了这个问题:
在我的数据库中,我为我的文章存储了几个标签,问题是标签的名称是由DB直接查询给我的,并使用foreach打印。
这是我的疑问,有没有办法使用我的.po文件翻译这些字段?
我已经考虑了一些解决方案,但我试图避免它们,因为我认为它们只是跛脚,例如在我的标签表中创建一个新的列,其中包含翻译的名称。

1 个答案:

答案 0 :(得分:1)

CakePHP的pot文件是为模板文件和应用程序中其他位置的硬编码字符串生成的。基本上类似__('Hello')之类的东西,如果你使用像__($var)这样的变量,它就不会工作,因为它需要知道字符串来生成翻译文件。

如果内容来自数据库,您需要查看按照建议翻译数据库中的数据库内容。您不应在标签表上创建一组新的列,而应使用CakePHP的Translate behaviour。 Cake的Translate行为应该可以满足您的需求而无需重新发明轮子。