首页 文章

多语言网站PHP [关闭]

提问于
浏览
-4

我想将我的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

    最简单的方法是在用户点击想要的语言时创建一个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'];
    

相关问题