安装gettext
sudo yum install gettext
gettext工具
gettext: 进行translate。
xgettext: 从程序中抽取调用gettext进行本地化的字符串,生成一份.po结尾的配置文件。
msgfmt: 将配置好的本地化配置文件进行转换成gettext使用的格式。
准备demo.py
#encoding=utf-8
import gettext
# demo对应mo文件名,locale为locale目录地址,zh_CN为locale目录下目录名
zh = gettext.translation("demo", "locale", languages=["zh_CN"])
# 激活_()
zh.install(True)
print _("hello world")
生成po文件
从程序文件中抽取,使用gettext的字符串,生成po文件
xgettext -L python -o zh_CN.po demo.py
编辑po文件
...
#修改编码为utf-8
"Content-Type: text/plain; charset=utf-8\n"
...
#加上翻译
#: demo.py:6
msgid "hello world"
msgstr "你好,世界"
创建locale目录
mkdir -p locale/zh_CN/LC_MESSAGES
编译po文件
msgfmt -o ~/locale/zh_CN/LC_MESSAGES/demo.mo zh_CN.po
查看结果
➜ ~ python demo.py
你好,世界
Linux下安装php的gettext扩展:http://www.linuxdiyf.com/linux/5048.html