2013-02-11 26 views
7

मैं अनुवाद के लिए अपनी साइट में इस स्क्रिप्ट का उपयोगका पता लगाने उपयोगकर्ता की पसंदीदा भाषा और Google अनुवाद स्वचालित रूप से

<div id="google_translate_element" align="center"></div> 
<script type="text/javascript"> 
    function googleTranslateElementInit() { 
     new google.translate.TranslateElement({ 
     pageLanguage: 'auto', 
     autoDisplay: false, 
     layout: google.translate.TranslateElement.InlineLayout.SIMPLE 
     }, 'google_translate_element'); 
    } 
</script> 
<script src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script> 

यह ठीक :) काम कर रहा है लेकिन वहाँ उपयोगकर्ता आईपी पता लगाने और अनुवाद कर ऑटो का एक तरीका है जब एक उपयोगकर्ता मेरी साइट पर जाता है?

+1

कृपया ** पढ़ ** टैग ध्यान से उन्हें एक प्रश्न के लागू करने से पहले। इसका [टैग: जावा] के साथ कुछ लेना देना नहीं है। –

+0

* "लेकिन क्या उपयोगकर्ता आईपी और ऑटो अनुवाद का पता लगाने का कोई तरीका है" * भाषा विकल्पों की एक सूची पेश करने के लिए बेहतर है और उपयोगकर्ता को चुनने दें। ब्रिटेन या जर्मनी में यात्रा करते समय फ्रांसीसी राष्ट्रीय शायद फ्रेंच पसंद करेंगे। –

उत्तर

2

हालांकि आप आईपी-आधारित स्थान पहचान का उपयोग कर सकते हैं (this answer देखें), लेकिन यह न तो विश्वसनीय है और न ही आपको उपयोगकर्ता की पसंदीदा भाषाओं (जैसे विदेशों में यात्रा करने वाले उपयोगकर्ता आदि) के बारे में आपको बुद्धिमान बनाता है।

भारी अंतरराष्ट्रीय यातायात वाली वेबसाइटें विभिन्न मानकों का उपयोग करती हैं ताकि यह तय किया जा सके कि सामग्री किस भाषा में प्रस्तुत की जानी चाहिए। इन मानकों में से कुछ:

  • Accept-Language HTTP हेडर जो विस्तार here में चर्चा की है।
  • गुण window.navigator.language या window.navigator.userLanguage (आईई के लिए)
  • आईपी आधारित स्थान का पता लगाने डेटा CLDR के विरुद्ध जांच के मान उस क्षेत्र में आम भाषाओं के साथ आप प्रदान करने के लिए।

मीडियाविकि एक्सटेंशन, UniversalLanguageSelector, प्रत्येक उपयोगकर्ता के लिए सामान्य भाषाओं की सूची प्रदान करने के लिए इन कारकों के साथ-साथ संग्रहीत उपयोगकर्ता वरीयताओं का उपयोग करता है। getFrequentLanguageList() देखें।

डब्ल्यू 3 सी में कुछ recommendations भी है।

1

यह स्क्रिप्ट केवल अंग्रेजी के साथ लोगों को अपनी प्राथमिक या केवल भाषा के रूप में सेट नहीं के लिए अनुवाद ड्रॉप-डाउन बॉक्स से पता चलता है, और जब अंग्रेजी उपयोगकर्ताओं पेज देखने गुप्त रखता है - यह में en का उपयोग कर अंग्रेजी पृष्ठों के लिए कोडित है गूगल कोड

यह का उपयोग करता है भाषा के पहले 2 वर्ण केवल en-US तरह many variants of English, en-tt आदि के लिए जाँच से बचने के लिए - वे सभी en साथ शुरू करते हैं।

इसे आसानी से pageLanguage का पता लगाने के लिए अनुकूलित किया जा सकता है और इसकी तुलना उपयोगकर्ता की पसंदीदा भाषा से की जाती है। navigator.languages के उपयोग महत्वपूर्ण है क्योंकि यह नया ब्राउज़र विज्ञप्ति पर प्रयोग किया जाता है, को देखने के cross-browser compatibility explained

<div id="google_translate_element"></div> 
<script type="text/javascript"> 
var userLang = navigator.language || navigator.userLanguage || navigator.languages; 
if (userLang.substr(0,2) != "en"){ 
    function googleTranslateElementInit() { 
    new google.translate.TranslateElement({pageLanguage: 'en', layout: 
    google.translate.TranslateElement.FloatPosition.TOP_LEFT}, 'google_translate_element'); 
    } 
} 
else { 
    document.getElementById("google_translate_element").style.display="none"; 
    } 
</script> 
<script type="text/javascript" src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>