如何确定国际化参数的优先顺序

时间:2011-05-15 06:19:17

标签: python django google-app-engine internationalization nlp

鉴于这些都有不同的值:

  • HTTP浏览器接受语言标题 参数

  • HTTP GET人类语言参数,例如。 hl = en或hl = fr

  • 语言选择的Cookie值

如果根据这些值决定,我们应该如何决定显示页面的语言?同样可以将用户首选语言保存到数据层,这是让代理和用户决定语言的第四种方式。 提前感谢您的回答和评论

1 个答案:

答案 0 :(得分:5)

如果您在某个地方有保存的偏好,那么这将是首选。

大概是他们上一次选择的cookie值,所以这是第一件要检查的事情。

hl参数是谷歌已经想到的,他们可能知道他们正在做什么,所以这似乎是明智的第三选择。

然后我们有HTTP标头或最终默认值,所以接下来检查接受语言标题。最后,如果其他所有方法都失败,请使用默认语言。

所以,按顺序:

  1. 保存的偏好。
  2. 曲奇。
  3. hl参数。
  4. HTTP接受语言标题。
  5. 内置默认设置。
  6. 理想情况下,一旦从某个地方获得语言,您就会回溯列表,这样您在下次请求时就可以完成更少的工作。例如,如果您最终从接受语言标题中获取语言,则需要:设置hl(可能重定向),将其存储在cookie中,并将首选项保存在其用户设置中(如果您有这样一个永久存储和签名的人。)