Commit a7865ef5 authored by Lukas Fleischer's avatar Lukas Fleischer
Browse files

Make the locale directory configurable



Add a new configuration option to specify the locale directory to use.
This allows the Python scripts to find the translations, even when not
being run from the source code checkout. At the same time, multiple
parallel aurweb setups can still use different sets of translations.

Fixes FS#59278.
Signed-off-by: Lukas Fleischer's avatarLukas Fleischer <lfleischer@archlinux.org>
parent c8d99bac
import gettext
import aurweb.config
class Translator:
def __init__(self):
self._localedir = aurweb.config.get('options', 'localedir')
self._translator = {}
def translate(self, s, lang):
......@@ -10,7 +13,7 @@ class Translator:
return s
if lang not in self._translator:
self._translator[lang] = gettext.translation("aurweb",
"../../web/locale",
self._localedir,
languages=[lang])
self._translator[lang].install()
return _(s)
......@@ -35,6 +35,7 @@ snapshot_uri = /cgit/aur.git/snapshot/%s.tar.gz
enable-maintenance = 1
maintenance-exceptions = 127.0.0.1
render-comment-cmd = /usr/local/bin/aurweb-rendercomment
localedir = /srv/http/aurweb/aur.git/web/locale/
# memcache or apc
cache = none
memcache_servers = 127.0.0.1:11211
......
......@@ -130,7 +130,8 @@ function set_lang() {
setcookie("AURLANG", $LANG, $cookie_time, "/");
}
$streamer = new FileReader('../locale/' . $LANG .
$localedir = config_get('options', 'localedir');
$streamer = new FileReader($localedir . '/' . $LANG .
'/LC_MESSAGES/aurweb.mo');
$l10n = new gettext_reader($streamer, true);
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment