Php 网站的多语言支持

Php 网站的多语言支持,php,jquery,html,Php,Jquery,Html,我正在为一家公司开发的网站使用HTML/PHP/jQuery。他要求为他的网站添加多语言支持 我只是想找出实现这一目标的最佳方法(或最佳实践方法),因为我相信有很多不同的方法可以做到这一点 我找到了一个有教程的网站 这将使用PHP和会话 这是一个好方法还是有更好的方法 另外,该公司的网站有30页,每页大约200-300字。我个人不会使用url查询字符串参数,我更喜欢将其作为url的一部分,例如: 或 除此之外,我倾向于使用UNIXgettext风格进行翻译,我认为PHP支持这种翻译 当你开始

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

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

我找到了一个有教程的网站

这将使用PHP和会话

这是一个好方法还是有更好的方法


另外,该公司的网站有30页,每页大约200-300字。

我个人不会使用url查询字符串参数,我更喜欢将其作为url的一部分,例如:

除此之外,我倾向于使用UNIX
gettext
风格进行翻译,我认为PHP支持这种翻译


当你开始使用JavaScript时,这会让你感到更痛苦,但是也有类似的实现。

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

如果您想使用纯
JavaScript
实现这一点,它几乎是一样的。您需要在不同的
JavaScript
语言环境文件中声明对象,如
locale en.js
locale-de.js
locale-fr.js
,等等。这是为
JavaScript
交付的特定语言环境字符串而不是代码的服务器端完成的。这些文件包含以下内容:

locale en.js

myApplication = myApplication || {};

myApplication.locale = {
    title: "English title",
    body: "English body",
    // Etc.
};
其余文件包含完全相同的对象,但具有不同语言的字符串。然后在客户端代码中引用这些字符串如下:

<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>

$('#title').text(myApplication.locale.title)//jQuery
//纯JavaScript
document.getElementById('title').innerHTML=myApplication.locale.title;
以下是我的想法:

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

您可能想考虑jQuery .BunkHiel.JuQuery插件。个人而言,我更喜欢子域?YEP,在单独文件中键值对是走的路。您也可以使用XML定义语言文件。为什么不使用url查询字符串参数来确定语言?“更干净”的方式还意味着您需要复制每种语言的所有文件。所以,当您想要添加另一种语言或者想要修改一个页面时(因为您必须修改所有其他语言子目录中的每个文件,对吗?