首页 php教程 php手册 thinkphp实现多语言功能

thinkphp实现多语言功能

Jun 13, 2016 am 09:41 AM
thinkphp 主要 功能 实现 文章 语言

 这篇文章主要介绍了thinkphp实现多语言功能(语言包),需要的朋友可以参考下

1.在Home(你取的项目名)的config.php中添加如下配置    代码如下: '配置值'         'LANG_SWITCH_ON'     =>     true,    //开启语言包功能                 'LANG_AUTO_DETECT'     =>     true, // 自动侦测语言         'DEFAULT_LANG'         =>     'zh-cn', // 默认语言                 'LANG_LIST'            =>    'en-us,zh-cn,zh-tw', //必须写可允许的语言列表         'VAR_LANGUAGE'     => 'l', // 默认语言切换变量 ); ?>     2.Home的conf文件夹里添加一个php文件(tag.php),添加如下代码:    代码如下: return array(     // 添加下面一行定义即可     'app_begin' => array('CheckLang') );     3.把Extend/Behavior/CheckLangBehavior.class.php 文件复制到Home/lib/Behavior/中(完整版的thinkphp包才有,没有的话请自行创建)   CheckLangBehavior.class.php代码:    代码如下: false,   // 默认关闭语言包功能             'LANG_AUTO_DETECT'      => true,   // 自动侦测语言 开启多语言功能后有效             'LANG_LIST'             => 'zh-cn', // 允许切换的语言列表 用逗号分隔             'VAR_LANGUAGE'          => 'l',        // 默认语言切换变量         );       // 行为扩展的执行入口必须是run     public function run(&$params){         // 开启静态缓存         $this->checkLanguage();     }       /**      * 语言检查      * 检查浏览器支持语言,并自动加载语言包      * @access private      * @return void      */     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')];// url中设置了语言变量                 cookie('think_language',$langSet,3600);             }elseif(cookie('think_language')){// 获取上次用户的选择                 $langSet = cookie('think_language');             }elseif(isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])){// 自动侦测浏览器语言                 preg_match('/^([a-z\d\-]+)/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));           $group = '';         $path    =   (defined('GROUP_NAME') && C('APP_GROUP_MODE')==1) ? BASE_LIB_PATH.'Lang/'.LANG_SET.'/' : LANG_PATH.LANG_SET.'/';         // 读取项目公共语言包         if(is_file(LANG_PATH.LANG_SET.'/common.php'))             L(include LANG_PATH.LANG_SET.'/common.php');              // 读取分组公共语言包         if(defined('GROUP_NAME')){             if(C('APP_GROUP_MODE')==1){ // 独立分组                 $file = $path.'common.php';             }else{ // 普通分组                 $file = $path.GROUP_NAME.'.php';                 $group = GROUP_NAME.C('TMPL_FILE_DEPR');             }             if(is_file($file))                 L(include $file);         }         // 读取当前模块语言包         if (is_file($path.$group.strtolower(MODULE_NAME).'.php'))             L(include $path.$group.strtolower(MODULE_NAME).'.php');     } }       4.在Home里的lang文件夹下创建3个语言文件夹。分别是zh-cn  en-us  zh-tw,   在这三个文件夹里各创建一个common.php文件,如图:   在common.php 里对应写上    代码如下: 'Welcome to use thinkphp', ); ?> 代码如下: '欢迎使用ThinkPHP', ); ?>   代码如下: '歡迎使用ThinkPHP', ); ?>     5.在tpl/Index/文件夹下创建视图 index.html   代码如下:       ThinkPHP示例:多语言      
切换语言:简体中文 | 繁体中文 | 英文
 
{$Think.lang.welcome}
      大功告成!   后台语言要进行语言切换的话, 在每句话之前加L,如:    代码如下: public function index(){ print  L('add_user_error');  //add_user_error只是语言变量,具体的语言要到语言包里写 $this->display(); }     这一点我觉得cakephp做的就比较好,不需要给每句话都给予一个变量。  
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
威尔R.E.P.O.有交叉游戏吗?
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

vivox100s和x100区别:性能对比及功能解析 vivox100s和x100区别:性能对比及功能解析 Mar 23, 2024 pm 10:27 PM

vivox100s和x100手机都是vivo手机产品线中的代表机型,它们分别代表了vivo在不同时间段内的高端技术水平,因此这两款手机在设计、性能和功能上均有一定区别。本文将从性能对比和功能解析两个方面对这两款手机进行详细比较,帮助消费者更好地选择适合自己的手机。首先,我们来看vivox100s和x100在性能方面的对比。vivox100s搭载了最新的

thinkphp项目怎么运行 thinkphp项目怎么运行 Apr 09, 2024 pm 05:33 PM

运行 ThinkPHP 项目需要:安装 Composer;使用 Composer 创建项目;进入项目目录,执行 php bin/console serve;访问 http://localhost:8000 查看欢迎页面。

华为手机如何实现双微信登录? 华为手机如何实现双微信登录? Mar 24, 2024 am 11:27 AM

华为手机如何实现双微信登录?随着社交媒体的兴起,微信已经成为人们日常生活中不可或缺的沟通工具之一。然而,许多人可能会遇到一个问题:在同一部手机上同时登录多个微信账号。对于华为手机用户来说,实现双微信登录并不困难,本文将介绍华为手机如何实现双微信登录的方法。首先,华为手机自带的EMUI系统提供了一个很便利的功能——应用双开。通过应用双开功能,用户可以在手机上同

thinkphp有几个版本 thinkphp有几个版本 Apr 09, 2024 pm 06:09 PM

ThinkPHP 拥有多个版本,针对不同 PHP 版本而设计。主要版本包括 3.2、5.0、5.1 和 6.0,而次要版本用于修复 bug 和提供新功能。当前最新稳定版本为 ThinkPHP 6.0.16。在选择版本时,需考虑 PHP 版本、功能需求和社区支持。建议使用最新稳定版本以获得最佳性能和支持。

thinkphp怎么运行 thinkphp怎么运行 Apr 09, 2024 pm 05:39 PM

ThinkPHP Framework 的本地运行步骤:下载并解压 ThinkPHP Framework 到本地目录。创建虚拟主机(可选),指向 ThinkPHP 根目录。配置数据库连接参数。启动 Web 服务器。初始化 ThinkPHP 应用程序。访问 ThinkPHP 应用程序 URL 运行。

如何在华为手机上实现微信分身功能 如何在华为手机上实现微信分身功能 Mar 24, 2024 pm 06:03 PM

如何在华为手机上实现微信分身功能随着社交软件的普及和人们对隐私安全的日益重视,微信分身功能逐渐成为人们关注的焦点。微信分身功能可以帮助用户在同一台手机上同时登录多个微信账号,方便管理和使用。在华为手机上实现微信分身功能并不困难,只需要按照以下步骤操作即可。第一步:确保手机系统版本和微信版本符合要求首先,确保你的华为手机系统版本已更新到最新版本,以及微信App

laravel和thinkphp哪个好 laravel和thinkphp哪个好 Apr 09, 2024 pm 03:18 PM

Laravel 和 ThinkPHP 框架的性能比较:ThinkPHP 性能通常优于 Laravel,专注于优化和缓存。Laravel 性能良好,但对于复杂应用程序,ThinkPHP 可能更适合。

thinkphp怎么安装 thinkphp怎么安装 Apr 09, 2024 pm 05:42 PM

ThinkPHP 安装步骤:准备 PHP、Composer、MySQL 环境。使用 Composer 创建项目。安装 ThinkPHP 框架及依赖项。配置数据库连接。生成应用代码。启动应用并访问 http://localhost:8000。

See all articles