[Résolu] Site bilingue et pluging squelettes par rubrique

Bonjour,

Le site en question ici

c’est pas le premier site que je fais en bilignue, mais je me dis que je n’utilise peut-être pas la bonne méthode.

Je personnalise beaucoup mes pages avec le pluging « squelette par rubrique » j’ai actuellement 7 rubriques (rubrique=3 par ex), qui sont toutes personnalisés, parce que j’ai besoin de mise en page différente.

Et j’ai des pages articles.html, aussi personnalisé, le soucis est que quand je passe en bilingue, « anglais/français » je dois dupliquer mes rubriques, rubrique=3 (FR) puis rubrique=10 (EN). Je me sens obligé sinon j’ai un 404, et j’utilise des mots clés, qui ont besoin d’etre traduit et spip ne propose pas une traduction des mots clés par langue (ce qui est pas mal handicapant), bref ça tourne un peu a l’usine à gaz avec une vingtaine de pages .HTML, je ne sais pas si il y a pas plus simple (dans le cas d’un site avec 3 ou 4 langues par ex) ?

Et là j’ai un souci que je comprend pas, j’ai crée mes rubriques, elle se traduisent bien mais quand je clique depuis le menu en anglais sur « PROGRAM » j’ai une erreur 400 …
Si je clique sur « PROGRAMME » en français, j’arrive sur la rubrique programme, et si j’utilise le bouton « English » pour traduire, j’arrive bien sur ma rubrique page traduite en anglais…

voici ma boucle du menu en question :

<ul id="nav">
    <BOUCLE_nav2(RUBRIQUES){id_rubrique IN 3,4,5,10,11,12} {lang}>
       <li> <a [class=(#EXPOSE)] href="#URL_RUBRIQUE">#TITRE</a></li>
    </BOUCLE_nav2> 
  </ul>
... 



Merci pour votre aide !

Salut,
Il semblerait qu’il manque la variable d’environnement lang à ton item :
&lang=en
J’utilise pas du tout squelette par rubrique et pourtant je fais des sites multilang moi aussi. Donc j’ai du mal à comprendre ton problème (sans voir les squelettes). En ce qui me concerne j’utilise le plugin de traduction et et je fabrique un menu langue contextuel à chaque objet

  • Page sommaire : boucle sur les langues activées dans #CONFIG
  • Page rubrique : boucle sur la rubrique en cours et cherche son équivalente traduite
  • Page article : boucle sur l’article en cours et cherche son équivalent traduit
  • etc

À chaque fois j’ai un menu FR | EN mais le lien est différent.

Ca marche bien si les objets ont tous des équivalent traduits, mais ca peut s’adapter (par exemple juste ajouter ?lang=en sur un article non traduit pour au moins avoir l’interface en anglais)

Le plugin Compositions 2 et supérieur - SPIP-Contrib est une bonne alternative à Squelettes par rubrique car il permet d’appliquer une même composition à plusieurs rubriques/articles/mots/etc… (donc pas besoin de doublonner tes squelettes de rubriques) en plus d’être plus performant.

Tu peux facilement transformer tes squelettes en composition et tu gagnera en maintenance derrière.

Sinon, je pense qu’en remplaçant

href="#URL_RUBRIQUE"

par

href="[(#URL_RUBRIQUE|parametre_url{lang,#ENV{lang}})]"

ça devrait le faire.

Merci, cela marche, sur mes anciens sites je n’avais pas écrit ça comme ça.
C’est super ! merci !

Oui, j’ai déjà fait un site multilingue avec Composition, je n’ai pas spécialement de préférence (ça fait plus de 10 ans que j’utilise la méthode de SPIP traditionnel", comme avant il n’y avait pas besoin de le charger en plugins.

Et dans ce cas de figure avec les mots clés, je me disais qu’il y a besoin de doubler chaque page de toute façon, mais on m’indique le plugin que multilang qui peut résoudre ce problème.

Merci pour ta réponse, c’est bien la variable qui manquait.