La mayor parte de las webs que desarrollamos actualmente con Joomla son multilingües. Normalmente, preparamos la versíon en castellano y después recopilamos los textos para enviarlos a traducir.
Recientemente he tenido que hacerlo para una web basada en Joomla 2.5 y he tratado de evitar el trabajo, un tanto tedioso, seguiendo un camino diferente al habitual: extraer los textos directamente desde la BBDD.
Los pasos a seguir son los siguientes:
- Usar PhpMyAdmin para extraer el código HTML de los artículos
- La consulta que debemos usar será parecida – pueden ser interesantes otros campos de la tabla- a la siguiente:
SELECT id,title,introtext FROM `jos_content` where state = 1
La condición “where state = 1? sirve para mostrar únicamente los artículos publicados.
- PhpMyAdmin suele limitar los resultados a 30, sin embargo, en este caso se puede modificar el límite para que muestre todos los registros.
- Ahora que tenemos el listado completo de artículos debemos usar las opciones que se muestran al final de la página marcar todos y exportar.
- En la pantalla de exportación seleccionaremos las siguientes opciones:
- Metodo: personalizado
- Formato: CSV para Excel
- Continuar
- El archivo que genera PhpMyAdmin contiene todos los artículos en formato HTML. Es decir, todavía no es adecuado para enviarlo a traducir.
- La consulta que debemos usar será parecida – pueden ser interesantes otros campos de la tabla- a la siguiente:
- Limpiar el código HTML. El objetivo de este paso es dejar preparado el texto para visualizarlo en el navegador. Para esta labor podemos usar la herramienta libre Notapad++ ya que tenemos que reemplazar algunos caracteres.
- Para realizar los cambios y poder visualizarlos en el navegador podéis duplicar el archivo y cambiar su extensión a “html”
- Reemplazar “;” por <br>
- Reemplazar “\r\n” por <br><br>\r\n
- Eliminar comillas que sobran al princio y al final
- Añadir código HTML inicial:
<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es-es" lang="es-es" dir="ltr"> <body>
- Añadir código al final del documento:
</body> </html>
- Comprobar el resultado en el navegador. En mi caso algunos caracteres no se mostraban correctamente y he tenido que modificar la codificación desde Notepad++. En este punto ya podemos selecccionar todo el texto en el navegador para copiarlo y pegarlo en un Word, email, …