let original = require('./i18n/en.json'); function replaceText(source, name) { console.log(name); if (source instanceof Array) { for (let index in source) { if (typeof source[index] === "string") { source[index] = name + ":" + index; } else if (typeof source[index] === "object") { source[index] = replaceText(source[index], name + ":" + index); } } } else if (typeof source === "object") { for (let itemName in source) { if (typeof source[itemName] === "string") { source[itemName] = (name + "_" + itemName).toUpperCase(); } else if (typeof source[itemName] === "object") { source[itemName] = replaceText(source[itemName], (name + "_" + itemName).toUpperCase()); } } } return source; } modified = replaceText(original, "lang"); modified["_name"] = "en"; require('fs').writeFileSync("./i18n/qqx.json", JSON.stringify(modified, null, 2));