Agrengando lenguaje Vasco al webmail de Plesk: Horde

Un requisito relativamente fácil como puede ser agregar un idioma a Horde ( gestor de mail vía web y software libre ) puede complicarse al tener que realizarlo en un entorno paquetizado y cerrdado como es Plesk. El problema de modificar este componente ( u otros de Plesk ) es que futuras versiones o parches de Plesk puedes modificar o machacar nuestros cambios. Además de no conocer el impacto real de nuestras modificaciones.

Desde el soporte de Parallels nos han indicado que no existe problema en agregar un nuevo lenguaje a Plesk y nos indican la guia de instalacion de idiomas en Horde http://www.horde.org/horde/docs/?f=po_README.html

Primero verificamos que version tenemos de Horde instalada. Vamos a intentar siempre usar las mismas versiones para quitarnos de problemas

# rpm -qa | grep horde
psa-horde-3.1.7-cos5.build92090714.19

Creamos el directorio para preparar la compilacion de los idiomas ( hay que generar los .mo a partir de ficheros .po )

mkdir -p /usr/src/horde
cd /usr/src/horde

Nos bajamos nuestra versión de horde:

wget http://ftp.horde.org/pub/horde/horde-3.1.7.tar.gz
tar zxvf horde-3.1.7.tar.gz

Ahora nos bajamos por separado los ficheros .po del cvs y que no están en la distribucion 3.1.7.
Es muy importante no mezclar ficheros de distribuciones para evitar problemas. La estructura de directorios se almacenará en el directorio ‘horde’

export CVSROOT=:pserver:cvsread@anoncvs.horde.org:/repository
cvs login
# password: horde
# cvs co horde/po/ horde/locale horde/lib/core.php
cvs co horde/po/ horde/locale 

Como solo queremos los ficheros de cadenas, mezclar phps de distinas versiones nos dará errores de clases no encontradas

cp -r horde/po/*_* horde-3.1.7/po/
cp -r horde/locale/*_* horde-3.1.7/locale/

Tenemos algunos requistios que se pueden leer en el fichero REAME.

cd /usr/src/horde-po
wget http://download.pear.php.net/package/File_Find-1.3.0.tgz
wget http://download.pear.php.net/package/Console_Table-1.1.3.tgz

mkdir -p pear/Console
mkdir -p pear/File

tar zxvf File_Find-1.3.0.tgz -C pear/File/ *Find.php
mv pear/File/File_Find-1.3.0/Find.php pear/File/

tar zxvf Console_Table-1.1.3.tgz -C pear/Console/ *Table.php
mv pear/Console/Console_Table-1.1.3/* pear/Console/

También necesitamos la herramienta gettext al menos la version 0.12

yum install gettext

Dado que ejecutamos php con la configuracion de Plesk estamos limitados a la ejecución de comandos bajo safe_mode. En la cabecera de translator.php, agregamos las rutas necesarias ( include_path ) y con php -n hacemos que no cargue el /etc/php.ini para saltarnos el safe_mode

#!/usr/bin/php -qn
<?php
ini_set ("include_path", "/usr/src/horde/horde-3.1.7/lib:/usr/share/psa-pear/:/usr/src/horde/pear/:." );

Ahora generamos los ficheros:

./translator.php make 

Copiamos los ficheros de cadenas a nuestra ubicación de la instalación de Plesk. Cuidado, no copiar ningún php de la rama del cvs a nuestra rama estable.

cp /usr/src/horde/horde-3.1.7/locale/* /usr/share/psa-horde/locale/

Por último editar la configuracón de horde de plesk para que aparezca el nuevo idioma disponible:

/etc/psa/webmail/horde/horde/nls.php
$nls['languages']['eu_ES'] = 'Euskera';

Aún no he tenido la oportunidad de problarlo pero casi seguro que con alguna alguna actualización, machaca este fichero y hay que volver a editarlo para agregar el idioma.

Deja un comentario

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

 

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.