LinguaPlone sprint notes
by
Alexander Limi
—
last modified
Sep 19, 2009 12:44 AM
Raw notes from the LinguaPlone sprint in Girona provided by Jonathan Lewis.
- Ramon: questions of implementing LP in Z3
- make a new egg seems to be the agreed solution
- big architectural problems
- how to connect PTS with content translation
- language fallback:
- if have translated folder needs to show lang. neutral contents in the canonical (WIchert)
- hard to solve -- need to fix the catalogue Elvix
- ramon: URL approach is used by many professional solutions
- translating paths already OK
- if not consistent with which lang. is canonical for each translation
- need a special schema
- Elvix: start by having one group doing core architecture
- can't do subclassing any more
- needs to be working before we can start creating policies
- this is the hard stuff
- Martijn, Wiggy
- Hanno: want to look at PTS negotiation
- Another interesting use-case
- a whole tree of content
- want to translate an item 5 folders deep but have to recreate all the tree
- Elvix: you can just move it five folders up, although it is manual
- another groups working on scenarios support
- LP's default policies are unusable right now
- Can also use LP for creating content for different publics, e.g. kids (Joel B. does this)
- Hanno: have some new language code (e.g. kids)
- do a presentation this evening on different policies
- Elvix, Limi, Victor, a, b
- use policies
- if not doing it in code
- much can be done with sensible defaults
- make them add up and be better than they are now
- not so much needs to be exposed in the UI
- need to have something in the control panel
- describe the scenarios we want to support
- want kind of multilingual sites do people want
- SCENARIO ONE: completely translated ones where two or more languages are mirrors of each other
- subset scenario: small site when content is created in two languages by a few people who
- Elvix:
- always wants a split-screen when different versions are available (a UI preference)
- Elvix:
- subset scenario: small site when content is created in two languages by a few people who
- SCENARIO TWO: main site(s) plus partial translations
- sites where some content is only occasionally translated
- this covers many cases
- in some settings you want people to be able to create content only for Polish and not for translating
- e.g. news for Poland that would not be translated
- eg. one site entirely in Catalan and some other content, only big news gets translated
- subset: different country branches
- market-specific stuff; occasionally this should be translated
- 12 different sites with different structures; occasionally stuff should be translated
- SCENARIO THREE
- press releases in many languages, but not a site in many languages
- treat LinguaPlone as a relation mechanism
- no negotiation or filtering
- not a translated site
- could use it doing just translation
- grayed-out flags to go
- Limi:
- ship with a workflow that tells people when versions change
- need canonicals to do that
- BASIC BEHAVIOR REQUIREMENTS
- what happens when you create content
- LP has degraded, UI lagging behind architecture
- EX: four customers in a row needed LP, and on Plone Solutions site, found lots of usability problems. Have to teach people to handle content in a different way from basic Plone behaviour.
- Default pages translation
- for folders. CLick translate for the default page: nobody understands what happens who doesn't know the underlying architecture.
- We should just translate the folder too.
- Limi: e.g. translating help centre
- Form Generator is horrible to manage with LP : has things that are content but not content
NEUTRALFolders/content- A folder of images that you want to reuse. But it disappears if it's in a language-specific folder. Only shows up in search, or if it's in root.
- if the canonical folder contains langneutral content it should appear within the translated folders too. Need special indexes in the catalog. The Norwegian experience showed us a way how to do it. Wichert working on it, hopefully easy. 2 Norw. langs with diff. codes but people can read both: Martyn
- Mandated that 25% of content needs to be in the other language
- Russ Ferriday in Wales has a spider that goes around analysing Welsh language content in govt. websites; he writes them letters offering to build their website.
- It will be complicated, extended extended
- Keeping UI and content languages in synch
- nobody cared about this except LP users but Hanno and others should fix it
- Translation Unavailable problem
- Elvix: made a new policy which is the best way I think:
- if you click your flag and there's no translation, the policy will go up the tree to find a folder in the desired language, and so on up to the top page.
- Permissions of translations must not affect canonical/other translations
- workflow problem fixed last week: permission problems can cause canonical version to become unavailable. Must make sure this bug doesn't creep back in
- if remove ability for anonymous to see draft content, they can't see the canonical any more -- a ridiculous bug
- Canonical policy
- Default policy for 1 canonical version to many i.e. no chain; under this policy, can only translate the canonical version.
- Under this policy you could also be able to say that the canonical is always in one language.
- no-default policy is the chain (which is possible now). Now, you can have a translation of a translation of a canonical version; if you change the canonical these relations become messed up; is it OK to say that everything is a translation of one canonical version? Could have a long chain of translators who don't know the original version.
- Default policy for 1 canonical version to many i.e. no chain; under this policy, can only translate the canonical version.
- Reassign canonical
- Hooking up content created independently
- Language neutrality by content type or folder?
- Elvix: could possibly use content rules
- a use case: could have a folder where everything is language neutral for a meeting where participants understand both
- Display of non-existent translations
- two or three settings for flags
- locking the UI language: people are confused when they want to paste into Chinese and the whole UI changes. (Typical American use case).
- if you set it per logged-in user, in personal prefs.
- proxy objects: if have partially translated site. new assignment published in English, don't want to publish it all into French; make a stub object, but if it has no body then the original is English : "THis document has not been translated but this is the original". Non-computer science-ish, stupid workaround. So instead of create translation, you can create a proxy. manual language fallback rather than site-wide, automatic. We can assume that Norwegians can read English but not Chinese -- hence not make it a site policy. Elvix: really painful, conflicts with everything. A nice-to-have thing.
- related to press releases case:
- now you select which langs. are allowed in site, but you should be able to translate or select any language if sb. wants to translate a page into Swahili
- a portlet showing unfinished translation
- now LP assumes that there's a workflow that understands how LP
- we want to have two parallel workflows?
- because we don't want to replace the existing workflows.
- have a parallel translation wf with 2 or 3 states: fully translated, needs updates. When canonical changes the state of other objects changes
- could have similar scenario in non-multilingual site: a content editor who doesn't want to control content too tightly. The owner of the document can edit the page after publishing. So content is no longer what was published, but instead of retract and re-submitting we have a new states "updated" -- still published, but the editor can check it when she has time.
- parallel workflows have always been possible (DCWorkflows) but no UI because its incredibly complicated.
- no multilingual management: LP doesn't send you a notification message
- versioning: some docs linger and you get several diffs: need to know which version of the original this translation is a translation of
- save revision number of translation
- when you translate content and tree is incomplete, content can appear in some strange place. Content gets translated where you are at. Nobody who doesn't understand LP will every find it. So need to recreate the hierarchy. Or ghost objects to allow fake breadcrumbs (horrible). Or move the document to the lowest translated folder in the tree
- IF you have a fully translated site policy it will warn you to translate the containing folders
- in a press release translations would stay in the same folder as the canonical version
- copying translations: what happens now?
- right now it becomes the canonical version in the language of the translation
- Documentation during development: write how you think it should work
- need a manual on multilingual content management
- for users
- for developers: making content types translatable
- SETTINGS:
- UI (Limi)
- translation menu is not useful; would be simpler if it only shows up on canonical versions
- Elvix: just have a translation tab -- maybe translation should be an action not a view
- do you want diffs
- do you want portlet that shows untranslated stuff
- UI (Limi)
- set language neutrality by content type (Jonathan)
- (Limi appears)
- case with a small English site and a bigger vernacular site
- so a case
- or a press release to be put into
- afternoon:
- developers (Wicky/Martyn,Ramon)
- ditch canonical; translation group concept instead
- no need to store relationship between individual objects
- usage group against this: canonical idea is very important
- e.g. chain behavior
- Alex outlines our 3 scenarios
- full, partial, "press release"
- canonical: "the source document from which the translations have been generated"
- TMX support: not for now. But look at XLIFF marshaller -- might be useful.
- where do things get broken down into units?
- what extra information is retained in Plone?
- URL
- input en-us/about
- resolves to /about
- x-fallback took a long time to implement
- developers (Wicky/Martyn,Ramon)
- tasks
- portal_url / absolute_url
- create iTranslationGroup adapter
- code
- Martyn
- Wiggy
- documentation
- different policy choices that are available and how they affect stuff
- what happens to content where you create it?
- primitives / markers for ploneContentRules
- control panel, policy plugin)
- What happens when you
- display site language selector
- ship a translator role
- smart folder: what happens
- secret agenda: change the configurable types in Smart Folder