Mar*_*der 12 php laravel laravel-8 laravel-9
我已将 Laravel 8 应用程序升级到版本 9,根据文档:升级指南,该resources/lang目录现在位于根项目目录 ( lang) 中。
我已将该lang目录移至项目的根目录,但似乎不起作用。
// config/app.php
'locale' => 'pt-BR',
Run Code Online (Sandbox Code Playgroud)
和
// lang/pt-BR/messages.php
return [
'welcome' => 'Welcome to the app!',
];
Run Code Online (Sandbox Code Playgroud)
控制器
return response()->json([
'message' => Lang::get('messages.welcome') // it returns "messages.welcome"
]);
Run Code Online (Sandbox Code Playgroud)
但是当我将lang目录更改回 时/resources/lang,它可以像以前的 laravel 版本一样正常工作。所以我创建了一个新的 Laravel 9 项目,它工作了,这让我认为需要一些额外的配置,但它没有记录在升级指南中。我的composer.json依赖项与新的 laravel 项目完全相同。Laravel 是否需要进行任何额外配置才能识别该目录?
您可以使用 的方法中的方法对您的 lang 路径进行硬useLangPath编码。AppServiceProviderboot
# app/Providers/AppServiceProvider.php
public function boot()
{
app()->useLangPath(base_path('lang'));
// or app()->useLangPath(app()->basePath('lang'));
}
Run Code Online (Sandbox Code Playgroud)