{% set nameR = app.request.attributes.get('_route') %}{% set nameR = nameR | replace({'locale_': ''}) %}{% set available_locales = app_locales|split('|') %}<li class="d-inline-block"> <a href="#" class="hstack gap-1 text-none fw-medium" role="button" aria-haspopup="true" aria-expanded="false"> <i class="icon icon-1 unicon-wikis"></i> <span>{{ language_names[app.request.locale] | default(app.request.locale|upper) }}</span> </a> <div class="w-200px py-1 bg-white dark:bg-gray-700 shadow-xs rounded-2" data-uc-drop="mode: click; offset: 0; pos: top-right; boundary: !.uc-navbar-container; animation: uc-animation-slide-top-small; duration: 150;"> <ul class="nav-y gap-0 fs-7"> {% for locale in available_locales %} <li> {% if locale == app.request.locale %} {# Langue actuelle - non cliquable #} <span class="w-100 p-1 px-2 hover:bg-gray-600 hover:bg-opacity-5 dark:hover:bg-white duration-150"> <img class="w-20px rounded-1 me-1 rtl:me-0 rtl:ms-1" src="/assets/lexend/images/common/{{ locale }}.svg" alt="{{ language_names[locale] }}" /> {{ language_names[locale] | default(locale|upper) }} </span> {% else %} {% if locale == 'en' %} {# Pour l'anglais, utiliser votre logique #} {% set articleLocale = getPathArticleLocale(locale,article.identifiant) %} {% if articleLocale %} {% set urlArticle = '/' ~ path('blog_article',{'slug': articleLocale.slug}) %} {% if articleLocale.pageslug3 is not empty %} {% set urlArticle = '/' ~ articleLocale.pageslug ~ '/' ~ articleLocale.pageslug2 ~ '/' ~ articleLocale.pageslug3 %} {% elseif article.pageslug2 is not empty %} {% set urlArticle = '/' ~ articleLocale.pageslug ~ '/' ~ articleLocale.pageslug2 %} {% elseif article.pageslug is not empty %} {% set urlArticle = '/' ~ articleLocale.pageslug %} {% endif %} <a href="{{ urlArticle }}" class="w-100 p-1 px-2 hover:bg-gray-600 hover:bg-opacity-5 dark:hover:bg-white duration-150" hreflang="{{ locale }}"> <img class="w-20px rounded-1 me-1 rtl:me-0 rtl:ms-1" src="/assets/lexend/images/common/{{ locale }}.svg" alt="{{ language_names[locale] }}" /> {{ language_names[locale] }} </a> {% else %} {# Pas d'article dans cette langue - span sans lien #} <span class="w-100 p-1 px-2 text-gray-400 dark:text-gray-500 cursor-not-allowed"> <img class="w-20px rounded-1 me-1 rtl:me-0 rtl:ms-1 opacity-50" src="/assets/lexend/images/common/{{ locale }}.svg" alt="{{ language_names[locale] }}" /> {{ language_names[locale] }} </span> {% endif %} {% else %} {# Pour les autres langues, utiliser votre logique #} {% set articleLocale = getPathArticleLocale(locale,article.identifiant) %} {% if articleLocale %} {% set urlArticle = '/' ~ locale ~ path('blog_article',{'slug': articleLocale.slug}) %} {% if articleLocale.pageslug3 is not empty %} {% set urlArticle = '/' ~ locale ~ '/' ~ articleLocale.pageslug ~ '/' ~ articleLocale.pageslug2 ~ '/' ~ articleLocale.pageslug3 %} {% elseif article.pageslug2 is not empty %} {% set urlArticle = '/' ~ locale ~ '/' ~ articleLocale.pageslug ~ '/' ~ articleLocale.pageslug2 %} {% elseif article.pageslug is not empty %} {% set urlArticle = '/' ~ locale ~ '/' ~ articleLocale.pageslug %} {% endif %} <a href="{{ urlArticle }}" class="w-100 p-1 px-2 hover:bg-gray-600 hover:bg-opacity-5 dark:hover:bg-white duration-150" hreflang="{{ locale }}"> <img class="w-20px rounded-1 me-1 rtl:me-0 rtl:ms-1" src="/assets/lexend/images/common/{{ locale }}.svg" alt="{{ language_names[locale] }}" /> {{ language_names[locale] }} </a> {% else %} {# Pas d'article dans cette langue - span sans lien #} <span class="w-100 p-1 px-2 text-gray-400 dark:text-gray-500 cursor-not-allowed"> <img class="w-20px rounded-1 me-1 rtl:me-0 rtl:ms-1 opacity-50" src="/assets/lexend/images/common/{{ locale }}.svg" alt="{{ language_names[locale] }}" /> {{ language_names[locale] }} </span> {% endif %} {% endif %} {% endif %} </li> {% endfor %} </ul> </div></li>