Stephan Richter wrote:
Should '<span i18n:name="foo">bar</span>' pass '<span>bar</span>' to the
msgid mapping or just 'bar'?

Wow, so this gets hairy and we need to get it right. Unfortunately, tests right now support both practices. So here are my observations:


<p i18n:translate="">
  This house is <em i18n:name="color" i18n:translate="">red</em>.
</p>

The case above should produce two message ids:

"This house is $color."
"red"

Note: The XML element containing i18n:name is *not* part of the second message id. Also, the <em> tag is not part of the outer message id.

So here is the way to think about this. The I18n name, as seen from the outer translation is the entire <em> element. However, the <em> element itself only sends its content out as a message id.

Further, there need to be some rules deciding when the <em> tag should be omitted. I agree with Marius and Godefroid that it should only be omitted when either "tal:replace" or "tal:omit-tag" is specified.

It thus follows:

- test_content_with_messageid_and_i18nname in test_talinterpreter.py is correct.

- test36.html is incorrect.

- Marius' submitted test is correct.

Ok, I fully agree with this changes, but then I have one more question. Should we do this changes on ZopeX3.0 branch? That about backward compatibility for 3.0, for example if someone use code like this: '<h1 i18n:name="H1">foo</h1>'?


--
Dmitry Vasiliev (dima at hlabs.spb.ru)
    http://hlabs.spb.ru
_______________________________________________
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com



Reply via email to