{# Komi example sentences are a bit more complex than other dictionaries: * Genre types relate to some data structure grep " 1 121 259 280 593 кынӧмыд кӧ сюмалӧ, сюмӧдав если хочешь есть, навей берёстой желудок - 'normal' исерга сімӧ шог водзӧ серьги ржавеют к беде - TODO: two per бӧрдтӧм кага оз качайтны дитя не плачет — мать не разумеет неплачущего ребёнка не укачивают - TODO: riddle is a bit more tricky: may have multiple , with tType, but then also has an би сьӧлӧма, ва рушкуа, ыргӧн платтьӧа с огненным сердцем, с водяным брюхом, в медном платье самӧвар самовар кузь-кузь мужик да лун и вой юрбитӧ длинный-длинный мужик день и ночь кланяется стоит поп голенаст, он кланяться горазд зыбка, кага лайкан люлька, колыбельный оцеп - TODO: saying optionally has an xtCtn, but not always асъя зэрыд — гӧсьт утренний дождь — гость быстро пройдёт * helps group example translations with annotation nodes () #} {# Convert the text to a localization string #} {%- macro genre_type_text(genre_type) -%} {%- if genre_type == 'saying' -%} {{ gettext("saying") }} {%- elif genre_type == "riddle" -%} {{ gettext("riddle") }} {%- elif genre_type == "proverb" -%} {{ gettext("proverb") }} {%- elif genre_type == "sign" -%} {{ gettext("sign") }} {# these don't have many instances #} {%- elif genre_type == "playOnWords" -%} {{ gettext("play on words") }} {%- elif genre_type == "idiom" -%} {{ gettext("idiom") }} {%- endif -%} {%- endmacro -%} {# Render the example text, and insert the translated genre if one exists #} {%- macro example_text(example, genre_type) %}
{%- if genre_type %}({{- genre_type_text(genre_type) -}}) {% endif -%} {%- if example|xpath('@re') %} {{ example|xpath('./x')|first|text }} ({{ example|xpath('@re')|first }}) {% else %} {{ example|xpath('./x')|first|text }} {% endif -%}
{% endmacro -%} {%- macro example_xtctn(xtctn, genre_type) %} {% set x_text = xtctn|xpath('./xt')|first|text %} {% set annotation = xtctn|xpath('./re') %} {% if annotation %}
{{ x_text }} ({{ annotation|first|text }})
{% else %}
{{ x_text }}
{% endif %} {% endmacro -%} {# TODO: xt @tType="literal" #} {%- macro example_xts(ex, genre_type) %} {% for xt in ex|xpath('./xt') %}
{{ xt|text }}
{% endfor %} {% endmacro -%} {%- macro example_answer(answer, genre_type) %}
{{ gettext("answer")}}: {{ answer|xpath('./native')|first|text }}
{{ answer|xpath('./xt')|first|text }}
{% endmacro -%} {%- macro example_translation(example, genre_type) %} {% set xtctn = example|xpath('./xtCtn')|first %} {% set answer = example|xpath('./answer')|first %} {% if xtctn %} {{ example_xtctn(xtctn, genre_type) }} {% else %} {{ example_xts(example, genre_type) }} {% endif %} {% if answer %} {{ example_answer(answer, genre_type) }} {% endif %} {% endmacro -%} {# TODO: have some JS collapse for long sets of examples? many entries have >5 #}
1 %} data-example-collapse{% endif %}> {% for example in examples %} {% set genre_type = example|xpath('@genreType')|first %} {%- if genre_type %} {% set classes = "example " + genre_type %} {% else %} {% set genre_type = false %} {% set classes = "example" %} {% endif -%}
{{ example_text(example, genre_type) }} {{ example_translation(example, genre_type) }}
{% endfor %}
{# vim: set ts=4 sw=4 tw=72 syntax=htmljinja : #}