diff --git a/hugolib/config_test.go b/hugolib/config_test.go index 2f9c6e3f6..f742eb862 100644 --- a/hugolib/config_test.go +++ b/hugolib/config_test.go @@ -824,6 +824,7 @@ baseURL = "https://example.com" disableKinds = ["taxonomy", "term", "RSS", "sitemap", "robotsTXT"] [languages] [languages.en] +languageCode = "en-US" title = "English Title" [languages.en.params] myparam = "enParamValue" @@ -840,6 +841,7 @@ title: "My English Section" title: "My Swedish Section" --- -- layouts/index.html -- +LanguageCode: {{ eq site.LanguageCode site.Language.LanguageCode }}|{{ site.Language.LanguageCode }}| {{ range $i, $e := (slice site .Site) }} {{ $i }}|AllPages: {{ len .AllPages }}|Sections: {{ if .Sections }}true{{ end }}| Author: {{ .Authors }}|BuildDrafts: {{ .BuildDrafts }}|IsMultiLingual: {{ .IsMultiLingual }}|Param: {{ .Language.Params.myparam }}|Language string: {{ .Language }}|Languages: {{ .Languages }} {{ end }} @@ -863,10 +865,12 @@ Sections: true| Param: enParamValue Param: enParamValue IsMultiLingual: true +LanguageCode: true|en-US| `) b.AssertFileContent("public/sv/index.html", ` -Param: svParamValue +Param: svParamValue +LanguageCode: true|sv| `) diff --git a/hugolib/site_new.go b/hugolib/site_new.go index e5398ba8d..4b3a28bdd 100644 --- a/hugolib/site_new.go +++ b/hugolib/site_new.go @@ -361,10 +361,7 @@ func (s *Site) Config() page.SiteConfig { } func (s *Site) LanguageCode() string { - if s.conf.LanguageCode != "" { - return s.conf.LanguageCode - } - return s.language.Lang + return s.Language().LanguageCode() } // Returns all Sites for all languages. diff --git a/langs/config.go b/langs/config.go index 3c7278388..15c0bedbc 100644 --- a/langs/config.go +++ b/langs/config.go @@ -24,6 +24,9 @@ type LanguageConfig struct { // The language name, e.g. "English". LanguageName string + // The language code, e.g. "en-US". + LanguageCode string + // The language title. When set, this will // override site.Title for this language. Title string diff --git a/langs/language.go b/langs/language.go index 232331cae..a1b8f4326 100644 --- a/langs/language.go +++ b/langs/language.go @@ -102,6 +102,13 @@ func (l *Language) Params() maps.Params { return l.params } +func (l *Language) LanguageCode() string { + if l.LanguageConfig.LanguageCode != "" { + return l.LanguageConfig.LanguageCode + } + return l.Lang +} + func (l *Language) loadLocation(tzStr string) error { location, err := time.LoadLocation(tzStr) if err != nil { diff --git a/resources/page/site.go b/resources/page/site.go index da97dfe6e..ccc36a4ee 100644 --- a/resources/page/site.go +++ b/resources/page/site.go @@ -65,6 +65,7 @@ type Site interface { Title() string // Returns the configured language code for this Site. + // Deprecated: Use .Language.LanguageCode instead. LanguageCode() string // Returns the configured copyright information for this Site.