PO文件中的引用 - 使用cakephp:它们对翻译有影响吗?

时间:2010-07-08 08:53:10

标签: php cakephp po-file

目前我正在使用cakephp解决方案(不幸的是闭源)并注意到即使在po文件中有msgid条目,也不会翻译字符串。 我意识到如果源引用不在条目中,就会发生这种情况。如果我输入对该字符串的源引用,或者从条目中删除所有源引用,它将被翻译。

为了测试这个,我制作了一个带有可翻译字符串的小cakephp应用程序(使用__()函数),但我不能得到相同的行为。

e.g:

#: /views/view1/add.ctp:6
#: /views/view1/edit.ctp:6
#: /views/view2/add.ctp:5
#: /views/view2/edit.ctp:5
msgid "Name"
msgstr "localized name string"

App1:如果我删除了view1引用,那么view1的语言环境不会发生转换,但是view2工作已翻译。如果我删除所有引用都可以。

App2(我的测试):引用没有影响,全部翻译

它怎么样? 我在第一个应用程序中使用主题,字符串根据主题而有所不同。这会导致这种行为吗?

其他问题:如果我在视图中添加任何新字符串,在po文件中插入新字符串的最佳做法是什么?我可以提取一个新的空锅,没关系,但总是搜索po文件并手动插入这些文件非常耗时。我应该找到一种更好的自动方式。 GNU / gettext手册对我来说太复杂了,不能理解这个过程:(

1 个答案:

答案 0 :(得分:1)

我总是使用poedit - http://www.poedit.net/ - 这是最好的,但仍然不是很好。设置它可能非常令人困惑,但坚持不懈。

它将管理引用并为您生成mo(二进制)文件。

我在Mac和Ubuntu上使用它,并且过去曾在Windows上使用它。