У меня есть юй сайт ти трансформироваться в Laravel любой помощи, чтобы применить локализации ** Laravel ** к URL, таким какприменять локализацию Laravel 5.2 в URL
локальные/о/дом локальных/ar/home
У меня есть юй сайт ти трансформироваться в Laravel любой помощи, чтобы применить локализации ** Laravel ** к URL, таким какприменять локализацию Laravel 5.2 в URL
локальные/о/дом локальных/ar/home
Это очень просто сделать в Ларавеле. Во-первых, вам нужно добавить префикс языка в вашем файле маршрутов (routes.php):
$languagesRegExp = implode('|', array_keys(Config::get('app.languages')));
Route::pattern('language', $languagesRegExp);
Это будет наш префикс языка - это только позволит элементы из языков [], указанных в нашем файле конфигурации приложения (конфиг/app.php):
'languages' => [
'ru' => ['prefix' => 'ru', 'title' => 'По-русски', 'locale' => 'ru_RU.utf8', 'google_code' => 'ru'],
'en' => ['prefix' => 'en', 'title' => 'English', 'locale' => 'en_US.utf8', 'google_code' => 'en']
],
Затем маршруты, которые собираются уже переведенные версии будут выглядеть следующим образом:
Route::group(['middleware' => 'language'], function() {
Route::get('/{language}', '[email protected]');
Route::get('/{language}/about', '[email protected]');
}
Теперь нам нужны промежуточное программное обеспечение, потому что мы хотим, чтобы изменить настройки приложения, основанные на p refix. Среднее программное обеспечение имеет один метод:
public function handle($request, Closure $next)
{
$urlSegments = explode('/', $request->path());
View::share('language', $urlSegments[0]); // All views will have $language variable now
App::setLocale($urlSegments[0]); // Laravel locale is set to $language now
Cookie::queue(Cookie::make('siteLanguage', $urlSegments[0], 10800 * 7)); // We can also set a cookie, so that language is remembered
return $next($request);
}
Практически все!
ответ Дениса Mysenko это удивительно работает и в представлении, чтобы добавить динамические URL, и язык Видеомикшер здесь код
<div class="language_switcher">
<ul>
<li><a href="{{ url('/en') }}">en</a></li>
<li><a href="{{ url('/ar') }}">ar</a></li>
</ul>
</div>
<div class="navbar-header">
<button class="navbar-toggle" type="button" data-toggle="collapse" data-target="#navbar-main">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div>
<center>
<div class="navbar-collapse collapse" id="navbar-main">
<div class="clearfix"></div>
<div class="clearfix"></div>
<ul class="nav navbar-nav navbar-right">
<li><a href="{{ url('/' ,$language) }}">HOME</a></li>
<li><a href="{{ url('/ABOUT-US' , $language) }}">ABOUT US</a></li>
<li><a href="{{ url('/HOW-IT-WORKS' ,$language) }}">HOW IT WORKS</a></li>
<li><a href="{{ url('/CONTACT-US' ,$language) }}">CONTACT US</a></li>
</ul>
</div>
</center>
спасибо он сделал работу, но теперь, как я могу добавить их к виду как ссылки –
Просто проанализируйте через Config :: get ('app.languages'), чтобы генерировать альтернативные ссылки. Показывать ссылку, когда ключ массива не равен текущему $ language –
, так что это мой код, но ссылки на навигационную панель не chaaange –