Latest news

After a couple of months, the research and development around the xili-language trilogy is gradually resuming. The offer of plugins to create multilingual WordPress sites is plethoric but only two use the taxonomic approach. On this site based on 2014-xili, multilingual child theme of Twenty Fourteen, remain the main documents concerning the trilogy. Following the WordCamp Europe Paris in June 2017, Twenty Seventeen’s site based on 2017-xili , will contain the Latest news and updates.
M.

Dernières nouvelles…

Après une parenthèse de plusieurs trimestres, la poursuite des recherches et développement autour de la trilogie xili-language reprend progressivement. L’offre d’extensions pour créer des sites WordPress multilingues est pléthorique mais seules deux utilisent l’approche taxinomique. Sur ce site basé sur 2014-xili, thème enfant multilingue de Twenty Fourteen, restent les documents principaux concernant la trilogie. A la suite du WordCamp Europe Paris de juin 2017, le site basé sur 2017-xili, thème enfant multilingue de Twenty Seventeen, contiendra les dernières informations et actualisations.
M.

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.

xili-language version 2.21.0 shipped

The plugin Xili-language (heart of his trilogy) continues its development …

Widget “language list” or “language selector”

After the period devoted to the management of menus and their style with image (flag), this is the appropriate time to review widget “language list” or language selector (switcher).
Adding pictures is based on an integrated style sheet in the header if and only if this widget is active. (thanks to the is_widget_active function). As with nav menus, the theme must support (add_theme_support) the “custom_xili_flag” introduced since Xili-language version 2.15.

Widget inside twenty sixteen
Widget inside twenty sixteen

Three possible styles: single text (as before), image + text and image / flag alone (in compact horizontal list).
Images/pictures can have three origins:
– Those provided by the developer of the theme (so in a theme subfolder and reported at the theme setup)
– Those introduced as nav menu image in the catalog media associated with a language,
– And in case of absence, for some images contained in the plugin.

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

Importing multilingual datas of a website previously controlled by Polylang plugin

A few years after the birth of Xili-language, Polylang also chosen the way of taxonomy “language” to organize posts according to their language. The slightly different implementation of this taxonomy is discussed here. This approach retains the posts (article, page) to their initial state. In a decidedly simple approach with an effective ergonomics, its success demonstrates that it meets expectations in a very competitive multilingual context. But as for music, cars, the webmaster / developer may want different or complementary qualities, that is why, apart from other reasons, the trilogy Xili-language continuing its development. If, during the life of a website, the need appears, Xili-language 2.1+ version is able to detect the presence of previous Polylang and recover data to continue the multilingual architecture with the trilogy (Xili-tidy- tags, xili-dictionary). Caution, in the list of extensions, just disable Polylang without removing it because otherwise, for lack of option provided for this purpose by the author, all specific data Polylang will be deleted. Once, Xili-language active, a semi-automatic multi-step process is fired … a specially dedicated post is published…

Widgets visibility option under the current language

widget visibility
widget visibility

If the option is activated (5th tab), the webmaster will see in the interface of each widget, a group of 2 dropdown menus to decide whether this widget should appear or not.

various fixes

Each version is an opportunity to fixe and optimize the code in particular by integrating functions appeared since WP 4.1. or recent versions of javascript.

improved code and algorithms

Add filters to customize the implementation style images / flags in the language selector.
Added new theme twenty sixteen in the list of bundled themes that came with WordPress.
Intermediate versions before publication on the WP repository are available on GitHub

xili-language version 2.21.0

L’extension coeur de sa trilogie xili-language poursuit son développement…

Le widget “liste de langues” ou sélecteur de language

Après la période consacrée à la gestion des menus et de leur style avec image (drapeau), voici le moment venu de revoir le widget “liste de langues” ou sélecteur de language (switcher).
L’adjonction d’images se fait sur la base d’une feuille de style intégrée dans le header si et seulement si ce widget est actif. (grâce à la fonction is_widget_active). Comme pour les menus, il faut que le thème supporte (add_theme_support) le “custom_xili_flag” introduit avec xili-language version 2.15.
Réglages du widget Liste de langues
Trois styles possibles : texte seul (comme avant), image + texte et image/drapeau seul (en liste horizontale compacte).
Widget dans 2016
Les images peuvent avoir trois origines :
– celles prévues par la développeur du thème (donc dans un sous-dossier du thème et déclarées lors du setup du thème)
– celles introduits comme image de menu dans le catalogue média associée à une langue
– et en cas d’absence, pour quelques images prévues dans l’extension.

Importation des données multilingues d’une installation pilotée auparavant par Polylang

Quelques années après la naissance de xili-language, Polylang a choisi aussi la voie de la taxinomie “language” pour organiser les posts selon leur langue. L’implantation un peu différente de cette taxinomie est commentée ici. Cette approche conserve les posts (article, page) dans leur état initial. Dans une approche résolument simple avec une ergonomie efficace, son succès démontre qu’elle répond aux attentes dans un contexte multilingue très concurrentiel. Mais comme pour la musique, les voitures, le webmestre/développeur peut souhaiter des qualités différentes ou complémentaires, c’est pour cela, hormis d’autres raisons, que la trilogie xili-language continue son développement.
Si, cours de la vie d’un site internet, le besoin apparaît, xili-language version 2.1+ est capable de détecter la présence précédente de Polylang et de récupérer les données pour continuer le mode multilingue avec la trilogie (xili-tidy-tags, xili-dictionary). Attention, il faut simplement dans la liste des extensions, désactiver Polylang sans le supprimer car sinon, faute d’option prévue à cet effet par son auteur, toutes les données spécifiques à Polylang seront supprimées. Une fois, xili-language activée, un processus semi-automatique en plusieurs étapes se met en place… c’est l’objet d’un article spécialement dédié aux étapes à suivre.

Option de visibilité des widgets selon la langue courante

Choix de visibilité des widgets
Si l’option est activée (5e onglet), le webmestre trouve dans l’interface de chaque widget un groupe de menus déroulants pour décider si ce widget doit apparaître ou non.
Cette option est accessible aussi dans la personnalisation.

corrections diverses

Chaque version est l’occasion de corriger et d’optimiser le code notamment en intégrant des fonctions apparues depuis WP 4.1. ou des versions de javascript récentes.

amélioration du code et des algorithmes

Ajout de filtres pour personnaliser le style de mise en place des images/drapeaux dans le sélecteur de langue.
Ajout du nouveau thème twenty sixteen dans la liste des thèmes de base livrée avec WordPress.
Les versions intermédiaires avant publication sur le dépôt WP (repository) sont disponibles sur GitHub

Importation des données multilingues d’une installation pilotée auparavant par Polylang

Préambule

TRES IMPORTANT : le changement d’extensions doit être précédé IMPERATIVEMENT par une sauvegarde de la base de données.

La réalisation de sauvegardes a été très utile dans les phases de développements de cette nouvelle fonctionnalité pour xili-language 2.21+ et permettait à tout moment de revenir à une phase antérieure.

Même si la taxonomie de xili-language et polylang ont le même nom, il y des différences expliqués dans cet article.

Ceci concerne des webmestres avec un bon niveau de connaissance de WordPress… et des raisons “CMS” qui les motivent à passer de Polylang à xili-language (2.21+).

Préparation

Installation SANS ACTIVATION des 3 extensions xili-language, xili-tidy-tags et xili-dictionary. Soit via FTP soit via la liste des extensions.

Ouvrir plusieurs onglets dans votre navigateur : deux sur la liste des extensions, un sur le site côté visiteur et un sur le tableau de bord

Désactivation de Polylang

Attention, il faut dans la liste des extensions, simplement  désactiver Polylang sans le supprimer car sinon, faute d’option prévue à cet effet par son auteur, toutes les données spécifiques à Polylang seront supprimées.

Désactivation Polylang
Désactivation Polylang
Activation xili-language
Activation xili-language

Une fois, xili-language activée, un processus semi-automatique en plusieurs étapes se met en place et ouvre la page d’accueil

Accueil de l'activation xili-language
Accueil de l’activation xili-language

Une fois sur les pages de paramétrages, on voit que les éléments laissés par Polylang sont détectés et transformés pour la gestion multilingue par xili-language :

Lancer la récréation des liens entre posts
Lancer la récréation des liens entre posts

Régénération des éléments multilingues

La régénération des liens entre posts effectuées, le message indique d’aller dans l’onglet Réglages Expert.

fin de la régénération
fin de la régénération

Comme l’étape suivante concerne les taxinomies, aller dans l’onglet du navigateur préparé au préalable où il y a la liste des extensions et activer xili-tidy-tags :

Activation xili-tidy-tags
Activation xili-tidy-tags

Revenons à la page de réglages Expert de xili-language et à la fenêtre (meta-box) “actions et paramètres spéciaux”:

Lancement des importations de taxinomies
Lancement des importations de taxinomies

Les opérations liées aux taxinomies concernent les étiquettes (post_tag) avant tout:

Les étiquettes et leur groupement
Les étiquettes et leur groupement

avec l’écran dans le groupage xili-tidy-tags

groupage xili-tidy-tags réalisé
groupage xili-tidy-tags réalisé

Elles préparent les éléments pour les catégories qui sont gérées en mode traduction (sans clonage) par xili-language avec xili-dictionary. (voir l’article…)

Pour nettoyer la base WP avant de supprimer l’extension Polylang, il faut passer à l’étape suivante (ceci peut-être fait plus tard) :

Lancer le nettoyage
Lancer le nettoyage
La base est nettoyée des éléments spécifiques de Polylang
La base est nettoyée des éléments spécifiques de Polylang

ATTENTION :

Il va de soit que désormais, Polylang ne doit pas être réactivée. Pour revenir en arrière : utiliser les backups.

Les fichiers Polylang sont supprimables via la page de liste des extensions ou mieux via FTP. xili-language a fait en sorte toutefois de renommer le fichier uninstall.php en uninstall_XL_desactived.php afin qu’il ne détruise pas notamment la taxonomie “language” lors du processus suppression géré par WP.

 

Importing multilingual datas of a website previously controlled by Polylang plugin

Preamble

VERY IMPORTANT: change of plugins must be preceded by IMPERATIVELY a backup of the database.

Performing backups has been very helpful in the phases of development of this new feature to Xili-language 2.21+ and allowed at any time to return to an earlier phase.

Although Xili-language taxonomy and that of Polylang have the same name, there are differences explained in this article.

This post concerns webmasters with a good level of knowledge of WordPress … and those who know the “CMS” reasons behind to move from Polylang to Xili-language (2.21+).

Preparation

Installation WITHOUT ACTIVATION  to the 3 xili-language plugins, Xili-tidy-tags and Xili-dictionary. Either via FTP or through the list of plugins.

Open multiple tabs in your browser: two on the list of extensions, one on the visitor site side and one on the dashboard.

Desactivate Polylang

Caution, in the list of extensions, you must  only desactivate Polylang without deleting it because otherwise, for lack of option provided for this purpose by the author, all specific data Polylang will be deleted.

desactivate Polylang
desactivate Polylang
Activate xili-language
Activate xili-language

Once, Xili-language activated, a semi-automatic multi-step process is set up and opens the welcome page:

Welcome screen after activation
Welcome screen after activation

Once in the page settings, it is seen that the elements left behind by Polylang are detected and processed for multilingual management now by xili-language:

before regeneration
before regeneration

Regeneration multilingual elements

The regeneration of links between posts made, the message says to go to the Settings for Experts tab.

regeneration done
regeneration done

Because the next step is taxonomies, go to the previously prepared browser tab where there is the list of extensions and enable Xili-tidy-tags:

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

Going back to the settings page Expert Xili-language and the window (meta-box) “special actions and parameters”:

Start taxonomy groups recovering
Start taxonomy groups recovering

Operations related to taxonomies relate Tags (post_tag) primarily:

Tags list and languages
Tags list and languages

now screen xili-tidy-tags assign

xili-tidy-tags assigning done
xili-tidy-tags assigning done

They prepare the items for categories that are managed in translation mode (without cloning) by xili-language and Xili-dictionary. (see Article …)

To clean the WP base before removing the Polylang extension, you have to go to the next step (this can be done later):

To launch DB cleaning process
To launch DB cleaning process
Ready to delete plugin files
Ready to delete plugin files

 

CAUTION :

It goes without saying that now Polylang should not be reactivated. To go back: use the backups.

The Polylang files are deletable via the page showing list of extensions or better via FTP. Xili-language, however, has made so renaming the file
 uninstall.php to uninstall_XL_desactived.php
so it does not destroy particular taxonomy “language” in the process “deleting” managed by  WP.