Next generation multilingual support

87 messages Options
Embed this post
Permalink
1 2 3 4 5
Wichert Akkerman

Re: Next generation multilingual support

Reply Threaded More More options
Print post
Permalink
In reply to this post by Geir Bækholt-2
On 6/27/09 10:29 PM, Geir Bækholt wrote:
> robert rottermann wrote:
>> in my experience *very* little of the content of a multilingual site
>> exists in all supported languages, normally not more than some percent.
>> so the most important part of a multilingual solution is to provide an
>> *elegant and easy to use fall-back-language support*.
>
> Language fallback has severe usability effects, and should IMO not be
> recommended in real-life use even if it might look good on paper.

I'ld say it depends on the content type. For images and downloads this
may often not be a problem. For pages I agree it fallback can be
problematic.

Wichert.


--
Wichert Akkerman <[hidden email]>   It is simple to make things.
http://www.wiggy.net/                  It is hard to make things simple.


------------------------------------------------------------------------------
_______________________________________________
Plone-developers mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/plone-developers
Carsten Senger-3

Re: Next generation multilingual support

Reply Threaded More More options
Print post
Permalink
In reply to this post by robert rottermann
--On Sonntag, Juni 28, 2009 11:02:46 +0200 robert rottermann
<[hidden email]> wrote:

> Geir Bækholt schrieb:
>> robert rottermann wrote:
>>> in my experience *very* little of the content of a multilingual site
>>> exists in all supported languages, normally not more than some percent.
>>> so the most important part of a multilingual solution is to provide an
>>> *elegant and easy to use fall-back-language support*.
>>
>> Language fallback has severe usability effects, and should IMO not be
>> recommended in real-life use even if it might look good on paper.
>>
>> Most people that come up with solutions like this are bilingual
>> (software developers) already, amd don't see the problem. When you
>> expose normal people to websites with mixed language content,
>
> this is against my experience. in any corporal intranet that spans more
> than one language such dealing with more than one language is daily
> practice and a basic scill to use the intranet

It depends on the use case, and a corporate intranet is not the
dominating use case afaics. It might be more important for you or,
generally speaking, in some mixed language environments, e.g.Switzerland,
Canada, some intranets, software developers.

But it's no either/or discussion ;).

> their
>> ability to understand, browse, scan and navigate drops dramatically.
>
> I agree that the current way LinguaPlone is handling UI when switching to
> a translated document can be very confusing.
> but this does not speak against a language fallback language but agains
> teh use of the way LinguaPlone tackles the problem.

This is a generaly problem that is not limited to LinguaPlone. The ability
of people to navigate and don't loose track is limited. I regulary browse
Italian sites (I don't speak Italian) and it is often disappointing for me
causethey often frequently offer german or at least English, but drop to
italian often. For me it's disappointing, but I can manage that. My mother
wouldn't even be able to manage a fallback to english. My sister could, but
the chances she accept that as a user are low.

Mixing foreign languages into the navigation worsens.

IMHO a fallback to the canonical version has to many usability
problems to make it the default, even though I need it currently too.
I would like to see an <quote>*elegant and easy to use fall-back-language
support*</quote> and it think it's important, but I disagree that it's
<quote>the most important part of a multilingual solution</quote>.
The discussion got a bit unbalanced.

..Carsten

------------------------------------------------------------------------------
_______________________________________________
Plone-developers mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/plone-developers
robert rottermann

Re: Next generation multilingual support

Reply Threaded More More options
Print post
Permalink
Carsten Senger schrieb:
> --On Sonntag, Juni 28, 2009 11:02:46 +0200 robert rottermann
> <[hidden email]> wrote:

>> this is against my experience. in any corporal intranet that spans more
>> than one language such dealing with more than one language is daily
>> practice and a basic skill to use the intranet
>
> It depends on the use case, and a corporate intranet is not the
> dominating use case afaics. It might be more important for you or,
> generally speaking, in some mixed language environments, e.g.Switzerland,
> Canada, some intranets, software developers.

I do not believe this is restricted to multilingual countries.
a german comany with subsidiaries in france faces the same problem.

>
> IMHO a fallback to the canonical version has to many usability
> problems to make it the default,

not the default. I just want the possibility.

even though I need it currently too.
> I would like to see an <quote>*elegant and easy to use fall-back-language
> support*</quote> and it think it's important, but I disagree that it's
> <quote>the most important part of a multilingual solution</quote>.
> The discussion got a bit unbalanced.

i agree with that last statement.
one lives and learns

robert

------------------------------------------------------------------------------
_______________________________________________
Plone-developers mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/plone-developers
Geir Bækholt-2

Re: Next generation multilingual support

Reply Threaded More More options
Print post
Permalink
In reply to this post by robert rottermann
robert rottermann wrote:

> Geir Bækholt schrieb:
>> robert rottermann wrote:
>>> in my experience *very* little of the content of a multilingual site
>>> exists in all supported languages, normally not more than some percent.
>>> so the most important part of a multilingual solution is to provide an
>>> *elegant and easy to use fall-back-language support*.
>> Language fallback has severe usability effects, and should IMO not be
>> recommended in real-life use even if it might look good on paper.
>>
>> Most people that come up with solutions like this are bilingual
>> (software developers) already, amd don't see the problem. When you
>> expose normal people to websites with mixed language content,
>
> this is against my experience. in any corporal intranet that spans more than one
> language such dealing with more than one language is daily practice and a basic
> scill to use the intranet


Multilingual (and multi-country) corporate intranets, have different
behaviours around management of translations. In our enterprise level
intranet deployments, we handle several languages in many countries at
once, but we don't use LinguaPlone at all.

Robert — chances are your scenario is very different from than what most
people need for Plone. I don't think there is any good reason to invest
90% of the effort for multilingual work (already severely
undermaintained) to go into a fringe scenario that might be wonderfully
solved by simply not installing LP or plone.app.multilingual at all.

:)



--
Geir Bækholt
http://www.jarn.com


------------------------------------------------------------------------------
_______________________________________________
Plone-developers mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/plone-developers
Geir Bækholt-2

Re: Next generation multilingual support

Reply Threaded More More options
Print post
Permalink
In reply to this post by Wichert Akkerman
> On 6/27/09 10:29 PM, Geir Bækholt wrote:
>> Language fallback has severe usability effects, and should IMO not be
>> recommended in real-life use even if it might look good on paper.

Wichert Akkerman wrote:
> I'ld say it depends on the content type. For images and downloads this
> may often not be a problem. For pages I agree it fallback can be
> problematic.


IMO this is just a symptom of the inherited (from early CMF) wrong
decision to make files and epecially images content objects.
 From user perspectives, an image is just a part of a page. The
separation is a technical implementation detail of HTML. (yes. albums
are an exception that deserves special treatment).
Hopefully we can solve this easily by embedding them in tiles (yes.
optionally of course) in Plone 5.

--
Geir Bækholt
http://www.jarn.com


------------------------------------------------------------------------------
_______________________________________________
Plone-developers mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/plone-developers
Ramon Navarro Bosch

Re: Next generation multilingual support

Reply Threaded More More options
Print post
Permalink
In reply to this post by Ricardo Alves-2
Hi every body ! 

It's a really long thread to read, I'll explain my ideas that we used on plone.app.multilingual on the design :

Canonical
--------------

We decided that is not a good idea to have a cannonical object on content space. The canonical is an abstract object that in the actual implementation is a persistent object stored on btree local utility. Why ? Trying to keep it simple the main idea is to no have non-deletable/much important content on the content space. Each content is a valid resource on the semantic space so it's possible to point it on the inet and no other content is "depending" on it. We store the origin of the translation on the relation object ( you can translate from catalan to spanish and from spanish to english ... )

Url
---

The url space has no good solucion from my point of view. Using the same top level for all the translations has problems on languages like spanish and catalan that some words are identical so we finally have : /casa/ and /casa-1/ ...

Maybe a simple way is :

* Having virtual URL for press release ( a url that use browser language selector for deciding the content to show, we can define this url on the translation group object ( the virtual canonical )) ( martijn work on p.a.m :P )

* Each translated object has his url

* The neutral language is a language more ('') so defining neutral content can be all the content outside the language "folders"

I try to finish reading all the mails ( soo late in spain right now ) and write more comments

R

That's one of the implementations Martijn began, 

2009/6/25 Ricardo Alves <[hidden email]>
Martin Aspeli wrote:
>
> Language fallback
> -----------------
>
> This all has a pretty direct impact on language fallback, if we
> implement this.
>
> With option (b) - top level language folders - language fallback gets
> pretty difficult. The only way to do it that I can see would be to
> create translation for every (published?) item, all the time. This is
> not really "fallback", but it means that you'll get a "translation" that
> just happens to be written in the canonical language.

This stub solution would bring the usability problem of content (the
whole content area) being shown to the user in a different language than
the selected one.

Well, maybe we should define what does it mean to support fallback. In
general I think the main goal is to make all content available to users
who surf the website in different languages, even if content is not
available in the desired language (in this case, the canonical or the
default language must be shown).

So it means that all listings (be it search results, folder listing,
catalog based navigation/sitemap, etc) should include:

1) Content matching the search parameters that's in the "selected language";

2) Content matching the search parameters that don't have an available
version/translation in the "selected language", and so the canonical
version should be shown (or maybe the default site language if
available). Of course, listings in this case should make it clear that
the content is not available in the desired language (e.g. a flag next
to the link).

Then, if the user clicks the link for content in other language, it may:

1) Show content without changing the "selected language", which I
believe would bring even more confusion.

2) Automatically change the selected language, so all UI messages will
be in the same language as the main content. Then, ideally, if the user
navigates away from the page, the previously selected language should be
re-selected. Not sure if this can be done using the current negotiation
scheme.


Any of this would probably be acceptable in the context of language
fallback, which will always be a little messy, and so in the event of
providing fallback out-of-the-box, it should be configurable which
behavior to have.



Ricardo

--
Ricardo Alves <[hidden email]>
Eurotux <http://www.eurotux.com>


------------------------------------------------------------------------------
_______________________________________________



--
Ramon a.k.a bloodbare

------------------------------------------------------------------------------

_______________________________________________
Plone-developers mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/plone-developers
Jean Jordaan

Re: Next generation multilingual support

Reply Threaded More More options
Print post
Permalink
In reply to this post by Martin Aspeli
Hi all

>> What I18NLayer did was (much shortened):
>>
>>     def getObject(self):
>
> When is this called?

When any normal Plone machinery calls getObject. contentValues and
listFolderContents are similarly overridden.

See https://svn.plone.org/svn/collective/I18NLayer/ , I'm pretty sure
that's more succint than I'll manage .. I18NContent.py and
I18NLayer.py are less than 30K in total.

> Yes, but we already have a way to URL normalise.

I'm not sure I follow .. I'm talking about the issue that a URL in Plone
is normally also the location of the object in the database, and that
therefore there's one per object, which will be in the canonical
language in this case. And that per-language URLs in the absence of
parallel content hierarchies means aliases in the SEOptimizer style. And
that I don't think this is a bad thing. It's good that 'translated/url'
and 'canonical/url' both end up at 'canonical/url'. No confusion about
whether you're looking at the same document as your
other-language-speaking colleague.

>> In the case of http://site/news/new-logo/en it just refers to a normal
>> Plone object, and there's no need for trickery.
>
> I don't know how to do this transparently and well, though.

In my experience, the I18NLayer approach that I just described is pretty
much transparent and worked well.

> I think the most likely solution if we want something like this is not
> to treat the objects as separate, but rather to have some kind of
> proxy that is applied during rendering and operates at a field level.
> But it'd be fraught with difficulties anyway, and we'd need to accept
> certain limitations.

Yes, you mention some of these below (e.g. four siblings for
everything). They don't occur with I18NLayer though.

>> Yes, when I'm talking about I18NLayer, some kind of translation proxy
>> is exactly what I'm talking about.
>
> Except I think we need something that's transparent.

It's transparent to anonymous viewers. It's apparent to editors, but
only such a way that it makes translation comfortable.

> This would mean that we only support translation for values stored in
> attributes on the object. I think that may be a safeish assumption,
> though if we are to support Archetypes we probably want something that
> has awareness of its storage model.

Again, a nice thing about I18NLayer is that it just thinks about 'en' as
the thing which is returned for English, and 'de' for German. Whether
'en' and 'de' are Page, Image, Event or whatever objects doesn't matter,
and they don't have to do anything special. Nothing else in Plone needs
to worry about this either. Any code which expects to render the
'school123/badge.jpg' image will continue to work as normal, though
accessing 'badge.jpg' will really be returning the object identified by
'school123['badge.jpg'].en'.

> Right. And I worry that if we store everything as siblings, we'll have
> a hard to managing the content (there's "four of everything" when you
> view the ZMI, for example); conversely, if we store values in a dict,
> then that's not very transparent.

No, there's only e.g. 'sports' (the translation container). Inside
'sports' there's 'en' and 'de' (the Page or Image or whatever objects),
which you don't cut/paste/delete. You just add/remove translations via
the translation UI. There are only objects for existing translations. If
'sports' is available in only one language, it *is* the Page or Image or
whatever (as per normal), and there is no translation container.

> On the other hand, I am worried that have two persistent objects for
> everything now. Presumably, 'school123' would be an I18N object, and
> it'd have children 'en' and 'de' with the actual folder content. Then
> where do sub-folders go?

They are children of 'school123', not of the translations. In that case
I think you have 'school123/en', 'school123/de' (translations of
'school123') and 'school123/sports'. Once you translate 'sports', you
have 'school123/sports/en', 'school123/sports/de', and so on. However I
didn't go and scrutinize exactly how I18NLayer does this, as the
precise implementation details in its case are probably not that
relevant to future work.

> Under the canonical language Then you have school123/en/sports/en and
> so on. And what if you end up with something like school123/de/foo by
> accident?

The UI prevents that. You'd have to break things on purpose from Python
code to end up with that.

> I also wonder if this is going to break down if and when we have
> folderish pages.

I think it should be possible to make something that will work for all
bundled AT content types, but it's certainly impossible to make it work
with all issue tracker, blogging, contact manager, album, water quality
management, etc. types.

--
jean                                              . .. .... //\\\oo///\\

------------------------------------------------------------------------------
_______________________________________________
Plone-developers mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/plone-developers
Jean Jordaan

Re: Next generation multilingual support

Reply Threaded More More options
Print post
Permalink
In reply to this post by Ricardo Alves-2
>>  Translations should be part of the object, I think. Some frameworks
>> support multilingual fields, for example. So they translate (if needed)
>> the fields. Maybe this does not cover all, cause objects are not only a
>> group of fields.
>
> I disagree. The concept of handling translations as separated,
> independent content objects is a good principle. In its essence, a
> translation of a document is a new document, and a translator is also an
> author, if it wasn't so, translations of the same document or book would
> all be equal.

Again, I agree with Ricardo.

The translation machinery should be a machinery to handle objects that
are translations of each other. Ideally, it should be possible to
choose or tune this machinery so that it works for both the
everything-translated and the sparsely-translated use cases. It would
be great if it worked for all default content types, or to put it
another way, for all Archetypes-based content (or whatever Archetypes
changes into/is replaced with).

--
jean                                              . .. .... //\\\oo///\\

------------------------------------------------------------------------------
_______________________________________________
Plone-developers mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/plone-developers
Jean Jordaan

Re: Next generation multilingual support

Reply Threaded More More options
Print post
Permalink
In reply to this post by Alexander Pilz-2
> The European Union has currently 22 official languages.

South Africa has 11, which are supposed to be offered on government
sites, but minimal resources for translation, so there will always be
untranslated content. However at least English, Afrikaans, Zulu and
Xhosa are widely-understood 2nd languages (though for largely
non-overlapping groups of speakers), so content in at least these
languages would most probably be useful even though another language
is preferred.

--
jean                                              . .. .... //\\\oo///\\

------------------------------------------------------------------------------
_______________________________________________
Plone-developers mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/plone-developers
Jean Jordaan

Re: Next generation multilingual support

Reply Threaded More More options
Print post
Permalink
In reply to this post by Geir Bækholt-2
> In our enterprise level
> intranet deployments, we handle several languages in many countries at
> once, but we don't use LinguaPlone at all.

I don't think this implies that non-LinguaPlone use cases deserve only
ad hoc implementations.

--
jean                                              . .. .... //\\\oo///\\

------------------------------------------------------------------------------
_______________________________________________
Plone-developers mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/plone-developers
Jean Jordaan

Re: Next generation multilingual support

Reply Threaded More More options
Print post
Permalink
In reply to this post by Ramon Navarro Bosch
Hi all

> The url space has no good solucion from my point of view. Using the same top
> level for all the translations has problems on languages like spanish and
> catalan that some words are identical so we finally have : /casa/ and
> /casa-1/ ...

In the case of I18NLayer you would have /casa/es and /casa/ca

Normally users would visit /casa and get the appropriate translation.
If someone wanted to link to a specific translation, they would use
e.g. /casa/ca. Content editors would visit /casa and see/edit the
currently selected language, and select/add other languages from the
translation widget.

--
jean                                              . .. .... //\\\oo///\\

------------------------------------------------------------------------------
_______________________________________________
Plone-developers mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/plone-developers
Jean Jordaan

Re: Next generation multilingual support

Reply Threaded More More options
Print post
Permalink
> In the case of I18NLayer you would have /casa/es and /casa/ca

For the sake of completenes .. you would also have e.g. /casa/de and
/casa/zh and visitors with German selected would visit /casa and get a
German page. With an alternate URL provided, SEOptimizer-style, they
could also visit /haus and end up at /casa reading the German
translation.

Independently of other aspects of this work, I think URLs that work
like this is a good idea. I've tried to say why previously in this
thread, please query if I should try to expand or clarify ..

--
jean                                              . .. .... //\\\oo///\\

------------------------------------------------------------------------------
_______________________________________________
Plone-developers mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/plone-developers
Ricardo Alves-2

Re: Next generation multilingual support

Reply Threaded More More options
Print post
Permalink
In reply to this post by Ramon Navarro Bosch
Hi Ramon,

Ramon Navarro Bosch wrote:

> Hi every body !
>
> It's a really long thread to read, I'll explain my ideas that we used
> on plone.app.multilingual on the design :
>
> Canonical
> --------------
>
> We decided that is not a good idea to have a cannonical object on
> content space. The canonical is an abstract object that in the actual
> implementation is a persistent object stored on btree local utility.
> Why ? Trying to keep it simple the main idea is to no have
> non-deletable/much important content on the content space. Each
> content is a valid resource on the semantic space so it's possible to
> point it on the inet and no other content is "depending" on it. We
> store the origin of the translation on the relation object ( you can
> translate from catalan to spanish and from spanish to english ... )

I'm not sure if I understood it correctly but this means that instead of
a "canonical" content, we have a relationship to the "original" at each
translation?

This sounds like a more generic solution although it hopefully can be
specialized in to a more strict one, using always the same original
(canonical) to each translation I guess.


>
> Url
> ---
>
> The url space has no good solucion from my point of view. Using the
> same top level for all the translations has problems on languages like
> spanish and catalan that some words are identical so we finally have :
> /casa/ and /casa-1/ ...

Haven't thought about that one. Indeed, it which should be pretty common
in languages from the same family. Another good reason for top language
folders.

>
> Maybe a simple way is :
>
> * Having virtual URL for press release ( a url that use browser
> language selector for deciding the content to show, we can define this
> url on the translation group object ( the virtual canonical )) (
> martijn work on p.a.m :P )
>
> * Each translated object has his url
>


+1 on different URLs. For several reasons already mentioned in this
thread, I think the best is to keep translations as independent content.


Ricardo

--
Ricardo Alves <[hidden email]>
Eurotux <http://www.eurotux.com>


------------------------------------------------------------------------------
_______________________________________________
Plone-developers mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/plone-developers
Martin Aspeli

Re: Next generation multilingual support

Reply Threaded More More options
Print post
Permalink
In reply to this post by Jean Jordaan
Jean Jordaan wrote:

> Hi all
>
>> The url space has no good solucion from my point of view. Using the same top
>> level for all the translations has problems on languages like spanish and
>> catalan that some words are identical so we finally have : /casa/ and
>> /casa-1/ ...
>
> In the case of I18NLayer you would have /casa/es and /casa/ca
>
> Normally users would visit /casa and get the appropriate translation.

Does that involve a redirect or some kind of aliasing?

Incidentally, I think I have a mostly working implementation of a
transparent "content proxy" in my sandbox that at least works for
non-folderish content. Kind of like SimpleAlias, but done at the
attribute level rather than the view level. It may help this kind of thing.

Martin

--
Author of `Professional Plone Development`, a book for developers who
want to work with Plone. See http://martinaspeli.net/plone-book


------------------------------------------------------------------------------
_______________________________________________
Plone-developers mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/plone-developers
Jean Jordaan

Re: Next generation multilingual support

Reply Threaded More More options
Print post
Permalink
Hi there

>> Normally users would visit /casa and get the appropriate translation.
>
> Does that involve a redirect or some kind of aliasing?

The 'casa' translation container returns the appropriate subobject
instead of itself. So instead of 'casa' being rendered, 'casa/en' is
rendered. Kinda like reverse acquisition (down instead of up).

--
jean                                              . .. .... //\\\oo///\\

------------------------------------------------------------------------------
_______________________________________________
Plone-developers mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/plone-developers
Martin Aspeli

Re: Next generation multilingual support

Reply Threaded More More options
Print post
Permalink
Jean Jordaan wrote:
> Hi there
>
>>> Normally users would visit /casa and get the appropriate translation.
>> Does that involve a redirect or some kind of aliasing?
>
> The 'casa' translation container returns the appropriate subobject
> instead of itself. So instead of 'casa' being rendered, 'casa/en' is
> rendered. Kinda like reverse acquisition (down instead of up).

Presumably with a browser default hook?

What happens if I go to /case/@@some-crazy-view?

Unless you do some clever aliasing, that'll fail, I guess.

Martin

--
Author of `Professional Plone Development`, a book for developers who
want to work with Plone. See http://martinaspeli.net/plone-book


------------------------------------------------------------------------------
_______________________________________________
Plone-developers mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/plone-developers
Martin Aspeli

Re: Next generation multilingual support

Reply Threaded More More options
Print post
Permalink
In reply to this post by Jean Jordaan
Jean Jordaan wrote:
> Hi there
>
>>> Normally users would visit /casa and get the appropriate translation.
>> Does that involve a redirect or some kind of aliasing?
>
> The 'casa' translation container returns the appropriate subobject
> instead of itself. So instead of 'casa' being rendered, 'casa/en' is
> rendered. Kinda like reverse acquisition (down instead of up).

And also, how would catalog based navigation work?

The navtree would show only the 'layer' object, not the content in the
appropriate language. It looks like the I18NLayer type proxies most DC
properties to the appropriate language. So whichever language you were
in when the item was indexed is what the navtree will show. Mmmm....


Martin

--
Author of `Professional Plone Development`, a book for developers who
want to work with Plone. See http://martinaspeli.net/plone-book


------------------------------------------------------------------------------
_______________________________________________
Plone-developers mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/plone-developers
Jean Jordaan

Re: Next generation multilingual support

Reply Threaded More More options
Print post
Permalink
In reply to this post by Martin Aspeli
Hi there

> What happens if I go to /case/@@some-crazy-view?
>
> Unless you do some clever aliasing, that'll fail, I guess.

I'm afraid I'll be wading in over my head in a minute. I've put the
I18NLayer case as far as I understand it, and tried to motivate what I
like about it, but I'm not a good person to recommend how its good
attributes can best be taken forward. In this case, I don't know the
details of how resolving /casa/@@view differs from /casa/field. In the
case of 'field', it's possible for 'casa' to find 'field' on 'en', looks
like this happens via the 'mapCore' method. I don't know what mechanism
is appropriate for letting an object ('casa') return a different object
('en', 'de') to apply the @@view to.

> The navtree would show only the 'layer' object, not the content in the
> appropriate language. It looks like the I18NLayer type proxies most DC
> properties to the appropriate language. So whichever language you were
> in when the item was indexed is what the navtree will show. Mmmm....

When you save 'en', you will be in English. When you save 'de', you will
be in German. (Note that this works better with a split between the UI
language and the content language, which has been brought up before.) So
all languages will be indexed and shown. You don't want to show
I18NLayers in the navtree, so exclude them, and add de-duplication code
to not show both 'en' and 'de' when you're browsing in English (however
if you're browsing in English and there's only 'de', it may be shown,
depending on policies). Also consider munging the paths to show '/casa'
instead of '/casa/en'. Both will work, but in the first case Bill can
email a link to Franz and Franz will read the German, while in the
second case Franz will get the same version Bill was looking at, but
he'll see that there's a translation available. Both have merits.

Ah! Turns out there was actually two products involved. I remembered
only the one, I18NLayer, though it did look sparse :-p
The other one is I18NFolder by Ingeniweb, which extends I18NLayer's
functionality.
http://ingeniweb.sourceforge.net/Products/I18NFolder/

I discovered this on
http://www.upfrontsystems.co.za/courses/zope/ch02s09.html
(last modified  2004-09-30) which I wrote :-p

There I note: "[I18NLayer and I18NFolder] aren't integrated into all
aspects of Plone. In particular, the templates for searching, the news
page, the news portlet, and other summary views will contain duplicates
unless they're customised."

I actually did this customisation for the version of the Upfront site
that was running back in 2004, and forgot about it.

--
jean                                              . .. .... //\\\oo///\\

------------------------------------------------------------------------------
_______________________________________________
Plone-developers mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/plone-developers
Jean Jordaan

Re: Next generation multilingual support

Reply Threaded More More options
Print post
Permalink
Hi again

> You don't want to show I18NLayers in the navtree, so exclude them,
> [...] Also consider munging the paths to show '/casa' instead of
> '/casa/en'.

I see that I'm grossly contradicting myself here. Please let the second
statement stand and forget the first.

--
jean                                              . .. .... //\\\oo///\\

------------------------------------------------------------------------------
_______________________________________________
Plone-developers mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/plone-developers
Geir Bækholt-2

Re: Next generation multilingual support

Reply Threaded More More options
Print post
Permalink
In reply to this post by Jean Jordaan
Jean Jordaan wrote:
>> In our enterprise level
>> intranet deployments, we handle several languages in many countries at
>> once, but we don't use LinguaPlone at all.
>
> I don't think this implies that non-LinguaPlone use cases deserve only
> ad hoc implementations.
>


Sure. But if there are deviating usecases that are very different from
the default, they would warrant another type of solution and a different
software package.
If you would want to revive i18nlayer, i am sure there would be some
people that would be happy. — But my experience is that we spent too
many weeks hacking on what turned out to be an obviously flawed idea
(i18nLayer) to ever go down that path again.

In the scenario i described, we just use Plone as default (with no
special  multilingual software) for multilingual. I think some of the
scenarios mentioned could benefit from this.



--
Geir Bækholt
http://www.jarn.com


------------------------------------------------------------------------------
_______________________________________________
Plone-developers mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/plone-developers
1 2 3 4 5