{% extends 'public/base.html' %}
{% block title %}{{ '#' if not is_category|default(false) else '' }}{{ tag_name }} - {{ site_name }}{% endblock %}
{% block meta_description %}{{ tag_name }} — {{ site_name }}{% endblock %}
{% block schema %}
{% endblock %}
{% block hreflang %}
{#- Hub-style hreflang: every active language is an equal version of this
listing. Default language lives on the clean URL, others carry ?lang=.
Emitted on page 1 only — page counts differ per language, so cross-
linking /tag/X?page=3 to /tag/X?lang=de&page=3 could point at a 404.
No x-default: the engine treats all languages as equals (same policy
as the sitemap). -#}
{%- if not request.args.get('page') %}
{%- for version in all_versions %}
{%- if version.language == (default_language or 'en') %}
{%- else %}
{%- endif %}
{%- endfor %}
{%- endif %}
{% endblock %}
{% block content %}
{% set _is_cat = is_category|default(false) %}
{# The category route is /category/; passing tag_name instead
leaves the rule variable unfilled and url_for() raises BuildError -> 500.
Pick the endpoint and its keyword name here, once. #}
{% set _page_endpoint = 'view_category' if _is_cat else 'view_tag' %}
{% set _page_key = {'category_name': category_name} if _is_cat else {'tag_name': tag_name} %}
{# ФИКС 3 (отделяемый) — сохранить язык на 2-й и далее страницах. #}
{% set _page_lang = request.args.get('lang') %}
{{ pt('in_category') if _is_cat else pt('tagged_with') }}