【问题标题】:Lumen (laravel) translation in controller控制器中的流明(laravel)翻译
【发布时间】:2016-10-05 23:16:36
【问题描述】:

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

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

echo trans("messages.welcome");

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

我怎样才能在控制器或工作中获得翻译。

提前致谢!

【问题讨论】:

    标签: php laravel translation lumen


    【解决方案1】:

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

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

    希望对你有帮助

    【讨论】:

    • 谢谢!,完整的使用声明(在我的例子中)是use \Illuminate\Support\Facades\Lang;
    • 这是因为您的 app.php 中没有 'Lang' => Illuminate\Support\Facades\Lang::class 作为别名
    【解决方案2】:

    trans它是一个全局函数,所以你可以直接从你的控制器或Closure使用它

    Route::get('/', function () {
    
        echo trans('messages.welcome');
    
    });
    

    【讨论】:

      【解决方案3】:

      我使用的是 Lumen 8.0 版本:

      设置新的本地语言:

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

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

      获取当前本地语言:

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

      输出:zh

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

      【讨论】:

        猜你喜欢
        • 2021-09-01
        • 2015-01-23
        • 2020-01-22
        • 1970-01-01
        • 1970-01-01
        • 2015-09-04
        • 1970-01-01
        • 1970-01-01
        • 2022-01-24
        相关资源
        最近更新 更多