2013-02-22 89 views
1

我有一个网站,我想生成一个多语言的网站。PHP多语言网站xml或数组

但是,我卡住了。我应该使用XML还是PHP数组? 我打算用XML做到这一点,但是当我看到这个网站: php array

它看起来更容易做这种方式比XML。所以,我想知道这两种风格之间是否存在任何亲和关系?

+0

多一点有类似的话题http://stackoverflow.com/questions/2319060/using-php-gettext-extension-vs-php -arrays-in-multilingual-websites – JScoobyCed 2013-02-22 04:06:10

回答

1

在我看来,这取决于你的网站有多大以及涉及多少翻译。

解析XML将需要一些时间,而不仅仅是包含一个php文件的定义,但这不会是一个交易断路器。

我发现它在维护使用XML方面更容易,这将让你甚至可以创建基于页面名称或其他属性进行排序的内容

<page name="homepage"> 
    <tag name="tittle">Titulo</tag> 
    .. 
    .. 
</page> 
<page name="products"> 
    <tag name="product-title">Producto</tag> 
    .. 
    .. 
</page> 

您可能还需要采取节点看看PHP的国际指南的情况下,你需要的不仅仅是多语言支持http://php.net/manual/en/book.intl.php

+0

作者写了'但我已经在Excel文件中包含所有文本和信息',所以我认为这些数据可能很大。这样如果它会降低性能,这应该不是使用XML解析。 – 2013-02-22 02:56:27

+0

感谢,其约9至10页。所以,我想我会尝试一下php,thx。 – 2013-02-22 03:02:06

2

您不应将XML用于语言。当您使用某些UTF-8标准不支持的字符时,它会分解代码。

它的使用在Linux GUI快速编辑语言poEdit的申请和解析文件和.MO的.po

请避免XML的语言解析多少easer。这会降低你的表现。

看看这个如何使用poEdit的:http://www.dev4press.com/2010/tutorials/wordpress/various/translating-plugins-or-themes-using-poedit/

,这将产生一个语言克卡。

然后你需要使用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的速度提升与变量: http://mel.melaxis.com/devblog/2006/04/10/benchmarking-php-localization-is-gettext-fast-enough/

+0

我喜欢这个想法,建议.po/.mo,但我认为这将是很好的解释亲/ cons相比普通数组解决方案(来自OP链接),因为它看起来非常简单,并且不需要其他工具来生成PO/MO。 – JScoobyCed 2013-02-22 02:46:55

+0

哦,谢谢你不知道这件事会看,但我已经在Excel文件中有所有的文本和信息,只需将它们转换为XML文件或PHP数组文件。 – 2013-02-22 02:47:38

+0

将它从excell转换为POEDIT中可用。 Gettext使用二进制解析并且比读取经典变量更快。 XML需要解析和阅读,但gettext堆到内存中并处于打开状态。这是GETTEXT比较速度测试:http://mel.melaxis.com/devblog/2006/04/10/benchmarking-php-localization-is-gettext-fast-enough/ – 2013-02-22 02:51:40