messageFormatter = function(key, lang, options = {}) {
let value;
try {
value = key.split('.').reduce((a, b) => a[b], translations[lang]);
} catch {}
if (!value && options.defaultValue) {
value = options.defaultValue;
}
return value ? new IntlMessageFormat.IntlMessageFormat(value, lang) : noop;
}