我正在为大型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上)。
任何想法如何获得详细的错误信息? (或摆脱问题?;)
答案 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文件导致错误。刚刚被排除在外,我们走了..它的工作原理。也许它会有所帮助。