Linux:
环境搭建好后,发现这个东东的国际化在服务器上有问题,查看官方文档和源码发现这个东东用的事gettext一个我从来没有接触过的东西,查看手册还是一知半解的,大概明白了这是一个和国际化相关的组建,PHP默认已经支持(还好服务器支持这个扩展)。本以为国际化很容易,我很快找到了statusnet.po 这个国际化的文件,不料我怎么弄都不行,原来这个文件修改后需要编译。又上网找资料,在linux下用命令msgfmt
晕死报错啦,又找谷歌,发现有人说是版本问题,检查gettext版本
发现确实是有点老,下来新的源码包 ./configure make make install安装三部曲,也没有做多余的配置,在使用命令msgfmt
又报错,找谷歌
- which msgfmt
- ldd ...
果然有问题,那个包没有指定地址,发现问题所在原来是在/lib文件夹下没有相关的文件,于是乎找到这两个文件,并在/lib做这两文件的链接
调用 msgfmt -o *.mo *.po搞定国际化出来了
哈哈OK
Windows:
由于测试环境是window,希望测试环境与工作环境代码一致,于是上网找资料 很快找到了poedit(www.poedit .net/download.php ),安装windows版本,编辑*.po文件 重启apache 即可生失效