forked from CGM_Public/pretix_original
Fixed #83 -- Added an informal German translation
This commit is contained in:
@@ -36,8 +36,14 @@ class LazyI18nString:
|
||||
return ""
|
||||
if isinstance(self.data, dict):
|
||||
lng = translation.get_language()
|
||||
firstpart = lng.split('-')[0]
|
||||
similar = [l for l in self.data.keys() if l.startswith(firstpart + "-")]
|
||||
if lng in self.data and self.data[lng]:
|
||||
return self.data[lng]
|
||||
elif firstpart in self.data:
|
||||
return self.data[firstpart]
|
||||
elif similar:
|
||||
return self.data[similar[0]]
|
||||
elif settings.LANGUAGE_CODE in self.data and self.data[settings.LANGUAGE_CODE]:
|
||||
return self.data[settings.LANGUAGE_CODE]
|
||||
elif len(self.data):
|
||||
|
||||
@@ -26,7 +26,15 @@ class LocaleMiddleware(BaseLocaleMiddleware):
|
||||
language = get_language_from_request(request)
|
||||
if hasattr(request, 'event') and not request.path.startswith(get_script_prefix() + 'control'):
|
||||
if language not in request.event.settings.locales:
|
||||
language = request.event.settings.locale
|
||||
firstpart = language.split('-')[0]
|
||||
if firstpart in request.event.settings.locales:
|
||||
language = firstpart
|
||||
else:
|
||||
language = request.event.settings.locale
|
||||
for lang in request.event.settings.locales:
|
||||
if lang == firstpart or lang.startswith(firstpart + '-'):
|
||||
language = lang
|
||||
break
|
||||
translation.activate(language)
|
||||
request.LANGUAGE_CODE = translation.get_language()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user