सर्वर पर भेजे गए HTTP Accept-Language शीर्षलेख को देखने का उचित तरीका है। इसमें उन भाषाओं की क्रमबद्ध, भारित सूची शामिल है जिन्हें उपयोगकर्ता ने अपने ब्राउज़र को प्राथमिकतापूर्वक कॉन्फ़िगर किया है।
दुर्भाग्यवश यह हेडर जावास्क्रिप्ट के अंदर पढ़ने के लिए उपलब्ध नहीं है; आपको जो भी मिलता है वह navigator.language
है, जो आपको बताता है कि वेब ब्राउज़र का स्थानीय संस्करण किस प्रकार स्थापित किया गया था। यह जरूरी नहीं है कि उपयोगकर्ता की पसंदीदा भाषाएं हों।आईई पर आपको systemLanguage
(ओएस स्थापित भाषा), browserLanguage
(language
के समान) और userLanguage
(उपयोगकर्ता कॉन्फ़िगर किया गया ओएस क्षेत्र) मिलता है, जो सभी समान रूप से अनुपयोगी होते हैं।
अगर मैं उन गुणों के बीच चयन करने के लिए किया था, मैं पहले userLanguage
के लिए सूंघ चाहते हैं, language
करने और उस के बाद ही वापस गिरने (अगर उन किसी भी उपलब्ध भाषा से मेल नहीं खाती) browserLanguage
और अंत में systemLanguage
को देखकर।
आप नेट कि बस स्वीकार करें-भाषा शीर्ष लेख पढ़ता है और स्ट्रिंग में हैडर मूल्य के साथ एक JavaScript फ़ाइल के रूप में बाहर इसे वापस थूक, जैसे .:
var acceptLanguage= 'en-gb,en;q=0.7,de;q=0.3';
पर कहीं और एक सर्वर साइड स्क्रिप्ट डाल सकते हैं
तो आप HTML में उस बाहरी सेवा पर इंगित करने वाले < स्क्रिप्ट स्रोत> और भाषा शीर्षलेख को पार्स करने के लिए जावास्क्रिप्ट का उपयोग कर सकते हैं। ऐसा करने के लिए मुझे किसी भी मौजूदा लाइब्रेरी कोड के बारे में पता नहीं है, हालांकि, चूंकि स्वीकार्य-भाषा पार्सिंग लगभग हमेशा सर्वर की ओर होती है।
जो भी आप कर रहे हैं, आपको निश्चित रूप से उपयोगकर्ता को ओवरराइड की आवश्यकता है क्योंकि यह हमेशा कुछ लोगों के लिए गलत अनुमान लगाएगा। अक्सर यूआरएल में भाषा सेटिंग डालना सबसे आसान होता है (उदाहरण के लिए http: //www.example.com/en/site बनाम http: //www.example.com/de/site), और उपयोगकर्ता को क्लिक करने दें दोनों के बीच संबंध। कभी-कभी आप दोनों भाषा संस्करणों के लिए एक यूआरएल चाहते हैं, इस मामले में आपको कुकीज़ में सेटिंग स्टोर करना होगा, लेकिन यह उपयोगकर्ता एजेंटों को कुकीज़ और सर्च इंजन के लिए कोई समर्थन नहीं दे सकता है।
एक ही तरीका है एक ब्राउज़र अपने उपयोगकर्ता के बारे में मेटा डेटा साझा कर सकता है और अनुरोध यूआरएल और हेडर के माध्यम से है। फ़ायरफ़ॉक्स पकड़ो और अनुरोध किए जाने पर भेजे जाने वाले शीर्षलेखों पर एक नज़र डालें। सामान्य अनुरोध और प्रतिक्रिया शीर्षलेखों की जांच करना काफी दिलचस्प है। आपके सुझावों के लिए –