12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- <?php
- class CheckLangBehavior extends Behavior {
-
- protected $options = array(
- 'LANG_SWITCH_ON' => false,
- 'LANG_AUTO_DETECT' => true,
- 'LANG_LIST' => 'zh-cn',
- 'VAR_LANGUAGE' => 'l',
- );
-
- public function run(&$params){
-
- $this->checkLanguage();
- }
-
- private function checkLanguage() {
-
- if (!C('LANG_SWITCH_ON')){
- return;
- }
- $langSet = C('DEFAULT_LANG');
-
-
- if (C('LANG_AUTO_DETECT')){
- if(isset($_GET[C('VAR_LANGUAGE')])){
- $langSet = $_GET[C('VAR_LANGUAGE')];
- cookie('think_language',$langSet,3600);
- }elseif(C('DEFAULT_LANG')){
- $langSet = C('DEFAULT_LANG');
- }elseif(cookie('think_language')){
- $langSet = cookie('think_language');
- }elseif(isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])){
- preg_match('/^([a-z\-]+)/i', $_SERVER['HTTP_ACCEPT_LANGUAGE'], $matches);
- $langSet = $matches[1];
- cookie('think_language',$langSet,3600);
- }
- if(false === stripos(C('LANG_LIST'),$langSet)) {
- $langSet = C('DEFAULT_LANG');
- }
- }
-
- define('LANG_SET',strtolower($langSet));
-
- if (is_file(LANG_PATH.LANG_SET.'/common.php'))
- L(include LANG_PATH.LANG_SET.'/common.php');
- $group = '';
-
- if (defined('GROUP_NAME')){
- $group = GROUP_NAME.C('TMPL_FILE_DEPR');
- if (is_file(LANG_PATH.LANG_SET.'/'.$group.'lang.php'))
- L(include LANG_PATH.LANG_SET.'/'.$group.'lang.php');
- }
-
- if (is_file(LANG_PATH.LANG_SET.'/'.$group.strtolower(MODULE_NAME).'.php'))
- L(include LANG_PATH.LANG_SET.'/'.$group.strtolower(MODULE_NAME).'.php');
- }
- }
|