Thinkphp 多语言实现(项目实战)
2017-12-06 16:46
316 查看
下面,以Thinkphp的Controller为例进行说明(版本为3.2.3):
在应用的配置目录下面的行为定义文件tags.php中(你可以在你的模块下(比如Home),也可以在Common下的Conf文件夹下进行),添加:
然后在配置文件中,一般是config.php,添加
可以为项目定义不同的语言文件,框架的系统语言包目录在系统框架的Lang目录下面,每个语言都对应一个语言包文件,系统默认只有简体中文语言包文件zh-cn.php和英文语言包en-us.php ,如果要增加繁体中文zh-tw或者其他语言支持,只要增加相应的语言定义文件。如图,是我的语言文件
Thinkphp 多语言实现(项目实战)
怎么使用呢,比如在关于的Controller文件中,如下,使用L(‘key’);
class AboutController extends PSIBaseController {
/**
* 关于 - 主页面
*/
public function index() {
$this->assign(“title”, L(‘About’));
}
/**
* ThinkPHP 简体中文语言包
*/
return array(‘About’ => ‘关于’,
);
有人可能使用
{$Think.lang.About}
因为我在配置中写明了使用语言切换变量为L(‘VAR_LANGUAGE’ => ‘L’,),所以不能使用
{$Think.lang.About}
还有一点,这个多语言,是框架自动检测,并不是我们自己去选择哪种语言,自动识别用户浏览器的语言,从而选择相应的语言包
如果你的UI用了大量的Extjs进行实现的,那里面的多语言是不能用此方法的,关于Extjs的多语言,下次再写;
在应用的配置目录下面的行为定义文件tags.php中(你可以在你的模块下(比如Home),也可以在Common下的Conf文件夹下进行),添加:
<?php /*** Created by PhpStorm.* User: Administrator* Date: 2017/12/5* Time: 10:44*/ return array('app_begin' => array('BehaviorCheckLangBehavior'),);
然后在配置文件中,一般是config.php,添加
<?php return array( //'配置项'=>'配置值' 'LANG_SWITCH_ON' => true, 'LANG_AUTO_DETECT' => true, // 自动侦测语言 开启多语言功能后有效 'LANG_LIST' => array('zh-cn','en-us'), // 允许切换的语言列表 用逗号分隔 'VAR_LANGUAGE' => 'L', // 默认语言切换变量 );
可以为项目定义不同的语言文件,框架的系统语言包目录在系统框架的Lang目录下面,每个语言都对应一个语言包文件,系统默认只有简体中文语言包文件zh-cn.php和英文语言包en-us.php ,如果要增加繁体中文zh-tw或者其他语言支持,只要增加相应的语言定义文件。如图,是我的语言文件
Thinkphp 多语言实现(项目实战)
怎么使用呢,比如在关于的Controller文件中,如下,使用L(‘key’);
class AboutController extends PSIBaseController {
/**
* 关于 - 主页面
*/
public function index() {
$this->assign(“title”, L(‘About’));
}
/**
* ThinkPHP 简体中文语言包
*/
return array(‘About’ => ‘关于’,
);
有人可能使用
{$Think.lang.About}
因为我在配置中写明了使用语言切换变量为L(‘VAR_LANGUAGE’ => ‘L’,),所以不能使用
{$Think.lang.About}
还有一点,这个多语言,是框架自动检测,并不是我们自己去选择哪种语言,自动识别用户浏览器的语言,从而选择相应的语言包
如果你的UI用了大量的Extjs进行实现的,那里面的多语言是不能用此方法的,关于Extjs的多语言,下次再写;
相关文章推荐
- Thinkphp搭建包括JS多语言的多语言项目实现方法
- Thinkphp搭建包括JS多语言的多语言项目实现方法
- helloPe的android项目实战之连连看—实现篇(一)
- 【项目实战】——Java根据奖品权重计算中奖概率实现抽奖(适用于砸金蛋、大转盘等抽奖活动)
- Android绘图机制(三)——自定义View的三种实现方式以及实战项目操作
- 商城项目实战31:solar服务器搭建、搜索功能实现
- 【ssm个人博客项目实战03】左侧导航菜单功能实现
- javascript项目实战---ajax实现无刷新分页
- R语言实战实现基于用户的简单的推荐系统(数量较少)
- Android项目实战(三十七):Activity管理及BaseActivity的实现
- iOS开发项目实战——Swift实现ScrollView滚动栏功能
- 项目实战之中小网站数据缓存的设计与实现
- salesforce使用Apex控制器和VF实现自定义服务器端分页项目实战(自定义分页)
- EXTJS4.x之实战项目(5)ArticleGridPanel实现增删改查之增
- 项目实战笔记 | C++ 事件驱动模型实现银行排队服务2 代码实现
- iOS开发项目实战——Swift实现图片轮播与浏览
- 应用开源项目StringResourceTool2 实现.NET多国语言方案
- 【SSH网上商城项目实战11】查询和删除商品功能的实现
- 项目实战-仿bilibili刷新按钮的实现
- javaee实战项目--农贸产品开发(详细讲解及代码实现)