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?