Php 手动更改语言
我有一个网站,自动检测国家,并根据国家设置语言,但用户无法手动更改 如何将以下代码添加到下面的代码中,以确保我可以输入以下链接:Php 手动更改语言,php,Php,我有一个网站,自动检测国家,并根据国家设置语言,但用户无法手动更改 如何将以下代码添加到下面的代码中,以确保我可以输入以下链接: //我想与下面的代码集成的代码 交换机($lang){ 案例“en”: $lang_file='lang.en.php'; 打破 案例“de”: $lang_file='lang.de.php'; 打破 违约: $lang_file='lang.en.php'; } //主代码如下 有什么建议吗 if(isset($_GET['lang'])){ // get
//我想与下面的代码集成的代码
交换机($lang){
案例“en”:
$lang_file='lang.en.php';
打破
案例“de”:
$lang_file='lang.de.php';
打破
违约:
$lang_file='lang.en.php';
}
//主代码如下
有什么建议吗
if(isset($_GET['lang'])){
// get variable 'lang' is defined.
$lang = $_GET['lang']
}
您可以在下面的代码中重置$lang_file
的值:
if(visitor_country() == "Germany") {
$lang_file = 'lang.de.php';
//echo "Germany";
} else {
$lang_file = 'lang.en.php';
//echo "Not in Germany";
}
如果您删除了该代码,它应该可以工作。将自动检测置于开关的
默认值:
框中:
$lang = null;
if (isset($_GET['lang'])) {
$lang = $_GET['lang'];
// register the session and set the cookie
$_SESSION['lang'] = $lang;
setcookie('lang', $lang, time() + (3600 * 24 * 30));
} else if (isset($_SESSION['lang'])) {
$lang = $_SESSION['lang'];
} else if (isset($_COOKIE['lang'])) {
$lang = $_COOKIE['lang'];
}
switch ($lang) {
case 'en':
$lang_file = 'lang.en.php';
break;
case 'de':
$lang_file = 'lang.de.php';
break;
default:
if(visitor_country() == "Germany") {
$lang_file = 'lang.de.php';
//echo "Germany";
} else {
$lang_file = 'lang.en.php';
//echo "Not in Germany";
}
}
你的代码怎么了?这就是你得到的['lang']所做的。哦,谢谢。出于某种原因,它刚刚开始工作。也许我看起来不太对劲;)刚意识到它不起作用。“它不起作用”不够详细,任何人都无法帮助你。很抱歉,当我转到example.com/index.php?lang=de时,该语言只使用英语,而不是改为德语,反之亦然。如果德国有人在浏览该页面,是的,我已经尝试过了,但没有效果。最后我看到了一个空白的白色屏幕。有什么想法吗?我去掉了
else{$lang='en';}
,因为这阻止了进入默认情况。但是如果你得到的是一个空白屏幕,可能会有一个错误。检查您的error.log。
$lang = null;
if (isset($_GET['lang'])) {
$lang = $_GET['lang'];
// register the session and set the cookie
$_SESSION['lang'] = $lang;
setcookie('lang', $lang, time() + (3600 * 24 * 30));
} else if (isset($_SESSION['lang'])) {
$lang = $_SESSION['lang'];
} else if (isset($_COOKIE['lang'])) {
$lang = $_COOKIE['lang'];
}
switch ($lang) {
case 'en':
$lang_file = 'lang.en.php';
break;
case 'de':
$lang_file = 'lang.de.php';
break;
default:
if(visitor_country() == "Germany") {
$lang_file = 'lang.de.php';
//echo "Germany";
} else {
$lang_file = 'lang.en.php';
//echo "Not in Germany";
}
}