-1

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

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

我找到了一个有教程的网站;点击这里

这将 PHP 与会话一起使用。

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

顺便说一句,该公司的网站有 30 页,每页大约 200-300 个字。

4

3 回答 3

1

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

http://en.example.com/

或者

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

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

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

于 2013-03-20T23:02:04.117 回答
0

是的,这是在php应用程序中声明本地化资源的一种方式。Key/Value基本上,正如这表明您需要在您正在本地化的资源和特定语言环境字符串之间创建配对的对象的奇偶校验。

如果您想使用 pure 执行此操作JavaScript,则几乎相同。JavaScript您需要在不同的语言环境文件中声明对象,例如locale-en.js, locale-de.js,locale-fr.js等。这是针对由您JavaScript而不是您的代码服务器端交付的特定语言环境字符串完成的。这些文件包含的内容大致如下:

语言环境-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>
于 2013-03-20T23:02:52.210 回答
0

以下是我的想法:

  • 如果您最不关心 SEO/SEM,请不要使用 JavaScript 进行本地化
  • 如果您使用任何类型的 CMS,则需要在数据库中分段内容,并通过 CMS 编辑相应的本地化字段
  • If you're not using a CMS, consider loading in a specific PHP/HTML snippet file for the content of each page, in each language
  • If you have a lot of localized strings, consider using gettext() and Poedit
于 2013-03-20T23:21:33.000 回答