laravel 5.4中的App :: setLocale($ locale)

时间:2017-04-25 11:13:05

标签: php laravel

在我的应用程序中,我有三个可能的用户

  1. 访客
  2. 登录用户
  3. 管理员用户
  4. 我想允许用户更改他们的语言。在查看了i18n文档 - https://laravel.com/docs/5.4/localization之后,我找到了这个函数

    App::setLocale($locale);

    如果我允许所有三组用户都能够执行App::setLocale($locale);,那么整个网站的语言是否会改变,或者只是该会话的语言?

    我希望管理员能够更改整个网站的语言,登录用户可以选择他或她的语言,并希望客人能够设置他或她喜欢的语言。

    函数App::setLocale($locale);是否有助于做我想要的事情?

    最后,像这样的网址是常见的example.com/en/welcomeexample.com/fr/welcome

    en和fr是否意味着我必须编写额外的路线来迎合英语和fr -french?。

1 个答案:

答案 0 :(得分:0)

您可以在users表中为其本地人添加列,并为每个进程使用App::setLocale($locale);,或者检索用户的本地以使用所需语言返回响应,例如$data->translate($user->locale)->name ..等< / p>