PHP的多语言网站

时间:2013-12-11 15:31:22

标签: php multilingual po mo

我想以三种语言提供网站,据我所知,我可以用三种方式实现这一目标。

  1. 使用.po和.mo文件,如wordpress。
  2. 在html文件中使用php数组转储。
  3. 将标签存储在数据库中。

    数据库可能会随着大量数据而增加。

  4. 我的问题是在这三个选项中翻译网站标签的最快捷方式。

    提前致谢。

2 个答案:

答案 0 :(得分:2)

  1. gettext(使用.po和.mo文件)是经典,稳定,经过验证的解决方案,拥有充满活力的生态系统,经过多年和多年的建立,专为翻译的精确目的而设计,几乎支持所有内容你最终会发现你需要(复数,类别,异步工作流程,你可以命名)。
  2. 是一个穷人的解决方案,可以扩展到几十个字符串进行翻译,并在此之后成为一个噩梦。它没有工具来支持工作流程,你必须重新发明你最终会遇到的每一个轮子。
  3. 是2.还有一个缺点,就是不能轻易控制你的翻译版本。
  4. 使用已建立的解决方案,问题并不像最初看起来那么简单。 gettext很好,虽然你真的需要进入the workflow,这可能在一开始就是一场艰苦的战斗。

答案 1 :(得分:1)

我认为最好的方法是将所有内容存储在文件系统上的文件中。这样,您不仅可以轻松缓存它,而且在数据库关闭时也可以使用它。在您的VCS中进行更改(例如git或svn)也更容易。有几种GUI程序可用于几种不同的文件类型来管理它。

就个人而言,我与Symfony2合作,他们有一个非常简单的解决方案:
http://symfony.com/doc/current/book/translation.html#configuration