控制器中的 Lumen (laravel) 翻译

Lumen (laravel) translation in controller

我需要翻译在(电子邮件)作业和控制器中使用的字符串。

我读到:https://laravel.com/docs/5.2/localization 所以我知道您可以通过以下方式进入视图:

echo trans("messages.welcome");

但它是 Lumen api,我不使用视图。

我怎样才能让翻译成为一个控制者或工作。

提前致谢!

要在控制器中获取翻译器,您需要像下面这样使用它

//include in your controller
use Lang;

//in code you get values like
Lang::get('messages.error');

希望对您有所帮助

trans 这是一个全局函数,因此您可以直接从您的控制器或 Closure

使用它
Route::get('/', function () {

    echo trans('messages.welcome');

});

我使用的是Lumen 8.0版本:

设置新的本地语言:

$request->input('lang') 可以有任何语言代码,例如。 en 或者您可以通过将语言代码作为参数传递给 setLocale 函数来手动设置它。

app('translator')->setLocale($request->input('lang'));

获取当前本地语言:

app('translator')->getLocale();

输出:en

这对我有用。我希望,这也会对你有所帮助:)