Простая и быстрое анализ орфографии с предложениями по орфографии и интеграцией электронов
Simple Spellcher - это модуль заклинания орфографии для node.js, который позволяет проверить, неправильно ли слово неправильно и получить предложения по орфографии.
Он поставляется с словарями для английского, испанского, французского, немецкого и голландского, но вы можете легко добавить больше языков, просто определив текстовый файл со списком действительных слов.
Он также имеет инструмент CLI, который позволяет проверять слова из командной строки.
Чтобы использовать модуль, вы должны сначала установить его с помощью NPM.
npm install simple-spellchecker
А затем потребуется модуль, получите Dictionary
объект и вызывайте их методы.
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' ) ;
}
}
} ) ;
Модуль имеет три общественных метода: getDictionary()
, getDictionarySync()
и normalizeDictionary()
.
Этот метод позволяет получить экземпляр Dictionary
из файла.
Параметры:
fileName
: имя файла словаря. Метод будет сначала поиск файла с расширением .dic
, если не найдено, то собирается искать .zip
и собирается расстегнуть его.folderPath
: папка, в которой находится файл словаря. Этот параметр необязательно, по умолчанию предполагается, что файл находится в папке dict
.callback
: функция, которая будет вызвана для возврата объекта Dictionary
.Пример:
var SpellChecker = require ( 'simple-spellchecker' ) ;
SpellChecker . getDictionary ( "fr-FR" , function ( err , result ) {
var dictionary = result ;
} ) ;
Этот метод позволяет получить экземпляр Dictionary
из файла синхронно.
Параметры:
fileName
: имя файла словаря. Файл должен иметь .dic
расширение.folderPath
: папка, в которой находится файл словаря. Этот параметр необязательно, по умолчанию предполагается, что файл находится в папке dict
.Возвращает:
Dictionary
объект.Пример:
var SpellChecker = require ( 'simple-spellchecker' ) ;
var dictionary = SpellChecker . getDictionarySync ( "fr-FR" ) ;
Эти методы считывает файл словаря UTF-8, удаляет символы Bom и r
и сортирует список слов.
Параметры:
inputPath
: путь словарного файла.outputPath
: путь для нормированного словаря файла. Этот параметр необязательно, по Deauft, исходный файл перезаписывается.callback
: функция, которая будет вызвана, когда процесс завершится.Пример:
var SpellChecker = require ( 'simple-spellchecker' ) ;
SpellChecker . normalizeDictionary ( inputFile , outputFile , function ( err , success ) {
if ( success ) console . log ( "The file was normalized" ) ;
} ) ;
Класс Dictionary
имеет шесть публичных методов: getLength()
, setWordlist()
, spellCheck()
, isMisspelled()
, getSuggestions()
и checkAndSuggest()
Этот метод позволяет получить количество слов, которые есть в словаре.
Возвращает:
Этот метод позволяет устанавливать слова словаря.
Параметр:
wordlist
: массив струн.Этот метод позволяет проверить это слово, правильно написано или нет.
Параметр:
word
: слово для проверки.Возвращает:
true
если слово находится в словаре, false
, если нет. Этот метод позволяет проверить это слово неправильно или нет.
Параметр:
word
: слово для проверки.Возвращает:
true
если слово написано неправильно, false
, если нет Этот метод позволяет получить предложения по орфографии для слова.
Параметры:
word
: Слово, используемое для генерации предложений.limit
: максимальное количество предложений, которые можно получить (по умолчанию, 5).maxDistance
: максимальное расстояние редактирования , которое слово может иметь от параметра word
, для того, чтобы рассматриваться как действительное предложение (по умолчанию, 2).Возвращает:
Этот метод позволяет проверить, неправильно ли слово сформулируется, и получить предложения по орфографии.
Параметры:
word
: слово для проверки.limit
: максимальное количество предложений, которые можно получить (по умолчанию, 5).maxDistance
: максимальное расстояние редактирования , которое слово может иметь от параметра word
, для того, чтобы рассматриваться как действительное предложение (по умолчанию, 2).Возвращает:
misspelled
, который содержит логическое и suggestions
, которые содержит множество струн. Этот метод добавляет регулярное выражение, которое будет использоваться для проверки того, является ли слово достоверным, хотя нет в словаре.
Это может быть полезно, избегая маркировки особых слов как неправильно написанные, такие как цифры, электронные письма или адреса URL.
Параметры:
regex
: объект регулярного выражения. Этот метод удаляет все предыдущие регулярные выражения, добавленные с использованием метода addRegex()
.
Чтобы использовать пользовательские словаря, вы должны определить текстовый файл со списком допустимых слов, где каждое слово разделено новой строкой.
Расширение файла должно быть .dic
, и имя должно (предпочтительно) составить языковой код и обозначение региона (например, es-AR
если язык является испанским, а регион-Аргентина).
При желании вы также можете упаковать файл в пакет ZIP, модуль сможет расстегнуть его и прочитать, пока файл .zip
имеет одинаковое имя имеет файл .dic
(например, файл es-AR.zip
который содержит файл es-AR.dic
).
Файл должен быть закодирован в UTF8 (без BOM), слова должны быть разделены с помощью линии (то есть n
), а не с возвратом каретки плюс подача линии (то есть rn
), и слова должны быть отсортированы в порядке возрастания.
Модуль может удалить все нежелательные символы и сортировать слова, если вы либо вызовыте метод normalize()
, либо упаковываете файл в файл Zip (модуль автоматически вызывает метод normalize()
после его разарного раза).
Модуль поставляется со сценарием, который позволяет нормализовать словари и проверять их.
Чтобы проверить файл словаря, необходимо выполнить сценарий, указывающий папку, и имя файла словаря и слово, которое вы хотите протестировать.
Например, в папке DICT будет искать в папке dict
словарь, который находится либо в файле en-GB.dic
, либо en-GB.zip
, и собирается проверить, неправильно ли слово house
неправильно» или нет, и собирается искать Некоторые предложения по орфографии.
node cli.js check "./dict" en-GB house
Чтобы нормализовать файл словаря, необходимо выполнить сценарий, указывающий путь файла:
node cli.js normalize "./dict/en-GB.dic"
Если вы не хотите переопределять исходный файл, вы можете указать путь для выходного файла:
node cli.js normalize "./dict/en-GB.dic" "C:/output/en-GB.dic"
Есть несколько способов интеграции этого модуля с помощью электрона. Но если вам нужна отправная точка, в следующем примере показано, как включить английский словарь:
1) Установите модуль в качестве зависимости вашего проекта ( npm install simple-spellchecker --save
).
2) В основном процессе требуется модуль, загрузите словарь и определите функцию для доступа к его методам:
// 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) В процессе рендеринга определите поставщика проверки орфографии, который использует ранее загруженный словарь.
// 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 ;
}
} ) ;
Модуль частично протестирован с помощью файла test.js
(с использованием мокко и чая ). Чтобы запустить тесты, просто выполните npm test
команды.
Простая проверка орфографии - это свободное программное обеспечение; Вы можете перераспределить его и/или изменить его в соответствии с условиями общественной лицензии Mozilla V2.0. Вы должны были получить копию MPL 2.0 вместе с этой библиотекой, в противном случае вы можете получить ее по адресу http://mozilla.org/mpl/2.0/.