一般就是根据请求头来判断,Accept-Language: zh-CN,zh;q=0.8

解决方案 »

  1.   

    使用$_SERVER['HTTP_ACCEPT_LANGUAGE']判断。如果你需要多语言版,你需要做一个语言包,
    例如,繁体,简体,英文。class lang{    static private $language = null;
        static private $langpackage = array(
          'sc' => array('china'=>'中国'),
          'tc' => array('china'=>'中國'),
          'en' => array('china'=>'China')
        );    static public function show($key){
            self::getAcceptLanguage();
            return self::$langpackage[self::$language][$key];
        }    static function getAcceptLanguage(){  
            if(self::$language==null){
                $lang = strtolower($_SERVER['HTTP_ACCEPT_LANGUAGE']);              if(in_array(substr($lang,0,5), array('zh-tw','zh_hk'))){  
                    self::$language= 'tc';  
                }elseif(in_array(substr($lang,0,5), array('zh-cn','zh-sg'))){  
                    self::$language = 'sc';  
                }else{  
                    self::$language = 'en';  
                }  
            }
        }}echo '<meta http-equiv="content-type" content="text/html;charset=utf-8">';
    echo lang::show('china');
      

  2.   

    http头,ip地址,都可以
    但是我觉得ip地址是主要的,我用代理上网上某些网站时候,它就会自动跳到外文站点上。