Add Language.LanguageName - hugo - [fork] hugo port for 9front
 (HTM) git clone git@git.drkhsh.at/hugo.git
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) Submodules
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit 69a97823c4dbf32acc2fb5e8e23b2d953730ab24
 (DIR) parent a7dc3c082e3c1e6ae7349f8b59f0d40da1cae664
 (HTM) Author: Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
       Date:   Mon, 12 Sep 2016 20:57:52 +0200
       
       Add Language.LanguageName
       
       Fixes #2435
       
       Diffstat:
         M helpers/language.go                 |      11 ++++++-----
         M hugolib/hugo_sites_test.go          |      41 ++++++++++++++++++++-----------
         M hugolib/multilingual.go             |       2 ++
       
       3 files changed, 35 insertions(+), 19 deletions(-)
       ---
 (DIR) diff --git a/helpers/language.go b/helpers/language.go
       @@ -24,11 +24,12 @@ import (
        )
        
        type Language struct {
       -        Lang       string
       -        Title      string
       -        Weight     int
       -        params     map[string]interface{}
       -        paramsInit sync.Once
       +        Lang         string
       +        LanguageName string
       +        Title        string
       +        Weight       int
       +        params       map[string]interface{}
       +        paramsInit   sync.Once
        }
        
        func (l *Language) String() string {
 (DIR) diff --git a/hugolib/hugo_sites_test.go b/hugolib/hugo_sites_test.go
       @@ -271,9 +271,10 @@ func doTestMultiSitesBuild(t *testing.T, configContent, configSuffix string) {
                require.Len(t, homeEn.Translations(), 3)
                require.Equal(t, "fr", homeEn.Translations()[0].Lang())
                require.Equal(t, "nn", homeEn.Translations()[1].Lang())
       -        require.Equal(t, "Nynorsk", homeEn.Translations()[1].Title)
       +        require.Equal(t, "På nynorsk", homeEn.Translations()[1].Title)
                require.Equal(t, "nb", homeEn.Translations()[2].Lang())
       -        require.Equal(t, "Bokmål", homeEn.Translations()[2].Title)
       +        require.Equal(t, "På bokmål", homeEn.Translations()[2].Title, configSuffix)
       +        require.Equal(t, "Bokmål", homeEn.Translations()[2].Language().LanguageName, configSuffix)
        
                sectFr := frSite.getNode("sect-sect-0")
                require.NotNil(t, sectFr)
       @@ -626,7 +627,8 @@ tag = "tags"
        [Languages]
        [Languages.en]
        weight = 10
       -title = "English"
       +title = "In English"
       +languageName = "English"
        [Languages.en.blackfriday]
        angledQuotes = false
        [[Languages.en.menu.main]]
       @@ -636,13 +638,15 @@ weight = 0
        
        [Languages.fr]
        weight = 20
       -title = "Français"
       +title = "Le Français"
       +languageName = "Français"
        [Languages.fr.Taxonomies]
        plaque = "plaques"
        
        [Languages.nn]
        weight = 30
       -title = "Nynorsk"
       +title = "På nynorsk"
       +languageName = "Nynorsk"
        [Languages.nn.Taxonomies]
        lag = "lag"
        [[Languages.nn.menu.main]]
       @@ -652,7 +656,8 @@ weight = 1
        
        [Languages.nb]
        weight = 40
       -title = "Bokmål"
       +title = "På bokmål"
       +languageName = "Bokmål"
        [Languages.nb.Taxonomies]
        lag = "lag"
        `
       @@ -679,7 +684,8 @@ Taxonomies:
        Languages:
            en:
                weight: 10
       -        title: "English"
       +        title: "In English"
       +        languageName: "English"
                blackfriday:
                    angledQuotes: false
                menu:
       @@ -689,12 +695,14 @@ Languages:
                          weight: 0
            fr:
                weight: 20
       -        title: "Français"
       +        title: "Le Français"
       +        languageName: "Français"
                Taxonomies:
                    plaque: "plaques"
            nn:
                weight: 30
       -        title: "Nynorsk"
       +        title: "På nynorsk"
       +        languageName: "Nynorsk"
                Taxonomies:
                    lag: "lag"
                menu:
       @@ -704,7 +712,8 @@ Languages:
                          weight: 1
            nb:
                weight: 40
       -        title: "Bokmål"
       +        title: "På bokmål"
       +        languageName: "Bokmål"
                Taxonomies:
                    lag: "lag"
        
       @@ -731,7 +740,8 @@ var multiSiteJSONConfig = `
          "Languages": {
            "en": {
              "weight": 10,
       -      "title": "English",
       +      "title": "In English",
       +      "languageName": "English",
              "blackfriday": {
                "angledQuotes": false
              },
       @@ -747,14 +757,16 @@ var multiSiteJSONConfig = `
            },
            "fr": {
              "weight": 20,
       -      "title": "Français",
       +      "title": "Le Français",
       +      "languageName": "Français",
              "Taxonomies": {
                "plaque": "plaques"
              }
            },
            "nn": {
              "weight": 30,
       -      "title": "Nynorsk",
       +      "title": "På nynorsk",
       +      "languageName": "Nynorsk",
              "Taxonomies": {
                "lag": "lag"
              },
       @@ -770,7 +782,8 @@ var multiSiteJSONConfig = `
            },
            "nb": {
              "weight": 40,
       -      "title": "Bokmål",
       +      "title": "På bokmål",
       +      "languageName": "Bokmål",
              "Taxonomies": {
                "lag": "lag"
              }
 (DIR) diff --git a/hugolib/multilingual.go b/hugolib/multilingual.go
       @@ -96,6 +96,8 @@ func toSortedLanguages(l map[string]interface{}) (helpers.Languages, error) {
                                switch loki {
                                case "title":
                                        language.Title = cast.ToString(v)
       +                        case "languagename":
       +                                language.LanguageName = cast.ToString(v)
                                case "weight":
                                        language.Weight = cast.ToInt(v)
                                }