WordPress 6.7 Internationalisierungsverbesserungen: Übersetzungsmanagement und Leistungsoptimierung

Es gibt verschiedene Verbesserungen bei der Internationalisierung (i18n) in WordPress 6.7Lassen Sie uns gemeinsam einen Blick auf diese Verbesserungen werfen.

Feststellen, ob eine Übersetzung existiert

Manchmal ist es nützlich zu wissen, ob eine Übersetzung bereits im Speicher vorhanden ist, ohne dass Sie die Übersetzung für ein bestimmtes Textfeld erst laden müssen. Neuhas_translation()Funktion kann genau das tun.

Ausführlichere Informationen finden Sie unter#52696 / [59029].

WordPress 6.7 Internationalisierungsverbesserungen: Übersetzungsmanagement und Leistungsoptimierung

E-Mail in der Sprachumgebung des Administrators

In Version 4.7 fügte WordPress die FunktionFunktionen, die es Benutzern ermöglichen, ihre bevorzugte Sprachumgebung einzustellen. Wenn Sie eine E-Mail an einen Benutzer senden, wird die E-Mail immer in diesem Gebietsschema gesendet und alle anderen erhalten die E-Mail in dem Gebietsschema der Website.

Jetzt.WordPress 6.7 Ein weiterer Schritt nach vorn: Jedes Mal, wenn Sie eine Nachricht an die E-Mail-Adresse des Administrators senden ( admin_email) Wenn Sie eine E-Mail senden, prüft WordPress, ob es einen Benutzer mit derselben E-Mail-Adresse gibt. Ist dies der Fall, wird die E-Mail im Gebietsschema dieses Benutzers versendet.

Ausführlichere Informationen finden Sie unter#61518 / [59128].

WordPress 6.7 Internationalisierungsverbesserungen: Übersetzungsmanagement und Leistungsoptimierung

Warnung, wenn die Übersetzung zu früh geladen wird

WordPress warnt Entwickler jetzt, wenn sie Übersetzungen zu früh in ein Plugin oder Theme laden (bevor der aktuelle Benutzer davon weiß). Bestehende Funktionen (wie z.B.load_plugin_textdomain()und )load_theme_textdomain()wurde aktualisiert, um das tatsächliche Laden zu verzögern, bis der bestehende KernLogik der Sofortübersetzung. Dies verringert die Wahrscheinlichkeit, dass Warnungen ausgelöst werden, und verbessert in einigen Fällen sogar die Leistung, indem das Laden von Übersetzungen, die auf einer bestimmten Seite nicht benötigt werden, vermieden wird.

after_setup_themeWenn Sie versuchen, eine Übersetzung zu laden, die am oder vor deminitwird WordPress versuchen, den aktuellen Benutzer früher als üblich zu laden, ohne anderen Plugins die Möglichkeit zu geben, sich an diesem Prozess zu beteiligen. Es verhindert auch, dass Plugins Übersetzungsaufrufe filtern, wie z.B. das Wechseln des Gebietsschemas oder des Dateispeicherorts. Diese Warnung wird daher hinzugefügt, um auf dieses unerwartete Verhalten hinzuweisen.

WordPress 6.7 Internationalisierungsverbesserungen: Übersetzungsmanagement und Leistungsoptimierung

Ausführlichere Informationen finden Sie unter#44937und[59127]im Gesang antworten[59157].

_doing_it_wrong()Wenn Sie zum Beispiel die Funktionget_plugin_data()(die standardmäßig versucht, Übersetzungen zu laden) oder__()Ohne auf den Hook zu warten, könnte das Plugin wie folgt ausseheninit. Hier ist ein gängiges Beispiel, das in aktuellen festen Plugins zu finden ist:

/**
 * Plugin Name: Awesome Plugin
 */

function meinplugin_get_version() {
require_once ABSPATH . 'wp-admin/includes/plugin.php'; // Verhindern Sie einen frühen Übersetzungsaufruf durch Setzen von $translate.
// Verhindern Sie einen frühen Übersetzungsaufruf, indem Sie $translate auf false setzen.
$plugin_data = get_plugin_data( __FILE__, false, /* $translate */ false ); return $plugin_data; /* $translate */ false; /* $translate */ false
return $plugin_data['Version'];
}

define( 'MYPLUGIN_VERSION', myplugin_get_version() );

Wenn Sie nicht explizit die Option$übersetzenist, dann übersetzt die Funktion standardmäßig die Plugin-Metadaten. Da dieses Plugin nur die Versionsnummer benötigt, ist es nicht notwendig, andere Felder zu übersetzen.falschget_plugin_data()

Ein weiteres Beispiel:

/**
 * Plugin Name: Awesome Plugin
 */

class Mein_Awesome_Plugin {
public $name.
public function __construct() {
// Dies löst das Laden der Just-in-Time-Übersetzung aus.
$this->name = __( 'My Awesome Plugin', 'my-awesome-plugin' );

// ... etwas tun
}
}

// Damit wird die Klasse sofort instanziiert, lange vor `init`.
$myplugin = new My_Awesome_Plugin();

Hier wird die Klasse sofort in der Haupt-Plugin-Datei instanziiert und der Code im Klassenkonstruktor verwendet die Konvertierungsfunktion. Die Instanziierung der Klasse kann auf einen späteren Zeitpunkt verschoben werden durchinitoder vermeiden Sie es, indem Sie den Konvertierungsaufruf verschieben, bis er wirklich benötigt wird.

Wenn das Plugin von dieser Warnung betroffen ist, können Sie den folgenden Code verwenden, um den Pfad zu dem Code herauszufinden, der die Warnung ausgelöst hat:

add_action(
'doing_it_wrong_run',
statische Funktion ( 1TP4Funktionsname ) {
if ( '_load_textdomain_just_in_time' === $function_name ) {
debug_print_backtrace();
}
}
).

In diesem Fall.Abfrage-MonitorEntwicklungswerkzeuge wie diese sind ebenfalls nützlich.

WordPress 6.7 Internationalisierungsverbesserungen: Übersetzungsmanagement und Leistungsoptimierung

Kontakt
Sie können den Artikel nicht lesen? Kontaktieren Sie uns für eine kostenlose Antwort! Kostenlose Hilfe für persönliche Websites und Websites kleiner Unternehmen!
Tel: 020-2206-9892
QQ咨询:1025174874
(iii) E-Mail: info@361sale.com
Arbeitszeiten: Montag bis Freitag, 9:30-18:30 Uhr, Feiertage frei
Gepostet von photon fluctuations, retweeted mit Quellenangabe:https://www.361sale.com/de/21963/

Wie (0)
Vorherige 1 Tage zuvor
Weiter 19 vor Stunden

Empfohlen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Kontakt

020-2206-9892

QQ咨询:1025174874

E-Mail: info@361sale.com

Arbeitszeiten: Montag bis Freitag, 9:30-18:30 Uhr, Feiertage frei

Kundendienst WeChat