繁体   English   中英

如何检测通过Google翻译的网页的实际语言?

[英]How detect actual language of webpage translated via Google translate?

我需要检测翻译的语言,理想情况下可以使身体更好一些。 之后,通过此类编辑网页的CSS。 我对jQuery或纯JavaScript的解决方案没有任何问题。 我需要这样做,因为不同的语言具有不同的单词长度,这会使我遇到设计问题。 我需要像这样解决

.language_cz .some_class{
  font-size: 14px;
}
.language_en .some_class{
  font-size: 16px;
}

我通过https://gtranslate.io/进行翻译。 这是纯Google翻译。

翻译代码为:

   <div class="obal_mutace">
<span class="aktualni_mutace">CZ</span>
<div class="blok_mutace_in">
            <a href="#" onclick="doGTranslate('cs|cs');return false;" title="Czech" class="gflag nturl"><span data-id="CZ" class="polozka_mutace_in">CZ</span></a>
  <a href="#" onclick="doGTranslate('cs|en');return false;" title="English" class="gflag nturl"><span data-id="EN" class="polozka_mutace_in">EN</span></a>
  <a href="#" onclick="doGTranslate('cs|de');return false;" title="German" class="gflag nturl"><span data-id="DE" class="polozka_mutace_in">DE</span></a>
  <a href="#" onclick="doGTranslate('cs|ru');return false;" title="Russian" class="gflag nturl"><span data-id="RU" class="polozka_mutace_in">RU</span></a>
  <a href="#" onclick="doGTranslate('cs|fr');return false;" title="French" class="gflag nturl"><span data-id="FR" class="polozka_mutace_in">FR</span></a>
  <a href="#" onclick="doGTranslate('cs|it');return false;" title="Italian" class="gflag nturl"><span data-id="IT" class="polozka_mutace_in">IT</span></a>
  <a href="#" onclick="doGTranslate('cs|pt');return false;" title="Portuguese" class="gflag nturl"><span data-id="PT" class="polozka_mutace_in">PT</span></a>
  <a href="#" onclick="doGTranslate('cs|es');return false;" title="Spanish" class="gflag nturl"><span data-id="ES" class="polozka_mutace_in">ES</span></a>
  <div id="google_translate_element2"></div>
  <script type="text/javascript" src="funkce/transl_init.js?v=1.0.1"></script>
  <script type="text/javascript" src="http://translate.google.com/translate_a/element.js?cb=googleTranslateElementInit2"></script>
</div>

在“ transl_init.js”中,我有:

function googleTranslateElementInit2() {new google.translate.TranslateElement({pageLanguage: 'cs',autoDisplay: false}, 'google_translate_element2');}

/* <![CDATA[ */
eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('6 7(a,b){n{4(2.9){3 c=2.9("o");c.p(b,f,f);a.q(c)}g{3 c=2.r();a.s(\'t\'+b,c)}}u(e){}}6 h(a){4(a.8)a=a.8;4(a==\'\')v;3 b=a.w(\'|\')[1];3 c;3 d=2.x(\'y\');z(3 i=0;i<d.5;i++)4(d[i].A==\'B-C-D\')c=d[i];4(2.j(\'k\')==E||2.j(\'k\').l.5==0||c.5==0||c.l.5==0){F(6(){h(a)},G)}g{c.8=b;7(c,\'m\');7(c,\'m\')}}',43,43,'||document|var|if|length|function|GTranslateFireEvent|value|createEvent||||||true|else|doGTranslate||getElementById|google_translate_element2|innerHTML|change|try|HTMLEvents|initEvent|dispatchEvent|createEventObject|fireEvent|on|catch|return|split|getElementsByTagName|select|for|className|goog|te|combo|null|setTimeout|500'.split('|'),0,{}))
/* ]]> */

我在网页项目http://www.kalimera-recko.cz/上使用了它。 我在搜索输入左侧的网络头部中使用了Google翻译。

如果我的问题理解正确,那么您想根据使用的语言来设置页面样式。

在页面上,您可以在html标记上设置language属性。

<html class="js" style="height: 100%;" lang="cs">

因此,您可以通过以下方式在CSS中解决此问题:

html[lang="cs"] .some_class

[编辑]__________________

如果将cookie转换为英语,则将其“ googtrans”设置为/ cs / en值,如果将其cookie转换为德语,则将其值设置为/ cs / de。 您可以使用javascript或jQuery找出cookie的值

document.cookie

它返回一个字符串,您需要在其中搜索“ googtrans”值。

您可以通过以下方式获取语言:

var cookie = document.cookie;
var position = cookie.indexOf("googtrans");
var language = cookie.substring(position+10, position + 16);

如果您搜索值';'的末尾,则可以优化此代码。 而不是使用固定数字。 但这将满足您的需求。

您可能还应该使用try / catch来查看cookie是否存在,因为您的原始语言不存在该cookie。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM