{% macro onsLanguageSelector(params) %}
    {% set alternativeLanguages = params.languages | rejectattr("current") %}
    {% set languageNumber = params.languages | length %}

    <ul class="ons-language-links{{ ' ons-u-d-no@2xs@m' if languageNumber and languageNumber != 2 }}">
        {% for language in alternativeLanguages %}
            <li class="ons-language-links__item">
                <a
                    href="{{ language.url }}"
                    lang="{{ language.isoCode }}"
                    {% if language.attributes %}{% for attribute, value in (language.attributes) %}{{ ' ' }}{{ attribute }}="{{ value }}"{% endfor %}{% endif %}
                >
                    {# Visually hidden helper text for screenreaders #}
                    <span class="ons-u-vh">{{ (language.srText | default("Change language to")) + ' ' }}</span>
                    {% if language.abbrText %}
                        <span class="ons-u-d-no@s">{{ language.abbrText }}</span><span class="ons-u-d-no@2xs@s">{{- language.text -}}</span>
                    {% else %}
                        {{- language.text -}}
                    {% endif %}
                </a>
            </li>
        {% endfor %}
    </ul>
{% endmacro %}
