在网站的head或footer上添加如下代码(我用discuz,那就是在header_common.php最后的位置添加PC左侧贴边版):
<script>
fetch("https://ipapi.co/json/") // 你也可以换成 ipinfo.io、ip.sb
.then(response => response.json())
.then(data => {
if (data.country_code !== "CN") {
// 如果不是中国用户,则加载 Google 翻译
var gtDiv = document.createElement("div");
gtDiv.id = "google_translate_element";
gtDiv.style = `
position: fixed;
top: 20%;
left: 0;
transform: translateY(0);
z-index: 9999;
background-color: white;
padding: 6px;
border-radius: 0 6px 6px 0;
box-shadow: 0 2px 6px rgba(0,0,0,0.2);
`;
document.body.appendChild(gtDiv);
// 创建初始化函数
window.googleTranslateElementInit = function() {
new google.translate.TranslateElement({
pageLanguage: 'zh-CN',
includedLanguages: 'en,zh-CN,ja,ko,fr,de,es,ru',
layout: google.translate.TranslateElement.InlineLayout.SIMPLE,
multilanguagePage: true
}, 'google_translate_element');
};
// 加载 Google Translate 脚本
var script = document.createElement("script");
script.src = "//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit";
document.body.appendChild(script);
}
})
.catch(error => {
console.warn("IP 查询失败,默认不加载 Google 翻译:", error);
});
</script>
移动顶部居中版:
<script>
// 使用 ipapi.co 判断国家是否为 CN(中国)
fetch("https://ipapi.co/json/")
.then(response => response.json())
.then(data => {
if (data.country_code !== "CN") {
// 显示翻译容器
document.getElementById("google_translate_element").style.display = "block";
// 加载 Google 翻译脚本
var script = document.createElement("script");
script.type = "text/javascript";
script.src = "//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit";
document.body.appendChild(script);
}
})
.catch(err => {
console.warn("IP 地理位置判断失败,默认不加载翻译控件。", err);
});
// 初始化函数,只有加载 script 后才会调用
function googleTranslateElementInit() {
new google.translate.TranslateElement({
pageLanguage: 'zh-CN',
includedLanguages: 'en,zh-CN,ja,ko,fr,de,es,ru',
layout: google.translate.TranslateElement.InlineLayout.SIMPLE,
multilanguagePage: true
}, 'google_translate_element');
}
</script>
<!--Google翻译代码仅非中国大陆IP显示↑-->