7.1. Allgemeine Sprachdatei-Funktionen

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:

Dieser Inhalt ist nur eingeschränkt verfügbar. Melden Sie sich vorher an.

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:

Dieser Inhalt ist nur eingeschränkt verfügbar. Melden Sie sich vorher an.

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:

Dieser Inhalt ist nur eingeschränkt verfügbar. Melden Sie sich vorher an.

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. mittels load_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' );
?>

Überprüfung des Ladens einer Sprachdatei

Dieser Inhalt ist nur eingeschränkt verfügbar. Melden Sie sich vorher an.

Verfügbare Sprachen ausgeben

Dieser Inhalt ist nur eingeschränkt verfügbar. Melden Sie sich vorher an.

Vorinstallierte Übersetzungen auslesen

Dieser Inhalt ist nur eingeschränkt verfügbar. Melden Sie sich vorher an.