研究了很久pot,po,gettext,poedit的文档
基本上弄明白了概念
但实际上做起来远不是那么回事
http://teliute.laxjyj.com/TeacHtm/TePoedit/index.html 一个关于poedit比较适合的教程
看了一堆参考后,决定下手做一个
1 生成po文件 和 mo文件
根据官方网站上提供的命令,生成pot文件或者直接生成po文件并不是那么好使
直接用notepad++编辑了一个po文件
然后运行
D:\Program Files\Poedit\bin>msgfmt.exe -o D:\temp\i18n\en_US\LC_MESSAGES\message
s.mo D:\temp\i18n\en_US\LC_MESSAGES\messages.po
生成mo文件
msgfmt在python27/tools/i18n下也有一个
2 运行 http://webpy.org/cookbook/i18n_support_in_template_file.zh-cn 的例子通过
3 又根据以上步骤,做了一个中文的zh_CN
D:\Program Files\Poedit\bin>msgfmt.exe -o D:\temp\i18n\zh_CN\LC_MESSAGES\message
s.mo D:\temp\i18n\zh_CN\LC_MESSAGES\messages.po
运行 http://webpy.org/cookbook/runtime-language-switch.zh-cn的例子报错
马上就想到自己用notepad++编辑po文件是不是有点太乱来了
用poedit打开一看
果然应该是中文的地方显示乱码
重新用poedit编辑一次,保存
再次生成mo文件,通过
index.html
$_("Message")
<a href="http://127.0.0.1:8080/?lang=en_US">USA</a>
<a href="http://127.0.0.1:8080/?lang=zh_CN">CHN</a>
i18n\zh_CN\LC_MESSAGES\messages.po
msgid ""
msgstr ""
"Project-Id-Version: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: \n"
"Last-Translator: lk <xx@qq.com>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
msgid "Message"
msgstr "这里是中文"
i18n\en_US\LC_MESSAGES\messages.po
msgid "Message"
msgstr "This is English"
总结
1 是不是po mo什么的,php用的最多,因为google出来的结果不经意都是php的
2 gettext的pygettext还是没学会怎么用
3 这个po文件的路径和文件名字好像是固定的?不能拆分成多个?还没看api暂时不确定,到时候看api要记得看
4 代码上关于怎么调用的代码,仍然稀里糊涂的,哎。。。。
本文分享了使用Poedit及Gettext工具集进行国际化资源文件(PO与MO文件)制作的经验,包括解决乱码问题、生成流程及网页国际化实现。
1616

被折叠的 条评论
为什么被折叠?



