Skip to content

Commit

Permalink
maintenance scripts
Browse files Browse the repository at this point in the history
  • Loading branch information
JohnRDOrazio committed Jun 22, 2024
1 parent ea0b42f commit 7f59a0b
Show file tree
Hide file tree
Showing 2 changed files with 68 additions and 0 deletions.
40 changes: 40 additions & 0 deletions maintenance/compareVals.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
const fs = require('fs').promises;

let itObj = null;
let enObj = null;

const readSourceData = async (lang = '') => {
return await fs.readFile(`data/i18n/${lang}.json`, 'utf8');
}

const elaborateSourceData = async () => {
const itObjStr = await readSourceData('it');
itObj = JSON.parse(itObjStr);
const enObjStr = await readSourceData('en');
enObj = JSON.parse(enObjStr);

let untranslatedEnStrings = {};

Object.entries(itObj).forEach(([key,value]) => {
Object.entries(value).forEach(([key2,value2]) => {
if(false === enObj.hasOwnProperty(key)) {
console.log(`enObj does not have key <${key}>`);
return;
}
if(false === enObj[key].hasOwnProperty(key2)) {
console.log(`enObj[${key}] does not have key <${key2}>`);
return;
}
if(value2 !== '' && enObj[key][key2] === '') {
if(false === untranslatedEnStrings.hasOwnProperty(key)) {
untranslatedEnStrings[key] = {};
}
untranslatedEnStrings[key][key2] = '';
}
});
});

console.log(untranslatedEnStrings);
}

elaborateSourceData();
28 changes: 28 additions & 0 deletions maintenance/findMissingKeys.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
const fs = require('fs').promises;

const readSourceData = async (lang = '') => {
return await fs.readFile(`data/i18n/${lang}.json`, 'utf8');
}

const checkObjectKeys = async (lang = '') => {
const itObjStr = await readSourceData('it');
const itObj = JSON.parse(itObjStr);
const langObjStr = await readSourceData(lang);
const langObj = JSON.parse(langObjStr);

Object.entries(itObj).forEach(([key,value]) => {
Object.keys(value).forEach(key2 => {
if(false === langObj.hasOwnProperty(key)) {
langObj[key] = {};
}
if(false === langObj[key].hasOwnProperty(key2)) {
langObj[key][key2] = '';
}
});
});
fs.writeFile(`data/i18n/${lang}.json`, JSON.stringify(langObj, null, 4), 'utf8');
}

['fr','es','de','pt','la'].forEach(lang => {
checkObjectKeys(lang);
});

0 comments on commit 7f59a0b

Please sign in to comment.