web-dev-qa-db-fra.com

Comment puis-je rendre un site visible dans plusieurs langues?

Je suis conscient de la question Quelles sont les options pour mettre en place un site multilingue , mais les réponses sont centrées sur la prise en charge multilingue à la fois du backend et du front-end.

Je ne m'intéresse qu'à offrir un affichage multilingue du contenu d'un site, pas à la création de contenu multilingue.

Pourrait-il être aussi simple que de mettre le Google Translate Tools code sur mon site? Je vois qu'il y a au moins uncouple de plugins offrant cette fonctionnalité - quelqu'un a de l'expérience avec ceux-là?

1
Travis Northcutt

Si vous cherchez simplement un moyen de visualiser votre site dans d'autres langues, je vous recommanderais sans hésiter d'utiliser Google Translate Tools. Je viens de l'ajouter au thème:

<div id="google_translate_element"><span id="trans">Translate: </span></div>

Vous pouvez masquer le logo Google et les couleurs funky dans votre css:

.goog-logo-link{display:none;} 

Au lieu d'appeler Google Translate js, je copie simplement le script de retour et l'ajoute à mon fichier js principal.

Edit

Google fournit code d'intégration à utiliser sur votre site Web:

 <div id="google_translate_element"></div><script>
function googleTranslateElementInit() {
  new google.translate.TranslateElement({
    pageLanguage: 'en',
    layout: google.translate.TranslateElement.InlineLayout.SIMPLE
  }, 'google_translate_element');
}
</script><script src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>

La première ligne: <div id="google_translate_element"></div> peut être placée à l'endroit où vous souhaitez afficher le menu déroulant de traduction:

alt text

La section située entre le premier ensemble de balises <script> contient les options de langue et de présentation. La dernière série de balises <script> appelle davantage de javascript que Google insère en ligne dans votre code HTML lors du chargement du dom. Pour accélérer ce processus et éviter la requête http supplémentaire et le script en ligne, je supprime le dernier appel et ajoute le code renvoyé par Google dans un fichier "maître" js que j'utilise, qui contient tout mon code javascript personnalisé combiné dans un seul fichier. Le code renvoyé par Google est:

(function(){var d=window,e=document;function f(b){var a=e.getElementsByTagName("head")[0];a||(a=e.body.parentNode.appendChild(e.createElement("head")));a.appendChild(b)}function _loadJs(b){var a=e.createElement("script");a.type="text/javascript";a.charset="UTF-8";a.src=b;f(a)}function _loadCss(b){var a=e.createElement("link");a.type="text/css";a.rel="stylesheet";a.charset="UTF-8";a.href=b;f(a)}function _isNS(b){b=b.split(".");for(var a=d,c=0;c<b.length;++c)if(!(a=a[b[c]]))return false;return true}
function _setupNS(b){b=b.split(".");for(var a=d,c=0;c<b.length;++c)a=a[b[c]]||(a[b[c]]={});return a}d.addEventListener&&typeof e.readyState=="undefined"&&d.addEventListener("DOMContentLoaded",function(){e.readyState="complete"},false);
if (_isNS('google.translate.Element')){return}var c=_setupNS('google.translate._const');c._cl='en';c._cuc='googleTranslateElementInit';c._cac='';c._cam='';var h='translate.googleapis.com';var b=(window.location.protocol=='https:'?'https://':'http://')+h;c._pah=h;c._pbi=b+'/translate_static/img/te_banner_bk.gif';c._pci=b+'/translate_static/img/te_ctrl.gif';c._phf=h+'/translate_static/js/element/hrs.swf';c._pli=b+'/translate_static/img/loading.gif';c._plla=h+'/translate_a/l';c._pmi=b+'/translate_static/img/mini_google.png';c._ps=b+'/translate_static/css/translateelement.css';c._puh='translate.google.com';_loadCss(c._ps);_loadJs(b+'/translate_static/js/element/main.js');})();

Ceci est principalement pour des raisons de performances, afin d'éviter la demande supplémentaire et d'éviter que le site Web ait à communiquer avec Google sauf si une langue est choisie dans la liste déroulante.

La liste déroulante peut être personnalisée à l’aide de CSS. Par exemple, voici comment afficher la boîte sur le site sur lequel je l’ai utilisée.

alt text

4
Chris_O

veuillez consulter cette question Les meilleures pratiques pour localiser le contenu WordPress? peut-être que tu trouves une solution à partir de ces idées

2
bueltge

J'utilise le plugin qTranslate pour un projet que je développe et je suis vraiment content des résultats ..

http://www.qianqin.de/qtranslate/ http://wordpress.org/extend/plugins/qtranslate/

À votre santé

0
Sergio Soares