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

Nik*_*ntz 3 python django google-app-engine nlp internationalization

鉴于这些都有不同的价值观:

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

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

  • 语言选择的Cookie值

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

mu *_*ort 5

如果你在某个地方有一个保存的偏好,那么这将是第一选择.

据推测,cookie值是他们上一次选择的内容,因此这是首先要检查的内容.

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

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

所以,按顺序:

  1. 保存的偏好.
  2. 曲奇饼.
  3. hl 参数.
  4. HTTP接受语言标头.
  5. 内置默认值.

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