flask-security Babel I18n 汉化语言包

在网上搜了半天也没介绍flask-security汉化方法,于是查看源代码,发现里面是支持Babellex翻译,于是Git源代码,自己增加了中文简体的翻译文件,并提交到作者,不过还没审核通过,详见如何参与Github上的开源项目Flask-security语言翻译

由于需要在项目中使用,等到作者合并到项目中并发布,不知道什么时候,于是就自己编译之后放到项目中,记录一下方法给小伙伴参考。

编译好的语言包:https://download.csdn.net/download/gh254172840/10582647

接上面文章,将项目编译,生成mo文件,此时注意编译的文件如果是messages.po,messages.mo,请将他们改为flask_security.po,flask_security.mo,不然flask_security会检测不到

pybabel compile -d flask_security/translations/

现在需要把zh_Hans_CN整个文件夹复制到flask_security/translations/,即可。

注意不要更改文件名,不然会检测不到

接着请安装Flask-BabelEx

pip install Flask-BabelEx

配置BabelEx,这个在官方教程没写,可以参考flask-admin如何汉化

# 初始化flask_babelex
from flask import app
from flask_babelex import Babel

app = Flask(__name__)
babel = Babel(app)

# 创建一个本地选择器:

@babel.localeselector
def get_locale():
    if request.args.get('lang'):
        session['lang'] = request.args.get('lang')
    return session.get('lang', 'zh_CN')

重启服务,你就可以看到汉化效果了

效果如下:

Good Lucky!

猜你喜欢

转载自blog.csdn.net/gh254172840/article/details/81395972