مدقق إملائي بسيط وسريع مع اقتراحات الإملاء وتكامل الإلكترون
Simplechecker هي وحدة مصلح إملائي لـ 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
: المسار لملف القاموس الطبيعي. هذه المعلمة اختيارية ، بواسطة Deault ، يتم كتابة الملف الأصلي.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
وهو قاموس هو إما في الملف 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 ;
}
} ) ;
يتم اختبار الوحدة النمطية جزئيًا بواسطة File test.js
(باستخدام Mocha و Chai ). من أجل إجراء الاختبارات ، ما عليك سوى تنفيذ npm test
.
SimpleChecker هو برنامج مجاني. يمكنك إعادة توزيعه و/أو تعديله بموجب شروط ترخيص Mozilla Public V2.0. يجب أن تكون قد تلقيت نسخة من MPL 2.0 مع هذه المكتبة ، وإلا يمكنك الحصول على نسخة على http://mozilla.org/mpl/2.0/.