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); }