如何在编码中更改 google 翻译器 select 语言文本
How to change google translator select language text in coding
我在我的网站上使用 google 翻译器,我想更改下拉菜单中的 select 语言文本。任何人都建议这样做。
这是我的代码;
function googleTranslateElementInit() {
new google.translate.TranslateElement({pageLanguage: 'en', includedLanguages: 'ar', layout: google.translate.TranslateElement.InlineLayout.SIMPLE}, 'google_translate_element');
}
提前致谢。
根据this问题,您可以根据需要修改元素。
像这样:
<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>
我花了很多时间试图摆脱 "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;
}
我在我的网站上使用 google 翻译器,我想更改下拉菜单中的 select 语言文本。任何人都建议这样做。 这是我的代码;
function googleTranslateElementInit() {
new google.translate.TranslateElement({pageLanguage: 'en', includedLanguages: 'ar', layout: google.translate.TranslateElement.InlineLayout.SIMPLE}, 'google_translate_element');
}
提前致谢。
根据this问题,您可以根据需要修改元素。
像这样:
<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>
我花了很多时间试图摆脱 "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;
}