我遵循了折叠教程:http://mel.melaxis.com/devblog/2005/08/06/localizing-php-web-sites-using-gettext/
关于php.ini扩展(我没有选中php.ini中的注释)
gettext被激活,但它没有显示翻译(德语)。
以下是这些文件:
C:\wamp\www\php-test\test.php:
<?php
require_once("localization.php");
echo _("Hello World!");
?>C:\wamp\www\php-test\localization.php:
<?php
$locale = "de_DE";
if (isSet($_GET["locale"])) $locale = $_GET["locale"];
putenv("LC_ALL=$locale");
setlocale(LC_ALL, $locale);
bindtextdomain("messages", "./locale");
textdomain("messages");
?>C:\wamp\www\php-test\locale\de_DE\LC_MESSAGES\messages.po:
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-02-14 00:35+0800\n"
"PO-Revision-Date: 2010-02-14 00:37+0800\n"
"Last-Translator: Jano Chen <weedcl@hotmail.com>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-KeywordsList: _;gettext;gettext_noop\n"
"X-Poedit-Basepath: C:\\wamp\\www\\php-test\n"
"X-Poedit-Language: German\n"
"X-Poedit-Country: GERMANY\n"
"X-Poedit-SourceCharset: iso-8859-1\n"
"X-Poedit-SearchPath-0: .\n"
#: test.php:2
msgid "Hello World!"
msgstr "Hallo Welt!"C:\wamp\www\php-test\locale\de_DE\LC_MESSAGES\messages.mo
(不好意思,由于某种原因,我无法复制此文件的文本)

当我打开它应该显示"Hallo“(德语中的Hello),但是它用英语显示它(Hello )。
有什么建议吗?
PS:我在使用Windows SP2
发布于 2010-02-15 07:50:32
我使用的是Wamp Server 2 (i),我卸载了它,使用了Wamp Server 2 (c),它解决了这个问题。真奇怪。
发布于 2010-02-14 17:17:00
作为明示在setlocale的手册页面中(您读过吗?),windows使用不同的语言/国家/区域字符串。尝试将它们添加到您的de_DE中,如下(也是从手册页):
setlocale(LC_ALL, 'de_DE', 'deu_deu');还请参见对每个进程维护的区域设置信息的警告。
发布于 2010-11-30 12:14:56
有点基本,我知道,但是你试着重新启动web服务器吗?每次更新.mo文件时,我都必须这样做。
https://stackoverflow.com/questions/2261571
复制相似问题