1. Code
  2. PHP

Consejo rápido: uso de las funciones _e, _n y __ misteriosamente nombradas

Scroll to top
2 min read

Spanish (Español) translation by Santiago Diaz (you can also view the original English article)

Es posible que hayas cumplido con estas funciones durante tu carrera en WordPress. Estos se pueden utilizar para traducir. A continuación, se muestran algunos ejemplos rápidos sobre su uso.


¿Por qué usarlos?

El hecho es que WordPress se puede utilizar y traducir a cualquier idioma del mundo. Si deseas un diseño de página web que pueda manejar varios idiomas, puedes hacerlo con el sistema de traducción predeterminado integrado en WordPress. Ni siquiera tienes que escribir un código PHP complejo o un complemento para eso. Simplemente usa estos métodos y crea los archivos de idioma apropiados.


¿Dónde usarlos?

Los lugares para usar estas funciones son los archivos PHP de temas y complementos. Para empezar, recomiendo usarlos solo en temas, pero más adelante también puedes explorar su uso en complementos.


Archivos Gettext

Para traducir textos, WordPress utiliza el marco de traducción gettext. Estos datos se almacenan en archivos POT (plantilla de objeto portátil), PO (objeto portátil) y MO (objeto de máquina). Puedes crear estos archivos con poEdit de código abierto y GNU gettext. Los archivos de idioma predeterminados para la interfaz de WordPress se encuentran en la carpeta wp-content. Puedes leer más información en el artículo de traducción en el Codex de WordPress.

1
../wp-content/languages/uk.mo
2
../wp-content/languages/uk.po

Ejemplos

_e se usa para texto simple mientras que _n se puede usar para la forma plural de una palabra, incluso puede definir diferentes formas para diferentes números de un objeto o cosa.

1
<!-- Making a h1 heading -->
2
<h1><?php _e("apple"); ?></h1>
3
4
<!-- Sample paragraph -->
5
<p><?php _n("piece", "pieces", 3); ?></p>

Para desarrolladores

Si es un desarrollador de PHP y deseas escribir un complemento u otra cosa útil relacionada con tu proyecto de WordPress, puedes usar la función __, que devuelve la versión traducida de la cadena dada. Esta cadena devuelta se puede integrar en cualquier código de WordPress que desees.

1
// return the translation of apple in a German sentence

2
echo "Das ist ein " . __("apple") . "!";

Referencias

Entonces, la principal diferencia entre __ y _e es que el último refleja el resultado en la página web. __ sirve como alias de la función translate(). Estas funciones se pueden encontrar en wp-includes/l10n.php.

Páginas de referencia para las funciones aquí: