每个用户的Laravel语言设置

时间:2014-11-05 23:55:42

标签: php laravel laravel-4

我知道如何使用App :: setLocale在设备中设置默认语言(' es');

我正考虑在用户登录后为每个用户设置个人语言。

目前,我唯一想到的方法是在Lang :: get()命令中设置通用语言和使用变量:

$user_language = 'gr';

Lang::get('messages.welcome'.$user_language);

是否有其他方法为每个用户设置语言设置?

1 个答案:

答案 0 :(得分:6)

如果用户已登录,为什么不使用App::setLocale()根据用户首选项设置语言。根据Laravel Docs

  

您可以随时使用App::setLocale方法更改活动语言。

所以你可以这样做:

App::before(function($request)
{
    // If user is logged in
    if (Auth::check())
    {
        // Get the user specific language
        $lang = Auth::user()->language;

        // Set the language
        App::setLocale($lang);
    }
});