Melhorias na internacionalização do WordPress 6.7: gestão de traduções e otimização do desempenho

Existem várias melhorias de internacionalização (i18n) no WordPress 6.7Vamos analisar estas melhorias em conjunto.

Determine se existe uma tradução

Por vezes é útil saber se uma tradução já existe na memória sem ter de carregar primeiro a tradução para um determinado campo de texto. Novohas_translation()As funções podem fazer exatamente isso.

Para obter informações mais pormenorizadas, consulte#52696 / [59029].

Melhorias na internacionalização do WordPress 6.7: gestão de traduções e otimização do desempenho

Correio eletrónico no ambiente linguístico do administrador

Na versão 4.7, o WordPress adicionou a opçãoFuncionalidade que permite aos utilizadores definir o seu ambiente linguístico preferido. Quando envia uma mensagem de correio eletrónico a um utilizador, a mensagem é sempre enviada nessa localidade e todos os outros recebem a mensagem na localidade do site.

Agora.WordPress 6.7 Mais um passo em frente: sempre que enviar uma mensagem para o endereço de correio eletrónico do administrador ( email_administrador) Ao enviar um e-mail, o WordPress verifica se existe um utilizador com o mesmo endereço de e-mail. Se houver, o e-mail é enviado na localidade desse utilizador.

Para obter informações mais pormenorizadas, consulte#61518 / [59128].

Melhorias na internacionalização do WordPress 6.7: gestão de traduções e otimização do desempenho

Aviso se a tradução for carregada demasiado cedo

O WordPress avisa agora os programadores se carregarem traduções demasiado cedo num plugin ou tema (antes de o utilizador atual ter conhecimento disso). As funcionalidades existentes (tais comoload_plugin_textdomain()e )load_theme_textdomain()foi atualizado para atrasar o carregamento efetivo até que oLógica de tradução instantânea. Isto reduz a probabilidade de disparar avisos e até melhora o desempenho em alguns casos, evitando carregar traduções que não são necessárias numa determinada página.

after_setup_themeAo tentar carregar uma tradução em ou antes deinicialSe o WordPress não estiver a carregar o utilizador atual mais cedo do que o habitual, não dará a outros plugins a oportunidade de participarem potencialmente no processo. Também impedirá que qualquer plugin filtre as chamadas de tradução, como a mudança de localidade ou de localização do ficheiro. Este aviso é, portanto, adicionado para chamar a atenção para este comportamento inesperado.

Melhorias na internacionalização do WordPress 6.7: gestão de traduções e otimização do desempenho

Para obter informações mais pormenorizadas, consulte#44937,[59127]responder com cânticos[59157].

_doing_it_wrong()Por exemplo, se chamar a funçãoget_plugin_data()(que por defeito tenta carregar as traduções) ou__()Sem esperar pelo gancho, o plugin pode ter o seguinte aspetoinicial. Abaixo está um exemplo comum encontrado em plugins fixos reais:

/**
 * Nome do plugin: Awesome Plugin
 */

função myplugin_get_version() {
require_once ABSPATH . 'wp-admin/includes/plugin.php'; // Evite uma chamada de tradução antecipada definindo $translate.
// Evite a chamada de tradução antecipada definindo $translate como falso.
$plugin_data = get_plugin_data( __FILE__, false, /* $translate */ false ); return $plugin_data; /* $translate */ false; /* $translate */ false
devolva $plugin_data['Versão'];
}

define( 'MYPLUGIN_VERSION', myplugin_get_version() );

Se não definir explicitamente o$translateé, então a função traduz os metadados do plugin por defeito. Uma vez que este plugin apenas necessita do número da versão, não há necessidade de traduzir quaisquer outros campos.falsoget_plugin_data()

Outro exemplo:

/**
 * Nome do plugin: Awesome Plugin
 */

class My_Awesome_Plugin {
public $name.
função pública __construct() {
// Isto ativa o carregamento da tradução just-in-time.
$this->name = __( 'My Awesome Plugin', 'my-awesome-plugin' );

// ... faça alguma coisa
}
}

// Isso imediatamente instancia a classe, bem antes do `init`.
$myplugin = new My_Awesome_Plugin();

Aqui, a classe é instanciada imediatamente no ficheiro principal do plugin e o código no construtor da classe utiliza a função de conversão. A instanciação da classe pode ser adiada para mais tarde através deinicialOu evite-o, adiando a chamada de conversão até que seja efetivamente necessária.

Se o plugin for afetado por este aviso, pode utilizar o seguinte código para descobrir o caminho do código que desencadeou o aviso:

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

Neste caso.Monitor de consultasFerramentas de desenvolvimento como estas também são úteis.

Melhorias na internacionalização do WordPress 6.7: gestão de traduções e otimização do desempenho

Contactar-nos
Não consegue ler o artigo? Contacte-nos para obter uma resposta gratuita! Ajuda gratuita para sítios pessoais e de pequenas empresas!
Tel: 020-2206-9892
QQ咨询:1025174874
(iii) Correio eletrónico: info@361sale.com
Horário de trabalho: de segunda a sexta-feira, das 9h30 às 18h30, com folga nos feriados
Publicado por photon fluctuations, retweetado com atribuição:https://www.361sale.com/pt/21963/

Como (0)
Anterior 1 dias atrás
Seguinte 19 horas atrás

Recomendado

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *

Contactar-nos

020-2206-9892

QQ咨询:1025174874

Correio eletrónico: info@361sale.com

Horário de trabalho: de segunda a sexta-feira, das 9h30 às 18h30, com folga nos feriados

Serviço ao cliente WeChat