beatovich: Mehrsprachigkeit, Beurteilung

Beitrag lesen

hallo

@@beatovich

Ja. Aber ich kann zur Zeit, wo ich das CSS genriere nur das Attribut lang aus dem html Element auswerten, da ja die andere Variable data-lang später noch verändert wird. Trotzdem muss ich wegen der Cookie und QueryString auswertung bereits korrekt reagieren, das heisst, die vorgesehenen Fälle müssen sofort korrekt gerendert werden.

Du ermittelst also mit JavaScript aus Cookie und QueryString die Sprache. Dann kannst du doch genau die gezeigte Regel mit JavaScript generieren: neuer Pen.

Das ist mir auch schon durch den Kopf gegangen. Ich kann ein eindeutiges Style-Element aktualisieren.

Angenommen: lang=de, data-lang=fr

.multilingual > :not([data-lang|="fr"]):not(:last-child),
.multilingual > [data-lang|="fr"] ~ :last-child
{
	display: none;
}

Die Frage ist nur:

  • kein Cookie, mein QS -> kein data-lang Attribut

Es sollte jetzt alles ausgeblendet werden das nicht der dokument-Sprache entspricht.

Die Initialisierung sollte also sein:

.multilingual > :not(:last-child)
{
	display: none;
}

ob ich diese Bedingung wegbekomme, dass die Fallbackversion (welche dem lang Attribut im html Element entsprechen soll) immer zuletzt notiert werden soll.

Das wird wohl mit CSS nichts.

So denke ich auch.

Aber wenn du sowieso mit JavaScript dran bist: Warum läufst du nicht über alle .multilingual-Knoten und entscheidest jeweils anhand der dort verfügbaren Sprachen, der aus Cookie und QueryString ermittelten gewünschten Sprache und aus der Fallbacksprache, welche im jeweiligen Knoten angezeigt werden soll?

Ich kann natürlich diese Zeit investieren. Aber, warum das DOM verändern, wenn es ja (eventuell) doch wieder restauriert werden muss?