2013-11-28 42 views
5

通過從laraval 4我看到設置語言的方式是文檔搜索後設置的地點做在laravel4飛

App::setLocale('en'); 

可是我怎麼用這個結合,例如語言切換臺在我的網站上,訪問者可以點擊更改飛行中的語言?並記住這個cookie或什麼的?

看來,在laravel 3容易得多,但因爲即時通訊新laravel我不知道該怎麼算出這個,所以如果有人知道做什麼,可以幫助我走出這將是巨大的:)

回答

16

這是一個辦法:

爲你的語言選擇創建路線:

Route::get('language/{lang}', 
      array(
        'as' => 'language.select', 
        'uses' => '[email protected]' 
       ) 
     ); 

創建Laravel葉片的角度審視自己的語言選擇鏈接:

<html><body> 

    Please select a Language: 

    {{link_to_route('language.select', 'English', array('en'))}} 

    {{link_to_route('language.select', 'Portuguese', array('pt'))}} 

</body></html> 

A控制器:

Class LanguageController extends BaseController { 

    public function select($lang) 
    { 
     Session::put('lang', $lang); 

     return Redirect::route('home'); 
    } 

} 

然後在你的應用程序/啓動/ global.php您可以:

App::setLocale(Session::get('lang', 'en')); 
+0

我真的不懂語言選擇器嗎?我如何使用這個位置? – Reshad

+0

創建一個視圖來使用它們。只是編輯,告訴你如何。 –

+0

感謝一個清楚:)但現在我得到一個無法爲指定的路由「/」生成一個URL,因爲這樣的路由不存在。 – Reshad

4

沒有爲Laravel偉大的圖書館,讓您處理語言環境靈活 - mcamara laravel localization。在該項目的自述文件中,您可以找到如何實現這種切換器的示例。