linux 下PHP使用多语言

首先确保安装了php扩展gettext,然后根据编辑生成po文件default.po。

在php工作目录下进入locale/zh_CN/LC_MESSAGES目录。

格式如下:


msgid "" msgstr "" "Project-Id-Version: gst-time.HEAD\n" "POT-Creation-Date: 2009-04-11 15:45+0000\n" "PO-Revision-Date: 2016-02-16 10:49+0800\n" "Last-Translator: XXXXXX\n" "Language-Team: XXXXXX\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: zh_CN\n" "X-Generator: Poedit 1.8.6\n" "X-Poedit-KeywordsList: XXXXXXXX\n"

msgid "test" msgstr "测试" msgid "hello" msgstr "你好"

 

然后,生成对应的po文件。

(win环境可使用poedit来编辑生成po)

msgfmt -o default.mo default.po 

然后php代码调用:

//定义要翻译的目标语言及po文件的编码
$locale = "zh_CN.utf8";
setlocale(LC_ALL, $locale);
header("Content-type:text/html;charset=utf-8"); //设置翻译文本域,下面的代码就会让程序去locale/zh_CN/LC_MESSAGES/default.mo去寻找翻译文件 bindtextdomain("default", dirname(__FILE__)."/locale"); textdomain("default"); echo _("hello");

 

浏览网页,显示“你好”,即可。

 

你可能感兴趣的:(linux 下PHP使用多语言)