多语言网站PHP

时间:2017-10-03 06:35:40

标签: javascript php jquery

我想将我的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来解决这个问题

1 个答案:

答案 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'];