我正在为一家公司开发的网站使用HTML / PHP / jQuery。他已要求为其网站添加多语言支持。
我只是想找出实现这一目标的最佳方式(或最佳实践方法),因为我相信有很多不同的方法可以做到这一点。
我找到了一个包含教程的网站; Click here
这会将PHP用于会话。
这是一个很好的方法吗?或者有更好的方法吗?
只需添加,该公司的网站有30页,每页约200-300字。
答案 0 :(得分:1)
我不会亲自使用url querystring参数,我更喜欢它更清洁作为URL的一部分,例如:
或
然后,除此之外,我倾向于使用UNIX gettext
样式进行翻译,我认为PHP支持 - http://php.net/manual/en/function.gettext.php。
当你进入JavaScript方面时,这有点痛苦,但它有类似的实现。
答案 1 :(得分:0)
是的,这是在php
应用程序中声明本地化资源的方法。基本上,这表明您需要一个对象的奇偶校验,在您要本地化的资源和特定的区域设置字符串之间创建Key/Value
配对。
如果你想使用纯JavaScript
这样做,它几乎是一样的。您需要在JavaScript
,locale-en.js
,locale-de.js
等不同的locale-fr.js
语言环境文件中声明对象。这是针对您JavaScript
和myApplication = 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)
以下是我的想法:
gettext()
和Poedit