Como contornar algumas restrições do Google Tradutor

Descreverei duas simulações com as quais você pode ignorar algumas das limitações do google translate.

1. O limite do número de caracteres para o Google Tradutor on-line é de 3900 ou 5000 caracteres. Às vezes você precisa de mais, mas relutância em criar um arquivo html com texto. Para contornar essa limitação, crie um arquivo html com o seguinte conteúdo:

<!DOCTYPE HTML>
<html>
 <head>
   <title>Google translator without limits.</title>
 </head>

 <body>
Google translator without limits.  Here comes the English text. It is necessary that translator to work. 
If you do not translate from English, insert the text in your language. Not in the window, but in html.<br>
<textarea id="test" rows="10" cols="45" placeholder="Paste text into this window."></textarea>
<p id="result"></p>
<script>
var textarea = document.getElementById('test');
var result = document.getElementById('result');

function updateResult() {
    result.innerHTML = textarea.value.replace(/\n/g, '<br>');
}

textarea.oninput = updateResult;

</script>
 </body>
</html>


Abra este arquivo no Google Chrome. Se o seu tradutor não funcionar automaticamente, inicie-o com o botão direito do mouse. Se você precisar traduzir de um idioma que não seja o inglês, insira no html várias frases no idioma que você precisa, em vez daquelas escritas depois da etiqueta do corpo.

Como você pode ver, temos a tag textarea na qual inserimos o texto para tradução. E a tag p, que obtém o texto imediatamente após a inserção. Um tradutor do Google traduz rapidamente. O método de substituição substitui o final da linha pela tag br.

2. É possível obter o resultado da tradução usando javascript? Acontece que sim. Para verificar isso, crie o seguinte arquivo html:


<!DOCTYPE HTML>
<html>
 <head>
   <title>alert(translation)</title>
 </head>

 <body>
   <div id="div1">This work presents the efficient, matrix-free finite-element library hyper.deal for solving partial differential equations in two to six dimensions with high-order  discontinuous Galerkin methods.It builds upon the low-dimensional finite-element library deal.II to create complex low-dimensional meshes and to operate on them individually. These meshes are combined via a tensor product on the fly and the library provides new special-purpose highly optimized matrix-free functions exploiting domain decomposition as well as shared memory via MPI-3.0 features.</div>

  <a href="URL" onclick="alert(document.getElementById('div1').innerHTML);">...</a>

 </body>
</html>

Abra o arquivo em um navegador, ative o tradutor e clique no link com três pontos. Você verá o seguinte:


<font style="vertical-align: inherit;"><font style="vertical-align: inherit;">    ​​     hyper.deal         -        .       . II         . </font><font style="vertical-align: inherit;">       ,         ,   ,       MPI-3.0.</font></font>

Como você pode ver, foram adicionadas tags de fonte, fáceis de remover programaticamente.

Isso abre novas possibilidades na tradução gratuita de sites em mais de 100 idiomas. Você pode colocar cada frase em tags div e, a cada 5 segundos, verificar todos os divs na página para que apareçam tags de fonte. À medida que o visitante rola a página, todas as novas divs são traduzidas e podem ser enviadas ajax para o servidor.

Embora a qualidade da tradução tenha melhorado, ainda está longe de ser perfeita. Eu possibilitaria aos leitores oferecer sua própria versão da tradução. Para fazer isso, torne cada ponto no final da frase um link. Quando clicada, uma frase aparece no idioma de origem e nas opções de tradução propostas por outros leitores.

Bem, é possível traduzir o Habr para 100 idiomas. Caso contrário, eu mesmo cuidarei disso e ganho muito dinheiro. Na verdade, não preciso de muito dinheiro, mas tenho vários parentes sem-teto. Eu compraria um apartamento à beira-mar.

Eu digo adeus a isso. Sucessos.

All Articles