第一步:安装gettext扩展
windows环境下修改php.ini中的
1 |
;extension=php_gettext.dll |
去掉前面的 ; 号,重启Apache。
ubuntu下执行
1 |
sudo apt-get install php-gettext |
其它环境安装可能需要编译PHP,具体方法Google,这里不再作详细叙述。
最后重启Apache,如果能搜索到gettext,表示安装成功。
第二步:PHP程序实现
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
<?php header("Content-type: text/html; charset=utf-8"); // 定义要用的语言文件名称 define('PACKAGE','default'); // 设置环境变量 语言类型 putenv('LANG=zh_CN'); // 设置地点信息 setlocale(LC_ALL,"zh_CN"); // 设置mo文件的路径,这里的路径为 locale/zh_CN/LC_MESSAGES/default.mo bindtextdomain(PACKAGE, dirname(__file__) . '/locale'); // 设置mo文件 textdomain(PACKAGE); //指定字符编码 bind_textdomain_codeset(PACKAGE, 'UTF-8'); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title><?php echo _('title');?></title> <meta http-equiv=X-UA-Compatible content=IE=EmulateIE7 /> </head> <body> <?php echo _('content');?> </body> </html> |
第三步:使用Poedit编辑语言文件
下载Poedit: 下载地址
下装并安装后进下面步骤:
1.选择文件->新建消息目录文档,填写一些必要信息,如下图:
2.填写项目信息,选择类目->设置->路径,填写项目的绝对路径,如下图:
再选择 类目->从源更新,项目中所有带关键字函数中的内容就会全部匹配(关键字可自定义),如下图:
P.S.之后程序中有新增或删除的短语,只需要通过从源更新重新获取,相当方便。
P.S.2.我测试中出现修改语言文件后页面未更新的现象,只需要重启Apache即可.(一开始以为是编译的mo文件有问题,折腾半天,浪费了一个多小时时间-_!!)