Open IT Experts for Enterprise

Zylk empresa de desarrollo de ecommerce

Traduciendo Alfresco mas comodamente

Cesar Capillas
Cesar Capillas

En la traducción de un producto como Alfresco están involucrados más
de 9000 cadenas de caracteres dispersas por más de 300 archivos. La
manera habitual para extender el paquete de idioma es crear un jar con
todos los archivos de traducciones tal y como apuntabamos aquí
. En cualquier caso, trabajar con tantos ficheros en rutas dispersas
dificulta la tarea de traducción. La estructura de este archivo jar es
de este estilo:

cesar@zeus ~/Escritorio/zk-alfresco-langpack_eu_ES-0.1 $ tree -d -L 5
.
`-- alfresco
    |-- messages
    |-- site-webscripts
    |   |-- com
    |   |   `-- atolcd
    |   |       `-- components
    |   `-- org
    |       `-- alfresco
    |           |-- components
    |           `-- modules
    `-- web-extension
        `-- messages

 

Para facilitar ese proceso, descomprimimos el jar del paquete donde
se encuentran los archivos de properties
y con este simple
script podemos compactar toda la estructura en un fichero (alltexts.eu
dentro de la carpeta del archivo jar descomprimido):

$ for i in `find alfresco/ -type f`; do echo ""
>>  alltexts.eu ; echo "==== $i ====" >>
alltexts.eu ;  echo "" >>  alltexts.eu ; cat $i
>> alltexts.eu; done

lo que resulta un archivo alltexts.eu con la siguiente pinta:

==== alfresco/messages/workflow-package-messages_eu.properties ====

#Error Messages
workflow.package.already.associated.error=

==== alfresco/messages/subscription-service_eu.properties ====

# Subscription service messages
subscription.notification.email.subject=
subscription_service.err.disabled=

Este es el archivo que entregas para que se traduzca, y una vez
traducido, con este script sencillo de python puedes regenerar toda la
estructura y archivos para generar el nuevo jar:

#! /usr/bin/python
from string import join
import os
fullfile = open('alltexts.eu','r')
z = fullfile.read()
zz = z.split('====')
for i in range(1,len(zz),2):
  print "File: ", zz[i][1:-1]
  directorio = join(zz[i][1:-1].split("/")[0:-1], "/")
  os.system('mkdir -p '+directorio)
  file = open(zz[i][1:-1],'w')
  file.write(zz[i+1])
  file.close()


Este procedimiento puede ser interesante para tus instancias,
en las que necesitas cambiar literales por defecto de Alfresco. Dado
que puedes subirlo a un svn y replicar la generación del jar para el
idioma correspondiente. 

Si te ha parecido interesante comparte este post en RRS

Facebook
LinkedIn
Telegram
Email

Leer más sobre temas relacionados

Deja un comentario

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