[Zope-CMF] [dev] some questions regarding CMF 1.4

Dieter Maurer dieter@handshake.de
Thu, 27 Feb 2003 19:44:27 +0100


Florent Guillaume wrote at 2003-2-27 15:15 +0100:
 > On Wed, 2003-02-26 at 20:13, Dieter Maurer wrote:
 > > Florent Guillaume wrote at 2003-2-25 20:17 +0000:
 > >  > As I mentionned somewhere, I'm against releasing the proposed i18=
n as it
 > >  > is. Useable i18n means using message-ids everywhere, not just rel=
ying on
 > >  > default-text-as-message-id which is brittle.
 > >=20
 > > Why do you think so?
 > >=20
 > >     "gettext" uses precisely that approach.
 > >     We had made good experience with it.
 >=20
 > Suppose you have some ZPT with:
 >   <p i18n:translate=3D"">
 >     Enter your password below
 >   </p>
 > the fr.po file has:
 >   msgid "Enter your password below"
 >   msgstr "Tapez votre mot de passe ci-dessous"
 > Note that the English version is served for those who don't use i18n.
 >=20
 > Now if for some reason the ZPT string has to be changed to
 >   <p i18n:translate=3D"">
 >     Enter your password in the box below
 >   </p>
 > Then those that use i18n but have not updated their translations will
 > see an English version. Also to update the translation you have to add=
 a
 > *new* string to the fr.po file, and remove the old one:
 >   msgid "Enter your password in the box below"
 >   msgstr "Tapez votre mot de passe dans la bo=EEte ci-dessous"
 >=20
 > That complicates the translator's job a lot.

The "gettext" environment helps you with "fuzzy" entries.

 > OTOH if we had changed from:
 >   <p i18n:translate=3D"enter password below">
 >     Enter your password below
 >   </p>
 > to
 >   <p i18n:translate=3D"enter password below">
 >     Enter your password in the box below
 >   </p>
 > Then those that haven't changed their translations will just see the o=
ld
 > message in their language, and updating the translation in the .po fil=
e
 > is simply updating one string.

This may have the disadvantage that you might miss changes that require
retranslation (as the id did not change).


Dieter