我想将我的PHP网站变成一个多语言网站,只有两种语言(英语,土耳其语)。 在网页的顶部,有两个图标,一个用于英语,另一个用于土耳其语。当用户点击土耳其语图标时,如何检测到土耳其语被选中?
<div><a href="" title="English" id="English" class="active_lang"><img src="images/united-kingdom.png" class= "active" style="float: right; width: 24px;height:24px ;padding: 4px"> </a>
<a href="" title="Turkish" id="Turkish"><img src="images/turkey.png" style="float: right; width: 24px;height:24px; padding: 4px"> </a>
</div>
我该怎么做? 我有两个语言文件,一个用于英语,另一个用于土耳其语。
$arrLang['alert_admin_email_wrong']='kullanci email yanliştır '
$arrLang['alert_admin_email_wrong']='your email is wrong '
我必须使用会话或cookie来解决这个问题
答案 0 :(得分:0)
最简单的方法是在用户点击想要的语言时创建一个cookie。 至于数组我会按语言分割它
$arrLang['en']['alert_admin_email_wrong'] = 'text here';
$arrLang['tr']['alert_admin_email_wrong'] = 'text here turkish';
至于语言选择会在网页上执行此操作
<a href="?langSelect=en">English</a><a href="?langSelect=tr">Turkish</a>
在语言选择页面上:
$defaultLanguage = isset($_COOKIE['lang']) ? $_COOKIE['lang'] : 'en'; //default to english language
if(isset($_GET['langSelect'])){
//allow only 2 for now ( english / turkish)
$langForSelection = "";
switch($_GET['langSelect']){
case 'en':
$langForSelection = 'en';
break;
case 'tr':
$langForSelection = 'tr';
break;
default:
break;
}
if(isset($langForSelection)){
setcookie('lang',$langForSelection,time()+24*7*60*60);//set cookie to expire in 7 days
}
}
显示变量之后
echo $arrLang[$defaultLanguage]['alert_admin_email_wrong'];