철자 제안과 전자 통합이있는 간단하고 빠른 맞춤법 검사기
Simple Spellchecker 는 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
Extension이있는 파일을 검색 할 것입니다. 찾지 못하면 .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
: 정규화 된 사전 파일의 경로. 이 매개 변수는 선택 사항이며 DeAfult에 의해 원본 파일을 덮어 씁니다.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()
의 6 가지 공개 방법이 있습니다.
이 방법을 사용하면 사전이 가지고있는 단어의 수량을 얻을 수 있습니다.
보고:
이 방법을 사용하면 사전의 단어를 설정할 수 있습니다.
매개 변수 :
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()
메서드를 압축 한 후 자동으로 호출).
이 모듈에는 사전을 정규화하고 테스트 할 수있는 스크립트가 제공됩니다.
사전 파일을 테스트하려면 폴더와 사전 파일의 이름과 테스트하려는 단어를 나타내는 스크립트를 실행해야합니다.
예를 들어, 다음 문장은 en-GB.dic
또는 en-GB.zip
파일에있는 dict
폴더에서 사전을 검색하고 단어 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
( Mocha 및 Chai 사용)에 의해 부분적으로 테스트됩니다. 테스트를 실행하려면 명령 npm test
실행하십시오.
간단한 맞춤법 체커는 무료 소프트웨어입니다. Mozilla Public License v2.0의 조건에 따라 재분배 및/또는 수정할 수 있습니다. 이 라이브러리와 함께 MPL 2.0의 사본을 받아야합니다. 그렇지 않으면 http://mozilla.org/mpl/2.0/에서 얻을 수 있습니다.