Une introduction au filtre Gettext
Publié: 2023-02-12Trouver un plugin ou un thème pour votre site WordPress qui répond à toutes vos exigences peut être un défi. Beaucoup peuvent se rapprocher mais ont encore besoin d'ajustements ou de personnalisations. De plus, en tant que développeur, il est essentiel de s'assurer que votre code est suffisamment flexible pour prendre en charge les utilisateurs du monde entier.
Heureusement, certaines fonctionnalités du noyau WordPress peuvent vous aider à adapter certains éléments de votre site. Cela vous permet de personnaliser le texte du bouton ou de l'étiquette plutôt que d'abandonner un plugin autrement utile, ou même de préparer votre site pour la traduction.
Dans cet article, nous vous fournirons une meilleure compréhension du filtre gettext, y compris son fonctionnement avec le processus de traduction de votre site. Il y a beaucoup à couvrir, alors allons-y !
Qu'est-ce que Gettext ?
Le filtre gettext vous permet de modifier des éléments de texte sur votre site WordPress. Il est mieux compris à travers un exemple.
Supposons que votre formulaire de commentaire comporte deux champs : "Nom" et "E-mail". Si vous préférez qu'ils lisent "Prénom" et "Adresse e-mail", vous pouvez utiliser le filtre gettext pour les modifier au lieu d'avoir à remplacer manuellement chaque instance de chaque terme dans vos fichiers de thème.
Le filtre gettext ne fonctionne que si votre site a été préparé pour la traduction. Par conséquent, avant de nous plonger dans la façon dont vous pouvez l'utiliser pour personnaliser le texte, nous devons discuter de la façon d'internationaliser votre code.
Voici quelques termes à comprendre avant de continuer :
- Internationalisation (i18n). Cela signifie que votre code WordPress a été préparé pour être traduit dans d'autres langues.
- Localisation (l10n). Le processus par lequel vous pouvez utiliser la programmation i18n et localiser votre installation WordPress pour une utilisation dans une langue maternelle.
- Bibliothèque GNU gettext. GNU est un système d'exploitation libre et open source. Sa bibliothèque gettext vous permet d'envelopper du texte dans des chaînes de code, qui peuvent ensuite être extraites pour être traduites.
- Fichier POT : pour exécuter l'extraction des chaînes traduisibles créées avec les fonctions gettext, des fichiers de modèle d'objet portable (POT) sont créés.
- Fichier PO : un outil tel que Poedit utilise un fichier POT pour créer des fichiers d'objet portable (PO) qui incluent les traductions terminées ainsi que les chaînes traduisibles.
- Fichier MO : Un fichier Machine Object (MO) est créé à partir d'un fichier PO. Il réside dans votre répertoire de plugins ou de thèmes et est fourni par votre serveur si une version traduite de votre site Web est demandée.
Ces éléments jouent tous un rôle dans la préparation des produits WordPress pour la traduction, comme vous le verrez dans les étapes ci-dessous.
Gettext et PHP pour la traduction
Ci-dessous, nous avons expliqué le flux de travail pour internationaliser un thème ou un plugin. Avant d'expérimenter de tels changements, il est recommandé de créer un thème enfant avec lequel travailler. Cela protégera votre site de toute catastrophe potentielle.
Étape 1 : Extraire les chaînes de texte en tant que fichiers POT
La première chose à faire est de vérifier si votre thème ou plugin inclut déjà des fichiers POT. Sinon, vous devrez les générer automatiquement, les créer manuellement avec Terminal ou utiliser une application recommandée par WordPress que nous avons mentionnée précédemment appelée Poedit :
La version Pro offre une fonctionnalité WordPress rapide pour créer les fichiers dont vous avez besoin. Cependant, vous pouvez toujours générer un fichier POT en quelques clics supplémentaires à l'aide de l'application gratuite.
Pour commencer, vous devrez télécharger et installer Poedit, qui s'exécutera sur votre bureau. Une fois que vous avez fait cela, accédez à File > New . Vous serez invité à sélectionner la langue de votre traduction :
Vous devrez ensuite enregistrer votre nouveau projet avant de continuer. Ensuite, vous aurez la possibilité de mettre à jour un fichier POT existant ou Extraire des sources :
Si nécessaire, vous pouvez également commencer avec un fichier POT vierge, puis modifier vos chaînes de texte dans Poedit. Alternativement, vous pouvez rechercher dans Glotpress les fichiers de plugins et de thèmes existants à utiliser. Cependant, pour cet exemple, supposons que vous devrez utiliser l'autre option.
Une fois que vous aurez cliqué sur Extraire des sources, vous aurez trois onglets de paramètres à configurer :
Vous devrez définir les chemins pour les sources de vos chaînes de texte. Vous pouvez également exclure certains chemins. Ensuite, vous devrez configurer vos propriétés de traduction :
C'est ici que vous nommerez votre projet et personnaliserez les paramètres pour les pluriels et autres éléments spécifiques à la langue. Enfin, vous pouvez utiliser l'onglet Sources Keywords pour terminer la configuration de votre fichier POT :
Lorsque vous cliquez sur le signe plus, vous pourrez ajouter des mots-clés gettext pour compléter votre configuration de traduction. Vous pourrez également voir et rechercher des chaînes de texte à partir de vos fichiers source.
Étape 2 : créer un fichier d'objet portable (PO)
Ensuite, vous devrez convertir votre fichier POT en un fichier PO pour chaque langue que vous souhaitez ajouter. Si vous ne traduisez pas votre thème ou votre plugin et que vous prévoyez uniquement d'utiliser le filtre gettext pour les substitutions de l'anglais vers l'anglais, définissez les deux langues (source et traduction) sur l'anglais.
Si vous accédez à Catalogue > Mettre à jour à partir du fichier POT dans Poedit, vous pouvez choisir le fichier que vous souhaitez traduire :
Ensuite, le fichier passera par un processus d'extraction au cours duquel toutes les chaînes traduisibles seront importées dans Poedit. Cela crée le fichier PO. Vous voudrez lui donner un nom qui corresponde à vos autres fichiers pour ce projet.
Ensuite, cliquez sur Créer une nouvelle traduction en bas de la liste des chaînes de texte pour commencer à apporter vos modifications :
Pour modifier le texte de l'anglais vers l'anglais, cliquez simplement sur la chaîne que vous souhaitez modifier et utilisez la fenêtre de traduction sous Texte source pour saisir le mot de substitution :
Effectuez ce processus pour tout texte que vous souhaitez modifier dans votre thème ou plugin. Ensuite, vous allez créer le dernier des trois fichiers nécessaires.
Étape 3 : Convertir en fichiers d'objet machine (MO)
Jusqu'à présent, vous avez pris des mesures pour créer des instructions de programmation concernant vos traductions. Maintenant, vous devrez convertir chaque fichier PO afin qu'il puisse être lu par le serveur et fournir le texte souhaité aux visiteurs.
Selon la façon dont vous parcourez le flux de travail Poedit, un fichier MO peut déjà avoir été créé dans le dossier Langues de votre thème. Sinon, accédez à File > Compile to MO :
Vous devriez maintenant disposer des composants dont vous avez besoin pour exécuter les fonctionnalités rendues possibles par le filtre gettext dans WordPress.
Quand le filtre WordPress Gettext est-il utile ?
Bien que le processus que nous avons décrit ci-dessus puisse vous aider à traduire votre site dans de nombreuses langues, ce n'est pas le but du filtre gettext. En d'autres termes, vous ne voudriez pas utiliser ce crochet pour transformer du texte anglais en espagnol.
Il s'agit plutôt d'une fonctionnalité de conception que vous pouvez utiliser pour modifier le texte par défaut ajouté à votre site par un plugin ou un thème, par exemple via :
- Personnalisation des étiquettes
- Le texte du bouton change
- Changements de cap
Ce processus peut être utilisé pour personnaliser tout texte jugé traduisible dans les fichiers de votre site Web. Pour donner un autre exemple, si votre thème a des boutons prédéfinis qui lisent "Acheter maintenant" mais que votre site en a besoin pour lire "S'abonner", gettext est le filtre qui peut faire de ce changement une réalité.
Il est important de noter que l'utilisation trop fréquente de gettext peut avoir un impact négatif sur les performances de votre site Web. Il s'agit d'un code supplémentaire qui doit s'exécuter à chaque chargement de votre site. Utilisez-le donc avec parcimonie pour éviter une diminution de la vitesse de la page.
Diffusez votre message avec WP Engine
Décider d'utiliser ou non des plug-ins ou de modifier manuellement le code de votre site Web peut être difficile. C'est pourquoi il est essentiel de disposer des meilleures ressources de développement. Armé du support expert et professionnel de WP Engine, vous aurez ce dont vous avez besoin pour créer un site Web hautement personnalisé.
Découvrez nos plans d'hébergement WordPress dédiés gérés pour votre prochain projet. Nous assurons la maintenance de votre serveur afin que vous puissiez innover en toute simplicité !