__
(sublinhado duplo) é a função de conversão base. Ele traduz uma string e a retorna como uma string.
_e
faz 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, _e
mas também executa o resultado esc_attr
.
esc_html_e
: Equivalente a, _e
mas também executa o resultado esc_html
.
esc_attr_x
: Equivalente a, _x
mas também executa o resultado esc_attr
.
esc_html_x
: Equivalente a, _x
mas 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 à _n
funçã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 _n
e _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_noop
isso.
_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. :)