我正在尝试使用GetText向我的网站添加本地化支持。我遵循了有关如何设置getText的各种指南,并完成了以下操作:
我在项目目录的根目录中创建了以下文件和目录:
test.php
locale/
de_DE
LC_MESSAGES
messages.mo
messages.po
en_GB
LC_MESSAGES
messages.mo
messages.po
我已经用过
Poedit
创建上述.po和mo文件。我已经让sue-it使用unix行尾、utf-8并相应地设置语言和国家。
然后,我创建了一个名为test.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.'));
?>
我导入了文本“这是一个测试”,以便进行编辑并提供翻译并保存。
但是出于某种原因,test.php脚本将只输出未翻译的原始文本。它拒绝加载翻译文件的版本。
值得注意的是,服务器运行的是Linux(Ubuntu)。
Apache2.2.11和php 5.2.6-3ubuntu4.5。我检查过了
phpinfo()
并且启用了getText。