How to serve multiple languages

    This guide specifically describes the steps required to enable multilingual support, in case you need to it manually.

    If you use more than one language, django CMS urls, including the admin URLS, need to be referenced via . For more information about this see the official on the subject.

    Here’s a full example of urls.py:

    Of course, if you want only monolingual URLs, without a language code, simply don’t use i18n_patterns():

    See for more information about how this works.

    The language_chooser template tag will display a language chooser for the current page. You can modify the template in or provide your own template if necessary.

    Example:

    If you are in an apphook and have a detail view of an object you can set an object to the toolbar in your view. The cms will call get_absolute_url in the corresponding language for the language chooser:

    With this you can more easily control what url will be returned on the language chooser.

    Note

    If you have a multilingual objects be sure that you return the right url if you don’t have a translation for this language in get_absolute_url

    The returns the URL of the current page in another language.

    describes the all options available for determining how django CMS serves content across multiple languages.