diff options
author | Tina <feministclickback@mail36.net> | 2020-05-12 16:02:02 +0300 |
---|---|---|
committer | Tina <feministclickback@mail36.net> | 2020-05-12 16:02:02 +0300 |
commit | 866677f73327050ae51f40c566b62712efe347ee (patch) | |
tree | 68d72d8dc497142fdf3427f553ab0c6a2dc34ae8 /layouts/partials | |
parent | 685c359ff72fae6e2772333771a9e4692ac0c46a (diff) |
Adjust language switcher for > 2 language
The language switcher didn't work with more than 2 languages, but this
is a fix. It lists all translations first, then sorts them by weight.
Got ideas from this thread: https://discourse.gohugo.io/t/language-switcher-in-menu/11570/7
Diffstat (limited to 'layouts/partials')
-rw-r--r-- | layouts/partials/language-switcher.html | 29 |
1 files changed, 16 insertions, 13 deletions
diff --git a/layouts/partials/language-switcher.html b/layouts/partials/language-switcher.html index 53b0d5e..9a703c0 100644 --- a/layouts/partials/language-switcher.html +++ b/layouts/partials/language-switcher.html @@ -1,13 +1,16 @@ -{{ if .Site.IsMultiLingual }} - <nav class="LangNav"> - {{ range .Site.Languages }} - {{ if eq . $.Site.Language }} - <span class="active language">{{ .LanguageName }}</span> - {{ else }} - {{ range $.Translations }} - <span><a title="{{ .Language.LanguageName }}" href="{{ .Permalink }}" class="">{{ .Language.LanguageName }}</a></span> - {{ end }} - {{ end }} - {{ end }} - </nav> -{{ end }} +<nav class="LangNav"> +{{ $siteLanguages := site.Languages}} +{{ $pageLang := .Page.Lang}} +{{- range .Page.AllTranslations }} + {{ $translation := . }} + {{- range sort $siteLanguages "Weight" "asc" }} + {{- if eq $translation.Lang .Lang }} + {{ if eq $pageLang .Lang}} + <span class="active language">{{ .Params.languageName }}</span> + {{ else }} + <span><a href="{{ $translation.Permalink | relURL }}">{{ .Params.languageName }}</a></span> + {{ end }} + {{- end }} + {{- end }} +{{- end }} +</nav> |