28 lines
949 B
JavaScript
28 lines
949 B
JavaScript
const fs = require('fs');
|
|
function load(p) {
|
|
let s = fs.readFileSync(p, 'utf8');
|
|
s = s.replace(/const\s+\w+\s*=\s*\{/, 'var obj = {');
|
|
s = s.replace(/export\s+default\s+\w+;?/, '');
|
|
s = s.replace(/\bconst\b/g, 'var');
|
|
return new Function(s + '\nreturn obj;')();
|
|
}
|
|
function flat(o, p, r) {
|
|
p = p || '';
|
|
r = r || {};
|
|
for (const k of Object.keys(o)) {
|
|
const key = p ? p + '.' + k : k;
|
|
if (o[k] && typeof o[k] === 'object' && !Array.isArray(o[k])) flat(o[k], key, r);
|
|
else r[key] = o[k];
|
|
}
|
|
return r;
|
|
}
|
|
try {
|
|
const z = flat(load('src/locales/zh/index.ts'));
|
|
const e = flat(load('src/locales/en/index.ts'));
|
|
console.log('ZH keys', Object.keys(z).length, 'EN keys', Object.keys(e).length);
|
|
console.log('aiAnalysis.abnormalString in ZH?', 'aiAnalysis.abnormalString' in z);
|
|
console.log('workOrder.pleaseInputTitle in ZH?', 'workOrder.pleaseInputTitle' in z);
|
|
} catch (err) {
|
|
console.log('ERROR:', err.message);
|
|
}
|