程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> CodeIgniter采用config控制的多語言實現根據浏覽器語言自動轉換功能

CodeIgniter采用config控制的多語言實現根據浏覽器語言自動轉換功能

編輯:PHP綜合

本文以實例講述了CodeIgniter采用config控制的多語言實現根據浏覽器語言自動轉換功能,對於網站開發來說非常實用。

具體操作方法如下:

語言包文件如下:

application\language\english\bm_lang.php
application\language\zh-cn\bm_lang.php

注意:
1. “_lang.php”的前綴要一致;
2. 如果還有其他語言包,可創建文件application\language\***\bm_lang.php(***為自己取的名字,以對應不同的語言)

實現代碼如下:

public function lang($line,$param = array())
{ 

 //判斷浏覽器語言
 $default_lang_arr = $_SERVER['HTTP_ACCEPT_LANGUAGE'];
 $strarr = explode(",",$default_lang_arr);
 $default_lang = $strarr[0];
 // echo '1'.$default_lang;
 
 // 根據浏覽器類型設置語言
 if( $default_lang == 'en-us' || $default_lang == 'en'){
 $this->config->set_item('language', 'english');
 // 根據設置的語言類型加載語言包
 $this->load->language('bm','english');
 }else{
 $this->config->set_item('language', 'zh-cn');
 $this->load->language('bm','zh-cn');
 }
 
 // 當前語言
 // echo '2'.$this->config->item('language');
 
 // 根據語言包中的某個語言標記的翻譯,判斷是否使用了語言包
 $line = 'title'; 
 $param = array();
 // $CI = & get_instance();
 // $line = $CI->lang->line($line);
 // 上面兩行等價於下面一行,& get_instance()實例化
 $line = $this->lang->line('title');
 if(is_array($param) && count($param) > 0) {
 array_unshift($param, $line);
 $line = call_user_func_array('sprintf', $param);
 }
 echo '^_^'.$line;
}
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved