__(sublinhado duplo) é a função de conversão base. Ele traduz uma string e a retorna como uma string.
_efaz o mesmo que __, mas eco é o resultado imediatamente.
_xé a função de conversão contextual. Tem uma segunda opção para fornecer contexto às pessoas que fazem a tradução.
_exé o mesmo que _x, mas eco é o resultado.
Exemplo de uso _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' );
Às vezes, a mesma string pode ser diferente em outros idiomas. Fornecer contexto aos tradutores pode ajudá-los a escolher as palavras certas.
Funções de atalho:
esc_attr__: Equivalente a, __mas também executa o resultado esc_attr.
esc_html__: Equivalente a, __mas também executa o resultado esc_html.
esc_attr_e: Equivalente a, _emas também executa o resultado esc_attr.
esc_html_e: Equivalente a, _emas também executa o resultado esc_html.
esc_attr_x: Equivalente a, _xmas também executa o resultado esc_attr.
esc_html_x: Equivalente a, _xmas também executa o resultado esc_html.
_né o manipulador de pluralização. Exemplo:
$string = sprintf( _n(
'You have %d taco.',
'You have %d tacos.',
$number,
'plugin-domain'),
$number );
Nesse exemplo, há duas maneiras de dizer o número de tacos, dependendo se é singular ou não. O primeiro uso do número $ informa à _nfunção qual versão usar. O segundo uso do número $ acontece no sprintf, para substituir o% d pelo número real na sequência.
Não existe uma função de eco equivalente a _n, mas existe uma função denominada _nx. É uma combinação de _ne _x. Pluralização e contexto.
_n_noopé especial. É usado para traduzir seqüências de caracteres pluralizadas, mas na verdade não realiza a tradução imediatamente. Isso é útil se você deseja tornar as seqüências centralizadas, mas na verdade faz o trabalho em outro lugar. A função que realmente faz o trabalho em outro lugar é translate_nooped_plural.
Exemplo:
$holder = _n_noop('You have %d taco.', 'You have %d tacos.', 'plugin-domain');
// ... later ...
$string = sprintf( translate_nooped_plural( $holder, $count ), $count );
Isso não é muito usado, mas pode ser útil para organização. Se você colocar todas as suas seqüências de caracteres em um arquivo, por exemplo, referenciá-las em outro lugar, isso não seria possível com apenas _n, você precisará de algo como _n_noopisso.
_nx_noopé o mesmo que _n_noop, mas também pode ter um contexto para os tradutores, o mesmo que _x.
Observe que você pode colocar o domínio na chamada de função noop ou na chamada de função translate_nooped_plural. O que fizer mais sentido para sua organização. Se ambos tiverem um domínio, o que foi passado para a chamada noop vence.
number_format_i18né o equivalente a do PHP embutido number_format , mas acrescenta no manuseio para coisas como decimais e assim por diante, que são diferentes em outros locais.
date_i18né o equivalente a do PHP built-in data , com toda a pertinência manipulação lá também. Nomes de meses, nomes de dias etc.
Além disso, nunca viole as leis . Apenas um lembrete. :)