confluent/ancien-confluent/lexique/lowercase-confluent.js
2025-12-04 20:12:10 +08:00

68 lines
1.9 KiB
JavaScript

#!/usr/bin/env node
/**
* Script pour convertir tous les mots Confluent en minuscules dans les lexiques
* Le Confluent n'a pas de distinction majuscule/minuscule
*/
const fs = require('fs');
const path = require('path');
const LEXIQUE_DIR = __dirname;
function lowercaseConfluentInFile(filePath) {
console.log(`Processing: ${path.basename(filePath)}`);
const content = fs.readFileSync(filePath, 'utf-8');
const data = JSON.parse(content);
let changeCount = 0;
// Parcourir le dictionnaire
if (data.dictionnaire) {
for (const [key, entry] of Object.entries(data.dictionnaire)) {
if (entry.traductions) {
entry.traductions.forEach(trad => {
if (trad.confluent && trad.confluent !== trad.confluent.toLowerCase()) {
console.log(` - ${trad.confluent}${trad.confluent.toLowerCase()}`);
trad.confluent = trad.confluent.toLowerCase();
changeCount++;
}
});
}
}
}
// Sauvegarder si des changements ont été faits
if (changeCount > 0) {
fs.writeFileSync(filePath, JSON.stringify(data, null, 2) + '\n', 'utf-8');
console.log(`${changeCount} changements sauvegardés\n`);
} else {
console.log(` ✓ Aucun changement nécessaire\n`);
}
return changeCount;
}
function main() {
console.log('=== Conversion Confluent → minuscules ===\n');
const files = fs.readdirSync(LEXIQUE_DIR)
.filter(f => f.endsWith('.json') && !f.startsWith('_'))
.map(f => path.join(LEXIQUE_DIR, f));
let totalChanges = 0;
for (const file of files) {
try {
totalChanges += lowercaseConfluentInFile(file);
} catch (error) {
console.error(`Erreur dans ${path.basename(file)}: ${error.message}\n`);
}
}
console.log(`=== Terminé: ${totalChanges} conversions au total ===`);
}
main();