Два способа: интегрированный и более симпатичный, который не всегда возможно использовать.
Если у вас есть сервер, который не является многопоточным на PHP (например, если вы используете PHP-FPM), вы можете использовать популярный gettext, который позволяет очень легко переводить строки с приложениями, такими как PoEdit или бесплатные онлайн-переводчики онлайн, такие как Transifex .
Код, который следует, включает gettext. Поместите это где-нибудь перед контроллером. В контроллере конструктор достаточно хорош.
// get the current language code
$locale = get_setting('fs_gen_lang');
putenv("LANG=$locale");
setlocale(LC_ALL, $locale);
bindtextdomain("default", FCPATH . "assets/locale");
textdomain("default");
Тогда у вас будет такая папка:
/my_ci_app/assets/locale/en_UK/LC_MESSAGES/default.po
/my_ci_app/assets/locale/en_UK/LC_MESSAGES/default.mo
и, возможно, также базовый файл, из которого будут исходить переводы, и который при обновлении обновит все остальные переводы. Я оставляю это в:
/my_ci_app/assets/locale/default.pot
Иначе, вы можете использовать встроенную языковую систему, которая работает со строками и массивами. На мой взгляд, это может быть неудобно, но этого может быть достаточно, если в вашем программном обеспечении мало строк. Есть также сайтов , которые помогают переводить таким образом, как это делает CodeIgniter .
Просто следуйте инструкциям в языковой библиотеке и (возможно, излишне) помощнику:
http://ellislab.com/codeigniter/user_guide/libraries/language.html
http://ellislab.com/codeigniter/user_guide/helpers/language_helper.html