站长百科 | 数字化技能提升教程 数字化时代生存宝典
首页
数字化百科
电子书
建站程序
开发
服务器
办公软件
开发教程
服务器教程
软件使用教程
运营教程
热门电子书
WordPress教程
宝塔面板教程
CSS教程
Shopify教程
导航
程序频道
推广频道
网赚频道
人物频道
网站程序
网页制作
云计算
服务器
CMS
论坛
网店
虚拟主机
cPanel
网址导航
WIKI使用导航
WIKI首页
最新资讯
网站程序
站长人物
页面分类
使用帮助
编辑测试
创建条目
网站地图
站长百科导航
站长百科
主机侦探
IDCtalk云说
跨境电商导航
WordPress啦
站长专题
网站推广
网站程序
网站赚钱
虚拟主机
cPanel
网址导航专题
云计算
微博营销
虚拟主机管理系统
开放平台
WIKI程序与应用
美国十大主机
编辑“
ThinkPHP开发指南-杂项-多语言
”
人物百科
|
营销百科
|
网赚百科
|
站长工具
|
网站程序
|
域名主机
|
互联网公司
|
分类索引
跳转至:
导航
、
搜索
警告:
您没有登录。如果您做出任意编辑,您的IP地址将会公开可见。如果您
登录
或
创建
一个账户,您的编辑将归属于您的用户名,且将享受其他好处。
反垃圾检查。
不要
加入这个!
<span style="border:1px solid #000; float:right; text-align:center; padding:6px;"><strong>导航:</strong>[[ThinkPHP使用手册|返回上一页]]</span> <div style="clear:both;"></div> [[ThinkPHP]]内置多语言支持,如果你的应用涉及到国际化的支持,那么可以定义相关的语言包文件。任何字符串形式的输出,都可以定义语言常量。可以为项目定义不同的语言文件,框架的系统语言包目录在系统框架的Lang目录下面,每个语言都对应一个语言包文件,系统默认只有简体中文语言包文件zh-cn.php ,如果要增加繁体中文 zh-tw或者英文en,只要增加相应的文件。 语言包的使用由系统自动判断当前用户的[[浏览器]]支持语言来定位,如果找不到相关的语言包文件,会使用默认的语言。如果浏览器支持多种语言,那么取第一种支持语言。 [[ThinkPHP]]的多语言支持已经相当完善了,可以满足应用的多语言需求。这里是指的是模板多语言支持,数据的多语言转换(翻译)不在这个范畴之内。ThinkPHP具备语言包定义、自动识别、动态定义语言参数的功能。并且可以自动识别用户浏览器的语言,从而选择相应的语言包(如果有定义)。 '''例如''':[[PHP]]代码 <pre> throw_exception('新增用户失败!'); </pre> 我们在语言包里面增加了ADD_USER_ERROR 语言配置变量的话,在程序中的写法就要改为: '''PHP代码''' <pre> throw_exception(L('ADD_USER_ERROR')); </pre> 也就是说,字符串信息要改成L方法和语言定义来表示。项目语言包文件位于项目的Lang目录下面,并且按照语言类别分子目录存放,在执行的时候系统会自动加载,无需手动加载。语言包文件可以按照模块来定义,每个模块单独定义语言包文件,文件名和模块名称相同. '''例如''':Lang/zh-cn/user.php 表示给User模块定义简体中文语言包文件 Lang/zh-tw/user.php 表示给User模块定义繁体中文语言包文件 语言子目录采用浏览器的语言命名(全部小写)定义,例如English (United States) 可以使用en-us作为目录名。如果项目比较小,整个项目只有一个语言包文件,那可以定义common.php文件,而无需按照模块分开定义。 '''语言文件定义''' ThinkPHP语言文件定义采用返回数组方式: '''PHP代码''' <pre> return array( 'lan_define'=>'欢迎使用ThinkPHP', ); </pre> 要在程序里面设置语言定义的值,使用下面的方式: '''PHP代码''' <pre> L('define2','语言定义'); $value = L('define2'); </pre> 上面的语言包是指项目的语言包,如果在提示信息的时候使用了框架底层的提示,那么还需要定义系统的语言包,系统语言包目录位于ThinkPHP目录下面的Lang目录。通常多语言的使用是在Action控制器里面,但是模型类的自动验证功能里面会用到提示信息,这个部分也可以使用多语言的特性。 '''例如''':原来的方式是把提示信息直接写在模型里面定义 '''PHP代码''' <pre> array('title','require','标题必须!',1), </pre> 如果使用了多语言功能的话(假设,我们在当前语言包里面定义了' lang_var'=>'标题必须!')还可以这样定义模型的自动验证 '''PHP代码''' <pre> array('title','require','{%lang_var}',1), </pre> 如果要在[[模板]]中输出语言变量不需要在Action中赋值,可以直接使用模板引擎特殊标签来直接输出语言定义的值: '''PHP代码''' <pre> {$Think.lang.lang_var} </pre> 可以输出当前选择的语言包里面定义的 lang_var 语言定义 [[category:ThinkPHP]]
摘要:
请注意,您对站长百科的所有贡献都可能被其他贡献者编辑,修改或删除。如果您不希望您的文字被任意修改和再散布,请不要提交。
您同时也要向我们保证您所提交的内容是您自己所作,或得自一个不受版权保护或相似自由的来源(参阅
Wordpress-mediawiki:版权
的细节)。
未经许可,请勿提交受版权保护的作品!
取消
编辑帮助
(在新窗口中打开)