Currently the portal status message is always translated in the i18n domain of main_template if sent through a redirect. This makes it impossible to use different domains (and mappings or defaults).

Add-on products might want to use their own i18n domain. CMFCalendar demonstrates that use case. "Event changed." is currently not translated because of that issue.

There are more sophisticated approaches than using the query string for status messages. Depending on your needs sessions or the statusmessages product (http://dev.plone.org/collective/browser/statusmessages) might be more appropriate.

But I'd like to keep the solution used in CMF simple and don't want to create any dependencies on third party products. So I propose to resolve the issue like this:

1.) Translate portal status messages and encode them with default_charset before they are added to the query string. To make this easier I'd like to add a translate function to CMFDefault utils.

2.) Decode the messages again before they are passed to the main_template. No longer use i18n:translate="" in the template.

Comments are welcome! If there are no objections I'll implement this on the trunk before the 2.0 beta release.



Zope-CMF maillist  -  Zope-CMF@lists.zope.org

See http://collector.zope.org/CMF for bug reports and feature requests

Reply via email to