分享下解决了在 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');
}

处理前

1667989214

处理后

1667989225