CodeIgniter采用config控制的多语言实现根据浏览器语言自动转换功能
投稿:shichen2014
这篇文章主要介绍了CodeIgniter采用config控制的多语言实现根据浏览器语言自动转换功能,非常实用,需要的朋友可以参考下
本文以实例讲述了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; }
您可能感兴趣的文章:
- CodeIgniter配置之autoload.php自动加载用法分析
- CI框架中类的自动加载问题分析
- CI框架自动加载session出现报错的解决办法
- CI框架实现创建自定义类库的方法
- 详谈配置phpstorm完美支持Codeigniter(CI)代码自动完成(代码提示)
- CodeIgniter自定义控制器MY_Controller用法分析
- CodeIgniter实现从网站抓取图片并自动下载到文件夹里的方法
- 让CodeIgniter数据库缓存自动过期的处理的方法
- codeigniter自带数据库类使用方法说明
- 解析CodeIgniter自定义配置文件
- php框架CI(codeigniter)自动加载与自主创建对象操作实例分析