diff options
| author | Georg Bauer <gb@hugo.westfalen.de> | 2005-10-01 13:05:57 +0000 |
|---|---|---|
| committer | Georg Bauer <gb@hugo.westfalen.de> | 2005-10-01 13:05:57 +0000 |
| commit | 2c6e366f0ae5cb8167f992adb7d43c0f95fc4018 (patch) | |
| tree | c00ee224ab73e4f8b9d05096b3c9fdd509ba29fa /django | |
| parent | 26bc142f8727e694aae79c690a0549d28b0bb2d9 (diff) | |
i18n: the i18n tag now supports gettext_noop. unittests updated.
git-svn-id: http://code.djangoproject.com/svn/django/branches/i18n@757 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'django')
| -rw-r--r-- | django/core/defaulttags.py | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/django/core/defaulttags.py b/django/core/defaulttags.py index 4e1b4e551c..5898352a10 100644 --- a/django/core/defaulttags.py +++ b/django/core/defaulttags.py @@ -290,7 +290,7 @@ class I18NNode(template.Node): def __init__(self, cmd): self.cmd = cmd - self.i18n_re = re.compile(r'^\s*_\((.*)\)\s*$') + self.i18n_re = re.compile(r'^\s*(_|gettext|gettext_noop)\((.*)\)\s*$') self.ngettext_re = re.compile(r'''^\s*ngettext\(((?:".+")|(?:'.+')|(?:""".+"""))\s*,\s*((?:".+")|(?:'.+')|(?:""".+"""))\s*,\s*(.*)\)\s*$''') def _resolve_var(self, s, context): @@ -307,8 +307,14 @@ class I18NNode(template.Node): def render(self, context): m = self.i18n_re.match(self.cmd) if m: - s = self._resolve_var(m.group(1), context) - return translation.gettext(s) % context + f = m.group(1) + s = self._resolve_var(m.group(2), context) + if f in ('_', 'gettext'): + return translation.gettext(s) % context + elif f == 'gettext_noop': + return translation.gettext_noop(s) % context + else: + raise template.TemplateSyntaxError("i18n only supports _, gettext, gettext_noop and ngettext as functions, not %s" % f) m = self.ngettext_re.match(self.cmd) if m: singular = self._resolve_var(m.group(1), context) |
