20. The WP Functions Library (y VIII). Finalización del plugin

Finalizamos esta miniserie, en la que hemos creado The WP Functions Library, que forma parte de esta serie ‘Manual de plugins WP’, internacionalizando nuestro plugin, revisando las plantillas, haciendo las últimas revisiones de funcionamiento de la biblioteca y empaquetando finalmente el plugin para su libre distribución.

 

INTERNACIONALIZACION

NOTA PREVIA: Todo lo que aquí se expone está extraído del anterior artículo ’19. Internacionalización’.

Internacionalización del código

Esta parte es la más sencilla y la más tediosa. Se basa en el empleo de la función __( ‘etiqueta’, ‘dominio_texto’ ) en todos aquellos textos que vayamos a mostrar por pantalla con nuestras funciones.

Para ello, primero tenemos que definir el dominio de texto y la ruta donde se incorporarán las traducciones de los textos que vamos a mostrar. Esto lo haremos en la cabecera del plugin, que en este caso ha quedado así:

Observad que las dos últimas líneas nos definen los parámetros de traducción.

A partir de aquí, cada mensaje que vayamos a mostrar en pantalla, lo cambiaremos adecuadamente. Así, por ejemplo:

pasa a ser

Lo mismo que en el metabox de los metadatos del Custom Post Type, teníamos:

ahora tendremos

Esto lo tendremos que hacer en todo el código. Ya os dije que era fácil, pero muy trabajoso.

 

El programa Poedit

El programa de libre distribución Poedit nos permitirá, por un lado, crear un archivo con todas las etiquetas que queremos traducir a otros idiomas o que queremos que terceras personas traduzcan por nosotros.

Ese archivo es del tipo .pot. POT (Portable Object Template) es el fichero que contiene las cadenas originales del plugin.

Te lo puedes descargar aquí. Cuando lo ejecutas te aparece la siguiente pantalla:

poedit1

Como yo, seguramente no queréis pagar la versión Pro del programa. Entonces, para poder preparar nuestro listado de etiquetas, necesitamos un archivo inicial.

 

El archivo .POT

Este archivo inicial se llama Blank POT y lo podéis descargar desde Github.

Si lo descomprimimos, tenemos 4 ficheros:

  • Blank-WordPress.pot
  • How-to-use-a-pot-file.txt
  • README.md
  • README.txt

Los dos primeros, los copiamos en la subcarpeta /idiomas de nuestro plugin.

El primero tiene el siguiente contenido:

Lo renombramos como el dominio de texto, en nuestro caso será stmtwpfl.pot.

Ahora, clicamos dos veces sobre él, y se ejecutará el programa Poedit, mostrándonos la siguiente pantalla:

poedit2

Clicamos en la opción ‘Extraer desde código fuente’ y aparecerá una nueva ventana:

poedit3

En el botón ‘+’ debajo de la casilla ‘Rutas’ indicamos los archivos con nuestro código con etiquetas traducibles. Al dar ‘Aceptar’, nos mostrará un listado con las etiquetas:poedit4

Lo primero que tenemos que hacer es ir a ‘Catálogo’ > ‘Propiedades’ e introducir los datos adecuados:

poedit5

Una vez aceptamos los nuevos datos, clicamos en aceptar y, a continuación en ‘Crear traducción nueva’ de la pantalla principal. Entonces nos pedirá el idioma de la traducción y ya podremos ir haciendo las traducciones para cada etiqueta.

Una vez finalizado, le damos a ‘Guardar’ y nos aparecerá el código del idioma con el tipo de archivo .po. Nosotros debemos poner delante el nombre del dominio de texto de nuestro plugin. En mi caso, la versión en catalán del idioma queda como stmtwpfl-ca.po (el final ca.po es fruto del azar, lo juro).

Poedit también creará el archivo .mo. El archivo PO (Portable Object) contiene las traducciones y el mismo formato que el archivo POT. Por su lado, los ficheros MO (Machine Object) son ficheros binarios legibles por la máquina, que utilizan las funciones gettext.

 

El cambio de idioma

Para que cambie el idioma de nuestro plugin (si tenemos los archivos PO y MO del idioma final) al cambiar el idioma de WordPress, necesitamos incorporar la siguiente función en el archivo principal de nuestro plugin:

 

REVISION DE LAS PLANTILLAS

No me da miedo el poder equivocarme, a las pruebas me remito. Pero, si hay algo que me fastidia enormemente, es cometer el mismo error la segunda vez, cuando lo había resuelto la primera. Este error tiene un número, el 404.

Efectivamente, como me pasó durante la redacción del artículo 16 de esta serie, sobre ‘Las plantillas’, estas no eran reconocidas por WordPress. E igualmente, lo conseguí yendo a Ajustes > Enlaces permanentes y clicando en ‘Guardar cambios’.

Pero, para eliminar este error definitivamente de mi historial futuro de errores (ojalá siempre lo pudiera hacer así), vamos a fijarlo mediante la función flush_rewrite_rules().

 

flush_rewrite_rules()

Esta función, según el Codex, borra las reglas de reescritura y las vuelve a crear. Es una función necesaria, básicamente, cuando creamos un nuevo Custom Post Type, por lo que la vamos a ligar a su creación:

 

La plantilla de fichas individuales (single-stmtwpflcpt.php)

Básicamente, he eliminado la barra lateral (sidebar) mediante la supresión de get_sidebar(), y simulo otra barra lateral con las tablas de los metadatos y las taxonomías. Finalmente, internacionalizamos las etiquetas.

Así pues, el archivo single-stmtwpflcpt.php queda finalmente así:

Y el resultado, lo podemos ver aquí:

plantilla-single

 

La plantilla de taxonomías (taxonomy-stmtwpfltxn.php)

Los mismos cambios los realizamos en la visualización de las taxonomías. El código definitivo queda así:

Y el resultado también es similar:

plantilla-taxonomy

 

 

ACCESIBILIDAD POR MENUS

Para poder acceder a nuestras fichas, he creado una taxonomía superior ‘The WP Functions Library’, de la que dependen las demás jerárquicamente. Así pues, esta será la que ligo en el menú superior.

Considero que esto es suficiente, tampoco quiero dar más realce a este apartado en mi blog.

 

CONCLUSIONES

Bien, hasta aquí ha llegado esta miniserie sobre la creación de nuestras nuevas fichas de The WP Functions Library mediante un plugin. Para mi, ha supuesto una forma de asimilar y acabar de comprender todo aquello que había traducido del inglés. Para vosotros, espero que os sirva tanto o más que a mi.

Yo voy a utilizarla, precisamente, para crear dichas fichas, y estoy seguro que, con el uso, la podré mejorar.

Pero si hay alguien que la quiere mejorar o modificar para otros usos, aquí dejo el vínculo para su descarga. El único requisito es que estéis registrados.

smtwpfl.zip (0 descargas)

Por supuesto, estoy abierto a consultas, críticas, sugerencias, etc.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *