【发布时间】:2013-02-22 02:32:58
【问题描述】:
我有一个网站,我想制作成多语言网站。
但是,我被困住了。我应该使用 XML 还是 PHP 数组? 我打算用 XML 来做,但是当我看到这个网站时: php array
这样做看起来比 xml 容易得多。所以,我想知道这两种风格之间是否有任何利弊?
【问题讨论】:
标签: php xml arrays multilingual
我有一个网站,我想制作成多语言网站。
但是,我被困住了。我应该使用 XML 还是 PHP 数组? 我打算用 XML 来做,但是当我看到这个网站时: php array
这样做看起来比 xml 容易得多。所以,我想知道这两种风格之间是否有任何利弊?
【问题讨论】:
标签: php xml arrays multilingual
您不应该使用 XML 作为语言。当您使用一些 UTF-8 标准不支持的字符时,它会分解代码。
使用 POEDIT 应用程序在 Linux 上的 GUI 中快速编辑语言并解析文件 .MO 和 .PO 会容易得多
请避免使用 XML 进行语言解析。这会降低你的表现。
看这里如何使用 POEDIT:http://www.dev4press.com/2010/tutorials/wordpress/various/translating-plugins-or-themes-using-poedit/
这将生成一个语言 therms。
那么你需要使用gettext来解析和读取本地化。看这个页面例如解释:http://mel.melaxis.com/devblog/2005/08/06/localizing-php-web-sites-using-gettext/
在 poedit 和解析 gettext 数据之后,真正的解释在这里:Create POT file with Poedit
跳至本站实战:http://www.codeforest.net/translate-and-localize-your-web-application-with-php-and-gettext
GETTEXT SPEED 改进与变量:http://mel.melaxis.com/devblog/2006/04/10/benchmarking-php-localization-is-gettext-fast-enough/
【讨论】:
在我看来,这取决于您的网站有多大以及涉及多少翻译。
解析 XML 将花费更多时间,而不仅仅是包含一个带有定义的 php 文件,但这不会是一个交易破坏者。
我发现使用 XML 在维护方面更容易,这将允许您甚至根据页面名称或其他属性创建节点以对其内容进行排序
<page name="homepage">
<tag name="tittle">Titulo</tag>
..
..
</page>
<page name="products">
<tag name="product-title">Producto</tag>
..
..
</page>
如果您需要的不仅仅是多语言支持http://php.net/manual/en/book.intl.php
,您可能还需要查看 PHP 的国际化指南【讨论】: