Una introducción al filtro Gettext

Publicado: 2023-02-12

Encontrar un complemento o tema para su sitio de WordPress que cumpla con todos sus requisitos puede ser un desafío. Muchos pueden acercarse pero aún necesitan ajustes o personalizaciones. Además, como desarrollador, es vital asegurarse de que su código sea lo suficientemente flexible para admitir usuarios de todo el mundo.

Afortunadamente, hay algunas características del núcleo de WordPress que pueden ayudarte a adaptar ciertos elementos de tu sitio. Esto le permite personalizar el botón o el texto de la etiqueta en lugar de abandonar un complemento útil, o incluso preparar su sitio para la traducción.

En este artículo, proporcionaremos una mejor comprensión del filtro gettext, incluido cómo funciona con el proceso de traducción de su sitio. Hay mucho que cubrir, ¡así que comencemos!

Tabla de contenido
1. ¿Qué es Gettext?
2. Gettext y PHP para traducción
2.1. Paso 1: extraiga cadenas de texto como archivos POT
2.2. Paso 2: Cree un archivo de objeto portátil (PO)
2.3. Paso 3: Convertir a archivos de objetos de máquina (MO)
3. ¿Cuándo es útil el filtro Gettext de WordPress?
4. Difunde tu mensaje con WP Engine

¿Qué es Gettext?

El filtro gettext le permite modificar elementos de texto en su sitio de WordPress. Se entiende mejor a través de un ejemplo.

Digamos que su formulario de comentarios tiene dos campos: "Nombre" y "Correo electrónico". Si prefiere que lean "Nombre" y "Dirección de correo electrónico", puede usar el filtro gettext para modificarlos en lugar de tener que reemplazar manualmente cada instancia de cada término en sus archivos de tema.

El filtro gettext solo funciona si su sitio ha sido preparado para la traducción. Por lo tanto, antes de sumergirnos en cómo puede usarlo para personalizar el texto, tenemos que discutir cómo internacionalizar su código.

Algunos términos que debe entender antes de continuar incluyen:

  • Internacionalización (i18n). Esto significa que su código de WordPress ha sido preparado para traducirlo a otros idiomas.
  • Localización (l10n). El proceso mediante el cual puede tomar la programación de i18n y localizar su instalación de WordPress para usarla en un idioma nativo.
  • Biblioteca gettext de GNU. GNU es un sistema operativo gratuito y de código abierto. Su biblioteca gettext le permite envolver texto en cadenas de código, que luego se pueden extraer para traducir.
  • Archivo POT: para ejecutar la extracción de las cadenas traducibles creadas con funciones gettext, se crean archivos de plantilla de objeto portátil (POT).
  • Archivo PO: una herramienta como Poedit utiliza un archivo POT para crear archivos de objetos portátiles (PO) que incluyen las traducciones completas, así como las cadenas traducibles.
  • Archivo MO: un archivo de objeto de máquina (MO) se crea a partir de un archivo PO. Reside en su complemento o directorio de temas y lo entrega su servidor si se solicita una versión traducida de su sitio web.

Todos estos elementos juegan un papel en la preparación de los productos de WordPress para la traducción, como verá en los pasos a continuación.

Gettext y PHP para traducción

A continuación, explicamos el flujo de trabajo para internacionalizar un tema o complemento. Antes de experimentar con dichos cambios, se recomienda que cree un tema secundario para trabajar. Esto protegerá su sitio de cualquier desastre potencial.

Paso 1: extraiga cadenas de texto como archivos POT

Lo primero que querrá hacer es verificar si su tema o complemento ya incluye archivos POT. De lo contrario, deberá generarlos automáticamente, crearlos manualmente con Terminal o usar una aplicación recomendada por WordPress que mencionamos anteriormente llamada Poedit:

La versión Pro ofrece una función rápida de WordPress para crear los archivos que necesita. Sin embargo, aún puede generar un archivo POT con unos pocos clics adicionales utilizando la aplicación gratuita.

Para comenzar, deberá descargar e instalar Poedit, que se ejecutará en su escritorio. Una vez que haya hecho eso, vaya a Archivo > Nuevo . Se le pedirá que seleccione el idioma para su traducción:

Luego deberá guardar su nuevo proyecto antes de continuar. A continuación, tendrá la opción de actualizar un archivo POT existente o extraerlo de las fuentes :

Si es necesario, también puede comenzar con un archivo POT en blanco y luego modificar sus cadenas de texto en Poedit. Alternativamente, puede buscar en Glotpress los complementos existentes y los archivos de temas para usar. Sin embargo, para este ejemplo, supongamos que necesitará usar la otra opción.

Una vez que haga clic en Extraer de las fuentes, tendrá tres pestañas de configuración para configurar:

Deberá establecer las rutas para las fuentes de sus cadenas de texto. También puede excluir ciertas rutas. Luego, querrá configurar sus propiedades de traducción:

Aquí es donde nombrará su proyecto y personalizará la configuración para los plurales y otros elementos específicos del idioma. Por último, puede usar la pestaña Palabras clave de fuentes para completar la configuración de su archivo POT:

Cuando haga clic en el signo más, podrá agregar palabras clave de gettext para completar su configuración de traducción. También podrá ver y buscar cadenas de texto de sus archivos de origen.

Paso 2: Cree un archivo de objeto portátil (PO)

A continuación, deberá convertir su archivo POT en un archivo PO para cada idioma que desee agregar. Si no está traduciendo su tema o complemento y solo planea usar el filtro gettext para sustituciones de inglés a inglés, configure ambos idiomas (origen y traducción) en inglés.

Si navega a Catálogo > Actualizar desde archivo POT en Poedit, puede elegir el archivo que desea traducir:

A continuación, el archivo pasará por un proceso de extracción durante el cual todas las cadenas traducibles se llevarán a Poedit. Esto crea el archivo PO. Querrá nombrarlo para que coincida con sus otros archivos para este proyecto.

Luego, haga clic en Crear nueva traducción en la parte inferior de la lista de cadenas de texto para comenzar a realizar los cambios:

Para modificar el texto de inglés a inglés, simplemente haga clic en la cadena que desea cambiar y use la ventana de traducción debajo del texto fuente para escribir la palabra sustituida:

Complete este proceso para cualquier texto que desee cambiar en su tema o complemento. A continuación, creará el último de los tres archivos necesarios.

Paso 3: Convertir a archivos de objetos de máquina (MO)

Hasta ahora, ha estado tomando medidas para crear instrucciones de programación relacionadas con sus traducciones. Ahora, deberá convertir cada archivo PO para que el servidor pueda leerlo y entregar el texto deseado a los visitantes.

Dependiendo de cómo realice el flujo de trabajo de Poedit, es posible que ya se haya creado un archivo MO en la carpeta Idiomas de su tema. De lo contrario, vaya a Archivo > Compilar en MO :

Ahora debería tener los componentes que necesita para ejecutar funciones posibles gracias al filtro gettext en WordPress.

¿Cuándo es útil el filtro Gettext de WordPress?

Aunque el proceso que hemos descrito anteriormente podría ayudarlo a traducir su sitio a muchos idiomas, ese no es el propósito del filtro gettext. En otras palabras, no querrías usar este enlace para convertir texto en inglés a español.

Más bien, esta es más una funcionalidad de diseño que puede usar para modificar el texto predeterminado agregado a su sitio por un complemento o tema, como a través de:

  • Personalización de etiquetas
  • Cambios en el texto del botón
  • Alteraciones de encabezado

Este proceso se puede utilizar para personalizar cualquier texto que se considere traducible en los archivos de su sitio web. Para proporcionar otro ejemplo, si su tema tiene botones preestablecidos que dicen "Comprar ahora", pero su sitio necesita que digan "Suscribirse", gettext es el filtro que puede hacer realidad ese cambio.

Es importante tener en cuenta que el uso de gettext con demasiada frecuencia puede tener un impacto negativo en el rendimiento de su sitio web. Este es un código adicional que debe ejecutarse cada vez que se carga su sitio, así que utilícelo con moderación para evitar la disminución de la velocidad de la página.

Difunde tu mensaje con WP Engine

Decidir si utilizar o no complementos o crear cambios de código manuales en su sitio web puede ser un desafío. Es por eso que tener a mano los mejores recursos para desarrolladores es clave. Armado con el soporte experto y profesional de WP Engine, tendrá lo que necesita para crear un sitio web altamente personalizado.

Echa un vistazo a nuestros planes de hosting administrado dedicado de WordPress para tu próximo proyecto. ¡Cubrimos el mantenimiento de su servidor para que pueda innovar con facilidad!