Skip to content

Commit 711fb20

Browse files
Add convenience function MustLocalizeMessage (#352)
Added a must variant of `LocalizeMessage` (like `Localize` & `MustLocalize`)
1 parent d096e3f commit 711fb20

File tree

2 files changed

+21
-1
lines changed

2 files changed

+21
-1
lines changed

‎i18n/localizer.go‎

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ func (l *Localizer) Localize(lc *LocalizeConfig) (string, error) {
124124
return msg, err
125125
}
126126

127-
// Localize returns a localized message.
127+
// LocalizeMessage returns a localized message.
128128
func (l *Localizer) LocalizeMessage(msg *Message) (string, error) {
129129
return l.Localize(&LocalizeConfig{
130130
DefaultMessage: msg,
@@ -236,3 +236,12 @@ func (l *Localizer) MustLocalize(lc *LocalizeConfig) string {
236236
}
237237
return localized
238238
}
239+
240+
// MustLocalizeMessage is similar to LocalizeMessage, except it panics if an error happens.
241+
func (l *Localizer) MustLocalizeMessage(msg *Message) string {
242+
localized, err := l.LocalizeMessage(msg)
243+
if err != nil {
244+
panic(err)
245+
}
246+
return localized
247+
}

‎i18n/localizer_test.go‎

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -768,3 +768,14 @@ func TestMustLocalize(t *testing.T) {
768768
MessageID: "hello",
769769
})
770770
}
771+
772+
func TestMustLocalizeMessage(t *testing.T) {
773+
defer func() {
774+
if recover() == nil {
775+
t.Fatalf("MustLocalizeMessage did not panic")
776+
}
777+
}()
778+
bundle := NewBundle(language.English)
779+
localizer := NewLocalizer(bundle)
780+
localizer.MustLocalizeMessage(&Message{})
781+
}

0 commit comments

Comments
 (0)