php用gettext做国际化注意点:

使用的deepin 2014.3做的系统开发环境,gettext是需要系统环境支持的,

在php项目中执行(拿简体中文为例)

setLocale('zh_CN')

一般服务器找到服务器系统支持的中文简体的对应编码设置即可,

linux(deepin 2014.3)下直接执行 locale -a 既可查看支持语言编码:

~ locale -a

C

C.UTF-8

en_US.utf8

POSIX

zh_CN.utf8

zh_SG.utf8

而locale则是显示当前系统的语言编码

~ locale
LANG=zh_CN.UTF-8
LANGUAGE=zh_CN
LC_CTYPE=zh_CN.UTF-8
LC_NUMERIC="zh_CN.UTF-8"
LC_TIME="zh_CN.UTF-8"
LC_COLLATE="zh_CN.UTF-8"
LC_MONETARY="zh_CN.UTF-8"
LC_MESSAGES="zh_CN.UTF-8"
LC_PAPER="zh_CN.UTF-8"
LC_NAME="zh_CN.UTF-8"
LC_ADDRESS="zh_CN.UTF-8"
LC_TELEPHONE="zh_CN.UTF-8"
LC_MEASUREMENT="zh_CN.UTF-8"
LC_IDENTIFICATION="zh_CN.UTF-8"
LC_ALL=

windows则可以参看微软官方文档:

https://msdn.microsoft.com/en-us/library/ms693062%28v=VS.85%29.aspx

其中 中文简体是:ZH或ZH-CN


由于deepin 2014.3是基于ubuntu的,在设置

setLocale('zh_CN')

时必须加".utf8",否则gettext会出现无效也不报错的情况,在此说明一下