一.多语言
1. 如果要开启多语言切换功能,中间件定义文件 middleware.php 开启;// 多语言加载\think\middleware\LoadLangPack::class,
2. 配置文件在 config/lang.php 文件,默认设置的是 zh-cn 中文语言; 'zh-hans-cn' => 'zh-cn','detect_var'=> 'lang',//自动监测的变量为 lang
3. 默认应用目录会调用 app\lang 目录下的语言包,我们创建三个; //错误信息,zh-cn.phpreturn ['require_name' => '用户名不得为空!','email_error'=> '邮箱地址不正确!',];//error message,en-us.phpreturn ['require_name' => 'The user name cannot be empty!','email_error'=> 'Incorrect email address!',];//エラーメッセージ, ja-jp.phpreturn ['require_name' => 'ユーザ名は空ではいけません!','email_error'=> 'メールアドレスが間違っています!',];
4. 系统默认会指定: zh-cn 这个语言包,我们通过 ::get() 来输出错误信息; Lang::get('require_name');lang('require_name');//助手函数
5. 通过 URL 方式来切换语言, ?lang=en-us 即可, cookie 自动生成; 6. 而下一次就算不带 ?lang=en-us ,默认就会执行 cookie 的语言包; 7. 也可以在配置文件中,设置允许的语言包,默认为空,具体如下: // 允许的语言列表'allow_lang_list' => ['zh-cn','en-us','ja-jp'],
8. 在模版中调用语言信息,可以用 {$Think.lang.xxx} ; {$Think.lang.require_name}{:lang('email_error')}
9. 可以在配置文件中开启多语言分组,运行使用二维数组来实现语言包定义; // 是否支持语言分组'allow_group'=> true,'user' => ['welcome'=> '欢迎光临!','login'=> '登入成功!','logout'=> '退出成功!',]Lang::get('user.login');
来源地址:https://blog.csdn.net/qq_34820433/article/details/130039704