На многоязычном сайте, использующем wagtail-modeltranslation (который основан на django-modeltranslation ) Я хочу отображать мой переключатель языка только при наличии соответствующих переводов.
Но я не знаю "недорогого" (например, проверка всех полей перевода вручную) способа проверки на соответствующий перевод.
Мой текущий (на основе шаблонов) переключатель языка:
{% load i18n wagtail_modeltranslation %}
{% get_current_language as CURRENT_LANGUAGE_CODE %}
{% get_available_languages_wmt as languages %}
<div class="language">
{% for language in languages %}
{% if CURRENT_LANGUAGE_CODE == language %}
{{ language }}
{% else %}
<a href="{% change_lang language %}">
{{ language }}
</a>
{% endif %}
{% if not forloop.last %} / {% endif %}
{% endfor %}
</div>
Этот переключатель языка всегда указывает на все определенные языки - текущий экземпляр не был переведен на один из этих языков (будет показан экземпляр на резервном языке). Но я только хочу дать ссылку на переводы, которые уже существуют.
Что-то вроде (! Псевдокод is_translated
!):
{% for language in languages %}
{% if CURRENT_LANGUAGE_CODE == language %}
{{ language }}
{% elif language.is_translated %}
<a href="{% change_lang language %}">
{{ language }}
</a>
{% endif %}
{% endfor %}
Кто-нибудь знает о возможности, как этого добиться?
Я не привязан к своему шаблону, включая приведенный выше фрагмент, он также может быть реализован как TemplateTag или свойство модели или как угодно.
Существует необъявленный PR , который кажется , чтобы удовлетворить эту потребность.