mirror of
https://gitlab.archlinux.org/archlinux/aurweb.git
synced 2025-02-03 10:43:03 +01:00
Build a translation facility for FastAPI
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
This commit is contained in:
parent
e323156947
commit
239988def7
2 changed files with 33 additions and 9 deletions
|
@ -16,3 +16,25 @@ class Translator:
|
|||
self._localedir,
|
||||
languages=[lang])
|
||||
return self._translator[lang].gettext(s)
|
||||
|
||||
|
||||
def get_translator_for_request(request):
|
||||
"""
|
||||
Determine the preferred language from a FastAPI request object and build a
|
||||
translator function for it.
|
||||
|
||||
Example:
|
||||
```python
|
||||
_ = get_translator_for_request(request)
|
||||
print(_("Hello"))
|
||||
```
|
||||
"""
|
||||
lang = request.cookies.get("AURLANG")
|
||||
if lang is None:
|
||||
lang = aurweb.config.get("options", "default_lang")
|
||||
translator = Translator()
|
||||
|
||||
def translate(message):
|
||||
return translator.translate(message, lang)
|
||||
|
||||
return translate
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue