Use ugettext_lazy instead of ugettext.

We should use ugettext_lazy to let users in different languages
get correct translation.Though in views or similar places
we can use ugettext with no problems, we should make code
style consistent.

This also fix the issues that the django proxy objects appear on the
launching instance page instead of translated strings. Now the
translated quota strings are handled correctly.

Fixes: bug #1178722

Change-Id: I76f0d31e6546d70e5ece7e86a06f7eefd04861d2
This commit is contained in:
Brooklyn Chen 2013-05-14 14:05:42 +08:00
parent d17fd51359
commit 08e6ed7392
20 changed files with 29 additions and 28 deletions

View File

@ -36,7 +36,7 @@ from django.utils.datastructures import SortedDict
from django.utils.functional import SimpleLazyObject
from django.utils.importlib import import_module
from django.utils.module_loading import module_has_submodule
from django.utils.translation import ugettext as _
from django.utils.translation import ugettext_lazy as _
from horizon import loaders
from horizon import conf

View File

@ -1,5 +1,5 @@
from django.conf import settings
from django.utils.translation import ugettext as _
from django.utils.translation import ugettext_lazy as _
# Default configuration dictionary. Do not mutate.
HORIZON_CONFIG = {

View File

@ -24,7 +24,7 @@ General-purpose decorators for use with Horizon.
import functools
from django.utils.decorators import available_attrs
from django.utils.translation import ugettext as _
from django.utils.translation import ugettext_lazy as _
def _current_component(view_func, dashboard=None, panel=None):

View File

@ -25,7 +25,7 @@ import sys
from django.contrib.auth import logout
from django.http import HttpRequest
from django.utils import termcolors
from django.utils.translation import ugettext as _
from django.utils.translation import ugettext_lazy as _
from django.views.debug import SafeExceptionReporterFilter, CLEANSED_SUBSTITUTE
from horizon import messages

View File

@ -24,7 +24,7 @@ Template tags for customizing Horizon.
from django import template
from django.conf import settings
from django.utils.translation import ugettext as _
from django.utils.translation import ugettext_lazy as _
register = template.Library()

View File

@ -17,8 +17,9 @@
from __future__ import absolute_import
from django import template
from django.utils.encoding import force_unicode
from django.utils.datastructures import SortedDict
from django.utils.translation import ugettext as _
from django.utils.translation import ugettext_lazy as _
from horizon.base import Horizon
from horizon import conf
@ -90,9 +91,9 @@ def quota(val, units=None):
if val == float("inf"):
return _("No Limit")
elif units is not None:
return "%s %s %s" % (val, units, _("Available"))
return "%s %s %s" % (val, units, force_unicode(_("Available")))
else:
return "%s %s" % (val, _("Available"))
return "%s %s" % (val, force_unicode(_("Available")))
class JSTemplateNode(template.Node):

View File

@ -42,25 +42,25 @@ def filesizeformat(bytes, filesize_number_format):
try:
bytes = float(bytes)
except (TypeError, ValueError, UnicodeDecodeError):
return translation.ungettext("%(size)d byte",
return translation.ungettext_lazy("%(size)d byte",
"%(size)d bytes", 0) % {'size': 0}
if bytes < 1024:
return translation.ungettext("%(size)d",
return translation.ungettext_lazy("%(size)d",
"%(size)d", bytes) % {'size': bytes}
if bytes < 1024 * 1024:
return translation.ugettext("%s KB") % \
return translation.ugettext_lazy("%s KB") % \
filesize_number_format(bytes / 1024)
if bytes < 1024 * 1024 * 1024:
return translation.ugettext("%s MB") % \
return translation.ugettext_lazy("%s MB") % \
filesize_number_format(bytes / (1024 * 1024))
if bytes < 1024 * 1024 * 1024 * 1024:
return translation.ugettext("%s GB") % \
return translation.ugettext_lazy("%s GB") % \
filesize_number_format(bytes / (1024 * 1024 * 1024))
if bytes < 1024 * 1024 * 1024 * 1024 * 1024:
return translation.ugettext("%s TB") % \
return translation.ugettext_lazy("%s TB") % \
filesize_number_format(bytes / (1024 * 1024 * 1024 * 1024))
return translation.ugettext("%s PB") % \
return translation.ugettext_lazy("%s PB") % \
filesize_number_format(bytes / (1024 * 1024 * 1024 * 1024 * 1024))

View File

@ -2,7 +2,7 @@ import re
import netaddr
from django.core.exceptions import ValidationError
from django.forms import forms, widgets
from django.utils.translation import ugettext as _
from django.utils.translation import ugettext_lazy as _
from django.utils.encoding import force_unicode
from django.utils.html import escape, conditional_escape
from django.utils.functional import Promise

View File

@ -24,7 +24,7 @@ from django.core import urlresolvers
from django.template.defaultfilters import slugify
from django.utils.encoding import force_unicode
from django.utils.importlib import import_module
from django.utils.translation import ugettext as _
from django.utils.translation import ugettext_lazy as _
from django.template.defaultfilters import linebreaks, safe
from django.forms.forms import NON_FIELD_ERRORS

View File

@ -25,7 +25,7 @@ from __future__ import absolute_import
import logging
from django.conf import settings
from django.utils.translation import ugettext as _
from django.utils.translation import ugettext_lazy as _
from cinderclient.v1 import client as cinder_client

View File

@ -25,7 +25,7 @@ from __future__ import absolute_import
import logging
from django.conf import settings
from django.utils.translation import ugettext as _
from django.utils.translation import ugettext_lazy as _
from novaclient.v1_1 import client as nova_client
from novaclient.v1_1 import security_group_rules as nova_rules

View File

@ -19,7 +19,7 @@
# under the License.
from django.conf import settings
from django.utils.translation import ugettext as _
from django.utils.translation import ugettext_lazy as _
from horizon import exceptions

View File

@ -14,7 +14,7 @@
# License for the specific language governing permissions and limitations
# under the License.
from django.utils.translation import ugettext as _
from django.utils.translation import ugettext_lazy as _
from django.template.defaultfilters import title
from horizon import tables

View File

@ -19,7 +19,7 @@
# under the License.
from django.utils.translation import ugettext as _
from django.utils.translation import ugettext_lazy as _
from django.core.urlresolvers import reverse
from horizon import exceptions

View File

@ -18,7 +18,7 @@ import logging
from django.utils import http
from django.core.urlresolvers import reverse
from django.utils.translation import ugettext as _
from django.utils.translation import ugettext_lazy as _
from horizon import tables
from openstack_dashboard import api

View File

@ -16,7 +16,7 @@
import re
from django.utils.translation import ugettext as _
from django.utils.translation import ugettext_lazy as _
from horizon import exceptions
from horizon import tabs

View File

@ -18,7 +18,7 @@ import logging
import re
from django import http
from django.utils.translation import ugettext as _
from django.utils.translation import ugettext_lazy as _
from horizon import exceptions
from horizon import tables

View File

@ -17,7 +17,7 @@
import logging
import re
from django.utils.translation import ugettext as _
from django.utils.translation import ugettext_lazy as _
from horizon import exceptions
from horizon import forms

View File

@ -79,6 +79,6 @@ class UserSettingsForm(forms.SelfHandlingForm):
request.session['horizon_pagesize'] = data['pagesize']
messages.success(request, translation.ugettext("Settings saved."))
messages.success(request, translation.ugettext_lazy("Settings saved."))
return response

View File

@ -4,7 +4,7 @@ from calendar import monthrange
import datetime
import logging
from django.utils.translation import ugettext as _
from django.utils.translation import ugettext_lazy as _
from django.utils import timezone
from horizon import exceptions