分享下解决了在 api 模块或者其他任意自定义模块 模型获取不到语言包无法转换或者多模块公用一个语言包问题
示例
主要默认加载了admin模块下的语言包 在基类或者当前类里面加入即可
public function __construct($data = [])
{
parent::__construct($data);
$this->loadlang(mb_strtolower(class_basename(static::class)));
}
/**
* 加载语言文件
* @param string $name
*/
protected function loadlang($name)
{
$name = Loader::parseName($name);
$name = preg_match("/^([a-zA-Z0-9_\.\/]+)\$/i", $name) ? $name : 'index';
$lang = request()->langset();
$lang = preg_match("/^([a-zA-Z\-_]{2,10})\$/i", $lang) ? $lang : 'zh-cn';
Lang::load(APP_PATH . 'admin' . '/lang/' . $lang . '/' . str_replace('.', '/', $name) . '.php');
}
评论已关闭