Carnet Wiki

VariantePour3langues

Variante pour 3 langues : en, fr, es de MultilinguismeExemple1 (bilingue). Site de démo 1.7, squelettes 1.7.2, démo 1.8.1.
12 articles en tout (4 dans chaque langue, dont 2 sont des traductions) :
3 articles (1 de référence en chaque langue), traduits chacun dans les deux autres langues => 3 x 3 = 9
+3 articles écrits en une seule langue : “english only”, “français seulement”, “español solo”

ces 12 articles étant répartis dans deux (sous) rubriques des secteurs anglais, français, espagnol (2 rubriques par secteur, donc par langue)

-  des mots clés répartis en sansgroupe (2), groupe1 (mots 11 et 12), groupe2 (21 et 22). Les articles en VO sont associés à 1 ou 2 mots clés

Le même mot clé21, pour tous les articles de référence (et aucun mot clé dans les traductions), sauf pour l’article “français seulement” (mot clé12 et mot clé22), et pour l’article “espagnol seulement” (motcle1ssgr et mot22)
2 mots clés sans groupe, utilisés par les articles de référence non encore traduits

La rubrique1 est associée au mot clé11 (gr1), la rubrique2 est associée au mot clé11 (gr1).

pour le moment un auteur pour chaque doc, y compris pour les traductions (à terme, faire “hériter” l’auteur depuis l’article de référence)

Tableaux récapitulatifs pour faciliter les tests : Deux rubriques dans chacun des 3 secteurs (en, es, fr) contiennent 6 articles, éventuellement traduits, avec les mots clés associés (saisis dans les articles de référence seulement)
(2 mots clés sans groupe, 2 mots clés dans le groupe 1, 2 mots clés dans le groupe 2)

Exemples : l’article 1, de référence en français, appartient aux Rubriques 1 dans les 3 langues (3 secteurs). L’article “english only”, disponible seulement en anglais, est donc dans la rubrique 1 du secteur anglais, mais pas encore dans les autres secteurs.

Articles Rub 1 Rub 2 mt1ssGr mt2ssgr mt11 mt12 mt21 mt 22
11_10 Français seulement r2fr x x x
10_20 English only r1en x x x
12_30 Español solo r1es x x x
1 vo=fr r1 x
2 vo=en r2 x x
3 vo=es r2 x x

et pour préciser les contenus des 6 rubriques :

Français Anglais Espagnol Pas de groupe Groupe 1 Groupe 2
R1fr R2fr R1en R2en R1es} R2es mt1ssGr mt2ssgr mt11 mt12 mt21 mt 22
11_10 FR x x x
10_20 EN x x x
12_30 ES x x x
1_1FR 2_1en 3_1es x
5_2fr 4_2EN 9_2es x x
8_3fr 7_3en 6_3ES x x

Résultats des tests faits et commentaires, en reprenant les n°s de la page MultilinguismeExemple1 :
bons avec la 1.7.2
-  0. Oui, nécessité d’utiliser forcer_lang=true. Mais il semble y avoir des différences de comportement selon les situations : cliquer sur un secteur ou une rubrique (donc d’une langue donnée) change dans certains cas la langue en cours (sélectionnée par le menu langue en haut de la page). Est-ce un bug du squelette ou de la 1.7.2 ?
1a. Non testé
-  1b. Oui, OK. Il faut simplement dire que les articles sont affichés dans la langue sélectionnée (avec le menu en haut de la page), et non dans la langue de l’article affiché.

Voici le code utilisé, légères modifs qui assurent le fonctionnement en 1.8.1 et pour ne pas perturber les “div” :

<BOUCLE_tester_traduction(ARTICLES){id_article}{traduction} {lang_select=non}>
        <BOUCLE_traduit(ARTICLES){id_article}{origine_traduction} {lang_select=non}>
        </BOUCLE_traduit>
                <BOUCLE_motscles_origine(ARTICLES){traduction}{origine_traduction} {lang_select=non}>
                        <INCLUDE(affichemots.php3) {id_article} {lang}  {$lalangue} >
                </BOUCLE_motscles_origine>
        <//B_traduit>
</BOUCLE_tester_traduction>
<INCLUDE(affichemots.php3) {id_article} {lang} {$lalangue} >
</B_tester_traduction>

avec le code affichemots.html, un peu plus bas.
-  2. Oui.
-  4. Ne semble pas marcher : les articles sont affichés dans la langue de l’article de référence, même si une traduction existe dans la langue sélectionnée par l’internaute. Serait-ce le fameux bug de la 1.7.2 ? (le fonctionnement en multilinguisme n’est pas toujours celui annoncé).

excellents avec la 1.8.1 Le site
Les mêmes tests, avec les mêmes squelettes, donnent les mêmes résultats, en mieux.

Mais pour présenter les mots clés de l’article affiché, il faut simplement changer la ligne :
<INCLURE(affichemots.php3){id_article}{lang}{$lalangue}> (écriture nécessaire en 1.7.2)
en <INCLURE(affichemots.php3){id_article}{lang}{lang=#LANG}> (pour 1.8.1, mais pas pour la CVS du 19/7/05 ?).

Avec 2 bonnes nouvelles attendues : le point 4. fonctionne sur la 1.8.1, le dysfonctionnement était bien lié au bug de la 1.7.2. De même le point 0. semble avoir le même comportement quelle que soit la situation : cliquer sur un secteur ou une rubrique (donc d’une langue donnée) ne change pas la langue en cours (qui est bien sélectionnée par le menu langue en haut de la page)

En cas d’écart constaté, sur le site de démo ou sur le vôtre, merci de me le faire savoir : Marc de Beaumont

-  code affichemots.html :

<B_mots>
<div class="menu">
<h1 class="structure"><:mots_clefs:></h1>
<ul class="divers" title="<:mots_clefs:>">
<BOUCLE_mots(MOTS) {id_article} {par titre}>
<li>
<div class="menu-titre"><a href="#URL_MOT&lang=<?php echo $lalangue ; ?>" [title="(#DESCRIPTIF|textebrut|entites_html)"]>#TITRE</a></div>

        <B_articles_mots>
        <ul class="menu-liste">
        <!-- on cherche tous les articles (de référence) ayant le mot clé -->
        <BOUCLE_articles_mots(ARTICLES) {id_mot} {lang_select=non}>
<!-- si c'est un article (de référence) dans la langue on affiche son titre -->
                <B_articles_dslalangue>
                <BOUCLE_articles_dslalangue(ARTICLES) {id_article} {lang} {par titre}>

                <li class="menu-item"><a href="#URL_ARTICLE"                         title="[(#DESCRIPTIF|textebrut|entites_html)]">#TITRE</a></li>
                </BOUCLE_articles_dslalangue>
                
<!-- si ce n'est pas un article (de réf) dans la langue on cherche une trad ds la langue --> 
                        <B_articles_traduits>
                        <BOUCLE_articles_traduits(ARTICLES) {traduction} {lang}>
                        <li class="menu-item"><a href="#URL_ARTICLE"                                                 
                        title="[(#DESCRIPTIF|textebrut|entites_html)]">#TITRE</a></li>
                        </BOUCLE_articles_traduits>
                        <!-- si pas de traduction ds la langue on affiche l'article de réf (dans une autre langue) --> 
                        <li class="menu-item"><a href="#URL_ARTICLE"                                                 
                        title="[(#DESCRIPTIF|textebrut|entites_html)]">#TITRE</a></li>

                        <//B_articles_traduits>
                <//B_articles_dslalangue>
        </BOUCLE_articles_mots>
        </ul>

        </B_articles_mots>

        </li>
</BOUCLE_mots>
</ul></div>
</B_mots>
- Mise à jour :18 November 2007 at 16:32