आज अपने एंड्रॉइड फोन की एड्रेस बुक को देखते हुए, मैंने महसूस किया कि UTF में वर्ण क्रम से क्रमबद्ध मेरे संपर्कों की सूची को देखना मेरे लिए असुविधाजनक है।
यहाँ सूची मैं देख रहा हूँ:
- जॉन स्मिथ
- माक्र्स भेड़िया
- वीर्य स्लीपपाकोव
- विलियम शेक्सपियर
- ज़ोरो
- अलेक्जेंडर पुश्किन
- इवान बार्कोव
- जैकब पेरेलमैन
लेकिन अगर फोन का लोकल रूसी है तो मैं कौन सी सूची देखना चाहूंगा:
- अलेक्जेंडर पुश्किन (ए)
- विलियम शेक्सपियर (B)
- जॉन स्मिथ (D)
- ज़ोरो (Z)
- इवान बार्कोव (I)
- मार्कस वुल्फ (एम)
- वीर्य स्लीपपकोव (C)
- जैकब पेरेलमैन (I)
और यहाँ एक सूची है - यदि स्थान अंग्रेजी है:
- अलेक्जेंडर पुश्किन (ए)
- इवान बार्कोव (ध्वनि i: *)
- जॉन स्मिथ (J)
- मार्कस वुल्फ (एम)
- वीर्य स्लीपपकोव (एस)
- विलियम शेक्सपियर (डब्ल्यू)
- जैकब पेरेलमैन (YA **)
- ज़ोरो (Z)
विचार स्पष्ट है, है ना? सॉर्टिंग को ध्वन्यात्मक नियमों के अनुसार किया जाता है, सूची के प्रत्येक तत्व को मैंने कोष्ठक में जोड़ा है अक्षर / ध्वनि का मान, जो सूची में तत्व की स्थिति निर्धारित करता है।
*) यह स्पष्ट नहीं है कि इवान को अंग्रेजी छँटाई में कहाँ रखा जाए। ध्वनि [i]] - अंग्रेजी अक्षर E की तरह या फिर, I की तरह?
**) जैकब के साथ भी यही कहानी है। किस लिप्यंतरण विकल्प का उपयोग करना है - YA या JA?
कुछ ऐसा ही प्रतीत होता है। उदाहरण के लिए, फेसबुक पर, आप दोस्तों के खोज क्षेत्र में रूसी या अंग्रेजी में लिखना शुरू कर सकते हैं और "सब कुछ है"
मुझे संदेह है कि सबसे सरल कार्यान्वयन विकल्प लिप्यंतरण नियमों का उपयोग करना होगा। यानी सूची के सभी तत्वों को स्थानीय के आधार पर सिरिलिक या लैटिन में अनुवादित किया जाता है, और उसके बाद ही हल किया जाता है। लेकिन ऊपर बताई गई कुछ समस्याएं हैं। बहुत बार, अक्षर-वार (या सोनोरस) लिप्यंतरण शब्द के उच्चारण को प्रतिबिंबित नहीं करता है।
En.wikipedia.org/wiki/International_Phonetic_Alphabet जैसी किसी चीज पर आधारित एक रास्ता आशाजनक लगता है, लेकिन इस तथ्य से नहीं कि इस आईपीए में ही एक वर्ण व्यवस्था है।
दरअसल, अब सवाल ये हैं कि:
1. क्या पुस्तकालयों के रूप में पहले से ही ऐसे एल्गोरिदम हैं? अगर वहाँ है, लिंक फेंक, कृपया (उदाहरण के लिए, जावा के लिए)।
2. आइए उन समस्याओं की एक सूची को फेंकने का प्रयास करें जिनका सामना आपको स्वयं करना होगा। और, अधिमानतः, इन समस्याओं का समाधान।