parler.utils.conf module¶
The configuration wrappers that are used for PARLER_LANGUAGES.
-
class
parler.utils.conf.LanguagesSetting¶ Bases:
dictThis is the actual object type of the PARLER_LANGUAGES setting. Besides the regular
dictbehavior, it also adds some additional methods.-
get_active_choices(language_code=None, site_id=None)¶ Find out which translations should be visible in the site. It returns a list with either a single choice (the current language), or a list with the current language + fallback language.
-
get_default_language()¶ Return the default language.
-
get_fallback_language(language_code=None, site_id=None)¶ Find out what the fallback language is for a given language choice.
Deprecated since version 1.5: Use
get_fallback_languages()instead.
-
get_fallback_languages(language_code=None, site_id=None)¶ Find out what the fallback language is for a given language choice.
-
get_first_language(site_id=None)¶ Return the first language for the current site. This can be used for user interfaces, where the languages are displayed in tabs.
-
get_language(language_code, site_id=None)¶ Return the language settings for the current site
This function can be used with other settings variables to support modules which create their own variation of the
PARLER_LANGUAGESsetting. For an example, seeadd_default_language_settings().
-
-
parler.utils.conf.add_default_language_settings(languages_list, var_name='PARLER_LANGUAGES', **extra_defaults)¶ Apply extra defaults to the language settings. This function can also be used by other packages to create their own variation of
PARLER_LANGUAGESwith extra fields. For example:from django.conf import settings from parler import appsettings as parler_appsettings # Create local names, which are based on the global parler settings MYAPP_DEFAULT_LANGUAGE_CODE = getattr(settings, 'MYAPP_DEFAULT_LANGUAGE_CODE', parler_appsettings.PARLER_DEFAULT_LANGUAGE_CODE) MYAPP_LANGUAGES = getattr(settings, 'MYAPP_LANGUAGES', parler_appsettings.PARLER_LANGUAGES) # Apply the defaults to the languages MYAPP_LANGUAGES = parler_appsettings.add_default_language_settings(MYAPP_LANGUAGES, 'MYAPP_LANGUAGES', code=MYAPP_DEFAULT_LANGUAGE_CODE, fallback=MYAPP_DEFAULT_LANGUAGE_CODE, hide_untranslated=False )
The returned object will be an
LanguagesSettingobject, which adds additional methods to thedictobject.Parameters: - languages_list – The settings, in PARLER_LANGUAGES format.
- var_name – The name of your variable, for debugging output.
- extra_defaults – Any defaults to override in the
languages_list['default']section, e.g.code,fallback,hide_untranslated.
Returns: The updated
languages_listwith all defaults applied to all sections.Return type:
-
parler.utils.conf.get_parler_languages_from_django_cms(cms_languages=None)¶ Converts django CMS’ setting CMS_LANGUAGES into PARLER_LANGUAGES. Since CMS_LANGUAGES is a strict superset of PARLER_LANGUAGES, we do a bit of cleansing to remove irrelevant items.