2010-06-26 08:54:08 +00:00
|
|
|
# -*- coding: utf-8 -*-
|
|
|
|
|
from django.conf import settings
|
|
|
|
|
from django.core.exceptions import ImproperlyConfigured
|
|
|
|
|
|
|
|
|
|
|
2013-02-06 10:52:46 +00:00
|
|
|
TRANSLATION_FILES = tuple(getattr(settings, 'MODELTRANSLATION_TRANSLATION_FILES', ()))
|
2010-06-26 08:54:08 +00:00
|
|
|
|
2014-10-24 07:24:26 +00:00
|
|
|
AVAILABLE_LANGUAGES = list(getattr(settings, 'MODELTRANSLATION_LANGUAGES',
|
|
|
|
|
(l[0] for l in settings.LANGUAGES)))
|
2010-06-26 08:54:08 +00:00
|
|
|
DEFAULT_LANGUAGE = getattr(settings, 'MODELTRANSLATION_DEFAULT_LANGUAGE', None)
|
2010-07-06 09:52:41 +00:00
|
|
|
if DEFAULT_LANGUAGE and DEFAULT_LANGUAGE not in AVAILABLE_LANGUAGES:
|
2013-02-06 10:52:46 +00:00
|
|
|
raise ImproperlyConfigured('MODELTRANSLATION_DEFAULT_LANGUAGE not in LANGUAGES setting.')
|
2010-07-06 09:52:41 +00:00
|
|
|
elif not DEFAULT_LANGUAGE:
|
|
|
|
|
DEFAULT_LANGUAGE = AVAILABLE_LANGUAGES[0]
|
2010-06-26 08:54:08 +00:00
|
|
|
|
2013-07-23 08:07:41 +00:00
|
|
|
# Fixed base language for prepopulated fields (slugs)
|
|
|
|
|
# (If not set, the current request language will be used)
|
2013-08-27 10:18:42 +00:00
|
|
|
PREPOPULATE_LANGUAGE = getattr(settings, 'MODELTRANSLATION_PREPOPULATE_LANGUAGE', None)
|
2013-07-23 08:07:41 +00:00
|
|
|
if PREPOPULATE_LANGUAGE and PREPOPULATE_LANGUAGE not in AVAILABLE_LANGUAGES:
|
2013-08-27 10:18:42 +00:00
|
|
|
raise ImproperlyConfigured('MODELTRANSLATION_PREPOPULATE_LANGUAGE not in LANGUAGES setting.')
|
2013-07-23 08:07:41 +00:00
|
|
|
|
2012-10-12 12:59:52 +00:00
|
|
|
# Load allowed CUSTOM_FIELDS from django settings
|
2012-07-04 10:09:22 +00:00
|
|
|
CUSTOM_FIELDS = getattr(settings, 'MODELTRANSLATION_CUSTOM_FIELDS', ())
|
2012-07-11 09:52:49 +00:00
|
|
|
|
|
|
|
|
# Don't change this setting unless you really know what you are doing
|
2013-02-06 10:52:46 +00:00
|
|
|
ENABLE_REGISTRATIONS = getattr(settings, 'MODELTRANSLATION_ENABLE_REGISTRATIONS', settings.USE_I18N)
|
2012-07-11 11:52:24 +00:00
|
|
|
|
|
|
|
|
# Modeltranslation specific debug setting
|
2013-03-30 21:39:43 +00:00
|
|
|
DEBUG = getattr(settings, 'MODELTRANSLATION_DEBUG', False)
|
2012-11-11 14:57:44 +00:00
|
|
|
|
2013-02-06 10:52:46 +00:00
|
|
|
AUTO_POPULATE = getattr(settings, 'MODELTRANSLATION_AUTO_POPULATE', False)
|
2012-11-13 15:28:42 +00:00
|
|
|
|
|
|
|
|
# FALLBACK_LANGUAGES should be in either format:
|
|
|
|
|
# MODELTRANSLATION_FALLBACK_LANGUAGES = ('en', 'de')
|
|
|
|
|
# MODELTRANSLATION_FALLBACK_LANGUAGES = {'default': ('en', 'de'), 'fr': ('de',)}
|
2012-11-28 10:32:43 +00:00
|
|
|
# By default we fallback to the default language
|
|
|
|
|
FALLBACK_LANGUAGES = getattr(settings, 'MODELTRANSLATION_FALLBACK_LANGUAGES', (DEFAULT_LANGUAGE,))
|
2012-11-13 15:28:42 +00:00
|
|
|
if isinstance(FALLBACK_LANGUAGES, (tuple, list)):
|
|
|
|
|
FALLBACK_LANGUAGES = {'default': FALLBACK_LANGUAGES}
|
|
|
|
|
if 'default' not in FALLBACK_LANGUAGES:
|
2013-02-06 10:52:46 +00:00
|
|
|
raise ImproperlyConfigured(
|
|
|
|
|
'MODELTRANSLATION_FALLBACK_LANGUAGES does not contain "default" key.')
|
2013-04-06 21:12:45 +00:00
|
|
|
for key, value in FALLBACK_LANGUAGES.items():
|
2012-11-13 15:28:42 +00:00
|
|
|
if key != 'default' and key not in AVAILABLE_LANGUAGES:
|
2013-02-06 10:52:46 +00:00
|
|
|
raise ImproperlyConfigured(
|
|
|
|
|
'MODELTRANSLATION_FALLBACK_LANGUAGES: "%s" not in LANGUAGES setting.' % key)
|
2012-11-13 15:28:42 +00:00
|
|
|
if not isinstance(value, (tuple, list)):
|
2013-02-06 10:52:46 +00:00
|
|
|
raise ImproperlyConfigured(
|
|
|
|
|
'MODELTRANSLATION_FALLBACK_LANGUAGES: value for key "%s" is not list nor tuple.' % key)
|
2012-11-13 15:28:42 +00:00
|
|
|
for lang in value:
|
|
|
|
|
if lang not in AVAILABLE_LANGUAGES:
|
2013-02-06 10:52:46 +00:00
|
|
|
raise ImproperlyConfigured(
|
|
|
|
|
'MODELTRANSLATION_FALLBACK_LANGUAGES: "%s" not in LANGUAGES setting.' % lang)
|
2013-01-24 17:34:09 +00:00
|
|
|
ENABLE_FALLBACKS = getattr(settings, 'MODELTRANSLATION_ENABLE_FALLBACKS', True)
|
2013-10-12 13:14:10 +00:00
|
|
|
|
|
|
|
|
LOADDATA_RETAIN_LOCALE = getattr(settings, 'MODELTRANSLATION_LOADDATA_RETAIN_LOCALE', True)
|