我在windows上面用gettext来实现国际化
gettext这个就不用我来说了大家到网上搜索一下就知道这个是什么意思了哦
gettext的下载的链接地址:
http://sourceforge.net/projects/gnuwin32/files/gettext/0.14.4/gettext-0.14.4.exe/download
下载好了之后,你可以对它进行安装
然后在你系统的环境变量中添加gettext的目录
(将C:/Program Files/GnuWin32/bin路径添加到系统环境变量中的path中去,C:/Program Files/GnuWin32是我安装gettext之后的目录)
然后你可以到命令行中敲入xgettext -h来测试一下你的gettext是否安装成功了
还要将你的php_gettext扩展打开(相信大家都有这个扩展吧)
在你的服务器目录下面新建项目,文件结构如下:
translate(项目名称)
local
zh_CN
LC_MESSAGES
test.mo
test.po
test.php
先建立好test.php文件 内容如下:
putenv('LANG=zh_CN');
setlocale(LC_ALL,'zh_CN');
bindtextdomain('test','locale');
bind_textdomain_codeset('test','UTF_8');
textdomain('test');
echo gettext('Hello World');
echo '<br/>';
echo gettext('test');
echo '<br/>';
echo gettext('my name');
echo '<br/>';
将命令行显示到该项目下面,然后在命令行中敲入.
xgettext -d test test.php
这样在就在你的页面中生存test.po的文件
打开该文件修改的地方如下:
1、该为:"Content-Type: text/plain; charset=UTF-8/n"
2、将msgstr给为你要想显示的字如下(不要修改最上面的那个megid为空):
msgid "Hello World"
msgstr "你好世界"
再在命令行中输入:
msgfmt -o test.mo test.po
会生成一个test.mo的文件,并这这两个文件移动到该项目中的/locale/zh_CN/LC_MESSAGES中
这个地方记得要重新启动你的服务(我这的为wamp)
然后在来看看页面就会