@@ -1,8 +1,11 @@
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);
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 <lfleischer@archlinux.org> --- aurweb/l10n.py | 5 ++++- conf/config.defaults | 1 + web/lib/translator.inc.php | 3 ++- 3 files changed, 7 insertions(+), 2 deletions(-)