[Product-Developers] Announcing collective.multilingual

Andreas Jung lists at zopyx.com
Wed Oct 3 10:43:37 UTC 2012


And collective.multilingual fills exactly which gap?
It's the "LinguaPlone" on top of all dexterity related-packages providing
a similar UI functionality as LP?

Andreas

2012/10/3 Ramon Navarro Bosch <ramon.nb at gmail.com>:
> We separated on 4 different packages because :
>
> * 1 for archetypes ( you can get rid of it when archetypes does not exist )
> * 1 for dexterity (if you have a AT only site you can not install this )
> * 1 for core relation and subscribers ( no UI , just the relations, this
> enable the option to install/uniinstall multilingual without loosing any
> translation information )
> * 1 for UI (plone.app.multilingual)
>
> The idea is to have only plone.app.multilingual on quickinstaller on 1.0
> version.
>
> If you add plone.app.multilingual on buildout and install it on
> quickinstaller, it installs the other packages :)
>
> Ramon
>
> On 3 October 2012 12:17, <zopyxfilter at gmail.com> wrote:
>>
>> What is the difference to plone.app.multilingual or plone.multilingual
>> or whatever? I see a magnitude of packages dealing with multilingual
>> aspects in some way or the other but I really have no clue about what
>> to use where and when and why? Can't there be a canonical solution?
>>
>> -aj
>>
>> Ramon Navarro Bosch wrote:
>> > *Today evening we're releasing the package plone.app.multilingual 1.0
>> > beta3. This is a major update as it includes the features we've planned
>> > for a 1.0 version. Now we are going to push hard to solve bugs with the
>> > main idea to release a 1.0 just after the sprint at the Arnhem Plone
>> > Conference.
>> >
>> > You can find the code on GitHub:
>> >
>> >     https://github.com/plone/plone.app.multilingual
>> >
>> > *The actual test situation on pam is :
>> > **
>> >
>> >   * **plone.multilingual 90%**
>> >   * **plone.multilingualbehavior 92%**
>> >   * **archetypes.multilingual 97%**
>> >   * **plone.app.multilingual 70%**
>> >
>> > *
>> > Maybe you’ve noticed Malthe has committed the code of a new package to
>> > the collective: collective.multilingual. After some discussion and
>> > interchanges of points of view, he decided to abandon the line we’ve set
>> > with PAM and wanted to make his own implementation.
>> >
>> > I think it’s a great work, after all, he is one of the few guys that
>> > understands 100% z3c.form, so great work. I can't hide my sadness to see
>> > that Malthe decided that this smart code is not going to be included on
>> > DX plone.app.multilingual stuff. We will try to learn more about how
>> > schema/z3c.form works with this example.
>> >
>> > I want to explain our point of view on this matter.
>> > **About the code design *
>> >
>> > *(I'm not going to talk about AT as collective.multilingual doesn't
>> > support it):*
>> >
>> > *
>> > The core idea is the same as on plone.multilingual, instead of querying
>> > every time you need to know the languages at which is translated on the
>> > catalog on plone.multilingual we implemented a direct access on a BTree.
>> > We evaluated this option and, maybe because I come from teaching
>> > computer science at university, I thought it must be faster to access a
>> > hash instead of looking at the big catalog for the object with that
>> > translation. It's almost the same. IMHO I don’t think that including all
>> > the Plone information on the catalog is a good idea, maybe we can get
>> > rid of the content itself and just use the catalog for everything.
>> >
>> > As we are dealing with different kind of objects we created a ILanguage
>> > interface to get the language on AT and DX
>> >
>> > About the content distribution, it is the same on both, language root
>> > folders and forcing the content language on each branch.
>> >
>> > About Language Independent solution, as collective.multilingual is for
>> > DX only and someday will have an implementation, we used the
>> > IObjectModified event to copy the elements that are independent to all
>> > the translated languages. We pay a bit of time on edit but it's faster
>> > on read. We also used a martian directive, an importer for model xml and
>> > a interface that can be applied ( so whatever is your way you can set a
>> > field as independent ). Or if you are interested you can do it TTW also.
>> >
>> > About DAG, on plone.multilingual there is a star implementation because
>> > of efficiency. But it's easy to implement a DAG on a star, we just found
>> > a problem with that: if we allow to choose the original translation on
>> > edit form, from which you want to translate, the "DAG" idea is not 100%
>> > clear, maybe some day you translate a document to english from catalan,
>> > but then the spanish version is better and you want to translate from
>> > spanish… So we thought about forgetting a bit about that by now.
>> >
>> > About neutral content, we implemented a neutral shared folder on top
>> > where content language is always independent and you can browse the
>> > folder without any problem. I can't see any solutions to this problem on
>> > collective.multilingual.
>> >
>> > About the UI
>> >
>> > The menus are the same, the same ideas (we also allow to edit directly
>> > the already created language). We also added the “universal link”
>> > concept (a link to the content for press publication -> it redirects
>> > to the browser language content if exists or to a choose which language
>> > you prefer on your browser).
>> >
>> > The viewlets are a great idea, we were thinking about where to add the
>> > parent not translated and supported languages. We are gonna integrate
>> > them from collective.multilingual :)
>> >
>> > We added a lot of UI cool features that are our main goal for user
>> > experience, with some images:
>> >
>> > * A control panel with the option to see on a graph the translations for
>> > each language, which translations are missing and enable to create them
>> >
>> > * A integration with neutral content folder, you can have a neutral
>> > image/file/page and point it from tinyMCE or just create a first level
>> > folder on all the languages at the same time.
>> >
>> > * Migration procedures from LinguaPlone.
>> >
>> > * Different options for setting up the site.
>> >
>> > * Policies about language selector viewlet (closest translation or
>> > not_translated view).
>> >
>> > * Change/set the language of a content or tree option with copy/paste
>> > support (to a different language root tree) too.
>> >
>> > * Google Translation Service to aid on text field translations
>> >
>> > We tried to maintain as much as possible the UX from LinguaPlone, the
>> > users are important and our experience is that changing the UI to much
>> > is bad :) However, we benefits from the experience of lots of
>> > non-technical users using LinguaPlone on more than 500 sites deployed to
>> > the date. We tried to put that knowledge into account when thought about
>> > PAM UI and UX. We know we have a lot of work on UI yet, however we think
>> > we are in the right path.
>> >
>> > Missing features on 1.0, but on roadmap:
>> >
>> > * XLIFF export/import: we are gonna push the draft we have to a branch,
>> > needs some work to make it work perfect on AT/DX. ( as an external
>> > module )
>> >
>> > * Iterate: we know there are some needs about iterate integration, I
>> > hope that we can work on that at ploneconf!
>> >
>> > * LinguaPlus/linguatools viewlets - tools, some useful tools like
>> > changing the workflow on all translations ( as an external module )
>> >
>> > * Outdated translations alerts
>> >
>> > Finally say that I'm really happy about PAM development, it has involved
>> > a lot of people, awello, sneridagh, ereal, mauritsvanrees,
>> > tmassman, do3cc**and mizio and is the result of a team of people with
>> > different skills!! *
>> >
>> > *
>> > *
>> >
>> > On 3 October 2012 11:43, Malthe Borch <mborch at gmail.com
>> > <mailto:mborch at gmail.com>> wrote:
>> >
>> >     I have uploaded the source code for a new Plone add-on that provides
>> >     support for content in multiple languages:
>> >
>> >        https://github.com/collective/collective.multilingual
>> >
>> >     It's an alternative to plone.multilingual and its related packages
>> > and
>> >     basically provides the same functionality.
>> >
>> >     The main motivation was to have a simple architecture that benefits
>> >     from Plone's new content type framework. It's a maintainable,
>> > tested,
>> >     easy to understand codebase.
>> >
>> >     For instance, we use Dexterity's built-in add- and edit forms,
>> > without
>> >     any customization. This is possible because of the pluggable
>> >     architecture of the underlying forms library, z3c.form. It made it
>> >     trivial to implement a feature such as language-independent values.
>> >
>> >     Note that we don't – and can't – provide support for Archetypes.
>> >
>> >     Finally, the add-on does not currently provide any translation aids
>> >     such as integration with Google translate or the like. I'd like to
>> > see
>> >     such features added, but it's also important that there's a
>> > reasonable
>> >     control on what the add-on should provide out of the box.
>> >
>> >     Thanks,
>> >
>> >     \malthe
>> >
>> >
>> >
>> >
>> > --
>> > Ramon a.k.a bloodbare
>> >
>> > _______________________________________________
>> > Product-Developers mailing list
>> > Product-Developers at lists.plone.org
>> > https://lists.plone.org/mailman/listinfo/plone-product-developers
>>
>
>
>
> --
> Ramon a.k.a bloodbare


More information about the Product-Developers mailing list