Я использую Flask Babel, чтобы сделать I18N для проекта администрирования фляг. Но не может заставить его работать, даже с простым шаблоном. Вот коды, инициализировать столпотворение первым,Flask 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'
Добавить страницу администратора конструктов и добавить 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')))
Используйте столпотворение, чтобы получить 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')
Он находит все тексты и добавлять переводы вручную, а затем скомпилировать его,
os.system(pybabel + ' compile -f -d translations')
перезагрузки сервера и проверьте страницу, ничего переводить. Я пробовал другие языки, никто из них не работает. Какова возможная причина? Вот полный код https://github.com/XiaokunHou/FlaskProject
Если вы запускаете команды pybabel вручную, есть ли сообщения об ошибках/предупреждениях? –
@ 1.618 никаких ошибок, все кажется хорошо. – Xiaokun
@ 1.618 это потому, что места моих переводов ошибочны ... – Xiaokun