RapPHP 提供了多语言支持使用简单 配置默认语言 config 文件的 app 下添加lang,lang_switch_on ~~~ 'app'=>[ 'debug'=>true, 'debug_secret'=>'123456',// 'init'=>\app\AppInit::class, 'lang'=>'zh-cn', //配置默认多语言 'lang_switch_on'=>true//配置是否可以动态选择语言 ], ~~~ ~~~ 'lang_switch_on' => true, ~~~ 时,只前端页面可以通过下拉框让用户选择显示的语言,用户选择后 路径后面加上`?lang=zh-cn`就可以了 系统会自动识别语言,同时通过 cookie 进行缓存; #### 语言定义文件 * * * * * ~~~ rap/util/lang/语言. php 系统定义文件在 app/lang/语言. php 用户自定义语言文件 ~~~ 系统定义文件提供了 rap 开发时需要的语言包(包括zh-cn,en-us),用户想覆盖语言包,或覆盖,添加新语言包可以在app/lang 下添加 配置文件格式如下 为二级数组结构 ~~~ return [ 'validate'=>[ //验证器分组 'require' => '%s require', 'must' => '%s must', 'number' => '%s must be numeric', 'integer' => '%s must be integer', 'float' => '%s must be float' ] ] ~~~ #### 使用 * * * * * ~~~ $msg=Lang::get('validate','require',['用户名']) ~~~ 参数1:分组 参数2:名称 参数3:传递的参数(可选) #### 参数 参数支持两个格式 第一种 使用格式化字符串 ~~~ //定义 'require' => '%s require', $msg=Lang::get('validate','require',['用户名']) ~~~ 第二种用命名绑定方式 ~~~ //定义 'require' => '{:name} require', $msg=Lang::get('validate','require',['name'=>'用户名']) ~~~ ### 快捷函数 ~~~ $msg=lang('validate','require',['name'=>'用户名']) ~~~