腾讯云618限量抢购
  1. PHP基础教程
  2. PHP+MySQL数据库教程

ThinkPHP 系统多语言支持的实现

最后更新:2011-05-09 16:34阅读:12369

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_ 语言定义为例:

<?php
return array(
    '_ERROR_ACTION_' => 'Error Action:',
);
?>

该语言定义用于提示错误的操作,那在浏览器访问一个存在的模块但不存在的操作时(如:Index/lang1),如果您的浏览器是英文版本,那么提示信息就由原来的:

非法操作lang1

自动变更为:

Error Action:lang1

如果您的浏览器是简体中文版而想要测试英文效果,那么在 URL 中带入 l=en-us 参数即可:index.php/Index/lang1/l/en-us 。

ThinkPHP 的多语言自动检测、自动加载功能,能够很方便的实现系统及项目上的多语言支持效果。


本章节内容共分 2 部分:
  1. 1. ThinkPHP 多语言支持的配置与使用
  2. 2. ThinkPHP 系统多语言支持的实现
腾讯云618限量抢购