问题描述
晚上好,我需要帮助将我的网站从西班牙语翻译为英语,它是在asp.net上开发的,老板要求我使用google translation以方便起见,但谷歌翻译服务似乎不再可用。任何人都知道类似的库也可以这样做,它可以自动翻译我的整个网站
Google翻译向我发送以下消息:
我们不再为Google翻译的网站翻译器提供新的访问权限。此更改不会影响网站翻译器的现有使用。 我们鼓励希望翻译网页的用户使用本机支持翻译的浏览器。
解决方法
我个人使用deepl API。 https://www.deepl.com/de/docs-api/
还有很多值得一看的东西。
,首先,在您希望按钮更改 HTML 正文中的语言的位置添加此项。
<div id='google_translate_element'/>
然后将这些脚本添加到 HTML 的 <head>
标记中。
<script type='text/javascript'>
function googleTranslateFunction(){
new google.translate.TranslateElement({pageLanguage:'hi',layout:google.translate.TranslateElement.InlineLayout.SIMPLE},'google_translate_element');
} </script>
<script type='text/javascript'>
//<![CDATA[
(function(){var gtConstEvalStartTime = new Date();/*
Copyright The Closure Library Authors.
SPDX-License-Identifier: Apache-2.0
*/
var h=this||self,l=/^[\w+/_-]+[=]{0,2}$/,m=null;
function n(a){
return(a=a.querySelector&&a.querySelector("script[nonce]"))&&(a=a.nonce||a.getAttribute("nonce"))&&l.test(a)?a:""
}
function p(a,b){
function c(){}c.prototype=b.prototype;
a.i=b.prototype;a.prototype=new c;
a.prototype.constructor=a;
a.h=function(g,f,k){
for(var e=Array(arguments.length-2),d=2;
d<arguments.length;d++)e[d-2]=arguments[d];
return b.prototype[f].apply(g,e)
}
}
function q(a){return a};
function r(a){
if(Error.captureStackTrace);
else{var b=Error().stack;b&&(this.stack=b)}a&&(this.message=String(a))
}
r.prototype.name="CustomError";
function u(a,b){
a=a.split("%s");
for(var c="",g=a.length-1,f=0;
f<g;f++)c+=a[f]+(f<b.length?b[f]:"%s");
r.call(this,c+a[g])
}
p(u,r);
u.prototype.name="AssertionError";
function v(a,b){
throw new u("Failure"+(a?": "+a:""),Array.prototype.slice.call(arguments,1));
};
var w;
function x(a,b){this.g=b===y?a:""}x.prototype.toString=function(){return this.g+""};var y={};
function z(a){
var b=document.getElementsByTagName("head")[0];b||(b=document.body.parentNode.appendChild(document.createElement("head")));
b.appendChild(a)
}
function _loadJs(a){
var b=document;
var c="SCRIPT";"application/xhtml+xml"===b.contentType&&(c=c.toLowerCase());
c=b.createElement(c);
c.type="text/javascript";
c.charset="UTF-8";
if(void 0===w){b=null;var g=h.trustedTypes;
if(g&&g.createPolicy){
try{b=g.createPolicy("goog#html",{createScriptURL:q})}
catch(t){h.console&&h.console.error(t.message)}w=b}
else w=b
}
a=(b=w)?b.createScriptURL(a):a;a=new x(a,y);a:{
try{
var f=c&&c.ownerDocument,k=f&&(f.defaultView||f.parentWindow);k=k||h;
if(k.Element&&k.Location){var e=k;break a}}
catch(t){}e=null}
if(e&&"undefined"!=typeof e.HTMLScriptElement&&(!c||!(c instanceof e.HTMLScriptElement)&&(c instanceof e.Location||c instanceof e.Element))){
e=typeof c;
if("object"==e&&null!=c||"function"==e)
try{}
catch(t){}
else d=void 0===c?"undefined":null===c?"null":typeof c;v()
}
a instanceof x&&a.constructor===x?d=a.g:(d=typeof a,v("expected object of type TrustedResourceUrl,got '"+a+"' of type "+("object"!=d?d:a?Array.isArray(a)?"array":d:"null")),d="type_error:TrustedResourceUrl");c.src=d;
(d=c.ownerDocument&&c.ownerDocument.defaultView)&&d!=h?d=n(d.document):(null===m&&(m=n(h.document)),d=m);
d&&c.setAttribute("nonce",d);z(c)
}
function _loadCss(a){
var b=document.createElement("link");
b.type="text/css";b.rel="stylesheet";
b.charset="UTF-8";b.href=a;z(b)
}
function _isNS(a){
a=a.split(".");
for(var b=window,c=0;c<a.length;++c)if(!(b=b[a]))return!1;
return!0
}
function _setupNS(a){
a=a.split(".");
for(var b=window,c=0;c<a.length;++c)b.hasOwnProperty?b.hasOwnProperty(a)?b=b[a]:b=b[a[c]]={}:b=b[a]||(b[a]={});
return b
}
if (_isNS('google.translate.Element')){return}(function(){
var c=_setupNS('google.translate._const');
c._cest = gtConstEvalStartTime;gtConstEvalStartTime = undefined;c._cl='en';
c._cuc='googleTranslateFunction';
c._cac='';c._cam='';c._ctkk='447972.1887378764';
var h='translate.googleapis.com';
var s=(true?'https':window.location.protocol=='https:'?'https':'http')+'://';
var b=s+h;c._pah=h;c._pas=s;c._pbi=b+'/translate_static/img/te_bk.gif';
c._plla=h+'/translate_a/l';c._ps=b+'/translate_static/css/translateelement.css';
c._puh='translate.google.com';
_loadCss(c._ps);_loadJs(b+'/translate_static/js/element/main.js');})();})();
//]]>
</script>
Boom 现在您的网站将通过选项 appers 成功更改语言