Mejoras en la internacionalización de WordPress 6.7: gestión de traducciones y optimización del rendimiento

Hay varias mejoras de internacionalización (i18n) en WordPress 6.7Echemos un vistazo juntos a estas mejoras.

Determinar si existe una traducción

A veces resulta útil saber si ya existe una traducción en la memoria sin tener que cargar primero la traducción para un campo de texto determinado. Nuevohas_translation()puede hacer exactamente eso.

Para obtener información más detallada, consulte#52696 / [59029].

Mejoras en la internacionalización de WordPress 6.7: gestión de traducciones y optimización del rendimiento

Correo electrónico en el entorno lingüístico del administrador

En la versión 4.7, WordPress añadió elFuncionalidad para permitir a los usuarios establecer su entorno lingüístico preferido. Cuando se envía un correo electrónico a un usuario, el correo se envía siempre en esa configuración regional y todos los demás reciben el correo en la configuración regional del sitio.

Ahora.WordPress 6.7 Otro paso adelante: cada vez que envíe un mensaje a la dirección de correo electrónico del administrador ( admin_email) Al enviar un correo electrónico, WordPress comprueba si existe un usuario con la misma dirección de correo electrónico. Si es así, el correo electrónico se envía en la configuración regional de ese usuario.

Para obtener información más detallada, consulte#61518 / [59128].

Mejoras en la internacionalización de WordPress 6.7: gestión de traducciones y optimización del rendimiento

Advertencia si la traducción se carga demasiado pronto

WordPress advierte ahora a los desarrolladores si cargan las traducciones demasiado pronto en un plugin o tema (antes de que el usuario actual lo sepa). Las funciones existentes (comoload_plugin_textdomain()y )load_theme_textdomain()se ha actualizado para retrasar la carga real hasta que laLógica de traducción instantánea. Esto reduce la probabilidad de que se produzcan advertencias e incluso mejora el rendimiento en algunos casos al evitar cargar traducciones que no son necesarias en una página determinada.

after_setup_themeAl intentar cargar una traducción en o antes deinit, WordPress intentará cargar el usuario actual antes de lo habitual sin dar a otros plugins la oportunidad de participar potencialmente en el proceso. También impedirá que cualquier plugin filtre las llamadas a la traducción, como el cambio de configuración regional o de ubicación de archivos. Por lo tanto, se añade esta advertencia para señalar este comportamiento inesperado.

Mejoras en la internacionalización de WordPress 6.7: gestión de traducciones y optimización del rendimiento

Para obtener información más detallada, consulte#44937y[59127]responder cantando[59157].

hacer_lo_mal()Por ejemplo, si llama alget_plugin_data()(que intenta cargar las traducciones por defecto) o__()Sin esperar al gancho, el plugin puede aparecer asíinit. He aquí un ejemplo común que se encuentra en plugins fijos reales:

/**
 * Nombre del Plugin: Awesome Plugin
 */

function mi_plugin_obtener_version() {
require_once ABSPATH . 'wp-admin/includes/plugin.php'; // Prevenir la llamada de traducción temprana estableciendo $translate.
// Prevenir la llamada de traducción temprana estableciendo $translate en false.
$plugin_data = get_plugin_data( __FILE__, false, /* $translate */ false ); return $plugin_data; /* $translate */ false; /* $translate */ false
return $plugin_data['Versión'];
}

define( 'MYPLUGIN_VERSION', myplugin_get_version() );

Si no establece explícitamente el$raducires, entonces la función traduce los metadatos del plugin por defecto. Dado que este plugin sólo necesita el número de versión, no es necesario traducir ningún otro campo.falsoget_plugin_data()

Otro ejemplo:

/**
 * Nombre del Plugin: Awesome Plugin
 */

class Mi_Plugin_Asombroso {
public $name.
public function __construct() {
// Esto activa la carga de traducción justo a tiempo.
$this->name = __( 'Mi impresionante plugin', 'my-awesome-plugin' );

// ... hacer algo
}
}

// Esto instanciará inmediatamente la clase, mucho antes que `init`.
$myplugin = new My_Awesome_Plugin();

En este caso, la clase se instanciará inmediatamente en el archivo principal del plugin y el código del constructor de la clase utilizará la función de conversión. La instanciación de la clase puede posponerse hasta más tarde medianteinito evitarla posponiendo la llamada a la conversión hasta que sea realmente necesaria.

Si el plugin está afectado por esta advertencia, puede utilizar el siguiente código para averiguar la ruta al código que ha disparado la advertencia:

add_action(
'haciendo_lo_mal_corre',
static function ( 1TP4Nombre_de_la_función ) {
if ( '_load_textdomain_just_in_time' === $function_name ) {
debug_print_backtrace();
}
}
).

En este caso.Monitor de consultasLas herramientas de desarrollo como éstas también son útiles.

Mejoras en la internacionalización de WordPress 6.7: gestión de traducciones y optimización del rendimiento

Póngase en contacto con nosotros
¿No puede leer el artículo? Póngase en contacto con nosotros para obtener una respuesta gratuita. Ayuda gratuita para sitios personales y de pequeñas empresas
Teléfono: 020-2206-9892
QQ咨询:1025174874
(iii) Correo electrónico: info@361sale.com
Horario de trabajo: de lunes a viernes, de 9:30 a 18:30, días festivos libres
Publicado por photon fluctuations, retweeted with attribution:https://www.361sale.com/es/21963/

Como (0)
Anterior hace 1 días
Siguiente 19 hace horas

Recomendado

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Póngase en contacto con nosotros

020-2206-9892

QQ咨询:1025174874

Correo electrónico: info@361sale.com

Horario de trabajo: de lunes a viernes, de 9:30 a 18:30, días festivos libres

Servicio de atención al cliente WeChat