Pluxml multilingue : possibilité de relier manuellement les articles
zetrader
Member
Bonjour, une petite remarque sur le plugin pluxml, actuellement soit :
1) on fait des sites complètement indépendants qui n'ont pas par défaut de liens entre articles traitant du même sujet dans plusieurs langues
2) on fait des sites où les numéros d'articles doivent être strictement liés à des versions différentes traitant du même sujet dans plusieurs langues (article1 en français doit être aussi numéro 1 en anglais ou autre langue)
En pensant à la conception d'un site multilingue, le problème est le suivant : tous les sujets ne sont pas dignes d'intérêts d'être systématiquement traduits, il y a des articles généralistes qui pourront être traduits tels quels dans plusieurs langues, il y a d'autres sujets où le fait de traduire est juste inapproprié ou sans intérêt.
Je prends un exemple, imaginons un site ayant pour thème la finance et les produits financiers, les placements, si par exemple je parle du livret A ou du LDD ou de l'assurance-vie en espagnol ou en anglais (à un public espagnol ou américain), cela n'a strictement aucun sens ou intérêt puisque ces produits financiers n'existent même pas chez eux (ou pas du tout sous les même formes, donc rien à voir), idem pour un PEA etc...
C'est pour ça que je me suis dit que plutôt d'avoir l'option 1 (aucune possibilité de relier les articles) ou 2 (reliement obligatoire de tous les articles), pourquoi ne pas permettre plutôt de relier manuellement des articles sans imposer un ordre ?
Mettons que j'ai mon site en français depuis longtemps, je commence mon site en anglais, je ne suivrai pas forcément le même ordre (entre autres pour les raisons évoquées plus haut, pas toujours pertinent), ce serait bien de pouvoir dire cet article numéro 433 en français, je veux le relier à mon article numéro 10 en anglais (ou autre, libre choix), avec un lien qui apparaîtrait en cas de présence d'un article correspondant dans une autre langue (en ayant rempli un champ l'indiquant par exemple) et au niveau du code html/php un href lang avec l'url de l'article correspondant dans cette autre langue.
Ou encore le lien du drapeau qui renvoie vers l'article auquel on a associé manuellement (cela marche comme cela dans l'option 2, sauf qu'aucun choix manuel d'association par article n'est possible).
Qu'en pensez-vous ? Compliqué à faire ?
1) on fait des sites complètement indépendants qui n'ont pas par défaut de liens entre articles traitant du même sujet dans plusieurs langues
2) on fait des sites où les numéros d'articles doivent être strictement liés à des versions différentes traitant du même sujet dans plusieurs langues (article1 en français doit être aussi numéro 1 en anglais ou autre langue)
En pensant à la conception d'un site multilingue, le problème est le suivant : tous les sujets ne sont pas dignes d'intérêts d'être systématiquement traduits, il y a des articles généralistes qui pourront être traduits tels quels dans plusieurs langues, il y a d'autres sujets où le fait de traduire est juste inapproprié ou sans intérêt.
Je prends un exemple, imaginons un site ayant pour thème la finance et les produits financiers, les placements, si par exemple je parle du livret A ou du LDD ou de l'assurance-vie en espagnol ou en anglais (à un public espagnol ou américain), cela n'a strictement aucun sens ou intérêt puisque ces produits financiers n'existent même pas chez eux (ou pas du tout sous les même formes, donc rien à voir), idem pour un PEA etc...
C'est pour ça que je me suis dit que plutôt d'avoir l'option 1 (aucune possibilité de relier les articles) ou 2 (reliement obligatoire de tous les articles), pourquoi ne pas permettre plutôt de relier manuellement des articles sans imposer un ordre ?
Mettons que j'ai mon site en français depuis longtemps, je commence mon site en anglais, je ne suivrai pas forcément le même ordre (entre autres pour les raisons évoquées plus haut, pas toujours pertinent), ce serait bien de pouvoir dire cet article numéro 433 en français, je veux le relier à mon article numéro 10 en anglais (ou autre, libre choix), avec un lien qui apparaîtrait en cas de présence d'un article correspondant dans une autre langue (en ayant rempli un champ l'indiquant par exemple) et au niveau du code html/php un href lang avec l'url de l'article correspondant dans cette autre langue.
Ou encore le lien du drapeau qui renvoie vers l'article auquel on a associé manuellement (cela marche comme cela dans l'option 2, sauf qu'aucun choix manuel d'association par article n'est possible).
Qu'en pensez-vous ? Compliqué à faire ?
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
L'idée est pas mauvaise du tout.
Faudrait que je vois comment on peut faire ça facilement. Techniquement c'est faisable, juste voir pour éviter l'usine à gaz
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)
Je ne l'ai pas dit, mais la même chose au passage pour les pages statiques serait bien, le problème actuel c'est soit :
- des sites complètements indépendants (quand un anglais voit un article en français qui pourrait l'intéresser, il clique sur le drapeau et va se retrouver sur la homepage dans sa langue, bon courage pour trouver l'article en question si il y a beaucoup d'articles, il risque probablement de laisser tomber)
- des sites trop strictement liés (les numéros d'articles doivent correspondre exactement dans chaque langue, et chronologiquement, cela peut être difficile à tenir, en dehors du fait évoqué que des fois, la version dans une autre langue n'est pas approprié : parler d'un produit ou sujet/problématique qui n'existe pas pour les gens dans une autre langue cf. le cas du livret A ou assurance-vie, il pourrait y en avoir d'autres, certains sujets sont parfois franco-français, francophones ou inversement que pour les anglophones), d'où l'intérêt d'avoir le choix de relier manuellement des versions d'articles/pages.
Le comportement en l'absence de version dans une autre langue pourrait être soit de rediriger vers la homepage de l'autre langue soit vers une page dédiée précisant que ce contenu là n'existe pas dans l'autre langue.
Autre possibilité si il s'agit d'avoir mis des liens supplémentaires de drapeaux/textes vers le début de l'article/page (juste sous le titre par exemple), le drapeau de la version traduite pourrait apparaître que si il existe une version traduite, et en cas d'absence d'autre version, pas d'affichage de drapeau/choix alternatif de langue.
Pierre Aribaut - zetrader & zeforums
Hello, des news à ce sujet, compliqué à faire ?
Pierre Aribaut - zetrader & zeforums
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)
J'ai réalisé ta demande, tu peux la télécharger ici
plxMyMultiLingue 0.8 pre1
ça donne ça au niveau de la rédaction d'un article
Il faut renseigné les identifiants correspondant à l'article rédigé dans les autres langues dans les zones dédiées.
Une fois l'article sauvegardé, le titre de l'article s'il existe sera affiché à coté de son identifiant.
Au niveau du thème pour afficher les liens (extrait de la doc)
ça donnera quelque chose comme ça, lors de la lecture de l'article
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)
Au fait, c'est juste pour les articles ou c'est possible de l'appliquer aussi pour les pages ?
C'est vrai que mon sujet est "relier les articles", je n'ai pas parlé des pages, mais ce serait pas mal que la possibilité existe aussi pour les pages.
Pierre Aribaut - zetrader & zeforums
ça devrait être transposable pour les pages statiques
à la limite j'attends que tu me fasses un retour pour les articles et si ça tourne bien, on pourra envisager de faire pareil pour les pages statiques
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)
Merci
Buster/NGINX/PHP7/PluXml5.8
J'ai pas de drapeau ou libellé du côté admin pour switcher d'une langue à l'autre, je suis obligé de revenir sur le site, cliquer sur l'autre langue pour pouvoir ensuite revenir sur l'administration dans cette autre langue.
Second problème avec PlxEditor (dernière version 1.5.3 et avant aussi) avec Pluxml Multilingue, sur les smileys :
Les smileys ne sont pas générés dans le bon répertoire, ils s'affichent quand on regarde l'article côté admin, mais ne s'affichent pas quand on regarde l'article sur le site.
Quand je regarde le code source il est généré pour un clin d'oeil : Ce qui s'affiche côté admin mais ne s'affiche pas côté visiteur.
En revanche si je corrige en mettant : Là le smiley ne va plus s'afficher côté admin mais va s'afficher correctement côté visiteur.
Troisième problème au niveau code source cette fois, pas d'autre langue hreflang indiquée :
Lorsqu'on relie 2 articles de langue A vers langue B et vice versa, le lien se fait bien, mais au niveau code source, pour google, il n 'est indiqué que le href de la langue en cours, pas de ligne rajoutée pour dire à google que la version dans la langue B se trouve à tel endroit (rôle du hreflang), je vais sur mon article en français il n'y aura que cette ligne au niveau du code source : Ce serait mieux d'avoir (exemple) dans le code source si on a en français et anglais :
Pierre Aribaut - zetrader & zeforums
https://github.com/Pluxopolis/plxMyMultiLingue/releases/tag/0.8
https://github.com/Pluxopolis/plxEditor/releases/tag/1.5.4
pour plxMyMultiLingue, aller sur l'écran Parametres > Plugins, cliquer sur le lien Code CSS de plxMyMultiLingue, vider les 2 zones "Contenu fichier CSS site" et Contenu fichier CSS administrateur", cliquer sur le bouton "Sauvegarder le fichier" 2 fois.
C'est un peu archaique cette manip, je l'ai amélioré pour que ce soit fait en automatique avec Pluxml 5.6. Ici c'est pour mettre à juor le cache CSS de PluXml sinon les drapeaux risquent de ne pas être affichés correctement aux bons endroits
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)
1) les drapeaux ou libellés (testés les deux) fonctionnent bien maintenant côté admin et côté site
2) au niveau du code html, un gros mieux, quand je suis sur un article dans une langue, cela indique le hreflang des 2 autres langues (j'ai testé sur 3 langues), et cela le fait correctement dans chaque langue, nickel
3) la liaison entre articles se fait bien, bien pensée la dépendance par identifiant d'article, j'ai testé sans plxMyBetterUrls d'abord, juste avec la réécriture d'url, puis installé plxMyBetterUrls, je n'ai pas eu à changer les liens qui relient les articles d'une version linguistique à une autre, le lien étant fait par l'identifiant, même si les urls ont changé Pluxml multilingue a retrouvé ses petits, bravo
Maintenant le point négatif : les smileys, ils s'affichent bien côté admin (après publication) et s'affichent bien sur le site (ce qui n'était pas le cas avant) MAIS, au moment de les choisir ils ne s'affichent pas, donc on choisit à l'aveuglette faute de voir de quel smiley il s'agit (certes l'url permet de deviner mais bon).
EDIT : un autre bug identifié, de redirection qui n'existe pas dans la version "monolangue" (sans multilingue) si on essaye d'accéder avec site.com/fr/article1 ou site.com/article1 plxMyBetterUrls redirige mal, il va rediriger vers site.com/mon-titre-en-francais au lieu de site.com/fr/mon-titre-en-francais (exemple de titre pour l'article 1, en français), ce qui va donner une erreur 404, l'erreur est la même dans toutes les langues.
Alors que si je teste sur un pluxml avec plxMyBetterUrls sans multilingue, aucune erreur, articlexx redirige vers l'article qui va bien, c'est donc la coexistence de plxMyBetterUrls et Pluxml multilingue qui génère ce problème (je pense notamment au fait qu'on peut avoir relié des articles sous la forme articlexx, liens au sein d'articles anciens par exemple).
EDIT2 : sans plxMyBetterUrls c'est mal redirigé aussi, différemment mais de manière incorrecte aussi, le bug de redirection est donc général sous Pluxml multilingue quand on essaye d'accéder à articlexx de n'importe quelle langue. Sans installer plxMyBetterUrls, accéder à site.com/fr/article1 va donner site.com/article1/titre-article (ce qui n'est pas correct non plus mais ne génère pas d'erreur 404), la même chose dans les autres langues, et si par exemple je le fais sur la version espagnole site.com/article1/mi-primer-articulo et que je change mi-primer-articulo par mon-premier-article, cela va rediriger de nouveau sur site.com/article1/mi-primer-articulo (rester donc sur l'article en espagnol, sans doute le cookie qui fait cela), il faudra que j'aille sur site.com/fr/article1 pour revenir sur l'article en français (qui par contre me redirigera sur site.com/article/mon-premier-article si j'y accède de cette manière).
Pierre Aribaut - zetrader & zeforums
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)
Pierre Aribaut - zetrader & zeforums
si je visualise le site en français, et que je tape manuellement l'url d'un article dans autre langue dans la barre d'adresse de mon navigateur, je suis bien redirigé vers cet autre article, ça bascule bien vers la langue de destination (niveau drapeau et contenu de l'article)
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)
C'est par exemple si on va sur site.com/fr/article1 au lieu de site.com/fr/article1/titre-article, alors cela va rediriger sur site.com/article1/titre-article (essaye tu verras), si il n'y a pas plxMyBetterUrls installé cela ne fera pas d'erreur 404 mais ce sera incorrect comme url (cela aurait dû rediriger vers site.com/fr/article1/titre-article), et si on fait le test avec plxMyBetterUrls, cela fera la même redirection, et cela donnera une belle erreur 404.
A noter, sur le même domaine, j'ai Pluxml avec plxMyBetterUrls sans multilingue, si j'accède à site.com/articlexx cela redirige vers l'url correspondante sans erreur.
Tu peux tester : zetrader.info/article1 etc...
Mon répertoire de test :
http://zetrader.info/test/fr/article1/mon-premier-article
Si je vais sur http://zetrader.info/test/fr/article1/ ou http://zetrader.info/test/fr/article1, tu verras que cela redirige sur test/article1/titre-article (ce qui est incorrect dans le cas du multilingue : 1) cela fait une seconde url pour accéder au même article 2) cela génère des erreurs avec plxMyBetterUrls sans doute du fait de perdre le dossier virtuel dans l'url qui identifie la langue), et cette url là si on est avec plxMyBetterUrls et Pluxml multilingue, c'est erreur 404.
Pierre Aribaut - zetrader & zeforums
site.com/fr/article1/titre-article et pas site.com/fr/article1
Donc si tu accèdes à un article à partir de site.com/fr/article1 c'est un peu normal que ça ne fonctionne pas (tout dépend comment ça a été configuré)
La logique serait identique si tu tapais site.com/fr/totooo1 en espérant arriver sur site.com/fr/article1/titre-article
Il se trouve qu'ici on a des 2 cotés article1 dans le lien ce qui laisserait supposer que c'est la même url et qu'on est censé arrivé au même endroit. Mais pour PluXml c'est 2 urls différentes.
Si l'url exacte de l'article est site.com/fr/article1/titre-article , il ne faut pas utiliser site.com/fr/article1
Je vais approfondir le sujet car avec tous ces cas de figure et les plugins utilisés, il faut arriver à avoir le même comportement qu'on utilise ou pas chacun des plugins.
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)
Pourtant, sans multilingue, accéder à site.com/article1 ou site.com/article1/ redirige parfaitement à la bonne url, sans erreur, cela avec ou sans plxMyBetterUrls, dans les deux cas de figure, la redirection est correcte, l'erreur survient si on utilise le multilingue.
Après c'est vrai que c'est pas le plus grave, si tous les anciens liens sont corrigés, si il reste des liens qui pointent vers article.com/fr/articlexx cela fera une erreur.
Cela dit c'est quand même un plus de pouvoir accéder par site.com/articlexx (qui sans multilingue fait une redirection 301 là où il faut, c'est à dire site.com/articlexx/titre-article ou site.com/titre-article) ou site.com/fr/articlexx, pourquoi ? cela raccourcit l'url et dans le cas de partages d'urls ici ou là c'est pas plus mal car elles sont parfois tronquées, si par exemple site.com/mon-titre-d-article-qui-est-un-peu-long est tronqué et devient site.com/mon-titre-d-article-qui-(...) (ce qui donnera une erreur 404), le site.com/articlexx est intéressant comme url courte à utiliser car elle sera redirigée là où il faut en cas d'être tronquée, et se verra corrigée d'une redirection 301 pour les moteurs de recherche, c'est donc parfait ainsi.
Bon je sais, je suis dans les détails là, si c'est trop compliqué, ne te prends pas trop la tête dessus, c'est vrai qu'en fonctionnement normal (url non tronquées, url qui peuvent être assez longues et non utilisation des urls raccourcies) cela fonctionne bien.
Pierre Aribaut - zetrader & zeforums
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)
site.com/fr/article1
site.com/fr/article1/titre-article
(idem pour les pages statiques et catégories)
https://github.com/Pluxopolis/plxMyMultiLingue/releases/tag/0.8
Merci
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)
le lien reste le même mais le contenu de l'archive est différent
https://github.com/Pluxopolis/plxMyMultiLingue/releases/tag/0.8
edit: petite précision pour afficher les dépendances des pages statiques, éditer le fichier static.php du theme et utiliser la ligne suivante
La dépendance se configure sur l'écran d'édition d'une page (en dessous des dates de creation et de mise à jour)
NB: j'ai oublié la traduction du libellé L_IDENT_STATIC dans cette pré-release. je rajoute cet oubli asap
edit2: traduction oubliée rajoutée
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)
J'allais dire qu'il ne manquait plus que la dépendance aussi entre pages statiques pour être complet et je vois qu'on bosse dur, je vais donc tester cette dernière version, merci
Pierre Aribaut - zetrader & zeforums
Pour être encore plus complet, et faire comme pour les articles au niveau du code source, il manque les hreflang dans les pages statiques quand il existe des versions dans l'autre langue, le faire sur le même modèle que font les articles (hreflang des versions dans les autres langues basées sur les dépendances).
Il manque le cas de figure de la homepage, où le hreflang devrait être celui de la homepage des autres langues (si elles existent), et là on serait parfait
Pierre Aribaut - zetrader & zeforums
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)
exemple domaine.com avec domaine.com/articlexx etc... -> version française
domaine.com/en/ avec domaine.com/en/articlexx etc... -> version anglaise (et ainsi de suite pour les autres langues)
Parce qu'actuellement si on va sur le domaine, sur la page d'accueil, c'est forcément redirigé en 302 vers domaine.com/fr/ (si on a choisi le français comme langue par défaut, ou encore selon le dernier cookie utilisé j'ai l'impression, là par exemple en testant la redirection, cela fait une redirection 302 vers le répertoire espagnol qui n'est pourtant pas la langue mise en premier, j'ai mis français en premier, est-ce par rapport à mon adresse IP en Espagne ou la dernière langue utilisée lors de la visite ? Je ne sais pas bien), donc impossible de se rendre sur la page d'accueil du domaine sans avoir une redirection 302 (redirection temporaire, mais dans le cas présent on utiliserait une redirection temporaire de manière permanente sur la homepage), je ne sais pas si c'est bon au niveau référencement du domaine principal ?
Pierre Aribaut - zetrader & zeforums
A la limite le mieux serais d'avoir en page d'arrivée tondomaine.tld un choix pour l'utilisateur d'aller sur tondomaine.tld/fr/ ou tondomaine.tld/en/ suivant la langue que lui désire réellement.Il existe d'ailleurs le tag hreflang=”x-default” pour cette page là
Buster/NGINX/PHP7/PluXml5.8
Si quelqu'un peut faire le test sur zetrader.info/test/ et me dire si c'est aussi une redirection vers la version espagnole ?
J'ai pourtant mis en langue 1 français, langue 2 anglais, langue 3 espagnol, et dans l'interface après avoir atterri sur le site en version espagnole, je me retrouve en version française du côté admin, et si je reviens sur le site après m'être connecté, le site passe en version française, je reviens dans l'admin c'est en français, je me déconnecte de l'admin, je reviens sur le site, il revient en espagnol, j'ai du mal à comprendre ce comportement.
Pierre Aribaut - zetrader & zeforums
Mon navigateur demande les langues suivantes : oc, fr, ...
Firefox est en anglais.
Si ça peut aider.
Effectivement espagnol je suis arrivé
Mon navigateur actuel: fr,fr-FR;q=0.8,en-US;q=0.6,en;q=0.4
Mon IP actuelle étant canadienne, cela n'as donc rien avoir avec.
Buster/NGINX/PHP7/PluXml5.8
Il existe la variable $_SERVER pour connaitre la langue souhaitée par le visiteur du site.
Mais je ne crois que PluXml exploite cette variable. Un petit bout de script ci-dessous pour vérifier sinon il y a la fonction phpinfo(); Cordialement
Accès à mon dépôt de plugins et thèmes
installe PluXml plus vite que ton ombre avec kzInstall2
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)