Com traduir un programa? Cas pràctic: FileZilla
He realitzat la traducció del FileZilla. En les versions 2 i 3 (que al moment d'escriure aquest article està en fase alpha).
Per traduir un programa es poden utilitzar moltes tècniques. Depen principalment del programador i les facilitats que aquest dona. Aquí en veurem dos exemples. El primer és similar a si realitzessim la traducció utilitzant un editor de recursos com el Resource Hacker. Ja no se'n fan noves versions així que potser vols provar un altre programa. El propi autor recomana: PE Resource Editor. Aquests dos programes permeten editar els fitxers de recursos del programes. Tot i això es bastant costós i avorrit. Aquest mètode, tot i això pot ser útil quan no es disposen del programes que ha utilitzat el programador per realitzar el programa i els recursos d'aquest.
Traduir FileZilla 2
Aquest procés va ser bastant llarg per la seva dificultad ja que el procés a seguir per la traducció va ser bastant complicat. La versió 2 de FileZilla, a diferència de la 3 només és per a Windows i està fet utilitzant el MicroSoft Visual C++. Per realitzar la traducció s'havia de baixar el codi del repositori CVS, fer un nou projecte utilitzant el MS VC++ i editar els fitxers de recursos de diàlegs, menús i cadenes. Aquest procés resultava pesat ja que no era fàcil localitzar totes les cadenes. Tot i això tenies molt poder sobre el programa ja que es podia canviar la mida i altres coses del control on estava la cadena.
Tampoc es podia oblidar de cadenes que no estaven directament al control si no a les propietats d'aquest com els combo box o caixes que es despleguen com la d'adreça del navegador que permet veure les adreces que hi has posat.
En les traduccions, és molt important mantenir correctament les especificacions de format: %d per un numero, %s per una cadena de text... Canviar-les o posar-les incorrectament pot provocar que el programa falli i es tanqui.
També s'ha de vilgilar amb el caràcter "&" que indica la tecla d'aacés ràpid al menú (alt+tecla subratllada) així doncs &Fitxer es veurà com Fitxer i la tecla ràpida serà alt-f. S'ha de vigilar no possar la mateixa tecla d'accés ràpid en el mateix submenú o en el menú principal.
Un cop fet tot això, només queda compilar i provar la DLL generada.
Traduir FileZilla 3
La traducció de FileZilla 3 va ser molt més ràpida que la de FileZilla 2. Aquesta versió que ara es multiplataforma es tradueix mitjançant fitxers PO que contenen un llistat de les cadenes a traduir i traduïdes. Llavors, es complia aquest fitxer en un fitxer MO que és el que utilitza el programa.
Per traduir aquest tipus de fitxer s'utilitza un programari específic:
Per a GNU/Linux hi ha eines com KBabel o Gtranslator.
Per a Windows hi ha el PoEdit
Una de les avantatges d'utilitzar aquest tipus de fitxers es l'ús de les memòries de traducció. Fitxers que contenes moltes cadenes amb les seves respectives traduccions i que poden fer que si la cadena es troba a la memòria o una molt semblant, es tradueixi automàticament. Tot i això deprés sempre cal revisar la traducció. Per obtenir una memòria de traducció al català cal anar a http://www.softcatala.org/projectes/eines/mt/ a la web de Softcatalà, concretament a http://www.softcatala.org/prog166.htm d'on es pot descarregar la Memòria de traducció de Softcatalà que ha estat revisada pel TERMCAT
En aquest cas jo utilitzaré Windows i PoEdit. Primer de tot cal obtenir el fitxer amb les cadenes a traduir i saber en quina codificació de caràcters vol la traducció l'autor. Normalment s'utilitza UTF-8 o ISO-8859-1. L'autor de FileZilla les demana en UTF-8. Així que utilitzarem la memòria de traducció anomenada "tm-utf8.po". La Plantilla de fitxer PO o fitxer POT es pot obtenir de http://filezilla-project.org/locales/filezilla.pot. Un cop fet això ho desem tot a la mateixa carpeta i obrim el programa PoEdit.
Primer carregarem la memòria de traducció. Anem a Fitxer-> Preferències i a la pestanya Memòria de Traducció. Premeu Afegeix i veureu això:
![]()
A ruta cap a BD poseu la carpeta de treball: C:\Documents and Settings\martini\Mis documentos\TRADD
Seleccioneu ca (Catalan). Un cop fet això, premeu el botó Genera base de dades. Veureu això:
![]()
El directori TRADD a a Mis Documentos és on hi ha tant la memòria de traducció com el fitxer filezilla.pot. Premeu següent. Veureu això:
![]()
El llistat de fitxers ha de contenir el fitxer de la memòria de traducció. En aquest cas he esborrat els que possa el programa per defecte i prement el botó Més fitxers he seleccionat la memòria de traducció que he descomprimit a la carpeta TRADD.
Un cop fet això. Premeu Fi i es generarà la base de dades amb les traduccions a C:\Documents and Settings\martini\Mis documentos\TRADD\ca així que no esborreu la carpeta!
Ara començarem amb la traducció. Aneu a Fitxer-> nou catàleg des de fitxer pot i seleccioneu filezilla.pot com es veu aquí:
![]()
Llavors ompliu els paràmetres:
![]()
i us preguntarà on voleu desar el fitxer CA_AD.po poseu a la carpeta de sempre i ja està. El país posso Andorra perquè allà el català és l'idioma oficial del País. A continuació veureu això:
![]()
El color verd-blau indica que la cadena no està traduïda. El vermell mal escrita. El groguenc inacabada i sense color o amb un to gris segons la fila significa que ja està traduïda.
Ara utilitzarem la memòria de traducció: Catàleg-> Tradueix automàticament utilitzant la MT.
En aquest cas ens ha traduït 250 de les 324 i en les ha marcat com a inacabades (en groc) perquè s'han de revisar. Si la traducció és correcta la marquem fent alt-u , Edita ->Traducció inacabada o fent clic sobre la icona del fantasma. Si editem la traducció, el programa ja l'assenyala automàticament com a traduïda al canviar de cadena a traduir.
Com veieu a la part inferior surt la cadena original i a sota escrivim la traducció. Al desar la traducció, automàticament es compila i genera el fitxer MO.
Un cop hem traduit les cadenes, les enviem a l'autor o les pujem al servidor, llista de correu o el que ens indiquin i ja hem acabat la traducció.
A vegades, al enviar poden assenyalar que hi ha unes quantes cadenes catalogades com "fuzzy". Això es deu normalment a una actualització de la cadena que pot o no haver invalidat la traducció de la cadena. Veure: http://www.gnu.org/software/gettext/manual/html_node/gettext_9.html Per revisar-ho normalment es torna a descarregar la platinlla de traducció i s'actualitza com s'explica a continuació.
Els programes evolucionen ràpidamenti potser surten noves cadenes que cal afegir a la nostra traducció: per fer-ho realitzem el següent Descarreguem la nova versió del fitxer plantilla. Obrim el CA-AD.po llavors anem a Catàleg -> Actualitza des del fitxer POT. Seleccioneu el fitxer nou de plantilla i premeu d'acord. Ens mostrarà un resum amb les cadenes noves i les obsoletes. Llavors fem la traducció com sempre i ja hem acabat.
Per saber com fer una traducció aneu a: Traduir: FileZilla 2 a català
Per saber l'estat de la traducció de FileZilla 3 aneu a: Translating FileZilla 3
Per saber l'esta més actual i veure les cadenes d'una forma senzilla aneu a: FileZilla 3 en català