Importieren von mehrsprachigen Inhalten einer WP Seite die mit dem Polylang Plugin verwaltet wurde

Vorwort

ABSOLUT WICHTIG: Es ist zwingend notwendig das vor Beginn der Änderung durch das Plugin eine Datensicherung der Datenbank vorgenommen wird!

Datenbanksicherungen waren sehr hilfreich bei der Entwicklung der neuen Funktionen von xili-language 2.21+ und erlaubten es zu jeder Zeit zu einem früheren Stadium der Entwicklung zurück zu kehren.

Obwohl die genutzte Taxonomie “language” bei xili-language und Polylang vom Namen her identisch ist, so gibt es doch Unterschiede die im vorherigen Beitrag beschrieben wurden.

Dieser Beitrag richtet ich an Webmaster und Administratoren mit einem fortgeschrittenen Kenntnisstand über WordPress und an diejenigen die die “CMS” Hintergründe kennen um einen Wechsel von Polylang zu xili-language (ab 2.21+) zu vollziehen.

Vorbereitung

Installiere die 3 xili-language plugins, OHNE DIESE ZU AKTIVIEREN, xili-language, xili-tidy-tags und xili-dictionary, entweder via FTP oder über die Liste des WordPress Plugin-Repository.

Öffne mehrere Reiter in deinem Browser. Zwei mit der Liste der Erweiterungen, eine mit der öffentlichen Webseite und eine mit dem Administrations-Dashboard.

Deaktivierung von Polylang

WARNUNG! In der Liste der Erweiterungen darf Polylang nur deaktiviert werden ohne es zu löschen! Ansonsten werden alle Polylang spezifischen Daten gelöscht und stehen xili-language nicht mehr zur Verfügung und eine Migration ist nicht mehr möglich!

desactivate Polylang
Deaktivierung Polylang
Activate xili-language
Aktivierung xili-language

Danach kann xili-language aktiviert werden, es startet ein in mehreren Schritten halbautomatischer Prozess der zunächst eine Willkommens-Seite öffnet:

Welcome screen after activation
Willkommen-Meldung nach der Aktivierung

Wechsle auf die Seite der xili Einstellungen, xili erkennt das Vorhandensein der Polylang  Elemente und beginnt diese zu verarbeiten und übernimmt nun das Sprachen-Management:

before regeneration
vor der Degeneration

Regenerierung der Mehrsprachigen Elemente

Die Regenerierung der Links von zusammengehörenden Beiträgen beginnt und die im Anschluss folgende Nachricht bittet dich den Settings for Experts Reiter zu öffnen.

regeneration done
Regenerierung abgeschlossen

Da der nächste Schritt die Taxonomien betrifft, wechsle zunächst auf den vorbereiteten Browser-Tab der die Liste der Erweiterungen beinhaltet und aktiviere das zweite xili Plugin Xili-tidy-tags:

Activate xili-tidy-tags
Aktiviere xili-tidy-tags

Kehre nun zurück zum Browser-Tab mit der Seite “Settings for Experts” und klicke “Start” in der Meta-Box “special actions and parameters”:

Start taxonomy groups recovering
Start taxonomy groups recovering

Taxonomien stehen in Beziehung zu Tags (post_tag) vornehmlich:

Tags list and languages
Tags List und Sprachen

un den xili-tidy-tags Beziehungen

xili-tidy-tags assigning done
xili-tidy-tags hergestellte Beziehungen

sie bereiten die Elemente der Kategorien vor die im Übersetzungsmodus verwaltet werden ohne diese zu kopieren oder zu klonen, dies geschieht durch xili-language und Xili-dictionary. (siehe hier zusätzlich den betreffenden Beitrag)

Um WordPress vom Polylang Plugin zu säubern müssen noch zwei weitere Schritte vorgenommen werden (diese können auch später erfolgen):

Erst starten wir die Säuberung durch xili, dann löschen wir Polylang:

To launch DB cleaning process
Starte Launch DB cleaning process
Ready to delete plugin files
Danach kann Polylang gelöscht werden (Ready to delete plugin files)

 

WARNUNG :

Es versteht sich von selbst – Polylang darf nicht wieder aktiviert werden! Wer zu Polylang zurück kehren möchte benutzt bitte seine Backups!

Die Polylang Dateien können über den WP Dialog der Plugin-Liste gelöscht werden oder via FTP.  Xili-language, hat alle wichtigen Dateien umbenannt zum Beispiel: uninstall.php zu uninstall_XL_desactived.php, damit die Taxonomie “language” vor einem ungewollten Löschen geschützt ist, wenn der WP Dialog genutzt wird.

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.