Integrates the banana i18n library into Flask applications
Project description
Localize your Flask application using the banana file format, popularized by MediaWiki.
Usage
In your app.py:
from flask import Flask from flask_banana import Banana from pathlib import Path app = Flask(__name__) banana = Banana(app, Path(__file__).resolve().parent / 'i18n')
You can also use the init_app pattern as well.
In your template the _(...) function is aliased to banana.translate():
<body> <p>{{ _('some-message-key') }}</p> </body>
To change the language, set the banana.language property. You might also want to try the Flask-ULS library for better client-side support for changing the interface language.
Flask-ULS integration
Flask-Banana can automatically configure and integrate with Flask-ULS, just pass the ULS instance to Banana during setup:
app = Flask(__name__) uls = ULS(app) banana = Banana(app, Path(__file__).resolve().parent / 'i18n', uls)
Banana will configure ULS to enable all of the languages that have translations and then default to using the language configured through ULS.
Configuration
BANANA_DEFAULT_LANGUAGE (default: 'en'): the language to default to if one hasn’t been manually set through Banana nor ULS.
License
Flask-Banana is available under the terms of the GPL, version 3 or any later version.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for Flask_Banana-0.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7e31e3e920c8cf526a5bed1a15c897da41db9ecf5048a41a44ee4363a0bc43ee |
|
MD5 | 50a6f1dab51e96549334bb89601b5a31 |
|
BLAKE2b-256 | 8488ea9de5d81d7645354e5d6a3a8354220f313205a21d5eb21e51dbef4dcf63 |