Internationalization 如何跟踪用户选择的语言

Internationalization 如何跟踪用户选择的语言,internationalization,Internationalization,跟踪用户选择的语言的最佳方法是什么 a) 将语言设置存储在会话变量或cookie中 b) 从浏览器发送的HTTP头读取首选语言(区域设置) c) 将语言附加到应用程序中每个链接的URL上 首先从浏览器标题中读取首选语言,然后重定向到相应的URL 这样,同一个URL不会有不同的内容,也不会混淆用户和搜索引擎。我建议您: 所有三个选项 对于新用户,从标题中读取区域设置并将其写入cookie。 如果用户更改了他的首选语言,您只需在cookie中更改它并重定向到想要的站点 如果您只使用B&C,用户将无法

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

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

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

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

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


这样,同一个URL不会有不同的内容,也不会混淆用户和搜索引擎。

我建议您:

所有三个选项

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

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

d)将区域偏好存储到用户配置文件中

当然,这需要配置文件和密码的全部负担,但这在web应用程序上下文中是最好的

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

如果您仍然怀疑这是最好的选择,请记住,在“区域首选项”页面中,您可能会存储大量信息,例如:

  • 首选语言(这是您要求的)
  • 用户居住的国家
  • 首选区域格式(如日期、时间和数字)
  • 时区
  • 首选书写系统(又名脚本,即西里尔语与拉丁语)
  • 测量系统(公制与英制)
  • 首选编码和电子邮件格式(文本与HTML)
这些东西中有许多根本无法检测或几乎无法检测,因为web浏览器不发送这些信息。您还可以灵活地添加更多首选项来响应用户的请求(即,有些用户可能更喜欢24小时时间格式而不是12小时时间格式。)

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