Sejarah yang sederhana dan cepat dengan saran ejaan dan integrasi elektron
Simple ejaan adalah modul ejaan ejaan untuk node.js, yang memungkinkan untuk memeriksa apakah sebuah kata salah eja dan untuk mendapatkan saran ejaan.
Muncul dengan kamus untuk bahasa Inggris, Spanyol, Prancis, Jerman dan Belanda, tetapi Anda dapat dengan mudah menambahkan lebih banyak bahasa dengan hanya mendefinisikan file teks dengan daftar kata -kata yang valid.
Ini juga memiliki alat CLI yang memungkinkan untuk memeriksa kata -kata dari baris perintah.
Untuk menggunakan modul, Anda harus terlebih dahulu menginstalnya menggunakan NPM.
npm install simple-spellchecker
Dan kemudian memerlukan modul, dapatkan objek Dictionary
dan memohon metode mereka.
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' ) ;
}
}
} ) ;
Modul ini memiliki tiga metode publik: getDictionary()
, getDictionarySync()
dan normalizeDictionary()
.
Metode ini memungkinkan untuk mendapatkan contoh Dictionary
dari file.
Parameter:
fileName
: Nama file kamus. Metode ini akan terlebih dahulu mencari file dengan ekstensi .dic
, jika tidak ditemukan, maka akan mencari .zip
dan akan membuka ritsleting.folderPath
: Folder di mana file kamus berada. Parameter ini opsional, secara default mengasumsikan bahwa file tersebut ada di folder dict
.callback
: Fungsi yang akan dipanggil untuk mengembalikan objek Dictionary
.Contoh:
var SpellChecker = require ( 'simple-spellchecker' ) ;
SpellChecker . getDictionary ( "fr-FR" , function ( err , result ) {
var dictionary = result ;
} ) ;
Metode ini memungkinkan untuk mendapatkan contoh Dictionary
dari file, dengan cara yang sinkron.
Parameter:
fileName
: Nama file kamus. File harus memiliki ekstensi .dic
.folderPath
: Folder di mana file kamus berada. Parameter ini opsional, secara default mengasumsikan bahwa file tersebut ada di folder dict
.Kembali:
Dictionary
.Contoh:
var SpellChecker = require ( 'simple-spellchecker' ) ;
var dictionary = SpellChecker . getDictionarySync ( "fr-FR" ) ;
Metode ini membaca file kamus UTF-8, menghapus karakter BOM dan r
dan mengurutkan daftar kata.
Parameter:
inputPath
: Jalur file kamus.outputPath
: Jalur untuk file kamus yang dinormalisasi. Parameter ini opsional, dengan tuli, file asli ditimpa.callback
: Fungsi yang akan dipanggil ketika proses telah selesai.Contoh:
var SpellChecker = require ( 'simple-spellchecker' ) ;
SpellChecker . normalizeDictionary ( inputFile , outputFile , function ( err , success ) {
if ( success ) console . log ( "The file was normalized" ) ;
} ) ;
Kelas Dictionary
memiliki enam metode publik: getLength()
, setWordlist()
, spellCheck()
, isMisspelled()
, getSuggestions()
dan checkAndSuggest()
Metode ini memungkinkan untuk mendapatkan jumlah kata yang dimiliki kamus.
Kembali:
Metode ini memungkinkan untuk mengatur kata -kata kamus.
Parameter:
wordlist
: Sejumlah string.Metode ini memungkinkan untuk memverifikasi adalah sebuah kata ditulis dengan benar atau tidak.
Parameter:
word
: Kata untuk memverifikasi.Kembali:
true
jika kata itu ada di kamus, false
jika tidak. Metode ini memungkinkan untuk memverifikasi adalah sebuah kata salah eja atau tidak.
Parameter:
word
: Kata untuk memverifikasi.Kembali:
true
jika kata itu salah eja, false
jika tidak Metode ini memungkinkan untuk mendapatkan saran ejaan untuk sebuah kata.
Parameter:
word
: Kata yang digunakan untuk menghasilkan saran.limit
: Jumlah maksimum saran untuk mendapatkan (secara default, 5).maxDistance
: Jarak edit maksimum yang dapat dimiliki suatu kata dari parameter word
, untuk dianggap sebagai saran yang valid (secara default, 2).Kembali:
Metode ini memungkinkan untuk memverifikasi jika sebuah kata salah eja dan mendapatkan saran ejaan.
Parameter:
word
: Kata untuk memverifikasi.limit
: Jumlah maksimum saran untuk mendapatkan (secara default, 5).maxDistance
: Jarak edit maksimum yang dapat dimiliki suatu kata dari parameter word
, untuk dianggap sebagai saran yang valid (secara default, 2).Kembali:
misspelled
, yang berisi boolean, dan suggestions
, yang berisi serangkaian string. Metode ini menambahkan ekspresi reguler yang akan digunakan untuk memverifikasi jika kata valid meskipun tidak ada dalam kamus.
Ini mungkin berguna ketika menghindari menandai kata -kata khusus sebagai salah eja, seperti angka, email, atau alamat URL.
Parameter:
regex
: Objek ekspresi reguler. Metode ini menghilangkan semua ekspresi reguler sebelumnya yang ditambahkan menggunakan metode addRegex()
.
Untuk menggunakan kamus khusus, Anda harus mendefinisikan file teks dengan daftar kata -kata yang valid, di mana setiap kata dipisahkan oleh baris baru.
Ekstensi file harus .dic
, dan namanya harus (lebih disukai) disusun oleh kode bahasa dan penunjuk wilayah (misalnya es-AR
jika bahasa itu Spanyol dan wilayahnya adalah Argentina).
Secara opsional Anda juga dapat mengemas file dalam paket zip, modul akan dapat membuka ritsleting dan membacanya selama file .zip
memiliki nama yang sama memiliki file .dic
(misalnya file es-AR.zip
yang berisi file es-AR.dic
).
File harus dikodekan dalam utf8 (tanpa bom), kata -kata harus dipisahkan dengan umpan garis (yaitu n
) dan bukan dengan pengembalian kereta ditambah umpan garis (yaitu rn
), dan kata -kata tersebut harus diurutkan dalam urutan naik.
Modul dapat menghapus semua karakter yang tidak diinginkan dan mengurutkan kata -kata, jika Anda meminta metode normalize()
atau mengemas file dalam file zip (modul secara otomatis memanggil metode normalize()
setelah unzip).
Modul ini dilengkapi dengan skrip yang memungkinkan untuk menormalkan kamus dan mengujinya.
Untuk menguji file kamus, Anda harus menjalankan skrip yang menunjukkan folder dan nama file kamus dan kata yang ingin Anda uji.
Misalnya, kalimat berikut akan mencari di folder dict
kamus yang ada dalam file en-GB.dic
atau en-GB.zip
, dan akan memverifikasi apakah house
kata salah eja atau tidak dan akan mencari Beberapa saran ejaan.
node cli.js check "./dict" en-GB house
Untuk menormalkan file kamus, Anda harus menjalankan skrip yang menunjukkan jalur file:
node cli.js normalize "./dict/en-GB.dic"
Jika Anda tidak ingin mengganti file asli, Anda dapat menentukan jalur untuk file output:
node cli.js normalize "./dict/en-GB.dic" "C:/output/en-GB.dic"
Ada beberapa cara di mana Anda dapat mengintegrasikan modul ini dengan elektron. Tetapi jika Anda menginginkan titik awal, contoh berikut menunjukkan cara mengaktifkan kamus bahasa Inggris:
1) Instal modul sebagai ketergantungan proyek Anda ( npm install simple-spellchecker --save
).
2) Dalam proses utama, memerlukan modul, memuat kamus, dan menentukan fungsi untuk mengakses metodenya:
// 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) Dalam proses renderer, tentukan penyedia checker ejaan yang menggunakan kamus yang sebelumnya dimuat.
// 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 ;
}
} ) ;
Modul ini sebagian diuji oleh file test.js
(menggunakan mocha dan chai ). Untuk menjalankan tes, cukup jalankan npm test
perintah.
Ejaan Simple adalah perangkat lunak gratis; Anda dapat mendistribusikannya kembali dan/atau memodifikasinya berdasarkan ketentuan Lisensi Publik Mozilla v2.0. Anda seharusnya menerima salinan MPL 2.0 bersama dengan perpustakaan ini, jika tidak, Anda dapat memperolehnya di http://mozilla.org/mpl/2.0/.