On 3/7/2014 4:15 AM, Sean Dague wrote:
On 03/06/2014 04:46 PM, James Carey wrote:
Please consider a FFE for i18n Message improvements:
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
(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
(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/78095Remove use of concatenation on
(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/78096Remove 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/73706Re-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
Unless it has landed in *every other* integrated project besides Nova, I
don't find this compelling.
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.
If this is enabled in other projects, where is the Tempest scenario test
that actually demonstrates that this is working on real installs?
I get that everyone has features that didn't hit. BHowever now is not
that time for that, now is the time for people to get focussed on bugs
hunting. And especially if we are talking about *another* oslo sync.
OpenStack-dev mailing list
The Tempest requirement just came up yesterday. FWIW, this i18n stuff
has been working it's way in since Grizzly, and the new requirement for
Tempest is new. I'm not saying it's not valid, but the timing sucks -
but that's life.
Also, the oslo sync would be to one module, gettextutils, which I don't
think pulls in anything else from oslo.
Anyway, this is in Keystone, Glance, Cinder, Neutron and Ceilometer at
least. Patches are working their way through Heat as I understand it.
I'm not trying to turn this into a crusade, just trying to get out what
I know about the current state of things. I'll let Jim Carey or Jay
Bryant discuss it more since they've been more involved in the
blueprints across all the projects.
OpenStack-dev mailing list