动态修改 Laravel 项目的 locale 值

JellyBool

JellyBool

如果你想使用代码动态修改 Laravel 的 locale 值:这在做多语言的时候特别有用。可以使用下面的方法。

使用 App::setLocale()

简单的就是一行代码:

App::setLocale('zh');

比如在用户选择其他语言的时候,触发这一行代码就行。这一行代码会做三件事:

1.修改 config/app.php 的 locale 值

2.设置 translator ,就可以获取不同的语言

3.触发 locale.changed 事件

源代码如下:

 public function setLocale($locale)

    {

        $this['config']->set('app.locale', $locale);


        $this['translator']->setLocale($locale);


        $this['events']->fire('locale.changed', [$locale]);

    }

位于Illuminate\Foundation\Application 这个类中。

Happy Hacking

本文由 JellyBool 创作, 转载和引用遵循 署名-非商业性使用 2.5 中国大陆 进行许可。

共有 1 条评论

beyondany
修改的评论也不能少于六个字哦!