poedit失败,“更新目录失败”

时间:2012-03-20 08:51:51

标签: gettext poedit php-gettext

我正在为大型PHP项目使用gettext。我已经成功设置了所有内容,输入了一些翻译(用两种语言)来测试翻译是否有效并开始编码。我甚至不时使用poEdit更新翻译。

现在,由于没有明显的原因,当我尝试从源代码更新目录时,我在poEdit中收到此错误:

Updating the catalog failed. Click on 'More>>' for details.

当我点击Details >>时,会收到详细信息:

08:52:19: Entries in the catalog are probably incorrect.
08:52:19: Updating the catalog failed. Click on 'More>>' for details.

根据互联网上的建议我尝试更改路径(基本路径和项目路径),但无济于事(没有任何变化)。请注意,它没有说明没有找到源 - 只是它失败了。我还验证了两个.po文件:

msgfmt -o /dev/null -v -c messages.po

我正在运行poEdit 1.4.2-5(在Debian上)。

任何想法如何获得详细的错误信息? (或摆脱问题?;)

3 个答案:

答案 0 :(得分:4)

我终于通过运行来解决了这个问题:

find /path/to/project/ -name '*.php' -exec xgettext --from-code=UTF-8 -o messages.pot '{}' ';'

然后我修复了错误消息(拒绝读取子目录的权限),一切都恢复正常。希望它可以帮到某人。

答案 1 :(得分:0)

在收到相同的错误后,我从我的git repo中检出了.pot文件的先前版本,并在更新目录时使用它。

答案 2 :(得分:0)

我在Mac上使用PoEdit并遇到了同样的问题。只是通过排除所有JS文件来修复它。在我的情况下,一些缩小的js文件导致错误。刚刚被排除在外,我们走了..它的工作原理。也许它会有所帮助。