var EN = require("../www/common/translations/messages.json"); var simpleTags = [ '
', '', '', // FIXME "", '', '

', '

', // FIXME register_notes '', '
  • ', '
  • ', '', '', ]; ['a', 'b', 'em', 'p', 'i'].forEach(function (tag) { simpleTags.push('<' + tag + '>'); simpleTags.push(''); }); // these keys are known to be problematic var KNOWN_ISSUES = [ // FIXME //'newVersion', //'fm_info_anonymous', //'register_notes', ]; var processLang = function (map, lang, primary) { var announced = false; var announce = function () { if (announced) { return; } announced = true; console.log("NEXT LANGUAGE: ", lang); }; Object.keys(map).forEach(function (k) { if (!EN[k]) { return; } if (KNOWN_ISSUES.indexOf(k) !== -1) { return; } var s = map[k]; if (typeof(s) !== 'string') { return; } var usesHTML; s.replace(/<.*?>/g, function (html) { if (simpleTags.indexOf(html) !== -1) { return; } announce(); usesHTML = true; if (!primary) { console.log("{%s}", html); } }); if (usesHTML) { announce(); console.log("%s", s); console.log("[%s]\n", k); } }); }; processLang(EN, 'en', true); [ 'ar', //'bn_BD', 'ca', 'de', 'es', 'fi', 'fr', 'hi', 'it', 'ja', 'nb', 'nl', 'pl', 'pt-br', 'ro', 'ru', 'sv', //'te', 'tr', 'zh', ].forEach(function (lang) { try { var map = require("../www/common/translations/messages." + lang + ".json"); if (!Object.keys(map).length) { return; } processLang(map, lang); } catch (err) { console.error(err); } });