__
(doppio trattino basso) è la funzione di traduzione di base. Traduce una stringa e la restituisce come stringa.
_e
fa lo stesso di __
, ma fa eco immediatamente al risultato.
_x
è la funzione di traduzione contestuale. Ha una seconda opzione per fornire un contesto alle persone che fanno la traduzione.
_ex
è lo stesso di _x
, ma l'eco è il risultato.
Esempio di utilizzo _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 volte la stessa stringa può essere diversa in altre lingue. Fornire un contesto ai traduttori può aiutarli a scegliere le parole giuste.
Funzioni di scelta rapida:
esc_attr__
: Equivalente a __
ma esegue anche il risultato esc_attr
.
esc_html__
: Equivalente a __
ma esegue anche il risultato esc_html
.
esc_attr_e
: Equivalente a _e
ma esegue anche il risultato esc_attr
.
esc_html_e
: Equivalente a _e
ma esegue anche il risultato esc_html
.
esc_attr_x
: Equivalente a _x
ma esegue anche il risultato esc_attr
.
esc_html_x
: Equivalente a _x
ma esegue anche il risultato esc_html
.
_n
è il gestore della pluralizzazione. Esempio:
$string = sprintf( _n(
'You have %d taco.',
'You have %d tacos.',
$number,
'plugin-domain'),
$number );
In questo esempio, ci sono due modi per dire il numero di tacos, a seconda che sia singolare o meno. Il primo utilizzo di $ number indica alla _n
funzione quale versione utilizzare. Il secondo uso di $ number si verifica nello sprintf, per sostituire% d con il numero effettivo nella stringa.
Non esiste una funzione eco equivalente per _n
, ma esiste una funzione denominata _nx
. È una combinazione di _n
e _x
. Pluralizzazione e contesto.
_n_noop
è speciale. È usato per tradurre stringhe pluralizzate, ma in realtà non esegue immediatamente la traduzione. Ciò è utile se si desidera rendere le stringhe centralizzate ma in realtà svolgere il lavoro altrove. La funzione che svolge effettivamente il lavoro altrove è translate_nooped_plural
.
Esempio:
$holder = _n_noop('You have %d taco.', 'You have %d tacos.', 'plugin-domain');
// ... later ...
$string = sprintf( translate_nooped_plural( $holder, $count ), $count );
Questo non è molto usato, ma può essere utile per l'organizzazione. Se metti tutte le tue stringhe in un file, ad esempio, poi le fai riferimento altrove, questo non sarebbe possibile solo con _n
, hai bisogno di qualcosa del genere _n_noop
per farlo.
_nx_noop
è lo stesso di _n_noop
, ma può anche prendere un contesto per i traduttori, lo stesso di _x
.
Si noti che è possibile inserire il dominio nella chiamata della funzione noop o nella chiamata della funzione translate_nooped_plural. Qualunque abbia più senso per la tua organizzazione. Se entrambi hanno un dominio, vince quello passato alla chiamata noop.
number_format_i18n
è l'equivalente del numero_formato incorporato di PHP , ma aggiunge la gestione di cose come i decimali e così via, che sono diversi in altre impostazioni locali.
date_i18n
è l'equivalente della data incorporata di PHP , con tutta la gestione pertinente anche lì. Nomi dei mesi, nomi dei giorni, ecc.
Inoltre, non infrangere mai le leggi . Solo un promemoria. :)