web-dev-qa-db-fra.com

Utiliser les fonctions WordPress gettext dans une bibliothèque en dehors du plugin ou du thème

Si j'ai une bibliothèque disponible via packagist qui pourrait être utilisée dans le développement de plug-in ou de thème WordPress, comment dois-je adresser la prise en charge multilingue si j'ai quelques chaînes pouvant être localisées?

Je sais qu'il y a eu un débat sur l'utilisation du compositeur dans le monde WordPress avec des points de vue très différents à ce sujet. (Par exemple: 1 , 2 , 3 )

Mais ma question ici ne concerne pas les opinions sur Composer dans le développement WordPress, mais plutôt quelle serait la meilleure pratique pour localiser une bibliothèque destinée à WordPress qui ne soit pas un plugin ou un thème. J'éviterais d'en faire un plugin, car ce n'est pas et ce n'est pas destiné aux utilisateurs finaux. Mais comme de nombreux packages de compositeur, en tant qu’outil de développement à utiliser dans d’autres projets.

Est-il prudent d'utiliser les wrappers gettext fournis par WordPress et destinés aux plugins/thèmes WordPress? Cela ferait gagner du temps, mais je ne suis pas sûr que cela fonctionne ou crée des problèmes.

1
unfulvio

WordPress n'a pas tout à fait l'habitude de localiser quelque chose qui n'est pas core/plugin/theme.

Mon hypothèse serait que cela fonctionnera parfaitement avec les mêmes concepts, mais vous devrez écrire une logique de chargement personnalisée. Utilisez le niveau inférieur load_textdomain() , car les fonctions de niveau supérieur sont spécifiquement destinées aux plugins/thèmes.

Tant que vous déterminez et chargez correctement la traduction de domaine, WordPress ne s’inquiètera pas que les appels proviennent du contexte de la bibliothèque.

1
Rarst