Php 在kohana2中设置区域设置

Php 在kohana2中设置区域设置,php,internationalization,kohana,Php,Internationalization,Kohana,如何在运行时更改Kohana 2.3.4中locale.php文件中定义的默认语言环境 我使用Kohana::config_set('locale.language',array('en','United');但在重定向失败后,它会得到默认值(来自locale.php) 谢谢我认为您需要将动态设置保留在会话或cookie中。 如果您需要i18n,可以在bootstrap.php中使用简单的代码: I18n::$source = Kohana::config('my.default_languag

如何在运行时更改Kohana 2.3.4中locale.php文件中定义的默认语言环境

我使用Kohana::config_set('locale.language',array('en','United');但在重定向失败后,它会得到默认值(来自locale.php)


谢谢

我认为您需要将动态设置保留在会话或cookie中。 如果您需要i18n,可以在bootstrap.php中使用简单的代码:

I18n::$source = Kohana::config('my.default_language');
I18n::lang(I18n::$source);
$config['languages'] = array(
    'ru' => 'Русский',
    'en' => 'English',
    'pl' => 'Poland',
);
$config['default_language'] = 'en';
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));
/application/config/my.php中:

I18n::$source = Kohana::config('my.default_language');
I18n::lang(I18n::$source);
$config['languages'] = array(
    'ru' => 'Русский',
    'en' => 'English',
    'pl' => 'Poland',
);
$config['default_language'] = 'en';
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));
framework/application/classes/controller/template.php中:

I18n::$source = Kohana::config('my.default_language');
I18n::lang(I18n::$source);
$config['languages'] = array(
    'ru' => 'Русский',
    'en' => 'English',
    'pl' => 'Poland',
);
$config['default_language'] = 'en';
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));

你不能在
locale.php
中更改它吗?是的,但是当我更改语言时,我也想更改locale。在locale.php中,我定义了$config['language']=array('no','Norsk');