sites multilingue

Salut,

Tout d'abord, je te conseille les archives de la liste ou ce débat a déjà fait couler beaucoup d'encre :wink: . Ensuite, sur le site des retraites du premier ministre, Brush (un gars de la liste) a utilisé une autre logique que la mienne pour les langues (il a choisi de créer une rubrique racine par langue, et comme il n'a pas l'air idiot, tu devrais t'y référer) ;-). J'ai pas choisi cette solution parce qu'elle avait pour effet de "perdre" quelques tags spip plutôt agréables (racine,..).

Le jeudi, 17 avr 2003, à 19:19 Europe/Paris, Coyote a écrit :

vous auriez un exemple de bloucle modifiée ???

pas de boucle modifiée, juste l'utilisation des mots clé comme l'a dit le collègue. Un mot clé par langue (anglais, français, russe, .....). Cela te permet de caractériser tes articles en langues étrangères, quel que soit leur emplacement, de créer des mots clé à la demande et ne pas avoir une nouvelle rubrique racine si un des rédacteurs décide de faire un article dans une langue non prévue.

peut-on passer d'une traduction à l'autre ???

C'est la que j'ai été obligé de "bricoler" un peu le surtitre :-(. Je l'ai détourné de sa destination initiale pour en faire un champs de liaison entre tous les articles identiques, mais de langue différente. Cela impose aux rédacteurs d'être rigoureux lors de rédaction d'article, car ils doivent renseigner le surtitre avec les informations concernant les articles correspondant en langue étrangère.
Par exemple, supposons un article en français (id_article=125) ayant 3 traductions : anglais (id_article=323), russe (id_article=197) et espagnol (id_article=206)
L'article en français aura pour surtitre : en=323,ru=197,sp=206
celui en anglais aura pour surtitre : fr=125,sp=206,ru=197
etc.....
Grâce aux mots clé, tu peux avoir des listes par langue et grâce à un petit script php tu peux générer, dans ton gabarit article, un lien dynamique (sur un drapeau de chaque pays dont la langue est utilisée par ex) sur toutes les traductions de cet article. On peut même imaginer qu'un article n'existe que dans des langues étrangères et pas en français.
Voila, le mieux ? ch'ai pô, mais ça fonctionne, sans modifier la structure de spip.

les rubriques sont-elles traduites également ???

non :frowning: Enfin, je ne sais pas ce que tu entends par "rubriques traduites". Si c'est la traduction de leur #TITRE en quelques langues spécifiques, alors oui, mais si tu entends une traduction pour toutes les langues utilisées sur le site alors non :frowning:

merci - Coyote

de rien :wink:

@+

Grâce aux mots clé, tu peux avoir des listes par langue et grâce à un
petit script php tu peux générer, dans ton gabarit article, un lien
dynamique (sur un drapeau de chaque pays dont la langue est utilisée
par ex) sur toutes les traductions de cet article. On peut même
imaginer qu'un article n'existe que dans des langues étrangères et pas
en français.
Voila, le mieux ? ch'ai pô, mais ça fonctionne, sans modifier la
structure de spip.

Peux-tu m'envoyer ce script php ???

merci

ok, j'ai réussi à bricoler un petit script php pour générer le passage d'une
langue à l'autre, tout en vérifiant que les articles ont bine le staut
publié...

pas de boucle modifiée, juste l'utilisation des mots clé comme l'a dit
le collègue. Un mot clé par langue (anglais, français, russe, .....).

Grâce aux mots clé, tu peux avoir des listes par langue

par contre, j'ai un peu plus de mal à comprendre l'utilisation des mots clés
...

les rubriques sont-elles traduites également ???

non :frowning: Enfin, je ne sais pas ce que tu entends par "rubriques
traduites". Si c'est la traduction de leur #TITRE en quelques langues
spécifiques, alors oui,

et la façon dont tu as pu traduire les #TITRE des rubriques... , voire
#DESCRIPTIF et #TEXTE...

merci - Coyote

"Coyote" <coyote90@free.fr> a écrit dans le message news:
b7tnpg$erd$1@main.gmane.org...

ok, j'ai réussi à bricoler un petit script php pour générer le passage

d'une

langue à l'autre, tout en vérifiant que les articles ont bine le staut
publié...

pour utiliser le lien vers les traductions incluses dans le surtitre
ex: fr=5,en=10

A placer dans le fichier mes_fonctions.php3

function navig_trad($trad){
  $traductions = explode( ",", $trad);
  $array = explode( ",", $trad);
  sort($array);
    $res =count($array);
    $i =0;
    while($i<$res)
    {
      $flag = explode( "=", $array[$i]);
      $query = "SELECT statut,titre FROM spip_articles WHERE id_article =
$flag[1];";
      $result = spip_query($query);
      if ($result){
        while ($row = spip_fetch_array($result)){
          if ($row['statut'] == 'publie'){
            $texte = $texte."&nbsp;<a
href='article.php3?id_article=".$flag[1]."'><img
src='ecrire/lang/spip_".$flag[0].".gif' border='0' ALT='".$row[1]."'></a>";
          }
        }
      }
      $i++;
    }
    return $texte;
}

Les fichiers .gif sont a placer dans le répertoire /ecrire/lang/

et voilà comment appeler la fonction... dans le fichier article.html

[(#SURTITRE|navig_trad)]

@+ Coyote

oups, j'ai oublié d'inclure qq .gif en exemple...

begin 666 spip_fr.gif
M1TE&.#EA& `0`+(```````@`$/\A```8_____P```````````"'Y! 0``/\`
M+ `````8`! `0 -""+'<_FS(.8B]5N@M`* 3AG&;`DKB16K>6:7$V@4N'*_F
C:<LYN.,?'8P7] V!M2.I1_DM:<(4#VJ4XJA-)4<!Z783`#L`
`
end

begin 666 spip_en.gif
M1TE&.#EA& `0`+(```````@`$.\``/\A$ ``UAAK_^__]____R'Y! 0``/\`
M+ `````8`! `0 -L"+'<_NS(2:>X& -0RO'@YU4286ZE))3&99B$M6YA_9$4
MH=@V9?Q !>X@:!55JP-,2"S!C"\83$+K6*^%@7;+'52QUR[WQ &'NU)=P'S6
@9C0!,=<%K/\4W>8!&D.6-@-^3RYI%@H;B(F*BX@)`#L`
`
end

begin 666 spip_de.gif
M1TE&.#EA& `0`+,```0"!/S6%/P"! P"%/S^_/P2! ``````````````````
M`````````````````````"'Y! ``````+ `````8`! ``P1'$,A)JZ4BZ\W[
M[""(A:1%AA>AKFQ;",4;`T-KJW&N2[>K_[0>#B8KPH*]GW(V" 6>T&A4`I):
3I\W-=?ND:;A@J@`<'ES.YP@`.P``
`
end

Salut Coyote,
désolé de ne pas t'avoir répondu plus tôt (cause vacances ;-)). T'as besoin de personne pour faire tes trucs, c'est globalement comme ça que j'ai bricolé mon truc (mais sans requête sql, pô besoin).
Jette quand même un coup d'oeil au boulot de Brush parce qu'il a utilisé une autre logique pour gérer le problème.
@+

Le mercredi, 23 avr 2003, à 21:02 Europe/Paris, Coyote a écrit :

"Coyote" <coyote90@free.fr> a écrit dans le message news:
b7tnpg$erd$1@main.gmane.org...

ok, j'ai réussi à bricoler un petit script php pour générer le passage

d'une

langue à l'autre, tout en vérifiant que les articles ont bine le staut
publié...

pour utiliser le lien vers les traductions incluses dans le surtitre
ex: fr=5,en=10

A placer dans le fichier mes_fonctions.php3

function navig_trad($trad){
  $traductions = explode( ",", $trad);
  $array = explode( ",", $trad);
  sort($array);
    $res =count($array);
    $i =0;
    while($i<$res)
    {
      $flag = explode( "=", $array[$i]);
      $query = "SELECT statut,titre FROM spip_articles WHERE id_article =
$flag[1];";
      $result = spip_query($query);
      if ($result){
        while ($row = spip_fetch_array($result)){
          if ($row['statut'] == 'publie'){
            $texte = $texte."&nbsp;<a
href='article.php3?id_article=".$flag[1]."'><img
src='ecrire/lang/spip_".$flag[0].".gif' border='0' ALT='".$row[1]."'></a>";
          }
        }
      }
      $i++;
    }
    return $texte;
}

Les fichiers .gif sont a placer dans le répertoire /ecrire/lang/

et voilà comment appeler la fonction... dans le fichier article.html

[(#SURTITRE|navig_trad)]

@+ Coyote

_______________________________________________
liste spip
spip@rezo.net - désabonnement : spip-off@rezo.net
Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
Documentation de SPIP : http://www.uzine.net/spip