]> git.maquefel.me Git - brevno-suite/hugo/commitdiff
Add language.LanguageCode
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Sat, 27 May 2023 13:44:41 +0000 (15:44 +0200)
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Sat, 27 May 2023 14:56:54 +0000 (16:56 +0200)
But keep an alias at Site

Closes #11027

hugolib/config_test.go
hugolib/site_new.go
langs/config.go
langs/language.go
resources/page/site.go

index 2f9c6e3f6788d728b2b2eb80a9fafcbcbff5c06d..f742eb862f1db070dfc8582330795f5353b06968 100644 (file)
@@ -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|
 
 `)
 
index e5398ba8d3dfbc08c75b2a7f549e509d852a606c..4b3a28bddf1db8250453f0a9115bb957e30855ed 100644 (file)
@@ -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.
index 3c72783881f6212b0a50b3cfda3367fe455a5148..15c0bedbc42ade2d66bcc7c39c3482fae1d9c9b6 100644 (file)
@@ -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
index 232331cae88be6e60dbd0c70468704218975ce04..a1b8f432680b076fdaa18de44532b278dae4056e 100644 (file)
@@ -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 {
index da97dfe6e543bf41a4013a6623f346f1c7464459..ccc36a4eebb9a51061d4afc5cbc4f4524d4116ce 100644 (file)
@@ -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.