Fehlerbeschreibung anhand von "Invite Anyone"
Der Author lädt die Sprachdatei nach eigenem Ermessen und nicht passend zu dem, was für Plugins standard ist:
function invite_anyone_locale_init () {
$plugin_dir = basename(dirname(__FILE__));
$locale = get_locale();
$mofile = WP_PLUGIN_DIR . "/invite-anyone/languages/invite-anyone-$locale.mo";
if ( file_exists( $mofile ) )
load_textdomain( 'bp-invite-anyone', $mofile );
}
add_action ('plugins_loaded', 'invite_anyone_locale_init');
Anstatt load_plugin_textdomain zu benutzen, wird auch hier der Dateiname selbst konstruiert und mittels load_textdomain geladen. Dies wiederum führt dazu, wie die Warnung meines Plugins bereits aussagt, daß es im Ladeverhalten zu Problemen kommen kann.
Da der Author außerdem noch die Textdomain im PHP Code so verwendet:
<?php _e( 'name of your website', 'bp-invite-anyone' ) ?>
wird mein Plugin nur Sprachdateien erzeugen und/oder akzeptieren, die dem Plugin Schema unterliegen, also:
bp-invite-anyone-de_DE.po
bzw.
bp-invite-anyone-de_DE.mo
Der Author versucht allerdings eine Datei "invite-anyone-de_DE.mo" zu laden, die mein Plugin gar nicht erzeugt.
Der Ladecode und die Sprachdateinamen müssten angepasst werden, damit das auch dem Standard entspricht. Du kannst das gern anpassen aber teile dies auch dem Author mit, denn Abweichungen von der standardisierten Ladeprozedur für Sprachdateien (Plugin, Themes oder Core) führen meist zu weiteren, nicht einfach zu lösenden Problemen oder Fehlverhalten von WordPress.