美文网首页
Superset安装及汉化

Superset安装及汉化

作者: user0650 | 来源:发表于2018-07-26 19:00 被阅读0次

    简介

    Superset是由Airbnb开发的一个数据可视化系统,现开源贡献给了Apache基金会。
    支持各种主流数据源,丰富的图表形式,以及基础的用户、角色、权限等功能。
    详细的介绍参考:https://superset.incubator.apache.org/index.html

    安装

    下载源码

    Superset有多种安装方式,这里采用源码安装,以便于后边构建自己的版本。

    git clone https://github.com/apache/incubator-superset.git
    

    虚拟环境

    # cd  incubator-superset
    # virtualenv venv
    # . ./venv/bin/activate
    

    这里使用了Python虚拟环境,也可以不用!
    Superset是用Python写的,所以Python环境提前搞好,最好用2.7.x版本,因为Airbnb生产环境用的是这个版本,兼容性最好。

    编译

    (venv) # cd superset/assets
    (venv) # yarn
    (venv) # yarn run build
    

    安装

    (venv) # cd ../../
    (venv) # python setup.py install
    

    墙内pip直接安装太费劲,所以设置一下国内镜像,参考https://www.jianshu.com/p/1e5e12454006

    初始化

    # 给superset设置超级账户
    (venv) # fabmanager create-admin --app superset
    
    # 初始化数据库
    (venv) # superset db upgrade
    
    # 加载示例数据
    (venv) # superset load_examples
    
    # 初始化角色和权限
    (venv) # superset init
    
    # 启动
    (venv) # superset runserver -d
    

    访问http://localhost:8088/,看到如下界面

    image.png

    恭喜,安装成功!可以用刚才设置的账号登录了。

    汉化

    可以看到Superset自身支持国际化,右上角可以切换语言。
    But,使用中文时,汉化的不是很完全,需要自己动手做些事情。

    修改config.py源码

    # Setup default language
    BABEL_DEFAULT_LOCALE = 'zh'
    # Your application default translation path
    BABEL_DEFAULT_FOLDER = 'superset/translations'
    # The allowed translation for you app
    LANGUAGES = {
        'en': {'flag': 'us', 'name': 'English'},
        'zh': {'flag': 'cn', 'name': 'Chinese'},
    }
    

    这里设置默认语言为中文,保留了英文,其余的全干掉了。

    提取messages.pot文件

    (venv) # cd $SUPERSET_HOME
    (venv) # pybabel extract -F superset/translations/babel.cfg -k _ -k __ -k t -k tn -k tct -o superset/translations/messages.pot .
    

    更新messages.po文件

    (venv) # pybabel update -i superset/translations/messages.pot -d superset/translations/ -l zh
    

    翻译messages.po文件

    (venv) # cd superset/translations/zh/LC_MESSAGES
    (venv) # vim messages.po
    

    修改所有msgstr的值,根据msgid翻译。这是个体力活,慢慢翻吧!

    编译messages.po

    (venv) # cd $SUPERSET_HOME
    (venv) # pybabel compile -d translations
    (venv) # po2json -d superset -f jed1.x translations/zh/LC_MESSAGES/messages.po translations/zh/LC_MESSAGES/messages.json
    

    这里用到了po2json,需提前用npm安装好。

    重新编译、安装、启动Superset

    怎么搞?往上翻!

    这次再刷新页面,清空缓存,大部分已经汉化了。
    But,But,还是有些没有汉化到的地方。很遗憾,这部分大多是写在代码里了,好硬!只能一个个修改了。
    当然,不在意的话,可以先凑活用了。

    我的版本

    https://github.com/libfox/incubator-superset

    这个版本还在不断更新汉化内容。考虑到我们的用户都是国人,所以放弃国际化了,直接也在代码里硬硬的汉化!

    大多是谷歌翻译直接搞,有需求的可以直接拿去用,有精力的可以一起帮着翻译下。

    相关文章

      网友评论

          本文标题:Superset安装及汉化

          本文链接:https://www.haomeiwen.com/subject/bzpbmftx.html