Welcome, guest | Sign In | My Account | Store | Cart

Notice! PyPM is being replaced with the ActiveState Platform, which enhances PyPM’s build and deploy capabilities. Create your free Platform account to download ActivePython or customize Python with the packages you require and get automatic updates.

pypm install kotti-multilingual

How to install kotti_multilingual

  1. Download and install ActivePython
  2. Open Command Prompt
  3. Type pypm install kotti-multilingual
 Python 2.7Python 3.2Python 3.3
Windows (32-bit)
Windows (64-bit)
Mac OS X (10.5+)
Linux (32-bit)
Linux (64-bit)
0.1a3 Available View build log
Lastest release
version 0.1a3 on May 23rd, 2013

Multilingual Sites with Kotti.

Kotti's data model includes a language attribute on the Content class, from which all content types inherit. However, this attribute is neither exposed by Kotti's UI, nor used in any other way. kotti_multilingual provides a generic approach to build multilingual sites.

Work in Progress

kotti_multilingual is still in an early stage of development. It is neither feature complete nor can be considered API stable. Things will change!


The package contains a single content type LanguageRoot which is supposed to be the container of all content in a specific language. All content that is created in (or moved into) such a subtree will be automatically tagged with the language of the root. This is done by subscribing to Kotti's ObjectInsert and ObjectUpdate events.

You can place LanguageRoot instances wherever you want in your content tree, but it is considered best practice to have a tree structure like this:

- /            Document        language neutral
   - /en       LanguageRoot    English
   - /de       LanguageRoot    German
   - /nl       LanguageRoot    Dutch
   - /images   Document        language neutral


To activate the kotti_multilingual add-on in your Kotti site, you need to add an entry to the kotti.configurators setting in your Paste Deploy config. If you don't have a kotti.configurators option, add one. The added entry should look like this:

kotti.configurators = kotti_multilingual.kotti_configure


0.1a3 - 2013-05-08
  • Rename LanguageSection to LanguageRoot to better fit Kotti's INavigationRoot. This implies a change in the DB schema for which no automatic schema migration is available; you'll have to rename the table language_sections to language_roots yourself.
  • Add some tests.
0.1a2 - 2013-05-07
  • Removed a lot of code that's now replaced by Kotti's INavigationRoot / TemplateAPI.navigation_root. This greatly simplifies the setup of kotti_multilingua.
  • Depend on Kotti>=0.9a3dev (needed for the above).
0.1a1 - 2013-05-06
  • Initial release.

Subscribe to package updates

Last updated May 23rd, 2013

What does the lock icon mean?

Builds marked with a lock icon are only available via PyPM to users with a current ActivePython Business Edition subscription.

Need custom builds or support?

ActivePython Enterprise Edition guarantees priority access to technical support, indemnification, expert consulting and quality-assured language builds.

Plan on re-distributing ActivePython?

Get re-distribution rights and eliminate legal risks with ActivePython OEM Edition.