php多语言的实现方法之一

方法一:
function getLang() {
    $llang = $_GET['lang'];
    if($llang == 'zh-cn') {
        return $llang;
    } else if($llang == 'en-us') {
        return $llang;
    } else if($llang == 'ru') {
        return $llang;
    } else {
        return 'en-us';
    }
}
$lang = getLang();
setcookie('lang', $lang, time() + 1 * 24 * 3600);
include('lang/' . $lang . '/index_lang.php');


方法二:
$global_lang_all = ['en-us', 'zh-cn', 'ru-ru'];
if(isset($_GET['lang'])) {
    $lang = strtolower($_GET['lang']);
    $_SESSION['lang'] = $lang;
    $_COOKIE['lang'] = $lang;
    setcookie("lang", $lang, time() + 3600 * 24 * 1, '/');
    if(in_array($lang, $global_lang_all)) {
        $_SESSION['lang'] = $lang;
        $_COOKIE['lang'] = $lang;
        $lng = $lang;
    } else {
        $lng = 'en-us';
    }
} else if(isset($_COOKIE['lang'])) {
    if(in_array($_COOKIE['lang'], $global_lang_all)) {
        $lng = $_COOKIE['lang'];
    } else {
        $lng = 'en-us';
    }
} else {
    preg_match('/^([a-z\-]+)/i', $_SERVER['HTTP_ACCEPT_LANGUAGE'], $matches);
    $lang = strtolower($matches[1]);
    setcookie("lang", $lang, time() + 3600 * 24 * 1, '/');
    $_COOKIE['lang'] = $lang;

    if(in_array($lang, $global_lang_all)) {
        $_SESSION['lang'] = $lang;
        $_COOKIE['lang'] = $lang;
        $lng = $lang;
    } else {
        $lng = 'en-us';
    }
}

print_r($lng);
exit();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值