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

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.

 

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…

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-theme select

Après deux ans d’interruption, le développement de l’extension xili-theme select a repris.
Cette petite extension permet à WordPress de générer un thème choisi selon des règles liés au périphérique/navigateur.

Pourquoi ?
– pour être prêt à la multitude des smartphones, tablettes, phablettes, etc…
– pour proposer une alternative moins gourmande en code aux offres “responsive” très en vogue mais le plus souvent basées sur la taille de l’écran.
– pour intégrer des règles plus pointues qui sélectionnent le thème voulu selon le périphérique/navigateur cible.
– pour mettre à jour l’approche avec les bibliothèques de code WP et autres.

La prochaine étape :
– ajout de la possibilité d’introduire ses propres règles personnalisées.
– proposer un thème WordPress smartphone de test basé sur la bibliothèque Framework 7.

Mise à jour de xili-language en version 2.18

La version 2.18 de xili-language inclut des corrections et la disparition de l’extension destinée aux utilisateurs de bbPress en mode multilingue.

  • xl-bbp-addon n’est plus une extension mais des modules activables si bbPress est présent,
  • correction: ajoute bien la classe ‘menu-item-has-children’ dans les menus générés par le sélecteur de menu selon la langue (comme dans twentyfourteen / twentyfifteen où l’on voit apparaître le petit triangle en cas de sous-menu),
  • correction: propagation des propriétés corrigée (post_format) – à noter que les réglages de cette propagation pré-traduction est réglable par le concepteur du thème,
  • meilleur réglage de la langue du tableau de bord selon chaque utilisateur (merci à Renoir de Montréal),
  • menu déroulant des langues affichant la valeur de base – get_option(‘WPLANG’) – (et non la valeur filtrée par l’utilisateur).
  • filtre ajouté pour la future version 2.0 de xili-theme select.

M.

un site internet multilingue avec WordPress et xili-language