使用gettext做多文字国际化,按PHP官方文档,在CentOS上OK,在Ubuntu上不行,调试了快1天,试了网上提供的无数方法,终于有一个OK了 看到此文的同学别再被坑了 感谢:http://stackoverflow.com/questions/18551553/php-gettext-translate-in-wrong-language-
使用gettext做多文字国际化,按php官方文档,在centos上ok,在ubuntu上不行,调试了快1天,试了网上提供的无数方法,终于有一个ok了……
看到此文的同学别再被坑了……
ECTouch是上海商创网络科技有限公司推出的一套基于 PHP 和 MySQL 数据库构建的开源且易于使用的移动商城网店系统!应用于各种服务器平台的高效、快速和易于管理的网店解决方案,采用稳定的MVC框架开发,完美对接ecshop系统与模板堂众多模板,为中小企业提供最佳的移动电商解决方案。ECTouch程序源代码完全无加密。安装时只需将已集成的文件夹放进指定位置,通过浏览器访问一键安装,无需对已有
感谢:http://stackoverflow.com/questions/18551553/php-gettext-translate-in-wrong-language-when-running-from-shell
BS官网文档:http://www.php.net/manual/en/function.gettext.php
立即学习“PHP免费学习笔记(深入)”;
代码:
php $lang = 'en_US'; //linux不支持zh-Hans,所以gettext、php都不支持。使用locale -a可以看到os支持的语言文字国家地区码。 putenv('LANGUAGE=' . $lang); //ubuntu 需要,centos不需要此行 setlocale(LC_ALL, $lang . '.utf8'); //ubuntu 需要.utf8,centos可有可无 $domain = 'strings'; bindtextdomain($domain, dirname(__FILE__) . '/locale'); bind_textdomain_codeset($domain , 'UTF-8'); textdomain($domain); echo _('asdf'); echo "\n"; exit; ?>
目录为en_US,如下:
| |--- | |---en_US | | |---LC_MESSAGES | | | |---strings.mo










