Flask-BabelEx

raw JSON →
0.9.4 verified Fri May 01 auth: no python

Adds i18n/l10n support to Flask applications, based on Flask-Babel but updated for newer dependencies. Current version is 0.9.4, maintained sporadically. No fixed release schedule.

pip install flask-babelex
error ImportError: No module named flask_babelex
cause Package not installed or installed as flask-babelex (with hyphen).
fix
Run 'pip install flask-babelex' and ensure no name conflict with flask_babel.
error ModuleNotFoundError: No module named 'flask.ext.babel'
cause Old Flask extension import style no longer supported.
fix
Replace 'from flask.ext.babel import Babel' with 'from flask_babelex import Babel'.
error AttributeError: module 'flask_babelex' has no attribute 'gettext'
cause Incorrect import from the submodule; should be from flask_babelex directly.
fix
Use 'from flask_babelex import gettext'.
breaking Werkzeug 1.0.0 compatibility fix required; older versions may break with modern Werkzeug.
fix Upgrade to flask-babelex >= 0.9.4.
gotcha Flask-BabelEx is a fork of Flask-Babel. Many Flask-Babel examples use 'flask.ext.babel' which no longer works; use 'flask_babelex' instead.
fix Always import from flask_babelex (with underscore).
deprecated Support for Python 2 is dropped; only Python 3 is tested.
fix Ensure Python 3.6+ environment.

Minimal Flask app with BabelEx for internationalization.

from flask import Flask
from flask_babelex import Babel

app = Flask(__name__)
app.config['BABEL_DEFAULT_LOCALE'] = 'en'
babel = Babel(app)

from flask_babelex import gettext as _

@app.route('/')
def index():
    return _('Hello World')

if __name__ == '__main__':
    app.run()