शब्दकोश की व्यावहारिक गाइड
अपना शब्दकोश Lectern में आयात करें
Lectern में दबाकर अर्थ देखने के लिए पूरा अंग्रेज़ी WordNet डेटाबेस पहले से मौजूद है। अगर आपको कोई और शब्दकोश चाहिए — कोई ऐतिहासिक, कोई विशेष शब्दावली, या किसी ऐसी भाषा का जो ऐप में नहीं है — तो उसे एक JSON फ़ाइल में बदलकर आयात कर लीजिए। सब कुछ आपके डिवाइस पर ही रहता है।
छोटा जवाब
नीचे दिए उदाहरण जैसी एक JSON फ़ाइल बनाइए, उसे फ़ोन में कहीं भी रखिए, फिर सेटिंग्स → शब्दकोश और कैटलॉग → शब्दकोश फ़ाइल आयात करें खोलकर उसे चुनिए। जो शब्द आपकी फ़ाइल में हैं उनके लिए वही अर्थ दिखेगा; बाकी शब्दों के लिए WordNet ही चलता रहेगा।
पहले से क्या मिलता है
पढ़ते समय किसी शब्द को दबाए रखिए और Lectern पेज छोड़े या इंटरनेट से जुड़े बिना अर्थ दिखा देगा। अंग्रेज़ी के लिए ऐप के साथ आया Open English WordNet इस्तेमाल होता है: लगभग 152 000 शब्द, अर्थों, उदाहरणों और पर्यायवाची के साथ। सामान्य पढ़ाई के लिए यह काफ़ी है, इसलिए शब्दकोश तब आयात कीजिए जब आपको वह चाहिए जो WordNet नहीं दे सकता:
- ऐसा ऐतिहासिक शब्दकोश जिसके अर्थ आपकी किताबों के दौर से मेल खाते हों।
- कोई विशेष शब्दावली — कानूनी, चिकित्सा, नौवहन, या कोई फ़ैनडम विकी।
- किसी और भाषा का शब्दकोश, या आपकी भाषा में अनुवाद करने वाला द्विभाषी शब्दकोश।
फ़ाइल का प्रारूप
एक JSON फ़ाइल, जिसका प्रारूप lectern-dict-v1 कहलाता है। पूरा प्रारूप बस इतना है:
{
"format": "lectern-dict-v1",
"language": "en",
"name": "Webster's 1913",
"entries": {
"abate": { "pos": "verb", "def": "Become less intense or widespread." },
"aberration": { "pos": "noun", "def": "A departure from the norm." }
}
}
| फ़ील्ड | ज़रूरी | काम क्या है |
|---|---|---|
format | नहीं | अगर मौजूद हो तो lectern-dict से शुरू होना चाहिए। बाकी कोई भी मान अस्वीकार हो जाता है। |
language | सुझाया गया | यह शब्दकोश जिस मूल भाषा-कोड (en, nl, hi…) के लिए है। इसी से तय होता है कि कौन-सी किताबें इसे इस्तेमाल करें। न हो या गलत हो तो en मान लिया जाता है। |
name | नहीं | सेटिंग्स में शब्द-गिनती के नीचे दिखता है, ताकि पता रहे कौन-सी फ़ाइल चालू है। |
entries | हाँ | शब्द → { pos, def }। खाली entries अस्वीकार हो जाता है। |
कुंजियाँ छोटे अक्षरों में रखिए। आप जो शब्द दबाते हैं वह खोजने से पहले छोटे अक्षरों में बदल जाता है, पर फ़ाइल की कुंजियाँ जैसी लिखी हैं वैसी ही इस्तेमाल होती हैं। इसलिए "Aberration" जैसी कुंजी कभी नहीं मिलेगी। ऊपरी स्तर के अनजान फ़ील्ड नज़रअंदाज़ हो जाते हैं, तो स्रोत का licence या version फ़ील्ड बेझिझक रहने दीजिए।
असली शब्दकोश कहाँ से लें
| स्रोत | आकार | लाइसेंस |
|---|---|---|
| Webster's 1913 | लगभग 102 000 प्रविष्टियाँ, हर एक में एक लंबा अर्थ | पब्लिक डोमेन |
| Wiktionary के एक्सट्रैक्ट (kaikki.org) | लाखों में, ज़्यादातर भाषाएँ | CC BY-SA |
| आपकी अपनी शब्दावली | जितनी आप लिखें | आपका |
सबसे आसान शुरुआत पब्लिक-डोमेन Webster's 1913 है, जो matthewreagan/WebstersEnglishDictionary रिपॉज़िटरी में शब्द → अर्थ की एक ही JSON फ़ाइल के रूप में मिलता है।
एक कमांड में बदल लीजिए
इसे convert.py नाम से सहेजिए। यह किसी भी सपाट { "word": "definition" } JSON को Lectern के प्रारूप में बदल देता है, कुंजियाँ छोटे अक्षरों में करता है और अतिरिक्त स्पेस हटा देता है।
import json, sys, re
src = json.load(open(sys.argv[1]))
out = {
"format": "lectern-dict-v1",
"language": "en",
"name": "Webster's 1913",
"entries": {
w.strip().lower(): {"pos": "", "def": re.sub(r"\s+", " ", d).strip()}
for w, d in src.items() if d.strip()
},
}
json.dump(out, open(sys.argv[2], "w"), ensure_ascii=False, separators=(",", ":"))
फिर इसे चलाइए और नतीजा फ़ोन पर कॉपी कर लीजिए:
python3 convert.py webster.json lectern-en-webster.json
इससे 102 217 प्रविष्टियों वाली 24 MB की फ़ाइल बनती है। Lectern इसे कुछ सेकंड में पढ़ लेता है और मेमोरी में रखता है, इसलिए इतना आकार आराम से चलता है। इससे काफ़ी बड़ी फ़ाइलें भी चलती हैं पर पुराने फ़ोनों में ज़्यादा मेमोरी लेती हैं — स्रोत में लाखों प्रविष्टियाँ हों तो पहले छाँट लीजिए।
Lectern में आयात कीजिए
- फ़ाइल फ़ोन पर रखिए। डाउनलोड, Drive, USB केबल — जहाँ भी Android का फ़ाइल पिकर पहुँच सके।
- सेटिंग्स खोलिए। नीचे की पट्टी में सेटिंग्स दबाइए, फिर शब्दकोश और कैटलॉग वाला हिस्सा खोलिए।
- “शब्दकोश फ़ाइल आयात करें” दबाइए। पिकर में अपनी JSON चुनिए। पढ़ते समय पंक्ति में “शब्दकोश पढ़ा जा रहा है…” दिखेगा।
- स्थिति वाली पंक्ति देखिए। वहाँ कुछ ऐसा दिखना चाहिए: “102217 शब्द लोड हुए · आयातित फ़ाइल”, और नीचे आपका
name। - कोई किताब खोलकर शब्द दबाए रखिए। अब पॉपअप में आपका अर्थ दिखेगा, उपयोगकर्ता का आयातित शब्दकोश लिखा हुआ।
वापस जाने के लिए अंतर्निहित का उपयोग करें दबाइए। इससे आपके सभी आयातित शब्दकोश हट जाते हैं और ऐप के साथ आए शब्दकोश लौट आते हैं।
दूसरी भाषाओं के शब्दकोश
आयात का बटन एक ही है और वह हर भाषा के लिए काम करता है। फ़ाइल कहाँ जाएगी यह आपकी JSON के अंदर मौजूद language फ़ील्ड तय करता है, इसलिए हिंदी शब्दकोश में "language": "hi" होना चाहिए। फिर Lectern उसे उन किताबों में इस्तेमाल करता है जिन्हें वह हिंदी मानता है, और आपकी अंग्रेज़ी खोज को नहीं छेड़ता। हर भाषा के लिए एक आयातित शब्दकोश रखा जा सकता है।
भाषा का मिलान मूल कोड पर होता है, इसलिए en-GB या en-US वाली किताब — Project Gutenberg और Standard Ebooks में आम — आपके en शब्दकोश का ही इस्तेमाल करती है।
आम दिक्कतें ठीक कीजिए
“फ़ाइल पढ़ी नहीं जा सकी”
या तो फ़ाइल सही JSON नहीं है, या उसका format lectern-dict वाला मान नहीं है, या entries खाली है। पहले JSON जाँच लीजिए; एन्कोडिंग की गड़बड़ी पर अटका कन्वर्टर अक्सर अधूरी फ़ाइल लिख देता है।
आयात हो गया पर शब्द नहीं मिलते
लगभग हमेशा बड़े-छोटे अक्षर की बात होती है: कुंजियाँ छोटे अक्षरों में होनी चाहिए। टेक्स्ट एडिटर में देख लीजिए कि फ़ाइल में "abate" है, "Abate" नहीं।
एक किताब में मेरा शब्दकोश काम नहीं करता
Lectern शब्दकोश किताब की भाषा से चुनता है। किताब की विवरण शीट खोलकर देखिए कि उसने कौन-सी भाषा पहचानी, फिर अपने शब्दकोश का language फ़ील्ड वैसा ही कर दीजिए।
अर्थ बहुत लंबे हैं
ऐतिहासिक शब्दकोश अक्सर सारे अर्थ एक ही पैराग्राफ़ में भर देते हैं। पॉपअप स्क्रॉल होता है, पर छोटे अर्थ चाहिए तो फ़ाइल लिखने से पहले कन्वर्टर में def को छोटा कर दीजिए।
शब्दकोश आयात से जुड़े सवाल
शब्दकोश आयात करने पर कुछ ऑनलाइन जाता है क्या?
नहीं। फ़ाइल आपके डिवाइस पर Lectern के निजी स्टोरेज में कॉपी होती है और वहीं से पढ़ी जाती है। Lectern की पढ़ने वाली सुविधाएँ पूरी तरह ऑफ़लाइन चलती हैं।
क्या मेरा शब्दकोश WordNet को पूरी तरह बदल देता है?
नहीं। जो शब्द आपकी फ़ाइल में हैं उनके लिए वही चलती है। बाकी शब्दों के लिए अंतर्निहित WordNet काम करता रहता है, इसलिए आयात करने से दायरा सिर्फ़ बढ़ता है।
क्या एक साथ कई शब्दकोश आयात कर सकते हैं?
हर भाषा के लिए एक। दूसरा अंग्रेज़ी शब्दकोश आयात करने पर पहला हट जाता है; हिंदी शब्दकोश आपके अंग्रेज़ी वाले के साथ-साथ रहता है।
फ़ाइल कितनी बड़ी हो सकती है?
लगभग 100 000 प्रविष्टियों वाली 24 MB की फ़ाइल कुछ ही सेकंड में आयात होती है और ठीक चलती है। उससे आगे सीमा किसी तय ऊपरी हद की नहीं, पुराने डिवाइसों की मेमोरी की होती है।
क्या StarDict या DSL शब्दकोश इस्तेमाल कर सकते हैं?
सीधे नहीं — Lectern सिर्फ़ lectern-dict-v1 JSON पढ़ता है। ज़्यादातर प्रारूप छोटी-सी स्क्रिप्ट से बदले जा सकते हैं, और ऊपर दिया कन्वर्टर एक चलती-फिरती शुरुआत है।
आगे पढ़िए
पढ़ते समय शब्दों के बारे में और
आपके शब्द, आपका शब्दकोश
एक बार आयात कीजिए, फिर पेज छोड़े या ऑनलाइन गए बिना कोई भी शब्द देखिए।
इससे लेंGoogle Play