Файлы перевода

Комментарии: 0  Просмотры: 5 737

I18n
Kohana имеет довольно простой и легкий способ использования системы i18n. Эта система сделана по образцу GetText, но не такая функциональная. Если вам нужны именно особенности GetText, то пожалуйста его и используйте :)

__()
В Kohana существует функция __() для перевода. Эта функция предназначена только для перевода небольших участков текста, а не для целых абзацев или страниц.
Конструкция echo выведет переведенную строку:

<?php echo __('Hello, world!');?>

Изменение языка перевода
Используйте метод I18n::lang() для изменения языка перевода.

I18n::lang('fr');

Определение языковых файлов
Для определения языкового файл указанного выше языка необходимо создать файл i18n/fr.php, который содержит следующий код:

<?php
 
return array
(
    'Hello, world!' => 'Bonjour, monde!',
);

Теперь при вызове __(«Hello, world!»), мы получим Bonjour, monde!

Переменные I18n
Можно определить переменные при вызовах метода __(), следующим образом:

echo __('Hello, :user', array(':user' => $username));

Ключ :user в файле с переводом должен быть определен так:

<?php
 
return array
(
    'Hello, :user' => 'Bonjour, :user',
);

Определение собственных __() функций
Можно определить свою собственную функцию __(), для этого необходимо переопределить свой собственный класс I18n:

<?php
 
class I18n extends Kohana_I18n
{
    // Intentionally empty
}
 
function __($string, array $values = NULL, $lang = 'en-us')
{
    // Your functionality here
}

Это приведет к тому, что встроенная функция __() будет игнорироваться.

Обсудить на форуме




Оставить комментарий или два

Пожалуйста, зарегистрируйтесь для комментирования.