I've fiddled a bit with 
https://bugs.edge.launchpad.net/zope.i18n/+bug/592753 and ended up with 
an unclear situation:

The ``translate'' methods of both zope.i18n and ITranslationDomain have 
optional parameters for the domain/default/mapping attributes of a 
message ID.

The message ID attributes always override the parameters but it is not 
said why. (I probed the tests and they at least verify that this is the 
case but don't state motivation.)

As I had to chase this down for quite a while when I originally tried to 
call zope.i18n.translate() directly (for providing translated emails) it 
took me quite a while to understand what's going on.

I see two possibilities for improving the situation:

- don't implicitly ignore the parameters, but raise an exception if
   both a message id and at least one of the parameters (domain/default
   /mapping) is given and write some documentation that explains the
   situation (what is happening and why)


- make the parameters take precendence over the message id attributes

So - why not do the latter?


Christian Theune · c...@gocept.com
gocept gmbh & co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 0 · fax +49 345 1229889 1
Zope and Plone consulting and development

Zope-Dev maillist  -  Zope-Dev@zope.org
**  No cross posts or HTML encoding!  **
(Related lists - 
 https://mail.zope.org/mailman/listinfo/zope )

Reply via email to