he estado buscando la manera de traducir los post de blogspot, donde tengo alojado este blog, pero no he encontrado nada. Así que me he puesto manos a la obra y he escrito un poco de javascript para añadir esta funcionalidad a mi blog. La idea es muy sencilla, el post contiene ambos textos, en inglés y en español, y mediante jQuery muestro uno u otro. También leo el parametro lang de la url para determinar en que idioma se debe mostrar el post para poder crear links en el idioma deseado.
Lo peor de todo es que ahora voy a tener que traducir los posts :(
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<title> | |
<span class="es">titulo en español</span> | |
<span class="en">English title</span> | |
</title> | |
<div class="es"> | |
<a href="#" onclick="translate();">translate</a> | |
</div> | |
<div class="en"> | |
<a href="#" onclick="translate();">traducir</a> | |
</div> | |
<div class="es"> | |
html en español | |
</div> | |
<div class="en"> | |
English's html | |
</div> | |
<div style="display:none"> | |
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> | |
<script type="text/javascript"> | |
$(document).ready(init); | |
function init() { | |
language = getParameterByName("lang"); | |
switch (language) | |
{ | |
case "en": | |
$(".en").show(); | |
$(".es").hide(); | |
break; | |
default: | |
$(".es").show(); | |
$(".en").hide(); | |
break; | |
}; | |
}; | |
function translate(){ | |
$(".es").toggle(); | |
$(".en").toggle(); | |
}; | |
function getParameterByName(name) | |
{ | |
name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]"); | |
var regexS = "[\\?&]" + name + "=([^&#]*)"; | |
var regex = new RegExp(regexS); | |
var results = regex.exec(window.location.href); | |
if(results == null) | |
return ""; | |
else | |
return decodeURIComponent(results[1].replace(/\+/g, " ")); | |
}; | |
</script> | |
</div> | |
Lo peor de todo es que ahora voy a tener que traducir los posts :(