Alle Beiträge von Joerg Knoerchen

xili-language Version 2.21.0 veröffentlicht

Das xili-language plugin (das Herz der Triologie) wird weiterentwickelt …

Widget “language list” oder “language selector”

Nachdem eine Zeitlang der Fokus der Entwicklung bei der Verwaltung von Menüs und deren Style mit Bildern (Fahnen) lag, ist es nun an der Zeit das Widget zum wählen der Sprache unter die Lupe zu nehmen.
Das Hinzufügen von Bildern basiert auf einem integrierten Style Sheet, das und nur dann aktiv ist, wenn das Widget ebenfalls aktiv ist, dies wird über die Funktion is_widget_active erreicht. Wie es bei den Navigationsmenüs erforderlich ist, muss das Theme add_theme_support unterstützen damit die “custom_xili_flag” Funktion, die es seit der Version 2.15 gibt funktioniert.

Widget inside twenty sixteen
Widget so wie es in  twenty sixteen vorkommt

Es gibt drei mögliche Styles:  einfacher Text (wie bereits vorher), Bild + Text und Bild / Fahne alleine (in der kompakten horizontalen Liste)
Bilder/Fahnen können an drei stellen abgelegt und genutzt werden:
– vom Entwickler des Themes vorgegeben (also in einem Unterordner des Theme und veröffentlicht im Theme-Setup)
–  im Medienkatalog mit einer Sprache verknüpft und als Menübild gekennzeichnet
– und im Falle eines fehlenden Bildes, enthält das Plugin bereits einige (nicht alle) Fahnen.

Settings of style in widget Language list
Settings of style in widget Language list

Import von Sprachdaten einer mehrsprachigen Seite die dem Polylang Plugin realisiert ist

Einige Jahre nachdem xili-language, die WordPress-Bühne betreten hat, folgte Polylang später den gleichen Ansatz Beiträge über Sprach-Taxonomien zu organisieren, allerdings mit einer etwas anderen Vorgehensweise in der Implementierung wie hier erklärt.
Diese Vorgehensart belässt Beiträge und Seiten in ihrem Ursprung. In einem ausgesprochen einfachen Ansatz und einer wirksamen Ergonomie, zeigt diese Vorgehensweise ihren Erfolg und erfüllt alle Erwartungen an einen konkurrenzfähigen mehrsprachigen Kontext. Aber genauso wie bei der Musik oder bei Autos, gibt es immer wieder andere Ansprüche in Qualität und Komplexität, so auch bei Webmastern und Entwicklern, neben diesen und anderen Gründen, wird deshalb die Trilogie um xili-language auch weiterhin fortgeführt und entwickelt. Während eines Lebenszyklus einer Webseite kann es vorkommen, dass man sich entscheidet die Mehrsprachigkeit der Seite anders zu lösen, so unterstützt  die Version xili-language 2.1+ die Migration von Polylang auf die Architektur der mehrsprachigen Trilogie von xili-language, xili-tidy- tags und xili-dictionary. Aber Achtung, Polylang darf zunächst nicht deinstalliert werden, es muss zunächst nur inaktiv gesetzt werden, da ansonsten alle Polylang Einstellungen mit gelöscht werden. Vor dem Löschen muss xili-language aktiviert werden damit die halb-automatische Migration in mehreren Schritten angestoßen wird. Hierzu gab es bereits einen speziellen Artikel.

Widget Sichtbarkeit in der aktuellen Sprache

widget visibility
Widget Sichtbarkeit

Falls die Option im 5. Reiter aktiviert wurde, werden im Interface unterstützer Widgets eine Gruppe von zwei Auswahlmenüs angezeigt um festzulegen ob das Widget in der aktuellen Sprache, allen Sprachen oder nur bei einer bestimmten Sprache angezeigt werden soll.

Fehlerbehebungen

Jede neue Version bietet die Möglichkeit auch Fehler zu beheben und Optimierungen einer vorherigen Version vorzunehmen, so zum Beispiel neue Funktionen zu nutzen, die ein neues WordPress wie Version 4.1 oder die Aktualisierung von Javascript mit sich gebracht hat.

Verbesserter Code und verbesserte Algorithmen

Filter hinzugefügt um die Implementierung der Styles für Bilder / Fahnen zur Sprachwahl verwenden zu können.
Angepasstes WP Theme Twenty Sixteen zu den mitgelieferten xili-language Themes hinzugefügt.
Eine Entwicklerversion ist im WP Repository auf GitHub verfügbar.

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.

Was gibt es Neues in der Xili-language Version 2.20?

Zunächst ist Xili-language mit WordPress 4.3 “Billie” kompatibel.

Dank bekannter Unterstützer und Spender sind nun die Funktionen für Theme bezogene Permalinks im Child theme 201x-Xili und dem Plugin selbst inkludiert. Damit ist es nun möglich in allen Situationen dem WordPress Core und seiner Permalink Integration in der aktuellen Sprache zu folgen und umzusetzen zu können, dabei wird die Sprache über den Permalink ohne einen angehängten Parameter wie zum Beispiel ?lang = fr_FR gesetzt.

Ein Hinweis an dieser Stelle, der Sprachcode kann ein Shortcut zum ISO Code sein oder gar ein Verweis auf Aktivitäten der Webseite oder der Browser Geografie. Testen kann man das mit den neuen Theme twenty sixteen (und seinem multilingualen Child Theme).

Weiterhin gab es einige Fehlerbehebungen und Verbesserungen und Optimierungen an stellen die bereits über 5 Jahre alt waren ;-).

Hinweis: Nach wie vor ist das Erstellen von Xili-language Menüs, aufgrund von fehlenden Filtern und Hooks im Customizer dank Einsatz von JavaScript an dieser stelle nicht möglich! Bitte verwenden sie die bislang herkömmliche Methode um Menüs zu erstellen. Vielen Dank für die Beachtung.

WP 4.3 und xili-language 2.19.3+

WordPress 4.3 Billie wurde veröffentlicht und Xili-language gibt es ebenfalls in neuer Version 2.19.3+. Basierend auf den Grundlagen der Taxonomie “language” und der Wahl der Sprachdatei-Einstellungen (.mo-Dateien) bleibt es mit Xili weiterhin konsequent möglich eine mehrsprachige Seite zu pflegen.
Die Kompatibilität bestätigen die funktionierenden Erweiterungen wie bbPress oder das beliebte WooCommerce, das sich mit nur wenigen Einstellungen und einer kleinen Anzahl an Filtern, zu einem mehrsprachigen Shop samt Warenkorb und Check-Out Prozedur macht.

WordPress 4.3 bringt die Neuerung mit das Menüs nun direkt im “Customizer”-Modus erstellt werden können, allerdings mit kontroversen Ansichten aufgrund des eingesetzten JavaScript. Bislang unterstützt Xili die Menüerstellung an dieser Stelle noch nicht, da es dem neuen Feature an dem notwendigen Filter (hook) fehlt. Deshalb sollte vorerst noch die herkömmliche Methode zur Erstellung von Menüs genutzt werden.

Die Xili-language Version 2.19.3 führt erweiterte Unterstützung für weniger gebräuchliche Sprachen ein, die drei oder sechs Zeichen (haw_US) in ihrem ISO Namen verwenden.

Das Child-Theme twentyfifteen-Xili beinhaltet nun ein zusätzliches Beispiel an Text im Copyright Feld das anpassbar ist über den Customizer (theme_mod function).

Fortsetzung folgt mit 2.20…

xili-language Aktualisierung auf Version 2.19

xili-language wurde auf Version 2.19 aktualisiert neben Verbesserungen ist es nun auf WP 4.3-beta vorbereitet.

  • Für Administratoren
    Link im Editor mit Vorschau um andere Beiträge während der Übersetzung anschauen zu können. Vorabtest mit WP 4.3-beta1 Korrekturen für die neuen Benutzeranpassungen des WP Theme Menüs.
  • Für Autoren
    Neuer Shortcode Zum Beispiel für [linked-post-in lang="fr_fr"]Voir cet article
  • Für Theme Entwickler
    Vorbereitet zur Übersetzung von theme_mob Werten (wie in der config.xml) siehe auch das multilingualale Child-Theme twentyfifteen-xili Beispiel auf github

xili-Theme Select

Nach zwei Jahren  Unterbrechung, wird die Entwicklung des Plugins xili-theme select wieder aufgenommen. Dieses kleine Plugin ermöglicht es, ein WordPress-Theme basierend auf verschiedenen Regeln zu wählen und anzeigen zu lassen. So können unterschiedliche Themes für unterschiedliche Geräte oder  Browser angezeigt werden.

Wieso?
– Bereit für eine  Vielzahl von Smartphones, Tablets, Phablets, etc.
– Stichwort “responsive” Design, anhand von Regeln auf die Größe des Bildschirms reagieren um Inhalte mit weniger anspruchsvollen Code zu präsentieren
– Erweiterte Regeln, lassen das gewünschte Theme für bestimmte Gerät oder Ziel-Browser wählen und anzeigen
– das Konzept setzt auf WP Code und anderen aktuellen -Bibliotheken

Die nächsten Schritte:
– Möglichkeit um eigene Regeln definieren zu können
– Schlage ein Test-Wordpress-Theme für Smartphones auf Basis der Framework 7 Bibliothek vor

 

xili-language aktualisiert auf Version 2.18

Die neue xili-language Version beinhaltet Fehlerbehebungen und enthält Verbesserungen der Integration zum optionalen Plugin xl-bbp-addon (wird verwendet bei mehrsprachigen bbPress Installationen)

  • Integration des xl-bbp-addon (kein zusätzliches Plugin mehr),
  • Behoben ‘menu-item-has-children’ Klasse in der Menüauswahl (wie sie in den Themen twenty fourteen / twenty fifteen vorkommt, CSS für Untermenüs auf der linken Seite um kleine Pfeile anzeigen zu können),
  • Korrigiert Veröffentlichungsoptionen,
  • Verbesserte Verwaltung der Sprache im Dashboard und Benutzerprofil (mit Dank an Renoir),
  • Ausgewählte Sprache in den Haupteinstellungen ist nun per standard auf  get_option(‘WPLANG’)  gesetzt (und nicht mehr filtered locale).

M.

xili-language Version 2.17.x für das neue WordPress 4.2

Das WordPress Core Team sagt : Wir haben die Veröffentlichung von WordPress 4.2 um einen Tag verschieben müssen, um das Sicherheitsupdate für WP 4.1.2 am vergangenen Dienstag herausbringen zu können.

xili-language Version 2.17.x erscheint deshalb mit folgenden Verbesserungen:

  • Möglichkeit aktive Widgets wählen zu können wie zum Beispiel das neue xili-Kategorien Widget (5. Reiter in den xili-Einstellungen)
  • Verbesserte Kompatibilität mit dem Plugin WP JSON REST API v. 1.2.1 (Entwicklerversion).
  • (Sicherheits-) Fehlerbehebungen…