Changeset 6679
- Timestamp:
- 11/16/07 22:04:12 (1 year ago)
- Files:
-
- django/trunk/django/template/__init__.py (modified) (3 diffs)
- django/trunk/tests/regressiontests/templates/tests.py (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
django/trunk/django/template/__init__.py
r6671 r6679 679 679 self.literal = None 680 680 self.lookups = None 681 self.translate = False 681 682 682 683 try: … … 699 700 except ValueError: 700 701 # A ValueError means that the variable isn't a number. 702 if var.startswith('_(') and var.endswith(')'): 703 # The result of the lookup should be translated at rendering 704 # time. 705 self.translate = True 706 var = var[2:-1] 701 707 # If it's wrapped with quotes (single or double), then 702 708 # we're also dealing with a literal. 703 709 if var[0] in "\"'" and var[0] == var[-1]: 704 710 self.literal = var[1:-1] 705 706 711 else: 707 712 # Otherwise we'll set self.lookups so that resolve() knows we're … … 713 718 if self.lookups is not None: 714 719 # We're dealing with a variable that needs to be resolved 715 returnself._resolve_lookup(context)720 value = self._resolve_lookup(context) 716 721 else: 717 722 # We're dealing with a literal, so it's already been "resolved" 718 return self.literal 723 value = self.literal 724 if self.translate: 725 return _(value) 726 return value 719 727 720 728 def __repr__(self): django/trunk/tests/regressiontests/templates/tests.py
r6673 r6679 735 735 'i18n12': ('{% load i18n %}{% get_available_languages as langs %}{% for lang in langs %}{% ifequal lang.0 "de" %}{{ lang.0 }}{% endifequal %}{% endfor %}', {}, 'de'), 736 736 737 # translation of a constant string737 # translation of constant strings 738 738 'i18n13': ('{{ _("Page not found") }}', {'LANGUAGE_CODE': 'de'}, 'Seite nicht gefunden'), 739 'i18n14': ('{% cycle "foo" _("Password") _(\'Password\') as c %} {% cycle c %} {% cycle c %}', {'LANGUAGE_CODE': 'de'}, 'foo Passwort Passwort'), 740 'i18n15': ('{{ absent|default:_("Password") }}', {'LANGUAGE_CODE': 'de', 'absent': ""}, 'Passwort'), 739 741 740 742 ### HANDLING OF TEMPLATE_STRING_IF_INVALID ###################################
