Localisation helper for starlette
Project description
starlette-i18n
starlette-i18n is a localisation helper for starlette.
Installation
starlette-i18n is available on PyPI. Use pip to install:
$ pip install starlette-i18n
Basic Usage
import uvicorn
from starlette.applications import Starlette
from starlette.responses import PlainTextResponse
from starlette_i18n import (
DEFAULT_LOCALE,
LANGUAGE_HEADER,
LocaleMiddleware,
load_gettext_translations,
)
from starlette_i18n import gettext_lazy as _
BABEL_DOMAIN = "messages"
BABEL_LOCALES_PATH = "locales"
def init_app():
load_gettext_translations(directory=BABEL_LOCALES_PATH, domain=BABEL_DOMAIN)
app_ = Starlette()
app_.add_middleware(
LocaleMiddleware, language_header=LANGUAGE_HEADER, default_code=DEFAULT_LOCALE
)
@app_.route("/")
def success(request):
return PlainTextResponse(_("OK"), status_code=200)
return app_
app = init_app()
if __name__ == "__main__":
uvicorn.run(app=app)
License
starlette-i18n is developed and distributed under the Apache 2.0 license.
Reporting a Security Vulnerability
See our security policy.
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
starlette-i18n-0.3.5.tar.gz
(9.7 kB
view hashes)
Built Distribution
Close
Hashes for starlette_i18n-0.3.5-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3b99a92d1d8593e071c22034483e17acd762887fcda6aa68368dcbd3ff44d7b7 |
|
MD5 | bda0996a4467a7dd549096173ec35166 |
|
BLAKE2b-256 | 1eeb3ec9ce54d23a730d2270db05e54a6c4e1aac814bc9997b9f26e3294821c3 |