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 example:
<tal:block define="name msgid:Specific">
-- Dmitry Vasiliev (dima at hlabs.spb.ru) http://hlabs.spb.ru _______________________________________________ Zope3-dev mailing list Zope3firstname.lastname@example.org Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com