I'm one of the people who put i18n into Plone (and incidentally, I also
worked on Rosetta).  The company where I'm working now is switching to
Django.  So you can count on me to help with this i18n thing :-)

So, the way we do it in Plone (since someone asked on the wiki), is
more or less like this:

- We have a component called "translation service", which loads the
message catalogs and indexes them in memory.

- The templates have i18n markup; so the strings are translated when
the template is being rendered.

- I originally implemented PlacelessTranslationService to choose a
language based on the HTTP header, overridable by a cookie.  Alas, that
didn't work out so well :-( turns out most people don't even know they
can set up language preferences in their browser.  The more recent
versions of plone are migrating to a click-the-flag system (which
essentialy just sets the aforementioned cookie).

Reply via email to