1
A
回答
0
這在Laravel很簡單。首先,你需要在你的路由文件(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);
}
就是這麼多!
0
丹尼斯Mysenko的答案是驚人的工作,並在視圖中添加動態網址和這裏的語言切換器是代碼
<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>
相關問題
- 1. Laravel 5.2在本地主機
- 2. laravel 5.2多權威性和laravel本地化AUTH不工作
- 3. Ajax請求laravel 5.2
- 4. 如何申報價值(laravel 5.2)
- 5. Laravel 5.2化妝:AUTH
- 6. Laravel本地化
- 7. 從URL刪除index.php,Laravel 5.2
- 8. laravel 5.2分頁漂亮url
- 9. 本地主機並沒有laravel 5.2(socket.io)
- 10. Ajax的GET請求Laravel 5.2
- 11. Laravel 5.2 required_without_all請求問題
- 12. XML在Laravel本地化4
- 13. Laravel-本地化部署 - 在此服務器上找不到請求的URL/en
- 14. 自動重定向URL在Laravel 5.2
- 15. 如何在Laravel 5.2中路由localhost url
- 16. 如何申請本地化不情節提要
- 17. Laravel 5.2:在WhereHas
- 18. 在laravel 5.2
- 19. WhereBetween在laravel 5.2
- 20. 主塔申請國際化
- 21. Laravel 5.1本地化異常
- 22. Laravel 5.2唯一的URL驗證
- 23. laravel 5.2重定向到url參數
- 24. 如何使用URL編碼Laravel 5.2
- 25. Laravel 5.2活動,在本地工作的聽衆不生產
- 26. NotFoundHttpException在RouteCollection Laravel 5.2
- 27. 如何在laravel 5.2
- 28. 如何在Laravel 5.2
- 29. 如何在Laravel 5.2
- 30. laravel 5.2有效的ajax請求
謝謝它的工作,但現在我怎樣才能將它們添加到視圖爲鏈接 –
通過配置只是分析::得到(「app.languages」)生成備選的鏈路。顯示一個鏈接時,該陣列關鍵不等於當前$語言 –
所以這是我的代碼視圖,但在導航欄的鏈接並不chaaange –