【问题标题】:PHP multilingual website xml or array [closed]PHP多语言网站xml或数组[关闭]
【发布时间】:2013-02-22 02:32:58
【问题描述】:

我有一个网站,我想制作成多语言网站。

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

这样做看起来比 xml 容易得多。所以,我想知道这两种风格之间是否有任何利弊?

【问题讨论】:

标签: php xml arrays multilingual


【解决方案1】:

您不应该使用 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/

【讨论】:

  • 我喜欢为 .po/.mo 提供建议的想法,但我认为与普通数组解决方案(来自 OP 链接)相比,解释利弊会很好,因为它看起来非常简单并且不需要其他工具来生成 PO/MO。
  • 哦,谢谢你不知道那东西会看,但我已经在 Excel 文件中拥有所有文本和信息,只需将它们转换为 xml 文件或 php 数组文件。
  • 将其从 Excel 转换为可在 POEDIT 中使用。 Gettext 使用二进制解析,比读取经典变量更快。 XML需要解析和读取,但gettext是堆到内存中的。这是GETTEXT比较速度测试:mel.melaxis.com/devblog/2006/04/10/…
  • 呵呵,现在我明白它是如何工作的了XD,谢谢。
  • “当你使用一些 UTF-8 标准不支持的字符时,它会分解代码”——这是什么意思?
【解决方案2】:

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

解析 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 的国际化指南

【讨论】:

  • 作者写道“但我已经在 Excel 文件中包含所有文本和信息”,所以我认为这些数据可能很大。这样如果会拖慢性能应该是不要使用XML解析了。
  • 是的,谢谢,它大约有 9 到 10 页。所以,我想我会试试 php 的,谢谢。
猜你喜欢
  • 2018-03-14
  • 2019-12-27
  • 2016-06-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多