Übersetzung des WordPress-Plugins – load_plugin_textdomain

Lesezeit: 1 Minute

Benutzer-Avatar
jekey123

Ich arbeite an einem benutzerdefinierten WordPress-Plugin, aber ich kann es nicht für mehrere Sprachen vorbereiten.

Es lädt zwar die .mo-Datei der Hauptsprache korrekt, zeigt aber beim Wechseln der Sprache (über WPML) immer die Übersetzung der Hauptsprache (in diesem Fall Deutsch). Wenn ich also auf Englisch bin, werden immer noch die deutschen Übersetzungen angezeigt.

Hier ist mein Code:

in der kopfzeile:

/*
Plugin Name: MM Jobs
Plugin URI: http://example.com/
Description: Custom Jobs Plugin to create new Jobs
Version: 1.3.84
Author: Jekey
Author URI: http://example.com/
Text Domain: mm-jobs
Domain Path: /languages
*/

dann:

function mm_jobs_plugins_loaded() {
        load_plugin_textdomain( 'mm-jobs', false, dirname( plugin_basename( __FILE__ ) ) . '/languages/' );
    }
    add_action( 'plugins_loaded', 'mm_jobs_plugins_loaded', 0 );

.mo-Dateien sind korrekt, da sie bereits die deutsche Übersetzung laden. Benannt: mm-jobs-en_US.mo oder mm-jobs-de_DE.mo unter /plugins/mm-jobs/languages/

Hast du eine Ahnung, was das Problem verursacht?

Falls jemand das gleiche Problem hat. ich hatte

get_plugin_data( __FILE__ );

in meinem Code. Dies führte dazu, dass eine wp_core-Funktion ausgeführt wurde, in der die Textdomäne geladen wurde, sodass meine en_US.mo von de_DE.mo überschrieben wurde

Ich weiß nicht, warum get_plugin_data() die falsche lang-Datei genommen hat. Es scheint das richtige für verschiedene Plugins ausgewählt zu haben, die die Funktion verwenden.

1369770cookie-checkÜbersetzung des WordPress-Plugins – load_plugin_textdomain

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy