Ticket #13091 (confirmed PLIP)
|Reported by:||ramon||Owned by:|
Description (last modified by davisagli) (diff)
Proposer: Ramon Navarro Bosch
Talking about multi-language support in Plone is talk about Products.LinguaPlone. It's been the de facto standard for managing translations of Archetypes-based content in Plone through the years. Somehow its functionality never made its way into the Plone core. Nowadays, Plone faces the rise of Dexterity content types and its incoming adoption into the Plone core (4.3) and completing the transition to Plone default content types in Plone 5.
We think that Plone core needs to provide unified multilingual support out of the box.
plone.app.multilingual was designed originally to provide Plone with a whole multilingual story. Using ZCA technologies, it enables translations to Dexterity and Archetypes content types as well. Lately, the community is giving to PAM the love it deserves and it is getting mature enough for a 1.0 release.
LP also relied on monkey patching the catalog to enable multilanguage navigation, overriding the default language viewlet located in plone.app.layout and the portal_languages and its counterpart control panel view. We want to avoid all this as much as possible, providing more cohesion and coherency to multilingual components in Plone.
After some months of talks the main goal of this PLIP is to create an optional package that enables multilingual support OOTB but not installed by default. It's oriented to organize the actual mess of packages that are involved on multilingual. By default Plone should be with one language OOTB with support for multiple languages on content by activating plone.app.multilingual.
Proposal & Implementation
- Replace PloneLanguageTool with a utility in plone.app.i18n that stores the same settings in portal_registry
- Move the definition of the ILanguage interface from plone.app.multilingual to plone.app.i18n. This provides a standard way to get/set the language of a content item.
- Move the language selector viewlet to plone.app.i18n, with an option to override it like now.
- Mix plone.multilingual + plone.multilingualbehavior + plone.app.multilingual in a single package for plone5 support and maintain archetypes.multilingual as an optional package for archetypes support.
- Add plone.app.multilingual as a dependency of Plone that is not activated by default
- Add the option on a Plone Out of the Box to select more than one language so people doen't need to go to ZMI.
- When p.a.m. is activated, enable the behavior for the types in plone.app.contenttypes
- plone.app.multilingual 2.0
- archetypes.multilingual 2.0
- changes to plone.app.i18n
We have to plan carefully the migration process of the actual deployments using LP to PAM, and contemplate the scenario for those who still wants to use LinguaPlone along with PAM.
LP will need a refactor for adapt it to make it play nice with PAM. Otherwise, the changes to the core will collide with the LP monkey patches.
Ramon Navarro [bloodbare]
Víctor Fernández de Alba [sneridagh]
Work is taking place.
- Component changed from Unknown to General
- Milestone changed from 4.x to 4.3
- Status changed from new to confirmed
- Component changed from General to Internationalization
comment:13 Changed 15 months ago by kleist
- Description modified (diff)