Un vérificateur orthographique simple et rapide avec des suggestions d'orthographe et l'intégration de l'électron
Le vérificateur orthographique simple est un module de vérification orthographique pour Node.js, qui permet de vérifier si un mot est mal orthographié et d'obtenir des suggestions d'orthographe.
Il est livré avec des dictionnaires pour l'anglais, l'espagnol, le français, l'allemand et le néerlandais, mais vous pouvez facilement ajouter plus de langues en définissant simplement un fichier texte avec une liste de mots valides.
Il a également un outil CLI qui permet de vérifier les mots de la ligne de commande.
Pour utiliser le module, vous devez d'abord l'installer à l'aide de NPM.
npm install simple-spellchecker
Puis nécessitez le module, obtenez un objet Dictionary
et invoquez leurs méthodes.
var SpellChecker = require ( 'simple-spellchecker' ) ;
SpellChecker . getDictionary ( "fr-FR" , function ( err , dictionary ) {
if ( ! err ) {
var misspelled = ! dictionary . spellCheck ( 'maisonn' ) ;
if ( misspelled ) {
var suggestions = dictionary . getSuggestions ( 'maisonn' ) ;
}
}
} ) ;
Le module dispose de trois méthodes publiques: getDictionary()
, getDictionarySync()
et normalizeDictionary()
.
Cette méthode permet d'obtenir une instance Dictionary
à partir d'un fichier.
Paramètres:
fileName
: le nom du dossier du dictionnaire. La méthode va d'abord rechercher un fichier avec une extension .dic
, si elle n'est pas trouvée, va ensuite rechercher un .zip
et va le décompresser.folderPath
: le dossier dans lequel se trouve le fichier du dictionnaire. Ce paramètre est facultatif, par défaut, il suppose que le fichier se trouve dans le dossier dict
.callback
: une fonction qui sera invoquée pour retourner l'objet Dictionary
.Exemple:
var SpellChecker = require ( 'simple-spellchecker' ) ;
SpellChecker . getDictionary ( "fr-FR" , function ( err , result ) {
var dictionary = result ;
} ) ;
Cette méthode permet d'obtenir une instance Dictionary
à partir d'un fichier, de manière synchrone.
Paramètres:
fileName
: le nom du dossier du dictionnaire. Le fichier doit avoir une extension .dic
.folderPath
: le dossier dans lequel se trouve le fichier du dictionnaire. Ce paramètre est facultatif, par défaut, il suppose que le fichier se trouve dans le dossier dict
.Renvoie:
Dictionary
.Exemple:
var SpellChecker = require ( 'simple-spellchecker' ) ;
var dictionary = SpellChecker . getDictionarySync ( "fr-FR" ) ;
Ces méthodes lisent un fichier de dictionnaire UTF-8, supprime les caractères bom et r
et trie la liste des mots.
Paramètres:
inputPath
: le chemin du fichier du dictionnaire.outputPath
: le chemin du fichier de dictionnaire normalisé. Ce paramètre est facultatif, par désagrément, le fichier d'origine est écrasé.callback
: une fonction qui sera invoquée lorsque le processus est terminé.Exemple:
var SpellChecker = require ( 'simple-spellchecker' ) ;
SpellChecker . normalizeDictionary ( inputFile , outputFile , function ( err , success ) {
if ( success ) console . log ( "The file was normalized" ) ;
} ) ;
La classe Dictionary
dispose de six méthodes publiques: getLength()
, setWordlist()
, spellCheck()
, isMisspelled()
, getSuggestions()
et checkAndSuggest()
Cette méthode permet d'obtenir la quantité de mots du dictionnaire.
Renvoie:
Cette méthode permet de définir les mots du dictionnaire.
Paramètre:
wordlist
: un tableau de chaînes.Cette méthode permet de vérifier si un mot est correctement écrit ou non.
Paramètre:
word
: le mot à vérifier.Renvoie:
true
si le mot est dans le dictionnaire, false
sinon. Cette méthode permet de vérifier que le mot est mal orthographié ou non.
Paramètre:
word
: le mot à vérifier.Renvoie:
true
si le mot est mal orthographié, false
sinon Cette méthode permet d'obtenir des suggestions d'orthographe pour un mot.
Paramètres:
word
: le mot utilisé pour générer les suggestions.limit
: le nombre maximum de suggestions à obtenir (par défaut, 5).maxDistance
: la distance d'édition maximale qu'un mot peut avoir du paramètre word
, afin d'être considéré comme une suggestion valide (par défaut, 2).Renvoie:
Cette méthode permet de vérifier si un mot est mal orthographié et d'obtenir des suggestions d'orthographe.
Paramètres:
word
: le mot à vérifier.limit
: le nombre maximum de suggestions à obtenir (par défaut, 5).maxDistance
: la distance d'édition maximale qu'un mot peut avoir du paramètre word
, afin d'être considéré comme une suggestion valide (par défaut, 2).Renvoie:
misspelled
, qui contient un booléen, et suggestions
, qui contient un tableau de chaînes. Cette méthode ajoute une expression régulière qui sera utilisée pour vérifier si un mot est valide même si ce n'est pas dans le dictionnaire.
Cela peut être utile pour éviter de marquer des mots spéciaux comme mal orthographiés, tels que les chiffres, les e-mails ou les adresses d'URL.
Paramètres:
regex
: un objet d'expression régulière. Cette méthode supprime toutes les expressions régulières précédentes ajoutées à l'aide de la méthode addRegex()
.
Afin d'utiliser des dictionnaires personnalisés, vous devez définir un fichier texte avec une liste de mots valides, où chaque mot est séparé par une nouvelle ligne.
L'extension du fichier doit être .dic
, et le nom doit (de préférence) être composé par le code de la langue et le concepteur de la région ( es-AR
si la langue est espagnole et que la région est l'Argentine).
En éventuellement, vous pouvez également emballer le fichier dans un package zip, le module sera en mesure de le décompresser et de le lire tant que le fichier .zip
a le même nom qui a le fichier .dic
(par exemple un fichier es-AR.zip
qui contient le fichier es-AR.dic
).
Le fichier doit être codé dans UTF8 (sans bom), les mots doivent être séparés avec un flux de ligne (c'est-à-dire n
) et non avec un retour de chariot plus un flux de ligne (c'est rn
), et les mots doivent être triés par ordre croissant.
Le module peut supprimer tous les caractères indésirables et trier les mots, si vous invoquez la méthode normalize()
ou emballez le fichier dans un fichier zip (le module appelle automatiquement la méthode normalize()
après le dézip).
Le module est livré avec un script qui permet de normaliser les dictionnaires et de les tester.
Afin de tester un fichier de dictionnaire, vous devez exécuter le script indiquant le dossier et le nom du fichier du dictionnaire et le mot que vous souhaitez tester.
Par exemple, la phrase suivante recherchera dans le dossier dict
un dictionnaire qui se trouve dans le fichier en-GB.dic
ou en-GB.zip
, et va vérifier si le mot house
est mal orthographié ou non et va rechercher Quelques suggestions d'orthographe.
node cli.js check "./dict" en-GB house
Afin de normaliser un fichier de dictionnaire, vous devez exécuter le script indiquant le chemin du fichier:
node cli.js normalize "./dict/en-GB.dic"
Si vous ne souhaitez pas remplacer le fichier d'origine, vous pouvez spécifier le chemin d'accès pour un fichier de sortie:
node cli.js normalize "./dict/en-GB.dic" "C:/output/en-GB.dic"
Il existe plusieurs façons dont vous pouvez intégrer ce module avec l'électron. Mais si vous voulez un point de départ, l'exemple suivant montre comment activer le dictionnaire anglais:
1) Installez le module en tant que dépendance de votre projet ( npm install simple-spellchecker --save
).
2) Dans le processus principal, nécessitez le module, chargez le dictionnaire et définissez une fonction pour accéder à ses méthodes:
// Initialization.
var SpellChecker = require ( 'simple-spellchecker' ) ;
var myDictionary = null ;
// Load dictionary.
SpellChecker . getDictionary ( "en-US" , "./node_modules/simple-spellchecker/dict" , function ( err , result ) {
if ( ! err ) {
myDictionary = result ;
}
} ) ;
// Define function for consult the dictionary.
ipcMain . on ( 'checkspell' , function ( event , word ) {
var res = null ;
if ( myDictionary != null && word != null ) {
res = myDictionary . spellCheck ( word ) ;
}
event . returnValue = res ;
} ) ;
3) Dans le processus de rendu, définissez un fournisseur de vérificateur orthographique qui utilise le dictionnaire précédemment chargé.
// Get web frame.
var webFrame = require ( 'electron' ) . webFrame ;
webFrame . setSpellCheckProvider ( "en-US" , false , {
spellCheck : function ( text ) {
var res = ipcRenderer . sendSync ( 'checkspell' , text ) ;
return res != null ? res : true ;
}
} ) ;
Le module est partiellement testé par le fichier test.js
(en utilisant moka et chai ). Afin d'exécuter les tests, exécutez simplement le npm test
de commande.
Le vérificateur orthographique simple est un logiciel gratuit; Vous pouvez le redistribuer et / ou le modifier en vertu des termes de la licence publique de Mozilla v2.0. Vous devriez avoir reçu une copie du MPL 2.0 avec cette bibliothèque, sinon vous pouvez en obtenir un sur http://mozilla.org/mp/2.0/.