From 4bc957bd3bbdb7f71c511c1372e4c54fb457f149 Mon Sep 17 00:00:00 2001 From: Jonathan Sampson Date: Fri, 24 Mar 2017 14:58:20 -0500 Subject: [PATCH] Show locale strings in about:extensions --- app/extensions.js | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/app/extensions.js b/app/extensions.js index d5f29d912c..e2f08f0acf 100644 --- a/app/extensions.js +++ b/app/extensions.js @@ -355,6 +355,7 @@ module.exports.init = () => { }) process.on('extension-ready', (installInfo) => { + installInfo = insertLocaleStrings(installInfo) extensionInfo.setState(installInfo.id, extensionStates.ENABLED) extensionInfo.setInstallInfo(installInfo.id, installInfo) installInfo.filePath = installInfo.base_path @@ -363,6 +364,25 @@ module.exports.init = () => { extensionActions.extensionEnabled(installInfo.id) }) + let insertLocaleStrings = (installInfo) => { + let pattern = /^__MSG_(.*)__$/ + let properties = ['name', 'description'] + let defaultLocale = installInfo.manifest.default_locale + if (defaultLocale) { + let msgPath = path.join(installInfo.base_path, '_locales', defaultLocale, 'messages.json') + if (fs.existsSync(msgPath)) { + let messages = JSON.parse(fs.readFileSync(msgPath).toString()) + properties.forEach((property) => { + let matches = installInfo[property].match(pattern) + if (matches) { + installInfo[property] = messages[matches[1]].message + } + }) + } + } + return installInfo + } + let loadExtension = (extensionId, extensionPath, manifest = {}, manifestLocation = 'unpacked') => { if (!extensionInfo.isLoaded(extensionId) && !extensionInfo.isLoading(extensionId)) { extensionInfo.setState(extensionId, extensionStates.LOADING)