From a1db377f70b8937f2edd580051eafee3c1b67fa0 Mon Sep 17 00:00:00 2001 From: Omar Faruk Date: Tue, 5 Mar 2024 07:44:51 +0000 Subject: [PATCH] Added auto corrections and punctuation --- demo/src/autoCorrection.js | 1096 ++++++++++++++++++++++++++++ demo/src/index.js | 20 +- demo/src/punctuationCorrections.js | 38 + demo/src/wordList.js | 1 + src/commands/spellCheckCommand.js | 7 + src/i18n/index.js | 8 + src/icons/index.js | 6 +- src/index.js | 17 +- src/plugins/spellchecker/index.js | 141 ++++ src/plugins/toolbar.js | 52 +- src/plugins/toolsDropDown.js | 43 ++ 11 files changed, 1398 insertions(+), 31 deletions(-) create mode 100644 demo/src/autoCorrection.js create mode 100644 demo/src/punctuationCorrections.js create mode 100644 demo/src/wordList.js create mode 100644 src/commands/spellCheckCommand.js create mode 100644 src/plugins/spellchecker/index.js create mode 100644 src/plugins/toolsDropDown.js diff --git a/demo/src/autoCorrection.js b/demo/src/autoCorrection.js new file mode 100644 index 0000000..a17e889 --- /dev/null +++ b/demo/src/autoCorrection.js @@ -0,0 +1,1096 @@ +export default { + "ur" : [ + { incorrectText: "کولارا", correctText: "لکڑہارا", completeWord: true }, + { incorrectText: "طرت", correctText: "طرف", completeWord: true }, + { incorrectText: "شهرزادی", correctText: "شہزادی", completeWord: true }, + { incorrectText: "شهرزادہ", correctText: "شہزادہ", completeWord: true }, + { incorrectText: "دالیں", correctText: "واپس", completeWord: true }, + { incorrectText: "کماء", correctText: "کہا", completeWord: true }, + { + incorrectText: "میر وڈ اسٹاک الجینئرنگ", + correctText: "ائیرو ڈائنامک انجینئرنگ", + completeWord: true, + }, + { + incorrectText: "قالبتہ الزاویہ شادیث", + correctText: "قائمہ الزاویہ مثلث", + completeWord: true, + }, + { + incorrectText: "خا نارالتیک ایران", + correctText: "خاندان کا ایک رکن", + completeWord: true, + }, + { + incorrectText: "ڈگری تمنائی گریڈ", + correctText: "ڈگری سینٹی گریڈ", + completeWord: true, + }, + { + incorrectText: "ڈگری تائی گریڈ", + correctText: " ڈگری سینٹی گریڈ", + completeWord: true, + }, + { + incorrectText: "ڈگری معنی گریڈ", + correctText: "ڈگری سینٹی گریڈ", + completeWord: true, + }, + { + incorrectText: "ایندھن کے ٹیکٹ", + correctText: "ایندھن کے ٹینک", + completeWord: true, + }, + { + incorrectText: "ڈگری تفتی گریڈ", + correctText: "ڈگری سینٹی گریڈ", + completeWord: true, + }, + { + incorrectText: "متعدی پیار یوں", + correctText: "متعدی بیماریوں", + completeWord: true, + }, + { + incorrectText: "دلچسپ اور مجیب", + correctText: "دلچسپ اور عجیب", + completeWord: true, + }, + { + incorrectText: "رائل سوسائیوں", + correctText: "رائل سوسائٹیوں", + completeWord: true, + }, + { + incorrectText: "شمالی نصفت کرے", + correctText: "شمالی نصف کرے", + completeWord: true, + }, + { + incorrectText: "خشتی یا بڑھتی", + correctText: "گھٹتی یا بڑھتی", + completeWord: true, + }, + { + incorrectText: "شالی نصف کرنے", + correctText: "شمالی نصف کرے", + completeWord: true, + }, + { + incorrectText: "الیکٹر ولاینس", + correctText: "الیکٹرو لائٹس", + completeWord: true, + }, + { + incorrectText: "لا چک کنٹرولر", + correctText: "لاجک کنٹرولر", + completeWord: true, + }, + { + incorrectText: "الیکثیرولائیٹ", + correctText: "الیکٹرو لائٹ", + completeWord: true, + }, + { + incorrectText: "الیکثیر ولاسٹ", + correctText: "الیکٹرو لائٹ", + completeWord: true, + }, + { + incorrectText: "نشاۃ انشائیہ", + correctText: "نشاۃ الثانیہ", + completeWord: true, + }, + { + incorrectText: "بالائے پیششی", + correctText: "بالائے بنفشی", + completeWord: true, + }, + { + incorrectText: "پر وگرام ابل", + correctText: "پروگرام ایبل", + completeWord: true, + }, + { + incorrectText: "حجمع النجوم", + correctText: "مجمع النجوم", + completeWord: true, + }, + { + incorrectText: "عروم و حوصلہ", + correctText: "عزم و حوصلہ", + completeWord: true, + }, + { + incorrectText: "بالا نے ششی", + correctText: "بالائے بنفشی", + completeWord: true, + }, + { + incorrectText: "الیکٹر ولاسٹ", + correctText: "الیکٹرو لائٹ", + completeWord: true, + }, + { + incorrectText: "کشر الاضلاع", + correctText: "کثیر الاضلاع", + completeWord: true, + }, + { + incorrectText: "سنائی سکیم", + correctText: "کائناتی اسکیم", + completeWord: true, + }, + { + incorrectText: "اعرارِ مشاباش", + correctText: "اعداد مثلث", + completeWord: true, + }, + { + incorrectText: "اعدادوشمار", + correctText: "اعداد و شمار", + completeWord: true, + }, + { + incorrectText: "چھوٹی چھوئی", + correctText: "چھوٹی چھوٹی", + completeWord: true, + }, + { + incorrectText: "وقتا فوقا", + correctText: " وقتاً فوقتاً", + completeWord: true, + }, + { + incorrectText: "چلتا پھولت", + correctText: "پھلتا پھولتا", + completeWord: true, + }, + { + incorrectText: "چھوئی چھوئی", + correctText: "چھوٹی چھوٹی", + completeWord: true, + }, + { + incorrectText: "ترکمعہ دان", + correctText: "نر گمٹہ دان", + completeWord: true, + }, + { + incorrectText: "بیانت دانوں", + correctText: "ہیئت دانوں", + completeWord: true, + }, + { + incorrectText: "چھوٹے چھونے", + correctText: "چھوٹےچھوٹے", + completeWord: true, + }, + { + incorrectText: "الیکثیرانوں", + correctText: "الیکٹرانوں", + completeWord: true, + }, + { + incorrectText: "مجیب وغریب", + correctText: "عجیب و غریب", + completeWord: true, + }, + { + incorrectText: "سمت الثر اس", + correctText: "سمت الراس", + completeWord: true, + }, + { + incorrectText: "آثار قریکہ", + correctText: "آثار قدیمہ", + completeWord: false, + }, + { + incorrectText: "گھنگھریسلے", + correctText: "گھنگھریالے", + completeWord: true, + }, + { + incorrectText: "ستائی میٹر", + correctText: "سینٹی میٹر", + completeWord: true, + }, + { + incorrectText: "زور کی جدول", + correctText: "دوری جدول", + completeWord: true, + }, + { + incorrectText: "درجہ ترارت", + correctText: "درجہ حرارت", + completeWord: true, + }, + { + incorrectText: "آترک ٹیوشن", + correctText: "آئزک نیوٹن", + completeWord: false, + }, + { + incorrectText: "انٹی نیتی", + correctText: "ایٹمی کمیتی", + completeWord: true, + }, + { + incorrectText: "موتر کاروں", + correctText: "موٹر کاروں", + completeWord: true, + }, + { + incorrectText: "ایکسیکریٹر", + correctText: "ایکسیلریٹر", + completeWord: true, + }, + { + incorrectText: "ہائیڈرولیم", + correctText: "ہائیڈرونیم", + completeWord: true, + }, + { + incorrectText: "يمنع التي", + correctText: "مجمع النجوم", + completeWord: true, + }, + { + incorrectText: "جیرت انگیز", + correctText: "حیرت انگیز", + completeWord: true, + }, + { incorrectText: "الیکثیرانی", correctText: "الیکٹرانی", completeWord: true }, + { incorrectText: "ہونچے ہیں", correctText: "ہو چکے ہیں", completeWord: true }, + { incorrectText: "ما ئیڈروجن", correctText: "ہائیڈروجن", completeWord: true }, + { incorrectText: "کرۂ ہسوائی", correctText: "کرۂ ہوائی", completeWord: true }, + { incorrectText: "عار منظوشت", correctText: "عدم عفونت", completeWord: true }, + { incorrectText: "سنٹی گریڈ", correctText: "سینٹی گریڈ", completeWord: true }, + { incorrectText: "دُور ہینوں", correctText: " دوربینوں", completeWord: true }, + { incorrectText: "خو وكاربيت", correctText: "خود کاریت", completeWord: true }, + { incorrectText: "تھنڈری ہوا", correctText: "ٹھنڈی ہوا", completeWord: true }, + { incorrectText: "پائے جانتے", correctText: "پائے جاتے", completeWord: true }, + { incorrectText: "انوار تنظی", correctText: "انور قطبی", completeWord: true }, + { incorrectText: "الیکثیرانز", correctText: "الیکٹرانز", completeWord: true }, + { incorrectText: "اسٹاسفیئر", correctText: "ایٹماسفیئر", completeWord: true }, + { incorrectText: "استعمالاست", correctText: "استعمالات", completeWord: true }, + { incorrectText: "خود کاربیت", correctText: "خود کاریت", completeWord: true }, + { incorrectText: "خودکار ہیت", correctText: "خود کاریت", completeWord: true }, + { incorrectText: "چونے چونے", correctText: "چھوٹےچھوٹے", completeWord: true }, + { incorrectText: "سنی گریڈ", correctText: "سینٹی گریڈ", completeWord: true }, + { incorrectText: "الجینئرنگ", correctText: "انجنیئرنگ", completeWord: true }, + { incorrectText: "بائیڈروجن", correctText: "ہائیڈروجن", completeWord: true }, + { incorrectText: "نیوٹر مینو", correctText: "نیوٹرینو", completeWord: true }, + { incorrectText: "نیلی ویژن", correctText: "ٹیلی ویزن", completeWord: true }, + { incorrectText: "نظام تشکی", correctText: "نظام شمسی", completeWord: true }, + { incorrectText: "گردوغبار", correctText: "گرد و غبار", completeWord: true }, + { incorrectText: "فوٹوگرانی", correctText: "فوٹوگرافی", completeWord: true }, + { incorrectText: "ٹیلی ویزن", correctText: "ٹیلی ویژن", completeWord: true }, + { incorrectText: "تحمل خانہ", correctText: "تخمک خانہ", completeWord: true }, + { incorrectText: "پیشد کرتا", correctText: "پسند کرتا", completeWord: true }, + { incorrectText: "خودکار میت", correctText: "خودکاریت", completeWord: true }, + { incorrectText: "ریڈی ایڈر", correctText: "ریڈی ایٹر", completeWord: true }, + { incorrectText: "نورسٹروک", correctText: "فور اسٹروک", completeWord: true }, + { incorrectText: "کارپوریٹر", correctText: "کاربوریٹر", completeWord: true }, + { incorrectText: "ہرقی دہاؤ", correctText: "برقی دباؤ", completeWord: true }, + { incorrectText: "رفتی رفتی", correctText: "رفتہ رفتہ", completeWord: true }, + { incorrectText: "پیرو میٹر", correctText: "بیرو میٹر", completeWord: true }, + { incorrectText: "اتی نمبر", correctText: "ایٹمی نمبر", completeWord: true }, + { incorrectText: "بین الوی", correctText: "ٹیکنالوجی", completeWord: true }, + { incorrectText: "چچیدگیاں", correctText: "پیچیدگیاں", completeWord: true }, + { incorrectText: "نظام عکس", correctText: "نظام تنفس", completeWord: true }, + { incorrectText: "ملیرانیات", correctText: "طیرانیات", completeWord: true }, + { incorrectText: "کوئی شرول", correctText: "کولسٹرول", completeWord: true }, + { incorrectText: "فیثاغورتث", correctText: "فیثاغورث", completeWord: true }, + { incorrectText: "زیا وہ تر", correctText: "زیادہ تر", completeWord: true }, + { incorrectText: "ذور تینوں", correctText: "دوربینوں", completeWord: true }, + { incorrectText: "حمددوثنا", correctText: "حمد و ثنا", completeWord: true }, + { incorrectText: "جوشاندر نے", correctText: "جوشاندے", completeWord: true }, + { incorrectText: "تحملک دان", correctText: "تخمک دان", completeWord: true }, + { incorrectText: "آئنسٹائن", correctText: "آئن سٹائن", completeWord: true }, + { incorrectText: "الیکثیران", correctText: "الیکٹران", completeWord: true }, + { incorrectText: "ہائیڈراک", correctText: "ہائیڈرالک", completeWord: true }, + { incorrectText: "آتومروجہل", correctText: "آٹوموبیل", completeWord: true }, + { incorrectText: "ممائنسدان", correctText: "سائنسدان", completeWord: true }, + { incorrectText: "سطح مرقع", correctText: "سطح مرتفع", completeWord: true }, + { incorrectText: "سنگب سیاہ", correctText: "سنگ سیاہ", completeWord: true }, + { incorrectText: "سنگب سیاه", correctText: "سنگ سیاہ", completeWord: true }, + { incorrectText: "امتی وزن", correctText: "ایٹمی وزن", completeWord: true }, + { incorrectText: "روکیئر سے", correctText: "دو کیڑے", completeWord: true }, + { incorrectText: "کعب میٹر", correctText: "مکعب میٹر", completeWord: true }, + { incorrectText: "ریم الخط", correctText: "رسم الخط", completeWord: true }, + { incorrectText: "جیران کن", correctText: "حیران کن", completeWord: true }, + { incorrectText: "ہوجائیں", correctText: " ہو جائیں", completeWord: true }, + { incorrectText: "نظام شی", correctText: "نظام شمسی", completeWord: true }, + { incorrectText: "لانے مل", correctText: "لائحہ عمل", completeWord: true }, + { incorrectText: "لامی درود", correctText: "لامحدود", completeWord: true }, + { incorrectText: "کم وپیش", correctText: " کم و بیش", completeWord: true }, + { incorrectText: "طیراثبات", correctText: "طیرانیات", completeWord: true }, + { incorrectText: "طبیعیا ست", correctText: "طبیعیات", completeWord: true }, + { incorrectText: "ڈور دراز", correctText: "دور دراز", completeWord: true }, + { incorrectText: "پر وٹا زو", correctText: "پروٹانز", completeWord: true }, + { incorrectText: "کم و پیش", correctText: "کم و بیش", completeWord: true }, + { incorrectText: "فور ونیل", correctText: "فور وہیل", completeWord: true }, + { incorrectText: "نضر بیسات", correctText: "تصریحات", completeWord: true }, + { incorrectText: "چوگادڑوں", correctText: "چمگادڑوں", completeWord: true }, + { incorrectText: "چگا دڑیں", correctText: "چمگادڑیں", completeWord: true }, + { incorrectText: "ٹورانیوں", correctText: "دورانیوں", completeWord: true }, + { incorrectText: "جبران کن", correctText: "حیران کن", completeWord: true }, + { incorrectText: "بخل وقوع", correctText: "محل وقوع", completeWord: true }, + { incorrectText: "علل وقوع", correctText: "محل وقوع", completeWord: true }, + { incorrectText: "ہند و ہست", correctText: "بندوست", completeWord: true }, + { incorrectText: "موضوعاہت", correctText: "موضوعات", completeWord: true }, + { incorrectText: "میرا لول", correctText: "میدانوں", completeWord: true }, + { incorrectText: "رہتحانات", correctText: "رحجانات", completeWord: true }, + { incorrectText: "باشندروں", correctText: "باشندوں", completeWord: true }, + { incorrectText: "تجاکیات", correctText: " عجائبات", completeWord: true }, + { incorrectText: "باشندر سے", correctText: "باشندے", completeWord: true }, + { incorrectText: "وورینیں", correctText: "دوربینیں", completeWord: true }, + { incorrectText: "ہو جانتے", correctText: "ہو جاتے", completeWord: true }, + { incorrectText: "ہو جا قی", correctText: "ہو جاتی", completeWord: true }, + { incorrectText: "میندرنات", correctText: "معدنیات", completeWord: true }, + { incorrectText: "معلوماسٹ", correctText: "معلومات", completeWord: true }, + { incorrectText: "لی میٹر", correctText: "ملی میٹر", completeWord: true }, + { incorrectText: "علم بیت", correctText: "علم ہیئت", completeWord: true }, + { incorrectText: "ر وނޯشاở", correctText: "روشنیاں", completeWord: true }, + { incorrectText: "ڈورینیں", correctText: "دوربینیں", completeWord: true }, + { incorrectText: "تمییرات", correctText: " تعمیرات", completeWord: true }, + { incorrectText: "بیت دان", correctText: "ہیئت دان", completeWord: true }, + { incorrectText: "بہبر و بی", correctText: "بہروپی", completeWord: true }, + { incorrectText: "بالخصوصل", correctText: "بالخصوص", completeWord: true }, + { incorrectText: "بالخصو س", correctText: "بالخصوص", completeWord: true }, + { incorrectText: "بارہلواں", correctText: "بارہواں", completeWord: true }, + { incorrectText: "اہیم بیم", correctText: "ایٹم بم", completeWord: true }, + { incorrectText: "اہتمم بم", correctText: "ایٹم بم", completeWord: true }, + { incorrectText: "اہتم بیم", correctText: "ایٹم بم", completeWord: true }, + { incorrectText: "ان کا سی", correctText: "انعکاسی", completeWord: true }, + { incorrectText: "فر منگیں", correctText: "فرہنگیں", completeWord: true }, + { incorrectText: "داۓ دار", correctText: "دانے دار", completeWord: true }, + { incorrectText: "ولندر سے", correctText: "گھروندے", completeWord: true }, + { incorrectText: "قبل تاج", correctText: "قبل مسیح", completeWord: true }, + { incorrectText: "مائلیول", correctText: "مالیکیول", completeWord: true }, + { incorrectText: "ولیوتاؤں", correctText: "دیوتاؤں", completeWord: true }, + { incorrectText: "بینگنیاں", correctText: "مینگیاں", completeWord: true }, + { incorrectText: "میگنیوں", correctText: "مینگنیوں", completeWord: true }, + { incorrectText: "معلومارت", correctText: "معلومات", completeWord: true }, + { incorrectText: "بند ضلتا", correctText: "بندھتا", completeWord: true }, + { incorrectText: "ز ائیر ہ", correctText: "زائیدہ", completeWord: true }, + { incorrectText: "قبل تح", correctText: "قبل مسیح", completeWord: true }, + { incorrectText: "چیچیدگی", correctText: "پیچیدگی", completeWord: true }, + { incorrectText: "بالخصوس", correctText: "بالخصوص", completeWord: true }, + { incorrectText: "مفرو تھے", correctText: "مفروضے", completeWord: true }, + { incorrectText: "بجھوایا", correctText: "بھجوایا", completeWord: true }, + { incorrectText: "و ورنین", correctText: " دوربین", completeWord: true }, + { incorrectText: "نی مربع", correctText: "فی مربع", completeWord: true }, + { incorrectText: "سونگھٹے", correctText: "سونگھنے", completeWord: true }, + { incorrectText: "درمیائی", correctText: "درمیانی", completeWord: true }, + { incorrectText: "خوبسورت", correctText: "خوبصورت", completeWord: true }, + { incorrectText: "خاکستعم", correctText: "خاص قسم", completeWord: true }, + { incorrectText: "تجھائیں", correctText: "جھانکیں", completeWord: true }, + { incorrectText: "پر وٹالن", correctText: "پروٹان", completeWord: true }, + { incorrectText: "پر ندر سے", correctText: "پرندے", completeWord: true }, + { incorrectText: "پچھلیوں", correctText: "مچھلیوں", completeWord: true }, + { incorrectText: "بند رتیخ", correctText: "بتدریج", completeWord: true }, + { incorrectText: "اندطائی", correctText: "انعطافی", completeWord: true }, + { incorrectText: "آنوبیک", correctText: "آٹو میٹک", completeWord: true }, + { incorrectText: "درواز سے", correctText: "دروازے", completeWord: true }, + { incorrectText: "خاندرالن", correctText: "خاندان", completeWord: true }, + { incorrectText: "الجینئر", correctText: "انجنیئر", completeWord: true }, + { incorrectText: "اصطلائی", correctText: "اصطلاحی", completeWord: true }, + { incorrectText: "سے ہوشی", correctText: "بے ہوشی", completeWord: true }, + { incorrectText: "اناٹوٹی", correctText: "اناٹومی", completeWord: true }, + { incorrectText: "دومسرت مے", correctText: "دوسرے", completeWord: true }, + { incorrectText: "فرینکیں", correctText: "فرہنگیں", completeWord: true }, + { incorrectText: "متعلمیں", correctText: "متعلمین", completeWord: true }, + { incorrectText: "رحماکوں", correctText: "دھماکوں", completeWord: true }, + { incorrectText: "واشگلشن", correctText: "واشنگٹن", completeWord: true }, + { incorrectText: "چنا نہیں", correctText: "چٹانیں", completeWord: true }, + { incorrectText: "معاہر سے", correctText: "معاہدے", completeWord: true }, + { incorrectText: "لگارہے", correctText: "لگا رہے", completeWord: true }, + { incorrectText: "لاسکتی", correctText: "لا سکتی", completeWord: true }, + { incorrectText: "کرسکتی", correctText: "کر سکتی", completeWord: true }, + { incorrectText: "جاسکتے", correctText: "جا سکتے", completeWord: true }, + { incorrectText: "کرسکیں", correctText: " کرسکیں", completeWord: true }, + { incorrectText: "نجلستان", correctText: "نخلستان", completeWord: true }, + { incorrectText: "واقلیتا", correctText: "واقعتاً", completeWord: true }, + { incorrectText: "چیلانے", correctText: "پھیلانے", completeWord: true }, + { incorrectText: "آسمہ جن", correctText: "آکسیجن", completeWord: false }, + { incorrectText: "نتیجتا", correctText: "نتیجتاً", completeWord: true }, + { incorrectText: "ذیابیس", correctText: "ذیابیطس", completeWord: true }, + { incorrectText: "ہوسکتی", correctText: "ہو سکتی", completeWord: true }, + { incorrectText: "ہوسکتے", correctText: "ہو سکتے", completeWord: true }, + { incorrectText: "ہوسکتا", correctText: "ہو سکتا", completeWord: true }, + { incorrectText: "ہوجائے", correctText: "ہو جائے", completeWord: true }, + { incorrectText: "ہوجاتی", correctText: "ہو جاتی", completeWord: true }, + { incorrectText: "ہوجاتے", correctText: "ہو جاتے", completeWord: true }, + { incorrectText: "ہوجاتا", correctText: "ہو جاتا", completeWord: true }, + { incorrectText: "نیلیس", correctText: "نیوکلیئس", completeWord: true }, + { incorrectText: "مقا ہے", correctText: " مقابلے", completeWord: true }, + { incorrectText: "مشتعارف", correctText: "متعارف", completeWord: true }, + { incorrectText: "مابینات", correctText: "ماہیئت", completeWord: true }, + { incorrectText: "کندھواں", correctText: "کندھوں", completeWord: true }, + { incorrectText: "کرسکتے", correctText: "کر سکتے", completeWord: true }, + { incorrectText: "کرسکتا", correctText: "کر سکتا", completeWord: true }, + { incorrectText: "کردئیے", correctText: "کر دیئے", completeWord: true }, + { incorrectText: "کردیتی", correctText: "کر دیتی", completeWord: true }, + { incorrectText: "کردیتا", correctText: "کر دیتا", completeWord: true }, + { incorrectText: "کرجاتا", correctText: "کر جاتا", completeWord: true }, + { incorrectText: "کرپاتے", correctText: "کر پاتے", completeWord: true }, + { incorrectText: "کا سنات", correctText: "کائنات", completeWord: true }, + { incorrectText: "غذانیں", correctText: " غذائیں", completeWord: true }, + { incorrectText: "شمولات", correctText: "مشمولات", completeWord: true }, + { incorrectText: "سیارویی", correctText: "سیاروی", completeWord: true }, + { incorrectText: "سلطنوں", correctText: "سلطنتوں", completeWord: true }, + { incorrectText: "رضا توں", correctText: "دھاتوں", completeWord: true }, + { incorrectText: "ڈور بین", correctText: "دوربین", completeWord: true }, + { incorrectText: "چالدرار", correctText: "پھلدار", completeWord: true }, + { incorrectText: "جغرافے", correctText: "جغرافیے", completeWord: true }, + { incorrectText: "جاسکیں", correctText: "جا سکیں", completeWord: true }, + { incorrectText: "جاسکتی", correctText: "جا سکتی", completeWord: true }, + { incorrectText: "جاسکتا", correctText: "جا سکتا", completeWord: true }, + { incorrectText: "جاپہنچ", correctText: "جا پہنچ", completeWord: true }, + { incorrectText: "تمہارات", correctText: "عمارات", completeWord: true }, + { incorrectText: "تقریبا", correctText: "تقریباً", completeWord: true }, + { incorrectText: "تفصیلا", correctText: "تفصیلاً", completeWord: true }, + { incorrectText: "ترجیحا", correctText: "ترجیحاً", completeWord: true }, + { incorrectText: "پاتالن", correctText: "پلانکٹن", completeWord: true }, + { incorrectText: "بالاخر", correctText: "بالآخر", completeWord: true }, + { incorrectText: "اؤ لینن", correctText: "اوّلین", completeWord: true }, + { incorrectText: "التحصار", correctText: "انحصار", completeWord: true }, + { incorrectText: "خردبینن", correctText: "خردبین", completeWord: true }, + { incorrectText: "و کشتری", correctText: "ڈکشنری", completeWord: true }, + { incorrectText: "ووارا لن", correctText: "دوران", completeWord: true }, + { incorrectText: "لاکرشن", correctText: "لاکھ ٹن", completeWord: true }, + { incorrectText: "اژگالی", correctText: "انگلیاں", completeWord: true }, + { incorrectText: "آسمبلی", correctText: "اسمبلی", completeWord: true }, + { incorrectText: "مجمونے", correctText: "مجموعے", completeWord: true }, + { incorrectText: "نات میں", correctText: "ٹانگیں", completeWord: true }, + { incorrectText: "کعب فٹ", correctText: "مکعب فٹ", completeWord: true }, + { incorrectText: "تجھولتے", correctText: "جھولتے", completeWord: true }, + { incorrectText: "گا زیوں", correctText: "گاڑیوں", completeWord: true }, + { incorrectText: "مشرانول", correctText: "مندروں", completeWord: true }, + { incorrectText: "بھر میں", correctText: "بھرتیں", completeWord: true }, + { incorrectText: "یورشیم", correctText: "یورینیم", completeWord: true }, + { incorrectText: "خلوقات", correctText: "مخلوقات", completeWord: true }, + { incorrectText: "مطائلے", correctText: "مطالعے", completeWord: true }, + { incorrectText: "الہیشم", correctText: "الہیثم", completeWord: true }, + { incorrectText: "تحترتیب", correctText: "تخریب", completeWord: true }, + { incorrectText: "آتحصار", correctText: "انحصار", completeWord: true }, + { incorrectText: "بھور سے", correctText: "بھورے", completeWord: true }, + { incorrectText: "حجموعے", correctText: "مجموعے", completeWord: true }, + { incorrectText: "مطاللۓ", correctText: "مطالعے", completeWord: true }, + { incorrectText: "مقاصدر", correctText: " مقاصد", completeWord: true }, + { incorrectText: "وضا حيث", correctText: "وضاحت", completeWord: true }, + { incorrectText: "وٹامسکن", correctText: "وٹامن", completeWord: true }, + { incorrectText: "نسبتلا", correctText: "نسبتاً", completeWord: true }, + { incorrectText: "مونائی", correctText: "موٹائی", completeWord: true }, + { incorrectText: "مضروضے", correctText: "مفروضے", completeWord: true }, + { incorrectText: "مصنوئی", correctText: "مصنوعی", completeWord: true }, + { incorrectText: "مصنوکی", correctText: "مصنوعی", completeWord: true }, + { incorrectText: "مشکرین", correctText: "مفکرین", completeWord: true }, + { incorrectText: "محدر ور", correctText: "محدود", completeWord: true }, + { incorrectText: "مجموئی", correctText: "مجموعی", completeWord: true }, + { incorrectText: "ماہرمن", correctText: "ماہرین", completeWord: true }, + { incorrectText: "کردیں", correctText: " کر دیں", completeWord: true }, + { incorrectText: "فایلم", correctText: " فائیلم", completeWord: true }, + { incorrectText: "طریقول", correctText: "طریقوں", completeWord: true }, + { incorrectText: "طبیات", correctText: "طبیعیات", completeWord: true }, + { incorrectText: "شہا ہے", correctText: "شہابیے", completeWord: true }, + { incorrectText: "شعائیں", correctText: "شعاعیں", completeWord: true }, + { incorrectText: "شعاعول", correctText: "شعاعوں", completeWord: true }, + { incorrectText: "سيارول", correctText: "سیاروں", completeWord: true }, + { incorrectText: "سااتنی", correctText: "سائنسی", completeWord: true }, + { incorrectText: "ژصانچہ", correctText: "ڈھانچہ", completeWord: true }, + { incorrectText: "زہرہتے", correctText: "زہریلے", completeWord: true }, + { incorrectText: "زحلائی", correctText: "دھلائی", completeWord: true }, + { incorrectText: "رحماکہ", correctText: "دھماکہ", completeWord: true }, + { incorrectText: "حجموئی", correctText: "مجموعی", completeWord: true }, + { incorrectText: "جیا سے", correctText: "پیمانے", completeWord: true }, + { incorrectText: "ٹانگول", correctText: "ٹانگوں", completeWord: true }, + { incorrectText: "بڑضائے", correctText: "بڑھاتے", completeWord: true }, + { incorrectText: "اوّلیں", correctText: "اوّلین", completeWord: true }, + { incorrectText: "انٹر سے", correctText: " انڈے", completeWord: true }, + { incorrectText: "اختیاط", correctText: "احتیاط", completeWord: true }, + { incorrectText: "اختبار", correctText: "اعتبار", completeWord: true }, + { incorrectText: "اتحطاط", correctText: "انحطاط", completeWord: true }, + { incorrectText: "نمونوس", correctText: "نمونوں", completeWord: true }, + { incorrectText: "آنحصار", correctText: "انحصار", completeWord: true }, + { incorrectText: "رضا کے", correctText: "دھماکے", completeWord: true }, + { incorrectText: "اصطلار", correctText: "اصطلاح", completeWord: true }, + { incorrectText: "اقتطاع", correctText: "انقطاع", completeWord: true }, + { incorrectText: "شمہ تیر", correctText: "شہتیر", completeWord: true }, + { incorrectText: "دومسرمے", correctText: "دوسرے", completeWord: true }, + { incorrectText: "د وممری", correctText: "دوسری", completeWord: true }, + { incorrectText: "اقتصار", correctText: "انحصار", completeWord: true }, + { incorrectText: "مقابنہ", correctText: "مقابلہ", completeWord: true }, + { incorrectText: "دومدرسے", correctText: "دوسرے", completeWord: true }, + { incorrectText: "جو آنها", correctText: "چوتھا", completeWord: true }, + { incorrectText: "و شایست", correctText: "وضاحت", completeWord: true }, + { incorrectText: "جوہدری", correctText: "چوہدری", completeWord: true }, + { incorrectText: "معلمیں", correctText: "معلمین", completeWord: true }, + { incorrectText: "جذریعہ", correctText: "بذریعہ", completeWord: true }, + { incorrectText: "بزرلیہ", correctText: "بذریعہ", completeWord: true }, + { incorrectText: "آکہ جن", correctText: "آکسیجن", completeWord: true }, + { incorrectText: "چھیلاؤ", correctText: "پھیلاؤ", completeWord: true }, + { incorrectText: "ہورہے", correctText: "ہو رہے", completeWord: true }, + { incorrectText: "کرادی", correctText: "کرا دی", completeWord: true }, + { incorrectText: "قدر ہیم", correctText: "قدیم", completeWord: true }, + { incorrectText: "جارہا", correctText: "جا رہا", completeWord: true }, + { incorrectText: "اوسطا", correctText: "اوسطاً", completeWord: true }, + { incorrectText: "جارہے", correctText: "جا رہے", completeWord: true }, + { incorrectText: "ہنگائی", correctText: "ہنگامی", completeWord: true }, + { incorrectText: "ز با ده", correctText: "زیادہ", completeWord: true }, + { incorrectText: "ہکار کی", correctText: "ہماری", completeWord: true }, + { incorrectText: "اسرائی", correctText: "صحرائی", completeWord: true }, + { incorrectText: "وصالوں", correctText: "دھاتوں", completeWord: true }, + { incorrectText: "ستار سے", correctText: "ستارے", completeWord: true }, + { incorrectText: "النانچ", correctText: "المناخ", completeWord: true }, + { incorrectText: "تقارئینی", correctText: "قطبی", completeWord: true }, + { incorrectText: "ژنثر کی", correctText: "ڈنڈی", completeWord: true }, + { incorrectText: "عقلیتی", correctText: "طبیعی", completeWord: true }, + { incorrectText: "زاوئیے", correctText: "زاویے", completeWord: true }, + { incorrectText: "مزایٹم", correctText: "مزاحم", completeWord: true }, + { incorrectText: "یقینا", correctText: "یقیناً", completeWord: true }, + { incorrectText: "در تحصے", correctText: "دھبے", completeWord: true }, + { incorrectText: "مخھیلے", correctText: "غصیلے", completeWord: true }, + { incorrectText: "تخلیۓ", correctText: "تخمینے", completeWord: true }, + { incorrectText: "مطالے", correctText: "مطالعے", completeWord: true }, + { incorrectText: "خورالٹ", correctText: "خوراک", completeWord: true }, + { incorrectText: "مخصوصل", correctText: "مخصوص", completeWord: true }, + { incorrectText: "وغبار", correctText: "و غبار", completeWord: true }, + { incorrectText: "وضاحسٹ", correctText: "وضاحت", completeWord: true }, + { incorrectText: "وچ پی", correctText: "دلچسپی", completeWord: true }, + { incorrectText: "و ولول", correctText: "دونوں", completeWord: true }, + { incorrectText: "ہوگئی", correctText: "ہو گئی", completeWord: true }, + { incorrectText: "ہوگئے", correctText: "ہو گئے", completeWord: true }, + { incorrectText: "ہوسکے", correctText: "ہو سکے", completeWord: true }, + { incorrectText: "ہورہی", correctText: "ہو رہی", completeWord: true }, + { incorrectText: "ہورہا", correctText: "ہو رہا", completeWord: true }, + { incorrectText: "ہوچکی", correctText: "ہو چکی", completeWord: true }, + { incorrectText: "ہوچکا", correctText: "ہو چکا", completeWord: true }, + { incorrectText: "نسبتا", correctText: "نسبتاً", completeWord: true }, + { incorrectText: "مشہو ر", correctText: "مشہور", completeWord: true }, + { incorrectText: "مرگئے", correctText: "مر گئے", completeWord: true }, + { incorrectText: "لیا نظ", correctText: " لحاظ", completeWord: true }, + { incorrectText: "لائیجر", correctText: "لائحہ", completeWord: true }, + { incorrectText: "گھوڑنے", correctText: "گھوڑے", completeWord: true }, + { incorrectText: "کرلئے", correctText: "کر لئے", completeWord: true }, + { incorrectText: "کرسکے", correctText: "کر سکے", completeWord: true }, + { incorrectText: "کرسکا", correctText: "کر سکا", completeWord: true }, + { incorrectText: "کررہا", correctText: "کر رہا", completeWord: true }, + { incorrectText: "کردیا", correctText: "کر دیا", completeWord: true }, + { incorrectText: "قریبا", correctText: "قریباً", completeWord: true }, + { incorrectText: "صحائی", correctText: " صحافی", completeWord: true }, + { incorrectText: "شانھیں", correctText: "شاخیں", completeWord: true }, + { incorrectText: "سیپٹسٹ", correctText: "سیمنٹ", completeWord: true }, + { incorrectText: "ستمبئی", correctText: "سینٹی", completeWord: true }, + { incorrectText: "ردعمل", correctText: "رد عمل", completeWord: true }, + { incorrectText: "ذرائے", correctText: " ذریعے", completeWord: true }, + { incorrectText: "خصائنس", correctText: "خصائص", completeWord: true }, + { incorrectText: "جاسکے", correctText: "جا سکے", completeWord: true }, + { incorrectText: "جتناظت", correctText: "حفاظت", completeWord: true }, + { incorrectText: "تمہذیب", correctText: "تہذیب", completeWord: true }, + { incorrectText: "تحقیقن", correctText: "تحقیق", completeWord: true }, + { incorrectText: "تحقیقت", correctText: "تحقیق", completeWord: true }, + { incorrectText: "تجھاڑی", correctText: "جھاڑی", completeWord: true }, + { incorrectText: "تجاذی", correctText: "تجاذبی", completeWord: true }, + { incorrectText: "بند حا", correctText: "بندھا", completeWord: true }, + { incorrectText: "بنانتے", correctText: "بناتے", completeWord: true }, + { incorrectText: "بزریہ", correctText: "بذریعہ", completeWord: true }, + { incorrectText: "بائیل", correctText: "بائیبل", completeWord: true }, + { incorrectText: "آسکتا", correctText: "آ سکتا", completeWord: true }, + { incorrectText: "ایسم", correctText: "ایک قسم", completeWord: true }, + { incorrectText: "انٹر نے", correctText: "انڈے", completeWord: true }, + { incorrectText: "انتڑ سے", correctText: "انڈے", completeWord: true }, + { incorrectText: "امراضس", correctText: "امراض", completeWord: true }, + { incorrectText: "اغراضس", correctText: "اغراض", completeWord: true }, + { incorrectText: "اثراست", correctText: "اثرات", completeWord: true }, + { incorrectText: "چارلسس", correctText: "چارلس", completeWord: true }, + { incorrectText: "اضا سے", correctText: "اضافے", completeWord: true }, + { incorrectText: "مرہتیل", correctText: "موبیل", completeWord: true }, + { incorrectText: "کشا ؤت", correctText: "کثافت", completeWord: true }, + { incorrectText: "چیلاؤ", correctText: "پھیلاؤ", completeWord: true }, + { incorrectText: "والتھے", correctText: "واقعے", completeWord: true }, + { incorrectText: "دوسرمے", correctText: "دوسرے", completeWord: true }, + { incorrectText: "دومسرا", correctText: "دوسرا", completeWord: true }, + { incorrectText: "انہیرس", correctText: "انہیں", completeWord: true }, + { incorrectText: "چصہارم", correctText: "چہارم", completeWord: true }, + { incorrectText: "جوہاۓ", correctText: "چوپائے", completeWord: true }, + { incorrectText: "متارمے", correctText: "ستارے", completeWord: true }, + { incorrectText: "مستارے", correctText: "ستارے", completeWord: true }, + { incorrectText: "مشہاڑی", correctText: "مثلاً", completeWord: true }, + { incorrectText: "متعددی", correctText: "متعدی", completeWord: true }, + { incorrectText: "ه: عدمے", correctText: "معدے", completeWord: true }, + { incorrectText: "ستارمے", correctText: "ستارے", completeWord: true }, + { incorrectText: "مختلین", correctText: "مختلف", completeWord: true }, + { incorrectText: "مختلفن", correctText: "مختلف", completeWord: true }, + { incorrectText: "عشرولس", correctText: "عشروں", completeWord: true }, + { incorrectText: "تو د سے", correctText: "تودے", completeWord: true }, + { incorrectText: "چڑضلتا", correctText: "چڑھتا", completeWord: true }, + { incorrectText: "سلیلتی", correctText: "سلیٹی", completeWord: true }, + { incorrectText: "ٹھنڈرا", correctText: "ٹھنڈا", completeWord: true }, + { incorrectText: "تھنڈری", correctText: "ٹھنڈی", completeWord: true }, + { incorrectText: "متعال", correctText: "متعامل", completeWord: true }, + { incorrectText: "وٹامسن", correctText: "وٹامن", completeWord: true }, + { incorrectText: "شانہیں", correctText: "شاخیں", completeWord: true }, + { incorrectText: "ممستقل", correctText: "مستقل", completeWord: true }, + { incorrectText: "علا نے", correctText: "علاقے", completeWord: true }, + { incorrectText: "چیانہ", correctText: "پیمانہ", completeWord: true }, + { incorrectText: "و وران", correctText: "دوران", completeWord: true }, + { incorrectText: "سقتبل", correctText: "مستقبل", completeWord: true }, + { incorrectText: "بینزوی", correctText: "بیضوی", completeWord: true }, + { incorrectText: "رقا کی", correctText: "دفاعی", completeWord: true }, + { incorrectText: "اچھیعت", correctText: "اہمیت", completeWord: true }, + { incorrectText: "ایٹمالا", correctText: "جمال", completeWord: true }, + { incorrectText: "برلنے", correctText: "بدلنے", completeWord: true }, + { incorrectText: "پرولت", correctText: "بدولت", completeWord: true }, + { incorrectText: "شطریخ", correctText: "شطرنج", completeWord: true }, + { incorrectText: "مزاتم", correctText: "مزاحم", completeWord: true }, + { incorrectText: "اضائے", correctText: "اضافے", completeWord: true }, + { incorrectText: "خلاظت", correctText: "غلاظت", completeWord: true }, + { incorrectText: "ڈرئیے", correctText: "ذریعے", completeWord: true }, + { incorrectText: "زاوہے", correctText: "زاویے", completeWord: true }, + { incorrectText: "ذیلئے", correctText: "ذریعے", completeWord: true }, + { incorrectText: "وصاتی", correctText: "دھاتی", completeWord: true }, + { incorrectText: "مثالا", correctText: "مثلاً", completeWord: true }, + { incorrectText: "تحفوظ", correctText: "محفوظ", completeWord: true }, + { incorrectText: "محمول", correctText: "معمول", completeWord: true }, + { incorrectText: "و وری", correctText: "دوسری", completeWord: true }, + { incorrectText: "دلچی", correctText: "دلچسپی", completeWord: true }, + { incorrectText: "یابش", correctText: "پیمائش", completeWord: true }, + { incorrectText: "ویچی", correctText: "دلچسپی", completeWord: true }, + { incorrectText: "والسلے", correctText: "والے", completeWord: true }, + { incorrectText: "ہور ہ", correctText: "ہو رہ", completeWord: true }, + { incorrectText: "ہشاتا", correctText: "ہٹاتا", completeWord: true }, + { incorrectText: "ہبیرۃ", correctText: "بحیرہ", completeWord: true }, + { incorrectText: "موجوو", correctText: "موجود", completeWord: true }, + { incorrectText: "مکلوس", correctText: "معکوس", completeWord: true }, + { incorrectText: "مخلاف", correctText: "مختلف", completeWord: true }, + { incorrectText: "مخصوس", correctText: "مخصوص", completeWord: true }, + { incorrectText: "محققی", correctText: "محنتی", completeWord: true }, + { incorrectText: "گاڑضا", correctText: "گاڑھا", completeWord: true }, + { incorrectText: "کشافت", correctText: "کثافت", completeWord: true }, + { incorrectText: "کرر ہ", correctText: "کر رہ", completeWord: true }, + { incorrectText: "قرمنی", correctText: "قریبی", completeWord: true }, + { incorrectText: "علائے", correctText: "علاقے", completeWord: true }, + { incorrectText: "ظرئیے", correctText: "طریقے", completeWord: true }, + { incorrectText: "سشافت", correctText: "کثافت", completeWord: true }, + { incorrectText: "ساتمے", correctText: "سامنے", completeWord: true }, + { incorrectText: "زر یہ", correctText: "ذریعہ", completeWord: true }, + { incorrectText: "ذرنے", correctText: " ذریعے", completeWord: true }, + { incorrectText: "ڈاکثر", correctText: "ڈاکٹر", completeWord: true }, + { incorrectText: "خالعسل", correctText: "خالص", completeWord: true }, + { incorrectText: "چنانی", correctText: "چٹانی", completeWord: true }, + { incorrectText: "چڑتصے", correctText: "چڑھنے", completeWord: true }, + { incorrectText: "چچیرہ", correctText: "پیچدہ", completeWord: true }, + { incorrectText: "تقبہ", correctText: "یہ تہہ", completeWord: true }, + { incorrectText: "تعدار", correctText: "تعداد", completeWord: true }, + { incorrectText: "ترارت", correctText: "حرارت", completeWord: true }, + { incorrectText: "پڑتصے", correctText: "پڑھنے", completeWord: true }, + { incorrectText: "پائش", correctText: "پیمائش", completeWord: true }, + { incorrectText: "پاکش", correctText: "پیمائش", completeWord: true }, + { incorrectText: "بڑضتا", correctText: "بڑھتا", completeWord: true }, + { incorrectText: "بجائب", correctText: "عجائب", completeWord: true }, + { incorrectText: "آتجن", correctText: "آکسیجن", completeWord: true }, + { incorrectText: "انواح", correctText: "انواع", completeWord: true }, + { incorrectText: "انحصن", correctText: "الجھن", completeWord: true }, + { incorrectText: "افعتی", correctText: "اٹھتی", completeWord: true }, + { incorrectText: "اعراو", correctText: "اعداد", completeWord: true }, + { incorrectText: "اعدار", correctText: "اعداد", completeWord: true }, + { incorrectText: "مملوں", correctText: "عملوں", completeWord: true }, + { incorrectText: "شملوں", correctText: "عملوں", completeWord: true }, + { incorrectText: "دعوئی", correctText: "دعویٰ", completeWord: true }, + { incorrectText: "دحائی", correctText: "دہائی", completeWord: true }, + { incorrectText: "مقصور", correctText: "مقصود", completeWord: true }, + { incorrectText: "نکلیف", correctText: "تکلیف", completeWord: true }, + { incorrectText: "قیزاب", correctText: "تیزاب", completeWord: true }, + { incorrectText: "پترامے", correctText: "پترے", completeWord: true }, + { incorrectText: "ہنانا", correctText: "بنانا", completeWord: true }, + { incorrectText: "ذریعی", correctText: "ذریعہ", completeWord: true }, + { incorrectText: "میمنٹ", correctText: "سیمنٹ", completeWord: true }, + { incorrectText: "معاوم", correctText: "معلوم", completeWord: true }, + { incorrectText: "روشٹی", correctText: "روشنی", completeWord: true }, + { incorrectText: "صاحنہ", correctText: "مرحلہ", completeWord: true }, + { incorrectText: "باء نث", correctText: "باعث", completeWord: true }, + { incorrectText: "حیشیت", correctText: "حیثیت", completeWord: true }, + { incorrectText: "شخصوص", correctText: "مخصوص", completeWord: true }, + { incorrectText: "مختضر", correctText: "مختصر", completeWord: true }, + { incorrectText: "صر تبہ", correctText: "مرتب", completeWord: true }, + { incorrectText: "سا سے", correctText: "سامنے", completeWord: true }, + { incorrectText: "موجور", correctText: "موجود", completeWord: true }, + { incorrectText: "وصائی", correctText: "دھاتی", completeWord: true }, + { incorrectText: "اضائی", correctText: "اضافی", completeWord: true }, + { incorrectText: "ماد سے", correctText: "مادے", completeWord: true }, + { incorrectText: "زیارہ", correctText: "زیادہ", completeWord: true }, + { incorrectText: "جا شبق", correctText: "جانب", completeWord: true }, + { incorrectText: "کرلی", correctText: "کر لی", completeWord: true }, + { incorrectText: "ترکات", correctText: "حرکات", completeWord: true }, + { incorrectText: "رفا ر", correctText: "رفتار", completeWord: true }, + { incorrectText: "ز إره", correctText: "زیادہ", completeWord: true }, + { incorrectText: "شواہر", correctText: "شواہد", completeWord: true }, + { incorrectText: "جانش", correctText: "پیمائش", completeWord: true }, + { incorrectText: "وتوال", correctText: "دھواں", completeWord: true }, + { incorrectText: "تحرک", correctText: "متحرک", completeWord: true }, + { incorrectText: "ترکمت", correctText: "حرکت", completeWord: true }, + { incorrectText: "اصلا", correctText: "اصلاً", completeWord: true }, + { incorrectText: "ذریے", correctText: "ذریعے", completeWord: true }, + { incorrectText: "کیئے", correctText: "کیلئے", completeWord: true }, + { incorrectText: "تخضر", correctText: "مختصر", completeWord: true }, + { incorrectText: "ایلائٹ", correctText: "ایک", completeWord: true }, + { incorrectText: "کاریخ", correctText: "کالج", completeWord: true }, + { incorrectText: "گنام", correctText: "گمنام", completeWord: true }, + { incorrectText: "تجوں", correctText: "ہجموں", completeWord: true }, + { incorrectText: "لنمبر", correctText: "نمبر", completeWord: true }, + { incorrectText: "ستقل", correctText: "مستقل", completeWord: true }, + { incorrectText: "فورا", correctText: "فوراً", completeWord: true }, + { incorrectText: "تم سمم", correctText: "جسم", completeWord: true }, + { incorrectText: "مشلا", correctText: "مثلاً", completeWord: true }, + { incorrectText: "ینگی", correctText: "یں گی", completeWord: true }, + { incorrectText: "し。ノ", correctText: "طریقوں", completeWord: true }, + { incorrectText: "ینگے", correctText: "یں گے", completeWord: true }, + { incorrectText: "وعزت", correctText: "و عزت", completeWord: true }, + { incorrectText: "ؤزات", correctText: "ذرّات", completeWord: true }, + { incorrectText: "ڈزات", correctText: "ذرّات", completeWord: true }, + { incorrectText: "وسلم", correctText: "و سلم", completeWord: true }, + { incorrectText: "وثنا", correctText: "و ثنا", completeWord: true }, + { incorrectText: "وآلہ", correctText: "و آلہ", completeWord: true }, + { incorrectText: "ہوکر", correctText: "ہو کر", completeWord: true }, + { incorrectText: "ہرہر", correctText: "ہر ہر", completeWord: true }, + { incorrectText: "موسمم", correctText: "موسم", completeWord: true }, + { incorrectText: "منطین", correctText: "منطق", completeWord: true }, + { incorrectText: "مخاط", correctText: "محتاط", completeWord: true }, + { incorrectText: "لامتن", correctText: "لاحق", completeWord: true }, + { incorrectText: "لاتنا", correctText: "لاحق", completeWord: true }, + { incorrectText: "کرگئ", correctText: "کر گئ", completeWord: true }, + { incorrectText: "کررہ", correctText: "کر رہ", completeWord: true }, + { incorrectText: "کردے", correctText: "کر دے", completeWord: true }, + { incorrectText: "فیصدر", correctText: "فیصد", completeWord: true }, + { incorrectText: "فاصے", correctText: "فاصلے", completeWord: true }, + { incorrectText: "شمالث", correctText: "مثلث", completeWord: true }, + { incorrectText: "شاستث", correctText: "مثلث", completeWord: true }, + { incorrectText: "شادیث", correctText: "مثلث", completeWord: true }, + { incorrectText: "زمئی", correctText: "زمینی", completeWord: true }, + { incorrectText: "زریے", correctText: "ذریعے", completeWord: true }, + { incorrectText: "زریہ", correctText: "ذریعہ", completeWord: true }, + { incorrectText: "ذز سے", correctText: "ذرّے", completeWord: true }, + { incorrectText: "خوانس", correctText: "خواص", completeWord: true }, + { incorrectText: "خواسس", correctText: "خواص", completeWord: true }, + { incorrectText: "خطرنے", correctText: "خطرے", completeWord: true }, + { incorrectText: "خالکس", correctText: "خالص", completeWord: true }, + { incorrectText: "خالحس", correctText: "خالص", completeWord: true }, + { incorrectText: "حضولس", correctText: "حصوں", completeWord: true }, + { incorrectText: "جاکر", correctText: "جا کر", completeWord: true }, + { incorrectText: "جاچک", correctText: "جا چک", completeWord: true }, + { incorrectText: "تنقیح", correctText: "پہنچ", completeWord: true }, + { incorrectText: "تمیر", correctText: "تعمیر", completeWord: true }, + { incorrectText: "تقدین", correctText: "تمدن", completeWord: true }, + { incorrectText: "ترکست", correctText: "حرکت", completeWord: true }, + { incorrectText: "پاکر", correctText: "پا کر", completeWord: true }, + { incorrectText: "بیرۂ", correctText: "بحیرۂ", completeWord: true }, + { incorrectText: "بغرضس", correctText: "بغرض", completeWord: true }, + { incorrectText: "بڑضے", correctText: "بڑھنے", completeWord: true }, + { incorrectText: "بڑحے", correctText: "بڑھنے", completeWord: true }, + { incorrectText: "آرہی", correctText: "آ رہی", completeWord: true }, + { incorrectText: "اینیم", correctText: "ایٹم", completeWord: true }, + { incorrectText: "اہتمم", correctText: "ایٹم", completeWord: true }, + { incorrectText: "انتی", correctText: "اٹھتی", completeWord: true }, + { incorrectText: "امیخم", correctText: "ایٹم", completeWord: true }, + { incorrectText: "امتیم", correctText: "ایٹم", completeWord: true }, + { incorrectText: "الییے", correctText: "ایسے", completeWord: true }, + { incorrectText: "ہسونے", correctText: "ہونے", completeWord: true }, + { incorrectText: "جترکن", correctText: "جرمن", completeWord: true }, + { incorrectText: "لائنٹ", correctText: "لائٹ", completeWord: true }, + { incorrectText: "ؤعلان", correctText: "ڈھکن", completeWord: true }, + { incorrectText: "مثا5", correctText: "مثلاً", completeWord: true }, + { incorrectText: "صر کے", correctText: "سرکے", completeWord: true }, + { incorrectText: "قریصب", correctText: "قریب", completeWord: true }, + { incorrectText: "مٹا5", correctText: "مثلاً", completeWord: true }, + { incorrectText: "مسرکٹ", correctText: "سرکت", completeWord: true }, + { incorrectText: "نہیری", correctText: "نہیں", completeWord: true }, + { incorrectText: "خالصں", correctText: "خالص", completeWord: true }, + { incorrectText: "که می", correctText: "کہیں", completeWord: true }, + { incorrectText: "جمہاں", correctText: "جہاں", completeWord: true }, + { incorrectText: "صریفں", correctText: "مریض", completeWord: true }, + { incorrectText: "مثلا", correctText: "مثلاً", completeWord: true }, + { incorrectText: "زمینن", correctText: "زمین", completeWord: true }, + { incorrectText: "نہیرس", correctText: "نہیں", completeWord: true }, + { incorrectText: "تانچ", correctText: "تاریخ", completeWord: true }, + { incorrectText: "مصفوف", correctText: "سفوف", completeWord: true }, + { incorrectText: "مجلی", correctText: "مچھلی", completeWord: true }, + { incorrectText: "تقاری", correctText: "نقدی", completeWord: true }, + { incorrectText: "بیرگ", correctText: "بیرنگ", completeWord: true }, + { incorrectText: "مشا!", correctText: "مثلاً", completeWord: true }, + { incorrectText: "لوانے", correctText: "لوہے", completeWord: true }, + { incorrectText: "خو اس", correctText: "خواص", completeWord: true }, + { incorrectText: "الخم", correctText: "املغم", completeWord: true }, + { incorrectText: "خالیس", correctText: "خالص", completeWord: true }, + { incorrectText: "نظاہر", correctText: "ظاہر", completeWord: true }, + { incorrectText: "ހަން", correctText: "کہتے", completeWord: true }, + { incorrectText: "ترکت", correctText: "حرکت", completeWord: true }, + { incorrectText: "وضعد", correctText: "واحد", completeWord: true }, + { incorrectText: "فضور", correctText: "تصور", completeWord: true }, + { incorrectText: "اہتم", correctText: "ایٹم", completeWord: true }, + { incorrectText: "وَ ور", correctText: "دور", completeWord: true }, + { incorrectText: "وضات", correctText: "دھات", completeWord: true }, + { incorrectText: "واتح", correctText: "واضح", completeWord: true }, + { incorrectText: "نقظہ", correctText: "نقطہ", completeWord: true }, + { incorrectText: "مشال", correctText: "مثال", completeWord: true }, + { incorrectText: "مخضر", correctText: "عنصر", completeWord: true }, + { incorrectText: "لبین", correctText: "یعنی", completeWord: true }, + { incorrectText: "ککڑے", correctText: "ٹکڑے", completeWord: true }, + { incorrectText: "کشیر", correctText: "کشید", completeWord: true }, + { incorrectText: "فتگی", correctText: "فلکی", completeWord: true }, + { incorrectText: "عشوق", correctText: "عیوق", completeWord: true }, + { incorrectText: "شمود", correctText: "نمود", completeWord: true }, + { incorrectText: "زنجی", correctText: "زخمی", completeWord: true }, + { incorrectText: "رضے", correctText: "رکھنے", completeWord: true }, + { incorrectText: "چیرت", correctText: "حیرت", completeWord: true }, + { incorrectText: "چویخ", correctText: "چونچ", completeWord: true }, + { incorrectText: "تیسٹ", correctText: "ٹیسٹ", completeWord: true }, + { incorrectText: "تجری", correctText: "حجری", completeWord: true }, + { incorrectText: "پچاؤ", correctText: "بچاؤ", completeWord: true }, + { incorrectText: "پانج", correctText: "پانچ", completeWord: true }, + { incorrectText: "اہلم", correctText: "ایٹم", completeWord: true }, + { incorrectText: "انتم", correctText: "ایٹم", completeWord: true }, + { incorrectText: "امیم", correctText: "ایٹم", completeWord: true }, + { incorrectText: "الیے", correctText: "ایسے", completeWord: true }, + { incorrectText: "استم", correctText: "ایٹم", completeWord: true }, + { incorrectText: "اجتم", correctText: "ایٹم", completeWord: true }, + { incorrectText: "اتتم", correctText: "ایٹم", completeWord: true }, + { incorrectText: "عیسٹ", correctText: "ٹیسٹ", completeWord: true }, + { incorrectText: "مقصر", correctText: "مقصد", completeWord: true }, + { incorrectText: "رہاؤ", correctText: "دباؤ", completeWord: true }, + { incorrectText: "تخمیں", correctText: "شخص", completeWord: true }, + { incorrectText: "کرلٹ", correctText: "کرنٹ", completeWord: true }, + { incorrectText: "جاقی", correctText: "جاتی", completeWord: true }, + { incorrectText: "قاہل", correctText: "قابل", completeWord: true }, + { incorrectText: "مطاق", correctText: "مطلق", completeWord: true }, + { incorrectText: "مسرمے", correctText: "سرے", completeWord: true }, + { incorrectText: "مث5", correctText: "مثلاً", completeWord: true }, + { incorrectText: "صوڈا", correctText: "سوڈا", completeWord: true }, + { incorrectText: "بہ فں", correctText: "بعض", completeWord: true }, + { incorrectText: "عضلم", correctText: "عضلہ", completeWord: true }, + { incorrectText: "حمیم", correctText: "ضخیم", completeWord: true }, + { incorrectText: "پهلا", correctText: "پہلا", completeWord: true }, + { incorrectText: "زلدہ", correctText: "زندہ", completeWord: true }, + { incorrectText: "مشا", correctText: "مثلاً", completeWord: true }, + { incorrectText: "پچوں", correctText: "بچوں", completeWord: true }, + { incorrectText: "چھول", correctText: "پھول", completeWord: true }, + { incorrectText: "ودق", correctText: "و دق ", completeWord: true }, + { incorrectText: "وشیخ", correctText: "وسیع", completeWord: true }, + { incorrectText: "گروب", correctText: "گروپ", completeWord: true }, + { incorrectText: "پیشل", correctText: "پیتل", completeWord: true }, + { incorrectText: "لوسے", correctText: "لوہے", completeWord: true }, + { incorrectText: "تروف", correctText: "حروف", completeWord: true }, + { incorrectText: "چچے", correctText: "پیچھے", completeWord: true }, + { incorrectText: "قسمحض", correctText: "محض", completeWord: true }, + { incorrectText: "مخمس", correctText: "شخص", completeWord: true }, + { incorrectText: "بعضس", correctText: "بعض", completeWord: true }, + { incorrectText: "بعضل", correctText: "بعض", completeWord: true }, + { incorrectText: "کصن", correctText: "مکھن", completeWord: true }, + { incorrectText: "جسمم", correctText: "جسم", completeWord: true }, + { incorrectText: "قست", correctText: "قیمت", completeWord: true }, + { incorrectText: "ؤگی", correctText: "ؤ گی", completeWord: true }, + { incorrectText: "وگی", correctText: "و گی", completeWord: true }, + { incorrectText: "وگے", correctText: "و گے", completeWord: true }, + { incorrectText: "وجل", correctText: "و جل", completeWord: true }, + { incorrectText: "وَور", correctText: "دور", completeWord: true }, + { incorrectText: "نقیح", correctText: "بیچ", completeWord: true }, + { incorrectText: "نفظ", correctText: "نقطہ", completeWord: true }, + { incorrectText: "نسبب", correctText: "نسب", completeWord: true }, + { incorrectText: "مرضس", correctText: "مرض", completeWord: true }, + { incorrectText: "کیت", correctText: "کمیت", completeWord: true }, + { incorrectText: "کشر", correctText: "کثیر", completeWord: true }, + { incorrectText: "قرگس", correctText: "قرص", completeWord: true }, + { incorrectText: "عزو", correctText: "عز و", completeWord: true }, + { incorrectText: "شعے", correctText: "شعبے", completeWord: true }, + { incorrectText: "ستلج", correctText: "سطح", completeWord: true }, + { incorrectText: "ذزہ", correctText: "ذرّہ", completeWord: true }, + { incorrectText: "دارغ", correctText: "داغ", completeWord: true }, + { incorrectText: "خانس", correctText: "خاص", completeWord: true }, + { incorrectText: "خامس", correctText: "خاص", completeWord: true }, + { incorrectText: "خاصس", correctText: "خاص", completeWord: true }, + { incorrectText: "تیح", correctText: "صحیح", completeWord: true }, + { incorrectText: "تنبہ", correctText: "تہہ", completeWord: true }, + { incorrectText: "تحضس", correctText: "شخص", completeWord: true }, + { incorrectText: "آلتن", correctText: "افق", completeWord: true }, + { incorrectText: "آکر", correctText: "آ کر", completeWord: true }, + { incorrectText: "ایلٹ", correctText: "ایک", completeWord: true }, + { incorrectText: "ارضس", correctText: "ارض", completeWord: true }, + { incorrectText: "ノじ○", correctText: "خارج", completeWord: true }, + { incorrectText: "ؤگے", correctText: "ؤ گے", completeWord: true }, + { incorrectText: "رَور", correctText: "دور", completeWord: true }, + { incorrectText: "ویخت", correctText: "وقت", completeWord: true }, + { incorrectText: "مسطح", correctText: "سطح", completeWord: true }, + { incorrectText: "ہمفں", correctText: "بعض", completeWord: true }, + { incorrectText: "ہیرس", correctText: "ہیں", completeWord: true }, + { incorrectText: "جنسب", correctText: "جذب", completeWord: true }, + { incorrectText: "حصمہ", correctText: "حصہ", completeWord: true }, + { incorrectText: "صصمع", correctText: "حصہ", completeWord: true }, + { incorrectText: "بعضں", correctText: "بعض", completeWord: true }, + { incorrectText: "گ_ۓ", correctText: "گائے", completeWord: true }, + { incorrectText: "شخصں", correctText: "شخص", completeWord: true }, + { incorrectText: "اچد", correctText: "ابجد", completeWord: true }, + { incorrectText: "حلړف", correctText: "حرف", completeWord: true }, + { incorrectText: "ممال", correctText: "میل", completeWord: true }, + { incorrectText: "ہسوا", correctText: "ہوا", completeWord: true }, + { incorrectText: "آدی", correctText: "آدمی", completeWord: true }, + { incorrectText: "شیت", correctText: "مثبت", completeWord: true }, + { incorrectText: "مضس", correctText: "بعض", completeWord: true }, + { incorrectText: "قرس", correctText: "قرص", completeWord: true }, + { incorrectText: "فیظ", correctText: "فقط", completeWord: true }, + { incorrectText: "فتظ", correctText: "فقط", completeWord: true }, + { incorrectText: "طین", correctText: "طیف", completeWord: true }, + { incorrectText: "شرخ", correctText: "سرخ", completeWord: true }, + { incorrectText: "ذیظ", correctText: "فقط", completeWord: true }, + { incorrectText: "خاس", correctText: "خاص", completeWord: true }, + { incorrectText: "جرش", correctText: "بحث", completeWord: true }, + { incorrectText: "ایخ", correctText: "انچ", completeWord: true }, + { incorrectText: "ジレ", correctText: "سائز", completeWord: true }, + { incorrectText: "ہہت", correctText: "بہت", completeWord: true }, + { incorrectText: "ضمم", correctText: "ہضم", completeWord: true }, + { incorrectText: "تبع", correctText: "طبع", completeWord: true }, + { incorrectText: "لفت", correctText: "لغت", completeWord: true }, + { incorrectText: "ابک", correctText: "ایک", completeWord: true }, + { incorrectText: "قپل", correctText: "قبل", completeWord: true }, + { incorrectText: "حضے", correctText: "حصے", completeWord: true }, + { incorrectText: "ސީ-", correctText: "ہے", completeWord: true }, + { incorrectText: "ސި4", correctText: "ہے", completeWord: true }, + { incorrectText: "ސަ6", correctText: "ہے", completeWord: true }, + { incorrectText: "ڑگ", correctText: "ڑ گ", completeWord: true }, + { incorrectText: "ڑد", correctText: "ڑ د", completeWord: true }, + { incorrectText: "ڑج", correctText: "ڑ ج", completeWord: true }, + { incorrectText: "تlٹ", correctText: "تک", completeWord: true }, + { incorrectText: "امس", correctText: "اس", completeWord: true }, + { incorrectText: "جسں", correctText: "جس", completeWord: true }, + { incorrectText: "لمہ", correctText: "نہ", completeWord: true }, + { incorrectText: "ہواوں", correctText: "ہواؤں", completeWord: true }, + { incorrectText: "فرج", correctText: "فوج", completeWord: true }, + { incorrectText: "دروانے", correctText: "دروازے", completeWord: true }, + { incorrectText: "معان ", correctText: "معاف", completeWord: true }, + { incorrectText: "لیجاؤ", correctText: "لے جاؤ", completeWord: true }, + { incorrectText: "راے", correctText: "رائے", completeWord: true }, + { incorrectText: "ہوے", correctText: "ہوئے", completeWord: true }, + { incorrectText: "سنکے", correctText: "سن کے", completeWord: true }, + { incorrectText: "غرضکہ", correctText: "غرضیکہ", completeWord: true }, + { incorrectText: "دیکے", correctText: "دے کے", completeWord: true }, + { incorrectText: "مین", correctText: "میں", completeWord: true }, + { incorrectText: "لیگیا", correctText: "لے گیا", completeWord: true }, + { incorrectText: "کرکے", correctText: "کر کے", completeWord: true }, + { incorrectText: "جسکو", correctText: "جس کو", completeWord: true }, + { incorrectText: "مینے", correctText: "میں نے", completeWord: true }, + { incorrectText: "تجکو", correctText: "تجھ کو", completeWord: true }, + { incorrectText: "مجکو", correctText: "مجھ کو", completeWord: true }, + { incorrectText: "اسکو", correctText: "اس کو", completeWord: true }, + { incorrectText: "اسکا", correctText: "اس کا", completeWord: true }, + { incorrectText: "اسکے", correctText: "اس کے", completeWord: true }, + { incorrectText: "اسنے", correctText: "اس نے", completeWord: true }, + { incorrectText: "وہانسے", correctText: "وہاں سے", completeWord: true }, + { incorrectText: "نہوا", correctText: "نہ ہوا", completeWord: true }, + { incorrectText: "اوسپر", correctText: "اُس پر", completeWord: true }, + { incorrectText: "اسپر", correctText: "اُس پر", completeWord: true }, + { incorrectText: "اسمیں", correctText: "اُس میں", completeWord: true }, + { incorrectText: "اسیوقت", correctText: "اُسی وقت", completeWord: true }, + { incorrectText: "وہانکا", correctText: "وہاں گا", completeWord: true }, + { incorrectText: "بیگناہ", correctText: "بے گناہ", completeWord: true }, + { incorrectText: "ابتک", correctText: "اب تک", completeWord: true }, + { incorrectText: "ہمکو", correctText: "ہم کو", completeWord: true }, + { incorrectText: "پائیگا", correctText: "پائے گا", completeWord: true }, + { incorrectText: "جائیگا", correctText: "جائے گا", completeWord: true }, + { incorrectText: "بیحیا", correctText: "بے حیا", completeWord: true }, + { incorrectText: "ایکدن", correctText: "ایک دِن", completeWord: true }, + { incorrectText: "وہانتک", correctText: "وہاں تک", completeWord: true }, + { incorrectText: "پہونچا", correctText: "پہنچا", completeWord: true }, + { incorrectText: "پہونچایا", correctText: "پہنچایا", completeWord: true }, + { incorrectText: "بچکے", correctText: "بچ کے", completeWord: true }, + { incorrectText: "کیطرف", correctText: "کی طرف", completeWord: true }, + { incorrectText: "انمیں", correctText: "ان میں", completeWord: true }, + { incorrectText: "لیکے", correctText: "لے کے", completeWord: true }, + { incorrectText: "ہونیوالی", correctText: "ہونے والی", completeWord: true }, + { incorrectText: "انپر", correctText: "اُن پر", completeWord: true }, + { incorrectText: "اونپر", correctText: "اُن پر", completeWord: true }, + { incorrectText: "پہونچکے", correctText: "پہنچ کے", completeWord: true }, + { incorrectText: "شبکو", correctText: "شب کو", completeWord: true }, + { incorrectText: "طرحکے", correctText: "طرح کے", completeWord: true }, + { incorrectText: "اسکی", correctText: "اس کی", completeWord: true }, + { incorrectText: "کسقدر", correctText: "کس قدر", completeWord: true }, + { incorrectText: "صبحکو", correctText: "صبح کو", completeWord: true }, + { incorrectText: "پہونچی", correctText: "پہنچی", completeWord: true }, + { incorrectText: "جسقدر", correctText: "جس قدر", completeWord: true }, + { incorrectText: "ہوتو", correctText: "ہو تو", completeWord: true }, + { incorrectText: "نہو", correctText: "نہ ہو", completeWord: true }, + { incorrectText: "آپکا", correctText: "آپ کا", completeWord: true }, + { incorrectText: "آؤنگی", correctText: "آؤں گی", completeWord: true }, + { incorrectText: "چانول", correctText: "چاول", completeWord: true }, + { incorrectText: "آگیا", correctText: "آ گیا", completeWord: true }, + { incorrectText: "دستارخوان", correctText: "دستر خوان", completeWord: true }, + { incorrectText: "دسترخوان", correctText: "دستر خوان", completeWord: true }, + { incorrectText: "راتکو", correctText: "رات کو", completeWord: true }, + { incorrectText: "تمکو", correctText: "تم کو", completeWord: true }, + { incorrectText: "مجھکو", correctText: "مجھ کو", completeWord: true }, + { incorrectText: "مجھپر", correctText: "مجھ پر", completeWord: true }, + { incorrectText: "اوڑی", correctText: "اُڑی", completeWord: true }, + { incorrectText: "آرہا", correctText: "آ رہا", completeWord: true }, + { incorrectText: "آرہے", correctText: "آ رہے", completeWord: true }, + { incorrectText: "ہوگا", correctText: "ہو گا", completeWord: true }, + { incorrectText: "بھوت", correctText: "بھُوت", completeWord: true }, + { incorrectText: "بھوتوں", correctText: "بھُوتوں", completeWord: true }, + { incorrectText: "اتفاق", correctText: "اتّفاق", completeWord: true }, + { incorrectText: "متعلق", correctText: "متعلّق", completeWord: true }, + { incorrectText: "اونچے", correctText: "اُونچے", completeWord: true }, + { + incorrectText: "ادھر ادھر", + correctText: "اِدھر اُدھر", + completeWord: true, + }, + { incorrectText: "مٹی", correctText: "مٹّی", completeWord: true }, + { incorrectText: "چلایا", correctText: "چلّایا", completeWord: true }, + { incorrectText: "چلاتے", correctText: "چلّاتے.", completeWord: true }, + { incorrectText: "برا", correctText: "بُرا", completeWord: true }, + { incorrectText: "تسلی", correctText: "تسلّی", completeWord: true }, + { incorrectText: "تعجب", correctText: "تعجّب", completeWord: true }, + { incorrectText: "گھس", correctText: "گھُس", completeWord: true }, + { incorrectText: "مسکرا", correctText: "مُسکرا", completeWord: true }, + { incorrectText: "پراسرار", correctText: "پُراسرار", completeWord: true }, + { incorrectText: "البتہ", correctText: "البتّہ", completeWord: true }, + { incorrectText: "دن", correctText: "دِن", completeWord: true }, + { incorrectText: "اول", correctText: "اوّل", completeWord: true }, + { incorrectText: "عموما", correctText: "عموماً", completeWord: true }, + { incorrectText: "مجسم", correctText: "مجسّم", completeWord: true }, + { incorrectText: "امید", correctText: "اُمّید", completeWord: true }, + { incorrectText: "احتیاطا", correctText: "احتیاطاً", completeWord: true }, + { incorrectText: "تیار", correctText: "تیّار", completeWord: true }, + { incorrectText: "شدت", correctText: "شدّت", completeWord: true }, + { incorrectText: "پتھر", correctText: "پتھّر", completeWord: true }, + { incorrectText: "دشمن", correctText: "دُشمن", completeWord: true }, + { incorrectText: "تتر بتر", correctText: "تتّر بتّر", completeWord: true }, + { incorrectText: "ہوۓ", correctText: "ہوئے", completeWord: true }, + { incorrectText: "صبح", correctText: "صُبح", completeWord: true }, + { incorrectText: "تمھارا", correctText: "تمہارا", completeWord: true }, + { incorrectText: "تمھاری", correctText: "تمہاری", completeWord: true }, + { incorrectText: "انھیں", correctText: "اُنہیں", completeWord: true }, + { incorrectText: "انھوں", correctText: "اُنہوں", completeWord: true }, + { incorrectText: "تمھیں", correctText: "تمہیں", completeWord: true }, + { incorrectText: "واوو", correctText: "داؤد", completeWord: true }, + { incorrectText: "نواب", correctText: "نوّاب", completeWord: true }, + { incorrectText: "سنائی", correctText: "سُنائی", completeWord: true }, + { incorrectText: "کچھ", correctText: "کُچھ", completeWord: true }, + { incorrectText: "کہاکہ", correctText: "کہا کہ", completeWord: true }, + { incorrectText: "تجھے", correctText: "تُجھے", completeWord: true }, + { incorrectText: "آگئے", correctText: "آ گئے", completeWord: true }, + { incorrectText: "لگاکہ", correctText: "لگا کہ", completeWord: true }, + { incorrectText: "تھاکہ", correctText: "تھا کہ", completeWord: true }, + { incorrectText: "مجھ", correctText: "مُجھ", completeWord: true }, + { incorrectText: "مجھے", correctText: "مُجھے", completeWord: true }, + { incorrectText: "اچھی", correctText: "اچھّی", completeWord: false }, + { incorrectText: "اچھا", correctText: "اچھّا", completeWord: false }, + { incorrectText: "اچھے", correctText: "اچھّے", completeWord: false }, + { incorrectText: "سٹرک", correctText: "سڑک", completeWord: false }, + { incorrectText: "حصہ", correctText: "حصّہ", completeWord: true }, + { incorrectText: "زرا ", correctText: "ذرا ", completeWord: false }, +], +"en" : [ + { incorrectText: "teh", correctText: "the", completeWord: true }, +] +}; diff --git a/demo/src/index.js b/demo/src/index.js index 04ac239..d32492d 100644 --- a/demo/src/index.js +++ b/demo/src/index.js @@ -7,13 +7,16 @@ import { Button, ConfigProvider, Divider, Drawer, FloatButton, Select, Space, Sw import Icons from "../../src/icons"; import i18n from "../../src/i18n"; +import punctuationCorrections from "./punctuationCorrections"; +import wordList from './wordList'; +import autoCorrection from './autoCorrection'; const Demo = () => { const [open, setOpen] = useState(false); const [value, setValue] = useState("# this is heading\n\nThis is a paragraph"); const [configuration, setConfiguration] = useState({ richText: true, - language: "en", + language: "ur", toolbar: { showAlignment: true, showBlockFormat: true, @@ -25,6 +28,12 @@ const Demo = () => { showInsertLink: true, showSave: true, }, + spellchecker: { + enabled : true, + punctuationCorrections: (lang) => punctuationCorrections[lang], + autoCorrections: (lang) => autoCorrection[lang], + wordList : (lang) => wordList[lang] + }, onSave: (contents) => console.log(contents), format: "raw", }); @@ -157,6 +166,15 @@ const Demo = () => { } /> + + setConfiguration((e) => ({ ...e, spellchecker: {... e.spellchecker, enabled : checked } })) + } + /> + diff --git a/demo/src/punctuationCorrections.js b/demo/src/punctuationCorrections.js new file mode 100644 index 0000000..ecc0495 --- /dev/null +++ b/demo/src/punctuationCorrections.js @@ -0,0 +1,38 @@ +export default { + "ur" : [ + { incorrectText: ".", correctText: "۔", completeWord: false }, + { incorrectText: ",", correctText: "،", completeWord: false }, + { incorrectText: " ۔", correctText: "۔", completeWord: false }, + { incorrectText: " - ", correctText: "۔ ", completeWord: false }, + { incorrectText: " ،", correctText: "،", completeWord: false }, + { incorrectText: "?", correctText: "؟", completeWord: false }, + { incorrectText: " ؟", correctText: "؟", completeWord: false }, + { incorrectText: " !", correctText: "!", completeWord: false }, + { incorrectText: "( ", correctText: "(", completeWord: false }, + { incorrectText: " (", correctText: "(", completeWord: false }, + { incorrectText: "ه", correctText: "ہ", completeWord: false }, + { incorrectText: "ک", correctText: "ک", completeWord: false }, + { incorrectText: "ئو", correctText: "ؤ", completeWord: false }, + { incorrectText: "’’", correctText: "”", completeWord: false }, + { incorrectText: "‘‘", correctText: "“", completeWord: false }, + { incorrectText: "…", correctText: "۔۔۔", completeWord: false }, + { incorrectText: "——", correctText: "۔۔۔", completeWord: false }, + { incorrectText: "—", correctText: "۔۔۔", completeWord: false }, + { incorrectText: " ۔۔۔", correctText: "۔۔۔ ", completeWord: false }, + { incorrectText: "،،", correctText: "“", completeWord: false }, + { incorrectText: '۔"', correctText: "۔“", completeWord: false }, + { incorrectText: '، "', correctText: "۔ ”", completeWord: false }, + { incorrectText: '؟"', correctText: "؟“", completeWord: false }, + { incorrectText: '!"', correctText: "!“", completeWord: false }, + { incorrectText: "-", correctText: "۔", completeWord: false }, + { incorrectText: " ، ", correctText: "، ", completeWord: false }, + { incorrectText: " ۔", correctText: "۔ ", completeWord: false }, + { incorrectText: " : ", correctText: ": ", completeWord: false }, + { incorrectText: "آ", correctText: "آ", completeWord: false }, + { incorrectText: "ؤ", correctText: "ؤ", completeWord: false }, + { incorrectText: " ِ", correctText: "ِ", completeWord: false }, + { incorrectText: " ً", correctText: "ً", completeWord: false }, +], +"en": [ + { incorrectText: " ۔ ", correctText: "ً۔ ", completeWord: false }, +]}; diff --git a/demo/src/wordList.js b/demo/src/wordList.js new file mode 100644 index 0000000..8f6a31d --- /dev/null +++ b/demo/src/wordList.js @@ -0,0 +1 @@ +export default { "ur" : [], "en" : [] }; diff --git a/src/commands/spellCheckCommand.js b/src/commands/spellCheckCommand.js new file mode 100644 index 0000000..73b433c --- /dev/null +++ b/src/commands/spellCheckCommand.js @@ -0,0 +1,7 @@ +import { + createCommand, +} from 'lexical'; + +export const SPELLCHECK_COMMAND = createCommand('SPELLCHECK_COMMAND'); +export const AUTO_CORRECT_COMMAND = createCommand('AUTO_CORRECT_COMMAND'); +export const PUNCTUATION_CORRECT_COMMAND = createCommand('PUNCTUATION_CORRECT_COMMAND'); diff --git a/src/i18n/index.js b/src/i18n/index.js index 690107e..4cfab62 100644 --- a/src/i18n/index.js +++ b/src/i18n/index.js @@ -35,6 +35,10 @@ export default { horizontalRule: "Horizontal Rule", image: "Insert Image", save: "Save", + spellcheck: "Spellcheck", + punctuation: "Punctuation", + autoCorrect: "Auto Correct", + tools: "Tools", }, }, 'ur': { @@ -73,6 +77,10 @@ export default { horizontalRule: "افقی قاعدہ", image: "تصویر شامل کریں", save: "محفوظ کریں", + spellcheck: "تصحیح", + punctuation: "املا", + autoCorrect: "خودکار تصحیح", + tools: "آلات", } } } diff --git a/src/icons/index.js b/src/icons/index.js index 88c4038..2dee834 100644 --- a/src/icons/index.js +++ b/src/icons/index.js @@ -40,6 +40,10 @@ const Icons = { Edit: () => (), OK: () => (), Cancel: () => (), - KebabMenu: () => () + KebabMenu: () => (), + Tools: () => (), + SpellChecker: () => (), + Punctuation: () => (), + AutoCorrect: () => () }; export default Icons diff --git a/src/index.js b/src/index.js index 913a62a..143e823 100644 --- a/src/index.js +++ b/src/index.js @@ -8,12 +8,9 @@ import { RichTextPlugin } from "@lexical/react/LexicalRichTextPlugin"; import { CheckListPlugin } from '@lexical/react/LexicalCheckListPlugin'; import { ListPlugin } from '@lexical/react/LexicalListPlugin'; import { HistoryPlugin } from "@lexical/react/LexicalHistoryPlugin"; -import { OnChangePlugin } from "@lexical/react/LexicalOnChangePlugin"; import { useLexicalComposerContext } from "@lexical/react/LexicalComposerContext"; import LexicalErrorBoundary from "@lexical/react/LexicalErrorBoundary"; import { - $convertFromMarkdownString, - $convertToMarkdownString, TRANSFORMERS, } from '@lexical/markdown'; import { MarkdownShortcutPlugin } from '@lexical/react/LexicalMarkdownShortcutPlugin'; @@ -35,6 +32,7 @@ import ContentEditable from './ui/contentEditable'; import i18n from './i18n'; import styles from './styles.module.css'; // Import css modules stylesheet as styles import { SavePlugin } from './commands/saveCommand'; +import SpellCheckerPlugin from './plugins/spellchecker'; // ------------------------------------------------------ const EMPTY_CONTENT = @@ -69,13 +67,19 @@ export default ({ value = EMPTY_CONTENT, richText : false, toolbar : { fonts : null, - fontSizes: null + fontSizes: null, }, onSave: () => {}, language : "en", languageTools: false, placeholder : null, - format: "raw" + format: "raw", + spellchecker : { + enabled: false, + punctuationCorrections: () => [], + autoCorrections: () => [], + wordList : () => [], + } } }) => { const locale = i18n[configuration.language]; @@ -117,7 +121,7 @@ export default ({ value = EMPTY_CONTENT, return (
- { configuration.richText && } + { configuration.richText && } { configuration.richText ? <> { configuration?.toolbar?.showSave && } + { + let retVal = ''; + corrections.forEach((c) => { + // retVal += `(${c.completeWord ? `\\b${c.incorrectText.trim()}\\b` : c.incorrectText.trim()})|`; + retVal += `(${c.incorrectText.trim()})|`; + }); + + // return new RegExp(retVal.slice(0, -1), 'gimu'); + return new RegExp(`\\b${retVal.slice(0, -1)}\\b`, 'giu'); +}; +const correctPunctuations = (punctuationCorrections, text) => { + text = text.replace(/ +/g, ' '); + punctuationCorrections.forEach((c) => { + text = text.replaceAll(c.completeWord ? `${c.incorrectText}\\b` : c.incorrectText, c.correctText); + }); + return text; +}; + +const autoCorrectText = (autoCorrections, text) => { + const correctionRegex = getReplaceAllRegex(autoCorrections); + return text.replaceAll(correctionRegex, (matched) => autoCorrections.find((o) => o.incorrectText === matched)?.correctText.trim()); +}; + +export default function SpellCheckerPlugin({ locale, language, configuration = { enabled : false} }) { + if (!configuration.enabled) return null; + const [editor] = useLexicalComposerContext(); + const [open, setOpen] = useState(false); + + const onClose = () => { + setOpen(false); + }; + + useEffect(() => { + editor.registerCommand( + SPELLCHECK_COMMAND, + () => { + setOpen(true); + }, + COMMAND_PRIORITY_LOW, + ); + + /* automatic correction */ + + editor.registerCommand( + AUTO_CORRECT_COMMAND, + () => { + autoCorrect(); + }, + COMMAND_PRIORITY_LOW, + ); + + const autoCorrectNode = (node, corrections) => { + if (node.getChildren) { + node.getChildren().map((child) => { + autoCorrectNode(child, corrections); + }); + } + + if (node.getType() === 'text') { + node.setTextContent(autoCorrectText(corrections, node.getTextContent())); + } + + return node + } + + const autoCorrect = () => { + var corrections = configuration.autoCorrections(language); + editor.update(() => { + var root = $getRoot(editor); + var children = root.getChildren(); + children.forEach((child) => { + autoCorrectNode(child, corrections); + }); + }); + } + /* automatic correction ends */ + + /* Punctuation correction */ + editor.registerCommand( + PUNCTUATION_CORRECT_COMMAND, + () => { + punctuationCorrection(); + }, + COMMAND_PRIORITY_LOW, + ); + + }, [editor]); + + + const punctuationCorrectionNode = (node, corrections) => { + if (node.getChildren) { + node.getChildren().map((child) => { + punctuationCorrectionNode(child, corrections); + }); + } + + if (node.getType() === 'text') { + node.setTextContent(correctPunctuations(corrections, node.getTextContent())); + } + + return node + } + + const punctuationCorrection = () => { + var corrections = configuration.punctuationCorrections(language); + editor.update(() => { + var root = $getRoot(editor); + var children = root.getChildren(); + children.forEach((child) => { + punctuationCorrectionNode(child, corrections); + }); + }); + } + + /* Punctuation correction ends */ + + return ( + <> + +

Some contents...

+

Some contents...

+

Some contents...

+
+ ); +} diff --git a/src/plugins/toolbar.js b/src/plugins/toolbar.js index c4f9f9b..6c534a4 100644 --- a/src/plugins/toolbar.js +++ b/src/plugins/toolbar.js @@ -48,27 +48,28 @@ import FontDropDown from "./fontDropdown"; import FontSizeDropDown from "./fontSizeDropdown"; import BlockFormatDropDown, { blockTypeToBlockName } from './blockFormatDropDown'; import InsertDropDown from "./insertDropDown"; +import ToolsDropdown from "./toolsDropDown"; import Icons from '../icons' import CheckButton from "../components/checkButton"; import AlignFormatDropDown from "./alignFormatDropDown"; import styles from "../styles.module.css"; import { SAVE_COMMAND } from '../commands/saveCommand'; - // ----------------------------------------------------------- const ToolbarPlugin = ({ configuration = { - fonts : null, - fontSizes : null, - showAlignment: true, - showBlockFormat: true, - showFontFormat: true, - showInsert: true, - showListFormat: true, - showUndoRedo: true, - showExtraFormat: true, - showInsertLink: true, - showSave: false, - onSave: () => {} + toolbar : { + fonts : null, + fontSizes : null, + showAlignment: true, + showBlockFormat: true, + showFontFormat: true, + showInsert: true, + showListFormat: true, + showUndoRedo: true, + showExtraFormat: true, + showInsertLink: true, + showSave: false, + } }, setIsLinkEditMode, locale }) => { const [editor] = useLexicalComposerContext(); const [activeEditor, setActiveEditor] = useState(editor); @@ -278,11 +279,11 @@ const ToolbarPlugin = ({ configuration = { return (
- { configuration.showSave && + { configuration.toolbar.showSave &&
); }; diff --git a/src/plugins/toolsDropDown.js b/src/plugins/toolsDropDown.js new file mode 100644 index 0000000..ed089f5 --- /dev/null +++ b/src/plugins/toolsDropDown.js @@ -0,0 +1,43 @@ +import React, { Fragment } from 'react'; + +import { AUTO_CORRECT_COMMAND, SPELLCHECK_COMMAND, PUNCTUATION_CORRECT_COMMAND } from '../commands/spellCheckCommand'; + +// 3rd party +import { Button, Dropdown, Space, Tooltip } from "antd"; +// local import +import Icons from "../icons"; + +// -------------------------------------- + +function ToolsDropDown({ + editor, + disabled = false, + locale + }) { + const items = [{ + onClick: () => editor.dispatchCommand(PUNCTUATION_CORRECT_COMMAND), + label: locale.resources.punctuation, + icon: + }, { + onClick: () => editor.dispatchCommand(AUTO_CORRECT_COMMAND), + label: locale.resources.autoCorrect, + icon: , + }, { + onClick: () => editor.dispatchCommand(SPELLCHECK_COMMAND), + label: locale.resources.spellchecker, + icon: , + } ] + + return ( + + + + ); + } + +export default ToolsDropDown;