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

View File

@@ -170,8 +170,23 @@ LOCALE_PATHS = (
LANGUAGES = (
('en', _('English')),
('de', _('German')),
('de-informal', _('German (informal)')),
)
EXTRA_LANG_INFO = {
'de-informal': {
'bidi': False,
'code': 'de-informal',
'name': 'German (informal)',
'name_local': 'Deutsch (Du)'
},
}
# Add custom languages not provided by Django
import django.conf.locale
django.conf.locale.LANG_INFO.update(EXTRA_LANG_INFO)
AUTH_USER_MODEL = 'pretixbase.User'
LOGIN_URL = '/login' # global login does not yet exist
LOGIN_URL_CONTROL = 'control:auth.login'