Hello ![]()
i’m trying to create a switcher language on blog but i can’t sort the languages by country.
My switcher :
and what i want :
{% elif group.translations %}
<ul class="dropdown menu country-list" data-dropdown-menu>
{% set currLang = locale_name(locale) %}
{% set codesLang = {'English' : 'en', 'Français - France' : 'fr-fr', 'Français' : 'fr' ,'Français - Luxembourg' : 'fr-lu', 'Français - Belgique' : 'fr-be', 'Nederlands' :'nl', 'Nederlands - België' || 'Nederlands - Belgique' : 'nl-be' } %}
<li class="">
<a class="lang-select" href="#" data-country="{{ codesLang[currLang]| truncate (2, true, '') }}" data-lang="{{ codesLang[currLang] }}">
<img class="lang-flag" src="https://ressources.birdee.co/hubfs/Media/Common/{{ codesLang[currLang] }}.svg">
{{ currLang }}
</a>
</li>
{% for item in group.translations|sort(False, False, 'language') %}
{% if item.language == 'fr' %}
{% set name = 'Français' %}
{% set country = 'France' %}
{% set data = 'fr' %}
{% elif item.language == 'fr-fr' %}
{% set name = 'Français - France' %}
{% set country = 'France' %}
{% set data = 'fr' %}
{% elif item.language == 'en' %}
{% set name = 'English' %}
{% set country = 'Europe' %}
{% set data = 'eu' %}
{% elif item.language == 'fr-be' %}
{% set name = 'Français - Belgique' %}
{% set country = 'Belgique' %}
{% set data = 'be' %}
{% elif item.language == 'nl-be' %}
{% set name = 'Nederlands - Belgium' %}
{% set country = 'Belgique' %}
{% set data = 'be' %}
{% elif item.language == 'nl' %}
{% set name = 'Nederlands' %}
{% set country = 'Nederlands' %}
{% set data = 'nl' %}
{% elif item.language == 'fr-lu' %}
{% set name = 'Français - Luxembourg' %}
{% set country = 'Luxembourg' %}
{% set data = 'lu' %}
{% endif %}
<li class="menu desktop-lang">
<ul class="others-lang--menu">
<li class="other-lang">
<span class="langTitle">
<span class="flag">
<img src="https://ressources.birdee.co/hubfs/Media/Common/{{ item.language }}.svg" class="dd-selected-image">
</span>
{{ country }}
</span>
<a class="lang-option" href="{{ item.absolute_url }}" data-country="{{ data }}" data-lang="{{ item.language }}">
{{name}}
</a>
</li>
</ul>
</li>
{% endfor %}
</ul>
{% endif %}
And second question, in the articles, the switcher isn’t the same as on blog-archive, how can i display only the languages whose articles are translated :
{% if content.translated_content|length %}
<ul class="dropdown menu country-list" data-dropdown-menu>
{% set currLang = locale_name(locale) %}
{% set codes = {'English' : 'en', 'Français' : 'fr', 'Français - France' : 'fr-fr', 'Nederlands - Belgium' :'nl-be', 'Français - Luxembourg' : 'fr-lu' } %}
<li class="">
<a class="lang-select" href="#"><img class="lang-flag" src="https://ressources.birdee.co/hubfs/{{ codes[currLang] }}.svg" data-country="{{ codes[currLang]| truncate (2, true, '') }}" data-lang="{{ codes[currLang] }}">{{ currLang }}</a>
</li>
<li class="menu desktop-lang">
<ul class="others-lang--menu">
{% for key, val in codes.items() %}
{% if val == 'fr' || val == 'fr-fr' %}
{% set name = 'Français' %}
{% set country = 'France' %}
{% set data = 'fr' %}
{% elif val == 'en' %}
{% set name = 'English' %}
{% set country = 'Europe' %}
{% set data = 'eu' %}
{% elif val == 'fr-be' %}
{% set name = 'Français - Belgique' %}
{% set country = 'Belgique' %}
{% set data = 'be' %}
{% elif val == 'nl-be' %}
{% set name = 'Nederlands - Belgium' %}
{% set country = 'Belgique' %}
{% set data = 'be' %}
{% elif val == 'nl' %}
{% set name = 'Nederlands' %}
{% set country = 'Nederlands' %}
{% set data = 'nl' %}
{% elif val == 'fr-lu' %}
{% set name = 'Français - Luxembourg' %}
{% set country = 'Luxembourg' %}
{% set data = 'lu' %}
{% endif %}
{% set URL = "/"~content.translated_content[val].slug || val %}
<li class="menu desktop-lang">
<ul class="others-lang--menu">
<li class="other-lang">
<span class="langTitle">
<span class="flag">
<img src="https://ressources.birdee.co/hubfs/{{val}}.svg" class="dd-selected-image">
</span>
{{ country }}
</span>
<a class="lang-option" href="{{ URL }}" data-country="{{ data }}" data-lang="{{ val }}">{{key}}</a>
</li>
</ul>
</li>
{% endfor %}
</ul>
</li>
</ul>
i use the same code ![]()
Thank you very much.

