zoukankan      html  css  js  c++  java
  • P5多语言默认语言不生效BUG的解决办法

    下面代码覆盖 thinkPhp/library/think/Lang.php 里面的detect()自动检测语言方法

     /**
         * 自动侦测设置获取语言选择
         * @access public
         * @return string
         */
        public static function detect() {
    // 自动侦测设置获取语言选择
            $langSet = Config::get('default_lang');
            if (isset($_GET[self::$langDetectVar])) {
    // url中设置了语言变量
                $langSet = strtolower($_GET[self::$langDetectVar]);
                Cookie::set(self::$langCookieVar, $langSet, 3600);
            } elseif (Cookie::get(self::$langCookieVar)) {
    // 获取上次用户的选择
                $langSet = strtolower(Cookie::get(self::$langCookieVar));
            } elseif ($langSet) {
    // 获取默认语言
                Cookie::set(self::$langCookieVar, $langSet, 3600);
            } elseif (isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])) {
    // 自动侦测浏览器语言
                preg_match('/^([a-zd-]+)/i', $_SERVER['HTTP_ACCEPT_LANGUAGE'], $matches);
                $langSet = strtolower($matches[1]);
                Cookie::set(self::$langCookieVar, $langSet, 3600);
            }
            if (empty(self::$allowLangList) || in_array($langSet, self::$allowLangList)) {
    // 合法的语言
                self::$range = $langSet;
            }
            return self::$range;
        }
  • 相关阅读:
    使用RSL 给FLEX 瘦身
    网络游戏同步法则
    .NET中的内存管理,GC机制,内存释放过程
    C++静态成员函数小结(转)
    关于GetSystemMetrics()函数
    CImage
    assert()函数用法总结
    Win32 系统部分函数
    818瘦身简单过程(增加内存)
    818内存升级到128m
  • 原文地址:https://www.cnblogs.com/zhangyouwu/p/11597790.html
Copyright © 2011-2022 走看看