परिदृश्यjQuery ब्राउज़र की भाषा का पता लगाने
मैं एक पेज बनाने की आवश्यकता में हूँ (क्लाइंट-साइड केवल) का पता लगाता है क्या भाषा ब्राउज़र का उपयोग कर और उस भाषा से संबंधित उपयुक्त वर्ग तत्व को प्रदर्शित करता है है, और खाल दूसरे।
अंग्रेजी डिफ़ॉल्ट भाषा होगी, इसलिए यदि सरणी में से कोई भी कक्ष मिलान नहीं होता है, तो यह प्रदर्शित होगा।
मैं navigator.language
और navigator.userLanguage
(IE) मान का उपयोग कर रहा हूं यह पता लगाने के लिए कि ब्राउज़र वर्तमान में किस भाषा का उपयोग कर रहा है।
मेरे पास वर्तमान में कुछ कोड है जो प्रगति पर है, लेकिन मुझे सभी संभावित संभावनाओं को शामिल करने का सर्वोत्तम तरीका सुनिश्चित नहीं है और फिर उन्हें सरणी का उपयोग करके चुनें।
देश के साथ एक से अधिक भाषा बंधे होने की संभावना भी है। उदाहरण के लिए अंग्रेजी के उदाहरण के रूप में कहें, en-us, en-uk आदि .. मैं इसे कैसे जोड़ूं?
कोड
एचटीएमएल
<ul class="text">
<li class="en active">English: Some text in english</li>
<li class="fr">French: Some text in french</li>
<li class="de">German: Some text in german</li>
<li class="it">Italian: Some text in italian</li>
<li class="ja">Japanese: Some text in japanese</li>
<li class="es">Spanish: Some text in spanish</li>
</ul>
जे एस (WIP)
var userLang = navigator.language || navigator.userLanguage,
countries = ['fr', 'de', 'it', 'ja', 'es'],
languagues = ['fr', 'de', 'it', 'ja', 'es'];
if (userLang === "fr") {
$('li').removeClass('active');
$('.fr').addClass('active');
}
उदाहरण
आपके समय के लिए धन्यवाद।
अद्यतन
पूर्ण समाधान है कि मेरे लिए काम किया प्रदान करने के लिए और अंत में भविष्य उपयोगकर्ताओं की मदद करने, मैं ऊपर से HTML
का एक ही लेआउट का इस्तेमाल किया और putvande's jQuery solution के साथ संयुक्त।
नोट: यह प्रभाव ब्राउज़र के लिए चुनी गई भाषा के आधार पर परिवर्तनों को ट्रिगर करता है। कैसे गूगल क्रोम में यह करने के लिए पर एक उदाहरण के रूप: सेटिंग के
- जाओ - करने के लिए नीचे>
- स्क्रॉल करें और क्लिक करें "उन्नत सेटिंग दिखाएं ..." ->
- क्लिक करें "भाषा और इनपुट सेटिंग्स ... "->
- फिर चुनें कि आप वांछित भाषा हैं, क्लिक करें और अपने ब्राउज़र को पुनरारंभ करें।
मुझे उम्मीद है कि इससे मदद मिलती है।
क्लाइंट पक्ष पर अंतर्राष्ट्रीयकरण करने के लिए असामान्य। संभवतः सर्वर-साइड की बजाय इसकी आवश्यकता है? – Orbling
@ ऑर्बलिंग, दुर्भाग्य से इस परिस्थिति के लिए हाँ। – Xareyo
क्या आप AJAX या कुछ ऐसे के माध्यम से मांग पर लोड भाषा सेट नहीं प्राप्त कर सकते हैं? सीटू में सभी अनुवादों को आपके पास जितना अधिक होना होगा, जो कुछ तत्व प्रकारों के साथ दर्दनाक होगा। आप शायद चयनकर्ता के अलावा किसी भी तत्व पर एक सक्रिय वर्ग के बारे में चिंता करने के बजाय '.show()' का उपयोग कर सकते हैं। – Orbling