langs/i18n: Fix i18n .Count regression

Fixes #7787
This commit is contained in:
Bjørn Erik Pedersen
2020-10-06 20:32:52 +02:00
parent ee56efffcb
commit f9e798e8c4
2 changed files with 44 additions and 7 deletions

View File

@@ -74,19 +74,24 @@ func (t Translator) initFuncs(bndl *i18n.Bundle) {
t.translateFuncs[currentLangKey] = func(translationID string, templateData interface{}) string {
var pluralCount interface{}
if templateData != nil {
tp := reflect.TypeOf(templateData)
if hreflect.IsNumber(tp.Kind()) {
pluralCount = templateData
// This was how go-i18n worked in v1.
templateData = map[string]interface{}{
"Count": templateData,
}
}
}
translated, translatedLang, err := localizer.LocalizeWithTag(&i18n.LocalizeConfig{
MessageID: translationID,
TemplateData: templateData,
PluralCount: pluralCount,
})
if err == nil && currentLang == translatedLang {