XBlock的国际化和本地化问题
文章目录
此前遇到过XBlock中translation相关的问题,解决得很是敷衍,上周末@MT兄也提到这个问题,于是认真解决了下
#需求场景 我们可能在两类场景中需要考虑translation相关的问题:
- 使用国外的开发者的XBlock,需要考虑汉化
- 自己做的XBlock,想贡献给社区
对于第一个问题,直接看下边的解决方案就行。对于第二个问题,需要我们在代码和模板里标注翻译字符串
|
|
#解决方案
###使用mako模板 此前在群里同@Datochen兄讨论过这个话题,他当时的解决方案是使用mako模板,mako模板支持unicode,所以可以直接写中文。这个方案无法解决以上的两个问题,它能做的是允许你在自己开发的XBlock里写中文字符串
具体的做法可以参考@Datochen兄的博客
###使用django的国际化机制 为了解决以上两个问题,我决定采用django的国际化机制
思路是将XBlock伪装成django app
具体步骤如下:
- 将XBlock软链接到django app目录下
- 进入XBlock,mkdir locale
- 收集翻译字符串,生成.po文件:django-admin.py makemessages -l zh_CN
- 翻译po文件
- 在XBlock里编译:django-admin.py compilemessages
此外,我觉得软链接那一步应该可有可无,只要进入到virtualenv环境里,不过还没做测试
文章作者 种瓜
上次更新 2015-08-03