假设这些都有不同的值:
HTTP 浏览器接受语言 header 参数
HTTP GET 人类语言参数,例如。 hl=en 或 hl=fr
语言选择的 Cookie 值
如果根据这些值来决定,我们应该如何决定以哪种语言显示页面?还可以考虑将用户的首选语言保存到数据层,作为让代理和用户决定语言的第四种方式。 预先感谢您的回答和评论
最佳答案
如果您在某处保存了首选项,那么那将是首选。
cookie 值大概是他们上次在附近时选择的值,因此这将是首先要检查的内容。
hl
参数是 Google 发现的,他们可能知道自己在做什么,所以这似乎是一个明智的第三选择。
然后我们有了 HTTP header 或最终的默认 header ,因此接下来检查接受语言 header 。最后,准备好默认语言以防万一一切都失败了。
所以,按顺序:
- 保存的偏好。
- Cookie。
hl
参数。- HTTP 接受语言 header 。
- 默认内置。
理想情况下,一旦您从某个地方获得一种语言,您就会回溯列表,这样您在下一个请求时就可以减少工作量。例如,如果您最终从 accept language header 获取语言,您需要:设置 hl
(可能重定向),将其存储在 cookie 中,并将首选项保存在他们的用户设置中(如果你有这样的永久商店和亲自签名)。
关于python - 如何确定国际化参数的优先级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6006839/