equal
deleted
inserted
replaced
27 def render_i18n_expression(econtext, name): |
27 def render_i18n_expression(econtext, name): |
28 """Render an I18n expression""" |
28 """Render an I18n expression""" |
29 |
29 |
30 name = name.strip() |
30 name = name.strip() |
31 if '.' in name: |
31 if '.' in name: |
32 context_name, attr = name.split('.') |
32 names = name.split('.') |
|
33 context = econtext.get(names[0]) |
|
34 for name in names[1:-1]: |
|
35 context = getattr(context, name) |
|
36 attr = names[-1] |
33 else: |
37 else: |
34 context_name = 'context', |
38 context_name = 'context', |
|
39 context = econtext.get(context_name) |
35 attr = name |
40 attr = name |
36 context = econtext.get(context_name) |
|
37 request = econtext.get('request') |
41 request = econtext.get('request') |
38 return II18n(context).query_attribute(attr, request=request) |
42 return II18n(context).query_attribute(attr, request=request) |
39 |
43 |
40 |
44 |
41 class I18nExpr(ContextExprMixin, StringExpr): |
45 class I18nExpr(ContextExprMixin, StringExpr): |