【发布时间】:2011-12-05 13:39:00
【问题描述】:
我正在向网站添加本地化。如果我可以简单地通过 PHP 将翻译添加到 .po 文件,这个过程可以完全自动化,但我似乎找不到允许这样做的库(例如 POEdit 的 PHP 版本)。
我一直在做的,因为 HTML 在整个过程中基本上遵循相同的格式,通过我编写的一个类来运行每个 phtml 文件(如果有区别,它们实际上是 Zend Framework 视图)以隔离原始英文文本,为其分配一个索引(page.block.1),并编写一个<?php echo _('page.block.1'); ?> 函数,同时将原始文本包装在 HTML cmets 中。然后我手动打开 POEdit,检查要翻译的新字符串,并将 phtml 文件中的注释文本剪切/粘贴到 POEdit。
这非常耗时。假设我可以使用 PHP 库添加新的翻译,我已经准备好索引和字符串,因此它不仅可以消除人为错误,而且可以在几秒钟而不是几小时内完成任务。
对于 PHP 甚至 python/perl 是否存在这样的类?我好像找不到。
【问题讨论】:
-
它不存在。解析 .po 文件没什么大不了的。但是 gettext isn't used widely enough 对于 PHP 应用程序,所以没有人费心去写一个修改库。最好的方法仍然是通过调用
xgettext来更新模板 .pot。 -
@mario - 谢谢,这太糟糕了,但我明白。我想也许我只是不知道该寻找什么。