Traduire un blog semble simple en principe, mais ce n'est pas si simple. Je ne parle pas de la contenumême le modèle peut résister.
Bien qu'il existe des plugins comme Loco Translate et similaires qui facilitent cette tâche, et même des modèles qui viennent prêts à ajouter la traduction de presque n'importe quelle chaîne, ce qui peut également être fait avec Polylang (bien qu'il soit généralement trop court et que vous deviez ajout de cordes à la main), il y a des choses qui se compliquent. Ici, je suis toujours en train de me battre avec la dernière chaîne qu'il me reste à traduire
Cela devient encore plus compliqué si vous souhaitez afficher un contenu et/ou des mises en page différents dans des parties spécifiques de votre site en fonction de la langue.
Ces parties sont généralement l'en-tête, le pied de page, les barres latérales et, dans une moindre mesure, les endroits précis entre le contenu. Il existe une solution pour tous ces problèmes.
Pour l'en-tête et le pied de page, vous pouvez utiliser Élémentssi vous utilisez GeneratePress dans sa version Pro, et afficher une mise en page différente pour chaque langue puisque les plugins de traduction les plus populaires comme WPML et Polylang sont compatibles avec GeneratePress.
Il suffit de créer un crochet ou un bloc d'éléments dans la langue souhaitée, de lui donner le design dont vous avez besoin et il est prêt à être affiché dans cette version linguistique.
De cette façon, vous pouvez créer presque n'importe quelle partie de votre blog avec un design différent pour chaque langue, mais que faire si vous voulez aussi montrer un contenu ou un design différent et unique pour chaque langue ?
Des barres latérales différentes pour les différentes langues
Avec Polylang, il est très facile de créer une barre latérale pour chaque langue. Il vous suffit de créer tous les widgets traduits pour chaque langue avec le design que vous souhaitez et de leur attribuer la langue correspondante.
Afficher un contenu différent dans la barre latérale avec des conditions est compliqué car avec les éléments, nous pouvons ajouter du contenu avant et après la barre latérale, mais pas à l'intérieur. Bien qu'avec GeneratePress et/ou GenerateBlocks vous pouvez même construire une nouvelle barre latérale à partir de zéro pour chaque langue (une solution beaucoup plus complète et recommandée) ; c'est plus lourd et beaucoup plus de travail
Une alternative rapide, simple et tout aussi efficace consiste à se tourner vers les services suivants Inserteur d'annonces (la version gratuite suffit) pour créer des widgets de barre latérale conditionnels.
Voici un exemple de création d'un widget qui s'affiche uniquement dans la barre latérale de l'article.
Widgets avec conditions
Bien qu'Ad Inserter soit conçu pour gérer et placer des publicités presque partout, ce qu'il fait parfaitement, il peut être utilisé pour afficher tout autre contenu.
- Vous créez un nouveau bloc dans Ad Inserter et lui donnez un nom qui décrit clairement ce qu'il est et où il sera affiché.
- Ajoutez le contenu à afficher, qui peut être du HTML pour un formulaire, du texte, une image avec un lien, un shortcode que vous avez enregistré, etc.
- Il est marqué "Entrées" (comme vous le verrez, vous pouvez attribuer d'autres emplacements).
- Dans l'insert, vous devriez le laisser à "Désactivé", car dans cet exemple, nous allons l'utiliser comme un widget.
- Vérifiez Widget et, si vous voulez l'utiliser à d'autres endroits, vous pouvez également cocher " " et " fonction PHP " si vous devez la mettre dans le widgetShortcode et "fonction PHP" si vous devez l'insérer quelque part dans votre modèle.
- Sauvez le bloc.
Lorsque nous retournons dans la zone d'administration des widgets, nous constatons que le bloc que nous venons de créer apparaît dans le widget Ad Inserter. Lorsque vous l'ajoutez à votre barre latérale, ce contenu ne sera affiché que dans les articles. Vous pouvez maintenant choisir, par exemple, de l'afficher uniquement dans la version anglaise.
Tout contenu différent selon la langue sur n'importe quel site
Vous pouvez maintenant aller plus loin et jouer avec les sites avec beaucoup de possibilités et de combinaisons pour placer n'importe quoi presque n'importe où et le faire afficher uniquement en fonction de la langue.
Si nous choisissons un emplacement que Ad Inserter nous permet et que nous cliquons ensuite sur"Listes", nous pouvons placer ce contenu à de nombreux endroits avec la possibilité d'ajouter des listes blanches et noires, des conditions et des exceptions à volonté.
Dans l'exemple, j'ai configuré que ce contenu soit affiché en haut de tous les messages, mais uniquement dans la version anglaise
À partir de là, vous pouvez affiner l'insertion pour qu'elle apparaisse avant ou après le paragraphe x, avant, entre ou à la fin du contenu, etc. et jouer avec des options telles que l'exclusion d'urls, d'ID, de catégories, de balises ou l'insertion uniquement dans une taxonomie spécifique, voire même selon la langue du navigateur du visiteur à l'aide d'un simple shortcode. Les combinaisons et les positions sont presque illimitées
Pour en savoir plus sur les placements et l'utilisation des listes, voir la documentation de Ad Inserter.