feat: if current page has i18n version, language switcher will redirect to there instead of homepage (#1237)

feat: if current page has i18n version, language switcher will redirect to there
This commit is contained in:
Jimmy
2026-01-25 23:55:50 +01:00
committed by GitHub
parent d002c0d0d9
commit 35cba14cde
+9 -5
View File
@@ -77,18 +77,22 @@
<li class="menu-bottom-section"> <li class="menu-bottom-section">
<ol class="menu"> <ol class="menu">
{{- $currentLanguageCode := .Language.Lang -}} {{- $currentLanguageCode := .Language.Lang -}}
{{ if ( compare.Gt .Site.Home.AllTranslations.Len 1 ) }} {{ if hugo.IsMultilingual }}
{{ with .Site.Home.AllTranslations }}
<li id="i18n-switch"> <li id="i18n-switch">
{{ partial "helper/icon" "language" }} {{ partial "helper/icon" "language" }}
<select name="language" title="language" onchange="window.location.href = this.selectedOptions[0].value"> <select name="language" title="language" onchange="window.location.href = this.selectedOptions[0].value">
{{ range . }} {{ range .Site.Home.AllTranslations }}
<option value="{{ .RelPermalink }}" {{ if eq .Language.Lang $currentLanguageCode }}selected{{ end }}>{{ .Language.LanguageName }}</option> {{ $target := . }}
{{ range $.AllTranslations }}
{{ if eq .Language.Lang $target.Language.Lang }}
{{ $target = . }}
{{ end }}
{{ end }}
<option value="{{ $target.RelPermalink }}" {{ if eq $target.Language.Lang $currentLanguageCode }}selected{{ end }}>{{ .Language.LanguageName }}</option>
{{ end }} {{ end }}
</select> </select>
</li> </li>
{{ end }} {{ end }}
{{ end }}
{{ if (default false .Site.Params.colorScheme.toggle) }} {{ if (default false .Site.Params.colorScheme.toggle) }}
<li id="dark-mode-toggle"> <li id="dark-mode-toggle">