没有页面刷新的多语言更改?

时间:2010-09-16 17:20:55

标签: php firefox localization internationalization multilingual

用户选择从英语到德语的新语言。目前,页面必须每次刷新以将文本更改为所选语言。这对于IE来说很好,但在Firefox上它总是会询问用户并且用户体验不佳。此外,如果用户正在键入内容,则必须刷新文本全部消失。那么是否可以在不刷新的情况下加载新的语言文本?由于这是一个用户内容网站,因此每页有很多内容。 后端是PHP codeigniter&的MySQL。

3 个答案:

答案 0 :(得分:2)

通常您在浏览时只使用一种语言,因此当您的用户选择一种语言时,您只需要找到一种方法来记住它。

即使它是“糟糕的用户体验”,也总是比拥有大量的javascript更好,所有的语言环境都是用javascript改变的。

我不是说这是不可能的,但只要想一想,它真的值得吗?

答案 1 :(得分:2)

这似乎是一个更容易实现的流程:

  1. 用户开始输入内容并意识到他们在错误的语言设置下输入。
  2. 用户选择其他语言。
  3. 应用程序使用最适合您的方法存储用户输入的内容,即MySQL,会话,cookie等等。
  4. 页面正常刷新正确的区域设置和内容。
  5. 恢复用户输入的内容。
  6. 通过Ajax改变语言当然是可能的,但正如其他人所提到的,实现它可能比它的价值更多。

答案 2 :(得分:0)

我假设通过更改语言,您的意思是您的网络应用中有一个下拉菜单,可让用户选择一种语言。如果是这样......你在使用像jQuery这样的东西吗?您可以为每个具有显示文本的span /元素指定样式,并在更改语言时,循环使用该样式的所有跨度,并更新显示的内容 - 通过ajax调用加载新的显示文本。这与处理翻译的桌面应用程序非常相似。