Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP多语言网站与mo_Php_Multilingual_Po_Mo - Fatal编程技术网

PHP多语言网站与mo

PHP多语言网站与mo,php,multilingual,po,mo,Php,Multilingual,Po,Mo,我想让一个网站在三种语言,在我的知识,我可以用三种方法来实现这一点 使用类似wordpress的.po和.mo文件 在html文件中使用php数组转储 在数据库中存储标签 数据库可能会随着大量数据的增加而增加 我的问题是,在这三个选项中,翻译站点标签的最快和更好的方法是什么 提前感谢。我认为最好的方法是将所有内容都存储在文件系统中的文件中。这样,您不仅可以轻松地缓存它,而且在数据库关闭时它也可以工作。在您的VCS中进行更改(如git或svn)也容易得多。有几种GUI程序可用于几种不同的文件类型来

我想让一个网站在三种语言,在我的知识,我可以用三种方法来实现这一点

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

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

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


    提前感谢。

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

    就我个人而言,我与Symfony2合作,他们有一个非常简单的解决方案:

  • (使用.po和.mo文件)是一个经典、稳定、经验证的解决方案,具有一个充满活力的生态系统,经过多年的构建,专为翻译目的而设计,几乎支持您最终需要的所有内容(复数、类别、异步工作流,您可以随意选择)
  • 这是一个穷人的解决方案,它可以扩展到几十个字符串进行翻译,之后就变成了一个需要维护的噩梦。它没有支持工作流的工具,您将不得不重新发明最终遇到的每一个轮子
  • 是2。另外还有一个缺点,就是不容易控制翻译的版本
  • 使用一个已确定的解决方案,问题并不像最初看起来那么琐碎。gettext很好,不过您确实需要进入,这在一开始可能有点困难