{% set available_locales = app_locales|split('|') %}{% if page is not empty %} {% set current_locale = app.request.locale %} {% set current_url = app.request.schemeAndHttpHost ~ app.request.basePath ~ app.request.pathInfo %} {% set domain_urls = {} %} {% for locale in available_locales %} {% set locale_path = getPathPageHasLanguages(page.id, locale) %} {% if locale_path %} {% if locale == default_locale %} {% set locale_url = domain ~ locale_path %} {% else %} {% set locale_url = domain ~ '/' ~ locale ~ locale_path %} {% endif %} {% if locale == current_locale %} {% set locale_url = current_url %} {% endif %} {% set domain_urls = domain_urls|merge({(locale): locale_url}) %} {% endif %} {% endfor %} <link rel="canonical" href="{{ current_url }}" /> {% if domain_urls.en is defined %} <link rel="alternate" hreflang="x-default" href="{{ domain_urls.en }}" /> {% endif %} {% for locale in available_locales %} {% if domain_urls[locale] is defined %} <link rel="alternate" hreflang="{{ locale }}" href="{{ domain_urls[locale] }}" /> {% endif %} {% endfor %}{% endif %}