Я пытаюсь отправить некоторые локализованные уведомления своим пользователям в приложении для реагирования с бэкэндом laravel, я сохраняю язык пользователя в виде строки, например «es» или «en», теперь в моих контроллерах я использую метод Lang::get, но на самом деле это всегда возвращает локаль сервера или приложения, а не локаль пользователя (которую они могут изменить в настройках приложения).
Итак, вопрос в том, могу ли я передать локаль пользователя из внешнего интерфейса в метод Lang::get моего сервера?
Мой код:
$body = Lang::get('newMatchBody', [ 'userName' => $this->receiver['name'] ]);
Или, если вы посмотрите на документацию, Lang::get()
принимает третий параметр для Locale: laravel.com/api/9.x/Illuminate/Support/Facades/…, поэтому Lang::get('newMatchBody', ['userName' => $this->receiver['name']], 'es');
get()
метод принимает код языка в третьем параметре
Lang::get('newMatchBody', [ 'userName' => $this->receiver['name'] ],'en');
А нельзя просто вызвать
app()->setLocale('es')
перед звонкомLang::get()
?