WordPress 6.7 Améliorations de l'internationalisation : gestion des traductions et optimisation des performances

WordPress 6.7 apporte diverses améliorations en matière d'internationalisation (i18n).Examinons ensemble ces améliorations.

Déterminer s'il existe une traduction

Il est parfois utile de savoir si une traduction existe déjà en mémoire sans avoir à charger la traduction pour un champ de texte donné. Nouveauhas_translation()peut faire exactement cela.

Pour plus d'informations, voir#52696 / [59029].

WordPress 6.7 Améliorations de l'internationalisation : gestion des traductions et optimisation des performances

Courriel dans l'environnement linguistique de l'administrateur

Dans la version 4.7, WordPress a ajouté l'optionFonctionnalité permettant aux utilisateurs de définir leur environnement linguistique préféré. Lorsque vous envoyez un courriel à un utilisateur, le courriel est toujours envoyé dans cette locale et tous les autres reçoivent le courriel dans la locale du site.

Aujourd'hui.WordPress 6.7 Autre avancée : chaque fois que vous envoyez un message à l'adresse électronique de l'administrateur ( admin_email) Lors de l'envoi d'un courriel, WordPress vérifie s'il existe un utilisateur ayant la même adresse électronique. Si c'est le cas, l'email est envoyé dans la langue locale de l'utilisateur.

Pour plus d'informations, voir#61518 / [59128].

WordPress 6.7 Améliorations de l'internationalisation : gestion des traductions et optimisation des performances

Avertissement si la traduction est chargée trop tôt

WordPress avertit désormais les développeurs s'ils chargent les traductions trop tôt dans un plugin ou un thème (avant que l'utilisateur actuel n'en ait connaissance). Les fonctionnalités existantes (telles queload_plugin_textdomain()et )load_theme_textdomain()a été mis à jour pour retarder le chargement effectif jusqu'à ce que le système de gestion de l'information existant du noyau soit mis à jour.Logique de traduction instantanée. Cela réduit la probabilité de déclencher des avertissements et améliore même les performances dans certains cas en évitant de charger des traductions qui ne sont pas nécessaires sur une page donnée.

after_setup_themeLorsque vous essayez de charger une traduction le ou avant leinitWordPress tentera de charger l'utilisateur actuel plus tôt que d'habitude, sans donner à d'autres plugins la possibilité de participer au processus. Cela empêchera également tout plugin de filtrer les appels à la traduction, tels que le changement de paramètres linguistiques ou d'emplacement de fichier. Cet avertissement est donc ajouté pour signaler ce comportement inattendu.

WordPress 6.7 Améliorations de l'internationalisation : gestion des traductions et optimisation des performances

Pour plus d'informations, voir#44937et[59127]répondre en chantant[59157].

faire_ça_mauvais()Par exemple, si vous appelez la fonctionget_plugin_data()(qui tente de charger les traductions par défaut) ou__()Sans attendre le crochet, le plugin peut se présenter comme suitinit. Vous trouverez ci-dessous un exemple courant de plugins fixes :

/**
 * Nom du plugin : Awesome Plugin
 */

function myplugin_get_version() {
require_once ABSPATH . 'wp-admin/includes/plugin.php' ; // Empêchez un appel de traduction précoce en définissant $translate.
// Empêchez l'appel à une traduction précoce en réglant $translate sur false.
$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() ) ;

Si vous ne définissez pas explicitement l'option$ranslateest, alors la fonction traduit les métadonnées du plugin par défaut. Comme ce plugin n'a besoin que du numéro de version, il n'est pas nécessaire de traduire d'autres champs.fauxget_plugin_data()

Autre exemple :

/**
 * Nom du plugin : Awesome Plugin
 */

class My_Awesome_Plugin {
public $name.
public function __construct() {
// Cela déclenche le chargement de la traduction juste à temps.
$this->name = __('My Awesome Plugin', 'my-awesome-plugin' ) ;

// ... faire quelque chose
}
}

// Ceci instancie immédiatement la classe, bien avant `init`.
$myplugin = new My_Awesome_Plugin() ;

Ici, la classe est instanciée immédiatement dans le fichier principal du plugin et le code du constructeur de la classe utilise la fonction de conversion. L'instanciation de la classe peut être reportée à plus tard parinitou l'éviter en reportant l'appel à la conversion jusqu'à ce qu'elle soit vraiment nécessaire.

Si le plugin est concerné par cet avertissement, vous pouvez utiliser le code suivant pour trouver le chemin d'accès au code qui a déclenché l'avertissement :

add_action(
'doing_it_wrong_run',
static function ( $function_name ) {
if ('_load_textdomain_just_in_time' === $function_name ) {
debug_print_backtrace() ;
}
}
).

En l'occurrence.Moniteur de requêtesDes outils de développement comme ceux-ci sont également utiles.

WordPress 6.7 Améliorations de l'internationalisation : gestion des traductions et optimisation des performances

Nous contacter
Vous ne pouvez pas lire l'article ? Contactez-nous pour une réponse gratuite ! Aide gratuite pour les sites personnels et les sites de petites entreprises !
Tel : 020-2206-9892
QQ咨询:1025174874
(iii) Courriel : info@361sale.com
Horaires de travail : du lundi au vendredi, de 9h30 à 18h30, jours fériés.
Posté par photon fluctuations, retweeté avec attribution :https://www.361sale.com/fr/21963/

Comme (0)
Précédent 1 il y a un jour
Suivant 19 il y a quelques heures

Recommandé

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Nous contacter

020-2206-9892

QQ咨询:1025174874

Courriel : info@361sale.com

Horaires de travail : du lundi au vendredi, de 9h30 à 18h30, jours fériés.

Service clientèle WeChat