aurweb/aurweb/l10n.py
Frédéric Mangano-Tarumi 806f06c864 aurweb.l10n: Translate without side effects
The install method in Python’s gettext API aliases the translator’s
gettext method to an application-global _(). We don’t use that anywhere,
and it’s clear from aurweb’s Translator interface that we want to
translate a piece of text without affecting any global namespace.

Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
2020-06-09 22:58:49 -04:00

18 lines
566 B
Python

import gettext
import aurweb.config
class Translator:
def __init__(self):
self._localedir = aurweb.config.get('options', 'localedir')
self._translator = {}
def translate(self, s, lang):
if lang == 'en':
return s
if lang not in self._translator:
self._translator[lang] = gettext.translation("aurweb",
self._localedir,
languages=[lang])
return self._translator[lang].gettext(s)