wp_term_taxonomy

Mehrsprachige WP Plugins und (benutzerdefinierte) Taxonomien

Seit 2009 benutzt xili-language die Taxonomie “language” zwei Jahre später folgte Polylang ein weiteres Plugin für Mehrsprachigkeit dieser Methode. Ermöglicht wurde dies mit WordPress 2.3 siehe hierzu die Datei taxonomy.php in WordPress.

Der Hauptvorteil der Taxonomie-Nutzung ist das keine Datenbankeinträge für Artikel oder Beiträge kaputt gehen können, was bei anderen Plugins zur Mehrsprachigkeit durchaus der Fall sein kann, da diese Tabellen einfügen und das ‘post_content’ Feld nutzen.

Wie die Hauptkategorien (Category) und Schlüsselwörter/Tags (post_tag), wird jedes Element (Term) der Taxonomie definiert durch seinen Namen, seinem Kürzel (Slug) und der Beschreibung. Andere Felder sind technische Felder (term_id, taxonomy_id …).

Beispiel anhand der Kategorie “Letzte Beiträge”
– Name : Letzte Beiträge
– Slug : letzte_beitraege
– Beschreibung: Die letzten veröffentlichten Beiträge

In xili-language und der Taxonomie “language” wird eine Sprache wie folgt definiert:

  • Name : fr_FR (iso)
  • Slug : fr_fr
  • Beschreibung : Französisch

Bei Polylang verhält es sich ein wenig anders :

  • Name : Französisch
  • Slug : fr (Kürzel)
  • Beschreibung: besteht aus einigen sequenziellen Daten in einer Tabelle (Array) dessen ISO name (locale => en_US) von WP zur Bestimmung der Übersetzungsdateien genutzt wird.

Die Schlüsselfunktion in beiden Fällen ist der ISO Code, der die Sprache und das Land indem die Sprache gesprochen wird beschreibt. Als Beispiel Französisch in Kanada => fr_CA.

Die Nutzung von sequenziellen Daten im Beschreibungsfeld ist eine Erfindung von Polylang die sonst in WordPress keinerlei Verwendung findet. Das Feld Beschreibung erlaubt keine SQL-Abfragen deshalb müssen PHP Funktionen verwendet werden.

Wie in der JetPack Datei locale.php (die von xili-language genutzt wird) erkenntlich ist, ist Mehrsprachigkeit bzw. Sprachen-Management eine sehr komplexe Angelegenheit und nutzt eine mehrfache Kodierung. Man kann andere unveränderliche Elemente wie der Name der Sprache (Französisch) und die Schreibrichtung finden, wobei es nur eine sehr kleine Menge von rtl-Sprachen (Schreibrichtung von rechts nach links) gibt.

Mit nur einigen hundert Zeilen Code schafft es xili-language (2.21+) Elemente einer vorherigen WP Installation die mit Polylang genutzt wurde weiterhin zu betreiben. (Weitere Informationen sind der Anleitung des kommenden Beitrags zu finden.)

Xili-language ist ebenfalls mit dem aktuellen Polylang Format kompatibel, dies wird durch Filter und Abstraktion des Taxonomie-Modells erreicht. Als Beispiel hierfür gilt die Verwendung von pot, po und mo Dateien die von Themes oder Plugins erzeugt werden.