2013-11-28 40 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。在该项目的自述文件中,您可以找到如何实现这种切换器的示例。