2014-11-13 19 views
5

Google Translate Widget'ın "Otomatik" sürümünü seçtikten sonra, tarayıcım site ile aynı dilse "Dil Seç" açılır menüsünü görmemesini bekledim. Bununla birlikte, html lang özniteliğini ne belirlediğime veya tarayıcılarımın tercih ettiği dili ayarladığımdan bağımsız olarak her zaman görüyorum. Ayrıca, meta "google-translate-customization" etiketinin var olup olmadığını fark etmediğini fark ettim, widget her zaman görüş alanında.Google Translate değil Gizli

Kullanıcıların tarayıcısı İngilizce'ye ayarlanmadıysa sitenin yalnızca çevirisi yapılmasını istiyorum.

Herhangi bir tavsiye memnuniyetle karşılanacaktır.

Kod kullandı: -

kafadaki: - Vücut

<meta name="google-translate-customization" content="6bb255d109276506-b73cb06230e6b6c0-gbb2acb9bc95b4a11-12"></meta> 

: -

<div id="google_translate_element"></div> 
      <script> 
      function googleTranslateElementInit() { 
       new google.translate.TranslateElement({pageLanguage: 'en', layout: google.translate.TranslateElement.FloatPosition.TOP_LEFT}, 'google_translate_element'); 
      } 
      </script> 
      <script src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script> 
+0

olası yinelenen (http://stackoverflow.com/questions/17366079/google-website-translator-automatic-display-mode) – Mousey

cevap

3

Bu küçük jquery komut deneyebilirsiniz:

var userLang = navigator.language || navigator.userLanguage; 
if(userLang == "en"){ 
    $("#google_translate_element").css(["display", "none"]); 
} 

Değil eğer eğer doğru bir Hollandalı tarayıcı kullanıyorum ve userLang olarak nl gösterdi. Eminim ingilizce bir tane olmalı. Aksi takdirde userlang'i uyarmalı ve bunu değiştirmelisiniz.

alert(userLang); 

İşte jsfiddle: http://jsfiddle.net/u950mwom/1/

+0

teşekkürler söyledi. Muhtemelen işe yarayacaktı, ama konu şu ki, Google'ın talimatlarını nasıl okuduğuma göre bunu yapmak gerekiyordu. Ben sadece başka birinin konu üzerinde bir şey yapıp yapmadığını ya da kendisiyle Google’da tartıştığını merak ettim? – Craig

+0

Belki de google desteğiyle iletişime geçebilirsiniz? Probalen probleminizi nasıl çözeceğinizi biliyorlar! :-) https://support.google.com/ – Stefan

+1

Zaten bunu denedim. Gerçek e-posta adresi veya uygun bir forum bulunmayan sayfaların bir döngüsüne girmeniz yeterli. Ama eminim ki, yapması gerekeni yapmıyor. – Craig

0

Son olarak, bu için bir düzeltme (google'da uzun süreli bir hata olan). Aşağıdaki kod, İngilizce kullanıcılar için İngilizce kullanıcıları için dil seçimi açılan kutusunu gizler. Ayrıca en-US gibi lokallerle ve daha yeni tarayıcılarla eşleşir. için

<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> 

cross-browser compatibility explained

[Google Web Sitesi Tercüman Otomatik Görüntü Modu]
+0

için). Substr çağrılırken bir tip hatası atar – zudduz

İlgili konular