मैं लेखकों के लिए यूडब्ल्यूपी प्लैटॉर्म के लिए आवेदन भेज रहा हूं। मैंने जो पहेली छोड़ी है उसका एकमात्र टुकड़ा NHunspell लाइब्रेरी है। मैं इसे वर्तनी जांच और थिसॉरस सुविधाओं के लिए व्यापक रूप से उपयोग करता हूं। मैंने इसे बिल्ली से अनुकूलित किया है, और विभिन्न चीजों के लिए कस्टम शब्दकोश बनाए हैं (यानी प्रत्येक लेखन प्रोजेक्ट के लिए एक अलग शब्दकोश)। यह पुस्तकालय एक सुंदर चीज है।वर्तनी पुस्तकालय (Hunspell की तरह)?
हालांकि, मैं अपने यूडब्ल्यूपी आवेदन में इस डीएलएल को शामिल नहीं कर सकता।
1) क्या इस डीएलएल के उपयोग को मजबूर करने का कोई तरीका है? मैं वास्तव में ऐसा करता हूं कि NHunSpell प्रणाली कैसे स्थापित की जाती है। यह सामान्य ज्ञान बनाता है और उपयोग करने में बहुत तेज़ और आसान है।
2) यदि नहीं, तो क्या कोई कस्टम शब्दकोश, अनुकूलित वर्तनी जांच आदि के लिए बेहतर समाधान की सिफारिश कर सकता है?
अद्यतन 3
काफी अद्यतन और ऑनलाइन पढ़ने के बाद, मैं एक लिंक वर्तनी जांच के सिद्धांत पर चर्चा पाया। यहां एक त्वरित उदाहरण है (जिसे मैंने सबसे अधिक इस्तेमाल किया)।
http://www.anotherchris.net/csharp/how-to-write-a-spelling-corrector-in-csharp/
यह लेख पढ़, उस आधार कोड लेने, और Hunspell .dic फाइलों से अंग्रेजी शब्दों अलग करना के बाद, मुझे लगता है कि UWP में काम करता है अपने ही शब्द-जांच पुस्तकालय बनाया है।
एक बार जब मैं इसे ठोस बना देता हूं, तो मैं इसे एसओ समुदाय को दान करने के लिए नीचे दिए गए उत्तर के रूप में पोस्ट करूंगा। :)
अद्यतन 2
मैं Hunspell के उपयोग के दिए हूँ। ऐसा लगता है कि यह बिल्कुल संभव नहीं है ... क्या कोई अन्य पुस्तकालय/पैकेज हैं जो कोई भी सुझाव दे सकता है?
अद्यतन:
मैं शायद बयान है कि मैं DLL शामिल नहीं कर सकते अलग तरीके से व्यक्त करने की जरूरत है: मैं NuGet के माध्यम से DLL शामिल नहीं कर सकते। यह शिकायत करता है कि डीएलएल यूएपी/यूडब्ल्यूपी मंच के साथ संगत नहीं है।
मैं मैन्युअल रूप से में एक मौजूदा DLL (NuGet नहीं) से लिंक करके मेरी परियोजना में डीएलएल शामिल कर सकता हूं। हालांकि, डीएलएल वास्तव में यूएपी मंच के साथ असंगत साबित होता है। एक शब्द को वर्तनी जांचने के लिए एक सरल कॉल WinForms में ठीक काम करता है, लेकिन System.IO.FileNotFoundException
के साथ तुरंत क्रैश हो जाता है।
एनएचनस्पेल का निर्माता संबंधित .dic
और .aff
फ़ाइलों को लोड करने के लिए पहुंचता है। हालांकि, मैंने फ़ाइलों को स्मृति में लोड करके इसे कम किया है और फिर वैकल्पिक कन्स्ट्रक्टर को कॉल किया है जो उन फ़ाइलों में से प्रत्येक के लिए फ़ाइल नाम के बजाय बाइट सरणी लेता है। यह अभी भी दुर्घटनाओं, लेकिन एक नए Method not found
त्रुटि के साथ:
String System.AppDomain.get_RelativeSearchPath()
मैं किसी भी वर्तनी जांच इंजन कि UAP ढांचे के भीतर काम करेंगे रहा हूँ। मैं परिचितता के कारणों के लिए एनएचनस्पेल होने के लिए इसे पसंद करूंगा। हालांकि, मैं इस तथ्य से अंधे नहीं हूं कि यह एक विकल्प के रूप में तेजी से कम संभव हो रहा है।
जिन लोगों के साथ मैंने काम किया है, उन्होंने सुझाव दिया है कि मैं अंतर्निहित वर्तनी जांच विकल्पों का उपयोग करता हूं।हालांकि, मैं अंतर्निहित विंडोज 10/टेक्स्टबॉक्स वर्तनी जांच सुविधाओं (जिसे मैं जानता हूं) का उपयोग नहीं कर सकता, क्योंकि मैं कस्टम शब्दकोशों को नियंत्रित नहीं कर सकता और मैं ऑटो-कैपिटल और वर्ड-प्रतिस्थापन जैसी चीजों को अक्षम नहीं कर सकता (जहां यह आपके लिए शब्द को प्रतिस्थापित करता है अगर ऐसा लगता है कि यह सही अनुमान के करीब है)। लेखकों के लिए ये बातें अध्याय-आत्महत्या हैं! एक लेखक उन्हें ओएस स्तर पर बंद कर सकता है, लेकिन वे उन्हें अन्य ऐप्स के लिए चाहते हैं, बस यह नहीं।
कृपया मुझे बताएं कि क्या NHunspell के लिए कोई कार्य है। और यदि आप किसी काम के बारे में नहीं जानते हैं, तो कृपया मुझे अपने सर्वोत्तम प्रतिस्थापन कस्टम वर्तनी जांच इंजन को बताएं जो यूएपी ढांचे के भीतर काम करता है।
एक साइड नोट के रूप में, मैं अपने थिसॉरस क्षमता के लिए एनएचनस्पेल का भी उपयोग करता हूं। यह मेरे विंडोज़ ऐप्स में बहुत अच्छी तरह से काम करता है। मुझे इस कार्यक्षमता को भी प्रतिस्थापित करना होगा - उम्मीद है कि उसी इंजन के साथ वर्तनी जांच इंजन के रूप में। हालांकि, अगर आप एक अच्छे थिसॉरस इंजन के बारे में जानते हैं (लेकिन यह चेक वर्तनी नहीं करता है), यह भी अच्छा है!
धन्यवाद !!
क्या आप अधिक जानकारी प्रदान कर सकते हैं? क्या आप स्रोत से निर्माण कर रहे हैं? –
मैंने स्रोत से NHunspell नहीं बनाया था। पिछले रिलीज (यूडब्ल्यूपी नहीं) में, मैंने NuGet संकुल से NHunspell का उपयोग किया। मेरे यूडब्ल्यूपी ऐप के साथ NuGet मुझे बताता है कि NHunspell संगत नहीं है। – Jerry
NuGet सही है, आपको UWP SDK का उपयोग करके स्रोत कोड से लाइब्रेरी बनाने की आवश्यकता है। – yms