langs/i18n: Fix for bare TOML keys

Hugo 0.76.0 updated go-i18n from v1 to v2. This allowed us to set the TOML unmarshaler to use, so we set the one we use in other places in Hugo.

But that does not support dotted bare keys, which caused some breakage in the wild.

This commit fixes that by:

* Using go-toml for language files
* Updating go-toml to the latest version
This commit is contained in:
Bjørn Erik Pedersen
2020-10-08 09:37:40 +02:00
parent 18ed22be5c
commit fc6abc39c7
4 changed files with 18 additions and 2 deletions

View File

@@ -199,6 +199,20 @@ other = "{{ .Count }} minuttar lesing"`),
expected: "3 minuttar lesing",
expectedFlag: "3 minuttar lesing",
},
// https://github.com/gohugoio/hugo/issues/7794
{
name: "dotted-bare-key",
data: map[string][]byte{
"en.toml": []byte(`"shop_nextPage.one" = "Show Me The Money"
`),
},
args: nil,
lang: "en",
id: "shop_nextPage.one",
expected: "Show Me The Money",
expectedFlag: "Show Me The Money",
},
}
func doTestI18nTranslate(t testing.TB, test i18nTest, cfg config.Provider) string {

View File

@@ -20,9 +20,9 @@ import (
"golang.org/x/text/language"
yaml "gopkg.in/yaml.v2"
"github.com/BurntSushi/toml"
"github.com/gohugoio/hugo/helpers"
"github.com/nicksnyder/go-i18n/v2/i18n"
toml "github.com/pelletier/go-toml"
"github.com/gohugoio/hugo/deps"
"github.com/gohugoio/hugo/hugofs"