<div class="languages">
{% if language is not defined %}
{% set language = languageMgr.getCurrentLanguage() %}
{% else %}
{{ languageMgr.switchTo(language) }}
{% endif %}
{% set route = app.request.attributes.get('_route') %}
{% set params = app.request.attributes.get('_route_params') %}
{% if params %}
{% for locale in locales %}
{% if not loop.first %}|{% endif %}
{% if locale != app.request.locale %}
{% if route == 'product' %}
{% set descr = product.getProductDescription(locale) %}
{% set params = params|merge({'_locale': locale, 'url':descr.url}) %}
{% elseif (route == 'category') or (route == 'universe') %}
{% set descr = category.getCategoryDescription(locale) %}
{% set params = params|merge({'_locale': locale, 'url':descr.url}) %}
{% elseif route == 'page' %}
{% set descr = page.getPageDescription(locale) %}
{% set params = params|merge({'_locale': locale, 'url':descr.url}) %}
{% elseif route == 'manufacturer' %}
{% set descr = manufacturer.getManufacturerDescription(locale) %}
{% set params = params|merge({'_locale': locale, 'url':descr.url}) %}
{% else %}
{% set params = params|merge({'_locale': locale}) %}
{% endif %}
{% set redirect = path(route, params) %}
<a href="{{ redirect }}" onclick="document.location = atob('{{ path('change_locale',{_locale:locale,redirect:redirect})|raw|base64_encode }}'); return false;">{{ locale }}</a>
{% else %}
<span>{{ locale }}</span>
{% endif %}
{% endfor %}
{% endif %}
</div>