[Zope-dev] Re: i18n:attributes in 2.7

Godefroid Chapelle gotcha@swing.be
Fri, 25 Jul 2003 17:03:41 +0200


Godefroid Chapelle wrote:


> To summarize, as message ids translation for attributes was added, 2.7 
> and 3 are working according to the doc/spec,
> but 2.7 breaks backward compatibility to 2.6.1.
> 
> This leads to the following question : do we (1) accept this rupture in 
> i18n:attributes management or do we (2) want 2.7 to cover space 
> separated attributes ?
> 
> IOW, could people that need backward compatibility stand up ?

Plone 1.1 needs backwards compatibility.
Plone guys would like not to have to maintain two versions for 2.6 and 2.7

This implies that we need to implement the second possibility : 2.7 must 
accept space separated attributes.

> 
> BTW, second choice would lead us to a bad situation where we cannot 
> discriminate between
> 
> <span value="value" title="title"
> i18n:attributes="value title" />
> 
> and
> 
> <span value="value" title="title"
> i18n:attributes="title msgtitle" />

Quoting Jim on #zope3-dev :

> ok, then I suggest:
> In the case where there are other than 2, there is no ambiguity
> If there is a semicolon, then use the new rule
> "foo title;" -> title is message id
> so if there are two things: "foo bar"
> if *bar* is an attr, then:
> Translate it and issue a depreication warning using the warnings module
> if *bar* if not an attr:
> Treat it as a message id.

IOW

if space separated and there are more than two items,
all are treated as attributes plus deprecation warning

if space separated and two items :

- i18n:attributes="value msg_id;" (with semicolon) will always be 
treated as <attr> <msg_id>

- i18n:attributes="value title" will be treated as <attr> <attr> as long 
as title exist as attribute plus deprecation warning

-- 
Godefroid Chapelle

BubbleNet sprl
rue Victor Horta, 18 / 202
1348 Louvain-la-Neuve
Belgium

Tel + 32 (10) 459901

TVA 467 093 008
RC Niv 49849