Please consider a FFE for i18n Message improvements: BP: https://blueprints.launchpad.net/nova/+spec/i18n-messages The base enablement for lazy translation has already been sync'd from oslo. This patch was to enable lazy translation support in Nova. It is titled re-enable lazy translation because this was enabled during Havana but was pulled due to issues that have since been resolved.
In order to enable lazy translation it is necessary to do the following things: (1) Fix a bug in oslo with respect to how keywords are extracted from the format strings when saving replacement text for use when the message translation is done. This is https://bugs.launchpad.net/nova/+bug/1288049, which I'm actively working on a fix for in oslo. Once that is complete it will need to be sync'd into nova. (2) Remove concatenation (+) of translatable messages. The current class that is used to hold the translatable message (gettextutils.Message) does not support concatenation. There were a few cases in Nova where this was done and they are coverted to other means of combining the strings in: https://review.openstack.org/#/c/78095 Remove use of concatenation on messages (3) Remove the use of str() on exceptions. The intent of this is to return the message contained in the exception, but these messages may contain unicode, so str cannot be used on them and gettextutils.Message enforces this. Thus these need to either be removed and allow python formatting to do the right thing, or changed to unicode(). Since unicode() will change to str() in Py3, the forward compatible six.text_type() is used instead. This is done in: https://review.openstack.org/#/c/78096 Remove use of str() on exceptions (4) The addition of the call that enables the use of lazy messages. This is in: https://review.openstack.org/#/c/73706 Re-enable lazy translation. Lazy translation has been enabled in the other projects so it would be beneficial to be consistent with the other projects with respect to message translation. I have tested that the changes in (2) and (3) work when lazy translation is not enabled. Thus if a problem is found, the two line change in (4) could be removed to get to the previous behavior. I've been talking to Matt Riedemann and Dan Berrange about this. Matt has agreed to be a sponsor. --Jim Carey
_______________________________________________ OpenStack-dev mailing list OpenStack-dev@lists.openstack.org http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev