From 05637a8cd70e36f181463e6909f4cec5f3830311 Mon Sep 17 00:00:00 2001 From: Benjamin Winger Date: Fri, 28 Jan 2022 11:33:00 -0500 Subject: [PATCH] Interpolate default value --- i18n/init.lua | 4 +++- spec/i18n_spec.lua | 4 ++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/i18n/init.lua b/i18n/init.lua index 6bcccd0..61edb95 100644 --- a/i18n/init.lua +++ b/i18n/init.lua @@ -141,7 +141,9 @@ function i18n.translate(key, data) if value then return value end end - return data.default + if data.default then + return interpolate(data.default, data) + end end function i18n.setLocale(newLocale, newPluralizeFunction) diff --git a/spec/i18n_spec.lua b/spec/i18n_spec.lua index f90ad79..228aebb 100644 --- a/spec/i18n_spec.lua +++ b/spec/i18n_spec.lua @@ -64,6 +64,10 @@ describe('i18n', function() assert.equal('bonjour', i18n('msg', {default='bonjour'})) end) + it('interpolates the default parameter, if given', function() + assert.equal('bonjour world', i18n('msg', {default='bonjour %{who}', who="world"})) + end) + end) describe('when there is a count-type translation', function()