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.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3343ad5ab4dbcd640da8ca517f5e0b6a605845eba32cfa91c3c36b0967599ed3 |
|
MD5 | 2319daf5d72656bfd8c4f3d5d5d9dfec |
|
BLAKE2b-256 | b97c725d15c1a8c13530da9eec27f130eeab9d8f35318364a057470c34ff9f62 |