-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathsetlang.php
36 lines (33 loc) · 1.13 KB
/
setlang.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<?php
preg_match('/^([a-z\-]+)/i', $_SERVER['HTTP_ACCEPT_LANGUAGE'], $matches);// Analysis HTTP_ACCEPT_LANGUAGE property
$lang = $matches[1];// Take the first language settings
$lang = strtolower($lang);// Converted to lowercase
// default lang & type
$lang = $lang;
putenv('LANG=en_US');
setlocale(LC_ALL, $lang);
$lang = isset($_GET['lang']) ? $_GET['lang'] : $lang;
// en_US Languages
if ('en-us' == $lang) {
putenv('LANG=en_US');
setlocale(LC_ALL, 'en_US');
// zh_TW Languages
} else if ('zh-tw' == $lang) {
putenv('LANG=zh_TW');
setlocale(LC_ALL, 'zh_TW'); // bsd use zh_TW.BIG5
header('Content-type: text/html; charset=big5');
} else if ('zh-hk' == $lang) {
putenv('LANG=zh_TW');
setlocale(LC_ALL, 'zh_TW'); // bsd use zh_TW.BIG5
header('Content-type: text/html; charset=big5');
// zh_CN Languages
} else if ('zh-cn' == $lang) {
putenv('LANG=zh_CN');
setlocale(LC_ALL, 'zh_CN'); // bsd use zh_CN.GBK
header('Content-type: text/html; charset=gbk');
} else if ('zh-sg' == $lang) {
putenv('LANG=zh_CN');
setlocale(LC_ALL, 'zh_CN'); // bsd use zh_CN.GBK
header('Content-type: text/html; charset=gbk');
}
?>