如何更改谷歌翻译在编码中选择语言文本

How to change google translator select language text in coding

本文关键字:选择 语言 文本 编码 何更改 谷歌 翻译      更新时间:2023-09-26

我在我的网站上使用谷歌翻译,我想更改下拉菜单中的选择语言文本。有人建议这样做。这是我的密码;

function googleTranslateElementInit() {
       new google.translate.TranslateElement({pageLanguage: 'en', includedLanguages: 'ar', layout: google.translate.TranslateElement.InlineLayout.SIMPLE}, 'google_translate_element');
}

提前谢谢。

根据这个问题,您可以根据需要修改元素。

像这样:

<script src="https://code.jquery.com/jquery-2.1.4.js"></script>
<div id="google_translate_element"></div>
<script type="text/javascript">
  function googleTranslateElementInit() {
    new google.translate.TranslateElement({  
      pageLanguage: 'en', 
      layout: google.translate.TranslateElement.InlineLayout.SIMPLE
    }, 'google_translate_element');
  }
</script>
<script type="text/javascript" src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>
<script>
  $(document).ready(function(){
    $('#google_translate_element').bind('DOMNodeInserted', function(event) {
      $('.goog-te-menu-value span:first').html('Translate');
      $('.goog-te-menu-frame.skiptranslate').load(function(){
        setTimeout(function(){
          $('.goog-te-menu-frame.skiptranslate').contents().find('.goog-te-menu2-item-selected .text').html('Translate');    
        }, 100);
      });
    });
  });
</script>

http://output.jsbin.com/jucoba

我花了很多时间试图消除"RangeError: Maximum call stack size exceeded."错误。这是我想出的解决方案。只需为yourContent变量指定一个新值,就可以开始了。希望有人会觉得这很有帮助。

    var targetElement = document.getElementById("google_translate_element");
    var yourContent = "Your text or <br /> HTML element"
    targetElement.addEventListener("DOMNodeInserted", () => {
      $(".goog-te-menu-value span:first").each(function (i, obj) {
        if (obj.childNodes[0] && obj.childNodes[0].textContent == "Select Language") {
          $(obj).html(yourContent);
        }
      });
    });

此外,如果你想添加图像而不是文本,你需要添加以下css来清理不必要的边框:

.goog-te-menu-value span:nth-child(3), 
.goog-te-menu-value span:nth-child(5), 
.goog-te-gadget-icon, 
.goog-te-banner-frame.skiptranslate {
    display:none !important;
  }
div#google_translate_element div.goog-te-gadget-simple {
    border: none;
    background-color: transparent;
}