mirror of
https://github.com/gohugoio/hugo.git
synced 2025-08-30 22:39:58 +02:00
Create a struct with all of Hugo's config options
Primary motivation is documentation, but it will also hopefully simplify the code. Also, * Lower case the default output format names; this is in line with the custom ones (map keys) and how it's treated all the places. This avoids doing `stringds.EqualFold` everywhere. Closes #10896 Closes #10620
This commit is contained in:
@@ -37,12 +37,12 @@ var i18nWarningLogger = helpers.NewDistinctErrorLogger()
|
||||
// Translator handles i18n translations.
|
||||
type Translator struct {
|
||||
translateFuncs map[string]translateFunc
|
||||
cfg config.Provider
|
||||
cfg config.AllProvider
|
||||
logger loggers.Logger
|
||||
}
|
||||
|
||||
// NewTranslator creates a new Translator for the given language bundle and configuration.
|
||||
func NewTranslator(b *i18n.Bundle, cfg config.Provider, logger loggers.Logger) Translator {
|
||||
func NewTranslator(b *i18n.Bundle, cfg config.AllProvider, logger loggers.Logger) Translator {
|
||||
t := Translator{cfg: cfg, logger: logger, translateFuncs: make(map[string]translateFunc)}
|
||||
t.initFuncs(b)
|
||||
return t
|
||||
@@ -55,7 +55,7 @@ func (t Translator) Func(lang string) translateFunc {
|
||||
return f
|
||||
}
|
||||
t.logger.Infof("Translation func for language %v not found, use default.", lang)
|
||||
if f, ok := t.translateFuncs[t.cfg.GetString("defaultContentLanguage")]; ok {
|
||||
if f, ok := t.translateFuncs[t.cfg.DefaultContentLanguage()]; ok {
|
||||
return f
|
||||
}
|
||||
|
||||
@@ -66,7 +66,7 @@ func (t Translator) Func(lang string) translateFunc {
|
||||
}
|
||||
|
||||
func (t Translator) initFuncs(bndl *i18n.Bundle) {
|
||||
enableMissingTranslationPlaceholders := t.cfg.GetBool("enableMissingTranslationPlaceholders")
|
||||
enableMissingTranslationPlaceholders := t.cfg.EnableMissingTranslationPlaceholders()
|
||||
for _, lang := range bndl.LanguageTags() {
|
||||
currentLang := lang
|
||||
currentLangStr := currentLang.String()
|
||||
@@ -122,7 +122,7 @@ func (t Translator) initFuncs(bndl *i18n.Bundle) {
|
||||
t.logger.Warnf("Failed to get translated string for language %q and ID %q: %s", currentLangStr, translationID, err)
|
||||
}
|
||||
|
||||
if t.cfg.GetBool("logI18nWarnings") {
|
||||
if t.cfg.LogI18nWarnings() {
|
||||
i18nWarningLogger.Printf("i18n|MISSING_TRANSLATION|%s|%s", currentLangStr, translationID)
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user