Stephan Richter wrote:
On Friday 06 May 2005 12:11, Godefroid Chapelle wrote:

Stephan also have pointed that automatic translation doesn't allow
somebody to disable translation on purpose for some piece of content.

Right. That's one reason why it's bad.

Can someone explain this use case a bit deeper ?

If this is a crucial use case, we could still better have
i18n:translate="nothing" or i18n:disable="" or i18n:omit-translate or
whatever on the specific places that needs to disable translation when
the python module author thought it should be translated.

Oh come on, this just sucks. I think Philipp raised numerous other good points I agree with, especially the comparison with Python code. Really, automatic translation violates the laws of explicitness.

I think we have more an expected behaviour problem rather an explicitness problem. For example when I create a msgid I guess that it will be translated at some point later. For a static content i18n:translate just creates a msgid and then translate it later, why then msgids created in Python code should be explicitly translated? Maybe then we should split i18n:translate to i18n:define and i18n:translate? I don't think so. :-)

Sometimes people even don't realize what a msgid is just a definition phase of a translation process, and do things like "str + msgid" and so I guess they will be confused by explicit translation process.

BTW, I've just found another case of automatic translation for evaluated i18nVar values.

And some more related questions:

- Should we do automatic translation for msgid's inside a TALES expression?
- Maybe we need some new TALES expression type for msgid definition? For 

    <tal:block define="name msgid:Specific">

Dmitry Vasiliev (dima at
Zope3-dev mailing list

Reply via email to