[Zope3-dev] Re: MessageID's automatic translation in TAL
Philipp von Weitershausen
philipp at weitershausen.de
Sun May 8 08:15:34 EDT 2005
Dmitry Vasiliev wrote:
> 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.
Maybe. Though writing code in an i18n-compliant manner is not very
untuitive most of the time. I've seen good programmers do very simple
mistakes regarding i18n-aware code. It's ok, it's not a trivial thing.
IMO, writing i18n-aware code takes experience and with experience, you
will expect less of the i18n machinery.
> 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. :-)
The splitting there is YAGNI indeed.
> 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.
I agree that people often don't realize how to properly deal with
message ids. The "str + msgid" problem you mention is exactly one of the
non-intuitive issues I mentioned above.
However, I don't understand your conclusion, I would assume the direct
opposite. *Because* we have an automatic, magic translation process,
people don't realize that a message id is just a definition. They must
think it's the translation process. That assumption is, of course, wrong
and leads to code like "str + msgid".
> 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?
IMO we shouldn't do automatic translation at all.
> - Maybe we need some new TALES expression type for msgid definition? For
> example:
>
> <tal:block define="name msgid:Specific">
Why? Use case?
Philipp
More information about the Zope3-dev
mailing list