gettext国际化用法示例
2015年9月09日 16:36
- 安装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 你好,世界