Internationaliser des projets WordPress Mises à jour avec WordPress 4.6

Tout au long de cette série, nous avons décrit exactement ce que vous devez faire pour internationaliser vos projets WordPress. Si vous n'avez lu aucun des messages précédents, je vous recommande de les consulter..

Bien que quelques modifications aient été apportées au fonctionnement de l'internationalisation et de la localisation dans WordPress 4.6, cela ne veut pas dire que les didacticiels précédents ne sont pas pertinents. Cela signifie simplement que la façon dont vous choisissez de distribuer vos plugins et leurs localisations va changer.

Et c'est ce que nous allons couvrir dans ce tutoriel.

Avant de commencer

Comme mentionné, ce tutoriel suppose que vous êtes rattrapé par tout ce dont nous avons discuté jusqu'à présent dans cette série. Ceci comprend:

  • Comprendre l'internationalisation et pourquoi c'est important.
  • Comment configurer un environnement de développement pour travailler avec l'exemple de code.
  • Comprendre la localisation (et la différence entre l'internationalisation).
  • Comment utiliser les outils pour commencer à traduire vos chaînes internationalisées.

Si rien de ce qui précède n’a de sens, veuillez relire la série. Si vous êtes certain de pouvoir expliquer ou utiliser chacun des points ci-dessus, vous êtes prêt à poursuivre..

Comprendre les changements

La bonne chose à propos de ce tutoriel est qu'il est plus informatif que théorique (ou pratique, d'ailleurs). C'est-à-dire qu'il n'y aura pas de code à démontrer. Il s’agit simplement de diffuser des informations et de s’assurer que vous savez quoi utiliser et quand..

Avant d'entrer trop dans le sujet, revenons un peu en arrière et parlons de l'ensemble du processus d'internationalisation de WordPress et de son fonctionnement en chargeant des fichiers localisés..

Comment fonctionnent l'internationalisation et la localisation

Les concepts d'internationalisation et de localisation sont relativement faciles à comprendre, mais ils sont également faciles à confondre (lorsque j'ai commencé mon travail dans WordPress, même si j'ai mal utilisé les termes).

L'internationalisation est le processus de développement de votre plugin afin qu'il puisse être facilement traduit dans d'autres langues..

C'est ainsi que nous préparons toutes les chaînes et le texte lisible par l'homme de notre plug-in qui doivent être traduits pour d'autres paramètres régionaux..

La localisation consiste donc à traduire les chaînes et à les regrouper dans des modules linguistiques qui seront ensuite chargés par WordPress en fonction des paramètres régionaux définis dans l'installation..

Par exemple, supposons que je construise un plugin et que j’utilise l’anglais américain, ou en_US comme vous le voyez peut-être écrit. Ensuite, vous allez voir tout le texte que j'ai écrit dans ma langue.

Mais que se passe-t-il quand quelqu'un qui veut utiliser le plugin veut le traduire en espagnol? Tout d’abord, la personne responsable utilisera un outil tel que POEdit pour fournir les traductions de chacune des chaînes.. 

Ensuite, il ou elle les stockera dans le les langues répertoire (ou quel que soit le répertoire utilisé). Le fichier doit être nommé en fonction des paramètres régionaux auxquels il est associé. Dans ce cas, es_ES.

Lorsque le plug-in est chargé dans une installation de WordPress déjà installée sur une machine disposant du es_ES paramètres régionaux définis comme paramètres régionaux par défaut, le fichier de localisation sera chargé et remplacera toutes les chaînes traduites par leurs équivalents en espagnol.

Et pendant longtemps, c’est ainsi que le processus d’internationalisation a fonctionné. De plus, si vous choisissez de distribuer des plugins en dehors du référentiel de plugins WordPress, vous devrez toujours le faire..

Mais qu'en est-il pour ces plugins distribués dans le référentiel?

Traductions juste à temps

En informatique, il existe un concept de JIT (ou juste-à-temps), et on entend souvent parler de compilation "juste-à-temps".

En informatique, la compilation juste-à-temps (JIT), également appelée traduction dynamique, est une compilation effectuée lors de l'exécution d'un programme - au moment de l'exécution - plutôt qu'avant l'exécution.

Dans la dernière version de WordPress, à savoir WordPress 4.6, des plugins internationalisés suivant un protocole spécifique peuvent tirer parti des avantages de la localisation juste à temps. À partir du blog Make WordPress, ces modifications peuvent être résumées comme suit:

Les fichiers de traduction étant généralement situés dans wp-content / languages, WordPress analyse maintenant ce répertoire pour rechercher les traductions disponibles et les charge automatiquement si elle rencontre un domaine de texte pour la première fois..

Qu'est-ce que cela signifie pour nous développeurs? En bref, cela signifie que si nous distribuons notre travail via le référentiel de plugins WordPress, WordPress analysera d’abord sa bibliothèque de traductions pour voir s’il en existe une pour le plugin actuel et ses paramètres régionaux. S'il en détecte un, il utilisera celui-ci.

S'il ne détecte pas de traduction, l'une des deux choses suivantes peut se produire:

  1. Le plugin ne sera tout simplement pas localisé.
  2. Le plugin utilisera le fichier de localisation inclus dans le plugin..

Il y a cependant quelques réserves à cette nouvelle approche:

  1. Nous n'avons plus besoin d'appeler load_plugin_textdomain () dans nos plugins basés sur WordPress 4.6.
  2. Si vous avez l'habitude d'utiliser unload_textdomain (), vous devrez charger manuellement les traductions après l'appel si vous souhaitez les utiliser à nouveau..

Bien qu'ils soient simples, je vous recommande vivement de lire l'intégralité de l'article afin de comprendre son fonctionnement, ses fonctionnalités et son application au travail que vous effectuez au quotidien..

De manière générale, je trouve cette fonctionnalité incroyablement agréable. Cela nous donne une chance de distribuer des plugins qui peuvent déjà avoir des traductions disponibles et qui peuvent être chargés via WordPress. 

Cela dit, je ne pense pas que ce soit une excuse ne pas pour regrouper les fichiers internationalisés. Après tout, si un module linguistique n’est pas trouvé, il devra quand même être chargé à partir du les langues annuaire. 

Et si l'objectif ultime est de disposer des plug-ins les plus robustes et les plus robustes disponibles, nous ne devrions pas nous fier à quelque chose qui n'existe peut-être pas. Au lieu de cela, espérons le meilleur, mais prévoyons le pire.

Conclusion

Et avec cela, nous avons couvert tout ce que nous pouvions sur la façon dont WordPress gère l'internationalisation et la localisation des plugins qui seront disponibles à la fois dans le référentiel de plugins WordPress et ceux que vous distribuerez via vos propres canaux..

Si vous souhaitez en savoir plus sur WordPress du point de vue du développement, sachez que je travaille exclusivement avec WordPress et que j'écris souvent à ce sujet. Vous pouvez voir tous mes cours et tutoriels sur ma page de profil, et vous pouvez me suivre sur mon blog et / ou Twitter à @tommcfarlin où je parle de développement logiciel dans le contexte de WordPress..

Comme toujours, si vous recherchez d'autres utilitaires pour vous aider à développer votre ensemble croissant d'outils pour WordPress ou, par exemple, du code pour étudier et mieux connaître WordPress, n'oubliez pas de voir ce que nous avons disponible dans Envato. Marché.

N'hésitez pas à laisser des questions ou des commentaires dans le flux ci-dessous, et je tenterai de répondre à chacun d'entre eux..

Ressources associées

Il existe un certain nombre de ressources énumérées ci-dessous. Notez que ceux-ci proviennent des tutoriels précédents ainsi que de ce qui a été mentionné dans ce tutoriel. Tout cela pour dire que si vous avez lu les tutoriels précédents, vous devriez être en forme. Si vous avez choisi de ne pas le faire, consultez au moins les liens ci-dessous..

  • En-tête de plugin
  • Domaine de texte
  • admin_menu
  • add_submenu_page
  • __ ()
  • esc_html_e ()
  • admin_enqueue_scripts
  • wp_enqueue_style
  • Chemin du domaine
  • POEdit
  • plugins_loaded
  • load_plugin_textdomain
  • lieu

Notez également que vous pouvez être intéressé par le téléchargement du projet de démonstration pour examiner le code source et voir comment il fonctionne. Cela est particulièrement vrai si vous souhaitez commercialiser quelque chose en dehors du référentiel de plugins WordPress.