mirror of
https://github.com/gohugoio/hugo.git
synced 2025-08-26 22:04:32 +02:00
lang/i18n: Fix for language code case issue with pt-br etc.
Fixes #7804
This commit is contained in:
@@ -36,7 +36,7 @@ type LanguagesConfig struct {
|
||||
|
||||
func LoadLanguageSettings(cfg config.Provider, oldLangs Languages) (c LanguagesConfig, err error) {
|
||||
|
||||
defaultLang := cfg.GetString("defaultContentLanguage")
|
||||
defaultLang := strings.ToLower(cfg.GetString("defaultContentLanguage"))
|
||||
if defaultLang == "" {
|
||||
defaultLang = "en"
|
||||
cfg.Set("defaultContentLanguage", defaultLang)
|
||||
|
@@ -66,12 +66,11 @@ func (t Translator) Func(lang string) translateFunc {
|
||||
func (t Translator) initFuncs(bndl *i18n.Bundle) {
|
||||
enableMissingTranslationPlaceholders := t.cfg.GetBool("enableMissingTranslationPlaceholders")
|
||||
for _, lang := range bndl.LanguageTags() {
|
||||
|
||||
currentLang := lang
|
||||
currentLangStr := currentLang.String()
|
||||
currentLangKey := strings.TrimPrefix(currentLangStr, artificialLangTagPrefix)
|
||||
// This may be pt-BR; make it case insensitive.
|
||||
currentLangKey := strings.ToLower(strings.TrimPrefix(currentLangStr, artificialLangTagPrefix))
|
||||
localizer := i18n.NewLocalizer(bndl, currentLangStr)
|
||||
|
||||
t.translateFuncs[currentLangKey] = func(translationID string, templateData interface{}) string {
|
||||
|
||||
var pluralCount interface{}
|
||||
|
@@ -226,6 +226,18 @@ one = "abc"`),
|
||||
expected: "Show Me The Money",
|
||||
expectedFlag: "Show Me The Money",
|
||||
},
|
||||
// https: //github.com/gohugoio/hugo/issues/7804
|
||||
{
|
||||
name: "lang-with-hyphen",
|
||||
data: map[string][]byte{
|
||||
"pt-br.toml": []byte(`foo.one = "abc"`),
|
||||
},
|
||||
args: 1,
|
||||
lang: "pt-br",
|
||||
id: "foo",
|
||||
expected: "abc",
|
||||
expectedFlag: "abc",
|
||||
},
|
||||
}
|
||||
|
||||
func doTestI18nTranslate(t testing.TB, test i18nTest, cfg config.Provider) string {
|
||||
|
Reference in New Issue
Block a user