58 lines
1.4 KiB
JavaScript

const fs = require('fs');
const path = require('path');
const globby = require('globby');
function readStrings(p) {
return JSON.parse(fs.readFileSync(p).toString());
}
function writeStrings(p, strings) {
fs.writeFileSync(p, JSON.stringify(strings, null, 4) + "\n");
}
(async () => {
console.log(process.argv.length);
console.log(process.argv[0]);
console.log(process.argv[1]);
console.log(process.argv[2]);
console.log(process.argv[3]);
if (process.argv.length < 3) {
console.log("No path with the original strings given!");
process.exit(-1);
}
originalPath = process.argv[2];
overlayPath = null;
if (process.argv.length > 3) {
overlayPath = process.argv[3];
} else {
console.log("Continue without overlays ...")
}
const paths = await globby(path.join(originalPath, "*.json"));
paths.forEach(p => {
let strings = readStrings(p);
for (const key of Object.keys(strings)) {
strings[key] = strings[key]
.replace(/Element/g, "SchildiChat")
.replace(/element\.io/g, "schildi.chat")
// It's still Element Call
.replace(/SchildiChat Call/g, "Element Call")
.replace(/SchildiChat-Call/g, "Element-Call");
}
if (overlayPath) {
op = path.join(overlayPath, path.basename(p));
if (fs.existsSync(op)) {
overlayStrings = readStrings(op);
Object.assign(strings, overlayStrings);
}
}
writeStrings(p, strings);
});
})();