PHP多语言站点 [英] PHP multilanguage site

查看:164
本文介绍了PHP多语言站点的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想使用基于SESSIONS的PHP创建多语言网站,例如 untiny.com

I want make multilanguage site with PHP based on SESSIONS like this site untiny.com

我尝试使用此代码,但不起作用:

I try with this code but not working :

    <?

session_start();
$lang = $_GET['lang'];
if (!isset($lang)) {
    include ('ar/language.php');
    $lang = "ar";
}
else if ($lang == "en" ) {include ('en/language.php'); $SESSION["lang"] = "en"; header("Location: http://it2.in/");}
else if ($lang == "ar" ) {include ('ar/language.php'); $SESSION["lang"] = "ar"; header("Location: http://it2.in/");}
else if ($lang != "ar" || "en") {header("Location: http://it2.in/"); header("Location: http://it2.in/");}

?>

任何人都可以帮助我. 谢谢

Anyone can help me. Thanks

谢谢大家. 但是@现在什么都没有用,还有其他想法吗?

Thank you all. But @ now nothing working, Are there other ideas.

推荐答案

可能您的问题在最后一行.它应该像这样工作:

Probably your problem is in last line. It should work like:

else if ($lang != "ar" || $lang != "en") {header("Location: http://it2.in/");}

我还建议您创建一个单独的数组来存储可用的语言

Also I suggest you to create a separate array to store available languages

$known_languages = array('en', 'ar'); ## just add new language here when you need
session_start();

## if language is stored in SESSION then use it, otherwise use GET params
if (array_key_exists('lang', $_SESSION)) {
    $lang = $_SESSION['lang'];
    include($lang.'/language.php'); 
    ## echo "You current language is <strong>$lang</strong>";
    include("page.php");
}
else {
    $lang = $_GET['lang'];

    ## if language is not set or is not available, then use default value
    if (!isset($lang) || !in_array($lang, $known_languages) {
        $lang = "ar";
    }
    include($lang.'/language.php'); 
    $SESSION["lang"] = $lang; 
    header("Location: http://it2.in/");
}

这篇关于PHP多语言站点的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆