हिन्दी

टेक्स्ट और रोजमर्रा के टूल · टेक्स्ट टूलकिट

अपरकेस केवल A-Z क्यों नहीं है: ß, तुर्की i और यूनिकोड केस मैपिंग

· पेजभूमि

यूनिकोड केस-रूपांतरण लोकलाइज़ेशन

जर्मन, तुर्की और ग्रीक अक्षर अपरकेस और लोअरकेस से गुजरते हुए रूपांतरित होते हैं
मूल ToolAcre वेक्टर चित्रण

यह बताता है कि क्यों अपर- और लोअरकेसिंग को अक्षरों पर अंकगणित के बजाय यूनिकोड तालिकाओं द्वारा परिभाषित किया जाता है, प्रसिद्ध अपवादों के साथ - ß एसएस बन जाता है, तुर्की डॉटलेस ı और ग्रीक अंतिम सिग्मा - और किसी भी ब्राउज़र-आधारित कन्वर्टर के लिए इसका क्या अर्थ है।

STRASSE और वह अक्षर जो बढ़ गया - क्यों 'स्ट्रेज़' को अपरकेस करने से वर्ण गणना बदल जाती है

`straße` को कन्वर्टर में चिपकाएँ और इसे अपरकेस करें: JavaScript `STRASSE` उत्पन्न करता है। परिणाम स्पष्ट रूप से लंबा है क्योंकि लोअर-केस शार्प एस को यहां उपयोग किए गए डिफ़ॉल्ट ऑपरेशन द्वारा दो बड़े अक्षरों में मैप किया गया है। एक सत्यापन नियम जो मानता है कि केस रूपांतरण वर्ण गणना को संरक्षित करता है, इसलिए मान्य जर्मन पाठ को अस्वीकार, छोटा या गलत तरीके से संरेखित कर सकता है।

विपरीत दिशा स्रोत का पुनर्निर्माण नहीं करती। `STRASSE` को लोअरकेस करने से `strasse` मिलता है, `straße` नहीं, क्योंकि कैपिटल अनुक्रम भी s अक्षरों की एक साधारण जोड़ी का प्रतिनिधित्व करता है। केस रूपांतरण फलस्वरूप एक पाठ परिवर्तन है, न कि प्रतिवर्ती एन्कोडिंग। जब भी पहचान, प्रदर्शन निष्ठा या सटीक तुलना मायने रखती है तो मूल वर्तनी रखें।

केस मैपिंग को एक तालिका के रूप में, सूत्र के रूप में नहीं - कैसे यूनिकोड प्रत्येक केस अक्षर के लिए सरल और पूर्ण केस मैपिंग को परिभाषित करता है

ASCII कोड अक्सर एक सुविधाजनक पैटर्न सिखाता है: अपरकेस और लोअरकेस लैटिन अक्षर पूर्वानुमानित सीमाओं पर कब्जा करते हैं, इसलिए उन्हें जोड़ने के लिए एक संख्यात्मक ऑफसेट दिखाई देता है। एक बार जब पाठ में उन कैटेगरी के बाहर अक्षर होते हैं या मैपिंग एक से अधिक आउटपुट वर्ण उत्पन्न करती है तो वह मॉडल उपयोगी होना बंद कर देता है। इसलिए कन्वर्टर अक्षर अंकगणित करने के बजाय JavaScript स्ट्रिंग केस विधियों को कॉल करता है।

रिपॉजिटरी यूनिकोड मैपिंग तालिकाओं को उजागर नहीं करती है या सरल और पूर्ण मैपिंग को अलग नहीं करती है, इसलिए उन विवरणों को इस टूल की विशेषताओं के रूप में प्रस्तुत नहीं किया जाना चाहिए। इसका अवलोकन योग्य अनुबंध संकीर्ण है: `toUpperCase()` और `toLowerCase()` ब्राउज़र इंजन को सौंपते हैं। परिणामों का परीक्षण उन वातावरणों में किया जाना चाहिए जहां परिवर्तित पाठ का वास्तव में उपभोग किया जाएगा।

केस रूपांतरण इंजन-प्रदत्त चरित्र मैपिंग का उपयोग करता है, न कि अंकगणित या इस टूल द्वारा उजागर की गई तालिकाओं का

लंबाई-बदलने वाला परिणाम किसी इनपुट के बगल वाले काउंटर से अधिक प्रभावित करता है। रूपांतरण से पहले गणना की गई संग्रहीत ऑफसेट, चयन श्रेणियां, हाइलाइट्स और कर्सर स्थिति बाद में इच्छित पाठ को इंगित नहीं कर सकती हैं। यही जोखिम किसी भी वर्कफ़्लो पर लागू होता है जो इनपुट लंबाई से आउटपुट स्थान आवंटित करता है या मानता है कि एक स्रोत चरित्र हमेशा एक परिणाम चरित्र से मेल खाता है।

राउंड-ट्रिपिंग तब भी अंतर खो सकती है, जब कोई विशेष उदाहरण समान दृश्यमान लंबाई रखता हो। कई स्रोत वर्तनी एक अपर-केस फ़ॉर्म पर एकत्रित हो सकती हैं, जिससे निचले-केस ऑपरेशन में मूल को चुनने के लिए पर्याप्त जानकारी नहीं रह जाती है। परिवर्तित मूल्यों की तुलना तभी करें जब वह हानि स्वीकार्य हो; अन्यथा मूल को बनाए रखें और उत्पाद की आवश्यकता के लिए डिज़ाइन की गई तुलना रणनीति का उपयोग करें।

लंबाई बदलने वाली मैपिंग और वापस परिवर्तित करने से हमेशा स्रोत को पुनर्स्थापित क्यों नहीं किया जा सकता है

ग्रीक सिग्मा एक अलग चेतावनी प्रदान करता है. लोअरकेस ग्रीक में सिग्मा रूपों का उपयोग किया जाता है जो किसी शब्द में स्थिति के साथ भिन्न हो सकते हैं, इसलिए बदलते मामले को हमेशा एक अलग वर्ण से तय नहीं किया जा सकता है। JavaScript पूर्ण स्ट्रिंग प्राप्त करता है, जिससे इसके अंतर्निहित लोअरकेसिंग व्यवहार को प्रत्येक कैपिटल सिग्मा को एक निश्चित ग्लिफ़ के साथ बदलने के बजाय आसपास के पाठ पर विचार करने की अनुमति मिलती है।

संपूर्ण शब्दों के अंदर सिग्मा का परीक्षण करें, न कि केवल एकल-वर्ण नमूने के रूप में। विराम चिह्न, रिक्त स्थान और शब्द सीमाएँ इनपुट का हिस्सा हैं जिसका इंजन मूल्यांकन करता है, और उन्हें संपादित करने से लोअर-केस परिणाम बदल सकता है। स्थानीयकरण समीक्षा के लिए, इंटरफ़ेस द्वारा उपयोग किए गए पूरे वाक्यांश को संरक्षित करें और अकेले कोड बिंदुओं का निरीक्षण करने के बजाय उस वाक्यांश की तुलना अनुमोदित अनुवाद से करें।

ग्रीक सिग्मा से पता चलता है कि लोअरकेसिंग आसपास के पाठ पर निर्भर हो सकता है

तुर्की बिंदीदार और बिंदू रहित i को इस तरह से अलग करता है कि डिफ़ॉल्ट, स्थानीय-स्वतंत्र केस रूपांतरण तुर्की-विशिष्ट व्यवहार के रूप में मॉडल नहीं होता है। ToolAcre कॉन्फिगरेशन स्पष्ट रूप से कहता है कि इसकी मैपिंग स्थानीय-स्वतंत्र है और तुर्की डॉटेड और डॉटलेस आई विशेष-केस नहीं हैं। इसलिए एक विश्वसनीय दिखने वाला परिणाम इस बात का सबूत नहीं है कि नाम, पते या इंटरफ़ेस स्ट्रिंग को तुर्की पाठकों के लिए सही ढंग से परिवर्तित किया गया था।

व्यावहारिक प्रतिक्रिया सामान्य रूपांतरण के बाद प्रतिस्थापन जोड़ना नहीं है। इस तरह के प्रतिस्थापन मिश्रित भाषा के पाठ को नुकसान पहुंचा सकते हैं और फिर भी संदर्भ चूक सकते हैं। सॉफ़्टवेयर में एक स्थानीय-जागरूक ऑपरेशन का उपयोग करें जिसका स्थान ज्ञात है, और उस सेटिंग में तुर्की या अज़ेरी सामग्री की समीक्षा करें। इस कन्वर्टर में, i उदाहरणों को प्रलेखित सीमा के प्रदर्शन के रूप में मानें।

टर्किश डॉटेड और डॉटलेस मुझे स्थानीय-जागरूक हैंडलिंग की आवश्यकता है जो यह कन्वर्टर प्रदान नहीं करता है

ToolAcre संपूर्ण इनपुट पर संबंधित JavaScript स्ट्रिंग विधियों को कॉल करके UPPER और उससे कम को लागू करता है। यह किसी लोकेल को पास नहीं करता है, किसी भाषा शब्दकोश को लोड नहीं करता है या सर्वर-साइड रूपांतरण का अनुरोध नहीं करता है। इसलिए आउटपुट ब्राउज़र इंजन का डिफ़ॉल्ट केस परिणाम है, जो सामान्य एप्लिकेशन व्यवहार का निरीक्षण करने के लिए उपयोगी है, लेकिन भाषा-विशिष्ट टाइपोग्राफी को प्रमाणित करने के लिए नहीं।

बग को पुन: प्रस्तुत करते समय अंतर मायने रखता है। सटीक स्रोत स्ट्रिंग, चयनित परिवर्तन और परिणामी स्ट्रिंग को केवल यह रिपोर्ट करने के बजाय कि पूंजीकरण गलत लग रहा है, रिकॉर्ड करें। यदि उत्पादन कोड समान डिफ़ॉल्ट JavaScript विधियों का उपयोग करता है, तो कन्वर्टर एक कॉम्पैक्ट तुलना प्रदान करता है। यदि उत्पादन स्थानीय-जागरूक APआई का उपयोग करता है, तो इस पेज का मिलान प्रासंगिक स्वीकृति परीक्षण नहीं है।

इसमें क्या शामिल नहीं है - डिग्राफ के लिए शीर्षक-आवरण नियम और राजधानी ẞ का इतिहास

टाइटल केस बटन जानबूझकर सीमित अनुबंध के साथ एक और परिवर्तन है। यह चिह्नों या एपोस्ट्रोफ़ को मिलाकर अक्षरों का क्रम ढूँढता है, पहले अक्षर को बड़ा करता है और बाकी को छोटा करता है। इसमें कोई भाषा शब्दकोश या शैली-गाइड अपवाद नहीं है, इसलिए संक्षिप्त शब्द और उचित संज्ञाएं बदल सकती हैं, जबकि `of` और `the` जैसे छोटे शब्द अन्य शब्दों की तरह बड़े अक्षरों में लिखे गए हैं।

यह आलेख पूंजी शार्प के रूपरेखा के प्रस्तावित इतिहास या शीर्षक-केसिंग डिग्राफ के लिए व्यापक नियमों पर निर्भर नहीं करता है, क्योंकि इनमें से कोई भी निरीक्षण स्रोतों द्वारा स्थापित नहीं किया गया है। वे विषय स्वतंत्र संदर्भों के साथ मूल्यवान हो सकते हैं, लेकिन वे भेजे गए फ़ंक्शन की व्याख्या नहीं करते हैं। यहां विश्वसनीय मार्गदर्शन प्रत्येक परिवर्तित शीर्षक की समीक्षा करना और जानबूझकर वर्तनी को मैन्युअल रूप से पुनर्स्थापित करना है।

असमर्थित वर्णमाला इतिहास के बिना, इस टूल में शीर्षक केस व्यवहार

केस कन्वर्टर में तीन केंद्रित जांचों का प्रयास करें: अपरकेस `straße`, कैपिटल सिग्मा वाले ग्रीक शब्द को लोअरकेस, और दोनों दिशाओं के माध्यम से बिंदीदार और बिंदी रहित i नमूने चलाएं। अंग्रेजी से भविष्यवाणी करने के बजाय वास्तविक तारों का निरीक्षण करें। फिर प्रयोगों के बीच पूर्ववत करें का उपयोग करें ताकि प्रत्येक परिणाम पिछले हानिपूर्ण परिवर्तन के बजाय मूल पाठ से शुरू हो।

व्यापक पाठ क्रियाशील है: केस रूपांतरण लंबाई बदल सकता है, भेदों को ध्वस्त कर सकता है और भाषाई संदर्भ पर निर्भर हो सकता है जिसे एक डिफ़ॉल्ट ऑपरेशन नहीं जानता है। उन व्यवहारों को उजागर करने के लिए टूल का उपयोग करें, न कि सार्वभौमिक स्थानीयकरण शुद्धता का वादा करने के लिए। स्रोत पाठ को सुरक्षित रखें, पूर्ण वास्तविक वाक्यांशों का परीक्षण करें, और जहां भी भाषा-विशिष्ट परिणाम की आवश्यकता हो, स्थानीय-जागरूक समीक्षा लागू करें।