首页 理论教育PHPMVC开发实战:多语言与客户端实现

PHPMVC开发实战:多语言与客户端实现

【摘要】:图9-8 简体中文首页表单前面提到过,在默认情况下系统会自动识别当前的浏览器语言环境,并调用相应的语言包。l=zh-tw,表单中的文字将转换为简体中文模式,如图9-9所示。图9-9 繁体中文首页表单在后台中使用多语言在后台中使用多语言通常用于系统提示信息、日志记录、表单验证等。

通过前面的设置,现在系统已经具备了多语言编程的条件,但现在系统还不能够检测到多语言配置的存在,因为还需要在配置文件中开启多语言支持(默认是关闭的),然后还需要配置系统行为,让系统行为载入多语言文件。

1.开启多语言环境

与其他类库一样,开启多语言只需要在配置文件中开启LANG_SWITCH_ON选项即可,如以下代码所示。

978-7-111-42852-7-Part02-448.jpg

完成上述配置项后,还需要在项目Conf目录下创建tags.php文件,然后在该文件中开启CheckLang行为,如以下代码所示。

978-7-111-42852-7-Part02-449.jpg

通过前面的配置,现在就可以使用多语言来编程了。

2.使用多语言环境

在MVC开发中,主要有两种形式的编程环境需要使用多语言。一种是在视图模板中使用;另外一种是在控制器动作、模型中使用(即在后台中使用),下面分别介绍。

(1)在视图模板中使用多语言

视图是用户首先接触也是接触最多的MVC组件,所以应用多语言也主要应用于视图模板。为了方便演示,这里将index动作对应的index.html模板改为国际化多语言模板,如以下代码所示。

978-7-111-42852-7-Part02-450.jpg(www.chuimin.cn)

978-7-111-42852-7-Part02-451.jpg

上述代码是一个普通的表单代码,与之前不同的是表单中的所有字符说明文字并非固定的,而是来自于语言包。效果如图9-8所示。

978-7-111-42852-7-Part02-452.jpg

图9-8 简体中文首页表单

前面提到过,在默认情况下系统会自动识别当前的浏览器语言环境,并调用相应的语言包。开发人员也可以传入GET参数l(或L),实现手动定位语言包,例如访问http://tp.localhost/?l=zh-tw,表单中的文字将转换为简体中文模式,如图9-9所示。

需要注意的是,一旦选定了指定语言包,系统将会记录,下次再访问该页面时,系统将自动匹配上次选择的语言包。读者可以在此基础上继续完善,实现全页面的多语言转换,例如将分类下拉列表使用多语言包实现。

978-7-111-42852-7-Part02-453.jpg

图9-9 繁体中文首页表单

(2)在后台中使用多语言

在后台中使用多语言通常用于系统提示信息、日志记录、表单验证等。前面的章节中已经介绍过L函数,该函数就是用于在后台获取或设置语言包的快捷函数。下面将通过代码演示L函数的实际使用,代码如下所示。

978-7-111-42852-7-Part02-454.jpg