脚本宝典收集整理的这篇文章主要介绍了PHP gettext函数只返回原始的非翻译字符串,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我在项目目录的根目录中创建了以下文件和目录:
test.PHP locale/ de_DE LC_MESSAGES messages.mo messages.po en_GB LC_MESSAGES messages.mo messages.po
我用Poedit来创建上面的.po和mo文件.我已经使用Unix行结尾,UTF-8并相应地设置语言和国家.
然后我创建了一个名为test.PHP的PHP脚本,其中包含以下代码:
<?PHP define('LOCALE','de_DE'); // Set up environmental VARiables putenv("LC_ALL=" . LOCALE); setlocale(LC_ALL,LOCALE); bindtextdomain("messages","./locale"); bind_textdomain_codeset("messages",LOCALE .".utf8"); textdomain("messages"); die(gettext('This is a test.')); ?>
我导入了“这是一个测试”的文字.到PoedIT并提供翻译并保存.
但由于某种原因,test.PHP脚本只会@L_126_14@未翻译的原始文本.它拒绝加载翻译文件的版本.
值得注意的是服务器正在运行Linux(ubuntu),
apache 2.2.11和PHP 5.2.6-3ubuntu4.5.我检查了PHPinfo()并启用了gettext.
sudo apt-get install language-pack-de-base
然后,发出以下命令,您应该看到德语区域设置:
locale -a
之后,假设您在所描述的目录结构中仍然具有.po和.mo文件,则以下代码应该可以正常工作:
<?PHP setlocale(LC_ALL,'de_DE.UTF-8'); bindtextdomain('messages','./locale'); textdomain('messages'); echo gettext('This is a test.'); ?>
以上是脚本宝典为你收集整理的PHP gettext函数只返回原始的非翻译字符串全部内容,希望文章能够帮你解决PHP gettext函数只返回原始的非翻译字符串所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。