Mehrsprachigkeit: Rubriken einander zuordnen

Meine derzeit zweisprachige Website hat in Deutsch und Französisch dieselbe Rubrikstruktur. Kann man nun die Rubriken in Deutsch den entsprechenden Rubriken in Französisch zuordnen?
Z.B. Rubrik 58 ist die französische Version von Rubrik 63?
Auf Rubrik 63 ist ein deutscher Text und auf Rubrik 58 ist der entsprechende Text in Französisch. Wenn jemand nun auf der Rubrik 63 landet, aber die Site eigentlich in Französisch lesen will, klickt er auf das Icon "FR" im Seitenkopf. Jetzt fällt er von der Rubrik 63 auf die Rubrik 1 (die französische Startseite) zurück. Es wäre besser, wenn er direkt auf die Rubrik 58 käme und sich so nicht wieder durch die Site klicken müsste.

Der Aufbau der Site ist folgendermassen:
oberste Ebene der Site Acceuil (französische Hauptseite) Qui sommes-nous?
                        Activités (Rubrik 58)

          Startseite (deutsche Hauptseite) Wer sind wir?
                        Aktivitäten (Rubrik 63)
Danke!
Hans Peter

SPIP verwaltet Übersetzungen von Artikeln und kann Original und seine Übersetzungen automatisch verlinken. Für Rubriken ist das meines Wissens so nicht implementiert, jedoch läßt sich das mit einem Trick auch für Rubriken realisieren, zumindest für den Besucher der Website:

Ich "befinde" mich in einer Rubrik in Sprache 1, und möchte zu ihrer Fassung in Sprache 2 gelangen. Die Site zeigt mir dazu einen Link an.

Der URL dieses Links wird abgeleitet aus der Frage nach der Rubrik, in welcher sich die Fassung in Sprache 2 des neuesten (wenn gewünscht) Artikels der aktuellen Rubrik befindet.

Als SPIP-Code könnte das so aussehen:

<BOUCLE_aktuelle_Rubrik(RUBRIQUES){id_rubrique}>
<BOUCLE_neuster_Artikel(ARTICLES){0,1}{!par date}>
<BOUCLE_Uebersetzungen_des_Artikels(ARTICLES){traduction}>
<BOUCLE_Rubrik_der_Uebersetzung(RUBRIQUES){id_rubrique}>
   <a href="#URL_RUBRIQUE">[(#LANG|traduire_nom_langue)]</a>
</BOUCLE_Rubrik_der_Uebersetzung>
</BOUCLE_Uebersetzungen_des_Artikels>
</BOUCLE_neuster_Artikel>
</BOUCLE_aktuelle_Rubrik>

Das geht bestimmt eleganter und läßt sich auf jeden Fall weiter verallgemeinern (man kann z.B. alle Artikel einer Rubrik zum Auffinden von Übersetzungen nutzen, dieser Code hätte hier aber vom Wesentlichen abgelenkt)

grusz, klaus++

MATE IN BRAZIL wrote:

Meine derzeit zweisprachige Website hat in Deutsch und Französisch dieselbe Rubrikstruktur. Kann man nun die Rubriken in Deutsch den entsprechenden Rubriken in Französisch zuordnen?
Z.B. Rubrik 58 ist die französische Version von Rubrik 63?
Auf Rubrik 63 ist ein deutscher Text und auf Rubrik 58 ist der entsprechende Text in Französisch. Wenn jemand nun auf der Rubrik 63 landet, aber die Site eigentlich in Französisch lesen will, klickt er auf das Icon "FR" im Seitenkopf. Jetzt fällt er von der Rubrik 63 auf die Rubrik 1 (die französische Startseite) zurück. Es wäre besser, wenn er direkt auf die Rubrik 58 käme und sich so nicht wieder durch die Site klicken müsste.

Der Aufbau der Site ist folgendermassen:
oberste Ebene der Site Acceuil (französische Hauptseite) Qui sommes-nous?
                        Activités (Rubrik 58)

          Startseite (deutsche Hauptseite) Wer sind wir?
                        Aktivitäten (Rubrik 63)
Danke!
Hans Peter
_______________________________________________
Spip-de@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-de

Dein Code hat mir eingeleuchtet. Das Resultat war aber falsch. Er hat mir immer die Rubrik mit dem neusten Artikel der gesamten Sprachversion geliefert.
Mit folgendem Code funktioniert es bei mir:

      <BOUCLE_Artikel_auf_Rubrik(ARTICLES){id_rubrique}{titre_mot=rubrique}>
      <BOUCLE_Uebersetzung_Artikel(ARTICLES){traduction}>
      <BOUCLE_Rubrik_Uebersetzung(RUBRIQUES){id_rubrique}>
       <a href="#URL_RUBRIQUE">[(#LANG|traduire_nom_langue)]</a>
      </BOUCLE_Rubrik_Uebersetzung>
      </BOUCLE_Uebersetzung_Artikel>
      </BOUCLE_Artikel_auf_Rubrik>

Wobei zu beachten ist, dass der Artikel, der "auf" einer Rubrik angezeigt wird bei dieser Website mit dem Schlagwort "rubrique" bezeichnet ist.

Jetzt habe ich noch die Herausforderung, dass ich statt den Links "Deutsch" und "Französisch" (die jetzt durch #LANG|traduire_nom_langue angezeigt werden) die Icons DE und FR erscheinen sollen und dann noch immer in derselben Reihenfolge. Jetzt wechselt Deutsch/Französisch zu Französisch/Detusch je nach Sprachversion, in der man sich gerade befindet.

Danke und Gruss
Hans Peter

On Jan 5, 2011, at 11:03 AM, klaus++ wrote:

SPIP verwaltet Übersetzungen von Artikeln und kann Original und seine Übersetzungen automatisch verlinken. Für Rubriken ist das meines Wissens so nicht implementiert, jedoch läßt sich das mit einem Trick auch für Rubriken realisieren, zumindest für den Besucher der Website:

Ich "befinde" mich in einer Rubrik in Sprache 1, und möchte zu ihrer Fassung in Sprache 2 gelangen. Die Site zeigt mir dazu einen Link an.

Der URL dieses Links wird abgeleitet aus der Frage nach der Rubrik, in welcher sich die Fassung in Sprache 2 des neuesten (wenn gewünscht) Artikels der aktuellen Rubrik befindet.

Als SPIP-Code könnte das so aussehen:

<BOUCLE_aktuelle_Rubrik(RUBRIQUES){id_rubrique}>
<BOUCLE_neuster_Artikel(ARTICLES){0,1}{!par date}>
<BOUCLE_Uebersetzungen_des_Artikels(ARTICLES){traduction}>
<BOUCLE_Rubrik_der_Uebersetzung(RUBRIQUES){id_rubrique}>
<a href="#URL_RUBRIQUE">[(#LANG|traduire_nom_langue)]</a>
</BOUCLE_Rubrik_der_Uebersetzung>
</BOUCLE_Uebersetzungen_des_Artikels>
</BOUCLE_neuster_Artikel>
</BOUCLE_aktuelle_Rubrik>

Das geht bestimmt eleganter und läßt sich auf jeden Fall weiter verallgemeinern (man kann z.B. alle Artikel einer Rubrik zum Auffinden von Übersetzungen nutzen, dieser Code hätte hier aber vom Wesentlichen abgelenkt)

grusz, klaus++

MATE IN BRAZIL wrote:

Meine derzeit zweisprachige Website hat in Deutsch und Französisch dieselbe Rubrikstruktur. Kann man nun die Rubriken in Deutsch den entsprechenden Rubriken in Französisch zuordnen?
Z.B. Rubrik 58 ist die französische Version von Rubrik 63?
Auf Rubrik 63 ist ein deutscher Text und auf Rubrik 58 ist der entsprechende Text in Französisch. Wenn jemand nun auf der Rubrik 63 landet, aber die Site eigentlich in Französisch lesen will, klickt er auf das Icon "FR" im Seitenkopf. Jetzt fällt er von der Rubrik 63 auf die Rubrik 1 (die französische Startseite) zurück. Es wäre besser, wenn er direkt auf die Rubrik 58 käme und sich so nicht wieder durch die Site klicken müsste.
Der Aufbau der Site ist folgendermassen:
oberste Ebene der Site Acceuil (französische Hauptseite) Qui sommes-nous?
                        Activités (Rubrik 58)
          Startseite (deutsche Hauptseite) Wer sind wir?
                        Aktivitäten (Rubrik 63)
Danke!
Hans Peter
_______________________________________________
Spip-de@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-de

Hallo,

Jetzt habe ich noch die Herausforderung, dass ich statt den Links
"Deutsch" und "Französisch" (die jetzt durch #LANG|traduire_nom_langue
angezeigt werden) die Icons DE und FR erscheinen sollen

Entweder einen eigenen Filter lang2logo() für mes_fonctions.php bauen, der das Egebnis von #LANG in den Code mit den Sprachlogos umwandelt und dann mit [(#LANG|lang2logo)] in das Skelett eingebunden wird:

function lang2logo($texte){
// hier die Schleife zum Unterscheiden der Länderkürzel
$texte=ereg_replace($laendercode,$logocode,$texte);
return $texte;
}

und dann noch
immer in derselben Reihenfolge. Jetzt wechselt Deutsch/Französisch zu
Französisch/Detusch je nach Sprachversion, in der man sich gerade befindet.

Ist halt "dynamisch" generierter Content :wink:

SPIP ermöglicht es, Ergebnisse einer oder mehrerer Schleifen in einem Stack zu speichern, der dann neu sortiert und ausgegeben wird. Das Stichwort dazu lautet Anti-Doublons, erklärt in folgendem Artikel:
http://www.spip.net/fr_article4139.html (fr)
bzw.
http://www.spip.net/en_article5107.html (en)

Hier würde man (Achtung - Code dient nur der Erläuterung, ist nicht getestet, eigene Tests unbedingt erforderlich) etwas in der Art machen:

<BOUCLE_Artikel_auf_Rubrik(ARTICLES){id_rubrique}{titre_mot=rubrique}>
<BOUCLE_Uebersetzung_Artikel(ARTICLES){traduction}>
<BOUCLE_Rubrik_Uebersetzung(RUBRIQUES){id_rubrique}{doublons a}>
</BOUCLE_Rubrik_Uebersetzung>
</BOUCLE_Uebersetzung_Artikel>
</BOUCLE_Artikel_auf_Rubrik>

<BOUCLE_Rubriken_sortiert(RUBRIQUES){!doublons a}{par titre}>
<a href="#URL_RUBRIQUE">[(#LANG|traduire_nom_langue)]</a>
</BOUCLE_Rubriken_sortiert>

Der Ausdruck {!doublons a} bedeutet nicht etwa "zeige alles außer den unter {doublons a} gefundenen Datensätzen", sondern im Gegenteil "zeige die in {doublons a} gespeicherten Datensätze".

grusz, klaus++