Les taxinomies et les extensions multilingues

Depuis 2009, xili-language suivi deux ans après de Polylang sont deux extensions qui utilisent une taxinomie nommée “language”. Cela est possible depuis WP 2.3 – voir fichier taxonomy.php
Le principal avantage de cette approche ‘taxonomy‘ est que l’on ne détruit pas les enregistrements (post) originaux. (En effet, d’autres extensions modifient les champs ‘post_content’ et ajoutent des tables…)

Comme celles de base les catégories (category) et les mots-clés/étiquettes (post_tag), chaque élément (term) de la taxinomie est décrit par son nom, son raccourci (slug) et sa description. Les autres champs sont des éléments techniques (term_id, taxonomy_id,…)

Exemple de la catégorie “Recent News”
– Name : Recent News
– Slug : recent-news
– Description : the most recent news to be published

Dans xili-language et la taxinomie “language”, une langue est définie ainsi :
– Name : fr_FR (iso)
– Slug : fr_fr
– Description : French
et
dans Polylang, le choix est différent :
– Name : French
– Slug : fr (raccourci)
– Description : plusieurs données sérialisées d’un tableau (array) dont le nom iso (locale => fr_FR) utilisé par WP pour dénommer les fichiers de traduction.

Le point clé (pivot) est dans les deux cas, ce code iso qui décrit la langue et le pays de son utilisation : fr_CA est utilisé au Canada si l’on veut être précis.

L’utilisation de données sérialisées dans la champ description est une originalité de Polylang que l’on ne retrouve pas dans WP. De tels champs ne permettent pas de requête SQL.

Comme le montre le fichier locale.php de JetPack (utilisé par xili-language), la gestion des langues est très complexe et utilisent plusieurs codages. On peut y trouver d’autres éléments invariants comme le nom dans la langue citée (français) et son sens (ltr). En fait, il y a très peu de langues dites rtl.

Moyennant quelques centaines de lignes, xili-language (2.21+) peut récupérer les éléments multilingues d’une précédente installation pilotée par Polylang.
xili-dictionary est lui compatible avec Polylang (grâce à des filtres et une abstraction du modèle de taxinomie), pour, par exemple, traduire des fichiers de langue pour un thème ou une extension avec génération de fichiers pot, po, mo) mais aussi récupérer les chaînes.

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…

What’s new in Xili-language version 2.20?

First: Xili-language compatibility is verified with WordPress 4.3 “Billie”.
Well known by donors, contributors, the functions related to the themes present in permalinks 201x-Xili child bundled themes are now included in the plugin itself.
It is therefore possible for all situations respecting the rules kernel (core) of WP to have permalinks integration with current language at the beginning of the URI instead ?lang = fr_fr at end of URI for example.
Note also that the language slug can be a shortcut to its ISO code but also an alias at your convenience associated with the activity of the website or its geography.
Possible to do tests with newest theme twenty sixteen (and his multilingual child theme).
Other fixes and code improvements continued to grow especially for parties of sometimes more than 5 years old. 😉
Note: for now, given the sophistication of settings, lack of filter, the approach php / javascript, the customizer is not active to create special navigation menus with insertion points (use page Appearance/Menus).
Thanks for your returns

Quoi de neuf avec xili-language version 2.20 ?

Tout d’abord la compatibilité de xili-language se vérifie avec WordPress 4.3 “Billie”.
Bien connues des donateurs, contributeurs, les fonctions liées aux permaliens présentes dans les thèmes enfant 201x-xili des thèmes de base sont maintenant incluses dans l’extension elle-même. Il est donc possible pour tous les thèmes respectant les règles du noyau (core) de WP d’avoir des permaliens avec insertion au début de langue en cours au lieu du paramètre ?lang=fr_fr en fin d’URI par exemple. Noter aussi que la langue peut-être un raccourci de son code ISO mais aussi un alias à votre convenance lié à l’activité du site ou sa géographie.
Premiers tests possibles avec le nouveau thème twenty sixteen (et son enfant multilingue).
D’autres corrections et améliorations du code continuent leur progression notamment pour des parties de parfois plus de 5 ans. 😉
Note : pour le moment, vue la sophistication des réglages, l’absence de filtre, l’approche php/javascript du customizer, ce dernier (en français = personnalisation) n’est pas actif notamment pour les menus (spéciaux avec insertion).

xili-language et WooCommerce – une boutique multilingue

Qu’est-ce qu’une boutique multilingue ?

  • voir la liste des produits, son panier, sa page de commande dans sa langue,
  • avoir des fiches produits lisibles dans chacune des langues du site.

WooCommerce est-elle une extension compatible multilingue ?

Oui, pour plusieurs raisons :
– le moteur WooCommerce repose sur les éléments clés du noyau (core) de WordPress (custom post type, canevas des thèmes (template)),…
Les produits (stocké en “custom post type”) pourront donc être affectés par la taxinomie ‘language’.
– comme BuddyPress, bbPress, l’objet “boutique” est étanche et permet un dialogue avec WP, les extensions via de nombreux filtres même pendant les process Ajax/JSON. Il s’insère par défaut dans des pages WP pré-définies.
– dans le contexte multilingue, il s’agit de passer la langue courante d’affichage dans les requêtes de WooCommerce. Via une petite dizaine de filtres, ce message ‘langue’ est passée.

Tout le travail d’adaptation consiste donc à identifier ces filtres dans WooCommerce pour que cette dernière puisse sélectionner le bon fichier langue à la volée pour l’affichage dans son container.

Réglages dans xili-language

  • ajout du CPT Product pour être classable dans la taxonomie ‘language’ de XL
  • réglages de gestion du domaine texte WooCommerce en mode filtre.
  • ajout dans functions.php du thème de l’appel aux functions de filtrage de WooCommerce.

La ligne des temps du moteur WooCommerce dans WordPress + Xili-language

  • les 2 filtres clé pour WooCommerce : “before_woocommerce_init” et “plugin_locale
  • les filtres des liens et boutons : 'woocommerce_get_' . $pagename . '_page_id'

A suivre…

WP 4.3 et xili-language 2.19.3+

La sortie de WordPress 4.3 Billie est sortie imminente (version RC2 ce jour). Xili-language (version 2.19.3+), qui repose dès sa création sur la taxinomie “language” et la sélection de fichier de langue (.mo) continue à être compatible pour gérer un site multilingue.
Cette compatibilité se confirme, après bbPress, pour des extensions comme WooCommerce (qui est très bien écrite) : moyennant quelques réglages et un petit kit de quelques filtres, la création d’une boutique multilingue est possible et l’acheteur aura la vitrine, son panier et le bon de commande dans la langue choisie…
WordPress 4.3 introduit la possibilité de créer et ajuster des menus dans le personnalisateur (customizer) à l’ergonomie controversée reposant sur javascript. Pour le moment, faute de filtre (hook) efficace disponible, xili-language ne prend pas en compte cette aspect. Donc, pour des menus avec des points d’insertion sélecteur d’autres menus, continuez à utiliser la page Apparence/Menus qui est plus lisible.
La version 2.19.3 ajoute des améliorations pour gérer des langues moins courantes comme celles avec un ISO en trois (arq) ou six caractères (haw_US).
Le thème enfant twentyfifteen-xili contient un exemple de champ texte complémentaire (copyright) ajustable dans le personnalisateur (fonction theme_mod).
A suivre avec la version 2.20 incluant plusieurs améliorations…

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-language mis à jour en version 2.19

La mise à jour de xili-language en version 2.19 améliore et ajoute des fonctionnalités et permet la compatibilité avec WP 4.3-beta et ses nouveaux apports

  • Côté admin (tableau de bord)
    Ajoute des liens dans l’éditeur de post pour voir les traductions d’autres posts liés,
    pre-tests avec WP 4.3-beta1: corrige des éléments pour le (nouveau) WP Theme Customizer Menus

  • Editions
    Ajout du shortcode comme ici [linked-post-in lang="fr_fr"]Voir cet article

  • Développeur de Themes
    Par ajout ciblé de filtre gère les valeurs dites theme_mod (comme dans config.xml) voir le thème enfant multilingue twentyfifteen-xili en exemple dans github

xili-language updated in version 2.19

xili-language is updated in version 2.19 to improve features and to be ready with WP 4.3-beta

  • Admin Side
    add link in post edit to view other posts during translation,
    pre-tests with WP 4.3-beta1: fixes for (new) WP Theme Customizer Menus

  • Authoring
    add shortcode as [linked-post-in lang="fr_fr"]Voir cet article

  • Theme’s developers
    ready to translate theme_mob values (like in config.xml) see multilingual child theme twentyfifteen-xili example in github