Use ugettext_lazy for verbose_texts instead of unicode.

* Fix bug 962417
 * Change the ugettext to ugettext_lazy
 * Unicode the verbose_name while the 
   DataTableOption is initialize will 
   make the translation fixed.
 * Similar scenario in Column class and Action class.

Change-Id: I69ce9f89b0f0c2afb32b26e15ea8db84828d840f
This commit is contained in:
Jim Yeh 2012-03-22 21:15:56 +08:00
parent ab71aff23f
commit 8e83bc8bc4
45 changed files with 52 additions and 52 deletions

View File

@ -23,7 +23,7 @@ import logging
from django.contrib import messages from django.contrib import messages
from django import shortcuts from django import shortcuts
from django.utils.translation import ugettext as _ from django.utils.translation import ugettext_lazy as _
from novaclient import exceptions as novaclient_exceptions from novaclient import exceptions as novaclient_exceptions
from horizon import api from horizon import api

View File

@ -19,7 +19,7 @@ import logging
from django import shortcuts from django import shortcuts
from django.contrib import messages from django.contrib import messages
from django.utils.translation import ugettext as _ from django.utils.translation import ugettext_lazy as _
from horizon import api from horizon import api
from horizon import exceptions from horizon import exceptions

View File

@ -25,7 +25,7 @@ Views for managing Nova floating IPs.
import logging import logging
from django.core.urlresolvers import reverse from django.core.urlresolvers import reverse
from django.utils.translation import ugettext as _ from django.utils.translation import ugettext_lazy as _
from horizon import api from horizon import api
from horizon import exceptions from horizon import exceptions

View File

@ -23,7 +23,7 @@ import logging
from django import shortcuts from django import shortcuts
from django.contrib import messages from django.contrib import messages
from django.core import validators from django.core import validators
from django.utils.translation import ugettext as _ from django.utils.translation import ugettext_lazy as _
from novaclient import exceptions as novaclient_exceptions from novaclient import exceptions as novaclient_exceptions
from horizon import api from horizon import api

View File

@ -16,7 +16,7 @@
import logging import logging
from django.utils.translation import ugettext as _ from django.utils.translation import ugettext_lazy as _
from horizon import api from horizon import api
from horizon import tables from horizon import tables

View File

@ -27,7 +27,7 @@ from django import http
from django.core.urlresolvers import reverse from django.core.urlresolvers import reverse
from django.template.defaultfilters import slugify from django.template.defaultfilters import slugify
from django.views.generic import View, TemplateView from django.views.generic import View, TemplateView
from django.utils.translation import ugettext as _ from django.utils.translation import ugettext_lazy as _
from .forms import CreateKeypair, ImportKeypair from .forms import CreateKeypair, ImportKeypair
from horizon import api from horizon import api

View File

@ -24,7 +24,7 @@ from django import shortcuts
from django.contrib import messages from django.contrib import messages
from django.core import validators from django.core import validators
from django.forms import ValidationError from django.forms import ValidationError
from django.utils.translation import ugettext as _ from django.utils.translation import ugettext_lazy as _
from novaclient import exceptions as novaclient_exceptions from novaclient import exceptions as novaclient_exceptions
from horizon import api from horizon import api

View File

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

View File

@ -24,7 +24,7 @@ Views for managing Nova instances.
import logging import logging
from django import shortcuts from django import shortcuts
from django.utils.translation import ugettext as _ from django.utils.translation import ugettext_lazy as _
from horizon import api from horizon import api
from horizon import exceptions from horizon import exceptions

View File

@ -25,7 +25,7 @@ Views for Instances and Volumes.
import logging import logging
from django.contrib import messages from django.contrib import messages
from django.utils.translation import ugettext as _ from django.utils.translation import ugettext_lazy as _
from novaclient import exceptions as novaclient_exceptions from novaclient import exceptions as novaclient_exceptions
from horizon import api from horizon import api

View File

@ -24,7 +24,7 @@ from django import shortcuts
from django.contrib import messages from django.contrib import messages
from django.core import validators from django.core import validators
from django.core.urlresolvers import reverse from django.core.urlresolvers import reverse
from django.utils.translation import ugettext as _ from django.utils.translation import ugettext_lazy as _
from horizon import api from horizon import api
from horizon import exceptions from horizon import exceptions

View File

@ -22,7 +22,7 @@ from django.contrib import messages
from django.core.urlresolvers import reverse from django.core.urlresolvers import reverse
from django.template.defaultfilters import filesizeformat from django.template.defaultfilters import filesizeformat
from django.utils import http from django.utils import http
from django.utils.translation import ugettext as _ from django.utils.translation import ugettext_lazy as _
from horizon import api from horizon import api
from horizon import tables from horizon import tables

View File

@ -26,7 +26,7 @@ import os
from django import http from django import http
from django.core.urlresolvers import reverse from django.core.urlresolvers import reverse
from django.utils.translation import ugettext as _ from django.utils.translation import ugettext_lazy as _
from horizon import api from horizon import api
from horizon import exceptions from horizon import exceptions

View File

@ -29,7 +29,7 @@ from django.contrib import messages
from django.core.urlresolvers import reverse from django.core.urlresolvers import reverse
from django.forms import ValidationError from django.forms import ValidationError
from django.utils.text import normalize_newlines from django.utils.text import normalize_newlines
from django.utils.translation import ugettext as _ from django.utils.translation import ugettext_lazy as _
from horizon import api from horizon import api
from horizon import exceptions from horizon import exceptions

View File

@ -17,7 +17,7 @@
import logging import logging
from django.template import defaultfilters as filters from django.template import defaultfilters as filters
from django.utils.translation import ugettext as _ from django.utils.translation import ugettext_lazy as _
from horizon import api from horizon import api
from horizon import tables from horizon import tables

View File

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

View File

@ -24,7 +24,7 @@ Views for managing Nova images.
import logging import logging
from django.core.urlresolvers import reverse from django.core.urlresolvers import reverse
from django.utils.translation import ugettext as _ from django.utils.translation import ugettext_lazy as _
from horizon import api from horizon import api
from horizon import exceptions from horizon import exceptions

View File

@ -23,7 +23,7 @@ import logging
from django import shortcuts from django import shortcuts
from django.core.urlresolvers import reverse from django.core.urlresolvers import reverse
from django.contrib import messages from django.contrib import messages
from django.utils.translation import ugettext as _ from django.utils.translation import ugettext_lazy as _
from horizon import api from horizon import api
from horizon import exceptions from horizon import exceptions

View File

@ -16,7 +16,7 @@
import logging import logging
from django.utils.translation import ugettext as _ from django.utils.translation import ugettext_lazy as _
from ..images.tables import ImagesTable, LaunchImage, EditImage, DeleteImage from ..images.tables import ImagesTable, LaunchImage, EditImage, DeleteImage

View File

@ -25,7 +25,7 @@ Views for managing Nova instance snapshots.
import logging import logging
from django.core.urlresolvers import reverse from django.core.urlresolvers import reverse
from django.utils.translation import ugettext as _ from django.utils.translation import ugettext_lazy as _
from horizon import api from horizon import api
from horizon import exceptions from horizon import exceptions

View File

@ -25,7 +25,7 @@ Views for managing Images and Snapshots.
import logging import logging
from django.utils.translation import ugettext as _ from django.utils.translation import ugettext_lazy as _
from horizon import api from horizon import api
from horizon import exceptions from horizon import exceptions

View File

@ -16,7 +16,7 @@
import logging import logging
from django.utils.translation import ugettext as _ from django.utils.translation import ugettext_lazy as _
from horizon import api from horizon import api
from horizon import tables from horizon import tables

View File

@ -22,7 +22,7 @@ import logging
from django import shortcuts from django import shortcuts
from django.contrib import messages from django.contrib import messages
from django.utils.translation import ugettext as _ from django.utils.translation import ugettext_lazy as _
from horizon import api from horizon import api
from horizon import exceptions from horizon import exceptions

View File

@ -19,7 +19,7 @@ import logging
from django import template from django import template
from django.template.defaultfilters import title from django.template.defaultfilters import title
from django.utils.datastructures import SortedDict from django.utils.datastructures import SortedDict
from django.utils.translation import ugettext as _ from django.utils.translation import ugettext_lazy as _
from horizon import api from horizon import api
from horizon import tables from horizon import tables

View File

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

View File

@ -27,7 +27,7 @@ from django import http
from django import shortcuts from django import shortcuts
from django.core.urlresolvers import reverse from django.core.urlresolvers import reverse
from django.utils.datastructures import SortedDict from django.utils.datastructures import SortedDict
from django.utils.translation import ugettext as _ from django.utils.translation import ugettext_lazy as _
from horizon import api from horizon import api
from horizon import exceptions from horizon import exceptions

View File

@ -25,7 +25,7 @@ Views for Instances and Volumes.
import logging import logging
from django.contrib import messages from django.contrib import messages
from django.utils.translation import ugettext as _ from django.utils.translation import ugettext_lazy as _
from django.utils.datastructures import SortedDict from django.utils.datastructures import SortedDict
from novaclient import exceptions as novaclient_exceptions from novaclient import exceptions as novaclient_exceptions

View File

@ -11,7 +11,7 @@ import logging
from django import shortcuts from django import shortcuts
from django.contrib import messages from django.contrib import messages
from django.utils.translation import ugettext as _ from django.utils.translation import ugettext_lazy as _
from horizon import api from horizon import api
from horizon import forms from horizon import forms

View File

@ -19,7 +19,7 @@ import logging
from django.core.urlresolvers import reverse from django.core.urlresolvers import reverse
from django.template.defaultfilters import title from django.template.defaultfilters import title
from django.utils import safestring from django.utils import safestring
from django.utils.translation import ugettext as _ from django.utils.translation import ugettext_lazy as _
from horizon import api from horizon import api
from horizon import tables from horizon import tables

View File

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

View File

@ -20,7 +20,7 @@ Views for managing Nova volumes.
import logging import logging
from django.utils.translation import ugettext as _ from django.utils.translation import ugettext_lazy as _
from horizon import api from horizon import api
from horizon import exceptions from horizon import exceptions

View File

@ -22,7 +22,7 @@ import logging
from django import shortcuts from django import shortcuts
from django.contrib import messages from django.contrib import messages
from django.utils.translation import ugettext as _ from django.utils.translation import ugettext_lazy as _
from horizon import api from horizon import api
from horizon import forms from horizon import forms

View File

@ -21,7 +21,7 @@
import logging import logging
from django.contrib import messages from django.contrib import messages
from django.utils.translation import ugettext as _ from django.utils.translation import ugettext_lazy as _
from novaclient import exceptions as api_exceptions from novaclient import exceptions as api_exceptions
from horizon import api from horizon import api

View File

@ -14,7 +14,7 @@
# License for the specific language governing permissions and limitations # License for the specific language governing permissions and limitations
# under the License. # under the License.
from django.utils.translation import ugettext as _ from django.utils.translation import ugettext_lazy as _
from horizon.dashboards.nova.images_and_snapshots.images.tables import ( from horizon.dashboards.nova.images_and_snapshots.images.tables import (
ImagesTable, EditImage, DeleteImage) ImagesTable, EditImage, DeleteImage)

View File

@ -20,7 +20,7 @@
import logging import logging
from django.utils.translation import ugettext as _ from django.utils.translation import ugettext_lazy as _
from horizon import api from horizon import api
from horizon import exceptions from horizon import exceptions

View File

@ -18,7 +18,7 @@
import logging import logging
from django.template.defaultfilters import title from django.template.defaultfilters import title
from django.utils.translation import ugettext as _ from django.utils.translation import ugettext_lazy as _
from horizon import tables from horizon import tables
from horizon.dashboards.nova.instances_and_volumes.instances.tables import ( from horizon.dashboards.nova.instances_and_volumes.instances.tables import (

View File

@ -22,7 +22,7 @@
import logging import logging
from django.utils.datastructures import SortedDict from django.utils.datastructures import SortedDict
from django.utils.translation import ugettext as _ from django.utils.translation import ugettext_lazy as _
from horizon import api from horizon import api
from horizon import exceptions from horizon import exceptions

View File

@ -22,7 +22,7 @@ import logging
from django import shortcuts from django import shortcuts
from django.contrib import messages from django.contrib import messages
from django.utils.translation import ugettext as _ from django.utils.translation import ugettext_lazy as _
from horizon import api from horizon import api
from horizon import exceptions from horizon import exceptions

View File

@ -22,7 +22,7 @@ import logging
import operator import operator
from django.core.urlresolvers import reverse from django.core.urlresolvers import reverse
from django.utils.translation import ugettext as _ from django.utils.translation import ugettext_lazy as _
from horizon import api from horizon import api
from horizon import exceptions from horizon import exceptions

View File

@ -22,7 +22,7 @@ import logging
from django import shortcuts from django import shortcuts
from django.contrib import messages from django.contrib import messages
from django.utils.translation import ugettext as _ from django.utils.translation import ugettext_lazy as _
from django.forms import ValidationError from django.forms import ValidationError
from horizon import api from horizon import api

View File

@ -2,7 +2,7 @@ import logging
from django import shortcuts from django import shortcuts
from django.contrib import messages from django.contrib import messages
from django.utils.translation import ugettext as _ from django.utils.translation import ugettext_lazy as _
from horizon import api from horizon import api
from horizon import tables from horizon import tables

View File

@ -22,7 +22,7 @@ import logging
from django.contrib import messages from django.contrib import messages
from django.core.urlresolvers import reverse from django.core.urlresolvers import reverse
from django.utils.translation import ugettext as _ from django.utils.translation import ugettext_lazy as _
from keystoneclient import exceptions as api_exceptions from keystoneclient import exceptions as api_exceptions
from horizon import api from horizon import api

View File

@ -22,7 +22,7 @@ from django.conf import settings
from django.contrib import messages from django.contrib import messages
from django.core import urlresolvers from django.core import urlresolvers
from django.utils.functional import Promise from django.utils.functional import Promise
from django.utils.translation import string_concat, ugettext as _ from django.utils.translation import string_concat, ugettext_lazy as _
from horizon import exceptions from horizon import exceptions
from horizon.utils import html from horizon.utils import html
@ -230,9 +230,9 @@ class LinkAction(BaseAction):
def __init__(self, verbose_name=None, url=None, attrs=None): def __init__(self, verbose_name=None, url=None, attrs=None):
super(LinkAction, self).__init__() super(LinkAction, self).__init__()
self.verbose_name = verbose_name or unicode(getattr(self, self.verbose_name = verbose_name or getattr(self,
"verbose_name", "verbose_name",
self.name.title())) self.name.title())
self.url = getattr(self, "url", url) self.url = getattr(self, "url", url)
if not self.verbose_name: if not self.verbose_name:
raise NotImplementedError('A LinkAction object must have a ' raise NotImplementedError('A LinkAction object must have a '
@ -295,7 +295,7 @@ class FilterAction(BaseAction):
def __init__(self, verbose_name=None, param_name=None): def __init__(self, verbose_name=None, param_name=None):
super(FilterAction, self).__init__() super(FilterAction, self).__init__()
self.verbose_name = unicode(verbose_name or self.name) self.verbose_name = verbose_name or self.name
self.param_name = param_name or 'q' self.param_name = param_name or 'q'
def get_param_name(self): def get_param_name(self):

View File

@ -31,7 +31,7 @@ from django.utils import http
from django.utils.datastructures import SortedDict from django.utils.datastructures import SortedDict
from django.utils.html import escape from django.utils.html import escape
from django.utils.http import urlencode from django.utils.http import urlencode
from django.utils.translation import ugettext as _ from django.utils.translation import ugettext_lazy as _
from django.utils.safestring import mark_safe from django.utils.safestring import mark_safe
from django.utils import termcolors from django.utils import termcolors
@ -175,7 +175,7 @@ class Column(html.HTMLElement):
verbose_name = self.transform.title() verbose_name = self.transform.title()
else: else:
verbose_name = verbose_name verbose_name = verbose_name
self.verbose_name = unicode(verbose_name) self.verbose_name = verbose_name
self.link = link self.link = link
self.hidden = hidden self.hidden = hidden
self.status = status self.status = status
@ -193,7 +193,7 @@ class Column(html.HTMLElement):
self.classes.append("hide") self.classes.append("hide")
def __unicode__(self): def __unicode__(self):
return self.verbose_name return unicode(self.verbose_name)
def __repr__(self): def __repr__(self):
return '<%s: %s>' % (self.__class__.__name__, self.name) return '<%s: %s>' % (self.__class__.__name__, self.name)
@ -546,7 +546,7 @@ class DataTableOptions(object):
self.name = getattr(options, 'name', self.__class__.__name__) self.name = getattr(options, 'name', self.__class__.__name__)
verbose_name = getattr(options, 'verbose_name', None) \ verbose_name = getattr(options, 'verbose_name', None) \
or self.name.title() or self.name.title()
self.verbose_name = unicode(verbose_name) self.verbose_name = verbose_name
self.columns = getattr(options, 'columns', None) self.columns = getattr(options, 'columns', None)
self.status_columns = getattr(options, 'status_columns', []) self.status_columns = getattr(options, 'status_columns', [])
self.table_actions = getattr(options, 'table_actions', []) self.table_actions = getattr(options, 'table_actions', [])
@ -685,7 +685,7 @@ class DataTable(object):
action.table = self action.table = self
def __unicode__(self): def __unicode__(self):
return self._meta.verbose_name return unicode(self._meta.verbose_name)
def __repr__(self): def __repr__(self):
return '<%s: %s>' % (self.__class__.__name__, self.name) return '<%s: %s>' % (self.__class__.__name__, self.name)

View File

@ -1,4 +1,4 @@
from django.utils.translation import ugettext as _ from django.utils.translation import ugettext_lazy as _
from django.template.defaultfilters import timesince, floatformat from django.template.defaultfilters import timesince, floatformat
from horizon import tables from horizon import tables