CodeIgniter User Guide Version 2.0.0


Класс Language (язык)

Класс Language предоставляет функции для получения языковых файлов и строк — в целях интернационализации.

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

Обычно языковые файлы хранятся в директории system/language. Альтернативно вы можете создать директорию language в директории вашего приложения application и сохранить их там. CodeIgniter сначала будет смотреть вашу директорию application/language. Ели директории не существует, или указанный язык не обнаруживается, CI будет использовать глобальную директорию system/language.

Примечание:  Каждый язык сохраняется в собственной директории. Например, файлы английского языка хранятся в system/language/english, файлы русского следует располагать в system/language/russian.

Создание языковых файлов

Название языкового файла должно заканчиваться на _lang.php. Например, давайте создадим файл, содержащий сообщения об ошибках. Вы можете назвать его error_lang.php

В этом файле вы будете ассоциировать каждую строку текста в массиве $lang с ее переведенным прототипом:

$lang['language_key'] = "Текст сообщения";

Примечание: Хорошая практика — использовать общий префикс для всех сообщений в файле для того, чтобы избежать возможных коллизий имен. Например, если вы создаете сообщения об ошибках, вы можете использовать префикс error_

$lang['error_email_missing'] = "Укажите адрес электронной почты";
$lang['error_url_missing'] = "Укажите правильный URL";
$lang['error_username_missing'] = "Укажите имя пользователя";

Загрузка языкового файла

Для того, чтобы получать переведенные строки, вы должны сперва загрузить языковой файл. Загрузка языкового файла делается так:

$this->lang->load('filename', 'language');

Где filename - это имя файла, который вы хотите загрузить (без расширения), и language - это язык, который там содержится (например english или russian). Если второй параметр пропущен, будет использован язык по умолчанию, указанный в вашей конфигурации application/config/config.php.

Извлечение строки текста

Если требуемый языковой файл загружен, вы можете получить доступ к любой строке текста посредством этой функции:

$this->lang->line('language_key');

Где language_key - это ключ массива, указывающий на нужную текстовую строку.

Примечание: Эта функция просто возвращает строку. Она не осуществляет какой-либо вывод.

Использование языковых строк как меток полей формы

Эта функция удалена из библиотеки Language и перенесена в функцию lang() помощника Language.

Автозагрузка языков

Если языковой файл требуется вам постоянно в вашем приложении, вы можете попросить CodeIgniter загружать его глобально при инициализации. Для того, чтобы сделать это, откройте ваш application/config/autoload.php и добавьте название файла в массив.

Прим. пер.: так и делаем.