如何跟踪用户选择的语言

时间:2013-01-27 15:03:12

标签: internationalization

跟踪用户选择的语言的最佳方法是什么?

a)将语言设置存储在会话变量或cookie中

b)从浏览器发送的HTTP标头中读取首选语言(区域设置)

c)将语言附加到应用程序中每个链接的URL

3 个答案:

答案 0 :(得分:0)

B& ç

首先从浏览器标题中读取首选语言,然后重定向到相应的URL。

这样,相同的网址将不会有不同的内容,并会混淆用户和搜索引擎。

答案 1 :(得分:0)

我会向您推荐以下内容:

所有三个选项。

对于新用户,请从标头中读取区域设置并将其写入cookie。 如果用户更改了他的首选语言,您只需在cookie中更改它并重定向到想要的站点。

如果您只是使用B& C用户将无法更改其首选语言 (至少它不会存储在任何地方,因此他们必须在每次访问时更改它)

答案 2 :(得分:0)

d)将区域首选项存储到用户个人资料中。

当然,这需要拥有配置文件和密码的全部负担,但这是Web应用程序的最佳选择。

这也意味着您应该根据HTTP Accept-Language标头的内容提供您的登录页面,然后使用用户在配置文件中选择的任何语言。区域首选项页面应默认为Accept-Language列表中的第一个受支持的语言(如果用户已经可以,则可以跳过选择。)

如果您仍然怀疑这是最佳选择,请记住,在区域偏好设置页面中,您可以存储大量信息,例如:

  • 首选语言(这是您要求的)
  • 用户所在的国家/地区
  • 首选区域格式(日期,时间和数字等)
  • 时区
  • 首选书写系统(又名脚本,即西里尔语与拉丁语)
  • 测量系统(公制与英制)
  • 首选编码和电子邮件格式(文本与HTML)

其中许多内容根本无法检测或难以检测,因为Web浏览器不会发送这些信息。并且您可以灵活地添加更多响应用户请求的首选项(即某些用户可能更喜欢24小时时间格式到12小时时间格式。)

在这种情况下,您需要跟踪的是用户会话。您可以将这些首选项放在用户会话对象中,以便它可以轻松地用于任何对区域设置敏感的类。