2011-11-08 152 views
1

如何在運行時更改Kohana 2.3.4中的locale.php文件中定義的默認語言環境?在kohana2中設置語言環境

我使用Kohana :: config_set('locale.language',array('en','United States'));但重定向後它不起作用,它會得到默認值(從locale.php)。

感謝

+0

難道你不能改變它在'locale.php'中? – hakre

+0

是的,但是當我更改語言時,我也想更改語言環境。在locale.php中,我定義了$ config ['language'] = array('no','Norsk'); – kromol

回答

3

我認爲你需要保持你的動態設置在會話或餅乾。 如果你NEDD國際化,您可以在bootstrap.php中使用簡單的代碼:

I18n::$source = Kohana::config('my.default_language'); 
I18n::lang(I18n::$source); 

/application/config/my.php

$config['languages'] = array(
    'ru' => 'Русский', 
    'en' => 'English', 
    'pl' => 'Poland', 
); 
$config['default_language'] = 'en'; 

框架/應用/classes/controller/template.php

class Controller_Template extends Kohana_Controller_Template { 
    ... 
    $session = Session::instance(); 
    if (Request::current()->param('lang') != null) 
    { 
     $session->set('lang', Request::current()->param('lang')); 
    } 
    I18n::lang($session->get('lang', I18n::$source));