个人思路是根据浏览器语言自动判断,如果是中文浏览器,就使用中文模板,英文的就使用英文模板。中、英模板的区别是调用了不同的产品分类、文章分类,而模板中相同的固定文字可以设定language,这样就不用去建立两个网站了 整个逻辑流程如下: 1、PHP判断浏览器语言 2、将判断写入COOKIE 3、同时改变_CFG[&#39;lang&#39;]的值 4、_CFG[&#39;template&#39;]=_CFG[&#39;lang&#39;],便于模板自动切换 5、当用户人工选择?lang=cn/en时,进行切换 1、新建两个模板 zh_cn 和 en_us 2、includeslib_common.php -> load_config()最后加入 $lang = array( &#39;cn&#39;=>&#39;zh_cn&#39;, &#39;en&#39;=>&#39;en_us&#39; ); if(isset($_REQUEST[&#39;lang&#39;]) && isset($lang[$_REQUEST[&#39;lang&#39;]])){ $arr[&#39;lang&#39;] = $lang[$_REQUEST[&#39;lang&#39;]]; setCOOKIE(&#39;ACCEPT_LANGUAGE&#39;, $arr[&#39;lang&#39;]); }elseif(isset($_COOKIE[&#39;ACCEPT_LANGUAGE&#39;]) && in_array($_COOKIE[&#39;ACCEPT_LANGUAGE&#39;], array(&#39;zh_cn&#39;, &#39;en_us&#39;))){ $arr[&#39;lang&#39;] = $_COOKIE[&#39;ACCEPT_LANGUAGE&#39;]; }else{ $accept_language = strtolower($_SERVER[&#39;HTTP_ACCEPT_LANGUAGE&#39;]); if(strpos($accept_language, &#39;zh-c&#39;)!==false){ $arr[&#39;lang&#39;] = &#39;zh_cn&#39;; }else{ $arr[&#39;lang&#39;] = &#39;en_us&#39;; } setCOOKIE(&#39;ACCEPT_LANGUAGE&#39;, $arr[&#39;lang&#39;]); } $arr[&#39;template&#39;] = $arr[&#39;lang&#39;]; return $arr; 3、includescls_template.php -> fetch() //$cachename = basename($filename, strrchr($filename, &#39;.&#39;)) . &#39;_&#39; . $cache_id;修改为 $cachename = basename($filename, strrchr($filename, &#39;.&#39;)) . &#39;_&#39; . $cache_id.&#39;_&#39;.$GLOBALS[&#39;_CFG&#39;][&#39;template&#39;<span style="font-family: Arial, Helvetica, sans-serif;">];</span> 4、includescls_template.php -> make_compiled() //$name = $this->compile_dir . &#39;/&#39; . basename($filename) .&#39;.php&#39;;修改为 $name = $this->compile_dir . &#39;/&#39; . basename($filename) .$GLOBALS[&#39;_CFG&#39;][&#39;template&#39;].&#39;.php&#39;; 5、includescls_template.php -> is_cached() //$cachename = basename($filename, strrchr($filename, &#39;.&#39;)) . &#39;_&#39; . $cache_id;修改为 $cachename = basename($filename, strrchr($filename, &#39;.&#39;)) . &#39;_&#39; . $cache_id.&#39;_&#39;.$GLOBALS[&#39;_CFG&#39;][&#39;template&#39;]; 修改模板解析类是为了保证不同的中、英模板之间的模板变异问没有冲突 6、在模板的任意位置加上 <a href="?lang=cn">Chinese</a><a href="?lang=en">English</a> 最后修改的是languageszh_cncommon.php和languagesen_uscommon.php,用{$lang.xx} 这个方法也适用多语言的设定

2KB项目(www.2kb.com,源码交易平台),提供担保交易、源码交易、虚拟商品、在家创业、在线创业、任务交易、网站设计、软件设计、网络兼职、站长交易、域名交易、链接买卖、网站交易、广告买卖、站长培训、建站美工等服务