php - .PO 到 .MO - 程序化转换 (PHP)

标签 php windows linux translation gettext

作为 CMS 解决方案的一部分,我计划允许用户通过 PHP 用户界面生成 .POT 文件/.PO 文件。生成这些文件后(最简单的一点),我想让我的系统自动将这些文件转换为 .MO 文件以响应用户 (POST) 请求。

我在 SO 上看到了以下问题:

.po to .mo convertor in php?

我知道我可以运行 msgfmt通过使用 PHP 的 exec()功能,但这似乎是一个 Linux 唯一的解决方案,如果我是正确的?我将如何在其他操作系统上执行此操作?如果有人愿意演示,一些示例代码在实践中如何完成也将非常有用。这与我平时的工作大不相同!

目前这只是一个概念,但我希望我的方向是正确的。如果您对此方法有任何其他想法/建议,我很乐意听取他们的意见。背景信息如下。

其他背景信息 - 不需要:

我正在通过解析仅包含基本 HTML 和调用 <?php _('the gettext method'); ?> 的简单模板文件来检索原始英文文本。 .这些模板在编辑/保存时进行解析,并检索语言条目。然后将生成 .POT 文件。用户现在必须手动编辑翻译(通过一个简单的界面,而不是直接)来更新/准备所有 .PO 文件。完成后,我需要能够将它们转换为 .MO 文件,正如我的问题的标题。

最佳答案

如果您正在寻找的话,还有 msgfmt 的 PHP-only 重新实现:

作为替代方案,还有 Translate/Pootle webapp,及其php2po脚本,但其中还必须有一些 .mo 转换函数...(哦,不,它是在 Python 中。)

关于php - .PO 到 .MO - 程序化转换 (PHP),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8167924/

相关文章:

php - PHP 中用于输入验证的正则表达式

php - 如何将循环值与顺序不相同的数组值进行比较?

php - 从特定标签中剥离字符串的最快方法是什么

Windows 8 关机过程与 Vista 不同?

linux - CakePHP 中 OpenFlashChart2 的 FlashChartHelper : blank charts

c++ - 有没有办法在 Linux 上用 C++ 原子地刷新二进制信号量?

javascript - Onchange Select 使用 AJAX 发送多个数据进行不同的 mysql 查询

c# - 触发操作系统以编程方式复制(ctrl+c 或 Ctrl-x)

c++ - 无法从 WindowsXP 上的子文件夹加载库

c - Openssl:RSA_verify()和X509_verify_cert()是否使用普通的RSA验证码