语言切换器更改时的PHP + JQuery重新加载页面

时间:2015-11-30 09:00:34

标签: javascript php jquery

我有一些关于php JQuery语言切换功能的问题。 我想在用户改变语言时开发一个函数(例如英语 - >中文)。该网站将重新加载退出页面并将语言代码值添加到网址。

情况1:

更改语言前的

: httpp:// URL 更改语言后: httpp:// URL / ZH-TW /

情况2:

更改语言前的

: httpp:// URL /产品/ ABC 更改语言后: httpp:// URL / ZH-TW /产品/ ABC

以下是我现有的代码。语言切换功能正常,但我不知道如何更换网址。 ** jquery部分是来自另一个网站的引用。非常感谢你

HTML

<li class="dropdown">
    <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> <?php echo $langName ; ?> <span class="caret"></span></a>
    <ul class="dropdown-menu" role="menu">
        <li><a name="locale-option" about="" locale="en" id="locale_en">English</a></li>
        <li><a name="locale-option" about="" locale="zh-TW">繁體中文</a></li>
        <li><a name="locale-option" about="" locale="zh-CN" id="locale_zh">简体中文</a></li>
    </ul>
</li>

JQuery的

$(document).ready(function () {
    $("a[name='locale-option']").click(function(f){
        f.preventDefault();
        var b=$(this).attr("locale");
        var d=$(this).attr("about");
        var c=window.location.href;
        if(d==1&&(b=="zh-CN"||b=="zh-TW")){
            tipsDialog(jsLocale.alert_title_error,jsLocale.activity_language_type);
            return
        } else {
            if(d==2&&b=="en"){
                tipsDialog(jsLocale.alert_title_error,jsLocale.activity_language_type);
                return
            }
        }
        $.ajax({
            type:"GET",
            url:"/functions/lang_switcher.php?lang="+b+"&url="+c,
            success:function(e){
                window.location.replace(e.jumpURL);
            },
            error:function(e){

            }
        })
    });
});

PHP

if(!isset($_SESSION)){
    session_start();
}

if(isSet($_GET['lang'])) {
    $lang = $_GET['lang'];
    // register the session and set the cookie
    $_SESSION['lang'] = $lang;
    setcookie('lang', $lang, time() + (3600 * 24 * 30));
    $_COOKIE['lang'] = $lang;
}   
    else if(isSet($_SESSION['lang'])){
        $lang = $_SESSION['lang'];
    }
    else if(isSet($_COOKIE['lang'])) {
        $lang = $_COOKIE['lang'];
    }
    else {
        $lang = 'zh-TW';
    }

switch ($lang) {
    case 'en':
        $lang = 'en';
        $lang_file = 'lang.en.php';
        $langName = 'English';
    break;

    case 'zh-CN':
        $lang = 'zh-CN';
        $lang_file = 'lang.zh-CN.php';
        $langName = '简体中文';
    break;

    case 'zh-TW':
        $lang = 'zh-TW';
        $lang_file = 'lang.zh-TW.php';
        $langName = '繁體中文';
    break;

    default:
        $lang = 'zh-TW';
        $lang_file = 'lang.zh-TW.php';
        $langName = '繁體中文';
}

include_once 'languages/'.$lang_file ;

0 个答案:

没有答案