confluent/scripts/fix-format-errors.py
StillHammer 4236232a62 Refonte complète du lexique Confluent et système d'audit
- Correction et extension du lexique: 78 → 0 erreurs
- Ajout de 14 racines manquantes (toli, konu, aika, vito, paka, nutu, tuli, nemu, zeru, novi, muta, supu, selu, saki)
- Extension du lexique: 67 racines standards (53 → 67)
- Création de 6 nouveaux fichiers lexique (navigation, architecture, concepts philosophiques, étrangers, actions militaires, vêtements)
- Réduction consonnes rares: 26.5% → 2.7%
- Remplacement racines anglaises par finno-basques (malo→paka, situ→tuli, taki→kanu, time→aika)
- Correction des mots mal formés (ulak→kulak, koliukitan→koliukita, ulapisu→lapis, pekikayo→pekikazo)
- Amélioration script d'audit: charge maintenant verbes, compositions et grammaire (638 racines)
- Ajout scripts de maintenance (audit, correction consonnes rares, détection doublons)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-01 21:53:03 +08:00

54 lines
1.8 KiB
Python

#!/usr/bin/env python3
"""
Corrige les 5 autres erreurs de format
"""
import json
from pathlib import Path
LEXIQUE_DIR = Path(__file__).parent.parent / "ancien-confluent" / "lexique"
# Corrections à appliquer: (fichier, ancien_mot, nouveau_mot, mots_fr)
CORRECTIONS = [
("07-emotions.json", "koliukitan", "koliukita", ["gratitude"]),
("09-institutions.json", "nutuumilis", "nutuumili", ["Maison des Decouvertes"]),
("11-armes-outils.json", "pikiualk", "pikiuarku", ["fleche"]),
("23-nourriture.json", "mukunekas", "mukuneka", ["cuisiner"]),
("23-nourriture.json", "ulapis", "ulapisu", ["infuser", "boire"]),
]
def main():
print("🔧 Correction des erreurs de format\n")
for fichier, ancien, nouveau, mots_fr in CORRECTIONS:
file_path = LEXIQUE_DIR / fichier
with open(file_path, 'r', encoding='utf-8') as f:
data = json.load(f)
modified = False
for mot_fr in mots_fr:
if mot_fr in data['dictionnaire']:
for trad in data['dictionnaire'][mot_fr]['traductions']:
if trad.get('confluent') == ancien:
print(f"[{fichier}] \"{mot_fr}\": {ancien}{nouveau}")
trad['confluent'] = nouveau
# Mettre à jour la composition si elle contient l'ancien mot
if 'composition' in trad:
trad['composition'] = trad['composition'].replace(ancien, nouveau)
modified = True
if modified:
with open(file_path, 'w', encoding='utf-8') as f:
json.dump(data, f, ensure_ascii=False, indent=2)
f.write('\n')
print(f"{fichier} sauvegardé\n")
print("✅ Toutes les corrections appliquées")
if __name__ == "__main__":
main()