什么是检测语言的最好方法?


What's best method to detect language?

我正在做一个网站(wordpress multisite),它支持两种语言的用户,有两种方法我们将使用它:

-通过地理IP检测语言

-通过Internet浏览器检测语言

使用它的最佳方法是什么?

提前感谢!

如果我是你,我会遵循这个列表:

  1. 如果用户是注册用户,请根据用户的喜好设置语言

  2. 如果用户以前使用语言X访问过该站点,则使用该语言(将语言选项存储在cookie中)。

  3. 如果http头Accept-Language存在,请尝试使用它(显然您不支持世界上所有的语言)。在PHP中,您可以通过$_SERVER['ACCEPT_LANGUAGE']获取该值。

    我也见过人们使用Accept-Charset,如果不能使用指定的语言(在Accept-Language中),则试图缩小范围,但这是一种长期的尝试。

  4. 最后一个选择是使用Geo IP来尝试找出用户可能在世界的哪个地方,以及那里说什么语言。这是一个困难的问题,因为一个国家的官方语言可能不是最终用户最喜欢使用的语言。


只要用户可以轻松地更改语言,并且不受上述任何预设的约束,就不会有任何问题。

. .请;尽量跟踪用户以前使用过的语言,这样他/她就不必每次访问你的网站都要改变语言。