所以我已经能够弄清楚如何使用 gettext 来翻译某种语言,设置 setlocale,我怎样才能弄清楚用户可能想要设置什么语言?
问问题
53 次
1 回答
0
按此顺序:
- 问他(例如作为偏好设置和/或使用登录页面)。
记住用户的选择。 - 解析 HTTP
Accept-Language
请求标头 ($_SERVER['HTTP_ACCEPT_LANGUAGE']
)。 - 默认为英语(或任何其他适合您的默认值)。
选择对您有意义的第一个选项。始终允许用户轻松切换到另一种语言。通常通过页眉或页脚中的链接。
URL 应包含语言选择。即最终当前 URL 是语言的决定因素,上述选项只是将用户重定向到适当的 URL。您可以为此使用域/子域 ( example.com
, example.de
, example.jp
, en.example.com
, de.example.com
, ja.example.com
) 或使其成为路径的一部分 ( example.com/en
, example.com/de
, example.com/ja
)。
第四种选择是根据用户的 IP 对用户进行地理定位,但我真的不鼓励这样做,因为位置与语言没有太大关系。
于 2012-11-06T11:31:19.387 回答