我计划允许用户通过PHP用户界面生成.POT文件/ .PO文件,作为CMS解决方案的一部分.一旦生成了这些文件(简单的位),我想允许我的系统自动将这些文件转换为.MO文件以响应用户(POST)请求.
我在SO上看到了以下问题:
我知道我可以使用PHP的exec()函数运行msgfmt,但这似乎只是Linux解决方案,如果我是正确的?我如何在其他操作系统上执行此操作?如果有人愿意展示,那么在实践中如何做到这一点的一些示例代码也将非常有用.这与我通常做的工作完全不同!
这只是目前的概念,但我希望我走的是正确的路线.如果您对此方法有任何其他想法/建议,我会很高兴听到它们.背景信息如下.
其他背景资料 – 不需要:
我正在通过解析简单的模板文件来检索原始的英文文本,这些文件只包含基本的HTML并调用<?PHP _('gettext method'); ?取代.编辑/保存时会解析这些模板并检索语言条目.然后将生成.POT文件.用户现在必须手动编辑翻译(通过简单的界面,而不是直接编辑)来更新/准备所有.PO文件.完成后,我需要能够将它们转换为.MO文件,这是我的问题的标题.
解决方法:
如果您正在寻找的话,还有一些仅限PHP的msgfmt重新实现:
> php-msgfmt
> php.mo/gh
作为替代方案,还有Translate/Pootle webapp,其php2po脚本,但也必须有一些.mo转换函数…(哎呀,它在Python中.)