2009-07-30 8 views
23

मैं जानता हूँ कि इस सवाल का answered before कर दिया गया है, लेकिन जवाब दिया पूरी कहानी नहीं है:फ़ायरफ़ॉक्स भाषा सेटिंग कैसे प्राप्त करें? (वास्तव में)

मैं Firefox के विकल्प> सामग्री में चला गया और छोड़कर जर्मन/जर्मनी सभी भाषाओं को हटा दिया, और navigator.language hasn ' टी बदल गया - यह अभी भी एन-जीबी है (मैं यूके में हूं)।

मुझे बताया गया है कि अगर मुझे जर्मन फ़ायरफ़ॉक्स इंस्टॉल होता है तो यह काम करेगा, लेकिन मुझे ऐसा करने की ज़रूरत नहीं है, है ना?

उपयोगकर्ता की स्ट्रिंग में अभी भी एन-जीबी है; लेकिन HTTP हेडर पर स्वीकार्य भाषा सही ढंग से सेट है। तो यह फ़ायरफ़ॉक्स में एक बग प्रतीत होता है, मैंने अपने बगजिला के माध्यम से थोड़ी देर बिताई, लेकिन मुझे यह सटीक बग लॉग नहीं देखा जा सकता है, हालांकि मेरे लिए यह एक बहुत बड़ी निगरानी दिखता है?

उत्तर

9

मैं इस कार्य के लिए फ़ायरफ़ॉक्स एड-ऑन का उपयोग करने की अनुशंसा करता हूं। Simple Locale Switcher, Locale Switcher या Quick Locale Switcher इत्यादि। (* सावधानी बरतें इस ऐड-ऑन में विज्ञापन के सामान हो सकते हैं या यदि आपने अभी फ़ायरफ़ॉक्स अपडेट किया है तो काम नहीं कर सकता है)।

* एक और समाधान भाषा/लोकेल का उपयोग कर एक अलग पुराने फ़ायरफ़ॉक्स संस्करण को डाउनलोड करना है। (सावधानी) आपको इसे एक अलग फ़ोल्डर में स्थापित करने और स्थापित करने के लिए ताकि आप अपने मौजूदा संस्करण को ओवरराइट नहीं कर सकें। Download here मैं स्पेनिश में फ़ायरफ़ॉक्स 28 का उपयोग कर रहा हूँ। मैंने अपडेट अक्षम कर दिए और मैंने इसे अपने डिफ़ॉल्ट ब्राउज़र के रूप में उपयोग करने से इनकार कर दिया। यदि आप ऐसा करते हैं तो एक ही समय में केवल एक फ़ायरफ़ॉक्स संस्करण चलाना चाहिए।

+0

आपके सुझाव के लिए धन्यवाद - शायद फ़ायरफ़ॉक्स के उस संस्करण में बग के आसपास काम करेगा, लेकिन जब मैं इसका परीक्षण करने के लिए वापस चला गया तो ऐसा लगता है कि उन्होंने इसे ठीक कर दिया है, अब (संस्करण 12.0)! ऐड-ऑन और बदलती भाषा को हटाकर अब अपेक्षित काम करता है। मैं आपका जवाब स्वीकार करूंगा क्योंकि अगर समस्या दूर नहीं हुई तो यह उपयोगी होता। –

+0

सावधान रहें, नवीनतम संस्करण में एडवेयर/ब्लूटवेयर – SyntaxRules

+0

फ़ायरफ़ॉक्स ≥57 पर काम नहीं करता है –

2

मुझे लगता है कि नेविगेटर.भाषा अपनी इंटरफ़ेस भाषा (मुझे लगता है कि जीबी अंग्रेजी है) लौटाता है, ऐसा नहीं है कि वह दस्तावेज़ चाहता है। उपयोगकर्ता-एजेंट स्ट्रिंग भी रिपोर्ट करता है कि फ़ायरफ़ॉक्स का कौन सा संस्करण डाउनलोड किया गया था।

स्वीकार्य भाषा क्या गंतव्य सर्वर को जांचना चाहिए।

मैं इस व्यवहार को अपने काफी सही मानता हूं (मानते हैं कि यह इंटरफेस (मेनू और ऐसे) वास्तव में जीबी अंग्रेजी में हैं)।

+0

मुझे समझ में नहीं आता कि एक को बदलने के लिए अच्छा क्यों है (हेडर में स्वीकृति_भाषा) और लोकेल से संबंधित कुछ और नहीं? –

+1

@Ian: अगर मैं आपके प्रश्न को सही ढंग से समझता हूं, तो जवाब यह है कि यूआई भाषा और भाषा जो आप अपनी वेबसाइटों को देखना चाहते हैं, अलग हो सकती है। उदाहरण: यदि मैं जर्मनी में इंटरनेट कैफे में हूं, तो फ़ायरफ़ॉक्स का जर्मन संस्करण सबसे अधिक स्थापित किया जाएगा।मैं शायद एक और ब्राउज़र स्थापित नहीं कर सकता, लेकिन मैं चाहता हूं कि मेरी वेबसाइटें अंग्रेजी में प्रस्तुत हों। मैं स्वीकृति-भाषा बदलता हूं और अब मैं अपनी पसंद की भाषा में वेबसाइटों को देख सकता हूं, भले ही यूआई दूसरी भाषा में हो। –

+1

@ ग्रांट: बिल्कुल। यह वास्तव में हमारी समस्या है। उपयोगकर्ता केवल 'स्वीकृति-भाषा' को बदल सकता है अगर वे फ़ायरफ़ॉक्स पर हैं जो उस भाषा में स्थानीयकृत नहीं है जिसका उपयोग वे करना चाहते हैं। और आप फ़ायरफ़ॉक्स से जावास्क्रिप्ट में नहीं जा सकते (आप आईई से कर सकते हैं)। –

0

यदि आप Accept-Language मान चाहते हैं, तो आप क्लाइंट-साइड जावास्क्रिप्ट का उपयोग कर पुनर्प्राप्त नहीं कर सकते हैं। आपको इसे अपने सर्वर से प्राप्त करना होगा।

तुम सच में क्लाइंट साइड जावास्क्रिप्ट में यह मान चाहते हैं, तो यह सर्वर पर पढ़ सकते हैं और इसे वापस लिखने ग्राहक के लिए:

<script type="text/javascript"> 
// setting the accept language HTTP header value 
// in client-side JavaScript from PHP 
var acceptLanguage = '<?php echo $_SERVER["HTTP_ACCEPT_LANGUAGE"]; ?>'; 
</script> 
+2

मुझे पता है। यह हमारा वर्तमान वर्कअराउंड है (एएसपी.नेट का उपयोग करके): सिस्टम.Web.HttpContext.Current.Request.UserLangauges। यह थोड़ा 'धार्मिक' लग सकता है, लेकिन मुझे नहीं लगता कि हमें ऐसा करना होगा, यद्यपि! –

14

दोनों navigator.language और HTTP उपयोगकर्ता-एजेंट शीर्ष लेख का उपयोग अपने en-GB http://mxr.mozilla.org/mozilla-central/source/toolkit/locales/en-US/chrome/global/intl.properties#8

या के लिए निर्माण: http://hg.mozilla.org/l10n-central/en-GB/file/88dd673c01f1/toolkit/chrome/global/intl.properties#l8

वरीयता "general.useragent.locale" है, जो Firefox के वातावरण का निर्माण करने के लिए आप डाउनलोड की intl.properties में हार्ड-कोडेड है का मूल्य

यदि आप इसे अपने निर्माण के लिए बदलना चाहते हैं, तो बस इसके बारे में लोड करें: config, general.useragent.locale ढूंढें, इसे डबल-क्लिक करें, और मान बदलें।

+1

@Ted: 'navigator.language'' general.useragent.locale' का उपयोग कर सकता है (मैंने इसका परीक्षण नहीं किया है), लेकिन 'स्वीकार्य-भाषा' यहां 'general.useragent.locale' मान का उपयोग नहीं कर रहा है। ऐसा लगता है कि 'intl.accept_languages' का उपयोग करें। मैंने मैन्युअल रूप से 'intl.accept_languages' को बदल दिया है (यानी - टूल्स> विकल्प ...> सामग्री> भाषाएं नहीं) और लाइव HTTP शीर्षलेख फ़ायरफ़ॉक्स को नए मान का उपयोग करके दिखाता है। –

+0

@Ted: 'phpinfo() '' स्वीकार करें-भाषा' HTTP शीर्षलेख में 'intl.accept_languages' के नए मान की भी रिपोर्ट करता है, इसलिए यह कुछ अजीब स्थानीय घटना नहीं है। –

+0

ओह ओह, मेरा मतलब है "उपयोगकर्ता-एजेंट" शीर्षलेख है, लेकिन मुझे लगता है कि मैं आपका पूर्व उत्तर देखकर उलझन में आया हूं। माफ़ कीजिये! –

-1

फ़ायरफ़ॉक्स में, कॉन्फ़िगरेशन, "intl.accept_languages" के मान को संशोधित करें, अपने आवश्यक लोकेल में, मान लीजिए कि डी-डीई करेगा।

+0

क्षमा करें, लेकिन मेरा प्रश्न है कि एक बार अंतिम उपयोगकर्ता ने यूआई में इस सेटिंग को संशोधित किया है - मेरी जावास्क्रिप्ट को इसे कैसे प्राप्त करना चाहिए? - सरल जवाब: यह नहीं कर सकता। –

+0

मुझे लगता है कि जेएस उपयोगकर्ता जानकारी से यह जानकारी प्राप्त करने में सक्षम होना चाहिए। accept_language मानक अनुरोध पैरामीटर में से एक है। – lwpro2

संबंधित मुद्दे