open edx的国际化

方法一(官方):

1、准备工具

  • 一台装好的openedx服务器
  • 基本的linux运维知识
  • transifex账号(没有的朋友点击注册,OpenEdx翻译项目是在transifex.com上,有兴趣的同学可以参与进来,最近不翻墙访问特别慢,应该是被GFW了,呵呵哒。)
  • 注:请不要使用root用户操作,请不要使用root用户操作,请不要使用root用户操作

2、安装transifex

sudo apt-get install transifex-client

2、在用户家目录新建transifex配置文件并编辑

vi ~/.transifexrc

写入以下内容

[https://www.transifex.com]
hostname = https://www.transifex.com
username = username
password = password
token =

其中请将username和password改成您自己的用户名和密码,token留空.

chmod o+rw ~/.transifexrc

3、切换到edxapp用户并加载对应的环境变量

sudo -u edxapp bash
source /edx/app/edxapp/edxapp_env
cd /edx/app/edxapp/edx-platform

4、修改 lms.env.json 与 cms.env.json 文件

vi ../lms.env.json

修改 “LANGUAGE_CODE”: “zh-cn”
同理修改cms.env.json
ps:最新版的open edx发行版由于使用了django1.9。而 zh-cn 在django1.8+中被替换成了zh-hans,如果你的django版本是1.8以上的的话,那改成”zh-hans”

5、抓取中文包并执行翻译

tx pull -l zh_CN    #tx pull -a是抓取所有语言
paver i18n_fastgenerate

paver i18n_fastgenerate和paver i18n_generate的区别在于,paver i18n_generate会首先paver i18n_extract然后编译,而paver i18n_fastgenerate会直接编译。

6、退出edxapp用户并重启edxapp

exit
sudo /edx/bin/supervisorctl restart edxapp:

有必要的话最后还要清除下浏览器缓存。

方法二(使用我们做的po文件),

1、删除原有.po翻译文件

cd /edx/app/edxapp/edx-platform/conf/locale/zh_CN/LC_MESSAGES/
sudo rm *

2、下载我们翻译做好的.po文件,并更改所有权

wget http://mirrors.edustack.org/LC_MESSAGES/dogwood/django.po http://mirrors.edustack.org/LC_MESSAGES/dogwood/djangojs.po
chown edxapp:edxapp django.po djangojs.po

3、切换到edxapp用户加载环境执行翻译

sudo -u edxapp bash
source /edx/app/edxapp/edxapp_env
cd /edx/app/edxapp/edx-platform
paver i18n_fastgenerate

5、退出edxapp用户并重启edxapp

exit
sudo /edx/bin/supervisorctl restart edxapp:

i18n_tools

配置文件:/edx/app/edxapp/edx-platform/conf/locale/config.yaml
相关命令:

  • i18n_tool dummy
  • i18n_tool extract
  • i18n_tool generate
  • i18n_tool segment
  • i18n_tool transifex
  • i18n_tool validate
  • github链接:https://github.com/edx/i18n-tools

    未经允许不得转载:晨飞小窝 » open edx的国际化

    赞 (2)

    评论 0