इस प्रोजेक्ट के बारे में

Locale एक Rust वर्कस्पेस है जो यूनिकोड CLDR (Common Locale Data Repository) डेटासेट से जनरेट किए गए स्ट्रॉन्गली-टाइप्ड लोकेल आइडेंटिफायर प्रदान करता है। README बताता है कि यह CLDR 48.1.0 पर आधारित 766 यूनिकोड लोकेल को कवर करता है, जिसका डेटा आधिकारिक CLDR-JSON रिपॉज़िटरी से लिया गया है। वर्कस्पेस में दो क्रेट हैं। locale-rs लोकेल प्रबंधन और फ़ॉर्मेटिंग के लिए प्रोडक्शन लाइब्रेरी है। locale-dev एक कोड जनरेशन टूल है जो नवीनतम CLDR-JSON रिलीज़ के लिए GitHub की जाँच करता है, डेटा डाउनलोड या कैश्ड डेटा का पुनः उपयोग करता है, locale-rs कोड को पुनः जनरेट करता है, और फिर आउटपुट को फ़ॉर्मेट और लिंट करता है। यह डिज़ाइन हार्डकोडेड स्ट्रिंग्स पर निर्भर रहने के बजाय लाइब्रेरी को नए यूनिकोड रिलीज़ के साथ सिंक में रखता है। README में वर्णित मुख्य क्षमताओं में कंपाइल-टाइम पर मान्य एनम वेरिएंट के रूप में टाइप-सेफ लोकेल, नेटिव अंकों का उपयोग करते हुए लोकेल-अवेयर संख्या फ़ॉर्मेटिंग, ICU-संगत मुद्रा पैटर्न, और दिनांक-समय फ़ॉर्मेटिंग के लिए स्थानीयकृत महीने और सप्ताह के दिनों के नाम शामिल हैं। पार्सिंग हाइफ़न, अंडरस्कोर, या मिश्रित केस स्वीकार करती है। लोकेल नेगोशिएशन फ़ॉलबैक चेन का उपयोग करके उपलब्ध विकल्पों में से सर्वोत्तम मैच ढूँढता है, और फ़ज़ी सुझाव टाइपो या अज्ञात लोकेल के लिए सुधार प्रस्तावित करते हैं। README कई समर्थित अंक प्रणालियों को भी सूचीबद्ध करता है, जैसे Latin, Arabic-Indic, Devanagari, Bengali, Tamil, Thai, और Tibetan। उपयोग के उदाहरण सीधे एनम एक्सेस जैसे Locale::en_GB, FromStr या from_flexible के माध्यम से पार्सिंग, भाषा और क्षेत्र सबटैग निकालना, और फ़ॉलबैक लोकेल प्राप्त करना दिखाते हैं। संख्या फ़ॉर्मेटिंग को ToFormattedString ट्रेट के माध्यम से प्रदर्शित किया गया है, जो अंग्रेज़ी के लिए 1,234,567 और जर्मन के लिए 1.234.567 जैसा समूहित आउटपुट उत्पन्न करता है। नेगोशिएशन और सुझाव के उदाहरण भी प्रदान किए गए हैं। README ज़ीरो-कॉस्ट एब्स्ट्रैक्शन और ज़ीरो-साइज़्ड लोकेल एनम वेरिएंट का दावा करता है। यह num-format क्रेट से आर्किटेक्चरल प्रेरणा का उल्लेख करता है। प्रोजेक्ट कोड के लिए लाइसेंसिंग दोहरी MIT या Apache-2.0 है, जबकि लोकेल डेटा Unicode License V3 के अंतर्गत यूनिकोड CLDR से व्युत्पन्न है। योगदान मुख्य रूप से locale-dev में जनरेशन लॉजिक या locale-rs में हेल्पर मेथड्स, टेस्ट और उदाहरणों पर निर्देशित हैं।