如何在CodeIgniter中使用语言? 它真的已经是一个内部资源(帮助器或库),还是我需要一个插件才能使它工作? 或者它是如此简单以至于我无法相信(或者不够愚蠢)?
答案 0 :(得分:3)
只需关注此网址Codeigniter's language class
即可 CI
的文档非常好,它会以非常简单和优雅的方式教你一切。
答案 1 :(得分:2)
两种方式:集成的和更漂亮的方式,并不总是可以使用。
如果您的PHP上没有多线程服务器(例如,如果您使用PHP-FPM),您可以使用流行的gettext,这样可以很容易地使用PoEdit或在线等应用程序翻译字符串免费翻译webapps,如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
否则,您可以使用内置语言系统,该系统适用于字符串和数组。在我看来,它最终会变得很难使用,但如果你的软件中没有很多字符串,它可能就足够了。还有sites以CodeIgniter itself的方式帮助翻译。
只需按照语言库中的说明和(可能不必要的)助手:
http://ellislab.com/codeigniter/user_guide/libraries/language.html
http://ellislab.com/codeigniter/user_guide/helpers/language_helper.html