Le contexte
Dans le contexte expliqué ci-dessus (une rubrique = plusieurs langues), changer la langue d’une rubrique se fait grâce au #MENU_LANG
. Si vos squelettes sont construits de cette manière :
- vous entrez sur le site par une langue (si vous êtes arrivé par un autre moyen, c’est la langue par défaut du site qui vous est proposée)
- vous naviguez dans cette langue, mais avez toujours un lien pour passer d’une langue à une autre grâce au #MENU_LANG
- Dans chaque rubrique, s’affichent les articles dans la langue de navigation, ou dans toutes les langues, selon ce que vous avez mis en place.
Si vous cliquez sur un article, celui-ci s’affiche dans sa propre langue. Mais l’interface de navigation va continuer à s’afficher selon la langue que vous aurez sélectionné pour votre navigation (c’est un cookie sur votre ordinateur qui sélectionne la langue de navigation, lorsque vous la choisissez dans #MENU_LANG
). Pour changer de langue dans cette page d’article, vous avez alors deux possibilités :
- changer la langue de l’interface de navigation (tout change sauf le contenu de l’article qui reste dans sa propre langue à lui), avec #MENU_LANG
- cliquer sur la traduction de l’article (une simple boucle traduction). Dans ce cas, l’article va changer, et s’afficher dans une autre langue, mais l’interface de navigation va rester dans la langue du cookie.
Mixer les deux clics
Cette contrib vous propose de mixer les deux clics : dans un squelette article, lorsqu’on clique sur la traduction d’un article, changer aussi la langue de navigation. La solution la plus simple est de provoquer le changement de langue dans le cookie à travers l’URL des boucles de traduction.
<BOUCLE_Traductions(ARTICLES){traduction}{exclus}{unique}>
<a href="spip.php?action=cookie&url=#URL_ARTICLE&var_lang=#LANG">
[(#LANG|traduire_nom_langue)]</a> </BOUCLE_Traductions>
Et si vous utilisez le critère {origine_traduction}
pour indiquer la version originale de chaque article :
<BOUCLE_Original(ARTICLES){traduction}{origine_traduction}{exclus}{unique}>
<a href="spip.php?action=cookie&url=#URL_ARTICLE&var_lang=#LANG">
[ (#LANG|traduire_nom_langue)]</a> (original) </BOUCLE_Original>
<BOUCLE_Traductions(ARTICLES){traduction}{exclus}{unique}>
<a href="spip.php?action=cookie&url=#URL_ARTICLE&var_lang=#LANG">
[(#LANG|traduire_nom_langue)]</a> </BOUCLE_Traductions>
Pour jouer la transparence, on peut mettre cette boucle au même endroit qu’on aura mis #MENU_LANG
dans les autres squelettes.
Discussions par date d’activité
6 discussions
Bonjour,
dans l’article, il est indiqué
{origine_traductionl}
au leiu de{origine_traduction}
Merci pour ce plugin !
merci, c’est corrigé.
Répondre à ce message
Bonjour,
je veut obtenir une traduction(du anglais à français) correcte à des phrases trés liés à son contexte .merci
Répondre à ce message
Dans mes_options.php (qui sera enregistré dans le dossier /config) :
//Gestion des langues
$forcer_lang=true ;
Normalement ça règle ce genre de problèmes. A savoir que je ne l’ai pas testé sous Spip 2.0...
Le graphisme du site http://evasalmon.free.fr est absolument génial :)
j’ai trouvé comment faire pour que les rubriques soit traduites et qu’elles ne lâchent pas le critère lang quand on navigue, super ! merci le forum Spip !
mais est-ce que vous avez une solution pour qu’on puisse recharger l’article lors de la demande de traduction (MENU_LANG) et faire afficher l’article traduit correspondant à la demande ?
cela éviterait qu’on ait deux manip à faire,
audedo
Répondre à ce message
bonjour,
j’ai un soucis avec cette gestion multilingue, sur le site en question j’ai souhaité afficher tous les articles en anglais si on choisit l’anglais et également ceux écrit en français lorsque ceux-ci ne sont pas traduit. Jusque là tout fonctionne, je clique sur l’article et les rubrique sont bien traduites (gestion avec la balise multi)
Mon problème se trouve au clique sur les rubriques : lorsque je suis en anglais et que je clique sur une rubrique je retrouve la langue d’origine c’est à dire le francais.
J’ai tout essayé avec lang_select=non ou ! land-select dans les boucles RUBRIQUES et rien n’y fait,
j’ai essayé avec cette contrib dans les articles et çà ne fonctionne pas non plus,
merci pour votre aide je suis vraiment perdue !!
voir sur http://evasalmon.free.fr
audedo
Répondre à ce message
Merci bcp pour cette contrib, ca marche tres bien !!!!
Répondre à ce message
Bonsoir,
Cette contrib marche très bien lorsque je place la boucle dans le squelette article.html, c’est très pratique merci.
J’aurais bien voulu placer ces liens de traduction dans l’entête de la page qui est appelée par
<INCLURE{fond=inc-entete}{lang=#ENV{lang}}{id_rubrique}{id_article}>
mais cela ne fonctionne pas : les liens n’apparaissent pas.
dd
Répondre à ce message
Ajouter un commentaire
Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :
Merci d’avance pour les personnes qui vous aideront !
Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.
Suivre les commentaires : |