ThinkPHP 系统多语言
除了本节上文中所讲述的项目多语言的实现外,如果有必要,还可以将 ThinkPHP
的系统提示语言进行国际化。
ThinkPHP系统简体中文语言包:ThinkPHP系统目录/Lang/zh-cn.php ThinkPHP
系统语言包位于 ThinkPHP系统目录/Lang/ 目录下,语言包名字以 $_SERVER['HTTP_ACCEPT_LANGUAGE']
来命名,文件扩展名为 php
。
下面是常见的语言包:
简体中文语言包:zh-cn.php
繁体中文语言包:zh-tw.php
美国英语语言包:en-us.php
日语语言包:ja.php
韩语语言包:ko.php
德语语言包:de.php
法语语言包:fr.php
ThinkPHP
默认只有简体中文语言包 zh-cn.php ,如果要实现其他语言,可以按照命名规则形成语言包文件,并将提示信息翻译成对应的语言文字即可。ThinkPHP
会根据用户的浏览器语言加载对应的语言包,如果浏览器支持多种语言,那么取第一种支持语言。如果找不到相关的语言包文件,会使用默认语言。
小例子
在
ThinkPHP系统目录/Lang/ 目录下,编辑创建 en-us.php 文件,将 zh-cn.php 内的提示文字翻译成对应的英文。以
_ERROR_ACTION_ 语言定义为例:
-
- return array(
- '_ERROR_ACTION_' => 'Error Action:',
- );
- ?>
该语言定义用于提示错误的操作,那在浏览器访问一个存在的模块但不存在的操作时(如:Index/lang1),如果您的浏览器是英文版本,那么提示信息就由原来的:
非法操作lang1
自动变更为:
Error
Action:lang1
如果您的浏览器是简体中文版而想要测试英文效果,那么在 URL 中带入 l=en-us
参数即可:index.php/Index/lang1/l/en-us 。
ThinkPHP
的多语言自动检测、自动加载功能,能够很方便的实现系统及项目上的多语言支持效果。