web-dev-qa-db-fra.com

variables en texte traduisible

J'ajoute une liste de plugins suggérés à mon thème à l'aide de TGM Plugin Activation - https://github.com/thomasgriffin/TGM-Plugin-Activation/

Cependant, lorsque je lance la vérification du thème, environ 40 recommandations sont apparues car le plug-in utilise des variables dans des fonctions traduisibles. J'ai pu supprimer environ la moitié des problèmes en tapant dans mon domaine de texte au lieu d'utiliser la variable utilisée par l'auteur du plug-in. Cependant, j'ai besoin d'aide pour rectifier l'erreur ci-dessous:

RECOMMANDÉ: La variable $ instance a été trouvée dans une fonction de traduction dans class- tgm-plugin-activation.php. Les appels de fonction de traduction ne doivent PAS contenir les variables PHP.

Voici le code associé à l'erreur:

$table_data[$i]['source'] = __( 'External Link', TGM_Plugin_Activation::$instance->domain );

Je sais que les fonctions de traduction devraient ressembler à quelque chose comme __ ('Nom de l'article', 'text-domain'), mais je ne sais pas quoi faire avec la deuxième partie de la fonction:

TGM_Plugin_Activation::$instance->domain

Comment puis-je ajuster cela pour qu'il fonctionne correctement avec les traductions?

1
chowwy

Les chaînes de traduction sont non seulement analysées lors du rendu (sortie à l'écran/dans le navigateur), mais également par l'analyseur GNU gettext. Celui-ci est un analyseur pasa PHP, de sorte qu'il ne peut pas récupérer les variables. C'est la seule partie d'un thème ou d'un plugin, où vous devez vous répéter et ajouter la chaîne simple à chaquetranslation/appel de la fonction gettext.

// Wrong:
__( 'External Link', TGM_Plugin_Activation::$instance->domain );

// Right:
__( 'External Link', 'your_textdomain' );

Juste pour clarifier ceci: les deux appels mentionnés ci-dessus serontet fonctionneront avec POEdit. Le premier ne fonctionnera tout simplement pas, lorsque Automattic/wp.org apportera jamais l'outil de traduction automatique promis par Mark Jaquith. Et c’est la partie sur laquelle "Thème Check" -Plugin déconne. Vous pouvez parfaitement ignorer les "RECOMMANDÉ"messages. Comme vous pouvez le lire sur cet article de M. Jaquith - lisez brièvement, puis passez aux commentaires - voici ce que est recommandépar des sources "officielles"/développeurs principaux.

3
kaiser