Extension:UniversalLanguageSelector/hi

वैश्विक भाषा चयनकर्ता एक उपकरण है जिसकी मदद से सदस्य आसानी से भाषा चुनकर इसका समर्थन कॉन्फ़िगर कर सकते हैं। इसमें और, दोनों एक्सटेंशनों की भी कार्यक्षमताएँ शामिल हैं (जिस वजह से इन्हें कालग्रस्त घोषित कर अब वैश्विक भाषा चयनकर्ता को प्राथमिकता दी जाती है)। अधिक जानकारी के लिए पढ़ें।

प्रयोग
इसका मुख्य लक्ष्य है कि इससे सदस्य आसानी से भाषा चुनकर इसका समर्थन कॉन्फ़िगर कर पाएँ।

इस एक्सटेंशन में निम्न सुविधाएँ हैं:


 * 1) भाषाओं के बड़े समूह से किसी भाषा को चुनना आसान बनाना।
 * 2) चुनाव भौगोलिक स्थान-आधारित लेखन, खोज, आदि के आधार पर किया जा सकता है।
 * 3) चुनाव ISO भाषा कोड से, वर्तमान इंटरफ़ेस भाषा में उचित भाषा के नाम के ज़रिए, या फिर अपनी लिपि में भाषा के नाम (स्वनाम) से किया जा सकता है
 * 4) क्रॉस-भाषा खोज - किसी भी लिपि में भाषा का नाम खोजें
 * 5) भाषाओं के नामों का स्वतः पूर्णकरण
 * 6) खोज स्ट्रिंग्स में स्वचालित वर्तनी जाँच
 * 7) GeoIP पक आधारित भाषाओं के सुझाव
 * 8) सदस्य के ब्राउज़र/OS की भाषा के अनुसार भाषा का चुनाव
 * 9) इनपुट के माध्यम
 * पूर्ण अनुदेश के लिए देखें।
 * 1) इनपुट माध्यमों का एक आसानी से उपलब्ध समूह, जो संपादन-योग्य हर क्षेत्र में उपलब्ध होता है
 * 2) बहुत-से भाषाओं के लिए विभिन्न इनपुट उपकरण प्रदान करता है
 * 3) * Extension:Narayam#Supported schemes पर एक कालग्रस्त सूची उपलब्ध है
 * 4) हर भाषा के अनुसार इनपुट माध्यमों की वरीयताएँ
 * 5) वेब-फ़ॉण्ट्स
 * 6) पृष्ठ पर एम्बेड किए गए फ़ॉण्ट के रूप में इस्तेमाल करने के लिए हर भाषा में कई सारे फ़ॉण्ट्स
 * 7) * आप सभी उपलब्ध फ़ॉण्ट्स देख सकते हैं
 * 8) हर भाषा के अनुसार फ़ॉण्ट की वरीयताएँ



फ़ॉण्ट्स जोड़ना
अधिक भाषाओं का समर्थन जोड़ने के लिए आपको बदल कोड में उचित फ़ॉण्ट्स शामिल करने होंगे। मगर कृपया याद रखें कि हम सिर्फ मुक्त रूप से लाइसेंस किए गए फ़ॉण्ट्स को ही स्वीकार करेंगे, जैसे GNU GPL, SIL OFL, आदि के अंतर्गत लाइसेंस किए गए फ़ॉण्ट्स। इस तरह से मुक्त फ़ॉण्ट्स की एक निर्देशिका का उदाहरण है Google Fonts (इस एक्सटेंशन के लेखकों द्वारा पूरी तरह से जाँचा नहीं गया है); Open Font Library भी देखें।

पहले आपको ऐसा एक मुक्त फ़ॉण्ट बनाना या फिर ढूँढ़ना होगा (यह सबसे ज़रूरी हिस्सा है और आपको यह खुद करना होगा); फिर, इसे उचित प्रारूपों में बदलना होगा, जो हैं eot, ttf, woff; आखिर में, आप Phabricator पर एक अनुरोध फ़ाइल कर सकते हैं ताकि फ़ॉण्ट को इस एक्सटेंशन पर जोड़ दिया जाए।

नीचे '#वेब-फ़ॉण्ट्स तैयार करना' में बताया गया है कि फ़ॉण्ट्स का प्रारूप कैसे बदला जाता है: GNU/लिनक्स ऑपरेटिंग सिस्टम के बारे में बुनियादी जानकारी की ज़रूरत है; अगर आपको इस चरण में दिक्कतें आती हैं, आप इस चरण को छोड़कर यह काम अपने Phabricator अनुरोध पर किसी और को सौंप सकते हैं (बेशक, इससे प्रक्रिया ज़रा-सी धीमी हो जाएगी)।

वेब-फ़ॉण्ट्स तैयार करना
.woff2 बनाना:

ttf से woff2 बनाने के लिए https://github.com/google/woff2 का इस्तेमाल करें। यह एक कंप्रेस किया हुआ woff2 फ़ाइल बना देगा। आधुनिक ब्राउज़रों में यह प्रारूप समर्थित है।

font.ini फ़ाइल बनाएँ। यहाँ उदाहरण है:

भाषा कोड के बाद एक तारे के चिह्न का मतलब है यह फ़ॉण्ट उस भाषा के लिए डिफ़ॉल्ट फ़ॉण्ट होगा। अगर आप इस फ़ॉण्ट को उस भाषा के लिए बस एक विकल्प रखना चाहते हैं, तारे के चिह्न का इस्तेमाल न करें।

फ़ाइलें बनाने के बाद ये करें:


 * 1) data/fontrepo/fonts में फ़ॉण्ट के लिए एक डिरेक्ट्री बनाएँ।
 * 2) ttf, woff, eot और font.ini फ़ाइलों को उस डिरेक्ट्री में डालें और उन्हें स्रोत रिपॉज़िटरी पर जोड़ें ।
 * 3)   डिरेक्ट्री पर जाएँ और   चलाएँ।
 * 4) बदलावों को रिपॉज़िटरी पर कमिट करें  और गिट कार्यप्रवाह के अनुसार उन्हें प्रस्तुत करें।

नई कुँजी मानचित्रण (इनपुट माध्यम) का समर्थन जोड़ना
instructions on the jquery.ime github wiki का पालन करें, मगर Wikimedia-extensions-UniversalLanguageSelector के Phabricator उत्पाद में अनुरोध फ़ाइल करें।

LanguageNameIndex को अपडेट करना
क्रॉस-भाषा खोज करने और स्वनाम खोजने के लिए भाषा की डेटा को परिभाषित करना ज़रूरी है। ULS पर भाषाओं के नामों का एक पहले से परिभाषित इनडेक्स मौजूद है (data/langnames.ser)। अगर आप इसे अपडेट करना चाहते हैं, स्थापित करें और निम्न कमांड से डेटा को अपडेट करें।

php UniversalLanguageSelector/data/LanguageNameIndexer.php और सुनिश्चित करें कि langnames.ser फ़ाइल को ULS/data/ फ़ोल्डर में बनाया जा रहा हो।

कॉन्फ़िगरेशन
स्थापना के समय ये वेरिएबल अपने आप बना दिए जाते हैं और mw.config.get( नाम ) की मदद से जावास्क्रिप्ट के ज़रिए इनका इस्तेमाल किया जा सकता है:


 * - एक संबंध ऐरे जहाँ कुँजियाँ भाषाओं के कोड हैं और वैल्यू हैं अंग्रेज़ी में उनके नाम।
 * - एक ऐरे जहाँ सदस्य के Accept-Language वैल्यू से भाषा कोड हैं। ये भाषाएँ सदस्य के ब्राउज़र की वरीयताओं में चुनी जाती हैं।

फ़ॉण्ट्स प्रदान करने के लिए, अगर ये MIME प्रकार आपके वेब-सर्वर में मौजूद नहीं हैं, तो शायद आप इन्हें जोड़ लेना चाहेंगे। यह गाइड आपके काम आ सकता है।

 font/woff .woff application/vnd.ms-fontobject .eot application/x-font-ttf .ttf

इन वेरिएबलों को भी कॉन्फ़िगर किया जा सकता है:

व्यक्तिगत टूलबार पर सदस्यनाम या लॉग-इन करने की कड़ी के पास एक कड़ी के रूप में (डिफ़ॉल्ट)। : साइडबार पर अंतरभाषा कड़ियों की सूची के हैडर के पास एक आइकॉन के रूप में।
 * - जिस देश से सदस्य विकि पर आता है, उसके अनुसार ULS भौगोलिक-स्थान सेवाओं की मदद से भाषाएँ सुझा सकता है। इसे false पर सेट करने पर भौगोलिक-स्थान का पता नहीं लगाया जाएगा। आप window को सेट करके अपना भौगोलिक-स्थान दे सकते हैं। उस वस्तु पर जाएँ जिसकी कुँजी 'country_code' या 'country' है। इसे true पर सेट करने पर यह विकिमीडिया के GeoIP सेवा को क्वेरी करेगा। सेवा JSONP लौटाएगी, जो दिए गए कॉलबैक पैरामीटर का इस्तेमाल करेगा। डिफ़ॉल्ट है http://freegeoip.net/json/ (चेतावनी: इस सेवा ने अपनी API सेवा बंद कर दी है) और इसकी अपेक्षा रहती है वही प्रारूप।
 * - सभी के लिए भाषा चयन, संक्षिप्त भाषा कड़ियाँ, इनपुट माध्यम और वेब-फ़ॉण्ट्स सक्षम करें, अगर स्वभाव को नीचे के कॉन्फ़िगरेशन वेरिएबलों द्वारा ओवर्राइड न कर दिया जाए। चाहे यह false भी क्यों न हो, क्लास और संसाधन लोड मॉड्यूल्स को दूसरे एक्सटेंशनों के प्रयोग के लिए पंजीकृत किया जाता है। कुकीज़ या setlang क्वेरी पैरामीटर की मदद से भाषा को बदलना संभव नहीं होगा।
 * - cookie और setlang क्वेरी पैरामीटर्स की मदद से गुमनाम सदस्यों को भाषा बदलने की अनुमति दें। अगर आप कुकीज़ पर ध्यान दिए बिना गुमनाम पृष्ठ-दर्शनों को कैश करते हैं, इसका इस्तेमाल न करें। अगर  या फिर   को false पर भी सेट किया जाए, इसपर उनका कोई असर नहीं होता।
 * - डिफ़ॉल्ट से सभी सदस्यों के लिए इनपुट माध्यम सुविधा अक्षम करें। सदस्य द्वारा इसे सक्षम किया जा सकता है।
 * - भाषा चयन ट्रिगर का स्थान और रूप। स्वीकृत वैल्यू हैं: :
 * - उन तत्वों के jQuery सिलेक्टर्स का ऐरे जिनपर IME को सक्षम नहीं किया जाएगा। जैसे:
 * - Accept-Language हैडर से सदस्य की भाषा का पता अपने आप लगाना है या नहीं।

ULS के ट्रिगर का स्थान
व्यक्तिगत टूलबार पर सदस्यनाम या लॉग-इन करने की कड़ी के पास एक कड़ी के रूप में (डिफ़ॉल्ट)। : साइडबार पर अंतरभाषा कड़ियों की सूची के हैडर के पास एक आइकॉन के रूप में।
 * - भाषा चयन ट्रिगर का स्थान और रूप। स्वीकृत वैल्यू हैं: :

ULS को स्क्रीन पर हर जगह रखना संभव है।  वाला कोई भी तत्व ULS का ट्रिगर बन जाएगा।

डिफ़ॉल्ट फ़ॉण्ट्स को ओवर्राइड करना
ULS पर वेब-फ़ॉण्ट्स के रूप में दिखाने के लिए फ़ॉण्ट्स की एक विशाल रिपॉज़िटरी है। कई बार किसी भाषा के लिए एकाधिक फ़ॉण्ट्स भी हो सकते हैं और हर भाषा/लिपि के लिए एक डिफ़ॉल्ट फ़ॉण्ट होता है। फ़ॉण्ट्स के क्रम अथवा डिफ़ॉल्ट क्रम को ग्लोबल स्क्रिप्ट्स (MediaWiki:Common.js) या फिर व्यक्तिगत स्क्रिप्ट्स (Special:MyPage/common.js) के ज़रिए निम्न कोड से ओवर्राइड किया जा सकता है:

कैशिंग कॉन्फ़िगरेशन
To ensure that the web fonts files are cached on the clients' machines, font file types must be added to the web server configuration. In Apache2 this consists of:


 * Adding font file extensions to the FileTimes regex at FilesMatch for the relevant directory, example:
 * Adding ExpiresByType values to the relevant MIME types, similarly to image MIME types.
 * Note that there's no standard MIME type for TTF. application/x-font-ttf is used for Wikimedia.
 * Adding the MIME types:

 AddType font/woff .woff AddType application/vnd.ms-fontobject .eot AddType application/x-font-ttf .ttf

For a full example see the caching configuration update done for the Wikimedia cluster.

पृष्ठ अनुवाद
UniversalLanguageSelector is one of the dependencies of the extension, which uses it for several language selection features. One of it is the MyLanguage system for links, which depends on the interface language of the user, but more can be configured: see Page translation feature.

वेबफॉन्ट का उपयोग
User can choose webfonts for a language from the Language settings -> Display settings. By default, the first font in that menu will be applied to the wiki. A user can change the font and it will be remembered across the pages. Optionally user can disable the font embedding too by selecting system font.

If the font is available in user's local system, font will not be downloaded from the mediawiki server. It will be taken from the user's computer. Otherwise, font will be downloaded from the server only once. ie when the user selects the font first time. Next time onwards, font will be taken from the local cache.

By specifying font-family
Inside the wiki text YourText, webfonts extension will check whether the font is available with the extension, if so it will download it to the client. So the reader will not face any difficulty in reading the text even if the font specified is not available in their computer.

By specifying language
Inside the wiki text YourText, webfonts extension will check whether any font is available for the given language with the extension, if so it will download it to the client. So the reader will not face any difficulty in reading the text even if the font specified is not available in their computer. If there are multiple fonts for the language, the default font will be used. If default font is not preferred, use the font-family approach to specify the font. If the tag has both lang and font-family definitions, font-family get precedence.

उदाहरण:

𒄖𒉈𒅁𒌨𒅎

gives the text rendered in Cuneiform using Akkadian font

𒄖𒉈𒅁𒌨𒅎

इसे भी देखें

 * Extension:Google Translator
 * Extension:Google Translator
 * Extension:Google Translator
 * Extension:Google Translator
 * Extension:Google Translator