__
(double soulignement) est la fonction de traduction de base. Il traduit une chaîne et la renvoie sous forme de chaîne.
_e
fait la même chose __
, mais résume le résultat immédiatement.
_x
est la fonction de traduction contextuelle. Il a une deuxième option pour fournir un contexte aux personnes qui font la traduction.
_ex
est le même que _x
, mais l'écho est le résultat.
Exemple d'utilisation _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' );
Parfois, la même chaîne peut être différente dans d'autres langues. Fournir un contexte aux traducteurs peut les aider à choisir les bons mots.
Fonctions de raccourci:
esc_attr__
: Équivaut à __
mais exécute également le résultat esc_attr
.
esc_html__
: Équivaut à __
mais exécute également le résultat esc_html
.
esc_attr_e
: Équivaut à _e
mais exécute également le résultat esc_attr
.
esc_html_e
: Équivaut à _e
mais exécute également le résultat esc_html
.
esc_attr_x
: Équivaut à _x
mais exécute également le résultat esc_attr
.
esc_html_x
: Équivaut à _x
mais exécute également le résultat esc_html
.
_n
est le gestionnaire de pluralisation. Exemple:
$string = sprintf( _n(
'You have %d taco.',
'You have %d tacos.',
$number,
'plugin-domain'),
$number );
Dans cet exemple, il y a deux façons de dire le nombre de tacos, selon qu'il est singulier ou non. La première utilisation de $ number indique à la _n
fonction la version à utiliser. La deuxième utilisation de $ number se produit dans le sprintf, pour remplacer le% d par le nombre réel dans la chaîne.
Il n'y a pas de fonction d'écho équivalente à _n
, mais il y a une fonction nommée _nx
. C'est une combinaison de _n
et _x
. Pluralisation et contexte.
_n_noop
est spécial. Il est utilisé pour traduire des chaînes pluralisées, mais pas pour effectuer la traduction immédiatement. Ceci est utile si vous souhaitez centraliser les chaînes mais effectuez le travail ailleurs. La fonction qui fait réellement le travail ailleurs est translate_nooped_plural
.
Exemple:
$holder = _n_noop('You have %d taco.', 'You have %d tacos.', 'plugin-domain');
// ... later ...
$string = sprintf( translate_nooped_plural( $holder, $count ), $count );
Ce n'est pas beaucoup utilisé, mais peut être utile pour l'organisation. Si vous mettez toutes vos chaînes dans un fichier, par exemple, puis les référencez ailleurs, ce ne serait pas possible avec juste _n
, vous avez besoin de quelque chose comme _n_noop
ça.
_nx_noop
est identique à _n_noop
, mais peut également prendre un contexte pour les traducteurs, identique à _x
.
Notez que vous pouvez placer le domaine dans l'appel de fonction noop ou dans l'appel de fonction translate_nooped_plural. Selon ce qui est le plus logique pour votre organisation. Si les deux ont un domaine, celui transmis à l'appel noop l'emporte.
number_format_i18n
est l'équivalent du nombre_format intégré de PHP , mais il ajoute dans la gestion des choses comme les décimales et ainsi de suite, qui sont différentes dans d'autres paramètres régionaux.
date_i18n
est l'équivalent de la date intégrée de PHP , avec également toute la gestion pertinente. Noms de mois, noms de jours, etc.
Aussi, ne violez jamais les lois . Juste un rappel. :)