如何在 Laravel 5.3 中获取视图中的当前语言环境

How to fetch current locale in view in Laravel 5.3

我正在制作一个双语应用程序。我对每种语言都使用相同的路线,但我对两种语言使用不同的视图。每当我想重定向到我想通过 {{ route('test.route', 'en') }} 的路线时。在我传递 en 的地方,我想从视图中获取当前语言环境值,然后将其传递给路由。请帮忙。

试试这个。它将在您的应用程序中提供区域设置

Config::get('app.locale')

编辑:

要在 blade 中使用它,请像下面这样使用,以在 blade 中呼应您当前的语言环境。

{{ Config::get('app.locale') }}

如果你想在它周围的 blade 中做一个 if 条件,它将变成,

   @if ( Config::get('app.locale') == 'en')

   {{ 'Current Language is English' }}

   @elseif ( Config::get('app.locale') == 'ru' )

   {{ 'Current Language is Russian' }}

   @endif

要获取当前语言环境,

app()->getLocale()

首先创建一个语言环境路由和控制器:

Route::get('/locale/{lang}', 'LocaleController@setLocale')->name('locale');

class LocaleController extends Controller
{
    public function setLocale($locale)
    {
        if (array_key_exists($locale, Config::get('languages'))) 
        {
            Session::put('app_locale', $locale);
        }
        return redirect()->back();
    }
}

现在您可以轻松查看每个页面:

  $locale = app()->getLocale();
  $version = $locale == 'en' ? $locale . 'English' : 'Bangla';