CodeIgniter, руководство пользователя к версии 1.6.1


Класс Language

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

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

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

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

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

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

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

$lang['language_key'] = "Сообщение, которое должно быть отображено";

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

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

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

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

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

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

Получение строки текста

После загрузки файла вы можете получить конкретный перевод при помощи функции:

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

Где language_key соответствует ключу массива, в котором содержится перевод.

Замечание: Эта функция просто вернет строку. Строка не будет выведена, она просто будет возвращена.

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

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