如何在php中实现语言翻译模块

时间:2009-07-20 08:50:20

标签: translation multilingual

这是实现mutli -lang网站语言翻译的最佳方式。 我有两种方法,即

1)只需将页面中的所有静态文本内容放入数据库即数据库驱动的编程风格

$translation('register_form');
<form >
 <input name="search" >
</form>
某种转换。

2)就像wordpress .mo文件方法一样。

我想更多地了解这种翻译,它如何与.mo一样工作......

或制作翻译模块的任何其他更好方法。

2 个答案:

答案 0 :(得分:1)

对于.mo文件支持,请查看gettext函数,然后查看原始GNU gettext documentation

简而言之,无论何时使用自然语言,都可以调用_()(gettext的别名)

echo _("Hello world");

一旦所有资源都这样做,请运行GNU Xgettext工具到build a .pot file,它构成了语言翻译的“模板”。对于每种所需语言,您需要merge this .pot file into an individual .po file for each language。 xgettext再次提供的合并操作可确保您使用新字符串更新文件,而不会丢失任何现有翻译。

这些.po文件会发送给您的译员,他们可能会使用poedit之类的工具来提供翻译。当.po文件返回时,您可以生成gettext使用的二进制.mo文件。

还有classes in the Zend Framework除此之外还提供更多设施,例如更多文件格式,以及HTTP标头中用户首选语言的检测和选择。

答案 1 :(得分:0)

调查gettext - 这不是解决每个人问题的完美解决方案,但可能适用于你的问题。