[Zope-CMF] translation of CMF 1.1. Request for comments

Bjorn Stabell bjorn@exoweb.net
Fri, 22 Jun 2001 10:25:31 +0800


So, right now there are three options for localizing websites using the
CMF:

1. Using CMF skins

2. Using ZBabel

3. Using Localizer

We started out using CMF skins, but found it was too restrictive as it
didn't have string bundles (we used properties on the skin folder, but
that wasn't very easy to manage) and using skins seemed to be used for
other things (different design).

We then converted to the Localizer, which in addition to providing a way
to store localized objects and strings also does some magic URL
rewriting that makes it possible to access different language versions
of the same object using the same URL (Accept-Language or a cookie is
consulted to find the right one).  Localizer also provides ways to
localize Python products.

Now there is ZBabel, which I don't know much about.  And I've also seen
zzLocale.

I think we'd all be better off if we could find a standard way to do it
in the CMF and/or Zope.  I don't think skins are nearly as useful as
providing different language versions, but that, of course, is because
of where I am in the world (a Norwegian in China doing Chinese and
English websites).

What weaknesses in Localizer is ZBabel trying to fix?

Bye,
--=20
Bjorn

> -----Original Message-----
> From: Joachim Werner [mailto:joe@iuveno-net.de]
> Posted At: Friday, June 22, 2001 06:38
> Posted To: Zope CMF
> Conversation: [Zope-CMF] translation of CMF 1.1. Request for comments
> Subject: Re: [Zope-CMF] translation of CMF 1.1. Request for comments
>=20
>=20
> > There are several other attempts to be found on the Zope=20
> page how to solve
> > the translation task. They seem to focus on a sentence by sentence
> > translation which is, to my mind, much more complicated=20
> than to translate
> a
> > whole file.
>=20
> A sentence-by-sentence or "phrase-by-phrase" translation=20
> system has one
> important advantage: You just have to translate a word or=20
> phrase once. The
> only situation where this might not be a good idea is if you=20
> have identical
> phrases with different meanings (e.g. "Sun" for the computer=20
> company, "Sun"
> for the star, and "Sun" for the abbreviated form of=20
> "Sunday"), but that can
> be handled using different labels like "Sun_weekday".
>=20
> We at iuveno have taken ZBabel from Andrew Milton and=20
> improved it a bit.
> Right now Stephan Richter is posting the new version that=20
> does not need an
> SQL database backend any more.
>=20
> ZBabel has some really advanced features, e.g. you can add=20
> "ZBabel objects"
> that behave like a single image or file, but in fact are=20
> containers that
> contain versions in different languages (e.g. for GIF text buttons).
>=20
> You can even translate phrases that contain DTML variables and get the
> variables in the right order. And you can localize date formats etc.
>=20
> We also had a try to put the translation engine into the "var" tag. It
> worked pefectly, but you get massive problems with recursion because
> dtml-var not only displays variables but also methods that contain of
> methods that use variables etc. ... (It is still in the code,=20
> but you have
> uncomment it. Do so and f* up your Zope within seconds ;-))
>=20
> > Doing the translation as I propose it would be relatively=20
> easy to check
> for
> > changes when files are updated. Since the original file is=20
> still part of
> the
> > _int copy we can split it of and diff it against the=20
> updated dtml file.
> > Although this does not provide for automatic merging of=20
> code changes into
> > the translated parts it should make the process much easier.
>=20
> ZBabel has a nice feature for getting the translations merged into an
> existing system: You just distribute your files as usual and=20
> in addition to
> that you make a dump of your translation database ("Babel=20
> Tower") and import
> it to the target system. This way not only the new files are=20
> translated, but
> all translated phrases that are used in them can be reused=20
> somewhere else
> ...
>=20
> If you find bugs or look for additional features in ZBabel,=20
> feel free to
> contact us!
> (mailto: srichter@iuveno-net.de)
>=20
> The newest version is here:
> http://www.zope.org/Members/srichter/Products/ZBabel/ZBabel-2-
0-0a2.tgz/view

Cheers

Joachim






_______________________________________________
Zope-CMF maillist  -  Zope-CMF@zope.org
http://lists.zope.org/mailman/listinfo/zope-cmf

See http://www.zope.org/Products/PTK/Tracker for bug reports and feature
requests