Как я могу изменить предпочтительный язык при нажатии на якорную ссылку (i18n Kohana)?

У меня есть es.php и tl.php в папке i18n:

es.php:

<?php defined('SYSPATH') or die('No direct script access.');

return array(
    'Good Morning' => 'Buenos Dias',
);

tl.php (это аббревиатура человеческого языка. Не знаю, какой именно):

<?php defined('SYSPATH') or die('No direct script access.');

 return array(
        'Good Morning' => 'Magandang Umaga',
    );

просмотреть файл site.php:

<p><?php echo __('Good Morning'); // would produce 'Buenos dias'?></p>

Я использую Kohana 3. На данный момент единственный известный способ изменить язык — изменить I18n::lang('es-es'); в bootstrap.php.

Как я могу изменить предпочтительный язык при нажатии на якорную ссылку (якорная ссылка внутри site.php)?


person alexchenco    schedule 03.07.2010    source источник


Ответы (1)


вставьте это в свой метод before внутри вашего основного контроллера:

I18n::$lang = 'es-es';

хороший пример того, как вы можете сделать это с помощью файлов cookie, можно найти внутри основной контроллер модуля руководства пользователя

person antpaw    schedule 03.07.2010
comment
Спасибо за информацию, за часть файла cookie, какой раздел кода, который вы мне показали, является фактическим кодом для настройки файлов cookie? - person alexchenco; 03.07.2010
comment
хорошо, он начинается в строке 31 и проверяет, установлен ли язык в запросе на получение. если да, они проверяют, является ли строка доступным языком (не знаю, почему она хранится в сообщениях, а не в файле конфигурации), и, наконец, устанавливается файл cookie. в строке 49 они загружают файл cookie, и если он не установлен, будет загружен параметр scound (файл конфигурации). - person antpaw; 03.07.2010