本人的hello.php文件内容如下:
<?php 
// I18N 程序范例开始 
define('PACKAGE', 'hello'); // 定义要用的mo文件名称,常规来说,我们都把PACKAGE的putenv('LANG=zh_CN'); 
setlocale(LC_ALL, 'zh_CN'); // 指定要用的语系,如:en_US、zh_CN、zh_TW bindtextdomain(PACKAGE, '/work/website/test/'); 
textdomain(PACKAGE); // The .mo file searched is: 
// /apache/htdocs/locale/en/LC_MESSAGES/hello.mo echo gettext("Hello World!"); 利用xgettext命令生成hello.po文件
修改hello.po文件如下:
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-04-27 23:35+0800\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: test \n"
"Language-Team: zh_CN \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=BIG5\n"
"Content-Transfer-Encoding: 8bit\n"#: hello.php:14
msgid "Hello World!"
msgstr "testtest"再利用msgfmt命令生成hello.mo文件,生成后将hello.po文件和hello.mo文件复制到/work/website/test/zh_CN/LC_MESSAGES下,重启apache,访问hello.php文件,还是显示的是"hello world",显示内容并没有改变,请问是什么原因?