如何在控制器Laravel中获取翻译消息?

时间:2019-05-07 21:18:30

标签: laravel laravel-5

我的文件{strong> excel.php 通过路径/resources/lang/en/excel.php

然后在控制器中,我尝试通过键获取单词:

use Lang;

echo Lang::get('excel.idEvent');

我也尝试过:

dd(echo __('excel.idEvent'));

什么是正确的方法?

2 个答案:

答案 0 :(得分:1)

首先,您的excel.php文件必须采用正确的格式:

<?php 
    return [
        'welcome' => 'Welcome to our application'
    ];

在刀片模板上获取它的正确方法实际上是:

echo __('excel.welcome');

echo __('Welcome to our application');

在控制器上执行此操作的方法是:

use Lang;

Lang::get('excel.welcome');

如果您不使用Facades,请使用\ Illuminate \ Support \ Facades \ Lang;

您还可以使用trans()函数,例如:

Route::get('/', function () {

    echo trans('messages.welcome');

});

答案 1 :(得分:1)

如果您使用JSON转换文件,则可能必须使用__()

这里是所有使用方式:

@lang('...')  // only in blade files
__('...')
Lang::get('...')
trans('...')
app('translator')->get('...')
Lang::trans('...')

他们最终都归于\Illuminate\Translation\Translator::get()