const crypto = require('crypto');
const fs = require('fs');
const glob = require('glob');

function generateChecksum(str, algorithm, encoding) {
	return crypto
		.createHash(algorithm || 'md5')
		.update(str, 'utf8')
		.digest(encoding || 'hex');
}

const result = {};

glob.sync(`public/locales/**/*.json`).forEach((path) => {
	const [_, lang] = path.split('public/locales');
	const content = fs.readFileSync(path, { encoding: 'utf-8' });
	result[lang.replace('.json', '')] = generateChecksum(content);
});

fs.writeFileSync('./i18n-translations-hash.json', JSON.stringify(result));