多语言支持网站

时间:2013-03-20 22:57:48

标签: php jquery html

我正在为一家公司开发的网站使用HTML / PHP / jQuery。他已要求为其网站添加多语言支持。

我只是想找出实现这一目标的最佳方式(或最佳实践方法),因为我相信有很多不同的方法可以做到这一点。

我找到了一个包含教程的网站; Click here

这会将PHP用于会话。

这是一个很好的方法吗?或者有更好的方法吗?

只需添加,该公司的网站有30页,每页约200-300字。

3 个答案:

答案 0 :(得分:1)

我不会亲自使用url querystring参数,我更喜欢它更清洁作为URL的一部分,例如:

http://en.example.com/

http://www.example.com/en/

然后,除此之外,我倾向于使用UNIX gettext样式进行翻译,我认为PHP支持 - http://php.net/manual/en/function.gettext.php

当你进入JavaScript方面时,这有点痛苦,但它有类似的实现。

答案 1 :(得分:0)

是的,这是在php应用程序中声明本地化资源的方法。基本上,这表明您需要一个对象的奇偶校验,在您要本地化的资源和特定的区域设置字符串之间创建Key/Value配对。

如果你想使用纯JavaScript这样做,它几乎是一样的。您需要在JavaScriptlocale-en.jslocale-de.js等不同的locale-fr.js语言环境文件中声明对象。这是针对您JavaScriptmyApplication = myApplication || {}; myApplication.locale = { title: "English title", body: "English body", // Etc. }; 提供的特定区域设置字符串完成的。不是你的服务器端的代码。这些文件包含的内容如下:

<强>区域设置en.js

<script type="text/javascript" src="locale-*language*.js"></script>
<script type="text/javascript">
    $('#title').text(myApplication.locale.title); //jQuery
    // Pure JavaScript
    document.getElementById('title').innerHTML = myApplication.locale.title;
</script>

其余文件包含完全相同的对象,但包含不同语言的字符串。然后在客户端代码中引用这些字符串是这样的:

{{1}}

答案 2 :(得分:0)

以下是我的想法:

  • 如果您至少关注SEO / SEM,请不要使用JavaScript进行本地化
  • 如果您使用的是任何类型的CMS,则需要在数据库中分段的内容,并通过CMS编辑相应的本地化字段
  • 如果您不使用CMS,请考虑使用每种语言在特定的PHP / HTML代码段文件中加载每个页面的内容
  • 如果您有很多本地化字符串,请考虑使用gettext()Poedit