我正在为我为一家公司开发的网站使用 HTML/PHP/jQuery。他已请求为他的网站添加多语言支持。
我只是想找出实现这一目标的最佳方法(或最佳实践方法),因为我确信有很多不同的方法可以做到这一点。
我找到了一个有教程的网站;点击这里
这将 PHP 与会话一起使用。
这是一个很好的方法还是有更好的方法?
顺便说一句,该公司的网站有 30 页,每页大约 200-300 个字。
我个人不会使用 url 查询字符串参数,我更喜欢它作为 URL 的一部分更简洁,例如:
或者
然后除此之外,我倾向于使用gettext
我认为 PHP 支持的 UNIX 风格的翻译 - http://php.net/manual/en/function.gettext.php。
当你接触到 JavaScript 方面时,这有点痛苦,但它有类似的实现。
是的,这是在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>
以下是我的想法:
gettext()
and Poedit