Ein einfacher und schneller Rechtschreibprüfer mit Rechtschreibvorschlägen und Elektronenintegration
Einfacher Rechtschreibfeld ist ein Rechtschreibprüfmodul für Node.js, mit dem prüft, ob ein Wort falsch geschrieben ist, und Schreibvorschläge zu erhalten.
Es kommt mit Wörterbüchern für Englisch, Spanisch, Französisch, Deutsch und Niederländisch, aber Sie können problemlos weitere Sprachen hinzufügen, indem Sie einfach eine Textdatei mit einer Liste gültiger Wörter definieren.
Es verfügt auch über ein CLI -Tool, mit dem Wörter aus der Befehlszeile überprüft werden können.
Um das Modul zu verwenden, müssen Sie es zuerst mit NPM installieren.
npm install simple-spellchecker
Erfordern Sie das Modul, erhalten Sie ein Dictionary
und rufen Sie ihre Methoden auf.
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' ) ;
}
}
} ) ;
Das Modul verfügt über drei öffentliche Methoden: getDictionary()
, getDictionarySync()
und normalizeDictionary()
.
Mit dieser Methode können Sie eine Dictionary
aus einer Datei abrufen.
Parameter:
fileName
: Der Name der Datei des Wörterbuchs. Die Methode wird zuerst eine Datei mit .dic
-Erweiterung durchsuchen, falls nicht gefunden, dann wird ein .zip
durchsuchen und sie entpackt.folderPath
: Der Ordner, in dem sich die Datei des Wörterbuchs befindet. Dieser Parameter ist optional, standardmäßig wird davon ausgegangen, dass sich die Datei im dict
-Ordner befindet.callback
: Eine Funktion, die für die Rücksendung des Dictionary
aufgerufen wird.Beispiel:
var SpellChecker = require ( 'simple-spellchecker' ) ;
SpellChecker . getDictionary ( "fr-FR" , function ( err , result ) {
var dictionary = result ;
} ) ;
Diese Methode ermöglicht es synchron, eine Dictionary
aus einer Datei zu erhalten.
Parameter:
fileName
: Der Name der Datei des Wörterbuchs. Die Datei muss eine .dic
-Erweiterung haben.folderPath
: Der Ordner, in dem sich die Datei des Wörterbuchs befindet. Dieser Parameter ist optional, standardmäßig wird davon ausgegangen, dass sich die Datei im dict
-Ordner befindet.Rückgaben:
Dictionary
.Beispiel:
var SpellChecker = require ( 'simple-spellchecker' ) ;
var dictionary = SpellChecker . getDictionarySync ( "fr-FR" ) ;
Diese Methoden liest eine UTF-8-Wörterbuchdatei, entfernt die BOM- und r
-Zeichen und sortiert die Liste der Wörter.
Parameter:
inputPath
: Der Pfad der Wörterbuchdatei.outputPath
: Der Pfad für die normalisierte Wörterbuchdatei. Dieser Parameter ist optional, nach DeeAfers ist die Originaldatei überschrieben.callback
: Eine Funktion, die nach Abschluss des Vorgangs aufgerufen wird.Beispiel:
var SpellChecker = require ( 'simple-spellchecker' ) ;
SpellChecker . normalizeDictionary ( inputFile , outputFile , function ( err , success ) {
if ( success ) console . log ( "The file was normalized" ) ;
} ) ;
Die Dictionary
-Klasse hat sechs öffentliche Methoden: getLength()
, setWordlist()
, spellCheck()
, isMisspelled()
, getSuggestions()
und checkAndSuggest()
Diese Methode ermöglicht es, die Menge an Wörtern zu erhalten, die das Wörterbuch hat.
Rückgaben:
Mit dieser Methode können die Wörter des Wörterbuchs festgelegt werden.
Parameter:
wordlist
: Eine Reihe von Strings.Diese Methode ermöglicht das Überprüfen, ob ein Wort korrekt geschrieben ist oder nicht.
Parameter:
word
: Das Wort zu überprüfen.Rückgaben:
true
, wenn sich das Wort im Wörterbuch befindet, false
, wenn nicht. Diese Methode ermöglicht zu überprüfen, ob ein Wort falsch geschrieben ist oder nicht.
Parameter:
word
: Das Wort zu überprüfen.Rückgaben:
true
wenn das Wort falsch geschrieben ist, false
, wenn nicht Diese Methode ermöglicht es, Rechtschreibvorschläge für ein Wort zu erhalten.
Parameter:
word
: Das Wort, mit dem die Vorschläge generiert werden.limit
: Die maximale Anzahl von Vorschlägen zu erhalten (standardmäßig 5).maxDistance
: Die maximale Bearbeitungsentfernung , die ein Wort aus dem word
haben kann, um als gültiger Vorschlag betrachtet zu werden (standardmäßig 2).Rückgaben:
Diese Methode ermöglicht das Überprüfen, ob ein Wort falsch geschrieben ist, und um Rechtschreibvorschläge zu erhalten.
Parameter:
word
: Das Wort zu überprüfen.limit
: Die maximale Anzahl von Vorschlägen zu erhalten (standardmäßig 5).maxDistance
: Die maximale Bearbeitungsentfernung , die ein Wort aus dem word
haben kann, um als gültiger Vorschlag betrachtet zu werden (standardmäßig 2).Rückgaben:
misspelled
, das einen Booleschen und suggestions
enthält, das eine Reihe von Saiten enthält. Diese Methode fügt einen regelmäßigen Ausdruck hinzu, der überprüft wird, ob ein Wort gültig ist, obwohl sich nicht im Wörterbuch befindet.
Dies kann nützlich sein, wenn Sie vermeiden, dass spezielle Wörter wie falsch geschriebene Marking -Marking -Wörter wie Zahlen, E -Mails oder URL -Adressen vermeiden.
Parameter:
regex
: Ein reguläres Ausdrucksobjekt. Diese Methode beseitigt alle früheren regulären Ausdrücke, die mit der Methode addRegex()
hinzugefügt wurden.
Um benutzerdefinierte Wörterbücher zu verwenden, müssen Sie eine Textdatei mit einer Liste gültiger Wörter definieren, wobei jedes Wort durch eine neue Zeile getrennt ist.
Die Erweiterung der Datei muss .dic
sein, und der Name sollte (vorzugsweise) durch den Sprachcode und den Region-Designer komponiert werden ( es-AR
wenn die Sprache spanisch und die Region Argentinien ist).
Optional können Sie die Datei auch in einem ZIP-Paket packen. Das es-AR.zip
kann sie entpacken und lesen, solange die .zip
.dic
denselben Namen hat. Das enthält die Datei es-AR.dic
).
Die Datei muss in UTF8 (ohne BOM) codiert werden, die Wörter müssen mit einem Zeilenfutter (dh n
) und nicht mit einer Beförderungsrendite plus einem Zeilenfutter (dh rn
) getrennt werden, und die Wörter müssen sortiert werden in aufsteigender Reihenfolge.
Das Modul kann alle unerwünschten Zeichen entfernen und die Wörter sortieren, wenn Sie entweder die normalize()
-Methode aufrufen oder die Datei in einer ZIP -Datei packen (das Modul ruft automatisch die normalize()
-Methode auf, die nach dem Entpacken aufgerufen wird).
Das Modul wird mit einem Skript ausgestattet, mit dem Wörterbücher normalisiert und getestet werden können.
Um eine Wörterbuchdatei zu testen, müssen Sie das Skript ausführen, das den Ordner und den Namen der Datei des Wörterbuchs und das Wort, das Sie testen möchten, angeben.
Beispielsweise sucht der folgende Satz im dict
ein Wörterbuch, das sich entweder in der house
en-GB.dic
oder en-GB.zip
befindet, und wird überprüfen Einige Rechtschreibvorschläge.
node cli.js check "./dict" en-GB house
Um eine Wörterbuchdatei zu normalisieren, müssen Sie das Skript ausführen, das den Pfad der Datei angibt:
node cli.js normalize "./dict/en-GB.dic"
Wenn Sie die Originaldatei nicht überschreiben möchten, können Sie den Pfad für eine Ausgabedatei angeben:
node cli.js normalize "./dict/en-GB.dic" "C:/output/en-GB.dic"
Es gibt verschiedene Möglichkeiten, wie Sie dieses Modul in Elektronen integrieren können. Wenn Sie jedoch einen Ausgangspunkt wünschen, zeigt das folgende Beispiel, wie das englische Wörterbuch aktiviert wird:
1) Installieren Sie das Modul als Abhängigkeit Ihres Projekts ( npm install simple-spellchecker --save
).
2) Erfordern Sie im Hauptprozess das Modul, laden Sie das Wörterbuch und definieren Sie eine Funktion, um auf seine Methoden zuzugreifen:
// 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) Definieren Sie im Renderer -Prozess einen Zauberprüfanbieter, der das zuvor geladene Wörterbuch verwendet.
// 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 ;
}
} ) ;
Das Modul wird teilweise von der Datei test.js
(unter Verwendung von Mocha und Chai ) getestet. Um die Tests auszuführen, führen Sie einfach den Befehl npm test
aus.
Einfacher Rechtschreibfeld ist eine kostenlose Software. Sie können es umverteilen und/oder unter den Bestimmungen der Mozilla Public Lizenz v2.0 ändern. Sie sollten zusammen mit dieser Bibliothek eine Kopie des MPL 2.0 erhalten haben. Andernfalls können Sie eine unter http://mozilla.org/mpl/2.0/ erhalten.