зеркало из https://github.com/mozilla/bedrock.git
Added an else clause to l10n blocks.
This commit is contained in:
Родитель
0f5015ccd2
Коммит
c660832f75
|
@ -3,16 +3,18 @@
|
|||
{% block content %}
|
||||
<h1>Hello world!</h1>
|
||||
|
||||
{% l10n foo, 1 %}
|
||||
{% l10n foo, 20110630 %}
|
||||
<p>Localizable, unversioned.</p>
|
||||
{% endl10n %}
|
||||
|
||||
{% l10n bar, 3 %}
|
||||
{% l10n bar, 20110715 %}
|
||||
<p>Localizable, versioned.</p>
|
||||
{% else %}
|
||||
<p>This should always be shown.</p>
|
||||
{% endl10n %}
|
||||
|
||||
{#
|
||||
{% l10n baz, 7 %}
|
||||
{% l10n baz, 20110703 %}
|
||||
<p>Commented out localized block.</p>
|
||||
{% endl10n %}
|
||||
#}
|
||||
|
|
|
@ -28,8 +28,15 @@ class L10nBlockExtension(Extension):
|
|||
else:
|
||||
version = 0 # Default version for unversioned block.
|
||||
|
||||
# Parse content, drop closing tag.
|
||||
body = parser.parse_statements(['name:endl10n'], drop_needle=True)
|
||||
# Parse content.
|
||||
body = parser.parse_statements(['name:else', 'name:endl10n'],
|
||||
drop_needle=False)
|
||||
|
||||
# Translation fallback: If this is followed by an "else" tag, render
|
||||
# that block instead.
|
||||
end_tag = parser.stream.expect('name') # Either else or endl10n.
|
||||
if end_tag.value == 'else':
|
||||
body = parser.parse_statements(['name:endl10n'], drop_needle=True)
|
||||
|
||||
# Build regular block node with special node name and remember version.
|
||||
node = nodes.Block()
|
||||
|
|
Загрузка…
Ссылка в новой задаче