templates/app/partials/languageswitch.html.twig line 1

Open in your IDE?
  1. {% if theme == 'light' %}
  2.     {% set backgroundClass = 'bg-white' %}
  3.     {% set colorClass = 'text-gray-900' %}
  4. {% elseif theme == 'dark' %}
  5.     {% set backgroundClass = 'bg-gray-900' %}
  6.     {% set colorClass = 'text-white' %}
  7. {% elseif theme == 'header' %}
  8.     {% set backgroundClass = 'bg-gray-100' %}
  9.     {% set colorClass = 'text-gray-900' %}
  10. {% endif %}
  11. <div class="flex items-center">
  12.     <div class="z-30 inline-block {{ colorClass }}"
  13.          x-data="{ isOpen: false }"
  14.          @click.outside="isOpen = false"
  15.          x-on:resize.window="isOpen = false"
  16.     >
  17.         <button @click="isOpen = !isOpen"
  18.                 class="flex text-xs items-center px-[7px] py-[5px] font-bold leading-none rounded shadow cursor-pointer focus:outline-none {{ backgroundClass }}"
  19.                 :class="{'shadow-none': open}"
  20.         >
  21.             <span class="block w-4 mr-2">
  22.                 <img
  23.                     class="language-switcher-img ls-languageswitch::get_language_flag_by_locale({{ app.request.locale }})"
  24.                     src="{{ get_language_flag_by_locale(app.request.locale) }}"
  25.                     alt="{{ app.request.locale }}"
  26.                     height="20" width="25">
  27.             </span>
  28.             {% if app.request.locale  == 'en' %}
  29.                 {{ 'International' }}
  30.             {% elseif app.request.locale  == 'nl' %}
  31.                 {{ 'Nederland' }}
  32.             {% elseif app.request.locale  == 'de' %}
  33.                 {{ 'Deutschland' }}
  34.             {% elseif app.request.locale  == 'fr' %}
  35.                 {{ 'France' }}
  36.             {% elseif app.request.locale  == 'de_AT' %}
  37.                 {{ 'Österreich' }}
  38.             {% elseif app.request.locale  == 'de_CH' %}
  39.                 {{ 'Schweiz' }}
  40.             {% elseif app.request.locale  == 'fr_CH' %}
  41.                 {{ 'Suisse' }}
  42.             {% elseif app.request.locale  == 'nl_BE' %}
  43.                 {{ 'België' }}
  44.             {% elseif app.request.locale  == 'fr_BE' %}
  45.                 {{ 'Belgique' }}
  46.             {% else %}
  47.                 {{ app.request.locale }}
  48.             {% endif %}
  49.             <span :class="{'rotate-180': isOpen}"
  50.                   class="inline-block w-3.5 h-2 ml-2 mr-1 transform fill-current scale-75 {{ colorClass }}">
  51.                 <svg xmlns="http://www.w3.org/2000/svg" width="16" height="10"><path fill="currentColor" fill-rule="evenodd" d="m.39 2.36 6.73 6.964c.24.248.575.388.926.388.35 0 .685-.14.925-.388l6.732-6.964a1.206 1.206 0 0 0-.068-1.748l-.114-.09a1.297 1.297 0 0 0-1.669.154L8.045 6.684 2.239.677A1.295 1.295 0 0 0 .456.612 1.205 1.205 0 0 0 .389 2.36Z"></path></svg>
  52.                 </span>
  53.         </button>
  54.         <ul x-show="isOpen"
  55.             class="absolute py-1 my-0.5 font-bold text-indigo-600 rounded shadow w-22 {{ backgroundClass }}"
  56.             x-transition:enter="transition ease-out duration-300"
  57.             x-transition:enter-start="opacity-0 transform -translate-y-2"
  58.             x-transition:enter-end="opacity-100 transform translate-y-0"
  59.             x-transition:leave="transition ease-in duration-300"
  60.             x-transition:leave-end="opacity-0 transform -translate-y-3"
  61.             style="display:none;"
  62.         >
  63.             {% for link, text in get_localized_links(document) %}
  64.                 <li>
  65.                     <a href="{{ link | trimUrl }}"
  66.                        class="flex text-xs items-center px-[7px] py-[5px] leading-none hover:bg-white hover:bg-opacity-5">
  67.                         <span class="block w-4 mr-2">
  68.                             <img
  69.                                 class="language-switcher-img ls-languageswitch-get_language_flag({{ link }})"
  70.                                 src="{{ get_language_flag(link) }}"
  71.                                 alt="{{ text }}"
  72.                                 height="20" width="25"
  73.                             >
  74.                         </span>
  75.                         {% if text == 'en' %}
  76.                             {{ 'International' }}
  77.                         {% elseif text == 'nl' %}
  78.                             {{ 'Nederland' }}
  79.                         {% elseif text == 'de' %}
  80.                             {{ 'Deutschland' }}
  81.                         {% elseif text == 'fr' %}
  82.                             {{ 'France' }}
  83.                         {% elseif text == 'de_AT' %}
  84.                             {{ 'Österreich' }}
  85.                         {% elseif text == 'de_CH' %}
  86.                             {{ 'Schweiz' }}
  87.                         {% elseif text == 'fr_CH' %}
  88.                             {{ 'Suisse' }}
  89.                         {% elseif text == 'nl_BE' %}
  90.                             {{ 'België' }}
  91.                         {% elseif text == 'fr_BE' %}
  92.                             {{ 'Belgique' }}
  93.                         {% else %}
  94.                             {{ text }}
  95.                         {% endif %}
  96.                     </a>
  97.                 </li>
  98.             {% endfor %}
  99.         </ul>
  100.     </div>
  101. </div>