Xia*_*kun 4 python babel flask
我使用Flask Babel为烧瓶管理项目做I18N.但即使使用简单的模板也无法使其工作.这是代码,首先初始化babel,
app=Flask(__name__,template_folder='templates')
app.config.from_object('config')
csrf=CsrfProtect(app)
bcrypt=Bcrypt(app)
db=SQLAlchemy(app)
babel=Babel(app)
@babel.localeselector
def get_locale():
return 'zh_Hans_CN'
Run Code Online (Sandbox Code Playgroud)
添加构造管理页面并添加I18N,我也尝试lazy_gettext().不行.
# Create admin
admin = admin.Admin(app, 'iInvest:', index_view=MyAdminIndexView(), base_template='my_master.html')
# Add view
admin.add_view(UserManageView(User, db.session, gettext(u'User Management')))
Run Code Online (Sandbox Code Playgroud)
使用babel获取I18N并添加翻译,
os.system(pybabel + ' extract -F babel.cfg -k lazy_gettext -o messages.pot iInvest/')
os.system(pybabel + ' init -i messages.pot -d translations -l zh_Hans_CN')
os.unlink('messages.pot')
Run Code Online (Sandbox Code Playgroud)
它找到所有文本并手动添加翻译,然后编译,
os.system(pybabel + ' compile -f -d translations')
Run Code Online (Sandbox Code Playgroud)
重启服务器并检查页面,没有任何内容被翻译 我尝试过其他语言,但都没有.可能的原因是什么?这是完整的代码https://github.com/XiaokunHou/FlaskProject
我找到了我错的地方.翻译文件夹位于错误的位置.它应该在iInvest下(在其他情况下是应用程序)..
pybabel extract -F babel.cfg -k lazy_gettext -o messages.pot iInvest/
pybabel init -i messages.pot -d iInvest/translations -l zh_Hans_CN
pybabel compile -f -d iInvest/translations
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1881 次 |
| 最近记录: |