__
(subrayado doble) es la función de traducción base. Traduce una cadena y la devuelve como una cadena.
_e
hace lo mismo que __
, pero echo es el resultado de inmediato.
_x
es la función de traducción contextual. Tiene una segunda opción para proporcionar contexto a las personas que realizan la traducción.
_ex
es lo mismo que _x
, pero echo es el resultado.
Ejemplo 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' );
A veces, la misma cadena puede ser diferente en otros idiomas. Proporcionar contexto a los traductores puede ayudarlos a elegir las palabras correctas.
Funciones de acceso directo:
esc_attr__
: Equivalente __
pero también ejecuta el resultado esc_attr
.
esc_html__
: Equivalente __
pero también ejecuta el resultado esc_html
.
esc_attr_e
: Equivalente _e
pero también ejecuta el resultado esc_attr
.
esc_html_e
: Equivalente _e
pero también ejecuta el resultado esc_html
.
esc_attr_x
: Equivalente _x
pero también ejecuta el resultado esc_attr
.
esc_html_x
: Equivalente _x
pero también ejecuta el resultado esc_html
.
_n
es el manejador de pluralización. Ejemplo:
$string = sprintf( _n(
'You have %d taco.',
'You have %d tacos.',
$number,
'plugin-domain'),
$number );
En ese ejemplo, hay dos formas de decir la cantidad de tacos, dependiendo de si es singular o no. El primer uso de $ number le dice a la _n
función qué versión usar. El segundo uso de $ number ocurre en el sprintf, para reemplazar el% d con el número real en la cadena.
No hay una función de eco equivalente para _n
, pero hay una función llamada _nx
. Es una combinación de _n
y _x
. Pluralización y contexto.
_n_noop
Es especial. Se usa para traducir cadenas pluralizadas, pero en realidad no realiza la traducción de inmediato. Esto es útil si desea centralizar las cadenas pero realmente hace el trabajo en otro lugar. La función que realmente hace el trabajo en otro lugar es translate_nooped_plural
.
Ejemplo:
$holder = _n_noop('You have %d taco.', 'You have %d tacos.', 'plugin-domain');
// ... later ...
$string = sprintf( translate_nooped_plural( $holder, $count ), $count );
Esto no se usa mucho, pero puede ser útil para la organización. Si coloca todas sus cadenas en un archivo, por ejemplo, luego las referencia en otro lugar, esto no sería posible con solo _n
, necesita algo como _n_noop
hacer eso.
_nx_noop
es igual que _n_noop
, pero también puede tomar un contexto para los traductores, igual que _x
.
Tenga en cuenta que puede colocar el dominio en la llamada a la función noop o en la llamada a la función translate_nooped_plural. Lo que tenga más sentido para su organización. Si ambos tienen un dominio, entonces el que pasó a la llamada noop gana.
number_format_i18n
es el equivalente a la de PHP integrado en Number_format , pero añade en el manejo de cosas como decimales y así sucesivamente, que son diferentes en otros lugares.
date_i18n
es el equivalente a la fecha incorporada de PHP , con todo el manejo pertinente allí también. Nombres de mes, nombres de día, etc.
Además, nunca infrinjas las leyes . Simplemente un recordatorio. :)