Как получить перевод сообщения в контроллере Laravel? - PullRequest
0 голосов
/ 08 мая 2019

У меня есть файл excel.php по пути /resources/lang/en/excel.php

Затем в контроллере я попытался получить слово по ключу:

use Lang;

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

Также я попробовал:

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

Какой правильный способ сделать это?

Ответы [ 2 ]

1 голос
/ 08 мая 2019

Если вы используете файлы перевода JSON, вам, возможно, придется использовать __().

Вот все способы использования:

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

Все они в конечном итоге откладываются до \Illuminate\Translation\Translator::get().

1 голос
/ 08 мая 2019

Во-первых, ваш файл excel.php должен быть в правильном формате:

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

Правильный способ получить его на вашем шаблоне блейда, на самом деле это:

echo __('excel.welcome');

или

echo __('Welcome to our application');

Способ сделать это на вашем контроллере:

use Lang;

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

Если вы не используете Фасады: используйте \ Illuminate \ Support \ Facades \ Lang;

Вы также можете использовать функцию trans (), например:

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

    echo trans('messages.welcome');

});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...