Класс 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 и добавив язык(и) в массив автозагрузки.