mot.html et site bilingue

Bonjour,

J’ai un gros souci, j’utilise la page mot.html pour un menu d’un festival un coup classé par rubrique pour les jours, j’utilise les mots clé pour proposer une navigation par thématique (et éviter de copier coller deux fois les articles).

Je créer deux groupes de mot clés, un, en français et un, en anglais, car visiblement il n’y a pas de traduction automatique par langue concernant les mots clés.

Pour tout le site, je duplique mes rubriques, ce qui me permet pour la rubrique anglaise dans une boucle de mot clé de cibler le groupe que je veux.

Mais là, en utilisant la page mot.html, comment je fais ça ? je me retrouve coincé, j’ai cherché un peu et je ne trouve pas de doc concernant les mots clé et les sites bilingues…

Je vous met ici l’exemple de mon menu :

Le site bilingue avec menu thématique par mot-clé

Merci de votre aide,
Gaston

Salut,

Pour les mots clés j’utilise la balise multi (ce qui évite les doublons dans la base de mots clés)

Ce qui donne pour le titre d’un mot clé

<multi>[fr] étiquette [en] tag</multi>

Dans la même situation que toi (site de festival en 2 langues), j’utilise Multilang - SPIP-Contrib.

Je trouve que ça simplifie la gestion des traductions : pas besoin d’avoir des rubriques/articles dédiés par langue, tout se fait avec les balises <multi>[fr]texte en français[en]text in english</multi> via une interface assez intuitive.

Aussi, si une page n’est pas traduite (par ex les actus d’un site), elle est quand même accessible dans la navigation dans les autres langues, il la voient juste en français, ça permet de garder la même navigation dans tous les cas.

Merci pour vos réponses !
J’ai réussi à traduire mes mots clés, par contre je ne parviens pas a traduire mes boucles événements… elle n’apparaissent pas, quand je traduit mon article, l’evenement n’est pas présent, seulement sur l’article en français, est-ce la cause ?

Voici la page en question, en français et cliquer sur english en bas a gauche.

<B_lesevenements>
<BOUCLE_lesevenements(EVENEMENTS) {par date} {id_article}>
    
<h3 class="horaire"><multi>[(#DATE_DEBUT|heures)]h[(#DATE_DEBUT|minutes)] &#x2794; [(#DATE_FIN|heures)]h[(#DATE_FIN|minutes)]</multi></h3>
    
<b><multi>Du [(#DATE_DEBUT|nom_jour)] [(#DATE_DEBUT|affdate{'j'})] [(#DATE_DEBUT|affdate{'M'})] au [(#DATE_FIN|nom_jour)] [(#DATE_FIN|affdate{'j'})] [(#DATE_FIN|affdate{'M'})]</multi></b>

</BOUCLE_lesevenements>           
</B_lesevenements>

la boucle article en complet

<BOUCLE_articles(ARTICLES) {id_rubrique} {par date} {inverse}>
        
<a href="[(#URL_ARTICLE)]">
<div class="vignette_programme">   

    <div class="info_vignette_expo">
        
      <hr>
    
<BOUCLE_theme(GROUPES_MOTS){id_groupe=1}>
<BOUCLE_mot_theme(MOTS){id_article} {id_groupe !IN 2,3}>
 <h3 class="horaire"><multi> #TITRE</multi></h3>
</BOUCLE_mot_theme>
</BOUCLE_theme> 
        
      <hr>

<B_lesevenements>
<BOUCLE_lesevenements(EVENEMENTS) {par date} {id_article}>
    
<h3 class="horaire"><multi>[(#DATE_DEBUT|heures)]h[(#DATE_DEBUT|minutes)] &#x2794; [(#DATE_FIN|heures)]h[(#DATE_FIN|minutes)]</multi></h3>
    
<b><multi>Du [(#DATE_DEBUT|nom_jour)] [(#DATE_DEBUT|affdate{'j'})] [(#DATE_DEBUT|affdate{'M'})] au [(#DATE_FIN|nom_jour)] [(#DATE_FIN|affdate{'j'})] [(#DATE_FIN|affdate{'M'})]</multi></b>

</BOUCLE_lesevenements>           
</B_lesevenements>
        
        <hr>

<h2><a href="#URL_ARTICLE">#TITRE</a></h2> 
        
        <hr>

<BOUCLE_lieux(GROUPES_MOTS){id_groupe=2}>
<b>#TITRE</b>
<BOUCLE_mot_lieux(MOTS){id_article} {id_groupe !IN 1,3}>
#TITRE
</BOUCLE_mot_lieux>
</BOUCLE_lieux>  
    
        <hr>
<B_gr>     
<BOUCLE_gr(GROUPES_MOTS){id_groupe=3}>
<b>#TITRE</b> 
<BOUCLE_mot_mobile(MOTS){id_article} {id_groupe !IN 2,1}>
<BOUCLE_mobile(ARTICLES){id_mot}{id_rubrique=4}{par date}{lang}{inverse}>
<a href="#URL_ARTICLE">#TITRE #SOUSTITRE</a> <mark><b>,</b></mark>
</BOUCLE_mobile>
</BOUCLE_mot_mobile>
</BOUCLE_gr>
</B_gr>   

    </div>
    
<div class="doc_vignette_expo">
<BOUCLE_image(DOCUMENTS) {id_article} {mode=image} {par rang_lien, num titre,} {0,1}>
[(#LOGO_ARTICLE|image_recadre{1:1,'-','center center'}|sinon{#LOGO_DOCUMENT|image_recadre{1:1,'-','center center'}})]
</BOUCLE_image>
[(#LOGO_ARTICLE|image_recadre{1:1,'-','center center'})]
<//B_image>
</div>  
       
<div class="lire_la_suite">En savoir +</div>
</div> 
</a>
        
   </BOUCLE_articles>

la balise multi n’est pas magique ! :wink:
Il faut indiquer la langue à afficher et traduire.
exemple

<multi>[fr]Irak [en]Iraq</multi>

De plus pour quoi traduire un horaire ?

Merci de la réponse, mais je comprends pas bien :wink:
J’utilise la balise multi avec le pluging Multilang, sinon impossible a utiliser dans le cas de mon site. On ne peut pas traduire chaque mot clé généré dans une boucle directement dans le squelette.

ma classe h3 s’appelle horaire, mais il s’agit d’un du nom de la thématique (ça ça s’affiche), mais le reste c’est une boucle événement, de type « de 16h30 a 17h , du mercredi au vendredi ». Un horaire français et anglais n’est pas le même 5pm au lieu de 17h par ex.

Alors là, je ne sais pas si Spip peut gérer ce genre de cas.