Fixed #83 -- Added an informal German translation

This commit is contained in:
Raphael Michel
2015-08-13 10:09:58 +02:00
parent 617de765e0
commit 22b4d514d6
8 changed files with 3435 additions and 48 deletions

View File

@@ -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):

View File

@@ -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()