1

所以我已经能够弄清楚如何使用 gettext 来翻译某种语言,设置 setlocale,我怎样才能弄清楚用户可能想要设置什么语言?

4

1 回答 1

0

按此顺序:

  1. 问他(例如作为偏好设置和/或使用登录页面)。
    记住用户的选择。
  2. 解析 HTTPAccept-Language请求标头 ( $_SERVER['HTTP_ACCEPT_LANGUAGE'])。
  3. 默认为英语(或任何其他适合您的默认值)。

选择对您有意义的第一个选项。始终允许用户轻松切换到另一种语言。通常通过页眉或页脚中的链接。

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 回答