options:
switcher:
style: dropdown
label: native
showCurrent: true
separator: "|"Drei Darstellungen
style | Was es ist | Wofür |
|---|---|---|
links | Textlinks nebeneinander, durch separator getrennt | zwei, höchstens drei Sprachen |
dropdown | ein details-Element zum Aufklappen | viele Sprachen, oder wenig Platz |
flags | das Feld flag je Sprache, Eigenname als Tooltip | wenn Platz knapp und die Sprachen bekannt sind |
dropdown funktioniert ohne JavaScript — es ist ein details. Das Skript des Plugins schließt
es zusätzlich bei einem Klick daneben und mit der Escape-Taste; fehlt es, bleibt das Aufklappen
trotzdem bedienbar.
Der Umschalter oben rechts auf dieser Website ist ein dropdown mit label: native.
Flaggen sind Länder, nicht Sprachen
Ein Land kann mehrere Sprachen haben, eine Sprache mehrere Länder. Welche Flagge steht für Englisch? Wer
flagsnimmt, sollte wissen, dass die Wahl immer jemanden übergeht. Die Vorgabe leitet die Flagge aus der Region des Locale ab (de-DE→ 🇩🇪); mit dem Feldflaglässt sich jede davon überschreiben, auch durch Text.
Vier Beschriftungen
label | Zeigt | Beispiel |
|---|---|---|
code | den Sprachcode | de |
label | den Anzeigenamen | German |
native | den Namen in der Sprache selbst | Deutsch |
translatedTitle | den Titel der Zielseite | Coffee |
native ist meist die freundlichste Wahl: Wer Deutsch sucht, sucht „Deutsch“, nicht „German“.
translatedTitle ist die interessanteste — sie zeigt, wohin der Klick führt, nicht nur in welche
Sprache. Sie braucht eine Verknüpfung, die den Titel kennt; ohne Übersetzung fällt sie auf den
Eigennamen zurück.
Die aktuelle Sprache
showCurrent: true zeigt sie als hervorgehobenen Eintrag ohne Link, mit aria-current="page".
Mit false erscheinen nur die anderen — kürzer, aber der Besucher sieht nicht mehr, wo er ist.
Wohin er gehört
layout:
position: header
group: toolbarNeben Suche und Farbschema-Schalter, wo Besucher solche Schalter suchen. Jede andere Stelle geht auch — die Werte sind dieselben wie bei jeder Quartz-Komponente.
Auf einer einsprachigen Site und auf Seiten ohne weitere Einträge rendert er nichts. Es braucht also keine Bedingung darum herum.