Um eine Sprachdatei zu laden gibt es in WordPress zwei Vorgehensweisen. Per Funktion und per Plugin-Header.
Sprachdatei per Funktion laden
Die WordPress Funktion load_plugin_textdomain()
wurde wie folgt definiert:
<?php
function load_plugin_textdomain( $domain, $deprecated = false, $plugin_rel_path = false ) {
...
}
?>
Dabei gilt:
Sprachdatei im Plugin-Header laden
Im Kapitel 2.3. (Der Kopfbereich) haben Sie ja schon gesehen, dass es zur Internationalisierung genau zwei Kopfbereichs-Parameter gibt. Diese waren:
Text Domain: mm_trans
und
Domain Path: /langs/
Wie Sie sehen, können Sie auch dort die $domain
sowie den $plugin_rel_path
konkret benennen. Die Angabe ersetzt den Aufruf von load_plugin_textdomain()
. Allerdings nur dann, wenn eine Übersetzungsdatei im Verzeichnis /wp-contenet/languages/plugins/
liegt. Das ist aber nicht immer der Fall. Deswegen kommt man um einen Aufruf von load_plugin_textdomain
nicht herum.
Ein schöner Vorteil ist, dass der komplette Plugin-Header auf der Übersichtsseite aller Plugins (im Dashboard unter „Plugins“) übersetzt wird, auch wenn das Plugin nicht aktiv ist. Konkret werden folgende Werte übersetzt:
Laden von Sprachdateien für MU-Plugins
Diese Funktion macht das selbe wie load_plugin_textdomain()
jedoch wurde sie speziell für Plugins, die im mu-plugins
-Verzeichnis liegen, ausgerichtet (MU = Must Use).
<?php
function load_muplugin_textdomain( $domain, $mu_plugin_rel_path = '' ) {
...
}
?>
Dabei gilt:
Sprachdatei entladen
Seit Version 3.0.0 ist es auch möglich, Sprachdateien komplett zu entladen:
<?php
function unload_textdomain( $domain ) {
...
}
?>
Dabei gilt:
- $domain
(string)
Der einzigartige Identifizierer der auch bereits beim Laden z.B. mittelsload_plugin_textdomain()
benutzt wurde.
Beispiel
<?php
// laden der Textdomain 'mm_trans'
load_plugin_textdomain( 'mm_trans', false, dirname( plugin_basename( __FILE__ ) ) . '/langs/' );
// entladen der Textdomain 'mm_trans'
unload_textdomain( 'mm_trans' );
?>