В Codeigniter 2 можно довольно удобно сделать многоязычный сайт. Для этого есть модуль и хелпер lang. В статье приводится пример использования строк в параметрами в языковых файлах, как например 'У вас %s непрочитанных сообщений'.
В языковом файле пишем:
$lang['unread_messages'] = "У Вас %s непрочитанных сообщений";
В шаблоне это вызывается так:
//Хелпер lang желательно поместить в автозагрузку
$this->load->helper('language');
//....
<p>Уведомления: </p>
<p><?php print lang('unread_messages', 5); ?></p>
В конроллере так сделать не получиться, поэтому можно написать так:
$number = $this->my_model->unread_messages();
$message = sprintf($this->lang->line('unread_messages'), $number);
Полезные ссылки:
- Официальная документация по языковому помощнику: http://ellislab.com/codeigniter/user-guide/helpers/language_helper.html
- Документация по php функции sprintf: http://php.net/manual/ru/function.sprintf.php
- Тема на форуме ellislab: http://ellislab.com/forums/viewthread/145634/#749634