Comment changer la langue de l'interface et du cookie dans un lien Spip ?

Bonjour à tous et joyeuse année !

Alors, j'essaie de faire un site multilingue, et je suis en train de
m'arracher les cheveux ! J'ai choisi de mettre les 2 langues dans une seule
rubrique, et j'utilise $forcer_lang=true.

Voici mon problème, je le présente par un exemple c'est plus facile :

Dans la page http://inegalites.ulb.ac.be/spip.php?auteur6 on peut voir 2
articles écrits par l’auteur : 1 en néérlandais, 1 en français. J’aimerais
que lorsqu’on clique sur l’article en néérlandais, ça implique un changement
de langue d’interface. C’est-à-dire que ça rajoute &lang=nl dans l’URL et
que ça inscrive dans le cookie qu’on reste en NL pour la suite.

Dans la page http://programmer.spip.net/Forcer-un-changement-de-langue-d il
semble y avoir la réponse, mais je ne comprends pas comment faire. Il est
dit de générer un lien qui change l’interface de langue avec cette syntaxe :

[(#VAL{converser}
    |generer_url_action{redirect=#URL_ARTICLE}
        |parametre_url{var_lang,#LANG})]

Je l'ai mise dans l'URL des article de ma boucle SPIP pour les articles,
mais ça ne marche pas. J'imagine que je n'emploie pas la bonne méthode.

J'ai aussi trouvé ce truc :
http://contrib.spip.net/Traduction-d-un-article-ET-de-l qui dit de mettre
comme URL dans la boucle :
spip.php?action=cookie&url=#URL_ARTICLE&var_lang=#LANG mais ça ne marche pas
non plus, le site ne change pas de langue...

Est-ce que vous savez comment faire ?

Merci beaucoup !

Joël

Bonjour à tous,

Juste un truc, qui n’est pas la réponse à ta question; mais qui en attendant peut peut-être dépanner.

Sur tous les liens de mes sites , dans la partie des url de liens je rajoute le renseignement de la langue du contexte de la page :
<a class="#EDIT{texte}" href=" #URL_ARTICLE&lang=#LANG" …>

Voilà et ainsi plus de soucis.

Bien à tous et meilleurs vœux :wink:

JC

Le 2 janv. 2015 à 13:51, Jol.Gloubi <jol.gloubi@gmail.com> a écrit :

Bonjour à tous et joyeuse année !

Alors, j'essaie de faire un site multilingue, et je suis en train de
m'arracher les cheveux ! J'ai choisi de mettre les 2 langues dans une seule
rubrique, et j'utilise $forcer_lang=true.

Voici mon problème, je le présente par un exemple c'est plus facile :

Dans la page http://inegalites.ulb.ac.be/spip.php?auteur6 on peut voir 2
articles écrits par l’auteur : 1 en néérlandais, 1 en français. J’aimerais
que lorsqu’on clique sur l’article en néérlandais, ça implique un changement
de langue d’interface. C’est-à-dire que ça rajoute &lang=nl dans l’URL et
que ça inscrive dans le cookie qu’on reste en NL pour la suite.

Dans la page Forcer un changement de langue d'interface - Programmer avec SPIP 4 il
semble y avoir la réponse, mais je ne comprends pas comment faire. Il est
dit de générer un lien qui change l’interface de langue avec cette syntaxe :

[(#VAL{converser}
   |generer_url_action{redirect=#URL_ARTICLE}
       |parametre_url{var_lang,#LANG})]

Je l'ai mise dans l'URL des article de ma boucle SPIP pour les articles,
mais ça ne marche pas. J'imagine que je n'emploie pas la bonne méthode.

J'ai aussi trouvé ce truc :
Traduction d'un article ET de l'interface d'un clic - SPIP-Contrib qui dit de mettre
comme URL dans la boucle :
spip.php?action=cookie&url=#URL_ARTICLE&var_lang=#LANG mais ça ne marche pas
non plus, le site ne change pas de langue...

Est-ce que vous savez comment faire ?

Merci beaucoup !

Joël

_______________________________________________
liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net

Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
Discuter chez rezo.net

Documentation de SPIP : http://www.spip.net/

Irc : de l'aide à toute heure : http://spip.net/irc

Jean-Christophe Bernard <popojcb <at> free.fr> writes:

Bonjour à tous,

Juste un truc, qui n’est pas la réponse à ta question; mais qui en

attendant peut peut-être dépanner.

Sur tous les liens de mes sites , dans la partie des url de liens je

rajoute le renseignement de la langue du

contexte de la page :
<a class="#EDIT{texte}" href=" #URL_ARTICLE&lang=#LANG" …>

Voilà et ainsi plus de soucis.

Bien à tous et meilleurs vœux

JC

Le 2 janv. 2015 à 13:51, Jol.Gloubi <jol.gloubi <at> gmail.com> a

écrit :

> Bonjour à tous et joyeuse année !
>
> Alors, j'essaie de faire un site multilingue, et je suis en train de
> m'arracher les cheveux ! J'ai choisi de mettre les 2 langues dans

une seule

> rubrique, et j'utilise $forcer_lang=true.
>
> Voici mon problème, je le présente par un exemple c'est plus facile

:

>
> Dans la page http://inegalites.ulb.ac.be/spip.php?auteur6 on peut

voir 2

> articles écrits par l’auteur : 1 en néérlandais, 1 en français.

J’aimerais

> que lorsqu’on clique sur l’article en néérlandais, ça implique un

changement

> de langue d’interface. C’est-à-dire que ça rajoute &lang=nl dans

l’URL et

> que ça inscrive dans le cookie qu’on reste en NL pour la suite.
>
> Dans la page http://programmer.spip.net/Forcer-un-changement-de-

langue-d il

> semble y avoir la réponse, mais je ne comprends pas comment faire.

Il est

> dit de générer un lien qui change l’interface de langue avec cette

syntaxe :

>
> [(#VAL{converser}
> |generer_url_action{redirect=#URL_ARTICLE}
> |parametre_url{var_lang,#LANG})]
>
> Je l'ai mise dans l'URL des article de ma boucle SPIP pour les

articles,

> mais ça ne marche pas. J'imagine que je n'emploie pas la bonne

méthode.

>
> J'ai aussi trouvé ce truc :
> Traduction d'un article ET de l'interface d'un clic - SPIP-Contrib qui dit de

mettre

> comme URL dans la boucle :
> spip.php?action=cookie&url=#URL_ARTICLE&var_lang=#LANG mais ça ne

marche pas

> non plus, le site ne change pas de langue...
>
> Est-ce que vous savez comment faire ?
>
> Merci beaucoup !
>
> Joël
>
> _______________________________________________
> liste spip
> spip <at> rezo.net - désabonnement : envoyer un mail à spip-off

<at> rezo.net

>
> Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
> Discuter chez rezo.net
>
> Documentation de SPIP : http://www.spip.net/
>
> Irc : de l'aide à toute heure : http://spip.net/irc

J’ai trouvé, c’était tout con.
Il fallait simplement rajouter href="spip.php?
action=converser&var_lang=#LANG&redirect=#URL_ARTICLE" comme URL pour
les articles.

Pour info, voici ma boucle qui liste les articles des 2 langues dans la
page auteur, et change l’interface selon la langue de l’article :

<BOUCLE_auteur_principal(AUTEURS) {id_auteur}> <!-- A mettre tout en
haut de la page -->
   <BOUCLE_articles_auteur(ARTICLES) {id_auteur} {par date} {inverse}
{pagination 10}> <!-- listing des articles de cet auteur. -->
      <a href="spip.php?
action=converser&var_lang=#LANG&redirect=#URL_ARTICLE">
         <BOUCLE_logo_origine_articles_auteur(ARTICLES){traduction}
{origine_traduction}> <!-- Cette boucle avec les critères {traduction}
{origine_traduction} me permet d'aller chercher le logo de l'article
original (mais le lien lui, n'est pas lié à l'article original). Je fais
ça pour éviter de remettre un logo aux articles traduits. Du coup, ces
derniers ont d'office le logo de l'article d'origine. -->
            [(#LOGO_ARTICLE|image_reduire{80,0})]
         </BOUCLE_logo_origine_articles_auteur>
      </a>
      <h3><a href="spip.php?
action=converser&var_lang=#LANG&redirect=#URL_ARTICLE">#TITRE</a></h3>
      <div>[(#DATE|jour)]/[(#DATE|mois)]/[(#DATE|annee)]
#LESAUTEURS</div>
      <p class="liste_articles_trouves">[(#INTRODUCTION|couper{175})]
<span><a href="#URL_ARTICLE">Lire la suite</a></p>
   </BOUCLE_articles_auteur>
</BOUCLE_auteur_principal>