I had a similar encounter. What I did was to switch to .Site.Params
instead of site.Params
.
So now my language selectors are something like this:
<a href="{{ .Permalink }}" lang="{{ .Site.LanguageCode }}" class="translation-active" title="{{ .Site.Language.LanguageName }}"><span class="lang-flag-large">{{ .Site.Params.languageFlag }}</span></a>
{{ if .IsTranslated }}
{{ range .Translations }}
<a href="{{ .Permalink }}" lang="{{ .Site.LanguageCode }}" class="translation-alt" title="{{ .Site.Language.LanguageName }}" rel="alternate"><span class="lang-flag-large">{{ .Site.Params.languageFlag }}</span></a>
{{ end }}
{{ else }}
{{ range .Site.Languages }}
{{ if ne .Lang $.Site.Language.Lang }}
<span class="translation-none lang-flag-large" title="{{ .LanguageName }}">{{ $.Site.Params.languageFlag }}</span>
{{ end }}
{{ end }}
{{ end }}