it-swarm.com.de

variablen in übersetzbarem Text

Ich füge meinem Theme eine Liste der vorgeschlagenen Plugins hinzu, indem ich die TGM-Plugin-Aktivierung verwende - https://github.com/thomasgriffin/TGM-Plugin-Activation/

Wenn ich jedoch eine Themenüberprüfung durchführe, tauchen ungefähr 40 Empfehlungen auf, da das Plugin Variablen in übersetzbaren Funktionen verwendet. Ich konnte etwa die Hälfte der Probleme beseitigen, indem ich meine Textdomäne eingab, anstatt die vom Plugin-Autor verwendete Variable zu verwenden. Ich benötige jedoch Hilfe bei der Behebung des Fehlers:

EMPFOHLEN: Mögliche Variable $ instance in der Übersetzungsfunktion in class-tgm-plugin-activation.php. Übersetzungsfunktionsaufrufe dürfen NICHT PHP Variablen enthalten.

Hier ist der Code für den Fehler:

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

Ich weiß, dass Übersetzungsfunktionen ungefähr so ​​aussehen sollten wie __ ('Item Name', 'text-domain'), aber ich bin mir nicht sicher, was ich mit dem zweiten Teil der Funktion machen soll:

TGM_Plugin_Activation::$instance->domain

Wie kann ich das einstellen, damit es bei Übersetzungen richtig funktioniert?

1
chowwy

Die Übersetzungszeichenfolgen werden nicht nur beim Rendern (Ausgabe auf dem Bildschirm/im Browser) analysiert, sondern auch vom GNU gettext-Parser. Dieser ist kein PHP-Parser, daher kann er keine Variablen abrufen. Dies ist der einzige Teil eines Themas oder eines Plugins, in dem Sie sich wiederholen und die einfache Zeichenfolge zu jeder Übersetzung/gettext hinzufügen müssen Funktionsaufruf.

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

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

Um dies zu verdeutlichen: Beide oben genannten Aufrufe funktionieren mit POEdit . Das erste wird einfach nicht funktionieren, wenn Automattic/wp.org jemals das von Mark Jaquith versprochene automatisierte Übersetzungstool bringt. Und das ist der Teil, über den das "Theme Check" -Plugin nörgelt. Sie können die "EMPFOHLENEN" Nachrichten vollkommen ignorieren. Wie ihr auf diesem Beitrag von M.Jaquith lesen könnt - kurz lesen, dann zu den Kommentaren übergehen - genau das wird empfohlen von "offiziellen" Quellen/Lead-Entwicklern.

3
kaiser