{%- assign posts=site.posts | where:"lang_ref", page.lang_ref | where_exp: "post", "page.lang != post.lang" | sort: 'path' -%} {%- assign pages=site.pages | where:"lang_ref", page.lang_ref | where_exp: "item", "page.lang != item.lang" | sort: 'path' -%} {%- if posts.size > 0 -%} {% assign items = posts %} {%- else -%} {% assign items = pages %} {%- endif -%} {%- comment -%} Only grab elements from the post list, that are the equivalent according to the lang_ref metadata. Also ensure, that only posts are grabbed that have a different language. {%- endcomment -%} {%- assign t = site.data._i18n.translations[page.lang]['global'] -%}

{%- for item in items -%} {%- assign language_text = "lang-" | append: item.lang -%} {%- if forloop.first -%}  {{ t['lang-selector'] }}  {%- endif -%} {{ t[language_text] }} {%- unless forloop.last -%}  |  {%- endunless -%} {%- endfor -%}