【发布时间】:2009-09-29 16:24:32
【问题描述】:
我目前正在开发一种自动用户语言检测,以便以用户的语言提供内容。
当然可以手动更改语言,但如果用户第一次访问该页面,我想以他的语言提供内容。
所以我在谷歌上搜索,发现 $_SERVER['HTTP_ACCEPT_LANGUAGE']-Var 得到这样的结果:
de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
过滤此结果以获得清晰结果(如“EN”/“DE”/“IT”)的最佳方法是什么?
$rL = $_SERVER["HTTP_ACCEPT_LANGUAGE"]; // de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
$langCode = strtoupper($rl[0].$rl[1]);
这个 Server-Var 的第二个问题是,如果浏览器提供一些信息,它只会给我一个结果。设置默认页面语言是处理这个问题的唯一可能性吗?
我感兴趣的第二种可能性是通过 IP 获取语言。因此,如果我得到语言,我可能知道用户的语言。但是在像瑞士、比利时这样的多语言国家呢? .com / .net / .org 之类的 tld 是什么。
那么你会应用哪种方法来检测用户的语言?
感谢您的帮助。
【问题讨论】:
标签: php