From 914394054e3a970b0ab34bf5cd9532823dfc8049 Mon Sep 17 00:00:00 2001 From: Danny Coates Date: Fri, 2 Mar 2018 13:40:29 -0800 Subject: [PATCH] encapsulate translate function creation --- build/fluent_loader.js | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/build/fluent_loader.js b/build/fluent_loader.js index a7895ed4..b5e4f392 100644 --- a/build/fluent_loader.js +++ b/build/fluent_loader.js @@ -42,20 +42,22 @@ if (typeof window === 'undefined') { require('babel-polyfill'); var fluent = require('fluent/compat'); } -var fluentContext = new fluent.MessageContext('${locale}', {useIsolating: false}); -fluentContext._messages = new Map(${toJSON(merged)}); -function translate(id, data) { - var msg = fluentContext.getMessage(id); - if (typeof(msg) !== 'string' && !msg.val && msg.attrs) { - msg = msg.attrs.title || msg.attrs.alt +(function () { + var ctx = new fluent.MessageContext('${locale}', {useIsolating: false}); + ctx._messages = new Map(${toJSON(merged)}); + function translate(id, data) { + var msg = ctx.getMessage(id); + if (typeof(msg) !== 'string' && !msg.val && msg.attrs) { + msg = msg.attrs.title || msg.attrs.alt + } + return ctx.format(msg, data); } - return fluentContext.format(msg, data); -} -if (typeof window === 'undefined') { - module.exports = translate; -} -else { - window.translate = translate; -} + if (typeof window === 'undefined') { + module.exports = translate; + } + else { + window.translate = translate; + } +})(); \``; };