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

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

लोकेल 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++ मानकों से जुड़ा कोई मानक स्थानीय नाम नहीं है, चूंकि पॉज़िक्स प्रारूप सामान्यतः उपयोग की जाने वाली आधार रेखा है।

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

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

$ स्थान LANG=cs_CZ.UTF-8 LC_CTYPE= cs_CZ.UTF-8 LC_NUMERIC= cs_CZ.UTF-8 LC_TIME= cs_CZ.UTF-8 LC_COLLATE= cs_CZ.UTF-8 एलसी_मौद्रिक= सीएस_सीजेड.यूटीएफ-8 LC_MESSAGES= cs_CZ.UTF-8 एलसी_पेपर= सीएस_सीजेड.यूटीएफ-8 एलसी_नाम= सीएस_सीजेड.यूटीएफ-8 LC_ADDRESS= cs_CZ.UTF-8 LC_TELEPHONE= cs_CZ.UTF-8 एलसी_मापन= सीएस_सीजेड.यूटीएफ-8 एलसी_पहचान= सीएस_सीजेड.यूटीएफ-8 LC_ALL=

माइक्रोसॉफ्ट प्लेटफॉर्म के लिए विशिष्टताएँ
विंडोज़ विशिष्ट लैंग्वेज और [https:// का उपयोग करता है web.archive.org/web/20160610104759/https://msdn.microsoft.com/en-us/library/cdax410z(VS.71).aspx क्षेत्र] स्ट्रिंग्स। माइक्रोसॉफ्ट विंडोज़ पर प्रबंधित कोड के लिए स्थानीय पहचानकर्ता (एलसीआईडी) एक संख्या है जैसे अंग्रेजी (संयुक्त राज्य अमेरिका) के लिए 1033 या जापानी (जापान) के लिए 1041। इन संख्याओं में एक लैंग्वेज कोड (निचले 10 बिट्स) और एक संस्कृति कोड (ऊपरी बिट्स) सम्मिलित होते हैं, और इसलिए इन्हें अक्सर हेक्साडेसिमल नोटेशन में लिखा जाता है, जैसे 0x0409 या 0x0411। माइक्रोसॉफ्ट .NET के लिए प्रबंधित कोड अप्लिकेशन प्रोग्रामिंग अंतरफलक (एपीआई) पेश करना शुरू कर रहा है जो इस प्रारूप का उपयोग करता है। आम तौर पर जारी होने वाले पहले कार्यों में से एक अंतरराष्ट्रीयकृत डोमेन नामों के साथ समस्याओं को कम करने के लिए एक फ़ंक्शन है, लेकिन विंडोज विस्टा बीटा 1 में और भी बहुत कुछ है।

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

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

यह भी देखें

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

बाहरी संबंध

 * 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