PHP多语言网站与mo


PHP multilingual site with mo

我想用三种语言提供一个网站,据我所知,我可以用三种方法来实现这一点。

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

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

我的问题是,在这三个选项中,翻译网站标签的最快、更好的方法是什么。

提前谢谢。

  1. gettext(使用.po和.mo文件)是一个经典的、稳定的、经过验证的解决方案,具有一个充满活力的生态系统,经过多年的构建,专为翻译而设计,几乎支持您最终需要的一切(复数、类别、异步工作流,你能想到的)
  2. 是一个穷人的解决方案,需要翻译几十条字符串,之后就变成了一场噩梦。它没有支持工作流程的工具,你必须重新发明你最终会遇到的每一个轮子
  3. 是2。另外一个缺点是不容易对翻译进行版本控制

使用一个既定的解决方案,问题并不像最初看起来那么微不足道。gettext很好,不过您确实需要进入工作流,这在一开始可能有点困难。

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

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