如何在Laravel 5.3中获取视图中的当前语言环境
我正在制作一个双语应用程序。我对每种语言使用相同的路由,但对两种语言使用不同的视图。每当我想重定向到一个路由时,我想通过如何在Laravel 5.3中获取视图中的当前语言环境,laravel,laravel-5.3,blade,laravel-blade,Laravel,Laravel 5.3,Blade,Laravel Blade,我正在制作一个双语应用程序。我对每种语言使用相同的路由,但对两种语言使用不同的视图。每当我想重定向到一个路由时,我想通过{{route('test.route','en')}。在传递en时,我希望从视图中获取当前区域设置值,然后将其传递给路由。请帮忙。试试这个。它将提供应用程序中设置的区域设置 Config::get('app.locale') 编辑: 要在blade中使用此语言,请像下面一样使用,以在blade中回显您当前的语言环境 {{ Config::get('app.locale')
{{route('test.route','en')}
。在传递en
时,我希望从视图中获取当前区域设置值,然后将其传递给路由。请帮忙。试试这个。它将提供应用程序中设置的区域设置
Config::get('app.locale')
编辑:
要在blade中使用此语言,请像下面一样使用,以在blade中回显您当前的语言环境
{{ Config::get('app.locale') }}
如果你想在它周围的刀片上做一个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';
你必须得到EN的值为“EN”(为什么不考虑会话变量),然后你可以这样做:<代码>代码>代码> {路由('Test.Roudie',[Routh'=> $ValabeLoHydIn RoutEyValueValue])}在刀片中?我可以像
@if(Config::get('app.locale'))
那样使用它吗?在你的刀片模板中,你可以像{{Config::get('app.locale')}}
@FahadIqbalAhmadKhanapp.locale
那样使用它,所以@if
不会很有用。它将始终为真。这将获取可能与当前区域设置不同的配置区域设置。要获取当前区域设置,应使用App::getLocale()
或App::isLocale(“…”)
。您还可以使用app()->getLocale()
,刀片中的{{app()->getLocale()}
。