神奇的 多语言,主要用于FastAdmin后台管理项目的编写
学习框架很大的问题是需要全面了解框架的运行流程,需要了解框架内的所有文件的作用以及语法特性,最重要的是要阅读该框架的文档,要仔细阅读。我这次没有搞懂,第一个方面是因为对框架的不熟悉,不觉得文档中某个属性介绍是重要的,错过了多语言这个框架独特的功能。
多语言定义
在框架中可以在任何位置(控制器、视图、JS)使用__(‘语言标识’);调用语言包,如果语言标识不存在,则直接输出该语言标识。既然有了定义了,就需要解释环境,不然创造一个新的功能,普通的HTML和PHP以及JS是理解不了其含义的,所以就来到下一步:多语言的解释环境。
多语言的解释环境
多语言的解释环境即加载方式
在FastAdmin当中,框架会自动按照当前请求的控制器进行加载对应的语言包。例如当前我们是中文环境,如果我们请求的是
https://demo.fastadmin.net/admin/dashboard/index
则框架会自动加载下面这两个语言包
application/admin/lang/zh-cn.php
application/admin/lang/zh-cn/Dashboard.php
如果我们请求的路径是
https://demo.fastadmin.net/admin/general/config/index
则框架会自动加载下面这两个语言包
application/admin/lang/zh-cn.php
application/admin/lang/zh-cn/general/Config.php
***PS:***框架会默认加载zh-cn.php这个全局语言包
如果我们需要跨模块引入其它模块的语言包,则可以在 控制器中使用loadlang方法来引入,如下代码:
$this->loadlang('模块名');
如果需要在JS中跨模块引入语言包,则需要修改Ajax.php中的lang这个方法。
多语言的使用方法
参见链接即可: FastAdmin框架多语言的使用方法