PHP语言检测?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (56)

正在尝试建立他的第一个多语言站点

session_start();

if (!isset($_SESSION['lang'])) {
   $_SESSION['lang'] = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
}

elseif (isset($_GET['setLang']) && $_GET['setLang'] == 'en') $_SESSION['lang'] = "en";
elseif (isset($_GET['setLang']) && $_GET['setLang'] == 'sv') $_SESSION['lang'] = "sv";
elseif (isset($_GET['setLang']) && $_GET['setLang'] == 'pl') $_SESSION['lang'] = "pl";
elseif (isset($_GET['setLang']) && $_GET['setLang'] == 'fr') $_SESSION['lang'] = "fr";

include('languages/'.$_SESSION['lang'].'.php');

http://jorm.homeftp.org/

提问于
用户回答回答于

浏览器通常发送一个HTTP

例如,这个标题可以是:

Accept-Language: en-us,en;q=0.5

在PHP中,可以在$_SERVER

var_dump($_SERVER['HTTP_ACCEPT_LANGUAGE']);

会让我:

string 'en-us,en;q=0.5' (length=14)
Accept-Language: fr-fr,en-us;q=0.7,en;q=0.3

并且,从PHP:

string 'fr-fr,en-us;q=0.7,en;q=0.3' (length=26)

可以查看HTTPRFC第14.4节

用户回答回答于

扫码关注云+社区

领取腾讯云代金券