__
(doppelter Unterstrich) ist die Basisübersetzungsfunktion. Es übersetzt eine Zeichenfolge und gibt sie als Zeichenfolge zurück.
_e
macht das gleiche wie __
, aber Echo ist das Ergebnis sofort.
_x
ist die kontextbezogene Übersetzungsfunktion. Es gibt eine zweite Option, um den Personen, die die Übersetzung durchführen, einen Kontext bereitzustellen.
_ex
ist das gleiche wie _x
, aber Echo ist das Ergebnis.
Anwendungsbeispiel _x
:
$string = _x( 'Buffalo', 'an animal', 'plugin-domain' );
$string = _x( 'Buffalo', 'a city in New York', 'plugin-domain' );
$string = _x( 'Buffalo', 'a verb meaning to confuse somebody', 'plugin-domain' );
Manchmal kann dieselbe Zeichenfolge in anderen Sprachen unterschiedlich sein. Durch die Bereitstellung von Kontext für die Übersetzer können sie die richtigen Wörter auswählen.
Verknüpfungsfunktionen:
esc_attr__
: Entspricht __
dem Ergebnis, führt es aber auch durch esc_attr
.
esc_html__
: Entspricht __
dem Ergebnis, führt es aber auch durch esc_html
.
esc_attr_e
: Entspricht _e
dem Ergebnis, führt es aber auch durch esc_attr
.
esc_html_e
: Entspricht _e
dem Ergebnis, führt es aber auch durch esc_html
.
esc_attr_x
: Entspricht _x
dem Ergebnis, führt es aber auch durch esc_attr
.
esc_html_x
: Entspricht _x
dem Ergebnis, führt es aber auch durch esc_html
.
_n
ist der Pluralisierungshandler. Beispiel:
$string = sprintf( _n(
'You have %d taco.',
'You have %d tacos.',
$number,
'plugin-domain'),
$number );
In diesem Beispiel gibt es zwei Möglichkeiten, die Anzahl der Tacos zu bestimmen, je nachdem, ob sie singulär sind oder nicht. Die erste Verwendung von $ number teilt der _n
Funktion mit, welche Version verwendet werden soll. Die zweite Verwendung von $ number erfolgt im Sprintf, um% d durch die tatsächliche Zahl in der Zeichenfolge zu ersetzen.
Es gibt keine äquivalente Echofunktion für _n
, aber es gibt eine Funktion mit dem Namen _nx
. Es ist eine Kombination aus _n
und _x
. Pluralisierung und Kontext.
_n_noop
ist eine besondere. Es wird zum Übersetzen pluralisierter Zeichenfolgen verwendet, führt die Übersetzung jedoch nicht sofort durch. Dies ist nützlich, wenn Sie die Zeichenfolgen zentralisieren möchten, die Arbeit jedoch an einer anderen Stelle ausführen möchten. Die Funktion, die die Arbeit tatsächlich woanders erledigt, ist translate_nooped_plural
.
Beispiel:
$holder = _n_noop('You have %d taco.', 'You have %d tacos.', 'plugin-domain');
// ... later ...
$string = sprintf( translate_nooped_plural( $holder, $count ), $count );
Dies wird nicht viel verwendet, kann aber für die Organisation nützlich sein. Wenn Sie beispielsweise alle Ihre Zeichenfolgen in einer Datei ablegen und dann an anderer Stelle referenzieren, ist dies nicht möglich _n
. Sie benötigen dazu so etwas _n_noop
.
_nx_noop
ist das gleiche wie _n_noop
, kann aber auch einen Kontext für die Übersetzer annehmen, das gleiche wie _x
.
Beachten Sie, dass Sie die Domäne entweder in den Funktionsaufruf noop oder in den Funktionsaufruf translate_nooped_plural einfügen können. Was für Ihre Organisation sinnvoller ist. Wenn beide eine Domain haben, gewinnt die an den Noop-Anruf übergebene.
number_format_i18n
ist das Äquivalent zu PHPs integriertem number_format , fügt jedoch die Behandlung für Dinge wie Dezimalstellen usw. hinzu, die sich in anderen Ländereinstellungen unterscheiden.
date_i18n
ist das Äquivalent zum integrierten Datum von PHP , mit all den relevanten Handhabungen auch dort. Monatsnamen, Tagesnamen usw.
Brechen Sie auch niemals die Gesetze . Nur eine Erinnerung. :) :)