您的位置:首页 > 运维架构 > Linux

linux 下PHP使用多语言

2016-02-16 15:59 417 查看
首先确保安装了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");


浏览网页,显示“你好”,即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: