我在PHP5中设置了gettext.经过一些与角色等的挣扎,我设法翻译了一些基本的字符串.现在我遇到了一个问题.当翻译一个空字符串时,我希望得到未翻译的(空)字符串(如果我错了,请纠正我;)).
但是,我没有返回输入字符串,而是将.PO文件的标题作为转换:
Project-Id-Version: PACKAGE VERSION Report-Msgid-Bugs-To: POT-Creation-Date: 2011-09-22 15:03+0200 PO-Revision-Date: 2011-09-22 15:37+0200 Last-Translator: timo Language-Team: English Language: en MIME-Version: 1.0 Content-Type: text/plain; charset=ASCII Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=(n != 1);
Run Code Online (Sandbox Code Playgroud)
当我使用文本编辑器查看.mo文件时,我看到标题似乎放在文件中的随机位置.我想告诉你,但我无法粘贴文件.看起来有一个我的msgid的列表,然后是标题,然后是我的msgstr列表
我使用以下命令生成.mo文件:
msgfmt -c -v -o en/LC_MESSAGES/messages.mo messages_en.po
Run Code Online (Sandbox Code Playgroud)
在此命令之后,我重新启动了我的网络服务器(lighttpd).
我做错了什么,我该如何解决?
在搜索了一些不同的查询后,我偶然发现了这个网站:http: //framework.zend.com/issues/browse/ZF-2914
在这里,我发现将空字符串转换为元信息实际上是在gettext的规范中.