@lexar974/normalize-fr
v1.0.8
Published
A JavaScript library for French typography and text normalization.
Maintainers
Readme
@lexar974/normalize-fr
Bibliotheque JavaScript de normalisation typographique francaise.
normalize-fr transforme du texte brut en texte plus propre et plus conforme aux usages francais :
- espaces et ponctuation ;
- apostrophes typographiques ;
- guillemets francais ;
- points de suspension ;
- espaces insecables ;
- tirets ;
- ligatures ;
- caracteres invisibles ;
- nombres et unites ;
- abreviations ;
- correction orthographique avec fallback IA local.
Installation
npm install @lexar974/normalize-frUtilisation
import { normalizeFrench } from "@lexar974/normalize-fr";
const text = "Bonjour ! C'est un exemple...";
const result = normalizeFrench(text);
console.log(result);Resultat :
Bonjour ! C'est un exemple...Fonction principale
normalizeFrench(text, options)Normalise un texte francais.
normalizeFrench('Il a dit : "Bonjour..."');Profils
Les profils activent rapidement un ensemble de regles.
Basic
Correction legere :
normalizeFrench(text, {
profile: "basic"
});Active les espaces, les apostrophes et les points de suspension.
Typography
Profil recommande pour les sites web et applications :
normalizeFrench(text, {
profile: "typography"
});Active la ponctuation francaise, les guillemets, les espaces insecables, les tirets, les ligatures et la capitalisation.
Publishing
Profil complet pour livres, articles, PDF et documents professionnels :
normalizeFrench(text, {
profile: "publishing"
});Correction orthographique IA
normalizeSpelling() combine trois niveaux de correction :
- corrections connues pour les fautes tres frequentes, par exemple
bonjoroumapelle; - dictionnaire francais indexe pour les fautes proches ;
- modele IA local en fallback quand le dictionnaire ne suffit pas.
Le modele IA est entierement local : aucune requete reseau n'est effectuee pendant la correction.
import { normalizeSpelling } from "@lexar974/normalize-fr";
console.log(normalizeSpelling("Bonjor je mapelle Pierre"));Resultat :
Bonjour je m'appelle PierreLe fallback IA utilise :
- un vocabulaire appris depuis le corpus d'entrainement ;
- un index par prefixes pour limiter les candidats ;
- un index par trigrammes de caracteres ;
- une distance de Damerau-Levenshtein pour gerer substitutions, suppressions, insertions et inversions ;
- un score qui combine similarite, frequence du mot et ecart de longueur ;
- une protection contre les corrections trop agressives des noms propres en majuscule initiale.
Options avancees
Chaque regle peut etre activee ou desactivee :
normalizeFrench(text, {
apostrophes: false,
quotes: true,
numbers: true
});Mode debug
normalizeFrench(text, {
debug: true
});Retour :
{
original: "Bonjour...",
result: "Bonjour...",
changes: [
"ellipsis"
]
}Fonctions individuelles
import {
normalizeQuotes,
normalizeSpaces,
normalizeApostrophes,
normalizeSpelling
} from "@lexar974/normalize-fr";Modules disponibles
| Fonction | Role | |-|-| | normalizeSpaces | Nettoyage des espaces | | normalizeApostrophes | Apostrophes typographiques | | normalizeEllipsis | Points de suspension | | normalizePunctuation | Ponctuation francaise | | normalizeQuotes | Guillemets francais | | normalizeNonBreakingSpaces | Espaces insecables | | normalizeDashes | Tirets typographiques | | normalizeLigatures | Ligatures | | normalizeUnicode | Normalisation Unicode | | normalizeNumbers | Formatage des nombres | | normalizeUnits | Espaces avant les unites | | normalizeAbbreviations | Abreviations francaises | | normalizeDates | Dates francaises | | normalizeSpelling | Correction orthographique avec fallback IA |
Compatibilite
- Node.js >= 18
- ES Modules
Licence
MIT
