2014-05-11 4 views
1

J'ai créé un site Web avec Python Bottle. J'ai eu plusieurs demandes d'utilisateurs pour le rendre multilingue, mais comme cela n'a pas été créé au départ avec cela dans mon esprit, il m'est difficile de trouver le moyen le plus simple.Site Web statique multilingue avec JQuery

J'ai fini avec cette façon:

J'ai créé un fichier xml: languages.xml

<?xml version="1.0" encoding="UTF-8"?> 
<translations> 
    <translation id="myidtest"> 
     <english>english string</english> 
     <italian>italian string</italian> 
     <french>french string</french> 
    </translation> 
</translations> 

Puis-je utiliser ce script JQuery de mettre à jour le contenu:

<script type="text/javascript" language="javascript"> 

$(function() { 
    var language = {{language}}; 
    $.ajax({ 
     url: '/static/languages/languages.xml', 
     success: function(xml) { 
      $(xml).find('translation').each(function(){ 
       var id = $(this).attr('id'); 
       var text = $(this).find(language).text(); 
       $("." + id).html(text); 
      }); 
     } 
    }); 
}); 
</script> 

Sur les paramètres utilisateur , J'ai ajouté l'option de choisir la langue préférée et la stocker dans les cookies. Ensuite, chaque fois que je charge une page, je lis les cookies et passe la langue dans le paramètre language dans le code JQuery. S'il n'y a pas de cookie, je passe la langue anglaise.

Puis dans le code HTML, j'ai changé chaque chaîne dans <span class="myidtest">english string</span>

Ma question est:

Dois-je supprimer la chaîne anglaise de la balise span ainsi et laisser les balises span blanc pour réduire la taille des fichiers, temps de chargement et économiser mon temps chaque fois que je veux mettre à jour une chaîne de mettre à jour deux fois (en languages.xml et en html)? Ou devrais-je les laisser là pour les crawlers ou pour toute autre raison?

Répondre

0

Vous devriez les laisser là pour les robots des moteurs de recherche. Vos positions organiques bénéficieront du contenu qui s'y trouve.

En outre, vous ne gagnerez pas beaucoup en supprimant le texte par défaut. En fait, vous devriez faire les traductions dans le back-end, plutôt que de mettre tout ce stress sur le client.

Espérons que cela aide.