如何在不使用PHP / Jquery重新加载页面的情况下更改语言

时间:2011-03-12 19:18:07

标签: php javascript jquery jquery-plugins

我正在开发一个多语言网站。 我目前包括语言短语的相关语言文件('lange / _en.php')。 要更改语言,用户将从<选择>项目。我想要做的是在页面中更改相关短语(如果可能的话也是网址)而不刷新或提交页面。

我记得我在网上看到过这样的东西,但我不知道在哪里。

有关如何完成此事的任何帮助或任何想法?

3 个答案:

答案 0 :(得分:5)

这个问题是语言更改不仅会影响页面的一小部分,而且会影响整个页面。所以,你真的有三个选择。

  1. 简单的方法确实正在重新加载整个页面。它易于实现,易于维护,并且不要求您确保页面上当前运行的JavaScript在运行时知道新语言。

  2. 复杂的方式,它通过AJAX获取所有新标记,并用重新加载的内容替换<body>标记的内容。这将导致运行其他脚本(例如图像轮播等)的问题,这些脚本包含对元素的引用,因此您必须重新初始化页面上settimeout()上运行的每个脚本。

    < / LI>
  3. 接近不可能的方式,即拥有客户端字典,选择每个相关标签,并使用新语言更改其内容。这是一种痛苦的设置和维护的痛苦。您确实需要为每个特定页面量身定制的部分。同样,如果你有包含字符串的脚本,你必须确保他们使用的字符串更新为新语言。

  4. 最好只是重新加载页面。它可以在没有JavaScript的情况下工作,这是一次不会打扰用户的一次性交易。

答案 1 :(得分:0)

检查此插件:

http://keith-wood.name/localisation.html

它可以“动态”改变语言,而无需回到服务器端。

答案 2 :(得分:0)

Image reload prototype if-modified我发布了有关所选语言的图片内容更新,而没有重新加载页面。

图像采用发送的值并更新为数据库上的语言/国家/地区代码(绑定语言),并更新图像内容(字符)以匹配其键盘布局。

希望它的一些用途