author:云开_sky
airbnb公司开源的caravel,昵称小帆船。
airbnb公司开源的其他几个工具也不错包括:airflow
http://airbnb.io/
http://airbnb.io/caravel/index.html
http://pythonhosted.org/airflow/index.html

下面就Caravel 0.11.0 如何进行汉化,简单介绍下:

首先得修改配置文件:
/usr/local/lib/python3.5/dist-packages/caravel/config.py

# Setup default language
BABEL_DEFAULT_LOCALE = 'zh' #原来为en
# Your application default translation path
BABEL_DEFAULT_FOLDER = 'babel/translations'
# The allowed translation for you app
LANGUAGES = {
    # 'en': {'flag': 'us', 'name': 'English'}, #原来是这个
    # 'fr': {'flag': 'fr', 'name': 'French'},
    'zh': {'flag': 'cn', 'name': 'Chinese'},
}

修改完配置文件后,还需要翻译对应的po文件
/usr/local/lib/python3.5/dist-packages/flask_appbuilder/translations/zh/LC_MESSAGES/message.po

sudo -H vim messages.po 
内容如:
#: caravel/templates/caravel/welcome.html:26 caravel/views.py:535
msgid "Security"
msgstr "权限配置"

msgid "List Users"
msgstr "用户配置"

msgid "List Roles"
msgstr "角色配置"

msgid "Dashboards"
msgstr "仪表盘"

本想直接上传一个翻译好的来着,只是这里不支持这个文件格式。
po文件翻译完成后,需要编译(通过gettext)转换成对应的mo文件

乌斑兔下直接安装:
sudo -H apt install gettext

centos下应该是:
yum install gettext –y

翻译好po文件,安装好gettext后,如下命令编译成对应mo文件
sudo -H msgfmt ./messages.po -o ./messages.mo

PS:关于caravel小帆船的安装,元数据库(默认是用的sqlite)的切换,比如换成mysql/pg,及使用等等可一块讨论学习。

个人建了一个主要针对caravel,airflow,druid,kylin讨论学习的Q群:341473604,有兴趣的朋友可以一块儿学习讨论。
caravel小帆船 汉化-LMLPHP
 




12-04 08:43
查看更多