Wenn Teile Ihres Plugins oder Themes nach der Verwendung von PTC unübersetzt erscheinen, verwenden Sie diesen Leitfaden, um zu überprüfen, ob der String Teil Ihres Projekts ist und ob WordPress die korrekte Datei lädt.
Überprüfen Sie, ob der String in PTC verfügbar ist
Gehen Sie vom PTC-Dashboard zum Tab Übersetzungen und suchen Sie nach dem ursprünglichen String. Wenn Sie ihn nicht sehen, hat PTC ihn nicht erhalten. Dies bedeutet normalerweise eines der folgenden:
- Der String fehlt in Ihrer POT-Datei
Wenn Ihre POT-Datei nicht alle übersetzbaren Zeichenketten enthält, erstellen Sie sie mit WP-CLI neu. Befolgen Sie dann die Schritte in unserem Leitfaden zur Internationalisierung von WordPress-Themes und -Plugins von Anfang an.
- Der Text ist nicht in einer GetText-Funktion umschlossen
Stellen Sie sicher, dass aller übersetzbarer Text in __() oder _e() eingeschlossen ist und die korrekte Textdomäne verwendet.
Beispiel:
__('Hello, world!', 'your-plugin');Weitere Details finden Sie unter Schritt 2 unseres Leitfadens zur Übersetzung von WordPress-Themes und -Plugins.
- JavaScript-Strings wurden nicht als übersetzbar markiert
Wenn Ihr Plugin übersetzbaren Text in JavaScript enthält:
- Gehen Sie zu PTC → Einstellungen und klicken Sie auf Überwachte Dateien. Bearbeiten Sie die entsprechende Ressourcendatei und aktivieren Sie „Ist dies ein WordPress-Projekt mit lokalisierbarem JavaScript?“

Dies weist PTC an, JavaScript-Dateien nach übersetzbaren Strings zu durchsuchen. Es wird Übersetzungen neu generieren und einen neuen Merge-Request mit aktualisierten Dateien erstellen.
- Stellen Sie sicher, dass WordPress weiß, wo die von PTC erstellten
.jsonÜbersetzungsdateien geladen werden sollen.
Wenn die .json Dateien im /languages/ Verzeichnis Ihres Plugins oder Themes abgelegt sind, rufen Sie wp_set_script_translations() mit dem korrekten Pfad auf.
Für Plugins:
wp_set_script_translations( 'script-handle', 'text-domain', plugin_dir_path( __FILE__ ) . 'languages' );Für Themes:
wp_set_script_translations( 'script-handle', 'text-domain', get_template_directory() . '/languages' );Dies weist WordPress explizit an, .json Dateien aus Ihrem Plugin- oder Theme-Ordner zu laden.
Bestätigen Sie, dass WordPress Ihre Übersetzungsdateien lädt
Wenn Ihre übersetzte Zeichenkette in PTC angezeigt wird, aber nicht in Ihrem Plugin oder Theme, lädt WordPress möglicherweise nicht die korrekte .mo-Datei.
- Verifizieren Sie, dass Ihre Textdomain geladen ist
Wenn Ihr Projekt mehrere Textdomains oder eingebettete Plugins verwendet, stellen Sie sicher, dass jede einzelne korrekt mit load_plugin_textdomain() oder load_theme_textdomain() geladen wird.
Jede Textdomain sollte mit der in Ihren Übersetzungsdateinamen und in Ihrem PTC-Export verwendeten übereinstimmen.
- Prevent Community Translations from Overriding Your MO Files
Standardmäßig priorisiert WordPress Übersetzungsdateien, die in /wp-content/languages/ gespeichert sind.
Wenn Ihr Plugin oder Theme von der Community bereitgestellte Übersetzungen auf WordPress.org hat, können diese Dateien die mit Ihrem Projekt gebündelten .mo-Dateien überschreiben.
Um dies zu verhindern, fügen Sie einen kleinen Code-Schnipsel hinzu, der WordPress anweist, Ihre Übersetzungsdateien zu verwenden.
Stellen Sie sicher, dass die MO-Dateibenennung den WordPress-Erwartungen entspricht
WordPress erwartet unterschiedliche Benennungskonventionen für .mo-Dateien, je nachdem, wo Sie sie speichern.
- Wenn sich Ihre Übersetzungsdateien im Theme-Ordner befinden, verwenden Sie:
{locale}.mo
Beispiel: de_DE.mo (gepaart mit de_DE.po)
- Wenn Sie die Dateien im globalen WordPress-Sprachverzeichnis (wp-content/languages/themes/) abgelegt haben, verwenden Sie:
{text-domain}-{locale}.mo
Beispiel: my-theme-de_DE.mo (gepaart mit my-theme-de_DE.po)