Como criar um site ou blog Bilíngue

Diferente das diversas opções de tradução que há por aí, pode ser necessário fornecer conteúdos em diferentes línguas a seus usuários. Não sendo o caso que este conteúdo será criado por uma tradução automática mas que o próprio dono do site fornece uma versão em português e outra em inglês, por exemplo, onde o usuário escolhe a língua ao clicar em um link ou bandeira, a solução pode não ser tão complicada, sobretudo, por não exigir dois blogs em separados. (Veja um exemplo neste site para um Colóquio de Filosofia)

Uma solução para o problema pode ser utilizar javascript e evitar plugins mais complexos (no caso de CMS). Para o post original onde encontrei a diva, visite A Solution for a Bilingual WordPress onde você pode aprender bastante coisa legal sobre WordPress.

WordPress bilíngue

A solução consiste no seguinte:

Javscript

Adicionar este código em javascript na página ou em um arquivo externo.

<script type="text/javascript">
function createCookie(name,value,days) {
 if (days) {
 var date = new Date();
 date.setTime(date.getTime()+(days*24*60*60*1000));
 var expires = "; expires="+date.toGMTString();
 }
 else expires = "";
 document.cookie = name+"="+value+expires+"; path=/";
}
function readCookie(name) {
 var nameEQ = name + "=";
 var ca = document.cookie.split(';');
 for(var i=0;i <ca.length;i++) {
 var c = ca[i];
 while (c.charAt(0)==' ') c = c.substring(1,c.length);
 if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
 }
 return null;
}
function language(lang_on, lang_off) {
 createCookie("langue_on",lang_on,365);
 createCookie("langue_off",lang_off,365);
 for (var i=0; i<document.getElementsByTagName("div").length; i++ ) {
 if (document.getElementsByTagName("div")[i].lang == lang_on) {
 document.getElementsByTagName("div")[i].style.display="block";
 }
 if (document.getElementsByTagName("div")[i].lang == lang_off) {
 document.getElementsByTagName("div")[i].style.display="none";
 }
 }
}
function startlanguage() {
 var notdefined;
 var lang_on = readCookie("langue_on");
 var lang_off = readCookie("langue_off");
 if (lang_on == notdefined) {lang_on = "pt";}
 if (lang_off == notdefined) {lang_off = "en";}
 language(lang_on,lang_off);
}
window.onload = function () {startlanguage();}
</script>

Texto para cada língua

<div lang="en">Hello World !</div>
<div lang="pt">Olá Mundo !</div>

Alterar entre as línguas

<a href="javascript:language('pt','en')" title="Versão em Português">Português</a>
<a href="javascript:language('en','pt')" title="English Version">English</a>

Isso pode ser feito no meio do post, bem como em qualquer parte do tema. em um site estático, isso não fará muita diferença.

Deixe seu comentário