【问题标题】:References in PO file - using cakephp: Have them any effect on the translation?PO 文件中的引用 - 使用 cakephp:它们对翻译有影响吗?
【发布时间】:2010-07-08 08:53:10
【问题描述】:

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

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

例如:

#: /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 手册太复杂了,我无法理解这个过程:(

【问题讨论】:

    标签: php cakephp po-file


    【解决方案1】:

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

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

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

    【讨论】:

    • 感谢优秀的 po 编辑器的提示,但这不是任何一个问题的答案。无论如何,非常有用:)
    猜你喜欢
    • 2011-05-26
    • 2011-01-31
    • 2015-07-22
    • 1970-01-01
    • 2017-11-02
    • 1970-01-01
    • 2021-01-13
    • 1970-01-01
    • 2012-11-10
    相关资源
    最近更新 更多