लोकेल (कंप्यूटर सॉफ्टवेयर)

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

लोकेल i18n का एक महत्वपूर्ण पक्ष है।

सामान्य स्थानीय सेटिंग्स
इन सेटिंग्स में सामान्यतः निम्नलिखित डिस्प्ले (आउटपुट) प्रारूप सेटिंग्स सम्मिलित होती हैं:


 * संख्या प्रारूप सेटिंग (LC_NUMERIC, C/C++)
 * वर्ण वर्गीकरण, स्थिति रूपांतरण सेटिंग्स (LC_CTYPE, C/C++)
 * दिनांक-समय प्रारूप सेटिंग (LC_TIME, C/C++)
 * स्ट्रिंग संयोजन सेटिंग (LC_COLLATE, C/C++)
 * मुद्रा प्रारूप सेटिंग (LC_MONETARY, C/C++)
 * कागज का आकार सेटिंग (एलसी_पेपर, आईएसओ 30112)
 * कोलोर सेटिंग

लोकेल सेटिंग्स एक लोकेल दिए गए आउटपुट को फ़ॉर्मेट करने के बारे में हैं। इसलिए, समय क्षेत्र की जानकारी और डेलाइट सेविंग टाइम सामान्यतः स्थानीय सेटिंग्स का भाग नहीं हैं।

इनपुट प्रारूप सेटिंग कम सामान्य है, जिसे अधिकतर प्रति एप्लिकेशन के आधार पर परिभाषित किया जाता है।

प्रोग्रामिंग और मार्कअप लैंग्वेज समर्थन
इन वातावरणों में,


 * सी (प्रोग्रामिंग भाषा)
 * सी++
 * एफिल (प्रोग्रामिंग भाषा)
 * जावा (प्रोग्रामिंग भाषा)
 * .नेट फ्रेमवर्क
 * रेबोल
 * रूबी (प्रोग्रामिंग भाषा)
 * पर्ल
 * पीएचपी
 * पायथन (प्रोग्रामिंग भाषा)
 * एक्सएमएल
 * जावासर्वर पेज
 * जावास्क्रिप्ट

और अन्य (आजकल) यूनिकोड-आधारित वातावरणों को बीसीपी 47 के समान प्रारूप में परिभाषित किया गया है। उन्हें सामान्यतः केवल आईएसओ 639 (लैंग्वेज) और आईएसओ 3166-1 अल्फा-2 (2-अक्षर देश) कोड के साथ परिभाषित किया जाता है।

अंतर्राष्ट्रीय मानक
मानक C और C++ में, स्थान को (पाठ संयोजन),  (वर्ण वर्ग),  (मुद्रा प्रारूप),  (संख्या प्रारूप), और  (समय प्रारूप) की "श्रेणियों" में परिभाषित किया गया है। सभी लोकेल सेटिंग्स सेट करने के लिए विशेष  श्रेणी का उपयोग किया जा सकता है।

न्यूनतम लोकेल नाम C के अतिरिक्त C और C++ मानकों से जुड़ा कोई मानक स्थानीय नाम नहीं है, चूंकि पॉज़िक्स प्रारूप सामान्यतः उपयोग की जाने वाली आधार रेखा है।

पॉज़िक्स प्लेटफ़ॉर्म
यूनिक्स, लिनक्स और अन्य जैसे पॉज़िक्स प्लेटफ़ॉर्म पर, स्थानीय पहचानकर्ताओं को लैंग्वेज टैग की बीसीपी 47 परिभाषा के समान परिभाषित किया जाता है, किन्तु स्थानीय संस्करण संशोधक को अलग तरह से परिभाषित किया जाता है, और वर्ण सेट को वैकल्पिक रूप से पहचानकर्ता के एक भाग के रूप में सम्मिलित किया जाता है। पॉज़िक्स या एक्सपीजी प्रारूप [language[_territory][.codeset][@modifier]] |undefined है। (उदाहरण के लिए, ऑस्ट्रेलियाई अंग्रेजी UTF-8 एन्कोडिंग का उपयोग कर रही है en_AU.UTF-8.) अलग से, आईएसओ/आईईसी 15897 एक अलग रूप, language_territory+audience+application,sponsor_version का वर्णन करता है, चूँकि यह अत्यधिक संदिग्ध है कि इसका उपयोग किया गया है या नहीं।

अगले उदाहरण में स्पष्ट यूटीएफ-8 एन्कोडिंग के साथ चेक लैंग्वेज (सीएस), चेक गणराज्य (सीजेड) के लिए कमांड  का आउटपुट है:

माइक्रोसॉफ्ट प्लेटफॉर्म के लिए विशिष्टताएँ
विंडोज़ विशिष्ट लैंग्वेज और क्षेत्र स्ट्रिंग्स का उपयोग करता है।

माइक्रोसॉफ्ट विंडोज़ पर प्रबंधित कोड के लिए स्थानीय पहचानकर्ता (एलसीआईडी) एक संख्या है जैसे अंग्रेजी (संयुक्त राज्य अमेरिका) के लिए 1033 या जापानी (जापान) के लिए 1041। इन संख्याओं में एक लैंग्वेज कोड (निचले 10 बिट्स) और एक संस्कृति कोड (ऊपरी बिट्स) सम्मिलित होते हैं, और इसलिए इन्हें अधिकांश हेक्साडेसिमल नोटेशन में लिखा जाता है, जैसे 0x0409 या 0x0411।

माइक्रोसॉफ्ट .NET के लिए प्रबंधित कोड एप्लिकेशन प्रोग्रामिंग इंटरफेस (एपीआई) प्रस्तुत करना प्रारंभ कर रहा है जो इस प्रारूप का उपयोग करता है। सामान्यतः जारी किए जाने वाले पहले कार्यों में से एक अंतरराष्ट्रीयकृत डोमेन नामों के साथ समस्याओं को कम करने के लिए एक फ़ंक्शन है, किन्तु विंडोज विस्टा बीटा 1 में और भी बहुत कुछ है।

विंडोज़ विस्टा से प्रारंभ करते हुए लगभग सभी एलसीआईडी-आधारित एपीआई को बदलने के लिए बीसीपी 47 स्थानीय नामों का उपयोग करने वाले नए फ़ंक्शन प्रस्तुत किए गए हैं।

लैंग्वेज का एक पॉज़िक्स-जैसा स्थानीय नाम प्रारूप language[_country-region[.code-page]] |undefined विंडोज 10 और 11 के यूसीआरटी (यूनिवर्सल सी रन टाइम) में उपलब्ध है।

यह भी देखें

 * अंतर्राष्ट्रीयकरण और स्थानीयकरण
 * आईएसओ 639 लैंग्वेज कोड
 * आईएसओं 3166-1 अल्फा-2 क्षेत्र कोड
 * आईएसओ 15924 स्क्रिप्ट कोड
 * आईईटीएफ लैंग्वेज टैग
 * सी स्थानीयकरण कार्य
 * सीसीएसआईडी
 * कोड पेज
 * सामान्य लोकेल डेटा रिपॉजिटरी
 * देश द्वारा दिनांक और समय का प्रतिनिधित्व
 * ऐपलोकेल

बाहरी संबंध

 * BCP 47
 * Language Subtag Registry
 * Common Locale Data Repository
 * Javadoc API documentation
 * Locale and Language information from Microsoft
 * MS-LCID: Windows Language Code Identifier (LCID) Reference from Microsoft
 * Microsoft LCID list
 * Microsoft LCID chart with decimal equivalents
 * POSIX Environment Variables
 * Low Level Technical details on defining a POSIX locale
 * ICU Locale Explorer
 * Debian Wiki on Locales
 * Article "The Standard C++ Locale" by Nathan C. Myers
 * locale(7): Description of multi-language support - Linux man page
 * Apache C++ Standard Library Locale User's Guide
 * Sort order charts for various operating system locales and database collations
 * NATSPEC Library
 * Description of locale-related UNIX environment variables in Debian Linux Reference Manual
 * Guides to locales and locale creation on various platforms