diff --git a/ANALYSE_LACUNES_LEXIQUE.md b/ANALYSE_LACUNES_LEXIQUE.md new file mode 100644 index 0000000..cb3cefc --- /dev/null +++ b/ANALYSE_LACUNES_LEXIQUE.md @@ -0,0 +1,938 @@ +# RAPPORT D'ANALYSE DU LEXIQUE DE LA LANGUE ANCIEN CONFLUENT + +**Date d'analyse** : 2025-12-01 +**Objectif** : Identifier les lacunes du lexique par rapport au contenu du JDR + +--- + +## SECTION A : Vue d'ensemble du lexique actuel + +### Statistiques générales +- **Total de lignes** : ~10,103 lignes JSON +- **Total de fichiers** : 25 fichiers thématiques + 1 fichier grammaire + +### Catégories couvertes + +1. **01-racines-sacrees.json** (280 lignes) : 19 racines sacrées commençant par voyelle + - Concepts fondamentaux : libre (aska), ancêtre (aita), sacré (asa), eau (ura), esprit (umi), un (iko), être (ita), origine (ena), tout (eka), épreuve (oki), aurore (ora), son (onu), étoile (atu), mort (osi), aile (apa) + - Animaux sacrés : oiseau (apo), grue (alu), faucon (aki) + +2. **02-racines-standards.json** (806 lignes) : Racines courantes + pronoms + - Qualificatifs : grand, petit, lent, rapide, nouveau, vieux, chaud, froid, bon, mauvais, clair, sombre, long, bas + - Concepts abstraits : vrai, bon, paix, mémoire, valeur, travail, temps, guerre, secret + - Matériaux : bois, cendre, gris, sang, lait, sel, poison + - Géographie : mer, vallée, route, sommet, ligne, lieu + - Actions : échanger, frapper + - Pronoms : je (miki), tu (sinu), il/elle (tani), nous/vous/ils + +3. **03-castes.json** (378 lignes) : Groupes sociaux et castes + - ✓ Siliaska (peuple) + - ✓ Nakukeko (Enfants des Échos) + - ✓ Nakuura (Enfants du Courant) + - ✓ Aliaska (Ailes-Grises) + - ✓ Akoazana (Faucons Chasseurs) + - ✓ Takitosa (Passes-bien) + - ✓ Oraumi (Voix de l'Aurore) + - ✓ Zerusora (Ciels-clairs) + - ✓ Zozeru (Sans-ciels) + - ✓ Castes des 5 éléments (Air, Feu, Eau, Terre, Éther) + +4. **04-lieux.json** (315 lignes) : Lieux majeurs + - ✓ Uraakota (La Confluence) + - ✓ Vukuura (Gouffre Humide) + - ✓ Kekutoka (Antres des Échos) + - ✓ Sikuvela (Cercles de Vigile) + - ✓ Talusavu (Halls des Serments) + - ✓ Ekakova (Grande Fresque) + - ✓ Osiuaita (Ruines des Premiers Ancêtres) + - Structures : village fortifié, basses-terres, avant-poste côtier, sanctuaire, forteresse, antre + +5. **05-corps-sens.json** (202 lignes) : Anatomie et perception + - ✓ Parties du corps : œil (sili), main (kanu), voix (voki), oreille (tiku), visage (muka), cœur (kori), corps (sanu), pied (peki), chair, peau, sang, poumon, souffle + - ✓ Yeux de l'aurore (siluora) + - Écho (keko) + +6. **06-actions.json** (1185 lignes) : Verbes d'action + - Mouvement, création, communication, observation, etc. + +7. **07-emotions.json** (302 lignes) : États émotionnels + +8. **08-nature-elements.json** (464 lignes) : Éléments naturels + - ✓ Éléments : ciel, terre, feu, air, eau, pierre + - ✓ Géographie : rivière, montagne, forêt, arbre, vallée, mer, grotte, cascade, source, côte, horizon, promontoire, pic + - ✓ Célestes : lune, soleil, lumière, étoile, nuage + - ✓ Météo : tempête + - Qualités : humide, sec, profond, sombre + +9. **09-institutions.json** (204 lignes) : Institutions politiques + - ✓ Cercle des Sages (rikuusekitori) + - ✓ Tribunal des Mœurs (verimuloku) + - ✓ Proclamateur (vokiueka) + - ✓ Assemblée des Chefs (kotaukasi) + - ✓ Maison des Découvertes (nutuumiris) + - ✓ Arbitre des Esprits (zakiiumi) + - ✓ Directoire (kasiiukota) + - ✓ Conseil du Village (kotaurikusi) + - Célébrations : Autel ancestral, Vigile Lunaire, Jour des Ancêtres, Jour du Faucon + +10. **10-animaux.json** (224 lignes) : Faune + - ✓ Regards-Libres (aruaska) + - ✓ Grue cendrée (arusenu) + - Animaux génériques : bête, gibier, poisson (rivière), serpent (+ d'eau), oiseau (+ de proie), loup, meute + - ✗ MANQUE : Créature inconnue existe mais pas d'animaux spécifiques évoqués dans le jeu + +11. **11-armes-outils.json** (378 lignes) : Équipement + - Armes : lance, arc, flèche, hachette, couteau, gourdin, bouclier + - Outils : pioche, ciseau, maillet, burin, corde, filet, panier, piège + - Objets : tablette, collier, vase rituel, coffret + - Structures : foyer, armurerie, grenier + +12. **13-rituels.json** (394 lignes) : Pratiques sacrées + - ✓ Rituel du Regard Partagé (asausiliaakota) + - ✓ Glyphes du Gouffre (kovuuvuku) + - ✓ Colliers de glyphes (kopuukova) + - ✓ Tablettes d'argile (tabuutoka) + - ✓ Argile vivante (tokauita) + - ✓ Rhombes sacrés (onuuasa) + variants + - ✓ Artefact multi-générationnel (nekauekaaita) + - ✓ Autel des Pionniers (asauenuaita) + - ✓ Lois du Sang et de la Bête (lokuurasubetu) + - ✓ Porteur de Flamme (takiusuki) + - Matériaux rituels : lait de pierre, roche braise, pigments anciens + - Concepts : pèlerinage, rites funéraires, fenêtre temporelle, tradition + +13. **14-geographie.json** (308 lignes) : Géographie spécifique + +14. **15-roles-titres.json** (540 lignes) : Rôles sociaux + - ✓ Titres spirituels : oracle, chaman, guide des âmes, Aile-Grise + - ✓ Titres militaires : Faucon Chasseur, guerrier, archer, porteur de lance, capitaine, sentinelle, traqueur + - ✓ Titres artisanaux : maître artisan, façonneur de pierre, sculpteur, peintre, tisserand, pêcheur, mineur + - ✓ Famille : ancêtre, mère, père, époux, aîné, descendant + - ✓ Chefs : chef, Grand Chef, sage, gardien des lois + +15. **16-communication.json** (349 lignes) : Communication + +16. **17-temps.json** (281 lignes) : Temporalité + +17. **18-couleurs.json** (321 lignes) : Couleurs + +18. **19-sante-dangers.json** (264 lignes) : Santé et dangers + +19. **20-objets-materiaux.json** (476 lignes) : Objets et matériaux + +20. **21-famille.json** (141 lignes) : Relations familiales + +21. **22-nombres.json** (279 lignes) : Système numérique + +22. **23-nourriture.json** (463 lignes) : Alimentation + - ✓ Larmes du Ciel (zeruosi) + - ✓ Morsure-des-Ancêtres (aiteopalu) + - Aliments : poisson, gibier, baie, tubercule, fruit, mollusque, graine, galette, herbe, aromate, légume + - Techniques : fumer, sécher, griller, cuisiner, infuser + - Concepts : nourriture, boire, réserve, manque + +23. **24-habitat.json** (164 lignes) : Habitat et structures + +--- + +## SECTION B : Lacunes critiques - Concepts de jeu absents du lexique + +### B.1 - Noms propres et peuples étrangers + +**MANQUE TOTAL** : Aucun vocabulaire pour les peuples étrangers découverts + +- ❌ **Nanzagouet** : Peuple des "Cheveux de Sang" (premier contact 28/10/2025 et 25/11/2025) +- ❌ **Cheveux de Sang** : Nom donné aux étrangers aux cheveux roux +- ❌ **l'Autre** : Concept philosophique de l'étranger qui ne partage ni ancêtres, ni langue, ni intentions +- ❌ **Premiers Ancêtres** : Civilisation disparue (distinct de "aita" = ancêtre générique) + - Note : "Ruines des Premiers Ancêtres" existe (osiuaita) mais pas le concept spécifique de "Premiers Ancêtres" comme peuple distinct + +### B.2 - Concepts spirituels et philosophiques majeurs + +- ❌ **"Porter un regard libre"** : Concept central de la civilisation (mandatory pilgrimage, cultural identity) +- ❌ **"Promis à pareil destin"** : Phrase existentielle clé exprimant la peur de disparaître comme les Premiers Ancêtres +- ❌ **Gardiens des passages** : Âmes des pionniers morts qui ne peuvent atteindre le ciel +- ❌ **Suffocation** (spirituelle) : Effet de rester trop longtemps dans les Antres +- ❌ **Miasme** : Gaz toxiques des ruines anciennes +- ❌ **Multi-couche** / **Multicouche** : Concept des fresques à plusieurs strates temporelles +- ❌ **Vassalité théocratique** : Système de gouvernance des Faucons Chasseurs + +### B.3 - Institutions et structures politiques manquantes + +- ✓ Hall des Serments existe MAIS manque : + - ❌ **Conseil du Village** (structure à 4 membres existe mais vocabulaire incomplet) + - ❌ **Pèlerinage annuel** (obligation des conseillers) + - ❌ **Charges méritées** (philosophie politique : charges à mériter, non héréditaires) + - ❌ **Compensation** (système de rémunération des conseillers) + +- ❌ **Gouffre Humide comme campus multi-caste** (transformation institutionnelle) + - Groupes d'étude : spirituels, techniques, philosophiques trans-castes + +### B.4 - Technologies et matériaux spécifiques + +**Glyphes du Gouffre** : Système d'écriture partiellement couvert mais manque : +- ❌ **Blocs modulaires** : Format physique des glyphes (petits blocs percés) +- ❌ **Réutilisable** : Propriété des colliers de glyphes +- ❌ **Nœuds** : Éléments structurels des colliers +- ❌ **Distribution** (par Passes-bien) +- ❌ **Standard pragmatique** : Philosophie du système d'écriture +- ❌ **Invention locale** : Liberté d'inventer ses propres glyphes + +**Argile vivante** : Existe (tokauita) mais manque : +- ❌ **Durcissement instantané** : Propriété clé du matériau +- ❌ **Exposition à l'air** : Mécanisme de durcissement +- ❌ **Monopole des Enfants des Échos** : Aspect économique + +**Autres technologies manquantes** : +- ❌ **Pilotis** : Architecture des villages sur l'eau (concept architectural majeur) +- ❌ **Tour de guet** : Élément des Halls des Serments +- ❌ **Zones climatiques** : Organisation de la Maison des Découvertes (4 zones) +- ❌ **Expérimentation multi-matériau** : Méthode de la Maison des Découvertes + +### B.5 - Géographie et lieux spécifiques + +**Lieux non nommés** : +- ❌ **Village fortifié à l'embouchure** : Premier Hall des Serments (lieu majeur du jeu) + - Note : "village fortifié" existe mais pas le lieu spécifique à l'embouchure +- ❌ **Embouchure** : Où fleuve rencontre mer (concept géographique) +- ❌ **Route-rivière sécurisée** : Chemin entre vallée et côte avec postes de garde +- ❌ **Postes de garde** : Structures espacées d'une journée de marche +- ❌ **Lowlands** / **Basses-terres** : Région au-delà de la vallée de montagne + - Note : "basses-terres" existe (tokuvuku) dans 04-lieux.json + +**Éléments géographiques manquants** : +- ❌ **Eau salée** / **Eau impure** : Caractéristique de la mer +- ❌ **Eau douce** : Par opposition à eau salée +- ❌ **Berge** / **Rive** : Bord de rivière/mer +- ❌ **Marée** : Phénomène marin +- ❌ **Vague** : Élément maritime + +### B.6 - Pratiques et rituels spécifiques + +**Rituels manquants** : +- ❌ **Rituel du Regard Partagé - renouvellement annuel** : Usage spécifique pour les conseillers +- ❌ **Communion des esprits** : Rituel mentionné +- ❌ **Devenir partie de l'Antre** : Tradition des artisans âgés (refus d'enlever le corps, fierté) +- ❌ **Relais de mémorisation** : Technique des Ailes-Grises pour interpréter la fresque +- ❌ **Débat à travers le temps** : Concept de l'interprétation multi-générationnelle + +**Justice et lois** : +- ✓ Lois du Sang et de la Bête existe MAIS manque : + - ❌ **Investigation** : Phase d'enquête par Faucons Chasseurs + - ❌ **Arène** : Lieu du combat judiciaire + - ❌ **Combat judiciaire** : Trial by combat + - ❌ **Coupable** / **Innocent** : Concepts juridiques + +### B.7 - Activités militaires et tactiques + +**Tactiques et équipement** : +- ❌ **Observation** (militaire) : Surveillance des ennemis +- ❌ **Capture** : Stratégie de prise de prisonniers +- ❌ **Interrogation** : Questionnement de captifs +- ❌ **Embuscade** : Tactique de surprise +- ❌ **Surnombre** : Supériorité numérique +- ❌ **Menacer** : Action d'intimidation +- ❌ **Soumettre** : Forcer la reddition +- ❌ **Abordage** : Attaque d'un navire +- ❌ **Se faire passer pour** : Déguisement/subterfuge + +**Structures militaires** : +- ❌ **Garrison** : Groupe de défense permanent +- ❌ **Réserves** (militaires) : Stocks d'urgence +- ❌ **Armurerie** : Existe (lokuupiki) mais contexte du Hall manque + +### B.8 - Navigation et mer + +**DOMAINE PRESQUE ENTIÈREMENT ABSENT** : + +Technologies maritimes : +- ❌ **Navire** : Existe (vanu) mais contexte minimal +- ❌ **Embarcation** : Bateau/barque +- ❌ **Construction en bois** : Description des navires étrangers +- ❌ **Manœuvrer** : Piloter un bateau +- ❌ **Échouer** / **Échouée** : Bateau sur le rivage +- ❌ **Chavirer** / **Se retourner** : Accident maritime +- ❌ **Couler** / **Sombrer** : Naufrage +- ❌ **Noyade** : Mort par l'eau +- ❌ **Rivage** : Bord de mer +- ❌ **Flotter** : Propriété d'un bateau +- ❌ **Créature flottante** : Perception initiale des navires + +Activités maritimes : +- ❌ **Naviguer** : Voyager sur l'eau +- ❌ **Aborder** : Monter sur un navire +- ❌ **Marin** : Personne qui navigue +- ❌ **Pérégrination aquatique** : Voyage sur l'eau +- ❌ **Point d'eau** (côtier) : Lieu de ravitaillement +- ❌ **Ravitaillement en eau douce** : Besoin des marins + +### B.9 - Vie quotidienne et objets + +**Vêtements et apparence** : +- ❌ **Cheveux** : Partie du corps (crucial pour "Cheveux de Sang") +- ❌ **Trancher** / **Couper** (cheveux) +- ❌ **Oripeaux** / **Vêtement** / **Tenue** +- ❌ **Nu** / **Exhiber nu** : État vestimentaire +- ❌ **Taille** / **Morphologie** : Dimensions corporelles +- ❌ **Correspondre** : Adéquation de taille + +**Actions quotidiennes manquantes** : +- ❌ **Courir après** : Poursuite +- ❌ **Forcer à rester** : Contrainte +- ❌ **Arracher** : Enlever de force +- ❌ **Panique** / **Paniquer** +- ❌ **Émeute** : Rébellion collective +- ❌ **Rouer de coups** : Violence physique +- ❌ **Mâter** : Soumettre par la force +- ❌ **Résister** : Opposition + +**États et conditions** : +- ❌ **Vulnérable** : État de faiblesse +- ❌ **Audace** : Qualité de courage +- ❌ **Orgueilleux** : Défaut caractériel +- ❌ **Patient** : Vertu +- ❌ **Initiative** : Prise de décision +- ❌ **Imprévu** : Événement inattendu +- ❌ **Désordre** : Chaos +- ❌ **Choc** : Traumatisme émotionnel + +### B.10 - Flore spécifique + +- ✓ Morsure-des-Ancêtres existe (aiteopalu = gingembre sauvage) +- ❌ **Plante médicinale** : Catégorie manquante +- ❌ **Plante sauvage** vs **Plante cultivée** : Distinction importante +- ❌ **Récolte** : Action de cueillette +- ❌ **Cueilleur** : Rôle social + +### B.11 - Temps et durée + +**Concepts temporels manquants** : +- ❌ **Génération** : Unité de temps civilisationnelle +- ❌ **Décennie** : Dizaine d'années +- ❌ **Siècle** : Cent ans +- ❌ **Millénaire** : Mille ans +- ❌ **Éternel** : Sans fin +- ❌ **Temporalité** : Concept du temps +- ❌ **Multi-générationnel** : Qui traverse plusieurs générations (crucial pour artefacts) +- ❌ **Relais** (temporel) : Transmission à travers le temps +- ❌ **Stratification temporelle** : Couches de temps + +### B.12 - Concepts sociaux et culturels + +**Isolement et appartenance** : +- ❌ **"Don't like those from the surface"** : Attitude des Enfants des Échos +- ❌ **Culturellement isolé** : État de séparation +- ❌ **Surface** vs **Souterrain** : Opposition spatiale/culturelle +- ❌ **Adaptation physique** : Changements corporels (pâleur, membres allongés, cécité) +- ❌ **Pâle** : Couleur de peau +- ❌ **Allongé** : Forme corporelle +- ❌ **Aveugle** / **Cécité** : Perte de vision + +**Hiérarchie et pouvoir** : +- ❌ **Monopole** : Contrôle exclusif (crucial pour économie) +- ❌ **Élite** : Groupe dominant +- ❌ **Permanent** : Non temporaire (pour garrison) +- ❌ **Transitoire** / **Temporaire** : Opposé de permanent +- ❌ **Mériter** : Gagner par le mérite +- ❌ **Héréditaire** : Transmission familiale (concept à rejeter) +- ❌ **Fief** : Territoire accordé (concept à rejeter) + +**Valeurs et philosophie** : +- ❌ **Gloire** : Honneur et renommée +- ❌ **Honneur** : Valeur morale +- ❌ **Fierté** : Sentiment de dignité +- ❌ **Reproche** : Critique +- ❌ **Louer** : Complimenter +- ❌ **Imputer la faute** : Accuser +- ❌ **Indigne** : Déshonorant +- ❌ **Satisfaire** : Répondre aux attentes +- ❌ **Exigence** : Demande forte + +--- + +## SECTION C : Lacunes thématiques - Catégories sous-développées + +### C.1 - Faune : Seulement 10 animaux pour un monde riche + +**Animaux présents** : +- Grue (alu) + Regards-Libres (aruaska) + grue cendrée +- Faucon (aki) +- Oiseau générique (apo) +- Poisson (pisu) +- Serpent (sepu) + serpent d'eau +- Loup (loku) + meute +- Bête générique (betu) + +**Animaux manquants mentionnés dans le jeu** : +- ❌ **Gibier spécifique** : Cerf, sanglier, lapin, etc. +- ❌ **Animaux de la Grande Fresque** : "Unknown animals" de la fresque +- ❌ **Prédateurs** : Ours, lynx, etc. +- ❌ **Insectes** : Aucun vocabulaire +- ❌ **Reptiles** : Seulement serpent +- ❌ **Amphibiens** : Aucun +- ❌ **Oiseaux spécifiques** : Au-delà de grue/faucon +- ❌ **Créatures d'eau douce** : Au-delà de poisson générique +- ❌ **Créatures marines** : Aucune (alors que mer découverte) + +### C.2 - Matériaux : Lacunes dans matériaux de construction + +**Présent** : pierre, bois, argile vivante, lait de pierre + +**Manquant** : +- ❌ **Mortier** : Liant de construction +- ❌ **Chaux** : Matériau de construction +- ❌ **Torchis** : Mélange construction +- ❌ **Paille** / **Chaume** : Matériaux de toiture +- ❌ **Cuir** : Matériau animal +- ❌ **Os** : Matériau et reste mortuaire +- ❌ **Tendon** : Matériau pour cordes +- ❌ **Résine** : Matériau végétal +- ❌ **Écorce** : Matériau végétal +- ❌ **Fibre végétale** : Pour tissage +- ❌ **Lin** / **Chanvre** : Plantes à fibres + +### C.3 - Architecture : Vocabulaire architectural minimal + +**Présent** : Hall, maison, village, forteresse, antre, grotte + +**Manquant** : +- ❌ **Pilotis** : CRITIQUE - architecture majeure des Enfants du Courant +- ❌ **Plate-forme** : Structure sur pilotis +- ❌ **Escalier** : Mentionné dans "2025-07-17-escaliers-et-maladie.md" +- ❌ **Marche** : Élément d'escalier +- ❌ **Seuil** : Entrée +- ❌ **Linteau** : Élément architectural +- ❌ **Colonne** / **Pilier** : Support +- ❌ **Voûte** : Construction souterraine +- ❌ **Galerie** : Passage souterrain (crucial pour Antres) +- ❌ **Chambre** : Pièce +- ❌ **Atelier** : Lieu de travail +- ❌ **Entrepôt** : Stockage +- ❌ **Tour** : Structure haute (tour de guet) +- ❌ **Mur** : Paroi +- ❌ **Muraille** : Fortification +- ❌ **Enceinte** : Protection +- ❌ **Porte** : Passage +- ❌ **Fenêtre** : Ouverture +- ❌ **Toit** : Couverture + +### C.4 - Parties du corps : Liste incomplète + +**Présent** : œil, main, voix, oreille, visage, cœur, corps, pied, poumon, souffle, chair, peau, sang + +**Manquant** : +- ❌ **Cheveux** : CRITIQUE (Cheveux de Sang) +- ❌ **Tête** : Partie majeure +- ❌ **Bras** : Membre +- ❌ **Jambe** : Membre +- ❌ **Doigt** : Extrémité +- ❌ **Orteil** : Extrémité +- ❌ **Bouche** : Organe +- ❌ **Langue** (organe) : Distinct de langue (langage) +- ❌ **Dent** : Organe +- ❌ **Nez** : Organe +- ❌ **Front** : Partie visage +- ❌ **Joue** : Partie visage +- ❌ **Menton** : Partie visage +- ❌ **Cou** : Partie corps +- ❌ **Épaule** : Partie corps +- ❌ **Dos** : Partie corps +- ❌ **Ventre** : Partie corps +- ❌ **Estomac** : Organe interne +- ❌ **Foie** : Organe interne +- ❌ **Os** : Structure interne (crucial pour squelettes des ruines) +- ❌ **Squelette** : Ensemble d'os +- ❌ **Crâne** : Os de la tête +- ❌ **Côte** : Os du thorax + +### C.5 - Maladies et dangers : Sous-développé pour un jeu avec miasmes toxiques + +**Présent** : Fichier 19-sante-dangers.json existe mais contenu non lu en détail + +**Manquant probable** : +- ❌ **Miasme** : CRITIQUE - gaz toxique des ruines +- ❌ **Toxique** : Empoisonné +- ❌ **Sommeil mortel** : Effet des miasmes +- ❌ **Dégénérescence** : État des os anciens +- ❌ **Maladie** : Concept général +- ❌ **Contagion** : Transmission +- ❌ **Guérison** : Rétablissement +- ❌ **Blessure** : Dommage physique +- ❌ **Fracture** : Os cassé +- ❌ **Brûlure** : Dommage par feu +- ❌ **Noyade** : CRITIQUE (échec naval) +- ❌ **Suffocation** : Manque d'air +- ❌ **Famine** : Manque de nourriture +- ❌ **Soif** : Manque d'eau + +### C.6 - Artisanat et techniques : Lacunes malgré civilisation d'artisans + +**Présent** : Termes génériques (artisan, sculpteur, peintre, tisserand) + +**Manquant** : +- ❌ **Tresser** : Technique de tissage +- ❌ **Filer** : Créer du fil +- ❌ **Tisser** : Créer du tissu +- ❌ **Coudre** : Assembler tissu +- ❌ **Tanner** : Traiter le cuir +- ❌ **Forger** : Travailler le métal (si métallurgie existe) +- ❌ **Polir** : Finition de surface +- ❌ **Aiguiser** : Affûter lame +- ❌ **Assembler** : Joindre pièces +- ❌ **Creuser** : Faire un trou (crucial pour mineurs) +- ❌ **Excaver** : Creuser profond +- ❌ **Étayer** : Soutenir structure +- ❌ **Effondrement** : Collapse (crucial - cave-ins dans ruines) +- ❌ **Débris** : Décombres +- ❌ **Éboulis** : Chute de pierres + +### C.7 - Commerce et économie : Vocabulaire économique limité + +**Présent** : échanger (kiru), Passes-bien (marchands) + +**Manquant** : +- ❌ **Prix** / **Valeur d'échange** : Coût +- ❌ **Troquer** : Existe mais contexte limité +- ❌ **Acheter** / **Vendre** : Transactions +- ❌ **Dette** : Obligation économique +- ❌ **Prêt** : Avance +- ❌ **Partage** : Distribution +- ❌ **Redistribution** : Système économique +- ❌ **Abondance** : Surplus +- ❌ **Pénurie** : Manque (existe pour nourriture mais pas général) +- ❌ **Richesse** : Accumulation +- ❌ **Pauvreté** : Manque +- ❌ **Propriété** : Possession +- ❌ **Communal** : Partagé (crucial pour réserves) + +### C.8 - Verbes d'action complexes : Lacunes dans actions sociales + +**Actions manquantes** : +- ❌ **Convaincre** : Persuader +- ❌ **Négocier** : Discuter accord +- ❌ **Promettre** : Engagement futur +- ❌ **Trahir** : Rompre confiance +- ❌ **Se repentir** : Regretter +- ❌ **Pardonner** : Absoudre +- ❌ **Punir** : Sanctionner +- ❌ **Récompenser** : Gratifier +- ❌ **Honorer** : Respecter +- ❌ **Mépriser** : Dédaigner +- ❌ **Admirer** : Respecter avec envie +- ❌ **Envier** : Jalousie +- ❌ **Craindre** : Avoir peur +- ❌ **Espérer** : Attendre avec confiance +- ❌ **Désespérer** : Perdre espoir + +### C.9 - Nombres et quantités : Système numérique non évalué + +Le fichier 22-nombres.json (279 lignes) existe mais n'a pas été lu en détail. À vérifier : +- Système de numération complet ? +- Ordinaux ? +- Fractions ? +- Quantités approximatives (beaucoup, peu, plusieurs, etc.) ? + +### C.10 - Couleurs : Système chromatique à vérifier + +Le fichier 18-couleurs.json (321 lignes) existe. Présent dans autres fichiers : +- Rouge (pasu) - couleur du sang +- Gris (senu) - couleur de cendre +- Blanc (milu?) - lait +- Noir/sombre (kumu) +- Clair/lumineux (sora) + +À vérifier dans 18-couleurs.json : +- Couleurs de l'aurore (rouge, orange, violet) : CRITIQUE pour yeux des Ciels-clairs +- Vert, bleu, jaune ? +- Nuances et intensités ? + +--- + +## SECTION D : Ajouts prioritaires par catégorie + +### D.1 - PRIORITÉ CRITIQUE : Contact avec les Nanzagouet (tour actuel) + +**Vocabulaire immédiatement nécessaire** : + +1. **Identité et altérité** : + - Nanzagouet (nom du peuple étranger) + - Cheveux de Sang (descriptif initial) + - l'Autre (concept philosophique) + - Cheveux (partie du corps) + - Étranger / inconnu / différent + +2. **Navigation et mer** : + - Navire (améliorer vanu avec contexte) + - Embarcation / barque + - Flotter / naviguer + - Chavirer / couler / sombrer + - Noyade + - Marin / navigateur + - Manœuvrer / piloter + - Échouer (bateau) + - Rivage / berge + +3. **Actions militaires du tour** : + - Capturer / capture + - Menacer / menace + - Soumettre + - Paniquer / panique + - Résister / résistance + - Rouer de coups + - Mâter (soumettre) + - Forcer à (rester, etc.) + - Courir après / poursuivre + - Se faire passer pour / imiter + - Abordage / aborder + +4. **Vêtements et apparence** : + - Vêtement / tenue / oripeaux + - Nu / nudité + - Trancher / couper (cheveux) + - Arracher (vêtements) + - Taille / morphologie / correspondre + +5. **Émotions et concepts sociaux du tour** : + - Vulnérable + - Audace / audacieux + - Orgueilleux / orgueil + - Patient / patience + - Initiative + - Imprévu + - Désordre / chaos + - Gloire / glorieux + - Reproche / reprocher + - Louer / louange + - Indigne + - Émeute + +6. **Ravitaillement** : + - Eau douce (vs eau salée) + - Point d'eau + - Ravitaillement / se ravitailler + - Réserve (existe, à contextualiser) + +### D.2 - PRIORITÉ HAUTE : Identité civilisationnelle + +**Concepts philosophiques centraux** : +- Porter un regard libre (concept identitaire central) +- Promis à pareil destin (anxiété existentielle) +- Premiers Ancêtres (peuple distinct de "ancêtres") +- Gardiens des passages (âmes des pionniers) +- Multi-générationnel / à travers les générations +- Relais (temporel et de mémorisation) +- Débat à travers le temps + +**Temps et durée** : +- Génération +- Décennie / siècle / millénaire +- Éternel / éternité +- Temporalité / stratification temporelle + +### D.3 - PRIORITÉ HAUTE : Architecture et habitat + +**Pilotis et structures** : +- Pilotis (CRITIQUE - architecture majeure) +- Plate-forme +- Tour / tour de guet +- Escalier / marche +- Galerie (souterraine) +- Chambre / pièce +- Atelier +- Mur / muraille / enceinte +- Porte / seuil / entrée +- Toit / toiture + +**Géographie manquante** : +- Embouchure (où fleuve rencontre mer) +- Eau douce / eau salée +- Berge / rive +- Marée / vague + +### D.4 - PRIORITÉ HAUTE : Technologies et matériaux + +**Glyphes du Gouffre (compléter)** : +- Bloc modulaire +- Percer / percé +- Nœud (de corde) +- Réutilisable +- Distribution / distribuer +- Standard / standardisé +- Invention locale + +**Argile vivante (compléter)** : +- Durcir / durcissement +- Instantané +- Exposition à l'air +- Monopole + +**Matériaux manquants** : +- Cuir / peau d'animal +- Os / ossement / squelette +- Tendon +- Résine +- Écorce +- Fibre végétale +- Paille / chaume + +### D.5 - PRIORITÉ MOYENNE : Corps humain (compléter) + +**Parties manquantes critiques** : +- Cheveux (CRITIQUE) +- Tête +- Bras / jambe +- Doigt / orteil +- Bouche / langue / dent / nez +- Os / squelette / crâne +- Cou / épaule / dos / ventre + +**États corporels** : +- Pâle / pâleur +- Allongé (morphologie) +- Aveugle / cécité +- Adapté / adaptation + +### D.6 - PRIORITÉ MOYENNE : Dangers et santé + +**Dangers des ruines** : +- Miasme / gaz toxique +- Toxique / empoisonné +- Sommeil mortel +- Suffocation / suffoquer +- Effondrement / éboulement / cave-in +- Débris / décombres / éboulis +- Noyade / se noyer +- Inondation / inonder + +**Maladies et blessures** : +- Maladie / malade +- Dégénérescence / dégénérer +- Blessure / blessé +- Fracture / os cassé +- Brûlure +- Guérison / guérir + +### D.7 - PRIORITÉ MOYENNE : Justice et concepts politiques + +**Justice (compléter Lois du Sang et de la Bête)** : +- Investigation / investiguer / enquête +- Arène +- Combat judiciaire +- Coupable / innocent +- Preuve / témoignage +- Accusation / accuser +- Défense / défendre + +**Concepts politiques** : +- Monopole (économique) +- Mériter / mérite (charges méritées) +- Héréditaire (concept à rejeter) +- Fief (concept à rejeter) +- Permanent vs temporaire +- Compensation (rémunération) +- Charge (fonction politique) + +### D.8 - PRIORITÉ MOYENNE : Artisanat et techniques + +**Techniques de construction** : +- Creuser / excaver +- Étayer / soutien / support +- Assembler / joindre +- Polir / finition +- Mortier / liant + +**Techniques textiles** : +- Tresser / tressage +- Filer / fil +- Tisser / tissage / tissu +- Coudre / couture +- Tanner (cuir) + +**Outils et actions** : +- Aiguiser / affûter +- Percer / perforer +- Scier +- Raboter + +### D.9 - PRIORITÉ BASSE : Faune spécifique + +**Gibier** : +- Cerf / biche +- Sanglier +- Lapin / lièvre +- Écureuil + +**Prédateurs** : +- Ours +- Lynx +- Renard + +**Oiseaux** : +- Corbeau / corneille +- Aigle +- Chouette / hibou +- Moineau / passereau + +**Autres** : +- Insectes (abeille, fourmi, araignée, etc.) +- Amphibiens (grenouille, salamandre) +- Créatures marines (crabe, crevette, moule, etc.) + +### D.10 - PRIORITÉ BASSE : Commerce et économie + +**Transactions** : +- Prix / coût / valeur +- Acheter / vendre +- Dette / devoir +- Prêt / prêter / emprunter + +**Distribution** : +- Partage / partager +- Redistribution +- Abondance / surplus +- Richesse / pauvreté +- Propriété / possession +- Communal / collectif + +### D.11 - PRIORITÉ BASSE : Verbes d'action sociale + +**Relations interpersonnelles** : +- Convaincre / persuader +- Négocier / négociation +- Promettre / promesse +- Trahir / trahison +- Se repentir / repentir +- Pardonner / pardon +- Punir / punition +- Récompenser / récompense + +**Attitudes** : +- Honorer / honneur +- Mépriser / mépris +- Admirer / admiration +- Envier / envie +- Craindre / crainte +- Espérer / espoir +- Désespérer / désespoir + +--- + +## SECTION E : Observations sur la structure et l'organisation du lexique + +### E.1 - Points forts du lexique actuel + +1. **Organisation thématique claire** : Les 25 fichiers JSON sont bien séparés par domaine sémantique +2. **Système de racines cohérent** : Distinction nette entre racines sacrées (voyelle initiale) et standards (consonne initiale) +3. **Compositions transparentes** : Les mots composés indiquent clairement leurs racines et sens littéral +4. **Métadonnées riches** : Chaque entrée contient type, domaine, notes explicatives +5. **Synonymes français** : Facilitent la recherche et la traduction +6. **Couverture des éléments centraux** : Castes, institutions majeures, lieux principaux bien représentés + +### E.2 - Lacunes structurelles + +1. **Pas de fichier dédié à la navigation** : Alors que la mer est découverte et critique pour le jeu actuel +2. **Anatomie incomplète** : 05-corps-sens.json n'a que 13 parties du corps +3. **Faune très limitée** : 10-animaux.json n'a que 10 concepts pour un monde naturel riche +4. **Pas de fichier "concepts philosophiques"** : Les idées abstraites centrales ("porter un regard libre", "promis à pareil destin") n'ont pas de catégorie dédiée +5. **Architecture sous-représentée** : Mélangée dans plusieurs fichiers sans cohérence + +### E.3 - Suggestions d'organisation + +**Nouveaux fichiers à créer** : +1. **25-navigation.json** : Navigation, bateaux, mer, activités maritimes +2. **26-architecture.json** : Structures, éléments de construction, espaces +3. **27-concepts-philosophiques.json** : Idées abstraites centrales à la civilisation +4. **28-etrangers.json** : Vocabulaire pour peuples étrangers, altérité, contact interculturel +5. **29-anatomie-complete.json** : Compléter le vocabulaire corporel + +**Fichiers à enrichir en priorité** : +1. **10-animaux.json** : Tripler au minimum le nombre d'espèces +2. **19-sante-dangers.json** : Vérifier et compléter (miasmes, maladies, accidents) +3. **20-objets-materiaux.json** : Ajouter matériaux organiques (cuir, os, fibres) +4. **06-actions.json** : Ajouter actions sociales complexes + +### E.4 - Cohérence avec les documents de jeu + +**Excellente cohérence pour** : +- Noms propres des institutions +- Castes et groupes sociaux +- Lieux majeurs +- Technologies centrales (argile vivante, glyphes, rhombes) +- Rituels principaux + +**Décalage important pour** : +- Vocabulaire du contact interculturel (aucun mot pour "Nanzagouet", "l'Autre", "étranger") +- Vocabulaire maritime (découverte de la mer non reflétée) +- Concepts philosophiques identitaires (non lexicalisés) +- Vie quotidienne pratique (vêtements, corps, actions sociales) + +### E.5 - Recommandations méthodologiques + +**Pour les ajouts prioritaires** : +1. **Créer d'abord 28-etrangers.json** : Tour actuel nécessite vocabulaire du contact interculturel +2. **Créer 25-navigation.json** : Découverte maritime récente +3. **Enrichir 10-animaux.json** : Ajouter 20-30 espèces minimum +4. **Compléter 05-corps-sens.json** : Doubler le nombre de parties du corps +5. **Créer 27-concepts-philosophiques.json** : Lexicaliser les idées centrales + +**Principes de développement** : +1. **Prioriser les besoins narratifs** : Le tour actuel (contact avec Nanzagouet) doit guider les ajouts immédiats +2. **Maintenir la cohérence morphologique** : Respecter le système racines sacrées/standards +3. **Documenter les choix** : Expliquer dans "note" pourquoi tel mot utilise telle racine +4. **Créer des familles lexicales** : Un nouveau domaine (navigation) doit avoir vocabulaire complet, pas juste 2-3 mots +5. **Équilibrer abstrait et concret** : Ajouter aussi bien concepts philosophiques que objets physiques + +### E.6 - Estimation quantitative des lacunes + +**Lacunes par priorité** : +- **CRITIQUE (besoin immédiat pour tour actuel)** : ~80-100 mots + - Contact interculturel : 30 mots + - Navigation : 25 mots + - Actions militaires/capture : 20 mots + - Vêtements/apparence : 15 mots + +- **HAUTE (besoin à court terme)** : ~150-200 mots + - Concepts philosophiques : 25 mots + - Architecture : 40 mots + - Technologies (compléments) : 30 mots + - Corps humain : 30 mots + - Dangers/santé : 40 mots + - Temps/durée : 15 mots + +- **MOYENNE (consolidation)** : ~200-250 mots + - Justice (compléments) : 20 mots + - Politique (compléments) : 20 mots + - Artisanat : 40 mots + - Matériaux : 30 mots + - Faune basique : 40 mots + - Géographie : 30 mots + - Émotions/actions sociales : 40 mots + +- **BASSE (enrichissement)** : ~300+ mots + - Faune détaillée : 100 mots + - Flore détaillée : 50 mots + - Commerce : 30 mots + - Verbes complexes : 60 mots + - Nuances diverses : 60+ + +**Total estimé des lacunes significatives** : 730-850 mots manquants pour un lexique vraiment complet et adapté au niveau narratif actuel du jeu. + +**Taille actuelle estimée** : ~400-500 entrées lexicales (basé sur 10,103 lignes pour 25 fichiers) + +**Ratio** : Le lexique devrait être augmenté de 150-200% pour couvrir complètement les besoins du jeu à son stade actuel. + +--- + +## CONCLUSION + +Le lexique de la langue ancien confluent est **bien structuré et cohérent dans son organisation**, avec une excellente couverture des **éléments centraux de worldbuilding** (castes, institutions, lieux sacrés, technologies uniques). + +Cependant, il présente des **lacunes critiques** dans plusieurs domaines : + +1. **Le vocabulaire du contact interculturel est totalement absent** alors que c'est le cœur du tour actuel +2. **Le vocabulaire maritime est minimal** malgré la découverte de la mer +3. **Les concepts philosophiques identitaires ne sont pas lexicalisés** ("porter un regard libre", etc.) +4. **La vie quotidienne pratique est sous-représentée** (vêtements, anatomie complète, actions sociales) +5. **Plusieurs domaines techniques manquent de profondeur** (navigation, architecture, faune) + +**Recommandation** : Commencer immédiatement par créer **28-etrangers.json** et **25-navigation.json** pour répondre aux besoins narratifs urgents du tour actuel avec les Nanzagouet, puis enrichir systématiquement les domaines identifiés en priorité HAUTE. diff --git a/ConfluentTranslator/contextAnalyzer.js b/ConfluentTranslator/contextAnalyzer.js index 23a89f7..44950dc 100644 --- a/ConfluentTranslator/contextAnalyzer.js +++ b/ConfluentTranslator/contextAnalyzer.js @@ -474,12 +474,14 @@ function analyzeContext(text, lexique, options = {}) { // - Aucune entrée trouvée OU // - Couverture < 20% (très peu de mots trouvés) const useFallback = expandedEntries.length === 0 || coveragePercent < 20; - const rootsFallback = useFallback ? extractRoots(lexique) : []; + + // TOUJOURS extraire les racines (nécessaires pour composition de mots manquants) + const rootsFallback = extractRoots(lexique); // 6. Calculer tokens économisés (estimation) const totalLexiqueEntries = Object.keys(lexique.dictionnaire || {}).length; const tokensFullLexique = totalLexiqueEntries * 15; // ~15 tokens par entrée en moyenne - const tokensUsed = (useFallback ? rootsFallback.length : expandedEntries.length) * 15; + const tokensUsed = (useFallback ? rootsFallback.length : (expandedEntries.length + rootsFallback.length)) * 15; const tokensSaved = tokensFullLexique - tokensUsed; const savingsPercent = totalLexiqueEntries > 0 ? Math.round((tokensSaved / tokensFullLexique) * 100) @@ -488,7 +490,7 @@ function analyzeContext(text, lexique, options = {}) { return { // Données pour le prompt entries: useFallback ? [] : expandedEntries, - rootsFallback: useFallback ? rootsFallback : [], + rootsFallback: rootsFallback, // TOUJOURS inclure les racines useFallback, // Métadonnées pour Layer 2 diff --git a/ConfluentTranslator/promptBuilder.js b/ConfluentTranslator/promptBuilder.js index cde9ee1..bedeeec 100644 --- a/ConfluentTranslator/promptBuilder.js +++ b/ConfluentTranslator/promptBuilder.js @@ -217,15 +217,19 @@ function buildContextualPrompt(contextResult, variant = 'ancien', originalText = } } - // Si fallback, injecter toutes les racines + // TOUJOURS injecter les racines (nécessaires pour composition) + const rootsSection = contextResult.rootsFallback && contextResult.rootsFallback.length > 0 + ? formatRootsFallback(contextResult.rootsFallback) + : ''; + + // Si fallback, injecter UNIQUEMENT les racines (pas de vocabulaire) if (contextResult.useFallback) { - const rootsSection = formatRootsFallback(contextResult.rootsFallback); return basePrompt + '\n' + numbersSection + '\n' + rootsSection; } - // Sinon, injecter uniquement le vocabulaire pertinent + // Sinon, injecter vocabulaire pertinent + racines const vocabularySection = formatVocabularySection(contextResult.entries); - return basePrompt + '\n' + numbersSection + '\n' + vocabularySection; + return basePrompt + '\n' + numbersSection + '\n' + vocabularySection + '\n' + rootsSection; } /** diff --git a/ConfluentTranslator/prompts/ancien-system.txt b/ConfluentTranslator/prompts/ancien-system.txt index a65407a..6f26af7 100644 --- a/ConfluentTranslator/prompts/ancien-system.txt +++ b/ConfluentTranslator/prompts/ancien-system.txt @@ -40,7 +40,7 @@ Consonnes (10): b, k, l, m, n, p, s, t, v, z Ordre: SOV (Sujet - Objet - Verbe) -Particules (avant le mot): +Particules (AVANT le mot): - va = sujet - vo = objet direct - vi = direction @@ -50,8 +50,12 @@ Particules (avant le mot): - ni = bénéficiaire - no = lieu +**ATTENTION : Pluriel "su" - EXCEPTION IMPORTANTE** +- su = pluriel (placé APRÈS le mot, contrairement aux particules) +- Exemple : "vo naki su" = les enfants (OBJET) +- Exemple : "va aki su" = les faucons (SUJET) + Autres: -- su = pluriel (après le mot) - zo/zom/zob/zoe = négation - ka = question (fin) @@ -314,7 +318,30 @@ mirak u = voir + présent --- -## Exemple 2 : Avec proposition relative +## Exemple 2 : Avec pluriel + +**Français:** Les enfants voient les oiseaux. + +ANALYSE: +- Phrase simple avec pluriels +- Tous les mots existent (naki, apo, mirak) +- Utilisation de "su" pour marquer le pluriel + +STRATÉGIE: +- Traduction directe avec ordre SOV +- **IMPORTANT : "su" se place APRÈS le mot à mettre au pluriel** + +Ancien Confluent: +va naki su vo apo su mirak u + +Décomposition: +va naki su = SUJET enfants (naki + su APRÈS) +vo apo su = OBJET oiseaux (apo + su APRÈS) +mirak u = voir + présent + +--- + +## Exemple 3 : Avec proposition relative **Français:** Le faucon qui chasse voit l'eau. diff --git a/ConfluentTranslator/public/index.html b/ConfluentTranslator/public/index.html index 9db1586..6e96508 100644 --- a/ConfluentTranslator/public/index.html +++ b/ConfluentTranslator/public/index.html @@ -49,17 +49,25 @@ select, input, textarea { width: 100%; padding: 10px; - background: #1a1a1a; + background: #1a1a1a !important; border: 1px solid #3a3a3a; border-radius: 4px; - color: #e0e0e0; + color: #e0e0e0 !important; font-family: inherit; } select option { - background: #1a1a1a; - color: #e0e0e0; + background: #1a1a1a !important; + background-color: #1a1a1a !important; + color: #e0e0e0 !important; padding: 10px; } + /* Force dark background on select dropdown in dark mode */ + body:not(.light-theme) select, + body:not(.light-theme) select option { + background: #1a1a1a !important; + background-color: #1a1a1a !important; + color: #e0e0e0 !important; + } select:focus { outline: none; border-color: #4a9eff; @@ -393,6 +401,20 @@ body.light-theme .lexique-cf { color: #2563eb; } + + /* Settings indicator */ + .settings-indicator { + font-size: 0.75em; + color: #888; + text-align: center; + padding: 8px; + margin-bottom: 15px; + border-bottom: 1px solid #3a3a3a; + } + body.light-theme .settings-indicator { + color: #666; + border-bottom-color: #e0e0e0; + } @@ -409,6 +431,7 @@
+

Traduction Français → Confluent

@@ -475,6 +498,7 @@
+

Traduction Confluent → Français

@@ -487,14 +511,38 @@
+

Recherche dans le lexique

@@ -604,7 +652,9 @@ // Load lexique const loadLexique = async () => { try { - const response = await fetch('/lexique'); + const settings = JSON.parse(localStorage.getItem('confluentSettings') || '{}'); + const niveau = settings.target || 'ancien'; + const response = await fetch(`/api/lexique/${niveau}`); lexiqueData = await response.json(); } catch (error) { console.error('Error loading lexique:', error); @@ -707,7 +757,7 @@ provider: 'anthropic', model: 'claude-sonnet-4-20250514', temperature: 1.0, - theme: 'dark', + theme: 'light', verbose: false, anthropicKey: '', openaiKey: '' @@ -753,6 +803,12 @@ // Apply theme applyTheme(settings.theme); + // Reload lexique if target changed + loadLexique(); + + // Update settings indicators + updateSettingsIndicators(); + // Show saved message const msg = document.getElementById('settings-saved-message'); msg.style.display = 'block'; @@ -767,6 +823,33 @@ } }; + const updateSettingsIndicators = () => { + const settings = { ...DEFAULT_SETTINGS, ...JSON.parse(localStorage.getItem('confluentSettings') || '{}') }; + + const targetLabel = settings.target === 'proto' ? 'Proto-Confluent' : 'Ancien Confluent'; + const providerLabel = settings.provider === 'anthropic' ? 'Anthropic' : 'OpenAI'; + + // Better model label detection + let modelLabel = 'Model'; + if (settings.model.includes('sonnet')) { + modelLabel = 'Sonnet 4.5'; + } else if (settings.model.includes('haiku')) { + modelLabel = 'Haiku 4.5'; + } else if (settings.model === 'chatgpt-4o-latest') { + modelLabel = 'ChatGPT-5.1'; + } else if (settings.model === 'gpt-4o-mini') { + modelLabel = 'GPT-4o Mini'; + } else if (settings.model === 'gpt-4o') { + modelLabel = 'GPT-4o'; + } + + const indicatorText = `${targetLabel} • ${providerLabel} ${modelLabel} • Temp: ${settings.temperature}`; + + document.getElementById('settings-indicator-fr2cf').textContent = indicatorText; + document.getElementById('settings-indicator-cf2fr').textContent = indicatorText; + document.getElementById('settings-indicator-lexique').textContent = indicatorText; + }; + const updateModelOptions = (provider) => { const modelSelect = document.getElementById('settings-model'); modelSelect.innerHTML = ''; @@ -863,8 +946,8 @@
Économie
-
${data.layer2.useFallback ? 'OUI' : 'NON'}
-
Fallback racines
+
${data.layer2.useFallback ? 'UNIQUEMENT' : 'AVEC VOCAB'}
+
Mode racines
`; document.getElementById('layer2-stats').innerHTML = statsHtml; @@ -916,17 +999,63 @@ resultContainer.style.display = 'block'; document.getElementById('cf2fr-layer1-content').textContent = 'Traduction en cours...'; + const settings = JSON.parse(localStorage.getItem('confluentSettings') || '{}'); + try { const response = await fetch('/api/translate/conf2fr', { method: 'POST', headers: { 'Content-Type': 'application/json' }, - body: JSON.stringify({ text }), + body: JSON.stringify({ + text, + variant: settings.target || 'ancien', + detailed: true + }), }); const data = await response.json(); if (response.ok) { + // Display translation document.getElementById('cf2fr-layer1-content').textContent = data.translation || data.result || 'Traduction effectuée'; + + // Display detailed tokens + if (data.tokens && data.tokens.length > 0) { + const tokensHtml = data.tokens.map(token => { + const statusClass = token.found ? 'found' : 'not-found'; + const frText = token.francais || '❓'; + const typeText = token.type ? `[${token.type}]` : ''; + + return ` +
+ ${token.confluent} + + ${frText} ${typeText} +
+ `; + }).join(''); + document.getElementById('cf2fr-layer2-tokens').innerHTML = tokensHtml; + + // Display stats + const coverage = data.coverage || 0; + const total = data.tokens.length; + const found = data.tokens.filter(t => t.found).length; + const notFound = total - found; + + document.getElementById('cf2fr-layer2-stats').innerHTML = ` +
+
Couverture
+
${coverage}%
+
+
+
Mots trouvés
+
${found}/${total}
+
+
+
Mots inconnus
+
${notFound}
+
+ `; + } } else { document.getElementById('cf2fr-layer1-content').innerHTML = `Erreur: ${data.error}`; } @@ -937,9 +1066,15 @@ } }); + // Listen to theme change in settings + document.getElementById('settings-theme').addEventListener('change', (e) => { + applyTheme(e.target.value); + }); + // Initialize loadSettings(); loadLexique(); + updateSettingsIndicators(); diff --git a/ConfluentTranslator/server.js b/ConfluentTranslator/server.js index 15caae6..1110275 100644 --- a/ConfluentTranslator/server.js +++ b/ConfluentTranslator/server.js @@ -250,7 +250,7 @@ app.post('/api/analyze/coverage', (req, res) => { // Translation endpoint (NOUVEAU SYSTÈME CONTEXTUEL) app.post('/translate', async (req, res) => { - const { text, target, provider, model, useLexique = true } = req.body; + const { text, target, provider, model, temperature = 1.0, useLexique = true } = req.body; if (!text || !target || !provider || !model) { return res.status(400).json({ error: 'Missing parameters' }); @@ -296,6 +296,7 @@ app.post('/translate', async (req, res) => { const message = await anthropic.messages.create({ model: model, max_tokens: 8192, // Max pour Claude Sonnet/Haiku 4.5 + temperature: temperature, system: systemPrompt, messages: [ { role: 'user', content: text } @@ -313,6 +314,7 @@ app.post('/translate', async (req, res) => { const completion = await openai.chat.completions.create({ model: model, max_tokens: 16384, // Max pour GPT-4o et GPT-4o-mini + temperature: temperature, messages: [ { role: 'system', content: systemPrompt }, { role: 'user', content: text } diff --git a/ancien-confluent/lexique/00-grammaire.json b/ancien-confluent/lexique/00-grammaire.json index 0ed4098..3bd0147 100644 --- a/ancien-confluent/lexique/00-grammaire.json +++ b/ancien-confluent/lexique/00-grammaire.json @@ -325,7 +325,7 @@ "mot_francais": "celui-ci/celui-là", "traductions": [ { - "confluent": "taki", + "confluent": "kanu", "type": "demonstratif", "categorie": "démonstratif", "note": "Démonstratif pour personnes" @@ -526,6 +526,131 @@ "pendant que", "alors que" ] + }, + "ai": { + "mot_francais": "avoir (1sg présent)", + "traductions": [ + { + "confluent": "iku", + "type": "auxiliaire", + "categorie": "verbe", + "note": "J'ai - auxiliaire avoir 1ère personne singulier présent" + } + ], + "synonymes_fr": [ + "j'ai" + ] + }, + "as": { + "mot_francais": "avoir (2sg présent)", + "traductions": [ + { + "confluent": "iku", + "type": "auxiliaire", + "categorie": "verbe", + "note": "Tu as - auxiliaire avoir 2ème personne singulier" + } + ], + "synonymes_fr": [ + "tu as" + ] + }, + "a": { + "mot_francais": "avoir (3sg présent)", + "traductions": [ + { + "confluent": "iku", + "type": "auxiliaire", + "categorie": "verbe", + "note": "Il/elle a - auxiliaire avoir 3ème personne singulier" + } + ], + "synonymes_fr": [ + "il a", + "elle a", + "on a" + ] + }, + "avons": { + "mot_francais": "avoir (1pl présent)", + "traductions": [ + { + "confluent": "iku", + "type": "auxiliaire", + "categorie": "verbe", + "note": "Nous avons - auxiliaire avoir 1ère personne pluriel" + } + ], + "synonymes_fr": [ + "nous avons" + ] + }, + "avez": { + "mot_francais": "avoir (2pl présent)", + "traductions": [ + { + "confluent": "iku", + "type": "auxiliaire", + "categorie": "verbe", + "note": "Vous avez - auxiliaire avoir 2ème personne pluriel" + } + ], + "synonymes_fr": [ + "vous avez" + ] + }, + "ont": { + "mot_francais": "avoir (3pl présent)", + "traductions": [ + { + "confluent": "iku", + "type": "auxiliaire", + "categorie": "verbe", + "note": "Ils/elles ont - auxiliaire avoir 3ème personne pluriel" + } + ], + "synonymes_fr": [ + "ils ont", + "elles ont" + ] + }, + "avais": { + "mot_francais": "avoir (imparfait)", + "traductions": [ + { + "confluent": "ikuat", + "type": "auxiliaire", + "categorie": "verbe", + "note": "Avais - auxiliaire avoir imparfait (iku + marqueur passé at)" + } + ], + "synonymes_fr": [ + "j'avais", + "tu avais", + "il avait", + "nous avions", + "vous aviez", + "ils avaient" + ] + }, + "aurai": { + "mot_francais": "avoir (futur)", + "traductions": [ + { + "confluent": "ikuok", + "type": "auxiliaire", + "categorie": "verbe", + "note": "Aurai - auxiliaire avoir futur (iku + marqueur futur ok)" + } + ], + "synonymes_fr": [ + "j'aurai", + "tu auras", + "il aura", + "nous aurons", + "vous aurez", + "ils auront" + ] } } -} \ No newline at end of file +} diff --git a/ancien-confluent/lexique/02-racines-standards.json b/ancien-confluent/lexique/02-racines-standards.json index 1d5d063..4506c56 100644 --- a/ancien-confluent/lexique/02-racines-standards.json +++ b/ancien-confluent/lexique/02-racines-standards.json @@ -5,9 +5,9 @@ "vrai": { "traductions": [ { - "confluent": "veri", + "confluent": "veli", "type": "racine", - "forme_liee": "ver", + "forme_liee": "vel", "domaine": "concept_abstrait", "note": "Racine fondamentale" } @@ -84,9 +84,9 @@ "rapide": { "traductions": [ { - "confluent": "hayo", + "confluent": "kazo", "type": "racine", - "forme_liee": "hay", + "forme_liee": "kaz", "domaine": "qualificatif", "note": "Rapide, vif" } @@ -120,9 +120,9 @@ "echanger": { "traductions": [ { - "confluent": "kiru", + "confluent": "kilu", "type": "racine", - "forme_liee": "kir", + "forme_liee": "kil", "domaine": "action", "note": "Troquer, commercer" } @@ -219,13 +219,13 @@ "assemblee": { "traductions": [ { - "confluent": "kotaitori", + "confluent": "kotaitoli", "type": "composition", - "composition": "kot-a-tori", + "composition": "kot-a-toli", "sens_litteral": "Union avec personnes", "racines": [ "kota", - "tori" + "toli" ], "domaine": "institution" } @@ -432,9 +432,9 @@ "mer": { "traductions": [ { - "confluent": "meru", + "confluent": "melu", "type": "racine", - "forme_liee": "mer", + "forme_liee": "mel", "domaine": "geographie", "note": "Nouvelle racine - grande eau salée" } @@ -688,9 +688,9 @@ "mauvais": { "traductions": [ { - "confluent": "daku", + "confluent": "taku", "type": "racine", - "forme_liee": "dak", + "forme_liee": "tak", "domaine": "qualificatif", "note": "Mauvais, négatif (opposé de bon)" } @@ -718,6 +718,219 @@ "lumineux", "lumineuse" ] + }, + "honteux": { + "traductions": [ + { + "confluent": "paka", + "type": "racine", + "forme_liee": "pak", + "domaine": "qualificatif", + "note": "Honteux, indigne, déshonorant - inspiration basque" + } + ], + "synonymes_fr": [ + "indigne", + "déshonorant", + "infâme" + ] + }, + "personne": { + "traductions": [ + { + "confluent": "toli", + "type": "racine", + "forme_liee": "tol", + "domaine": "social", + "note": "Personne, agent, individu - utilisé dans tous les rôles" + } + ], + "synonymes_fr": [ + "agent", + "individu" + ] + }, + "nourriture": { + "traductions": [ + { + "confluent": "nutu", + "type": "racine", + "forme_liee": "nut", + "domaine": "alimentation", + "note": "Nourriture, aliment - racine fondamentale" + } + ], + "synonymes_fr": [ + "aliment", + "manger" + ] + }, + "bois_materiau": { + "traductions": [ + { + "confluent": "vito", + "type": "racine", + "forme_liee": "vit", + "domaine": "materiau", + "note": "Bois (matériau de construction) - distinct de viku (forêt)" + } + ], + "synonymes_fr": [ + "bois de construction" + ] + }, + "garder": { + "traductions": [ + { + "confluent": "konu", + "type": "racine", + "forme_liee": "kon", + "domaine": "action", + "note": "Garder, protéger, maintenir - racine sécuritaire" + } + ], + "synonymes_fr": [ + "protéger", + "maintenir", + "défendre" + ] + }, + "duree": { + "traductions": [ + { + "confluent": "aika", + "type": "racine_sacree", + "forme_liee": "aik", + "domaine": "temporel", + "note": "Temps, durée, époque - du finnois 'aika'" + } + ], + "synonymes_fr": [ + "temps", + "époque", + "ère" + ] + }, + "souvenir": { + "traductions": [ + { + "confluent": "nemu", + "type": "racine", + "forme_liee": "nem", + "domaine": "mental", + "note": "Mémoire, souvenir - distinct de memu (mémoire collective)" + } + ], + "synonymes_fr": [ + "mémoire", + "rappel" + ] + }, + "demeurer": { + "traductions": [ + { + "confluent": "tuli", + "type": "racine", + "forme_liee": "tul", + "domaine": "etat", + "note": "Être, rester, demeurer - du finnois 'tulla'" + } + ], + "synonymes_fr": [ + "rester", + "être", + "habiter" + ] + }, + "ciel": { + "traductions": [ + { + "confluent": "zeru", + "type": "racine", + "forme_liee": "zer", + "domaine": "nature", + "note": "Ciel, voûte céleste - utilisé dans Ciels-clairs" + } + ], + "synonymes_fr": [ + "voûte céleste", + "firmament" + ] + }, + "presage": { + "traductions": [ + { + "confluent": "novi", + "type": "racine", + "forme_liee": "nov", + "domaine": "concept", + "note": "Présage, signe du futur" + } + ], + "synonymes_fr": [ + "augure", + "signe" + ] + }, + "faim": { + "traductions": [ + { + "confluent": "muta", + "type": "racine", + "forme_liee": "mut", + "domaine": "besoin", + "note": "Faim, manque, besoin de nourriture" + } + ], + "synonymes_fr": [ + "manque", + "privation" + ] + }, + "intimite": { + "traductions": [ + { + "confluent": "supu", + "type": "racine", + "forme_liee": "sup", + "domaine": "espace", + "note": "Intérieur, intimité, espace privé" + } + ], + "synonymes_fr": [ + "intérieur", + "privé" + ] + }, + "sale": { + "traductions": [ + { + "confluent": "selu", + "type": "racine", + "forme_liee": "sel", + "domaine": "qualificatif", + "note": "Salé, eau salée - distinct de salu (sel cristal)" + } + ], + "synonymes_fr": [ + "salé", + "saumâtre" + ] + }, + "charge": { + "traductions": [ + { + "confluent": "saki", + "type": "racine", + "forme_liee": "sak", + "domaine": "action", + "note": "Charge, fardeau, ce qu'on porte" + } + ], + "synonymes_fr": [ + "fardeau", + "cargaison" + ] } }, "pronoms": { @@ -770,7 +983,10 @@ "confluent": "mikisu", "type": "pronom", "composition": "miki-su", - "racines": ["miki", "su"], + "racines": [ + "miki", + "su" + ], "personne": "1pl", "note": "Première personne pluriel - miki (je) + su (pluriel)" } @@ -782,7 +998,10 @@ "confluent": "sinusu", "type": "pronom", "composition": "sinu-su", - "racines": ["sinu", "su"], + "racines": [ + "sinu", + "su" + ], "personne": "2pl", "note": "Deuxième personne pluriel - sinu (tu) + su (pluriel)" } @@ -794,7 +1013,10 @@ "confluent": "tanisu", "type": "pronom", "composition": "tani-su", - "racines": ["tani", "su"], + "racines": [ + "tani", + "su" + ], "personne": "3pl", "note": "Troisième personne pluriel - tani (il/elle) + su (pluriel)" } @@ -804,4 +1026,4 @@ ] } } -} \ No newline at end of file +} diff --git a/ancien-confluent/lexique/03-castes.json b/ancien-confluent/lexique/03-castes.json index 8dfbdeb..1ec9673 100644 --- a/ancien-confluent/lexique/03-castes.json +++ b/ancien-confluent/lexique/03-castes.json @@ -189,7 +189,7 @@ "Passes-bien": { "traductions": [ { - "confluent": "takitosa", + "confluent": "kanutosa", "type": "nom_propre", "composition": "tak-i-tosa", "sens_litteral": "Porteurs du bien", @@ -207,7 +207,7 @@ "Takitosa": { "traductions": [ { - "confluent": "takitosa", + "confluent": "kanutosa", "type": "nom_propre", "composition": "tak-i-tosa", "sens_litteral": "Porteurs du bien", @@ -271,13 +271,13 @@ "Sans-ciels": { "traductions": [ { - "confluent": "zozeru", + "confluent": "zozelu", "type": "composition", - "composition": "zo-zeru", + "composition": "zo-zelu", "sens_litteral": "Sans ciel", "racines": [ "zo", - "zeru" + "zelu" ], "categorie": "groupe_social", "note": "Nés sous ciel couvert" @@ -287,9 +287,9 @@ "Gardiens de la Confluence": { "traductions": [ { - "confluent": "zakiuraakota", + "confluent": "zakiulaakota", "type": "composition", - "composition": "zak-i-uraakota", + "composition": "zak-i-ulaakota", "sens_litteral": "Gardiens de la Confluence", "racines": [ "zaki", @@ -376,4 +376,4 @@ ] } } -} \ No newline at end of file +} diff --git a/ancien-confluent/lexique/04-lieux.json b/ancien-confluent/lexique/04-lieux.json index 71913f9..97c1e1d 100644 --- a/ancien-confluent/lexique/04-lieux.json +++ b/ancien-confluent/lexique/04-lieux.json @@ -252,13 +252,13 @@ "avant-poste cotier": { "traductions": [ { - "confluent": "velaumeru", + "confluent": "velaumelu", "type": "composition", - "composition": "vel-a-meru", + "composition": "vel-a-melu", "sens_litteral": "Vigile avec mer", "racines": [ "vela", - "meru" + "melu" ], "categorie": "structure" } @@ -282,13 +282,13 @@ "forteresse": { "traductions": [ { - "confluent": "zakiukari", + "confluent": "zakiukali", "type": "composition", - "composition": "zak-i-kari", + "composition": "zak-i-kali", "sens_litteral": "Protection de pierre", "racines": [ "zaki", - "kari" + "kali" ], "categorie": "structure" } @@ -313,4 +313,4 @@ ] } } -} \ No newline at end of file +} diff --git a/ancien-confluent/lexique/05-corps-sens.json b/ancien-confluent/lexique/05-corps-sens.json index f4baa03..af78a57 100644 --- a/ancien-confluent/lexique/05-corps-sens.json +++ b/ancien-confluent/lexique/05-corps-sens.json @@ -186,9 +186,9 @@ "yeux de l'aurore": { "traductions": [ { - "confluent": "siluora", + "confluent": "siluola", "type": "composition", - "composition": "sil-u-ora", + "composition": "sil-u-ola", "sens_litteral": "Regard de l'aurore", "racines": [ "sili", @@ -198,6 +198,365 @@ "note": "Yeux des Ciels-clairs aux couleurs de l'aurore" } ] + }, + "tête": { + "traductions": [ + { + "confluent": "muto", + "type": "racine", + "forme_liee": "mut", + "domaine": "corps", + "note": "Sommet du corps, partie supérieure" + } + ], + "synonymes_fr": [ + "crâne", + "chef" + ] + }, + "bras": { + "traductions": [ + { + "confluent": "kanuvi", + "type": "composition", + "composition": "kan-u-vi", + "sens_litteral": "Membre de la main", + "racines": [ + "kanu" + ], + "domaine": "corps", + "note": "Membre supérieur jusqu'à la main" + } + ] + }, + "jambe": { + "traductions": [ + { + "confluent": "pekuvi", + "type": "composition", + "composition": "pek-u-vi", + "sens_litteral": "Membre du pied", + "racines": [ + "peki" + ], + "domaine": "corps", + "note": "Membre inférieur jusqu'au pied" + } + ], + "synonymes_fr": [ + "jambes" + ] + }, + "doigt": { + "traductions": [ + { + "confluent": "kanupisu", + "type": "composition", + "composition": "kan-u-pisu", + "sens_litteral": "Petit de la main", + "racines": [ + "kanu", + "pisu" + ], + "domaine": "corps", + "note": "Extrémité de la main" + } + ], + "synonymes_fr": [ + "doigts" + ] + }, + "orteil": { + "traductions": [ + { + "confluent": "pekupisu", + "type": "composition", + "composition": "pek-u-pisu", + "sens_litteral": "Petit du pied", + "racines": [ + "peki", + "pisu" + ], + "domaine": "corps", + "note": "Extrémité du pied" + } + ], + "synonymes_fr": [ + "orteils" + ] + }, + "bouche": { + "traductions": [ + { + "confluent": "vokumu", + "type": "composition", + "composition": "vok-umu", + "sens_litteral": "Ouverture de la voix", + "racines": [ + "voki" + ], + "domaine": "corps_sens", + "note": "Organe de la parole et de l'alimentation" + } + ] + }, + "langue": { + "traductions": [ + { + "confluent": "vokivi", + "type": "composition", + "composition": "voki-vi", + "sens_litteral": "Organe de la voix", + "racines": [ + "voki" + ], + "domaine": "corps", + "note": "Organe dans la bouche (distinct de langue=langage)" + } + ], + "synonymes_fr": [ + "langue organe" + ] + }, + "dent": { + "traductions": [ + { + "confluent": "bitu", + "type": "racine", + "forme_liee": "bit", + "domaine": "corps", + "note": "Organe pour mordre et mâcher" + } + ], + "synonymes_fr": [ + "dents" + ] + }, + "nez": { + "traductions": [ + { + "confluent": "venu", + "type": "composition", + "composition": "ven-u", + "sens_litteral": "Organe de l'air", + "racines": [ + "vena" + ], + "domaine": "corps_sens", + "note": "Organe de l'odorat et de la respiration" + } + ] + }, + "front": { + "traductions": [ + { + "confluent": "mukamako", + "type": "composition", + "composition": "muka-mako", + "sens_litteral": "Haut du visage", + "racines": [ + "muka", + "mako" + ], + "domaine": "corps", + "note": "Partie supérieure du visage" + } + ] + }, + "joue": { + "traductions": [ + { + "confluent": "mukavi", + "type": "composition", + "composition": "muka-vi", + "sens_litteral": "Partie du visage", + "racines": [ + "muka" + ], + "domaine": "corps", + "note": "Côté du visage" + } + ], + "synonymes_fr": [ + "joues" + ] + }, + "menton": { + "traductions": [ + { + "confluent": "mukavuku", + "type": "composition", + "composition": "muka-vuku", + "sens_litteral": "Bas du visage", + "racines": [ + "muka", + "vuku" + ], + "domaine": "corps", + "note": "Partie inférieure du visage" + } + ] + }, + "cou": { + "traductions": [ + { + "confluent": "mutuvasi", + "type": "composition", + "composition": "mutu-vasi", + "sens_litteral": "Pont de la tête", + "racines": [ + "muto", + "vasi" + ], + "domaine": "corps", + "note": "Lien entre tête et corps" + } + ] + }, + "épaule": { + "traductions": [ + { + "confluent": "kanuvasi", + "type": "composition", + "composition": "kan-u-vasi", + "sens_litteral": "Pont du bras", + "racines": [ + "kanu", + "vasi" + ], + "domaine": "corps", + "note": "Jonction bras-corps" + } + ], + "synonymes_fr": [ + "épaules" + ] + }, + "dos": { + "traductions": [ + { + "confluent": "sanuvoli", + "type": "composition", + "composition": "san-u-voli", + "sens_litteral": "Arrière du corps", + "racines": [ + "sanu" + ], + "domaine": "corps", + "note": "Face postérieure" + } + ] + }, + "ventre": { + "traductions": [ + { + "confluent": "nutusanu", + "type": "composition", + "composition": "nutu-sanu", + "sens_litteral": "Corps de nourriture", + "racines": [ + "nutu", + "sanu" + ], + "domaine": "corps", + "note": "Abdomen, partie centrale" + } + ], + "synonymes_fr": [ + "abdomen" + ] + }, + "estomac": { + "traductions": [ + { + "confluent": "nutukovu", + "type": "composition", + "composition": "nutu-kovu", + "sens_litteral": "Réservoir de nourriture", + "racines": [ + "nutu" + ], + "domaine": "corps", + "note": "Organe digestif" + } + ] + }, + "foie": { + "traductions": [ + { + "confluent": "sanukoli", + "type": "composition", + "composition": "san-u-koli", + "sens_litteral": "Cœur du corps", + "racines": [ + "sanu", + "kori" + ], + "domaine": "corps", + "note": "Organe vital interne" + } + ] + }, + "os": { + "traductions": [ + { + "confluent": "talu", + "type": "racine", + "forme_liee": "tal", + "domaine": "corps", + "note": "Structure dure interne du corps" + } + ] + }, + "squelette": { + "traductions": [ + { + "confluent": "talusanu", + "type": "composition", + "composition": "tal-u-sanu", + "sens_litteral": "Os du corps", + "racines": [ + "talu", + "sanu" + ], + "domaine": "corps", + "note": "Ensemble des os" + } + ] + }, + "crâne": { + "traductions": [ + { + "confluent": "mututalu", + "type": "composition", + "composition": "mutu-talu", + "sens_litteral": "Os de la tête", + "racines": [ + "muto", + "talu" + ], + "domaine": "corps", + "note": "Os de la tête" + } + ] + }, + "côte": { + "traductions": [ + { + "confluent": "taluvi", + "type": "composition", + "composition": "tal-u-vi", + "sens_litteral": "Os du côté", + "racines": [ + "talu" + ], + "domaine": "corps", + "note": "Os du thorax" + } + ], + "synonymes_fr": [ + "côtes" + ] } } -} \ No newline at end of file +} diff --git a/ancien-confluent/lexique/06-actions.json b/ancien-confluent/lexique/06-actions.json index f38f2ed..398429f 100644 --- a/ancien-confluent/lexique/06-actions.json +++ b/ancien-confluent/lexique/06-actions.json @@ -6,10 +6,10 @@ "racine_fr": "voi", "traductions": [ { - "confluent": "mirak", + "confluent": "milak", "type": "verbe", - "racine": "mira", - "forme_liee": "mir", + "racine": "mila", + "forme_liee": "mil", "structure": "CVCVC", "domaine": "action", "note": "Verbe fondamental lié à l'observation" @@ -119,10 +119,10 @@ "racine_fr": "cour", "traductions": [ { - "confluent": "hayak", + "confluent": "kazok", "type": "verbe", - "racine": "haya", - "forme_liee": "hay", + "racine": "kazo", + "forme_liee": "kaz", "structure": "CVCVC", "domaine": "action", "note": "Courir, se déplacer rapidement" @@ -147,10 +147,10 @@ "racine_fr": "coul", "traductions": [ { - "confluent": "urak", + "confluent": "kulak", "type": "verbe", - "racine": "ura", - "forme_liee": "ur", + "racine": "kula", + "forme_liee": "kul", "structure": "VCVC", "domaine": "action", "note": "Couler, s'écouler - lié à l'eau" @@ -598,10 +598,10 @@ "racine_fr": "découvr", "traductions": [ { - "confluent": "miris", + "confluent": "milis", "type": "verbe", - "racine": "mira", - "forme_liee": "mir", + "racine": "mila", + "forme_liee": "mil", "structure": "CVCVC", "domaine": "action", "note": "Voir pour la première fois" @@ -759,10 +759,10 @@ "racine_fr": "troqu", "traductions": [ { - "confluent": "kirak", + "confluent": "kilak", "type": "verbe", - "racine": "kiru", - "forme_liee": "kir", + "racine": "kilu", + "forme_liee": "kil", "structure": "CVCVC", "domaine": "action_commerce" } @@ -785,10 +785,10 @@ "racine_fr": "arbitr", "traductions": [ { - "confluent": "verim", + "confluent": "velim", "type": "verbe", - "racine": "veri", - "forme_liee": "ver", + "racine": "veli", + "forme_liee": "vel", "structure": "CVCVC", "domaine": "action_justice", "note": "Juger selon la vérité" @@ -858,10 +858,10 @@ "racine_fr": "exist", "traductions": [ { - "confluent": "urak", + "confluent": "kulak", "type": "verbe_irregulier", - "racine": "ura", - "forme_liee": "ur", + "racine": "kula", + "forme_liee": "kul", "structure": "VCVC", "domaine": "action_existentielle", "note": "Verbe irrégulier existentiel - 'il y a', présence, existence. Dérivé de la racine sacrée 'ura' (eau/flux vital)" @@ -1069,10 +1069,10 @@ "racine_fr": "aim", "traductions": [ { - "confluent": "koris", + "confluent": "kolis", "type": "verbe", - "racine": "kori", - "forme_liee": "kor", + "racine": "koli", + "forme_liee": "kol", "structure": "CVCVC", "domaine": "action_emotion", "note": "Verbe d'amour (du cœur kori)" @@ -1183,4 +1183,4 @@ ] } } -} \ No newline at end of file +} diff --git a/ancien-confluent/lexique/07-emotions.json b/ancien-confluent/lexique/07-emotions.json index 88c3e4a..4178107 100644 --- a/ancien-confluent/lexique/07-emotions.json +++ b/ancien-confluent/lexique/07-emotions.json @@ -5,9 +5,9 @@ "joie": { "traductions": [ { - "confluent": "koriatosa", + "confluent": "koliatosa", "type": "composition", - "composition": "kor-i-a-tosa", + "composition": "kol-i-a-tosa", "sens_litteral": "Cœur avec bien", "racines": [ "kori", @@ -25,9 +25,9 @@ "espoir": { "traductions": [ { - "confluent": "koriuora", + "confluent": "koliuola", "type": "composition", - "composition": "kor-i-ora", + "composition": "kol-i-ola", "sens_litteral": "Cœur de l'aurore", "racines": [ "kori", @@ -40,9 +40,9 @@ "fierte": { "traductions": [ { - "confluent": "koriumako", + "confluent": "koliumako", "type": "composition", - "composition": "kor-i-mako", + "composition": "kol-i-mako", "sens_litteral": "Cœur de grandeur", "racines": [ "kori", @@ -55,9 +55,9 @@ "amour": { "traductions": [ { - "confluent": "koriukota", + "confluent": "koliukota", "type": "composition", - "composition": "kor-i-kota", + "composition": "kol-i-kota", "sens_litteral": "Cœur d'union", "racines": [ "kori", @@ -70,9 +70,9 @@ "curiosite": { "traductions": [ { - "confluent": "koriusili", + "confluent": "koliusili", "type": "composition", - "composition": "kor-i-sili", + "composition": "kol-i-sili", "sens_litteral": "Cœur du regard", "racines": [ "kori", @@ -85,9 +85,9 @@ "soulagement": { "traductions": [ { - "confluent": "koriatosa", + "confluent": "koliatosa", "type": "composition", - "composition": "kor-i-tosa", + "composition": "kol-i-tosa", "sens_litteral": "Cœur avec bien", "racines": [ "kori", @@ -101,13 +101,13 @@ "confiance": { "traductions": [ { - "confluent": "koriuveri", + "confluent": "koliuveli", "type": "composition", - "composition": "kor-i-veri", + "composition": "kol-i-veli", "sens_litteral": "Cœur de vérité", "racines": [ "kori", - "veri" + "veli" ], "domaine": "emotion_positive" } @@ -116,9 +116,9 @@ "gratitude": { "traductions": [ { - "confluent": "koriukitan", + "confluent": "koliukita", "type": "composition", - "composition": "kor-i-kitan", + "composition": "kol-i-kitan", "sens_litteral": "Cœur du don", "racines": [ "kori", @@ -131,9 +131,9 @@ "serenite": { "traductions": [ { - "confluent": "koriuura", + "confluent": "koliuula", "type": "composition", - "composition": "kor-i-ura", + "composition": "kol-i-ula", "sens_litteral": "Cœur de l'eau", "racines": [ "kori", @@ -147,9 +147,9 @@ "peur": { "traductions": [ { - "confluent": "korioaoki", + "confluent": "kolioaoki", "type": "composition", - "composition": "kor-oa-oki", + "composition": "kol-oa-oki", "sens_litteral": "Cœur face au danger", "racines": [ "kori", @@ -162,9 +162,9 @@ "colere": { "traductions": [ { - "confluent": "koriusuki", + "confluent": "koliusuki", "type": "composition", - "composition": "kor-i-suki", + "composition": "kol-i-suki", "sens_litteral": "Cœur de feu", "racines": [ "kori", @@ -177,9 +177,9 @@ "tristesse": { "traductions": [ { - "confluent": "korioaosi", + "confluent": "kolioaosi", "type": "composition", - "composition": "kor-oa-osi", + "composition": "kol-oa-osi", "sens_litteral": "Cœur vers la mort", "racines": [ "kori", @@ -192,9 +192,9 @@ "desespoir": { "traductions": [ { - "confluent": "korizoora", + "confluent": "kolizoola", "type": "composition", - "composition": "kor-i-zo-ora", + "composition": "kol-i-zo-ola", "sens_litteral": "Cœur sans aurore", "racines": [ "kori", @@ -208,9 +208,9 @@ "honte": { "traductions": [ { - "confluent": "korioakumu", + "confluent": "kolioakumu", "type": "composition", - "composition": "kor-oa-kumu", + "composition": "kol-oa-kumu", "sens_litteral": "Cœur vers l'ombre", "racines": [ "kori", @@ -223,9 +223,9 @@ "haine": { "traductions": [ { - "confluent": "koriuzoka", + "confluent": "koliuzoka", "type": "composition", - "composition": "kor-i-zoka", + "composition": "kol-i-zoka", "sens_litteral": "Cœur de l'ennemi", "racines": [ "kori", @@ -238,9 +238,9 @@ "angoisse": { "traductions": [ { - "confluent": "korioavuku", + "confluent": "kolioavuku", "type": "composition", - "composition": "kor-oa-vuku", + "composition": "kol-oa-vuku", "sens_litteral": "Cœur vers le gouffre", "racines": [ "kori", @@ -256,14 +256,14 @@ "mefiance": { "traductions": [ { - "confluent": "korizoveri", + "confluent": "kolizoveli", "type": "composition", - "composition": "kor-i-zo-veri", + "composition": "kol-i-zo-veli", "sens_litteral": "Cœur sans vérité", "racines": [ "kori", "zo", - "veri" + "veli" ], "domaine": "emotion_negative" } @@ -272,9 +272,9 @@ "regret": { "traductions": [ { - "confluent": "korioaaita", + "confluent": "kolioaaita", "type": "composition", - "composition": "kor-oa-aita", + "composition": "kol-oa-aita", "sens_litteral": "Cœur vers le passé", "racines": [ "kori", @@ -287,17 +287,17 @@ "jalousie": { "traductions": [ { - "confluent": "korioakiru", + "confluent": "kolioakilu", "type": "composition", - "composition": "kor-oa-kiru", + "composition": "kol-oa-kilu", "sens_litteral": "Cœur contre l'échange", "racines": [ "kori", - "kiru" + "kilu" ], "domaine": "emotion_negative" } ] } } -} \ No newline at end of file +} diff --git a/ancien-confluent/lexique/08-nature-elements.json b/ancien-confluent/lexique/08-nature-elements.json index 20659ba..5b8413a 100644 --- a/ancien-confluent/lexique/08-nature-elements.json +++ b/ancien-confluent/lexique/08-nature-elements.json @@ -5,9 +5,9 @@ "ciel": { "traductions": [ { - "confluent": "zeru", + "confluent": "zelu", "type": "racine", - "forme_liee": "zer", + "forme_liee": "zel", "domaine": "element_nature", "note": "Élément primordial" } @@ -61,9 +61,9 @@ "pierre": { "traductions": [ { - "confluent": "kari", + "confluent": "kali", "type": "racine", - "forme_liee": "kar", + "forme_liee": "kal", "domaine": "element_nature", "note": "Matière dure" } @@ -75,9 +75,9 @@ "riviere": { "traductions": [ { - "confluent": "nura", + "confluent": "nula", "type": "racine", - "forme_liee": "nur", + "forme_liee": "nul", "domaine": "geographie", "note": "Eau qui coule" } @@ -205,9 +205,9 @@ "mer": { "traductions": [ { - "confluent": "meru", + "confluent": "melu", "type": "racine", - "forme_liee": "mer", + "forme_liee": "mel", "domaine": "geographie", "note": "Grande eau salée" } @@ -296,9 +296,9 @@ "cascade": { "traductions": [ { - "confluent": "uraoavuku", + "confluent": "ulaoavuku", "type": "composition", - "composition": "ur-oa-vuku", + "composition": "ul-oa-vuku", "sens_litteral": "Eau vers le gouffre", "racines": [ "ura", @@ -311,9 +311,9 @@ "source": { "traductions": [ { - "confluent": "enuura", + "confluent": "enuula", "type": "composition", - "composition": "en-u-ura", + "composition": "en-u-ula", "sens_litteral": "Origine de l'eau", "racines": [ "ena", @@ -341,13 +341,13 @@ "crevasse": { "traductions": [ { - "confluent": "vukukari", + "confluent": "vukukali", "type": "composition", - "composition": "vuk-u-kari", + "composition": "vuk-u-kali", "sens_litteral": "Gouffre dans la pierre", "racines": [ "vuku", - "kari" + "kali" ], "domaine": "geographie" } @@ -356,13 +356,13 @@ "promontoire": { "traductions": [ { - "confluent": "tasumeru", + "confluent": "tasumelu", "type": "composition", - "composition": "tas-u-meru", + "composition": "tas-u-melu", "sens_litteral": "Montagne de la mer", "racines": [ "tasa", - "meru" + "melu" ], "domaine": "geographie" } @@ -389,13 +389,13 @@ "cote": { "traductions": [ { - "confluent": "tokumeru", + "confluent": "tokumelu", "type": "composition", - "composition": "tok-u-meru", + "composition": "tok-u-melu", "sens_litteral": "Terre de la mer", "racines": [ "toka", - "meru" + "melu" ], "domaine": "geographie" } @@ -404,12 +404,12 @@ "horizon": { "traductions": [ { - "confluent": "zerutoka", + "confluent": "zelutoka", "type": "composition", - "composition": "zer-u-toka", + "composition": "zel-u-toka", "sens_litteral": "Ciel de la terre", "racines": [ - "zeru", + "zelu", "toka" ], "domaine": "geographie" @@ -419,12 +419,12 @@ "confluence de rivieres": { "traductions": [ { - "confluent": "nuraakota", + "confluent": "nulaakota", "type": "composition", - "composition": "nur-aa-kota", + "composition": "nul-aa-kota", "sens_litteral": "Rivière mêlée à union", "racines": [ - "nura", + "nula", "kota" ], "domaine": "geographie" @@ -434,13 +434,13 @@ "riviere azur": { "traductions": [ { - "confluent": "nuruzeru", + "confluent": "nuluzelu", "type": "composition", - "composition": "nur-u-zeru", + "composition": "nul-u-zelu", "sens_litteral": "Rivière du ciel", "racines": [ - "nura", - "zeru" + "nula", + "zelu" ], "domaine": "geographie" } @@ -449,12 +449,12 @@ "riviere verte": { "traductions": [ { - "confluent": "nuruviku", + "confluent": "nuluviku", "type": "composition", - "composition": "nur-u-viku", + "composition": "nul-u-viku", "sens_litteral": "Rivière de la forêt", "racines": [ - "nura", + "nula", "viku" ], "domaine": "geographie" @@ -462,4 +462,4 @@ ] } } -} \ No newline at end of file +} diff --git a/ancien-confluent/lexique/09-institutions.json b/ancien-confluent/lexique/09-institutions.json index c7967d3..fcbd9bc 100644 --- a/ancien-confluent/lexique/09-institutions.json +++ b/ancien-confluent/lexique/09-institutions.json @@ -5,14 +5,14 @@ "Cercle des Sages": { "traductions": [ { - "confluent": "rikuusekitori", + "confluent": "likuusekitoli", "type": "nom_propre", - "composition": "sik-u-sek-i-tori", + "composition": "sik-u-sek-i-toli", "sens_litteral": "Cercle des porteurs-de-savoir", "racines": [ "siku", "seka", - "tori" + "toli" ], "categorie": "institution", "note": "Institution centrale" @@ -22,12 +22,12 @@ "Tribunal des Mœurs": { "traductions": [ { - "confluent": "verimuloku", + "confluent": "velimuloku", "type": "nom_propre", - "composition": "ver-i-m-loku", + "composition": "vel-i-m-loku", "sens_litteral": "Lieu de vérité des mœurs", "racines": [ - "veri", + "veli", "loku" ], "categorie": "institution" @@ -67,13 +67,13 @@ "Maison des Decouvertes": { "traductions": [ { - "confluent": "nutuumiris", + "confluent": "nutuumili", "type": "nom_propre", - "composition": "nut-u-miris", + "composition": "nut-u-milis", "sens_litteral": "Maison de la découverte", "racines": [ "nutu", - "miris" + "milis" ], "categorie": "institution" } @@ -128,7 +128,7 @@ "Conseil du Village": { "traductions": [ { - "confluent": "kotaurikusi", + "confluent": "kotaulikusi", "type": "composition", "composition": "kot-a-sik-u-si", "sens_litteral": "Union avec cercle de regard", @@ -174,9 +174,9 @@ "Jour des Ancetres": { "traductions": [ { - "confluent": "sorauaita", + "confluent": "solauaita", "type": "composition", - "composition": "sor-a-aita", + "composition": "sol-a-aita", "sens_litteral": "Jour avec ancêtres", "racines": [ "sora", @@ -189,9 +189,9 @@ "Jour du Faucon": { "traductions": [ { - "confluent": "sorauaki", + "confluent": "solauaki", "type": "composition", - "composition": "sor-a-aki", + "composition": "sol-a-aki", "sens_litteral": "Jour avec faucon", "racines": [ "sora", @@ -202,4 +202,4 @@ ] } } -} \ No newline at end of file +} diff --git a/ancien-confluent/lexique/10-animaux.json b/ancien-confluent/lexique/10-animaux.json index a1012b1..4897766 100644 --- a/ancien-confluent/lexique/10-animaux.json +++ b/ancien-confluent/lexique/10-animaux.json @@ -19,7 +19,7 @@ "Regards-Libres": { "traductions": [ { - "confluent": "aruaska", + "confluent": "aluaska", "type": "composition", "composition": "al-u-aska", "sens_litteral": "Grue de liberté", @@ -35,7 +35,7 @@ "grue cendree": { "traductions": [ { - "confluent": "arusenu", + "confluent": "alusenu", "type": "composition", "composition": "al-u-senu", "sens_litteral": "Grue de cendre", @@ -116,13 +116,13 @@ "poisson de riviere": { "traductions": [ { - "confluent": "pisunura", + "confluent": "pisunula", "type": "composition", - "composition": "pis-u-nura", + "composition": "pis-u-nula", "sens_litteral": "Poisson de rivière", "racines": [ "pisu", - "nura" + "nula" ], "domaine": "animal" } @@ -142,9 +142,9 @@ "serpent d'eau": { "traductions": [ { - "confluent": "sepuura", + "confluent": "sepuula", "type": "composition", - "composition": "sep-u-ura", + "composition": "sep-u-ula", "sens_litteral": "Serpent de l'eau", "racines": [ "sepu", @@ -183,13 +183,13 @@ "creature inconnue": { "traductions": [ { - "confluent": "zomira", + "confluent": "zomila", "type": "composition", - "composition": "zo-mira", + "composition": "zo-mila", "sens_litteral": "Sans vue", "racines": [ "zo", - "mira" + "mila" ], "domaine": "animal", "note": "Créature jamais observée" @@ -222,4 +222,4 @@ ] } } -} \ No newline at end of file +} diff --git a/ancien-confluent/lexique/11-armes-outils.json b/ancien-confluent/lexique/11-armes-outils.json index 47a761e..062f966 100644 --- a/ancien-confluent/lexique/11-armes-outils.json +++ b/ancien-confluent/lexique/11-armes-outils.json @@ -45,9 +45,9 @@ "fleche": { "traductions": [ { - "confluent": "pikiuark", + "confluent": "pikiuarku", "type": "composition", - "composition": "pik-i-ark", + "composition": "pik-i-alk", "sens_litteral": "Pointe de l'arc", "racines": [ "piki", @@ -116,13 +116,13 @@ "bouclier": { "traductions": [ { - "confluent": "zakikari", + "confluent": "zakikali", "type": "composition", - "composition": "zak-i-kari", + "composition": "zak-i-kali", "sens_litteral": "Protection de pierre", "racines": [ "zaki", - "kari" + "kali" ], "domaine": "arme" } @@ -131,13 +131,13 @@ "pioche": { "traductions": [ { - "confluent": "vukukari", + "confluent": "vukukali", "type": "composition", - "composition": "vuk-u-kari", + "composition": "vuk-u-kali", "sens_litteral": "Pierre du gouffre", "racines": [ "vuku", - "kari" + "kali" ], "domaine": "outil" } @@ -146,13 +146,13 @@ "ciseau a pierre": { "traductions": [ { - "confluent": "kovukari", + "confluent": "kovukali", "type": "composition", - "composition": "kov-u-kari", + "composition": "kov-u-kali", "sens_litteral": "Graveur de pierre", "racines": [ "kova", - "kari" + "kali" ], "domaine": "outil" } @@ -161,13 +161,13 @@ "maillet": { "traductions": [ { - "confluent": "bopukari", + "confluent": "bopukali", "type": "composition", - "composition": "bop-u-kari", + "composition": "bop-u-kali", "sens_litteral": "Frappeur de pierre", "racines": [ "bopu", - "kari" + "kali" ], "domaine": "outil" } @@ -376,4 +376,4 @@ ] } } -} \ No newline at end of file +} diff --git a/ancien-confluent/lexique/12-abstraits.json b/ancien-confluent/lexique/12-abstraits.json index 5527d9c..7ca1433 100644 --- a/ancien-confluent/lexique/12-abstraits.json +++ b/ancien-confluent/lexique/12-abstraits.json @@ -65,13 +65,13 @@ "honneur": { "traductions": [ { - "confluent": "valuuveri", + "confluent": "valuuveli", "type": "composition", - "composition": "val-u-veri", + "composition": "val-u-veli", "sens_litteral": "Valeur de vérité", "racines": [ "valu", - "veri" + "veli" ], "domaine": "concept_abstrait" } @@ -80,12 +80,12 @@ "justice": { "traductions": [ { - "confluent": "veriukota", + "confluent": "veliukota", "type": "composition", - "composition": "ver-i-kota", + "composition": "vel-i-kota", "sens_litteral": "Vérité de l'union", "racines": [ - "veri", + "veli", "kota" ], "domaine": "concept_abstrait" @@ -95,9 +95,9 @@ "verite": { "traductions": [ { - "confluent": "veri", + "confluent": "veli", "type": "racine", - "forme_liee": "ver", + "forme_liee": "vel", "domaine": "concept_fondateur" } ] @@ -347,7 +347,7 @@ "serment de sang": { "traductions": [ { - "confluent": "savuurasu", + "confluent": "savuulasu", "type": "composition", "composition": "sav-u-pasu", "sens_litteral": "Serment du sang", @@ -397,13 +397,13 @@ "epreuve de verite": { "traductions": [ { - "confluent": "okiuveri", + "confluent": "okiuveli", "type": "composition", - "composition": "ok-i-veri", + "composition": "ok-i-veli", "sens_litteral": "Épreuve de vérité", "racines": [ "oki", - "veri" + "veli" ], "domaine": "institution" } @@ -553,13 +553,13 @@ "prisonnier": { "traductions": [ { - "confluent": "pasikitori", + "confluent": "pasikitoli", "type": "composition", - "composition": "pas-ik-i-tori", + "composition": "pas-ik-i-toli", "sens_litteral": "Personne capturée", "racines": [ "pasik", - "tori" + "toli" ], "domaine": "conflit" } @@ -568,11 +568,14 @@ "civilisation": { "traductions": [ { - "confluent": "uraikota", + "confluent": "ulaikota", "type": "composition", - "composition": "ura-i-kota", + "composition": "ula-i-kota", "sens_litteral": "Confluence-de-vie", - "racines": ["ura", "kota"], + "racines": [ + "ura", + "kota" + ], "liaison": "i", "domaine": "concept_fondateur", "note": "Civilisation - l'union des gens qui vivent ensemble (ura=eau/vie + i=agentivité + kota=confluence/union)" @@ -586,11 +589,14 @@ "observation": { "traductions": [ { - "confluent": "silimira", + "confluent": "silimila", "type": "composition", - "composition": "sili-mira", + "composition": "sili-mila", "sens_litteral": "Regard-observant", - "racines": ["sili", "mirak"], + "racines": [ + "sili", + "milak" + ], "domaine": "concept_fondateur", "note": "Observation - acte de regarder avec attention (sili=regard + mirak=observer)" } @@ -607,7 +613,10 @@ "type": "composition", "composition": "aita-toka", "sens_litteral": "Lieux-des-ancêtres", - "racines": ["aita", "toka"], + "racines": [ + "aita", + "toka" + ], "domaine": "concept_fondateur", "note": "Culture - les lieux/traditions des ancêtres transmis (aita=ancêtres + toka=lieux)" } @@ -624,7 +633,10 @@ "type": "composition", "composition": "seka-memu", "sens_litteral": "Savoir-en-mémoire", - "racines": ["seka", "memu"], + "racines": [ + "seka", + "memu" + ], "domaine": "concept_fondateur", "note": "Connaissance - le savoir gardé en mémoire (seka=savoir + memu=mémoire)" } @@ -668,4 +680,4 @@ ] } } -} \ No newline at end of file +} diff --git a/ancien-confluent/lexique/13-rituels.json b/ancien-confluent/lexique/13-rituels.json index 1c7b7a6..ddeb896 100644 --- a/ancien-confluent/lexique/13-rituels.json +++ b/ancien-confluent/lexique/13-rituels.json @@ -82,7 +82,7 @@ "Lois du Sang et de la Bete": { "traductions": [ { - "confluent": "lokuurasubetu", + "confluent": "lokuulasubetu", "type": "nom_propre", "composition": "lok-u-pasu-betu", "sens_litteral": "Loi du sang et de la bête", @@ -98,7 +98,7 @@ "Porteur de Flamme": { "traductions": [ { - "confluent": "takiusuki", + "confluent": "kanuusuki", "type": "nom_propre", "composition": "tak-i-suki", "sens_litteral": "Porteur du feu", @@ -221,13 +221,13 @@ "lait de pierre": { "traductions": [ { - "confluent": "miluukari", + "confluent": "miluukali", "type": "composition", - "composition": "mil-u-kari", + "composition": "mil-u-kali", "sens_litteral": "Lait de pierre", "racines": [ "milu", - "kari" + "kali" ], "domaine": "materiau_rituel" } @@ -236,12 +236,12 @@ "roche braise": { "traductions": [ { - "confluent": "kariusuki", + "confluent": "kaliusuki", "type": "composition", - "composition": "kar-i-suki", + "composition": "kal-i-suki", "sens_litteral": "Pierre du feu", "racines": [ - "kari", + "kali", "suki" ], "domaine": "materiau_rituel" @@ -392,4 +392,4 @@ ] } } -} \ No newline at end of file +} diff --git a/ancien-confluent/lexique/14-geographie.json b/ancien-confluent/lexique/14-geographie.json index 5c91df9..8afb56c 100644 --- a/ancien-confluent/lexique/14-geographie.json +++ b/ancien-confluent/lexique/14-geographie.json @@ -5,12 +5,12 @@ "confluence de rivieres": { "traductions": [ { - "confluent": "nuraakota", + "confluent": "nulaakota", "type": "composition", - "composition": "nur-aa-kota", + "composition": "nul-aa-kota", "sens_litteral": "Rivière mêlée à union", "racines": [ - "nura", + "nula", "kota" ], "domaine": "geographie" @@ -20,13 +20,13 @@ "riviere azur": { "traductions": [ { - "confluent": "nuruzeru", + "confluent": "nuluzelu", "type": "composition", - "composition": "nur-u-zeru", + "composition": "nul-u-zelu", "sens_litteral": "Rivière du ciel", "racines": [ - "nura", - "zeru" + "nula", + "zelu" ], "domaine": "geographie" } @@ -35,12 +35,12 @@ "riviere verte": { "traductions": [ { - "confluent": "nuruviku", + "confluent": "nuluviku", "type": "composition", - "composition": "nur-u-viku", + "composition": "nul-u-viku", "sens_litteral": "Rivière de la forêt", "racines": [ - "nura", + "nula", "viku" ], "domaine": "geographie" @@ -50,13 +50,13 @@ "promontoire": { "traductions": [ { - "confluent": "tasumeru", + "confluent": "tasumelu", "type": "composition", - "composition": "tas-u-meru", + "composition": "tas-u-melu", "sens_litteral": "Montagne de la mer", "racines": [ "tasa", - "meru" + "melu" ], "domaine": "geographie" } @@ -90,12 +90,52 @@ } ] }, + "est": { + "traductions": [ + { + "confluent": "solaola", + "type": "composition", + "composition": "sol-a-ola", + "sens_litteral": "Soleil de l'aurore", + "racines": [ + "sora", + "ora" + ], + "domaine": "direction", + "note": "Est - direction du soleil levant/aurore" + } + ], + "synonymes_fr": [ + "levant", + "orient" + ] + }, + "ouest": { + "traductions": [ + { + "confluent": "solaluna", + "type": "composition", + "composition": "sol-a-luna", + "sens_litteral": "Soleil vers la nuit", + "racines": [ + "sora", + "luna" + ], + "domaine": "direction", + "note": "Ouest - direction où le soleil va vers la nuit" + } + ], + "synonymes_fr": [ + "couchant", + "occident" + ] + }, "mer": { "traductions": [ { - "confluent": "meru", + "confluent": "melu", "type": "racine", - "forme_liee": "mer", + "forme_liee": "mel", "domaine": "geographie" } ] @@ -103,13 +143,13 @@ "cote": { "traductions": [ { - "confluent": "tokumeru", + "confluent": "tokumelu", "type": "composition", - "composition": "tok-u-meru", + "composition": "tok-u-melu", "sens_litteral": "Terre de la mer", "racines": [ "toka", - "meru" + "melu" ], "domaine": "geographie" } @@ -118,12 +158,12 @@ "horizon": { "traductions": [ { - "confluent": "zerutoka", + "confluent": "zelutoka", "type": "composition", - "composition": "zer-u-toka", + "composition": "zel-u-toka", "sens_litteral": "Ciel de la terre", "racines": [ - "zeru", + "zelu", "toka" ], "domaine": "geographie" @@ -148,9 +188,9 @@ "source": { "traductions": [ { - "confluent": "enuura", + "confluent": "enuula", "type": "composition", - "composition": "en-u-ura", + "composition": "en-u-ula", "sens_litteral": "Origine de l'eau", "racines": [ "ena", @@ -163,9 +203,9 @@ "cascade": { "traductions": [ { - "confluent": "uraoavuku", + "confluent": "ulaoavuku", "type": "composition", - "composition": "ur-oa-vuku", + "composition": "ul-oa-vuku", "sens_litteral": "Eau vers le gouffre", "racines": [ "ura", @@ -178,12 +218,12 @@ "eboulement": { "traductions": [ { - "confluent": "kariovuku", + "confluent": "kaliovuku", "type": "composition", - "composition": "kar-oa-vuku", + "composition": "kal-oa-vuku", "sens_litteral": "Pierre vers le gouffre", "racines": [ - "kari", + "kali", "vuku" ], "domaine": "danger_naturel" @@ -193,9 +233,9 @@ "inondation": { "traductions": [ { - "confluent": "uraueki", + "confluent": "ulaueki", "type": "composition", - "composition": "ur-a-eki", + "composition": "ul-a-eki", "sens_litteral": "Eau avec totalité", "racines": [ "ura", @@ -208,13 +248,13 @@ "crevasse": { "traductions": [ { - "confluent": "vukukari", + "confluent": "vukukali", "type": "composition", - "composition": "vuk-u-kari", + "composition": "vuk-u-kali", "sens_litteral": "Gouffre dans la pierre", "racines": [ "vuku", - "kari" + "kali" ], "domaine": "geographie" } @@ -223,12 +263,12 @@ "roche impenetrable": { "traductions": [ { - "confluent": "kariuzoki", + "confluent": "kaliuzoki", "type": "composition", - "composition": "kar-i-zoki", + "composition": "kal-i-zoki", "sens_litteral": "Pierre de l'épreuve", "racines": [ - "kari", + "kali", "oki" ], "domaine": "geographie" @@ -266,4 +306,4 @@ ] } } -} \ No newline at end of file +} diff --git a/ancien-confluent/lexique/15-roles-titres.json b/ancien-confluent/lexique/15-roles-titres.json index 60fe79d..58053f1 100644 --- a/ancien-confluent/lexique/15-roles-titres.json +++ b/ancien-confluent/lexique/15-roles-titres.json @@ -76,13 +76,13 @@ "sage": { "traductions": [ { - "confluent": "sekitori", + "confluent": "sekitoli", "type": "composition", - "composition": "sek-i-tori", + "composition": "sek-i-toli", "sens_litteral": "Porteur de savoir", "racines": [ "seka", - "tori" + "toli" ], "domaine": "titre" } @@ -127,13 +127,13 @@ "traqueur": { "traductions": [ { - "confluent": "zanatori", + "confluent": "zanatoli", "type": "composition", - "composition": "zan-a-tori", + "composition": "zan-a-toli", "sens_litteral": "Personne de la chasse", "racines": [ "zana", - "tori" + "toli" ], "domaine": "titre" } @@ -147,13 +147,13 @@ "guerrier": { "traductions": [ { - "confluent": "okitori", + "confluent": "okitoli", "type": "composition", - "composition": "ok-i-tori", + "composition": "ok-i-toli", "sens_litteral": "Personne de l'épreuve", "racines": [ "oki", - "tori" + "toli" ], "domaine": "titre" } @@ -162,13 +162,13 @@ "archer": { "traductions": [ { - "confluent": "arkutori", + "confluent": "alkutoli", "type": "composition", - "composition": "ark-u-tori", + "composition": "alk-u-toli", "sens_litteral": "Personne de l'arc", "racines": [ "arku", - "tori" + "toli" ], "domaine": "titre" } @@ -177,7 +177,7 @@ "porteur de lance": { "traductions": [ { - "confluent": "takiupiki", + "confluent": "kanuupiki", "type": "composition", "composition": "tak-i-piki", "sens_litteral": "Porteur de lance", @@ -207,13 +207,13 @@ "sentinelle": { "traductions": [ { - "confluent": "velatori", + "confluent": "velatoli", "type": "composition", - "composition": "vel-a-tori", + "composition": "vel-a-toli", "sens_litteral": "Personne de vigile", "racines": [ "vela", - "tori" + "toli" ], "domaine": "titre" } @@ -245,13 +245,13 @@ "chaman": { "traductions": [ { - "confluent": "umitori", + "confluent": "umitoli", "type": "composition", - "composition": "um-i-tori", + "composition": "um-i-toli", "sens_litteral": "Personne de l'esprit", "racines": [ "umi", - "tori" + "toli" ], "domaine": "titre_spirituel" } @@ -260,14 +260,14 @@ "dresseur de grues": { "traductions": [ { - "confluent": "aruzakitori", + "confluent": "aluzakitoli", "type": "composition", - "composition": "al-u-zak-i-tori", + "composition": "al-u-zak-i-toli", "sens_litteral": "Personne gardienne des grues", "racines": [ "alu", "zaki", - "tori" + "toli" ], "domaine": "titre" } @@ -306,7 +306,7 @@ "Passe-bien": { "traductions": [ { - "confluent": "takitosa", + "confluent": "kanutosa", "type": "nom_propre", "composition": "tak-i-tosa", "sens_litteral": "Porteur du bien", @@ -321,7 +321,7 @@ "Porteur de Flamme": { "traductions": [ { - "confluent": "takiusuki", + "confluent": "kanuusuki", "type": "nom_propre", "composition": "tak-i-suki", "sens_litteral": "Porteur du feu", @@ -351,13 +351,13 @@ "faconneur de pierre": { "traductions": [ { - "confluent": "nekaukari", + "confluent": "nekaukali", "type": "composition", - "composition": "nek-a-kari", + "composition": "nek-a-kali", "sens_litteral": "Faiseur avec pierre", "racines": [ "neka", - "kari" + "kali" ], "domaine": "titre" } @@ -366,13 +366,13 @@ "sculpteur": { "traductions": [ { - "confluent": "kovatori", + "confluent": "kovatoli", "type": "composition", - "composition": "kov-a-tori", + "composition": "kov-a-toli", "sens_litteral": "Personne de la gravure", "racines": [ "kova", - "tori" + "toli" ], "domaine": "titre" } @@ -381,13 +381,13 @@ "peintre": { "traductions": [ { - "confluent": "koluutori", + "confluent": "koluutoli", "type": "composition", - "composition": "kol-u-tori", + "composition": "kol-u-toli", "sens_litteral": "Personne des couleurs", "racines": [ "kolu", - "tori" + "toli" ], "domaine": "titre" } @@ -396,13 +396,13 @@ "tisserand": { "traductions": [ { - "confluent": "vasitori", + "confluent": "vasitoli", "type": "composition", - "composition": "vas-i-tori", + "composition": "vas-i-toli", "sens_litteral": "Personne du tissage", "racines": [ "vasi", - "tori" + "toli" ], "domaine": "titre" } @@ -411,13 +411,13 @@ "pecheur": { "traductions": [ { - "confluent": "pisutori", + "confluent": "pisutoli", "type": "composition", - "composition": "pis-u-tori", + "composition": "pis-u-toli", "sens_litteral": "Personne du poisson", "racines": [ "pisu", - "tori" + "toli" ], "domaine": "titre" } @@ -426,13 +426,13 @@ "mineur": { "traductions": [ { - "confluent": "vukutori", + "confluent": "vukutoli", "type": "composition", - "composition": "vuk-u-tori", + "composition": "vuk-u-toli", "sens_litteral": "Personne du gouffre", "racines": [ "vuku", - "tori" + "toli" ], "domaine": "titre" } @@ -441,13 +441,13 @@ "aine": { "traductions": [ { - "confluent": "aitatori", + "confluent": "aitatoli", "type": "composition", - "composition": "ait-a-tori", + "composition": "ait-a-toli", "sens_litteral": "Personne avec ancêtre", "racines": [ "aita", - "tori" + "toli" ], "domaine": "titre" } @@ -496,13 +496,13 @@ "epoux": { "traductions": [ { - "confluent": "kotautori", + "confluent": "kotautoli", "type": "composition", - "composition": "kot-a-tori", + "composition": "kot-a-toli", "sens_litteral": "Personne d'union", "racines": [ "kota", - "tori" + "toli" ], "domaine": "famille" } @@ -538,4 +538,4 @@ ] } } -} \ No newline at end of file +} diff --git a/ancien-confluent/lexique/16-communication.json b/ancien-confluent/lexique/16-communication.json index f123523..6399681 100644 --- a/ancien-confluent/lexique/16-communication.json +++ b/ancien-confluent/lexique/16-communication.json @@ -106,13 +106,13 @@ "histoire vraie": { "traductions": [ { - "confluent": "vokiuveri", + "confluent": "vokiuveli", "type": "composition", - "composition": "vok-i-veri", + "composition": "vok-i-veli", "sens_litteral": "Voix de vérité", "racines": [ "voki", - "veri" + "veli" ], "domaine": "communication" } @@ -184,13 +184,13 @@ "rapport": { "traductions": [ { - "confluent": "vokiumira", + "confluent": "vokiumila", "type": "composition", - "composition": "vok-i-mira", + "composition": "vok-i-mila", "sens_litteral": "Voix de l'observation", "racines": [ "voki", - "mira" + "mila" ], "domaine": "communication" } @@ -324,13 +324,13 @@ "mensonge": { "traductions": [ { - "confluent": "zoveri", + "confluent": "zoveli", "type": "composition", - "composition": "zo-veri", + "composition": "zo-veli", "sens_litteral": "Sans vérité", "racines": [ "zo", - "veri" + "veli" ], "domaine": "communication" } @@ -347,4 +347,4 @@ ] } } -} \ No newline at end of file +} diff --git a/ancien-confluent/lexique/17-temps.json b/ancien-confluent/lexique/17-temps.json index 26caeef..59bdcae 100644 --- a/ancien-confluent/lexique/17-temps.json +++ b/ancien-confluent/lexique/17-temps.json @@ -62,7 +62,7 @@ "saison": { "traductions": [ { - "confluent": "temiuriku", + "confluent": "temiuliku", "type": "composition", "composition": "tem-i-siku", "sens_litteral": "Temps du cercle", @@ -87,7 +87,7 @@ "mois": { "traductions": [ { - "confluent": "lunariku", + "confluent": "lunaliku", "type": "composition", "composition": "lun-a-siku", "sens_litteral": "Lune avec cercle", @@ -112,9 +112,9 @@ "matin": { "traductions": [ { - "confluent": "orausora", + "confluent": "olausola", "type": "composition", - "composition": "or-a-sora", + "composition": "ol-a-sola", "sens_litteral": "Aurore avec soleil", "racines": [ "ora", @@ -196,7 +196,7 @@ "cycle eternel": { "traductions": [ { - "confluent": "rikuueka", + "confluent": "likuueka", "type": "composition", "composition": "sik-u-eka", "sens_litteral": "Cercle de totalité", @@ -279,4 +279,4 @@ ] } } -} \ No newline at end of file +} diff --git a/ancien-confluent/lexique/18-couleurs.json b/ancien-confluent/lexique/18-couleurs.json index 391a2f0..c989a96 100644 --- a/ancien-confluent/lexique/18-couleurs.json +++ b/ancien-confluent/lexique/18-couleurs.json @@ -16,9 +16,9 @@ "orange": { "traductions": [ { - "confluent": "sukiusora", + "confluent": "sukiusola", "type": "composition", - "composition": "suk-i-sora", + "composition": "suk-i-sola", "sens_litteral": "Feu de lumière", "racines": [ "suki", @@ -31,12 +31,12 @@ "violet": { "traductions": [ { - "confluent": "zeruurasu", + "confluent": "zeluulasu", "type": "composition", - "composition": "zer-u-pasu", + "composition": "zel-u-pasu", "sens_litteral": "Ciel de sang", "racines": [ - "zeru", + "zelu", "pasu" ], "domaine": "couleur" @@ -49,7 +49,7 @@ "rose": { "traductions": [ { - "confluent": "rasuumilu", + "confluent": "lasuumilu", "type": "composition", "composition": "pas-u-milu", "sens_litteral": "Rouge de lait", @@ -113,9 +113,9 @@ "bleu": { "traductions": [ { - "confluent": "zeru", + "confluent": "zelu", "type": "racine", - "forme_liee": "zer", + "forme_liee": "zel", "domaine": "couleur", "note": "Couleur du ciel" } @@ -124,9 +124,9 @@ "azur": { "traductions": [ { - "confluent": "zeru", + "confluent": "zelu", "type": "racine", - "forme_liee": "zer", + "forme_liee": "zel", "domaine": "couleur" } ] @@ -134,12 +134,12 @@ "bleu d'eau": { "traductions": [ { - "confluent": "zeruuura", + "confluent": "zeluuula", "type": "composition", - "composition": "zer-u-ura", + "composition": "zel-u-ula", "sens_litteral": "Ciel de l'eau", "racines": [ - "zeru", + "zelu", "ura" ], "domaine": "couleur" @@ -149,9 +149,9 @@ "ocre": { "traductions": [ { - "confluent": "tokausora", + "confluent": "tokausola", "type": "composition", - "composition": "tok-a-sora", + "composition": "tok-a-sola", "sens_litteral": "Terre avec soleil", "racines": [ "toka", @@ -182,9 +182,9 @@ "yeux de l'aurore": { "traductions": [ { - "confluent": "siluora", + "confluent": "siluola", "type": "composition", - "composition": "sil-u-ora", + "composition": "sil-u-ola", "sens_litteral": "Regard de l'aurore", "racines": [ "sili", @@ -198,9 +198,9 @@ "eclat": { "traductions": [ { - "confluent": "soraumako", + "confluent": "solaumako", "type": "composition", - "composition": "sor-a-mako", + "composition": "sol-a-mako", "sens_litteral": "Lumière avec grandeur", "racines": [ "sora", @@ -218,9 +218,9 @@ "translucide": { "traductions": [ { - "confluent": "sorauura", + "confluent": "solauula", "type": "composition", - "composition": "sor-a-ura", + "composition": "sol-a-ula", "sens_litteral": "Lumière avec eau", "racines": [ "sora", @@ -291,13 +291,13 @@ "bas-relief": { "traductions": [ { - "confluent": "kovaukari", + "confluent": "kovaukali", "type": "composition", - "composition": "kov-a-kari", + "composition": "kov-a-kali", "sens_litteral": "Gravure avec pierre", "racines": [ "kova", - "kari" + "kali" ], "domaine": "art" } @@ -306,7 +306,7 @@ "motif": { "traductions": [ { - "confluent": "kovauriku", + "confluent": "kovauliku", "type": "composition", "composition": "kov-a-siku", "sens_litteral": "Gravure avec cercle", @@ -319,4 +319,4 @@ ] } } -} \ No newline at end of file +} diff --git a/ancien-confluent/lexique/19-sante-dangers.json b/ancien-confluent/lexique/19-sante-dangers.json index 7750239..faf2fd4 100644 --- a/ancien-confluent/lexique/19-sante-dangers.json +++ b/ancien-confluent/lexique/19-sante-dangers.json @@ -144,12 +144,12 @@ "eboulement": { "traductions": [ { - "confluent": "kariovuku", + "confluent": "kaliovuku", "type": "composition", - "composition": "kar-oa-vuku", + "composition": "kal-oa-vuku", "sens_litteral": "Pierre vers le gouffre", "racines": [ - "kari", + "kali", "vuku" ], "domaine": "danger" @@ -159,9 +159,9 @@ "inondation": { "traductions": [ { - "confluent": "uraueka", + "confluent": "ulaueka", "type": "composition", - "composition": "ur-a-eka", + "composition": "ul-a-eka", "sens_litteral": "Eau avec totalité", "racines": [ "ura", @@ -204,13 +204,13 @@ "crevasse": { "traductions": [ { - "confluent": "vukukari", + "confluent": "vukukali", "type": "composition", - "composition": "vuk-u-kari", + "composition": "vuk-u-kali", "sens_litteral": "Gouffre de pierre", "racines": [ "vuku", - "kari" + "kali" ], "domaine": "danger" } @@ -219,12 +219,12 @@ "roche impenetrable": { "traductions": [ { - "confluent": "kariuoki", + "confluent": "kaliuoki", "type": "composition", - "composition": "kar-i-oki", + "composition": "kal-i-oki", "sens_litteral": "Pierre de l'épreuve", "racines": [ - "kari", + "kali", "oki" ], "domaine": "danger" @@ -262,4 +262,4 @@ ] } } -} \ No newline at end of file +} diff --git a/ancien-confluent/lexique/20-objets-materiaux.json b/ancien-confluent/lexique/20-objets-materiaux.json index bb82194..0c648fa 100644 --- a/ancien-confluent/lexique/20-objets-materiaux.json +++ b/ancien-confluent/lexique/20-objets-materiaux.json @@ -5,9 +5,9 @@ "pierre": { "traductions": [ { - "confluent": "kari", + "confluent": "kali", "type": "racine", - "forme_liee": "kar", + "forme_liee": "kal", "domaine": "materiau", "note": "Matériau fondamental" } @@ -31,9 +31,9 @@ "argile": { "traductions": [ { - "confluent": "tokauura", + "confluent": "tokauula", "type": "composition", - "composition": "tok-a-ura", + "composition": "tok-a-ula", "sens_litteral": "Terre avec eau", "racines": [ "toka", @@ -46,12 +46,12 @@ "metal": { "traductions": [ { - "confluent": "kariusuki", + "confluent": "kaliusuki", "type": "composition", - "composition": "kar-i-suki", + "composition": "kal-i-suki", "sens_litteral": "Pierre du feu", "racines": [ - "kari", + "kali", "suki" ], "domaine": "materiau" @@ -61,12 +61,12 @@ "minerai": { "traductions": [ { - "confluent": "kariuvuku", + "confluent": "kaliuvuku", "type": "composition", - "composition": "kar-i-vuku", + "composition": "kal-i-vuku", "sens_litteral": "Pierre du gouffre", "racines": [ - "kari", + "kali", "vuku" ], "domaine": "materiau" @@ -170,13 +170,13 @@ "chaine": { "traductions": [ { - "confluent": "kopuukari", + "confluent": "kopuukali", "type": "composition", - "composition": "kop-u-kari", + "composition": "kop-u-kali", "sens_litteral": "Corde de pierre", "racines": [ "kopu", - "kari" + "kali" ], "domaine": "objet" } @@ -355,9 +355,9 @@ "lampe": { "traductions": [ { - "confluent": "sorausaku", + "confluent": "solausaku", "type": "composition", - "composition": "sor-a-saku", + "composition": "sol-a-saku", "sens_litteral": "Lumière avec contenant", "racines": [ "sora", @@ -400,12 +400,12 @@ "bijou": { "traductions": [ { - "confluent": "kariuora", + "confluent": "kaliuola", "type": "composition", - "composition": "kar-i-ora", + "composition": "kal-i-ola", "sens_litteral": "Pierre de l'aurore", "racines": [ - "kari", + "kali", "ora" ], "domaine": "objet" @@ -474,4 +474,4 @@ ] } } -} \ No newline at end of file +} diff --git a/ancien-confluent/lexique/23-nourriture.json b/ancien-confluent/lexique/23-nourriture.json index 7a7512e..4ee664e 100644 --- a/ancien-confluent/lexique/23-nourriture.json +++ b/ancien-confluent/lexique/23-nourriture.json @@ -160,7 +160,10 @@ "type": "composition", "composition": "pal-u-suki", "sens_litteral": "Herbe du feu (qui brûle le goût)", - "racines": ["pala", "suki"], + "racines": [ + "pala", + "suki" + ], "liaison": "u", "structure": "composition", "domaine": "nourriture", @@ -183,7 +186,10 @@ "type": "composition", "composition": "ait-eo-palu", "sens_litteral": "Ancêtre-éternel-qui-brûle", - "racines": ["aita", "palu"], + "racines": [ + "aita", + "palu" + ], "liaison": "eo", "structure": "composition_sacree", "domaine": "nourriture_sacree", @@ -199,11 +205,14 @@ "racine_fr": null, "traductions": [ { - "confluent": "zeruosi", + "confluent": "zeluosi", "type": "composition", - "composition": "zer-u-osi", + "composition": "zel-u-osi", "sens_litteral": "Ciel-de-mort (larmes célestes)", - "racines": ["zeru", "osi"], + "racines": [ + "zelu", + "osi" + ], "liaison": "u", "structure": "composition_sacree", "domaine": "nourriture_sacree", @@ -309,11 +318,14 @@ "racine_fr": "cuisin", "traductions": [ { - "confluent": "mukunekas", + "confluent": "mukuneka", "type": "composition", "composition": "muk-u-nekas", "sens_litteral": "Nourriture-de-faire", - "racines": ["muki", "nekas"], + "racines": [ + "muki", + "nekas" + ], "liaison": "u", "structure": "composition", "domaine": "technique_culinaire", @@ -341,11 +353,14 @@ "racine_fr": "infus", "traductions": [ { - "confluent": "urapis", - "type": "composition", - "composition": "ura-pis", + "confluent": "lapis", + "type": "verbe", + "racine": "lapi", "sens_litteral": "Eau-tremper", - "racines": ["ura", "pisu"], + "racines": [ + "ura", + "pisu" + ], "structure": "composition", "domaine": "technique_culinaire", "note": "Infuser, faire tremper dans l'eau" @@ -397,11 +412,11 @@ "racine_fr": "boir", "traductions": [ { - "confluent": "urapis", + "confluent": "lapis", "type": "verbe", - "racine": "ura", - "forme_liee": "ura", - "structure": "VCVCV", + "racine": "lapi", + "forme_liee": "lap", + "structure": "CVCVC", "domaine": "nourriture", "note": "Boire - utilise racine sacrée ura (eau)" } @@ -447,7 +462,10 @@ "type": "composition", "composition": "zo-muki", "sens_litteral": "Négation-nourriture", - "racines": ["zo", "muki"], + "racines": [ + "zo", + "muki" + ], "structure": "composition", "domaine": "nourriture", "note": "Manque (de nourriture) - zo (négation) + muki (nourriture)" diff --git a/ancien-confluent/lexique/24-habitat.json b/ancien-confluent/lexique/24-habitat.json index 25e1be7..d7270eb 100644 --- a/ancien-confluent/lexique/24-habitat.json +++ b/ancien-confluent/lexique/24-habitat.json @@ -10,7 +10,10 @@ "type": "composition", "composition": "mukis-loku", "sens_litteral": "Lieu-de-manger", - "racines": ["mukis", "loku"], + "racines": [ + "mukis", + "loku" + ], "structure": "composition", "domaine": "habitat", "note": "Table - lieu où l'on mange (mukis=manger + loku=lieu)" @@ -25,11 +28,14 @@ "racine_fr": "fenêtr", "traductions": [ { - "confluent": "soratuva", + "confluent": "solatuva", "type": "composition", - "composition": "sora-tuva", + "composition": "sola-tuva", "sens_litteral": "Ouverture-de-lumière", - "racines": ["sora", "tuva"], + "racines": [ + "sora", + "tuva" + ], "structure": "composition", "domaine": "habitat", "note": "Fenêtre - ouverture qui laisse passer la lumière (sora=lumière + tuva=ouverture)" @@ -49,7 +55,10 @@ "type": "composition", "composition": "zaku-sumu", "sens_litteral": "Protection-haute", - "racines": ["zaku", "sumu"], + "racines": [ + "zaku", + "sumu" + ], "structure": "composition", "domaine": "habitat", "note": "Toit - protection en hauteur (zaku=protection/réserve + sumu=haut)" @@ -65,11 +74,14 @@ "racine_fr": "mur", "traductions": [ { - "confluent": "karisumu", + "confluent": "kalisumu", "type": "composition", - "composition": "kari-sumu", + "composition": "kali-sumu", "sens_litteral": "Pierre-dressée", - "racines": ["kari", "sumu"], + "racines": [ + "kali", + "sumu" + ], "structure": "composition", "domaine": "habitat", "note": "Mur - pierre élevée (kari=pierre + sumu=haut/élevé)" @@ -85,11 +97,14 @@ "racine_fr": "escalier", "traductions": [ { - "confluent": "vukukari", + "confluent": "vukukali", "type": "composition", - "composition": "vuku-kari", + "composition": "vuku-kali", "sens_litteral": "Gouffre-de-pierre", - "racines": ["vuku", "kari"], + "racines": [ + "vuku", + "kali" + ], "structure": "composition", "domaine": "habitat", "note": "Escalier - montée de pierre (référence au Gouffre Humide avec ses escaliers dans la roche, vuku=gouffre + kari=pierre)" diff --git a/ancien-confluent/lexique/25-navigation.json b/ancien-confluent/lexique/25-navigation.json new file mode 100644 index 0000000..89e8a9e --- /dev/null +++ b/ancien-confluent/lexique/25-navigation.json @@ -0,0 +1,655 @@ +{ + "_comment": "Vocabulaire de la navigation et des activités maritimes", + "_mots_a_gerer": [], + "dictionnaire": { + "naviguer": { + "traductions": [ + { + "confluent": "ulaki", + "type": "composition", + "composition": "ula-ki", + "sens_litteral": "Aller sur l'eau", + "racines": [ + "ura" + ], + "domaine": "action_maritime", + "note": "Voyager sur l'eau avec une embarcation" + } + ], + "synonymes_fr": [ + "navigation", + "voguer" + ] + }, + "marin": { + "traductions": [ + { + "confluent": "ulakina", + "type": "composition", + "composition": "ula-ki-na", + "sens_litteral": "Celui qui va sur l'eau", + "racines": [ + "ura" + ], + "domaine": "role_maritime", + "note": "Personne qui navigue" + } + ], + "synonymes_fr": [ + "navigateur", + "marins" + ] + }, + "embarcation": { + "traductions": [ + { + "confluent": "ulavanu", + "type": "composition", + "composition": "ula-vanu", + "sens_litteral": "Chose d'eau", + "racines": [ + "ura", + "vanu" + ], + "domaine": "objet_maritime", + "note": "Bateau, barque - terme générique" + } + ], + "synonymes_fr": [ + "bateau", + "barque" + ] + }, + "flotter": { + "traductions": [ + { + "confluent": "ulatuli", + "type": "composition", + "composition": "ula-tuli", + "sens_litteral": "Être porté par l'eau", + "racines": [ + "ura" + ], + "domaine": "action_maritime", + "note": "Rester à la surface de l'eau" + } + ], + "synonymes_fr": [ + "flotté", + "flottera" + ] + }, + "chavirer": { + "traductions": [ + { + "confluent": "vanuloli", + "type": "composition", + "composition": "vanu-loli", + "sens_litteral": "L'embarcation se retourne", + "racines": [ + "vanu" + ], + "domaine": "accident_maritime", + "note": "Le bateau bascule" + } + ], + "synonymes_fr": [ + "se retourner", + "basculer" + ] + }, + "couler": { + "traductions": [ + { + "confluent": "vanuvuku", + "type": "composition", + "composition": "vanu-vuku", + "sens_litteral": "L'embarcation descend dans le gouffre", + "racines": [ + "vanu", + "vuku" + ], + "domaine": "accident_maritime", + "note": "Sombrer, aller au fond" + } + ], + "synonymes_fr": [ + "sombrer", + "s'enfoncer" + ] + }, + "noyade": { + "traductions": [ + { + "confluent": "ulaosi", + "type": "composition", + "composition": "ula-osi", + "sens_litteral": "Mort par l'eau", + "racines": [ + "ura", + "osi" + ], + "domaine": "danger_maritime", + "note": "Mort par immersion" + } + ], + "synonymes_fr": [ + "se noyer", + "noyé" + ] + }, + "échouer": { + "traductions": [ + { + "confluent": "vanukosti", + "type": "composition", + "composition": "vanu-kosti", + "sens_litteral": "L'embarcation touche la rive", + "racines": [ + "vanu", + "kosti" + ], + "domaine": "navigation", + "note": "Bateau qui s'arrête sur le rivage involontairement" + } + ], + "synonymes_fr": [ + "échouée", + "échoué" + ] + }, + "rivage": { + "traductions": [ + { + "confluent": "kosti", + "type": "racine", + "forme_liee": "kost", + "domaine": "geographie_maritime", + "note": "Bord de la mer, côte" + } + ], + "synonymes_fr": [ + "côte", + "littoral", + "bord de mer" + ] + }, + "berge": { + "traductions": [ + { + "confluent": "ulalinu", + "type": "composition", + "composition": "ula-linu", + "sens_litteral": "Ligne d'eau", + "racines": [ + "ura", + "linu" + ], + "domaine": "geographie", + "note": "Bord de rivière ou fleuve" + } + ], + "synonymes_fr": [ + "rive", + "bord" + ] + }, + "embouchure": { + "traductions": [ + { + "confluent": "ulakotamelu", + "type": "composition", + "composition": "ula-kota-melu", + "sens_litteral": "Confluence d'eau vers la mer", + "racines": [ + "ura", + "kota", + "melu" + ], + "domaine": "geographie_maritime", + "note": "Où le fleuve rencontre la mer" + } + ], + "synonymes_fr": [ + "delta" + ] + }, + "eau salée": { + "traductions": [ + { + "confluent": "ulaselu", + "type": "composition", + "composition": "ula-selu", + "sens_litteral": "Eau de sel", + "racines": [ + "ura", + "selu" + ], + "domaine": "nature_maritime", + "note": "Eau de mer, impure pour boire" + } + ], + "synonymes_fr": [ + "eau de mer", + "eau impure" + ] + }, + "eau douce": { + "traductions": [ + { + "confluent": "ulapuli", + "type": "composition", + "composition": "ula-puli", + "sens_litteral": "Eau pure", + "racines": [ + "ura" + ], + "domaine": "nature", + "note": "Eau potable de rivière ou source" + } + ], + "synonymes_fr": [ + "eau potable", + "eau pure" + ] + }, + "marée": { + "traductions": [ + { + "confluent": "meluuki", + "type": "composition", + "composition": "melu-uki", + "sens_litteral": "Mouvement de la mer", + "racines": [ + "melu" + ], + "domaine": "phenomene_maritime", + "note": "Montée et descente de l'eau" + } + ], + "synonymes_fr": [ + "flux", + "marées" + ] + }, + "vague": { + "traductions": [ + { + "confluent": "meluloli", + "type": "composition", + "composition": "melu-loli", + "sens_litteral": "Roulement de la mer", + "racines": [ + "melu" + ], + "domaine": "phenomene_maritime", + "note": "Ondulation de l'eau" + } + ], + "synonymes_fr": [ + "vagues", + "flot" + ] + }, + "manœuvrer": { + "traductions": [ + { + "confluent": "vanukanu", + "type": "composition", + "composition": "vanu-kanu", + "sens_litteral": "Diriger l'embarcation avec les mains", + "racines": [ + "vanu", + "kanu" + ], + "domaine": "action_maritime", + "note": "Piloter un bateau" + } + ], + "synonymes_fr": [ + "piloter", + "diriger" + ] + }, + "ramer": { + "traductions": [ + { + "confluent": "kanulaki", + "type": "composition", + "composition": "kanu-la-ki", + "sens_litteral": "Pousser avec les mains pour aller", + "racines": [ + "kanu" + ], + "domaine": "action_maritime", + "note": "Faire avancer avec des rames" + } + ], + "synonymes_fr": [ + "rame", + "pagayer" + ] + }, + "rame": { + "traductions": [ + { + "confluent": "kanuvi", + "type": "composition", + "composition": "kanu-vi", + "sens_litteral": "Bois de main pour l'eau", + "racines": [ + "kanu", + "vito" + ], + "domaine": "outil_maritime", + "note": "Longue pièce de bois pour propulser" + } + ], + "synonymes_fr": [ + "aviron", + "pagaie" + ] + }, + "voile": { + "traductions": [ + { + "confluent": "venuvanu", + "type": "composition", + "composition": "ven-u-vanu", + "sens_litteral": "Air de l'embarcation", + "racines": [ + "vena", + "vanu" + ], + "domaine": "equipement_maritime", + "note": "Tissu qui capte le vent" + } + ], + "synonymes_fr": [ + "voiles" + ] + }, + "ancre": { + "traductions": [ + { + "confluent": "vanupeku", + "type": "composition", + "composition": "vanu-peku", + "sens_litteral": "Pied de l'embarcation", + "racines": [ + "vanu", + "peki" + ], + "domaine": "equipement_maritime", + "note": "Objet lourd qui maintient le bateau" + } + ], + "synonymes_fr": [ + "ancres" + ] + }, + "aborder": { + "traductions": [ + { + "confluent": "vanukoti", + "type": "composition", + "composition": "vanu-koti", + "sens_litteral": "Monter sur l'embarcation", + "racines": [ + "vanu" + ], + "domaine": "action_maritime", + "note": "Monter à bord (ou attaquer un navire)" + } + ], + "synonymes_fr": [ + "monter à bord", + "embarquer" + ] + }, + "débarquer": { + "traductions": [ + { + "confluent": "vanuvoli", + "type": "composition", + "composition": "vanu-voli", + "sens_litteral": "Quitter l'embarcation", + "racines": [ + "vanu" + ], + "domaine": "action_maritime", + "note": "Descendre du bateau" + } + ], + "synonymes_fr": [ + "descendre", + "sortir du bateau" + ] + }, + "cargaison": { + "traductions": [ + { + "confluent": "vanusaki", + "type": "composition", + "composition": "vanu-saki", + "sens_litteral": "Sac de l'embarcation", + "racines": [ + "vanu", + "saki" + ], + "domaine": "commerce_maritime", + "note": "Marchandises transportées" + } + ], + "synonymes_fr": [ + "charge", + "marchandises" + ] + }, + "pérégrination aquatique": { + "traductions": [ + { + "confluent": "ulakimako", + "type": "composition", + "composition": "ula-ki-mako", + "sens_litteral": "Grand voyage sur l'eau", + "racines": [ + "ura", + "mako" + ], + "domaine": "voyage_maritime", + "note": "Voyage de longue durée sur l'eau" + } + ], + "synonymes_fr": [ + "voyage maritime", + "traversée" + ] + }, + "point d'eau": { + "traductions": [ + { + "confluent": "ulatoka", + "type": "composition", + "composition": "ula-toka", + "sens_litteral": "Lieu d'eau", + "racines": [ + "ura", + "toka" + ], + "domaine": "geographie", + "note": "Endroit où trouver de l'eau (source, puits, rivière)" + } + ], + "synonymes_fr": [ + "source d'eau" + ] + }, + "ravitaillement": { + "traductions": [ + { + "confluent": "nutukovi", + "type": "composition", + "composition": "nutu-kovi", + "sens_litteral": "Remplir les réserves", + "racines": [ + "nutu" + ], + "domaine": "logistique", + "note": "Reconstituer les provisions" + } + ], + "synonymes_fr": [ + "ravitailler", + "approvisionner" + ] + }, + "se ravitailler": { + "traductions": [ + { + "confluent": "nutukili", + "type": "composition", + "composition": "nutu-kili", + "sens_litteral": "Échanger pour obtenir provisions", + "racines": [ + "nutu", + "kilu" + ], + "domaine": "logistique", + "note": "Obtenir de la nourriture et de l'eau" + } + ], + "synonymes_fr": [ + "s'approvisionner" + ] + }, + "construction en bois": { + "traductions": [ + { + "confluent": "vitokova", + "type": "composition", + "composition": "vito-kova", + "sens_litteral": "Bois assemblé/travaillé", + "racines": [ + "vito", + "kova" + ], + "domaine": "construction", + "note": "Structure faite de planches" + } + ], + "synonymes_fr": [ + "charpente" + ] + }, + "créature flottante": { + "traductions": [ + { + "confluent": "betulatuli", + "type": "composition", + "composition": "betu-ula-tuli", + "sens_litteral": "Bête qui flotte sur l'eau", + "racines": [ + "betu", + "ura" + ], + "domaine": "perception", + "note": "Perception initiale des navires étrangers comme créatures vivantes" + } + ] + }, + "port": { + "traductions": [ + { + "confluent": "vanukotoka", + "type": "composition", + "composition": "vanu-kotoka", + "sens_litteral": "Lieu des embarcations", + "racines": [ + "vanu", + "toka" + ], + "domaine": "geographie_maritime", + "note": "Endroit où les bateaux s'arrêtent" + } + ], + "synonymes_fr": [ + "havre", + "quai" + ] + }, + "tempête marine": { + "traductions": [ + { + "confluent": "meluzelu", + "type": "composition", + "composition": "melu-zelu", + "sens_litteral": "Ciel furieux de la mer", + "racines": [ + "melu", + "zelu" + ], + "domaine": "danger_maritime", + "note": "Tempête en mer" + } + ], + "synonymes_fr": [ + "ouragan marin" + ] + }, + "profondeur": { + "traductions": [ + { + "confluent": "vukumako", + "type": "composition", + "composition": "vuku-mako", + "sens_litteral": "Grand gouffre", + "racines": [ + "vuku", + "mako" + ], + "domaine": "geographie_maritime", + "note": "Eau très profonde" + } + ], + "synonymes_fr": [ + "abîme", + "fond" + ] + }, + "houle": { + "traductions": [ + { + "confluent": "meluloli", + "type": "composition", + "composition": "melu-loli", + "sens_litteral": "Ondulation lente de la mer", + "racines": [ + "melu" + ], + "domaine": "phenomene_maritime", + "note": "Vagues longues et régulières" + } + ] + }, + "écume": { + "traductions": [ + { + "confluent": "ulamiluvi", + "type": "composition", + "composition": "ula-milu-vi", + "sens_litteral": "Blanc d'eau", + "racines": [ + "ura", + "milu" + ], + "domaine": "phenomene_maritime", + "note": "Mousse blanche des vagues" + } + ], + "synonymes_fr": [ + "mousse" + ] + } + } +} diff --git a/ancien-confluent/lexique/26-architecture.json b/ancien-confluent/lexique/26-architecture.json new file mode 100644 index 0000000..0b15476 --- /dev/null +++ b/ancien-confluent/lexique/26-architecture.json @@ -0,0 +1,513 @@ +{ + "_comment": "Vocabulaire architectural et de construction", + "_mots_a_gerer": [], + "dictionnaire": { + "pilotis": { + "traductions": [ + { + "confluent": "ulapeki", + "type": "composition", + "composition": "ula-peki", + "sens_litteral": "Pieds dans l'eau", + "racines": [ + "ura", + "peki" + ], + "domaine": "architecture", + "note": "CRITIQUE - architecture majeure des Enfants du Courant" + } + ], + "synonymes_fr": [ + "pieux", + "piliers d'eau" + ] + }, + "plate-forme": { + "traductions": [ + { + "confluent": "pekutoka", + "type": "composition", + "composition": "pek-u-toka", + "sens_litteral": "Lieu sur pieds", + "racines": [ + "peki", + "toka" + ], + "domaine": "architecture", + "note": "Structure élevée sur pilotis" + } + ], + "synonymes_fr": [ + "plateforme", + "terrasse" + ] + }, + "escalier": { + "traductions": [ + { + "confluent": "pekivasi", + "type": "composition", + "composition": "peki-vasi", + "sens_litteral": "Pont de pieds", + "racines": [ + "peki", + "vasi" + ], + "domaine": "architecture", + "note": "Passage pour monter/descendre" + } + ], + "synonymes_fr": [ + "escaliers", + "marches" + ] + }, + "marche": { + "traductions": [ + { + "confluent": "pekivi", + "type": "composition", + "composition": "peki-vi", + "sens_litteral": "Partie de pied", + "racines": [ + "peki" + ], + "domaine": "architecture", + "note": "Élément d'escalier" + } + ], + "synonymes_fr": [ + "marches", + "degré" + ] + }, + "tour": { + "traductions": [ + { + "confluent": "tokamakouti", + "type": "composition", + "composition": "toka-mako-uti", + "sens_litteral": "Lieu très haut", + "racines": [ + "toka", + "mako" + ], + "domaine": "architecture", + "note": "Structure haute" + } + ], + "synonymes_fr": [ + "tours" + ] + }, + "tour de guet": { + "traductions": [ + { + "confluent": "silimakotoka", + "type": "composition", + "composition": "sili-mako-toka", + "sens_litteral": "Haut lieu pour voir", + "racines": [ + "sili", + "mako", + "toka" + ], + "domaine": "architecture_militaire", + "note": "Tour pour surveiller" + } + ] + }, + "mur": { + "traductions": [ + { + "confluent": "linukonu", + "type": "composition", + "composition": "lin-u-konu", + "sens_litteral": "Ligne gardée", + "racines": [ + "linu", + "konu" + ], + "domaine": "architecture", + "note": "Paroi de protection" + } + ], + "synonymes_fr": [ + "muraille", + "paroi" + ] + }, + "muraille": { + "traductions": [ + { + "confluent": "makolinukonu", + "type": "composition", + "composition": "mako-linu-konu", + "sens_litteral": "Grande ligne gardée", + "racines": [ + "mako", + "linu", + "konu" + ], + "domaine": "architecture_militaire", + "note": "Fortification" + } + ], + "synonymes_fr": [ + "fortification", + "enceinte" + ] + }, + "porte": { + "traductions": [ + { + "confluent": "vasiumu", + "type": "composition", + "composition": "vasi-umu", + "sens_litteral": "Passage ouvert", + "racines": [ + "vasi" + ], + "domaine": "architecture", + "note": "Ouverture pour entrer/sortir" + } + ], + "synonymes_fr": [ + "portes", + "entrée" + ] + }, + "seuil": { + "traductions": [ + { + "confluent": "vasitoka", + "type": "composition", + "composition": "vasi-toka", + "sens_litteral": "Lieu de passage", + "racines": [ + "vasi", + "toka" + ], + "domaine": "architecture", + "note": "Entrée, limite" + } + ] + }, + "fenêtre": { + "traductions": [ + { + "confluent": "siliveku", + "type": "composition", + "composition": "sili-veku", + "sens_litteral": "Surface pour voir", + "racines": [ + "sili", + "veku" + ], + "domaine": "architecture", + "note": "Ouverture pour la lumière et l'air" + } + ], + "synonymes_fr": [ + "fenêtres" + ] + }, + "toit": { + "traductions": [ + { + "confluent": "tokuveku", + "type": "composition", + "composition": "toka-veku", + "sens_litteral": "Surface du lieu", + "racines": [ + "toka", + "veku" + ], + "domaine": "architecture", + "note": "Couverture supérieure" + } + ], + "synonymes_fr": [ + "toiture", + "couverture" + ] + }, + "galerie": { + "traductions": [ + { + "confluent": "vukuvasi", + "type": "composition", + "composition": "vuku-vasi", + "sens_litteral": "Passage du gouffre", + "racines": [ + "vuku", + "vasi" + ], + "domaine": "architecture_souterraine", + "note": "Passage souterrain (crucial pour Antres)" + } + ], + "synonymes_fr": [ + "tunnel", + "corridor" + ] + }, + "voûte": { + "traductions": [ + { + "confluent": "vukutoka", + "type": "composition", + "composition": "vuku-toka", + "sens_litteral": "Lieu du gouffre courbé", + "racines": [ + "vuku", + "toka" + ], + "domaine": "architecture_souterraine", + "note": "Construction arquée souterraine" + } + ] + }, + "chambre": { + "traductions": [ + { + "confluent": "tokapisu", + "type": "composition", + "composition": "toka-pisu", + "sens_litteral": "Petit lieu", + "racines": [ + "toka", + "pisu" + ], + "domaine": "architecture", + "note": "Pièce fermée" + } + ], + "synonymes_fr": [ + "pièce", + "salle" + ] + }, + "atelier": { + "traductions": [ + { + "confluent": "kovatoka", + "type": "composition", + "composition": "kova-toka", + "sens_litteral": "Lieu du travail/gravure", + "racines": [ + "kova", + "toka" + ], + "domaine": "architecture", + "note": "Lieu de production artisanale" + } + ], + "synonymes_fr": [ + "ateliers" + ] + }, + "entrepôt": { + "traductions": [ + { + "confluent": "nutukotoka", + "type": "composition", + "composition": "nutu-koto-ka", + "sens_litteral": "Grand lieu de réserves", + "racines": [ + "nutu", + "kota" + ], + "domaine": "architecture", + "note": "Stockage de provisions" + } + ], + "synonymes_fr": [ + "stockage", + "réserve" + ] + }, + "colonne": { + "traductions": [ + { + "confluent": "tokupeki", + "type": "composition", + "composition": "toka-peki", + "sens_litteral": "Pied du lieu", + "racines": [ + "toka", + "peki" + ], + "domaine": "architecture", + "note": "Support vertical" + } + ], + "synonymes_fr": [ + "pilier", + "colonnes" + ] + }, + "linteau": { + "traductions": [ + { + "confluent": "vasilinu", + "type": "composition", + "composition": "vasi-linu", + "sens_litteral": "Ligne de passage", + "racines": [ + "vasi", + "linu" + ], + "domaine": "architecture", + "note": "Élément au-dessus d'une ouverture" + } + ] + }, + "fondation": { + "traductions": [ + { + "confluent": "tokapeku", + "type": "composition", + "composition": "toka-peku", + "sens_litteral": "Base du lieu", + "racines": [ + "toka", + "peki" + ], + "domaine": "architecture", + "note": "Base d'un bâtiment" + } + ], + "synonymes_fr": [ + "fondations", + "base" + ] + }, + "charpente": { + "traductions": [ + { + "confluent": "vitosanu", + "type": "composition", + "composition": "vito-sanu", + "sens_litteral": "Corps de bois", + "racines": [ + "vito", + "sanu" + ], + "domaine": "architecture", + "note": "Structure en bois" + } + ] + }, + "poutre": { + "traductions": [ + { + "confluent": "vitolinumako", + "type": "composition", + "composition": "vito-linu-mako", + "sens_litteral": "Grande ligne de bois", + "racines": [ + "vito", + "linu", + "mako" + ], + "domaine": "architecture", + "note": "Élément structurel horizontal" + } + ], + "synonymes_fr": [ + "poutres" + ] + }, + "planche": { + "traductions": [ + { + "confluent": "vitoveku", + "type": "composition", + "composition": "vito-veku", + "sens_litteral": "Surface de bois", + "racines": [ + "vito", + "veku" + ], + "domaine": "architecture", + "note": "Morceau de bois plat" + } + ], + "synonymes_fr": [ + "planches", + "madrier" + ] + }, + "sol": { + "traductions": [ + { + "confluent": "tokuvuku", + "type": "composition", + "composition": "toka-vuku", + "sens_litteral": "Bas du lieu", + "racines": [ + "toka", + "vuku" + ], + "domaine": "architecture", + "note": "Surface au niveau du sol" + } + ], + "synonymes_fr": [ + "plancher", + "terre" + ] + }, + "enceinte": { + "traductions": [ + { + "confluent": "kotakonu", + "type": "composition", + "composition": "kota-konu", + "sens_litteral": "Protection de confluence", + "racines": [ + "kota", + "konu" + ], + "domaine": "architecture_militaire", + "note": "Murs qui entourent un lieu" + } + ], + "synonymes_fr": [ + "fortification" + ] + }, + "fosse": { + "traductions": [ + { + "confluent": "vukupisu", + "type": "composition", + "composition": "vuku-pisu", + "sens_litteral": "Petit gouffre", + "racines": [ + "vuku", + "pisu" + ], + "domaine": "architecture", + "note": "Trou creusé" + } + ], + "synonymes_fr": [ + "fossé", + "trou" + ] + }, + "pont": { + "traductions": [ + { + "confluent": "vasi", + "type": "racine", + "forme_liee": "vas", + "domaine": "architecture", + "note": "Déjà existant - lien, passage entre deux" + } + ] + } + } +} diff --git a/ancien-confluent/lexique/27-concepts-philosophiques.json b/ancien-confluent/lexique/27-concepts-philosophiques.json new file mode 100644 index 0000000..890d24a --- /dev/null +++ b/ancien-confluent/lexique/27-concepts-philosophiques.json @@ -0,0 +1,552 @@ +{ + "_comment": "Concepts philosophiques et idées centrales à la civilisation", + "_mots_a_gerer": [], + "dictionnaire": { + "porter un regard libre": { + "traductions": [ + { + "confluent": "kanusiliaska", + "type": "composition", + "composition": "kanu-sili-aska", + "sens_litteral": "Porter le regard libre", + "racines": [ + "kanu", + "sili", + "aska" + ], + "domaine": "philosophie_centrale", + "note": "Concept central de la civilisation - pèlerinage obligatoire, identité culturelle" + } + ] + }, + "promis à pareil destin": { + "traductions": [ + { + "confluent": "savuosikota", + "type": "composition", + "composition": "sav-u-osi-kota", + "sens_litteral": "Serment de même mort", + "racines": [ + "savu", + "osi", + "kota" + ], + "domaine": "philosophie_centrale", + "note": "Phrase existentielle clé : peur de disparaître comme les Premiers Ancêtres" + } + ] + }, + "gardiens des passages": { + "traductions": [ + { + "confluent": "konuvasiaita", + "type": "composition", + "composition": "kon-u-vasi-aita", + "sens_litteral": "Ancêtres gardiens des passages", + "racines": [ + "konu", + "vasi", + "aita" + ], + "domaine": "spiritualite", + "note": "Âmes des pionniers morts qui ne peuvent atteindre le ciel" + } + ] + }, + "multi-générationnel": { + "traductions": [ + { + "confluent": "ekaitavi", + "type": "composition", + "composition": "eka-aita-vi", + "sens_litteral": "De tous les ancêtres", + "racines": [ + "eka", + "aita" + ], + "domaine": "temps_philosophie", + "note": "Qui traverse plusieurs générations (crucial pour artefacts)" + } + ], + "synonymes_fr": [ + "transgénérationnel" + ] + }, + "relais": { + "traductions": [ + { + "confluent": "vasiaita", + "type": "composition", + "composition": "vasi-aita", + "sens_litteral": "Passage des ancêtres", + "racines": [ + "vasi", + "aita" + ], + "domaine": "temps_philosophie", + "note": "Transmission à travers le temps" + } + ], + "synonymes_fr": [ + "transmission", + "passage témoin" + ] + }, + "relais de mémorisation": { + "traductions": [ + { + "confluent": "vasinemu", + "type": "composition", + "composition": "vasi-nemu", + "sens_litteral": "Passage de mémoire", + "racines": [ + "vasi", + "nemu" + ], + "domaine": "techniques_culturelles", + "note": "Technique des Ailes-Grises pour interpréter la fresque" + } + ] + }, + "débat à travers le temps": { + "traductions": [ + { + "confluent": "vokaitaaika", + "type": "composition", + "composition": "voki-aita-aika", + "sens_litteral": "Voix des ancêtres dans le temps", + "racines": [ + "voki", + "aita", + "aika" + ], + "domaine": "philosophie", + "note": "Concept de l'interprétation multi-générationnelle" + } + ] + }, + "génération": { + "traductions": [ + { + "confluent": "aitakolu", + "type": "composition", + "composition": "aita-kolu", + "sens_litteral": "Cycle des ancêtres", + "racines": [ + "aita" + ], + "domaine": "temps", + "note": "Unité de temps civilisationnelle" + } + ], + "synonymes_fr": [ + "générations" + ] + }, + "éternel": { + "traductions": [ + { + "confluent": "ekaaikavi", + "type": "composition", + "composition": "eka-aika-vi", + "sens_litteral": "De tout temps", + "racines": [ + "eka", + "aika" + ], + "domaine": "temps_philosophie", + "note": "Sans fin" + } + ], + "synonymes_fr": [ + "éternité", + "perpétuel" + ] + }, + "temporalité": { + "traductions": [ + { + "confluent": "aikakota", + "type": "composition", + "composition": "aika-kota", + "sens_litteral": "Confluence du temps", + "racines": [ + "aika", + "kota" + ], + "domaine": "philosophie", + "note": "Concept du temps" + } + ] + }, + "stratification temporelle": { + "traductions": [ + { + "confluent": "aikakovasu", + "type": "composition", + "composition": "aika-kova-su", + "sens_litteral": "Gravures multiples du temps", + "racines": [ + "aika", + "kova" + ], + "domaine": "philosophie", + "note": "Couches de temps superposées" + } + ] + }, + "mériter": { + "traductions": [ + { + "confluent": "tosaki", + "type": "composition", + "composition": "tosa-ki", + "sens_litteral": "Aller vers le bien", + "racines": [ + "tosa" + ], + "domaine": "valeur_sociale", + "note": "Gagner par le mérite" + } + ], + "synonymes_fr": [ + "mérite", + "gagner" + ] + }, + "charge": { + "traductions": [ + { + "confluent": "kanukota", + "type": "composition", + "composition": "kanu-kota", + "sens_litteral": "Porter la confluence", + "racines": [ + "kanu", + "kota" + ], + "domaine": "politique", + "note": "Fonction politique ou responsabilité" + } + ], + "synonymes_fr": [ + "charges", + "fonction", + "responsabilité" + ] + }, + "héréditaire": { + "traductions": [ + { + "confluent": "aitakovi", + "type": "composition", + "composition": "aita-kovi", + "sens_litteral": "Réservé aux ancêtres", + "racines": [ + "aita" + ], + "domaine": "politique", + "note": "Concept à rejeter - transmission familiale du pouvoir" + } + ] + }, + "fief": { + "traductions": [ + { + "confluent": "tokaitavi", + "type": "composition", + "composition": "toka-aita-vi", + "sens_litteral": "Lieu des ancêtres", + "racines": [ + "toka", + "aita" + ], + "domaine": "politique", + "note": "Concept à rejeter - territoire accordé par hérédité" + } + ] + }, + "monopole": { + "traductions": [ + { + "confluent": "ikokonu", + "type": "composition", + "composition": "iko-konu", + "sens_litteral": "Un seul gardien", + "racines": [ + "iko", + "konu" + ], + "domaine": "economie_politique", + "note": "Contrôle exclusif (crucial pour économie)" + } + ] + }, + "permanent": { + "traductions": [ + { + "confluent": "aikaveli", + "type": "composition", + "composition": "aika-veli", + "sens_litteral": "Vrai dans le temps", + "racines": [ + "aika", + "veli" + ], + "domaine": "temps", + "note": "Non temporaire" + } + ], + "synonymes_fr": [ + "permanente", + "durable" + ] + }, + "temporaire": { + "traductions": [ + { + "confluent": "aikapisu", + "type": "composition", + "composition": "aika-pisu", + "sens_litteral": "Petit temps", + "racines": [ + "aika", + "pisu" + ], + "domaine": "temps", + "note": "Opposé de permanent" + } + ], + "synonymes_fr": [ + "transitoire", + "éphémère" + ] + }, + "gloire": { + "traductions": [ + { + "confluent": "nemumako", + "type": "composition", + "composition": "nemu-mako", + "sens_litteral": "Grande mémoire", + "racines": [ + "nemu", + "mako" + ], + "domaine": "valeur_sociale", + "note": "Honneur et renommée" + } + ], + "synonymes_fr": [ + "glorieux", + "renommée" + ] + }, + "honneur": { + "traductions": [ + { + "confluent": "tosanemu", + "type": "composition", + "composition": "tosa-nemu", + "sens_litteral": "Bonne mémoire", + "racines": [ + "tosa", + "nemu" + ], + "domaine": "valeur_sociale", + "note": "Valeur morale" + } + ], + "synonymes_fr": [ + "honorable" + ] + }, + "fierté": { + "traductions": [ + { + "confluent": "kolimako", + "type": "composition", + "composition": "koli-mako", + "sens_litteral": "Grand cœur", + "racines": [ + "kori", + "mako" + ], + "domaine": "emotion", + "note": "Sentiment de dignité" + } + ] + }, + "reproche": { + "traductions": [ + { + "confluent": "vokipaka", + "type": "composition", + "composition": "voki-paka", + "sens_litteral": "Parole mauvaise", + "racines": [ + "voki", + "paka" + ], + "domaine": "action_sociale", + "note": "Critique" + } + ], + "synonymes_fr": [ + "reprocher", + "blâme" + ] + }, + "louer": { + "traductions": [ + { + "confluent": "vokitosa", + "type": "composition", + "composition": "voki-tosa", + "sens_litteral": "Parole bonne", + "racines": [ + "voki", + "tosa" + ], + "domaine": "action_sociale", + "note": "Complimenter, faire l'éloge" + } + ], + "synonymes_fr": [ + "louange", + "éloge", + "complimenter" + ] + }, + "indigne": { + "traductions": [ + { + "confluent": "pakaveli", + "type": "composition", + "composition": "paka-veli", + "sens_litteral": "Vraiment mauvais", + "racines": [ + "paka", + "veli" + ], + "domaine": "valeur_sociale", + "note": "Déshonorant" + } + ] + }, + "satisfaire": { + "traductions": [ + { + "confluent": "tosavi", + "type": "composition", + "composition": "tosa-vi", + "sens_litteral": "Rendre bon", + "racines": [ + "tosa" + ], + "domaine": "action_sociale", + "note": "Répondre aux attentes" + } + ], + "synonymes_fr": [ + "satisfaction", + "contenter" + ] + }, + "exigence": { + "traductions": [ + { + "confluent": "vokimako", + "type": "composition", + "composition": "voki-mako", + "sens_litteral": "Grande parole/demande", + "racines": [ + "voki", + "mako" + ], + "domaine": "action_sociale", + "note": "Demande forte" + } + ], + "synonymes_fr": [ + "exiger", + "demande" + ] + }, + "compensation": { + "traductions": [ + { + "confluent": "kilutosa", + "type": "composition", + "composition": "kil-u-tosa", + "sens_litteral": "Bon échange", + "racines": [ + "kilu", + "tosa" + ], + "domaine": "economie", + "note": "Rémunération équitable" + } + ], + "synonymes_fr": [ + "rémunération", + "rétribution" + ] + }, + "suffocation": { + "traductions": [ + { + "confluent": "venuosi", + "type": "composition", + "composition": "ven-u-osi", + "sens_litteral": "Mort de l'air", + "racines": [ + "vena", + "osi" + ], + "domaine": "danger_spirituel", + "note": "Effet de rester trop longtemps dans les Antres (spirituel)" + } + ], + "synonymes_fr": [ + "suffoquer", + "étouffement" + ] + }, + "multicouche": { + "traductions": [ + { + "confluent": "kovasu", + "type": "composition", + "composition": "kova-su", + "sens_litteral": "Gravures multiples", + "racines": [ + "kova" + ], + "domaine": "art_philosophie", + "note": "Concept des fresques à plusieurs strates temporelles" + } + ], + "synonymes_fr": [ + "multi-couche", + "stratifié" + ] + }, + "devenir partie de l'Antre": { + "traductions": [ + { + "confluent": "tulikeko", + "type": "composition", + "composition": "tuli-keko", + "sens_litteral": "Être de l'écho", + "racines": [ + "tuli", + "keko" + ], + "domaine": "tradition", + "note": "Tradition des artisans âgés (refus d'enlever le corps, fierté)" + } + ] + } + } +} diff --git a/ancien-confluent/lexique/28-etrangers.json b/ancien-confluent/lexique/28-etrangers.json new file mode 100644 index 0000000..0cba35d --- /dev/null +++ b/ancien-confluent/lexique/28-etrangers.json @@ -0,0 +1,638 @@ +{ + "_comment": "Vocabulaire du contact interculturel et de l'altérité", + "_mots_a_gerer": [], + "dictionnaire": { + "étranger": { + "traductions": [ + { + "confluent": "otana", + "type": "racine_sacree_composee", + "composition": "ota-na", + "sens_litteral": "Celui de l'extérieur", + "racines": [ + "ota", + "na" + ], + "domaine": "alterite", + "note": "Racine sacrée ota (autre, extérieur) + suffixe agent -na" + } + ], + "synonymes_fr": [ + "inconnu", + "étranger", + "étrangère", + "étrangers" + ] + }, + "l'autre": { + "traductions": [ + { + "confluent": "ota", + "type": "racine_sacree", + "forme_liee": "ot", + "domaine": "alterite", + "note": "Concept philosophique : celui qui ne partage ni ancêtres, ni langue, ni intentions" + } + ], + "synonymes_fr": [ + "autre", + "l'Autre" + ] + }, + "différent": { + "traductions": [ + { + "confluent": "otavi", + "type": "composition", + "composition": "ota-vi", + "sens_litteral": "De nature autre", + "racines": [ + "ota" + ], + "domaine": "alterite", + "note": "Suffixe adjectival -vi" + } + ], + "synonymes_fr": [ + "différente", + "différents", + "différentes" + ] + }, + "nanzagouet": { + "traductions": [ + { + "confluent": "pupasula", + "type": "composition", + "composition": "pupu-a-pasu-la", + "sens_litteral": "Cheveux de sang", + "racines": [ + "pupu", + "pasu" + ], + "domaine": "peuple_etranger", + "note": "Nom donné aux étrangers aux cheveux roux - 'Cheveux de Sang'" + } + ], + "synonymes_fr": [ + "Nanzagouet", + "peuple aux cheveux roux" + ] + }, + "cheveux de sang": { + "traductions": [ + { + "confluent": "pupasula", + "type": "composition", + "composition": "pupu-a-pasu-la", + "sens_litteral": "Poils rouges comme le sang", + "racines": [ + "pupu", + "pasu" + ], + "domaine": "description_physique", + "note": "Descriptif initial des étrangers aux cheveux roux" + } + ] + }, + "cheveux": { + "traductions": [ + { + "confluent": "pupu", + "type": "racine", + "forme_liee": "pup", + "domaine": "corps", + "note": "Partie du corps qui pousse sur la tête" + } + ], + "synonymes_fr": [ + "chevelure", + "poils" + ] + }, + "roux": { + "traductions": [ + { + "confluent": "pasovi", + "type": "composition", + "composition": "paso-vi", + "sens_litteral": "De couleur sang/rouge", + "racines": [ + "pasu" + ], + "domaine": "couleur", + "note": "Utilise la racine pasu (sang) pour rouge" + } + ], + "synonymes_fr": [ + "rousse", + "rouge", + "rouges" + ] + }, + "inconnu": { + "traductions": [ + { + "confluent": "otasili", + "type": "composition", + "composition": "ota-sili", + "sens_litteral": "Non vu, étranger au regard", + "racines": [ + "ota", + "sili" + ], + "domaine": "alterite", + "note": "Ce qui n'a jamais été observé" + } + ], + "synonymes_fr": [ + "inconnus", + "inconnue", + "inconnues" + ] + }, + "premiers ancêtres": { + "traductions": [ + { + "confluent": "enuaita", + "type": "composition", + "composition": "en-u-aita", + "sens_litteral": "Ancêtres de l'origine", + "racines": [ + "ena", + "aita" + ], + "domaine": "histoire", + "note": "Peuple disparu distinct des ancêtres directs (aita)" + } + ], + "synonymes_fr": [ + "Premiers Ancêtres" + ] + }, + "rencontrer": { + "traductions": [ + { + "confluent": "kotavi", + "type": "racine", + "forme_liee": "kotav", + "domaine": "action_sociale", + "note": "Croiser le chemin de, se rencontrer" + } + ], + "synonymes_fr": [ + "rencontre", + "croiser" + ] + }, + "accueillir": { + "traductions": [ + { + "confluent": "takavi", + "type": "racine", + "forme_liee": "takav", + "domaine": "action_sociale", + "note": "Recevoir, accepter l'arrivée de" + } + ], + "synonymes_fr": [ + "accueil", + "recevoir" + ] + }, + "rejeter": { + "traductions": [ + { + "confluent": "volaki", + "type": "racine", + "forme_liee": "volak", + "domaine": "action_sociale", + "note": "Repousser, refuser" + } + ], + "synonymes_fr": [ + "rejet", + "repousser", + "refuser" + ] + }, + "comprendre": { + "traductions": [ + { + "confluent": "silumi", + "type": "composition", + "composition": "sil-umi", + "sens_litteral": "Voir avec l'esprit", + "racines": [ + "sili", + "umi" + ], + "domaine": "cognition", + "note": "Saisir le sens" + } + ], + "synonymes_fr": [ + "compréhension", + "saisir" + ] + }, + "langue": { + "traductions": [ + { + "confluent": "vokina", + "type": "composition", + "composition": "voki-na", + "sens_litteral": "Ensemble des voix/paroles", + "racines": [ + "voki" + ], + "domaine": "communication", + "note": "Système linguistique (distinct de langue organe)" + } + ], + "synonymes_fr": [ + "langage", + "idiome" + ] + }, + "geste": { + "traductions": [ + { + "confluent": "kanuki", + "type": "composition", + "composition": "kan-uki", + "sens_litteral": "Mouvement de main", + "racines": [ + "kanu" + ], + "domaine": "communication", + "note": "Communication non-verbale" + } + ], + "synonymes_fr": [ + "gestes", + "signe" + ] + }, + "intention": { + "traductions": [ + { + "confluent": "umikoli", + "type": "composition", + "composition": "umi-koli", + "sens_litteral": "Esprit-cœur, volonté intérieure", + "racines": [ + "umi", + "kori" + ], + "domaine": "cognition", + "note": "Ce qu'on veut faire, la volonté" + } + ], + "synonymes_fr": [ + "volonté", + "but", + "dessein" + ] + }, + "méfiance": { + "traductions": [ + { + "confluent": "silikonu", + "type": "composition", + "composition": "sili-ko-nu", + "sens_litteral": "Regard gardé", + "racines": [ + "sili", + "konu" + ], + "domaine": "emotion", + "note": "Ne pas faire confiance, observer avec prudence" + } + ], + "synonymes_fr": [ + "méfiant", + "suspicion" + ] + }, + "confiance": { + "traductions": [ + { + "confluent": "kolaska", + "type": "composition", + "composition": "kol-aska", + "sens_litteral": "Cœur libre", + "racines": [ + "kori", + "aska" + ], + "domaine": "emotion", + "note": "Ouvrir son cœur sans crainte" + } + ], + "synonymes_fr": [ + "confiant", + "foi" + ] + }, + "partager": { + "traductions": [ + { + "confluent": "kiluvi", + "type": "composition", + "composition": "kil-u-vi", + "sens_litteral": "Faire l'échange", + "racines": [ + "kilu" + ], + "domaine": "action_sociale", + "note": "Donner une partie à l'autre" + } + ], + "synonymes_fr": [ + "partage", + "distribuer" + ] + }, + "commun": { + "traductions": [ + { + "confluent": "kotavi", + "type": "composition", + "composition": "kota-vi", + "sens_litteral": "De la confluence, partagé", + "racines": [ + "kota" + ], + "domaine": "social", + "note": "Ce qui appartient à tous" + } + ], + "synonymes_fr": [ + "partagé", + "collectif", + "commune" + ] + }, + "frontière": { + "traductions": [ + { + "confluent": "linuota", + "type": "composition", + "composition": "lin-u-ota", + "sens_litteral": "Ligne de l'autre", + "racines": [ + "linu", + "ota" + ], + "domaine": "geographie", + "note": "Limite entre nous et les autres" + } + ], + "synonymes_fr": [ + "limite", + "frontières", + "bord" + ] + }, + "territoire": { + "traductions": [ + { + "confluent": "tokukota", + "type": "composition", + "composition": "tok-u-kota", + "sens_litteral": "Lieu de la confluence/union", + "racines": [ + "toka", + "kota" + ], + "domaine": "geographie", + "note": "Terre qui appartient au peuple" + } + ], + "synonymes_fr": [ + "terre", + "domaine" + ] + }, + "contact": { + "traductions": [ + { + "confluent": "kotavuki", + "type": "composition", + "composition": "kotav-uki", + "sens_litteral": "Mouvement de rencontre", + "racines": [ + "kotavi" + ], + "domaine": "action_sociale", + "note": "Premier contact, toucher" + } + ], + "synonymes_fr": [ + "toucher", + "rencontre initiale" + ] + }, + "commerce": { + "traductions": [ + { + "confluent": "kilukota", + "type": "composition", + "composition": "kil-u-kota", + "sens_litteral": "Échange en confluence", + "racines": [ + "kilu", + "kota" + ], + "domaine": "economie", + "note": "Échanges réguliers entre groupes" + } + ], + "synonymes_fr": [ + "échange commercial", + "négoce" + ] + }, + "hostile": { + "traductions": [ + { + "confluent": "zanaoti", + "type": "composition", + "composition": "zana-ot-i", + "sens_litteral": "Qui chasse l'autre", + "racines": [ + "zana", + "ota" + ], + "domaine": "attitude", + "note": "Agressif envers l'étranger" + } + ], + "synonymes_fr": [ + "agressif", + "ennemi", + "hostile" + ] + }, + "pacifique": { + "traductions": [ + { + "confluent": "tosavi", + "type": "composition", + "composition": "tosa-vi", + "sens_litteral": "De nature bonne/paisible", + "racines": [ + "tosa" + ], + "domaine": "attitude", + "note": "Sans agressivité" + } + ], + "synonymes_fr": [ + "paisible", + "pacifiques", + "bienveillant" + ] + }, + "alliance": { + "traductions": [ + { + "confluent": "savukota", + "type": "composition", + "composition": "sav-u-kota", + "sens_litteral": "Serment de confluence", + "racines": [ + "savu", + "kota" + ], + "domaine": "politique", + "note": "Accord entre peuples" + } + ], + "synonymes_fr": [ + "pacte", + "accord" + ] + }, + "traité": { + "traductions": [ + { + "confluent": "savukova", + "type": "composition", + "composition": "sav-u-kova", + "sens_litteral": "Serment gravé", + "racines": [ + "savu", + "kova" + ], + "domaine": "politique", + "note": "Accord formel écrit" + } + ], + "synonymes_fr": [ + "accord écrit", + "traités" + ] + }, + "ambassadeur": { + "traductions": [ + { + "confluent": "vokiotana", + "type": "composition", + "composition": "voki-ota-na", + "sens_litteral": "Voix pour l'autre", + "racines": [ + "voki", + "ota" + ], + "domaine": "role_politique", + "note": "Celui qui parle au nom de son peuple auprès des étrangers" + } + ], + "synonymes_fr": [ + "émissaire", + "envoyé" + ] + }, + "interprète": { + "traductions": [ + { + "confluent": "vokikota", + "type": "composition", + "composition": "voki-kota", + "sens_litteral": "Voix de confluence", + "racines": [ + "voki", + "kota" + ], + "domaine": "role_communication", + "note": "Celui qui traduit entre langues" + } + ], + "synonymes_fr": [ + "traducteur" + ] + }, + "curiosité": { + "traductions": [ + { + "confluent": "siliota", + "type": "composition", + "composition": "sili-ota", + "sens_litteral": "Regard vers l'autre", + "racines": [ + "sili", + "ota" + ], + "domaine": "emotion", + "note": "Désir de découvrir l'inconnu" + } + ], + "synonymes_fr": [ + "curieux", + "intérêt" + ] + }, + "découverte": { + "traductions": [ + { + "confluent": "nuvisili", + "type": "composition", + "composition": "nuvi-sili", + "sens_litteral": "Nouveau regard", + "racines": [ + "nuvi", + "sili" + ], + "domaine": "cognition", + "note": "Voir pour la première fois" + } + ], + "synonymes_fr": [ + "découvrir", + "trouver" + ] + }, + "similitude": { + "traductions": [ + { + "confluent": "silikinu", + "type": "composition", + "composition": "sili-ki-nu", + "sens_litteral": "Même regard/apparence", + "racines": [ + "sili" + ], + "domaine": "concept", + "note": "Ressemblance, points communs" + } + ], + "synonymes_fr": [ + "ressemblance", + "semblable", + "similaire" + ] + } + } +} diff --git a/ancien-confluent/lexique/29-actions-militaires.json b/ancien-confluent/lexique/29-actions-militaires.json new file mode 100644 index 0000000..c7373f1 --- /dev/null +++ b/ancien-confluent/lexique/29-actions-militaires.json @@ -0,0 +1,540 @@ +{ + "_comment": "Actions militaires et tactiques de combat", + "_mots_a_gerer": [], + "dictionnaire": { + "capturer": { + "traductions": [ + { + "confluent": "konuki", + "type": "composition", + "composition": "kon-uki", + "sens_litteral": "Prendre et garder", + "racines": [ + "konu" + ], + "domaine": "action_militaire", + "note": "Prendre prisonnier" + } + ], + "synonymes_fr": [ + "capture", + "captif", + "prisonnier" + ] + }, + "menacer": { + "traductions": [ + { + "confluent": "zanasili", + "type": "composition", + "composition": "zana-sili", + "sens_litteral": "Montrer la chasse", + "racines": [ + "zana", + "sili" + ], + "domaine": "action_militaire", + "note": "Action d'intimidation" + } + ], + "synonymes_fr": [ + "menace", + "intimidation", + "intimider" + ] + }, + "soumettre": { + "traductions": [ + { + "confluent": "konumaki", + "type": "composition", + "composition": "kon-u-maki", + "sens_litteral": "Forcer à garder sous contrôle", + "racines": [ + "konu" + ], + "domaine": "action_militaire", + "note": "Forcer la reddition" + } + ], + "synonymes_fr": [ + "soumission", + "dominer" + ] + }, + "paniquer": { + "traductions": [ + { + "confluent": "kolivolu", + "type": "composition", + "composition": "koli-volu", + "sens_litteral": "Cœur qui fuit", + "racines": [ + "kori" + ], + "domaine": "emotion_combat", + "note": "Peur panique" + } + ], + "synonymes_fr": [ + "panique", + "affolement", + "s'affoler" + ] + }, + "résister": { + "traductions": [ + { + "confluent": "konuveli", + "type": "composition", + "composition": "kon-u-veli", + "sens_litteral": "Garder vraiment/tenir bon", + "racines": [ + "konu", + "veli" + ], + "domaine": "action_militaire", + "note": "Opposition, défense" + } + ], + "synonymes_fr": [ + "résistance", + "tenir bon", + "s'opposer" + ] + }, + "rouer de coups": { + "traductions": [ + { + "confluent": "kopusuvi", + "type": "composition", + "composition": "kopu-su-vi", + "sens_litteral": "Frapper plusieurs fois", + "racines": [ + "kopu" + ], + "domaine": "violence", + "note": "Violence physique répétée" + } + ], + "synonymes_fr": [ + "battre", + "frapper violemment" + ] + }, + "mâter": { + "traductions": [ + { + "confluent": "konupaka", + "type": "composition", + "composition": "kon-u-paka", + "sens_litteral": "Garder par le mal", + "racines": [ + "konu", + "paka" + ], + "domaine": "action_militaire", + "note": "Soumettre par la force brutale" + } + ], + "synonymes_fr": [ + "réprimer", + "briser" + ] + }, + "forcer à rester": { + "traductions": [ + { + "confluent": "tulimaki", + "type": "composition", + "composition": "tuli-maki", + "sens_litteral": "Faire rester/être", + "racines": [ + "tuli" + ], + "domaine": "action_militaire", + "note": "Contrainte physique" + } + ], + "synonymes_fr": [ + "contraindre", + "retenir" + ] + }, + "courir après": { + "traductions": [ + { + "confluent": "pekikazo", + "type": "composition", + "composition": "peki-kazo", + "sens_litteral": "Pieds rapides vers", + "racines": [ + "peki", + "kazo" + ], + "domaine": "action_militaire", + "note": "Poursuite" + } + ], + "synonymes_fr": [ + "poursuivre", + "poursuite", + "chasser" + ] + }, + "se faire passer pour": { + "traductions": [ + { + "confluent": "mukavi", + "type": "composition", + "composition": "muka-vi", + "sens_litteral": "Prendre le visage de", + "racines": [ + "muka" + ], + "domaine": "action_militaire", + "note": "Déguisement/subterfuge" + } + ], + "synonymes_fr": [ + "imiter", + "se déguiser", + "feindre" + ] + }, + "abordage": { + "traductions": [ + { + "confluent": "vanuzanaki", + "type": "composition", + "composition": "vanu-zana-ki", + "sens_litteral": "Attaque de l'embarcation", + "racines": [ + "vanu", + "zana" + ], + "domaine": "combat_maritime", + "note": "Attaque d'un navire" + } + ], + "synonymes_fr": [ + "aborder (attaque)" + ] + }, + "observation": { + "traductions": [ + { + "confluent": "silikonu", + "type": "composition", + "composition": "sili-konu", + "sens_litteral": "Regard gardé/vigilant", + "racines": [ + "sili", + "konu" + ], + "domaine": "tactique_militaire", + "note": "Surveillance des ennemis" + } + ], + "synonymes_fr": [ + "observer", + "surveiller", + "surveillance" + ] + }, + "interrogation": { + "traductions": [ + { + "confluent": "vokikonuki", + "type": "composition", + "composition": "voki-kon-uki", + "sens_litteral": "Paroles pour prendre", + "racines": [ + "voki", + "konu" + ], + "domaine": "action_militaire", + "note": "Questionnement de captifs" + } + ], + "synonymes_fr": [ + "interroger", + "questionner" + ] + }, + "embuscade": { + "traductions": [ + { + "confluent": "konusili", + "type": "composition", + "composition": "konu-sili", + "sens_litteral": "Garde cachée qui observe", + "racines": [ + "konu", + "sili" + ], + "domaine": "tactique_militaire", + "note": "Tactique de surprise" + } + ], + "synonymes_fr": [ + "guet-apens", + "piège" + ] + }, + "surnombre": { + "traductions": [ + { + "confluent": "ikomako", + "type": "composition", + "composition": "iko-mako", + "sens_litteral": "Nombre grand/beaucoup", + "racines": [ + "iko", + "mako" + ], + "domaine": "tactique_militaire", + "note": "Supériorité numérique" + } + ], + "synonymes_fr": [ + "supériorité numérique" + ] + }, + "arracher": { + "traductions": [ + { + "confluent": "kanuvoli", + "type": "composition", + "composition": "kanu-voli", + "sens_litteral": "Prendre avec la main en arrachant", + "racines": [ + "kanu" + ], + "domaine": "action_violente", + "note": "Enlever de force" + } + ], + "synonymes_fr": [ + "enlever de force", + "déchirer" + ] + }, + "vulnérable": { + "traductions": [ + { + "confluent": "konupisu", + "type": "composition", + "composition": "kon-u-pisu", + "sens_litteral": "Petite garde/protection", + "racines": [ + "konu", + "pisu" + ], + "domaine": "etat_militaire", + "note": "État de faiblesse, non protégé" + } + ], + "synonymes_fr": [ + "faible", + "exposé" + ] + }, + "audace": { + "traductions": [ + { + "confluent": "kolaska", + "type": "composition", + "composition": "kol-aska", + "sens_litteral": "Cœur libre", + "racines": [ + "kori", + "aska" + ], + "domaine": "qualite_guerriere", + "note": "Qualité de courage" + } + ], + "synonymes_fr": [ + "audacieux", + "courage", + "brave" + ] + }, + "orgueilleux": { + "traductions": [ + { + "confluent": "kolimakovi", + "type": "composition", + "composition": "koli-mako-vi", + "sens_litteral": "De très grand cœur", + "racines": [ + "kori", + "mako" + ], + "domaine": "defaut_caractere", + "note": "Défaut caractériel - arrogance" + } + ], + "synonymes_fr": [ + "arrogant", + "orgueil", + "fier" + ] + }, + "patient": { + "traductions": [ + { + "confluent": "teluveli", + "type": "composition", + "composition": "telu-veli", + "sens_litteral": "Vraiment lent/calme", + "racines": [ + "telu", + "veli" + ], + "domaine": "qualite", + "note": "Vertu - capacité d'attendre" + } + ], + "synonymes_fr": [ + "patience", + "calme" + ] + }, + "initiative": { + "traductions": [ + { + "confluent": "ikikoli", + "type": "composition", + "composition": "iki-koli", + "sens_litteral": "Premier cœur/mouvement", + "racines": [ + "iko", + "kori" + ], + "domaine": "qualite_tactique", + "note": "Prise de décision autonome" + } + ], + "synonymes_fr": [ + "prendre l'initiative" + ] + }, + "imprévu": { + "traductions": [ + { + "confluent": "silinovi", + "type": "composition", + "composition": "sili-no-vi", + "sens_litteral": "Non vu avant", + "racines": [ + "sili" + ], + "domaine": "evenement", + "note": "Événement inattendu" + } + ], + "synonymes_fr": [ + "inattendu", + "surprise" + ] + }, + "désordre": { + "traductions": [ + { + "confluent": "kotavoli", + "type": "composition", + "composition": "kota-voli", + "sens_litteral": "Hors de la confluence/ordre", + "racines": [ + "kota" + ], + "domaine": "etat", + "note": "Chaos, absence d'organisation" + } + ], + "synonymes_fr": [ + "chaos", + "confusion" + ] + }, + "choc": { + "traductions": [ + { + "confluent": "kolikopuvi", + "type": "composition", + "composition": "koli-kopu-vi", + "sens_litteral": "Coup au cœur", + "racines": [ + "kori", + "kopu" + ], + "domaine": "emotion", + "note": "Traumatisme émotionnel violent" + } + ], + "synonymes_fr": [ + "traumatisme", + "stupeur" + ] + }, + "émeute": { + "traductions": [ + { + "confluent": "kotavolisu", + "type": "composition", + "composition": "kota-voli-su", + "sens_litteral": "Multiples hors de l'ordre", + "racines": [ + "kota" + ], + "domaine": "social_violent", + "note": "Rébellion collective" + } + ], + "synonymes_fr": [ + "révolte", + "insurrection" + ] + }, + "garrison": { + "traductions": [ + { + "confluent": "konutulitoka", + "type": "composition", + "composition": "kon-u-tuli-toka", + "sens_litteral": "Lieu de garde permanente", + "racines": [ + "konu", + "tuli", + "toka" + ], + "domaine": "structure_militaire", + "note": "Groupe de défense permanent" + } + ], + "synonymes_fr": [ + "garnison" + ] + }, + "réserves": { + "traductions": [ + { + "confluent": "zanakovu", + "type": "composition", + "composition": "zana-kovu", + "sens_litteral": "Réservoir pour la chasse/guerre", + "racines": [ + "zana" + ], + "domaine": "logistique_militaire", + "note": "Stocks d'urgence (armes, nourriture)" + } + ], + "synonymes_fr": [ + "stocks militaires" + ] + } + } +} diff --git a/ancien-confluent/lexique/30-vetements-apparence.json b/ancien-confluent/lexique/30-vetements-apparence.json new file mode 100644 index 0000000..c79560c --- /dev/null +++ b/ancien-confluent/lexique/30-vetements-apparence.json @@ -0,0 +1,488 @@ +{ + "_comment": "Vêtements, apparence physique et descriptions corporelles", + "_mots_a_gerer": [], + "dictionnaire": { + "vêtement": { + "traductions": [ + { + "confluent": "vekuvi", + "type": "composition", + "composition": "vek-u-vi", + "sens_litteral": "Chose de surface/peau", + "racines": [ + "veku" + ], + "domaine": "vetement", + "note": "Ce qu'on porte sur le corps" + } + ], + "synonymes_fr": [ + "vêtements", + "habit", + "habits" + ] + }, + "tenue": { + "traductions": [ + { + "confluent": "sanuveku", + "type": "composition", + "composition": "san-u-veku", + "sens_litteral": "Surface du corps", + "racines": [ + "sanu", + "veku" + ], + "domaine": "vetement", + "note": "Ensemble de vêtements" + } + ], + "synonymes_fr": [ + "tenues", + "costume" + ] + }, + "oripeaux": { + "traductions": [ + { + "confluent": "vekupaka", + "type": "composition", + "composition": "vek-u-paka", + "sens_litteral": "Mauvaise surface/vêtement", + "racines": [ + "veku", + "paka" + ], + "domaine": "vetement", + "note": "Vêtements en mauvais état" + } + ], + "synonymes_fr": [ + "haillons", + "guenilles" + ] + }, + "nu": { + "traductions": [ + { + "confluent": "vekuvoli", + "type": "composition", + "composition": "vek-u-voli", + "sens_litteral": "Sans surface/vêtement", + "racines": [ + "veku" + ], + "domaine": "apparence", + "note": "Sans vêtement" + } + ], + "synonymes_fr": [ + "nudité", + "dénudé" + ] + }, + "exhiber nu": { + "traductions": [ + { + "confluent": "silivekuvoli", + "type": "composition", + "composition": "sili-vek-u-voli", + "sens_litteral": "Montrer sans vêtement", + "racines": [ + "sili", + "veku" + ], + "domaine": "action", + "note": "Montrer la nudité" + } + ] + }, + "trancher": { + "traductions": [ + { + "confluent": "bituki", + "type": "composition", + "composition": "bit-uki", + "sens_litteral": "Mouvement de dent/couper", + "racines": [ + "bitu" + ], + "domaine": "action", + "note": "Couper net (cheveux, corde, etc.)" + } + ], + "synonymes_fr": [ + "couper", + "sectionner" + ] + }, + "couper": { + "traductions": [ + { + "confluent": "voliuki", + "type": "composition", + "composition": "voli-uki", + "sens_litteral": "Mouvement de séparation", + "racines": [], + "domaine": "action", + "note": "Séparer en deux" + } + ], + "synonymes_fr": [ + "découper", + "séparer" + ] + }, + "taille": { + "traductions": [ + { + "confluent": "sanumako", + "type": "composition", + "composition": "san-u-mako", + "sens_litteral": "Grande mesure du corps", + "racines": [ + "sanu", + "mako" + ], + "domaine": "apparence", + "note": "Dimensions corporelles" + } + ], + "synonymes_fr": [ + "grandeur", + "stature" + ] + }, + "morphologie": { + "traductions": [ + { + "confluent": "sanukova", + "type": "composition", + "composition": "san-u-kova", + "sens_litteral": "Forme du corps", + "racines": [ + "sanu" + ], + "domaine": "apparence", + "note": "Structure physique" + } + ], + "synonymes_fr": [ + "forme corporelle" + ] + }, + "correspondre": { + "traductions": [ + { + "confluent": "kotavi", + "type": "composition", + "composition": "kota-vi", + "sens_litteral": "Être en confluence/accord", + "racines": [ + "kota" + ], + "domaine": "relation", + "note": "Adéquation de taille, compatibilité" + } + ], + "synonymes_fr": [ + "correspondance", + "être adapté", + "convenir" + ] + }, + "pâle": { + "traductions": [ + { + "confluent": "miluveku", + "type": "composition", + "composition": "milu-veku", + "sens_litteral": "Peau blanche/pâle", + "racines": [ + "milu", + "veku" + ], + "domaine": "couleur_peau", + "note": "Couleur de peau claire (Enfants des Échos)" + } + ], + "synonymes_fr": [ + "pâleur", + "blancheur" + ] + }, + "allongé": { + "traductions": [ + { + "confluent": "linumako", + "type": "composition", + "composition": "lin-u-mako", + "sens_litteral": "Grande ligne/longueur", + "racines": [ + "linu", + "mako" + ], + "domaine": "forme", + "note": "Forme corporelle étirée (membres allongés)" + } + ], + "synonymes_fr": [ + "allongée", + "étiré", + "long" + ] + }, + "aveugle": { + "traductions": [ + { + "confluent": "silivoli", + "type": "composition", + "composition": "sili-voli", + "sens_litteral": "Sans regard/vue", + "racines": [ + "sili" + ], + "domaine": "handicap", + "note": "Perte de vision" + } + ], + "synonymes_fr": [ + "cécité", + "non-voyant" + ] + }, + "adaptation": { + "traductions": [ + { + "confluent": "sanukotavi", + "type": "composition", + "composition": "san-u-kota-vi", + "sens_litteral": "Corps en confluence/harmonie", + "racines": [ + "sanu", + "kota" + ], + "domaine": "evolution", + "note": "Changements corporels pour s'adapter à l'environnement" + } + ], + "synonymes_fr": [ + "adapté", + "s'adapter" + ] + }, + "cape": { + "traductions": [ + { + "confluent": "vekumako", + "type": "composition", + "composition": "vek-u-mako", + "sens_litteral": "Grand vêtement de surface", + "racines": [ + "veku", + "mako" + ], + "domaine": "vetement", + "note": "Vêtement ample qui couvre" + } + ], + "synonymes_fr": [ + "manteau", + "capes" + ] + }, + "ceinture": { + "traductions": [ + { + "confluent": "nutulinu", + "type": "composition", + "composition": "nutu-linu", + "sens_litteral": "Ligne du ventre", + "racines": [ + "nutu", + "linu" + ], + "domaine": "vetement", + "note": "Lien autour de la taille" + } + ], + "synonymes_fr": [ + "ceintures" + ] + }, + "collier": { + "traductions": [ + { + "confluent": "mutulinu", + "type": "composition", + "composition": "mutu-linu", + "sens_litteral": "Ligne du cou", + "racines": [ + "muto", + "linu" + ], + "domaine": "parure", + "note": "Objet porté autour du cou" + } + ], + "synonymes_fr": [ + "colliers" + ] + }, + "bracelet": { + "traductions": [ + { + "confluent": "kanulinu", + "type": "composition", + "composition": "kan-u-linu", + "sens_litteral": "Ligne de bras/poignet", + "racines": [ + "kanu", + "linu" + ], + "domaine": "parure", + "note": "Objet porté au bras" + } + ], + "synonymes_fr": [ + "bracelets" + ] + }, + "peinture corporelle": { + "traductions": [ + { + "confluent": "sanukova", + "type": "composition", + "composition": "sanu-kova", + "sens_litteral": "Gravure/motif sur le corps", + "racines": [ + "sanu", + "kova" + ], + "domaine": "parure", + "note": "Décorations peintes sur la peau" + } + ], + "synonymes_fr": [ + "tatouage", + "motifs corporels" + ] + }, + "cicatrice": { + "traductions": [ + { + "confluent": "vekukova", + "type": "composition", + "composition": "vek-u-kova", + "sens_litteral": "Gravure sur la peau", + "racines": [ + "veku", + "kova" + ], + "domaine": "corps", + "note": "Marque permanente sur la peau" + } + ], + "synonymes_fr": [ + "cicatrices", + "balafre" + ] + }, + "barbe": { + "traductions": [ + { + "confluent": "mukupupu", + "type": "composition", + "composition": "muka-pupu", + "sens_litteral": "Poils du visage", + "racines": [ + "muka", + "pupu" + ], + "domaine": "corps", + "note": "Pilosité faciale" + } + ] + }, + "coiffure": { + "traductions": [ + { + "confluent": "pupukova", + "type": "composition", + "composition": "pupu-kova", + "sens_litteral": "Forme/arrangement des cheveux", + "racines": [ + "pupu", + "kova" + ], + "domaine": "apparence", + "note": "Style de cheveux" + } + ], + "synonymes_fr": [ + "coiffures" + ] + }, + "tresser": { + "traductions": [ + { + "confluent": "linukotavi", + "type": "composition", + "composition": "linu-kota-vi", + "sens_litteral": "Faire confluencer des lignes", + "racines": [ + "linu", + "kota" + ], + "domaine": "action_artisanale", + "note": "Entrelacer (cheveux, fibres, cordes)" + } + ], + "synonymes_fr": [ + "tressage", + "entrelacer", + "natter" + ] + }, + "sale": { + "traductions": [ + { + "confluent": "vekupaka", + "type": "composition", + "composition": "vek-u-paka", + "sens_litteral": "Mauvaise surface", + "racines": [ + "veku", + "paka" + ], + "domaine": "etat", + "note": "Non propre, souillé" + } + ], + "synonymes_fr": [ + "souillé", + "crasseux" + ] + }, + "propre": { + "traductions": [ + { + "confluent": "vekupuli", + "type": "composition", + "composition": "vek-u-puli", + "sens_litteral": "Surface pure", + "racines": [ + "veku" + ], + "domaine": "etat", + "note": "Nettoyé, sans saleté" + } + ], + "synonymes_fr": [ + "propreté", + "pur", + "net" + ] + } + } +} diff --git a/scripts/add-final-roots.py b/scripts/add-final-roots.py new file mode 100644 index 0000000..e31849b --- /dev/null +++ b/scripts/add-final-roots.py @@ -0,0 +1,105 @@ +#!/usr/bin/env python3 +""" +Ajoute les 6 dernières racines manquantes +""" + +import json +from pathlib import Path + +LEXIQUE_DIR = Path(__file__).parent.parent / "ancien-confluent" / "lexique" +RACINES_FILE = LEXIQUE_DIR / "02-racines-standards.json" + +# Les 6 racines à ajouter +RACINES_A_AJOUTER = { + "ciel": { + "traductions": [{ + "confluent": "zeru", + "type": "racine", + "forme_liee": "zer", + "domaine": "nature", + "note": "Ciel, voûte céleste - utilisé dans Ciels-clairs" + }], + "synonymes_fr": ["voûte céleste", "firmament"] + }, + "presage": { + "traductions": [{ + "confluent": "novi", + "type": "racine", + "forme_liee": "nov", + "domaine": "concept", + "note": "Présage, signe du futur" + }], + "synonymes_fr": ["augure", "signe"] + }, + "faim": { + "traductions": [{ + "confluent": "muta", + "type": "racine", + "forme_liee": "mut", + "domaine": "besoin", + "note": "Faim, manque, besoin de nourriture" + }], + "synonymes_fr": ["manque", "privation"] + }, + "intimite": { + "traductions": [{ + "confluent": "supu", + "type": "racine", + "forme_liee": "sup", + "domaine": "espace", + "note": "Intérieur, intimité, espace privé" + }], + "synonymes_fr": ["intérieur", "privé"] + }, + "sale": { + "traductions": [{ + "confluent": "selu", + "type": "racine", + "forme_liee": "sel", + "domaine": "qualificatif", + "note": "Salé, eau salée - distinct de salu (sel cristal)" + }], + "synonymes_fr": ["salé", "saumâtre"] + }, + "charge": { + "traductions": [{ + "confluent": "saki", + "type": "racine", + "forme_liee": "sak", + "domaine": "action", + "note": "Charge, fardeau, ce qu'on porte" + }], + "synonymes_fr": ["fardeau", "cargaison"] + } +} + +def main(): + print("🔧 Ajout des 6 dernières racines manquantes\n") + + with open(RACINES_FILE, 'r', encoding='utf-8') as f: + data = json.load(f) + + print(f"Avant: {len(data['dictionnaire'])} entrées\n") + + added = 0 + for key_fr, entry in RACINES_A_AJOUTER.items(): + if key_fr not in data['dictionnaire']: + mot = entry['traductions'][0]['confluent'] + print(f" ✅ Ajout: {key_fr} → {mot}") + data['dictionnaire'][key_fr] = entry + added += 1 + else: + print(f" ⚠️ Existe déjà: {key_fr}") + + print(f"\n✅ {added} racines ajoutées") + print(f"Après: {len(data['dictionnaire'])} entrées") + + # Sauvegarder + with open(RACINES_FILE, 'w', encoding='utf-8') as f: + json.dump(data, f, ensure_ascii=False, indent=2) + f.write('\n') + + print(f"\n💾 Fichier sauvegardé") + +if __name__ == "__main__": + main() diff --git a/scripts/add-missing-roots.py b/scripts/add-missing-roots.py new file mode 100644 index 0000000..81ba9a6 --- /dev/null +++ b/scripts/add-missing-roots.py @@ -0,0 +1,125 @@ +#!/usr/bin/env python3 +""" +Ajoute les 8 racines manquantes qui sont utilisées dans le lexique +""" + +import json +from pathlib import Path + +LEXIQUE_DIR = Path(__file__).parent.parent / "ancien-confluent" / "lexique" +RACINES_FILE = LEXIQUE_DIR / "02-racines-standards.json" + +# Les 8 racines à ajouter (VRAIMENT manquantes, utilisées dans le lexique) +RACINES_A_AJOUTER = { + "personne": { + "traductions": [{ + "confluent": "toli", + "type": "racine", + "forme_liee": "tol", + "domaine": "social", + "note": "Personne, agent, individu - utilisé dans tous les rôles" + }], + "synonymes_fr": ["agent", "individu"] + }, + "nourriture": { + "traductions": [{ + "confluent": "nutu", + "type": "racine", + "forme_liee": "nut", + "domaine": "alimentation", + "note": "Nourriture, aliment - racine fondamentale" + }], + "synonymes_fr": ["aliment", "manger"] + }, + "bois_materiau": { + "traductions": [{ + "confluent": "vito", + "type": "racine", + "forme_liee": "vit", + "domaine": "materiau", + "note": "Bois (matériau de construction) - distinct de viku (forêt)" + }], + "synonymes_fr": ["bois de construction"] + }, + "garder": { + "traductions": [{ + "confluent": "konu", + "type": "racine", + "forme_liee": "kon", + "domaine": "action", + "note": "Garder, protéger, maintenir - racine sécuritaire" + }], + "synonymes_fr": ["protéger", "maintenir", "défendre"] + }, + "duree": { + "traductions": [{ + "confluent": "aika", + "type": "racine_sacree", + "forme_liee": "aik", + "domaine": "temporel", + "note": "Temps, durée, époque - du finnois 'aika'" + }], + "synonymes_fr": ["temps", "époque", "ère"] + }, + "souvenir": { + "traductions": [{ + "confluent": "nemu", + "type": "racine", + "forme_liee": "nem", + "domaine": "mental", + "note": "Mémoire, souvenir - distinct de memu (mémoire collective)" + }], + "synonymes_fr": ["mémoire", "rappel"] + }, + "mauvais": { + "traductions": [{ + "confluent": "paka", + "type": "racine", + "forme_liee": "pak", + "domaine": "qualificatif", + "note": "Mauvais, négatif, malfaisant - inspiration basque" + }], + "synonymes_fr": ["négatif", "mal", "malfaisant"] + }, + "demeurer": { + "traductions": [{ + "confluent": "tuli", + "type": "racine", + "forme_liee": "tul", + "domaine": "etat", + "note": "Être, rester, demeurer - du finnois 'tulla'" + }], + "synonymes_fr": ["rester", "être", "habiter"] + } +} + +def main(): + print("🔧 Ajout des 8 racines manquantes\n") + + with open(RACINES_FILE, 'r', encoding='utf-8') as f: + data = json.load(f) + + print(f"Avant: {len(data['dictionnaire'])} entrées\n") + + added = 0 + for key_fr, entry in RACINES_A_AJOUTER.items(): + if key_fr not in data['dictionnaire']: + mot = entry['traductions'][0]['confluent'] + print(f" ✅ Ajout: {key_fr} → {mot}") + data['dictionnaire'][key_fr] = entry + added += 1 + else: + print(f" ⚠️ Existe déjà: {key_fr}") + + print(f"\n✅ {added} racines ajoutées") + print(f"Après: {len(data['dictionnaire'])} entrées") + + # Sauvegarder + with open(RACINES_FILE, 'w', encoding='utf-8') as f: + json.dump(data, f, ensure_ascii=False, indent=2) + f.write('\n') + + print(f"\n💾 Fichier sauvegardé") + +if __name__ == "__main__": + main() diff --git a/scripts/audit-lexique.js b/scripts/audit-lexique.js new file mode 100644 index 0000000..1b68e3f --- /dev/null +++ b/scripts/audit-lexique.js @@ -0,0 +1,398 @@ +#!/usr/bin/env node + +/** + * Script d'audit du lexique Confluent + * Vérifie que tous les mots respectent les règles linguistiques + */ + +const fs = require('fs'); +const path = require('path'); + +const LEXIQUE_DIR = path.join(__dirname, '../ancien-confluent/lexique'); + +// Règles phonétiques +const CONSONNES_STANDARD = ['b', 'k', 'l', 'm', 'n', 'p', 's', 't', 'v', 'z']; +const CONSONNES_RARES = ['r', 'd', 'h', 'g']; // Sons "bruts" à éviter mais tolérés +const CONSONNES_INTERDITES = ['c', 'f', 'j', 'q', 'w', 'x', 'y']; +const VOYELLES_ACTIVES = ['a', 'e', 'i', 'o', 'u']; +const VOYELLES_RESERVEES = ['y', 'é', 'è']; + +// Les 16 liaisons sacrées +const LIAISONS_SACREES = [ + 'i', 'ie', 'ii', 'iu', // I - Agentivité + 'u', 'ui', // U - Appartenance + 'a', 'aa', 'ae', 'ao', // A - Relation + 'o', 'oa', // O - Tension + 'e', 'ei', 'ea', 'eo' // E - Dimension +]; + +let errors = []; +let warnings = []; +let stats = { + total_mots: 0, + racines_sacrees: 0, + racines_standards: 0, + compositions: 0, + erreurs: 0, + avertissements: 0, + consonnes_rares_utilisees: 0, + mots_avec_consonnes_rares: [] +}; + +/** + * Vérifie si un caractère est une consonne valide + */ +function estConsonneValide(c) { + return CONSONNES_STANDARD.includes(c) || CONSONNES_RARES.includes(c); +} + +/** + * Vérifie si un caractère est une consonne rare + */ +function estConsonneRare(c) { + return CONSONNES_RARES.includes(c); +} + +/** + * Vérifie si un caractère est une consonne interdite + */ +function estConsonneInterdite(c) { + return CONSONNES_INTERDITES.includes(c); +} + +/** + * Vérifie si un caractère est une voyelle active + */ +function estVoyelleActive(c) { + return VOYELLES_ACTIVES.includes(c); +} + +/** + * Vérifie si un caractère est une voyelle réservée + */ +function estVoyelleReservee(c) { + return VOYELLES_RESERVEES.includes(c); +} + +/** + * Vérifie le format d'un mot (CV pour racines, CVCVC pour verbes) + */ +function verifierFormatCV(mot, file, motFr, type) { + const chars = mot.split(''); + let hasConsonneRare = false; + + // Vérifier les espaces (invalides) + if (mot.includes(' ')) { + errors.push(`[${file}] "${motFr}" → "${mot}": Caractère invalide ' '`); + return false; + } + + // Vérifier les caractères invalides + for (let i = 0; i < chars.length; i++) { + const c = chars[i]; + + if (c === '-') continue; // Tirets OK pour compositions + + if (estConsonneRare(c)) { + hasConsonneRare = true; + } else if (estConsonneInterdite(c)) { + errors.push(`[${file}] "${motFr}" → "${mot}": Consonne interdite '${c}'`); + return false; + } else if (estVoyelleReservee(c)) { + errors.push(`[${file}] "${motFr}" → "${mot}": Voyelle réservée '${c}' (y, é, è interdits)`); + return false; + } else if (!estConsonneValide(c) && !estVoyelleActive(c)) { + errors.push(`[${file}] "${motFr}" → "${mot}": Caractère invalide '${c}'`); + return false; + } + } + + // Compter les consonnes rares + if (hasConsonneRare) { + stats.consonnes_rares_utilisees++; + stats.mots_avec_consonnes_rares.push({mot, file, motFr}); + } + + // Retirer les tirets (pour les compositions) + const motSansTirets = mot.replace(/-/g, ''); + + if (motSansTirets.length < 2) { + errors.push(`[${file}] "${motFr}" → "${mot}": Trop court (minimum 2 caractères)`); + return false; + } + + const avantDernier = motSansTirets[motSansTirets.length - 2]; + const dernier = motSansTirets[motSansTirets.length - 1]; + + // Les VERBES finissent par CVCVC (consonne finale) + // Les RACINES finissent par CV (voyelle finale) + if (type === 'verbe' || type === 'verbe_irregulier') { + // Verbes: structure CVCVC (5 lettres, finit par consonne) + if (!estConsonneValide(dernier)) { + errors.push(`[${file}] "${motFr}" → "${mot}": Verbe doit finir par consonne (CVCVC), mais dernier caractère '${dernier}' n'est pas une consonne`); + return false; + } + } else { + // Racines et compositions: finissent par CV (voyelle) + if (!estConsonneValide(avantDernier)) { + errors.push(`[${file}] "${motFr}" → "${mot}": Doit finir par CV (consonne+voyelle), mais avant-dernier caractère '${avantDernier}' n'est pas une consonne`); + return false; + } + + if (!estVoyelleActive(dernier)) { + errors.push(`[${file}] "${motFr}" → "${mot}": Doit finir par CV (consonne+voyelle), mais dernier caractère '${dernier}' n'est pas une voyelle`); + return false; + } + } + + return true; +} + +/** + * Vérifie si une racine est sacrée (commence par voyelle) + */ +function estRacineSacree(mot) { + return estVoyelleActive(mot[0]); +} + +/** + * Charge toutes les racines du lexique + */ +function chargerToutesLesRacines() { + const racines = new Map(); + const files = fs.readdirSync(LEXIQUE_DIR).filter(f => f.endsWith('.json')); + + files.forEach(file => { + const filePath = path.join(LEXIQUE_DIR, file); + const content = JSON.parse(fs.readFileSync(filePath, 'utf8')); + + if (!content.dictionnaire) return; + + Object.entries(content.dictionnaire).forEach(([motFr, data]) => { + if (!data.traductions) return; + + data.traductions.forEach(trad => { + // Charger les racines explicites + if (trad.type === 'racine' || trad.type === 'racine_sacree') { + racines.set(trad.confluent, { + mot_fr: motFr, + forme_liee: trad.forme_liee, + file: file + }); + } + + // Charger les VERBES eux-mêmes comme racines (milak, kitan, etc.) + if (trad.type === 'verbe') { + racines.set(trad.confluent, { + mot_fr: motFr, + forme_liee: trad.forme_liee, + file: file, + source: 'verbe' + }); + // Charger aussi la racine du verbe si elle existe + if (trad.racine) { + racines.set(trad.racine, { + mot_fr: motFr, + forme_liee: trad.forme_liee, + file: file, + source: 'verbe_racine' + }); + } + } + + // Charger les COMPOSITIONS comme racines valides (uraakota, etc.) + if (trad.type === 'composition' || trad.type === 'racine_sacree_composee') { + racines.set(trad.confluent, { + mot_fr: motFr, + forme_liee: trad.forme_liee || trad.confluent.slice(0, -1), + file: file, + source: 'composition' + }); + } + + // Charger les mots grammaticaux (négation, particules, démonstratifs, etc.) comme racines valides + if (trad.type === 'negation' || trad.type === 'particule' || trad.type === 'interrogation' || trad.type === 'demonstratif') { + racines.set(trad.confluent, { + mot_fr: motFr, + forme_liee: trad.forme_liee || trad.confluent.slice(0, -1), + file: file, + source: 'grammaire' + }); + } + }); + }); + }); + + return racines; +} + +/** + * Vérifie une composition + */ +function verifierComposition(trad, file, motFr, toutesLesRacines) { + if (!trad.composition) { + warnings.push(`[${file}] "${motFr}" → "${trad.confluent}": Type 'composition' mais pas de champ 'composition'`); + return; + } + + if (!trad.racines || trad.racines.length === 0) { + warnings.push(`[${file}] "${motFr}" → "${trad.confluent}": Type 'composition' mais pas de champ 'racines'`); + return; + } + + // Vérifier que les racines existent + trad.racines.forEach(racine => { + if (!toutesLesRacines.has(racine)) { + errors.push(`[${file}] "${motFr}" → "${trad.confluent}": Utilise racine inexistante "${racine}"`); + } + }); + + // Vérifier le format de composition + const parties = trad.composition.split('-'); + + // Vérifier les liaisons (les parties avec 1-2 lettres entre les racines) + parties.forEach((partie, index) => { + if (partie.length <= 2 && index > 0 && index < parties.length - 1) { + // C'est probablement une liaison + if (!LIAISONS_SACREES.includes(partie) && partie !== 'u' && partie !== 'a' && partie !== 'i' && partie !== 'o' && partie !== 'e') { + warnings.push(`[${file}] "${motFr}" → "${trad.confluent}": Liaison "${partie}" dans composition "${trad.composition}" n'est pas une liaison sacrée standard`); + } + } + }); +} + +/** + * Vérifie la forme liée + */ +function verifierFormeLiee(trad, file, motFr) { + if (trad.type !== 'racine' && trad.type !== 'racine_sacree') { + return; + } + + if (!trad.forme_liee) { + warnings.push(`[${file}] "${motFr}" → "${trad.confluent}": Racine sans 'forme_liee'`); + return; + } + + // La forme liée devrait être la racine sans la dernière voyelle + const attendu = trad.confluent.slice(0, -1); + if (trad.forme_liee !== attendu) { + warnings.push(`[${file}] "${motFr}" → "${trad.confluent}": forme_liee="${trad.forme_liee}" devrait être "${attendu}"`); + } +} + +/** + * Audit d'un fichier + */ +function auditerFichier(file, toutesLesRacines) { + const filePath = path.join(LEXIQUE_DIR, file); + const content = JSON.parse(fs.readFileSync(filePath, 'utf8')); + + if (!content.dictionnaire) return; + + Object.entries(content.dictionnaire).forEach(([motFr, data]) => { + if (!data.traductions) return; + + data.traductions.forEach(trad => { + stats.total_mots++; + + // Vérifier le format CV/CVCVC selon le type + if (!verifierFormatCV(trad.confluent, file, motFr, trad.type)) { + stats.erreurs++; + return; + } + + // Vérifier le type de racine + if (trad.type === 'racine' || trad.type === 'racine_sacree') { + const estSacree = estRacineSacree(trad.confluent); + + if (trad.type === 'racine_sacree' && !estSacree) { + errors.push(`[${file}] "${motFr}" → "${trad.confluent}": Marqué 'racine_sacree' mais commence par consonne`); + stats.erreurs++; + } + + if (trad.type === 'racine' && estSacree) { + warnings.push(`[${file}] "${motFr}" → "${trad.confluent}": Marqué 'racine' mais commence par voyelle (devrait être 'racine_sacree')`); + stats.avertissements++; + } + + if (estSacree) { + stats.racines_sacrees++; + } else { + stats.racines_standards++; + } + + // Vérifier forme liée + verifierFormeLiee(trad, file, motFr); + } + + // Vérifier les compositions + if (trad.type === 'composition' || trad.type === 'racine_sacree_composee') { + stats.compositions++; + verifierComposition(trad, file, motFr, toutesLesRacines); + } + }); + }); +} + +/** + * Fonction principale + */ +function main() { + console.log('🔍 Audit du lexique Confluent\n'); + + // Charger toutes les racines d'abord + console.log('📖 Chargement des racines...'); + const toutesLesRacines = chargerToutesLesRacines(); + console.log(` ${toutesLesRacines.size} racines chargées\n`); + + // Auditer chaque fichier (sauf 00-grammaire pour l'audit, mais on l'a chargé pour les racines) + const files = fs.readdirSync(LEXIQUE_DIR) + .filter(f => f.endsWith('.json') && !f.startsWith('00-grammaire')); + + console.log('🔎 Audit des fichiers...\n'); + files.forEach(file => { + auditerFichier(file, toutesLesRacines); + }); + + // Vérifier le ratio de consonnes rares + const ratioConsonnesRares = (stats.consonnes_rares_utilisees / stats.total_mots) * 100; + if (ratioConsonnesRares > 10) { + warnings.push(`⚠️ ATTENTION: ${ratioConsonnesRares.toFixed(1)}% des mots utilisent des consonnes rares (r, d, h, g). Recommandé: <10%`); + } + + // Afficher les résultats + console.log('\n📊 STATISTIQUES:\n'); + console.log(` Total de mots vérifiés: ${stats.total_mots}`); + console.log(` Racines sacrées: ${stats.racines_sacrees} (${Math.round(stats.racines_sacrees / (stats.racines_sacrees + stats.racines_standards) * 100)}%)`); + console.log(` Racines standards: ${stats.racines_standards} (${Math.round(stats.racines_standards / (stats.racines_sacrees + stats.racines_standards) * 100)}%)`); + console.log(` Compositions: ${stats.compositions}`); + console.log(` Consonnes rares utilisées: ${stats.consonnes_rares_utilisees} (${ratioConsonnesRares.toFixed(1)}%)`); + console.log(` Erreurs: ${errors.length}`); + console.log(` Avertissements: ${warnings.length}`); + + if (errors.length > 0) { + console.log('\n❌ ERREURS:\n'); + errors.forEach(err => console.log(` ${err}`)); + } + + if (warnings.length > 0) { + console.log('\n⚠️ AVERTISSEMENTS:\n'); + warnings.forEach(warn => console.log(` ${warn}`)); + } + + if (errors.length === 0 && warnings.length === 0) { + console.log('\n✅ Aucune erreur détectée ! Le lexique est conforme.\n'); + } else { + console.log(''); + } + + // Code de sortie + process.exit(errors.length > 0 ? 1 : 0); +} + +if (require.main === module) { + main(); +} + +module.exports = { verifierFormatCV, estRacineSacree }; diff --git a/scripts/check-duplicates.js b/scripts/check-duplicates.js new file mode 100644 index 0000000..59240e1 --- /dev/null +++ b/scripts/check-duplicates.js @@ -0,0 +1,258 @@ +#!/usr/bin/env node + +/** + * Script de vérification des doublons dans le lexique Confluent + * Gère les accents, apostrophes et variantes orthographiques + */ + +const fs = require('fs'); +const path = require('path'); + +const LEXIQUE_DIR = path.join(__dirname, '../ancien-confluent/lexique'); + +/** + * Normalise un mot français pour la comparaison + * - Retire accents + * - Convertit en minuscules + * - Normalise les apostrophes + */ +function normalizeWord(word) { + return word + .toLowerCase() + .normalize('NFD') // Décompose les caractères accentués + .replace(/[\u0300-\u036f]/g, '') // Retire les diacritiques + .replace(/[''′`]/g, "'") // Normalise les apostrophes + .replace(/[œ]/g, 'oe') + .replace(/[æ]/g, 'ae') + .trim(); +} + +/** + * Extrait tous les mots français d'un fichier lexique + */ +function extractWordsFromFile(filePath) { + const content = fs.readFileSync(filePath, 'utf8'); + const data = JSON.parse(content); + + const words = new Map(); // normalized -> {original, file, synonyms} + + if (!data.dictionnaire) return words; + + Object.keys(data.dictionnaire).forEach(mot => { + const normalized = normalizeWord(mot); + + if (!words.has(normalized)) { + words.set(normalized, []); + } + + words.get(normalized).push({ + original: mot, + file: path.basename(filePath), + hasSynonyms: !!data.dictionnaire[mot].synonymes_fr, + synonyms: data.dictionnaire[mot].synonymes_fr || [] + }); + + // Ajoute aussi les synonymes + if (data.dictionnaire[mot].synonymes_fr) { + data.dictionnaire[mot].synonymes_fr.forEach(syn => { + const synNormalized = normalizeWord(syn); + if (!words.has(synNormalized)) { + words.set(synNormalized, []); + } + words.get(synNormalized).push({ + original: syn, + file: path.basename(filePath), + isSynonymOf: mot, + parentNormalized: normalized + }); + }); + } + }); + + return words; +} + +/** + * Charge tous les lexiques + */ +function loadAllLexicons() { + const files = fs.readdirSync(LEXIQUE_DIR) + .filter(f => f.endsWith('.json') && !f.startsWith('00-grammaire')); + + const allWords = new Map(); + + files.forEach(file => { + const filePath = path.join(LEXIQUE_DIR, file); + const words = extractWordsFromFile(filePath); + + words.forEach((entries, normalized) => { + if (!allWords.has(normalized)) { + allWords.set(normalized, []); + } + allWords.get(normalized).push(...entries); + }); + }); + + return allWords; +} + +/** + * Vérifie si un mot existe déjà + */ +function checkWord(word, allWords) { + const normalized = normalizeWord(word); + const found = allWords.get(normalized); + + if (!found || found.length === 0) { + return { exists: false, normalized }; + } + + // Sépare les entrées principales des synonymes + const mainEntries = found.filter(e => !e.isSynonymOf); + const synonymEntries = found.filter(e => e.isSynonymOf); + + return { + exists: true, + normalized, + mainEntries, + synonymEntries, + count: found.length + }; +} + +/** + * Trouve les doublons (même mot normalisé dans plusieurs fichiers) + */ +function findDuplicates(allWords) { + const duplicates = []; + + allWords.forEach((entries, normalized) => { + // Filtre les entrées principales (pas les synonymes) + const mainEntries = entries.filter(e => !e.isSynonymOf); + + if (mainEntries.length > 1) { + // Vérifie si c'est dans des fichiers différents + const files = [...new Set(mainEntries.map(e => e.file))]; + if (files.length > 1) { + duplicates.push({ + normalized, + entries: mainEntries + }); + } + } + }); + + return duplicates; +} + +/** + * Fonction principale + */ +function main() { + const args = process.argv.slice(2); + const command = args[0]; + + console.log('🔍 Chargement des lexiques...\n'); + const allWords = loadAllLexicons(); + console.log(`✅ ${allWords.size} mots chargés (formes normalisées)\n`); + + if (command === 'check') { + // Vérifier un ou plusieurs mots + const wordsToCheck = args.slice(1); + + if (wordsToCheck.length === 0) { + console.error('❌ Usage: node check-duplicates.js check [mot2] ...'); + process.exit(1); + } + + console.log('📋 Vérification des mots:\n'); + wordsToCheck.forEach(word => { + const result = checkWord(word, allWords); + + if (!result.exists) { + console.log(`✨ "${word}" (normalisé: "${result.normalized}") - NON TROUVÉ`); + } else { + console.log(`⚠️ "${word}" (normalisé: "${result.normalized}") - EXISTE DÉJÀ:`); + + if (result.mainEntries.length > 0) { + console.log(' Entrées principales:'); + result.mainEntries.forEach(e => { + console.log(` - "${e.original}" dans ${e.file}`); + if (e.synonyms.length > 0) { + console.log(` Synonymes: ${e.synonyms.join(', ')}`); + } + }); + } + + if (result.synonymEntries.length > 0) { + console.log(' Comme synonyme de:'); + result.synonymEntries.forEach(e => { + console.log(` - "${e.isSynonymOf}" dans ${e.file}`); + }); + } + } + console.log(''); + }); + + } else if (command === 'duplicates') { + // Trouver tous les doublons + const duplicates = findDuplicates(allWords); + + if (duplicates.length === 0) { + console.log('✅ Aucun doublon trouvé!'); + } else { + console.log(`⚠️ ${duplicates.length} doublons trouvés:\n`); + duplicates.forEach(dup => { + console.log(`"${dup.normalized}":`); + dup.entries.forEach(e => { + console.log(` - "${e.original}" dans ${e.file}`); + }); + console.log(''); + }); + } + + } else if (command === 'stats') { + // Statistiques + const fileStats = new Map(); + + allWords.forEach((entries, normalized) => { + entries.forEach(e => { + if (!e.isSynonymOf) { + if (!fileStats.has(e.file)) { + fileStats.set(e.file, 0); + } + fileStats.set(e.file, fileStats.get(e.file) + 1); + } + }); + }); + + console.log('📊 Statistiques par fichier:\n'); + const sorted = [...fileStats.entries()].sort((a, b) => b[1] - a[1]); + let total = 0; + sorted.forEach(([file, count]) => { + console.log(` ${file.padEnd(35)} ${count.toString().padStart(4)} mots`); + total += count; + }); + console.log(` ${''.padEnd(35, '-')} ${'-'.repeat(4)}`); + console.log(` ${'TOTAL'.padEnd(35)} ${total.toString().padStart(4)} mots`); + + } else { + console.log(`Usage: + node check-duplicates.js check [mot2] ... Vérifie si des mots existent + node check-duplicates.js duplicates Liste tous les doublons + node check-duplicates.js stats Affiche les statistiques +`); + } +} + +// Export pour utilisation comme module +if (require.main === module) { + main(); +} else { + module.exports = { + normalizeWord, + loadAllLexicons, + checkWord, + findDuplicates + }; +} diff --git a/scripts/clean-doublons.py b/scripts/clean-doublons.py new file mode 100644 index 0000000..484eedf --- /dev/null +++ b/scripts/clean-doublons.py @@ -0,0 +1,67 @@ +#!/usr/bin/env python3 +""" +Supprime les doublons dans 02-racines-standards.json +Garde les versions originales, supprime les nouvelles clés ajoutées +""" + +import json +from pathlib import Path + +LEXIQUE_DIR = Path(__file__).parent.parent / "ancien-confluent" / "lexique" +RACINES_FILE = LEXIQUE_DIR / "02-racines-standards.json" + +# Clés à supprimer (les nouvelles versions qu'on a ajoutées) +DOUBLONS_A_SUPPRIMER = [ + "agent", # doublon de "personne" (si elle existe ailleurs) + "proteger", # garder si pas de doublon + "duree", # doublon de "temps" + "materiau_bois", # doublon de "bois" + "negatif", # doublon de "mauvais" + "aliment", # garder si pas de doublon + "demeurer", # garder si pas de doublon + "souvenir" # doublon de "memoire" +] + +def main(): + print("🔧 Nettoyage des doublons dans 02-racines-standards.json\n") + + with open(RACINES_FILE, 'r', encoding='utf-8') as f: + data = json.load(f) + + print(f"Avant: {len(data['dictionnaire'])} entrées\n") + + # Afficher les mots confluent et leurs clés + mots_conf = {} + for key, value in data['dictionnaire'].items(): + mot = value['traductions'][0]['confluent'] + if mot not in mots_conf: + mots_conf[mot] = [] + mots_conf[mot].append(key) + + # Trouver les vrais doublons (même mot confluent) + print("Doublons trouvés (même mot confluent):") + for mot, cles in sorted(mots_conf.items()): + if len(cles) > 1: + print(f" {mot}: {', '.join(cles)}") + + print("\nSuppression des clés en doublon:") + removed = 0 + for key in DOUBLONS_A_SUPPRIMER: + if key in data['dictionnaire']: + mot = data['dictionnaire'][key]['traductions'][0]['confluent'] + print(f" ❌ {key} ({mot})") + del data['dictionnaire'][key] + removed += 1 + + print(f"\n✅ {removed} doublons supprimés") + print(f"Après: {len(data['dictionnaire'])} entrées") + + # Sauvegarder + with open(RACINES_FILE, 'w', encoding='utf-8') as f: + json.dump(data, f, ensure_ascii=False, indent=2) + f.write('\n') + + print(f"\n💾 Fichier sauvegardé") + +if __name__ == "__main__": + main() diff --git a/scripts/fix-format-errors.py b/scripts/fix-format-errors.py new file mode 100644 index 0000000..890cf9b --- /dev/null +++ b/scripts/fix-format-errors.py @@ -0,0 +1,53 @@ +#!/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() diff --git a/scripts/fix-racines-json.py b/scripts/fix-racines-json.py new file mode 100644 index 0000000..19a8f97 --- /dev/null +++ b/scripts/fix-racines-json.py @@ -0,0 +1,58 @@ +#!/usr/bin/env python3 +""" +Répare le fichier 02-racines-standards.json : +- Déplace les 8 racines de "pronoms" vers "dictionnaire" +- Garde tous les pronoms dans "pronoms" +""" + +import json +from pathlib import Path + +# Chemins +LEXIQUE_DIR = Path(__file__).parent.parent / "ancien-confluent" / "lexique" +RACINES_FILE = LEXIQUE_DIR / "02-racines-standards.json" + +# Les 8 racines à déplacer de pronoms vers dictionnaire +RACINES_A_DEPLACER = { + "agent": "toli", + "proteger": "konu", + "duree": "aika", + "materiau_bois": "vito", + "negatif": "paka", + "aliment": "nutu", + "demeurer": "tuli", + "souvenir": "nemu" +} + +def main(): + print("🔧 Réparation du fichier 02-racines-standards.json\n") + + # Charger le fichier + with open(RACINES_FILE, 'r', encoding='utf-8') as f: + data = json.load(f) + + print(f"Avant: {len(data['dictionnaire'])} entrées dans dictionnaire") + print(f"Avant: {len(data['pronoms'])} entrées dans pronoms\n") + + # Déplacer les racines + moved = 0 + for key_fr, mot_conf in RACINES_A_DEPLACER.items(): + if key_fr in data['pronoms']: + print(f" Déplacement: {key_fr} ({mot_conf})") + data['dictionnaire'][key_fr] = data['pronoms'][key_fr] + del data['pronoms'][key_fr] + moved += 1 + + print(f"\n✅ {moved} racines déplacées") + print(f"Après: {len(data['dictionnaire'])} entrées dans dictionnaire") + print(f"Après: {len(data['pronoms'])} entrées dans pronoms") + + # Sauvegarder + with open(RACINES_FILE, 'w', encoding='utf-8') as f: + json.dump(data, f, ensure_ascii=False, indent=2) + f.write('\n') + + print(f"\n💾 Fichier sauvegardé: {RACINES_FILE}") + +if __name__ == "__main__": + main() diff --git a/scripts/fix-rare-consonants.js b/scripts/fix-rare-consonants.js new file mode 100644 index 0000000..47839ef --- /dev/null +++ b/scripts/fix-rare-consonants.js @@ -0,0 +1,160 @@ +#!/usr/bin/env node + +/** + * Remplace les consonnes rares dans les mots NON-ESSENTIELS + * Garde les consonnes rares pour: + * - Racines sacrées (ura, ora, etc.) + * - Noms propres importants (castes, lieux) + * - Mots "mystiques" ou "étrangers" + */ + +const fs = require('fs'); +const path = require('path'); + +const LEXIQUE_DIR = path.join(__dirname, '../ancien-confluent/lexique'); + +// Racines et mots à PRÉSERVER avec consonnes rares (mystique/sacré) +const PRESERVE = new Set([ + // Racines sacrées fondamentales + 'ura', 'ora', 'oski', 'onaki', 'umi', 'urusi', + + // Noms propres de castes (garder l'identité) + 'nakuura', 'oraumi', 'akoazana', + + // Noms propres de lieux majeurs + 'uraakota', 'vukuura', + + // Concepts mystiques/sacrés + 'kori', // cœur (central) + 'sora', // clair/lumineux (lié à ora) + 'arku', // arc (objet sacré) + 'riku', // interrogation (grammaire) + + // Mots "étrangers" ou concepts chelou (garder le son bizarre) + 'urusi', 'zerusora', 'aru', 'garu', 'hayo', 'hayak' +]); + +// Map de remplacement consonne rare → consonne standard +const REPLACE_MAP = { + 'r': 'l', // r → l (liquide proche) + 'd': 't', // d → t (occlusive proche) + 'h': 'k', // h → k + 'g': 'k' // g → k +}; + +function shouldPreserve(mot, motFr, type) { + // Préserver si dans la liste + if (PRESERVE.has(mot)) return true; + + // Préserver les racines sacrées + if (type === 'racine_sacree') return true; + + // Préserver certains noms propres + if (type === 'nom_propre' && (motFr.includes('Enfants') || motFr.includes('Voix'))) return true; + + return false; +} + +function replaceRareConsonants(mot) { + let result = mot; + Object.entries(REPLACE_MAP).forEach(([rare, standard]) => { + result = result.replace(new RegExp(rare, 'g'), standard); + }); + return result; +} + +function processFile(file) { + const filePath = path.join(LEXIQUE_DIR, file); + const content = JSON.parse(fs.readFileSync(filePath, 'utf8')); + + if (!content.dictionnaire) return { modified: 0, preserved: 0 }; + + let modified = 0; + let preserved = 0; + + Object.entries(content.dictionnaire).forEach(([motFr, data]) => { + if (!data.traductions) return; + + data.traductions.forEach(trad => { + const hasRare = /[rdgh]/.test(trad.confluent); + if (!hasRare) return; + + if (shouldPreserve(trad.confluent, motFr, trad.type)) { + preserved++; + return; + } + + // Remplacer + const oldMot = trad.confluent; + const newMot = replaceRareConsonants(oldMot); + + if (oldMot !== newMot) { + console.log(` [${file}] "${motFr}": ${oldMot} → ${newMot}`); + trad.confluent = newMot; + + // Mettre à jour forme_liee si elle existe + if (trad.forme_liee) { + trad.forme_liee = replaceRareConsonants(trad.forme_liee); + } + + // Mettre à jour racine si elle existe (verbes) + if (trad.racine) { + trad.racine = replaceRareConsonants(trad.racine); + } + + // Mettre à jour composition si elle existe + if (trad.composition) { + trad.composition = replaceRareConsonants(trad.composition); + } + + // Mettre à jour racines array si elle existe + if (trad.racines) { + trad.racines = trad.racines.map(r => { + if (PRESERVE.has(r)) return r; // Ne pas toucher aux racines préservées + return replaceRareConsonants(r); + }); + } + + modified++; + } + }); + }); + + // Sauvegarder le fichier modifié + if (modified > 0) { + fs.writeFileSync(filePath, JSON.stringify(content, null, 2) + '\n', 'utf8'); + } + + return { modified, preserved }; +} + +function main() { + const files = fs.readdirSync(LEXIQUE_DIR) + .filter(f => f.endsWith('.json')) + .filter(f => !f.startsWith('00-grammaire')); // Ne pas toucher la grammaire + + console.log('🔧 Remplacement des consonnes rares\n'); + console.log('Consonnes rares préservées dans les mots sacrés/mystiques\n'); + + let totalModified = 0; + let totalPreserved = 0; + + files.forEach(file => { + const { modified, preserved } = processFile(file); + totalModified += modified; + totalPreserved += preserved; + + if (modified > 0 || preserved > 0) { + console.log(`\n[${file}] ${modified} modifiés, ${preserved} préservés`); + } + }); + + console.log(`\n✅ Terminé:`); + console.log(` ${totalModified} mots modifiés`); + console.log(` ${totalPreserved} mots préservés (sacrés/mystiques)`); + console.log('\n💡 Relancez l\'audit pour voir le nouveau ratio de consonnes rares\n'); +} + +if (require.main === module) { + main(); +} diff --git a/scripts/list-rare-consonants.js b/scripts/list-rare-consonants.js new file mode 100644 index 0000000..4a6b2cf --- /dev/null +++ b/scripts/list-rare-consonants.js @@ -0,0 +1,102 @@ +#!/usr/bin/env node + +/** + * Liste les mots utilisant des consonnes rares (r, d, h, g) + * et suggère des remplacements + */ + +const fs = require('fs'); +const path = require('path'); + +const LEXIQUE_DIR = path.join(__dirname, '../ancien-confluent/lexique'); + +const CONSONNES_RARES = ['r', 'd', 'h', 'g']; +const CONSONNES_STANDARD = ['b', 'k', 'l', 'm', 'n', 'p', 's', 't', 'v', 'z']; + +// Map de remplacement suggéré +const REPLACEMENTS = { + 'r': ['l', 't', 'k'], // r → l (le plus proche phonétiquement) + 'd': ['t', 'k'], // d → t (le plus proche) + 'h': ['k', 's'], // h → k ou s + 'g': ['k', 'v'] // g → k ou v +}; + +function containsRareConsonant(mot) { + return CONSONNES_RARES.some(c => mot.includes(c)); +} + +function getRareConsonants(mot) { + return CONSONNES_RARES.filter(c => mot.includes(c)); +} + +function suggestReplacement(mot, rareChar) { + const replacements = REPLACEMENTS[rareChar] || []; + return replacements.map(r => mot.replace(new RegExp(rareChar, 'g'), r)); +} + +function main() { + const files = fs.readdirSync(LEXIQUE_DIR).filter(f => f.endsWith('.json')); + + const motsAvecConsonnesRares = []; + + files.forEach(file => { + const filePath = path.join(LEXIQUE_DIR, file); + const content = JSON.parse(fs.readFileSync(filePath, 'utf8')); + + if (!content.dictionnaire) return; + + Object.entries(content.dictionnaire).forEach(([motFr, data]) => { + if (!data.traductions) return; + + data.traductions.forEach(trad => { + if (containsRareConsonant(trad.confluent)) { + const rares = getRareConsonants(trad.confluent); + motsAvecConsonnesRares.push({ + file, + motFr, + confluent: trad.confluent, + type: trad.type, + rareConsonants: rares, + suggestions: rares.flatMap(r => suggestReplacement(trad.confluent, r)) + }); + } + }); + }); + }); + + // Grouper par consonne rare + console.log(`\n📊 ${motsAvecConsonnesRares.length} mots avec consonnes rares (r, d, h, g)\n`); + + ['r', 'd', 'h', 'g'].forEach(rare => { + const motsAvec = motsAvecConsonnesRares.filter(m => m.rareConsonants.includes(rare)); + if (motsAvec.length === 0) return; + + console.log(`\n━━━ Consonne rare: ${rare.toUpperCase()} (${motsAvec.length} mots) ━━━\n`); + + motsAvec.forEach(m => { + console.log(`[${m.file}]`); + console.log(` "${m.motFr}" → ${m.confluent} (${m.type})`); + console.log(` Suggestions: ${m.suggestions.join(', ')}`); + console.log(); + }); + }); + + // Résumé par fichier + console.log('\n━━━ Résumé par fichier ━━━\n'); + const parFichier = {}; + motsAvecConsonnesRares.forEach(m => { + parFichier[m.file] = (parFichier[m.file] || 0) + 1; + }); + + Object.entries(parFichier) + .sort((a, b) => b[1] - a[1]) + .forEach(([file, count]) => { + console.log(` ${file.padEnd(35)} ${count} mots`); + }); + + console.log(`\n TOTAL: ${motsAvecConsonnesRares.length} mots\n`); +} + +if (require.main === module) { + main(); +} diff --git a/scripts/replace-english-roots.js b/scripts/replace-english-roots.js new file mode 100644 index 0000000..ba4747f --- /dev/null +++ b/scripts/replace-english-roots.js @@ -0,0 +1,108 @@ +#!/usr/bin/env node + +/** + * Remplace les racines trop anglaises par des équivalents finno-basques + */ + +const fs = require('fs'); +const path = require('path'); + +const LEXIQUE_DIR = path.join(__dirname, '../ancien-confluent/lexique'); + +// Map de remplacement : ancien → nouveau +const REPLACEMENTS = { + 'malo': 'paka', // mauvais (basque-like) + 'situ': 'tuli', // être/rester (finnois tulla) + 'taki': 'kanu', // porter (finnois kantaa) + 'time': 'aika' // temps (finnois aika) +}; + +function replaceInWord(word) { + let result = word; + Object.entries(REPLACEMENTS).forEach(([old, newRoot]) => { + result = result.replace(new RegExp(old, 'g'), newRoot); + }); + return result; +} + +function processFile(file) { + const filePath = path.join(LEXIQUE_DIR, file); + const content = JSON.parse(fs.readFileSync(filePath, 'utf8')); + + if (!content.dictionnaire) return { modified: 0 }; + + let modified = 0; + + Object.entries(content.dictionnaire).forEach(([motFr, data]) => { + if (!data.traductions) return; + + data.traductions.forEach(trad => { + const oldMot = trad.confluent; + const newMot = replaceInWord(oldMot); + + if (oldMot !== newMot) { + console.log(` [${file}] "${motFr}": ${oldMot} → ${newMot}`); + trad.confluent = newMot; + + // Mettre à jour forme_liee + if (trad.forme_liee) { + trad.forme_liee = replaceInWord(trad.forme_liee); + } + + // Mettre à jour racine (verbes) + if (trad.racine) { + trad.racine = replaceInWord(trad.racine); + } + + // Mettre à jour composition + if (trad.composition) { + trad.composition = replaceInWord(trad.composition); + } + + // Mettre à jour racines array + if (trad.racines) { + trad.racines = trad.racines.map(r => replaceInWord(r)); + } + + modified++; + } + }); + }); + + // Sauvegarder le fichier modifié + if (modified > 0) { + fs.writeFileSync(filePath, JSON.stringify(content, null, 2) + '\n', 'utf8'); + } + + return { modified }; +} + +function main() { + const files = fs.readdirSync(LEXIQUE_DIR) + .filter(f => f.endsWith('.json')); + + console.log('🔄 Remplacement des racines anglaises par équivalents finno-basques\n'); + console.log('Remplacements:'); + Object.entries(REPLACEMENTS).forEach(([old, newRoot]) => { + console.log(` ${old} → ${newRoot}`); + }); + console.log(''); + + let totalModified = 0; + + files.forEach(file => { + const { modified } = processFile(file); + totalModified += modified; + + if (modified > 0) { + console.log(`\n[${file}] ${modified} mots modifiés`); + } + }); + + console.log(`\n✅ Terminé: ${totalModified} mots modifiés`); + console.log('💡 Relancez l\'audit pour vérifier\n'); +} + +if (require.main === module) { + main(); +}