From 99b6afc7639f22b1044692957ceef2fbac9d1db7 Mon Sep 17 00:00:00 2001 From: MJacred Date: Fri, 3 Jan 2020 14:14:54 +0100 Subject: [PATCH] prevent nil exception on empty localization text fixes #207 --- v2/goi18n/merge_command.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/v2/goi18n/merge_command.go b/v2/goi18n/merge_command.go index 9765c6d3..f454a1df 100644 --- a/v2/goi18n/merge_command.go +++ b/v2/goi18n/merge_command.go @@ -125,12 +125,16 @@ func merge(messageFiles map[string][]byte, sourceLanguageTag language.Tag, outdi } templates := map[string]*i18n.MessageTemplate{} for _, m := range mf.Messages { - templates[m.ID] = i18n.NewMessageTemplate(m) + template := i18n.NewMessageTemplate(m) + if template == nil { + return nil, fmt.Errorf("missing translation for message id \"%s\"", m.ID) + } + templates[m.ID] = template } if mf.Tag == sourceLanguageTag { for _, template := range templates { if sourceMessageTemplates[template.ID] != nil { - return nil, fmt.Errorf("multiple source translations for id %s", template.ID) + return nil, fmt.Errorf("multiple source translations for id \"%s\"", template.ID) } template.Hash = hash(template) sourceMessageTemplates[template.ID] = template