Reenvío este correo de Keko, que non pasou os filtros polos anexos que
contiña, e que me parece que contén información de interese. Para que
non se perda se algúń dos moderadores da lista purga a mensaxe.

A memoria da que fala, xa está aquí subida por Leandro

http://trasno.net/ficheiros/upload/memorias/TM_Netbeans_7.0.tmx.zip



---------- Forwarded message ----------
From: Enrique Estévez Fernández <e...@keko.me>
Date: 2012/5/28
Subject: Crear tmx alineando textos (tmx de netbeans desde os
ficheiros en-us e gl)

Boas.

Só vos envío o correo a vos porque ao mellor non procede envialo a
rolda e ademais como leva anexos pode quedar retido. Sobre todo a tmx
de netbeans, que ocupa 5 megas. Se o vedes convinte, volvo a envialo a
rolda, pero sen anexar a tmx de NetBeans, que xa estaría colgada por
Leandro na wiki de Trasno, se procede.

Veño de crear a tmx da última tradución que se tiña feito de NetBeans,
a versión 7.0, que non tiñamos xa que as últimas versións se traducían
nun aplicativo en liña (http://translate.sun.com/opencti/), que os de
Oracle decidiron pechar fai uns meses.

O importante deste correo é o uso de OmegaT para facer tmx alineando
textos e a xeración da tmx da tradución da versión 7.0 do NetBeans.

Explico todo o proceso, por se pode interesar. E seguramente se poida
facer mellor, pero un non controla case nada nin de sistemas de
control de versións (hg) e scripting na liña de ordes. É un correo moi
longo, se non che interesa, mellor que desistas, ou que vaias a parte
concreta que queres do mesmo.

Primeiro hai que facerse cos ficheiros de orixe, os en_US e despois
coas traducións, gl_ES, pero precisamos os concretos desas versións.
Eu non os atopei pero creo que puiden chegar a eles extraendo as ramas
do repositorio que mantén todo. Leva moito tempo clonar os
repositorios de NetBeans. Nesta páxina web,
http://wiki.netbeans.org/List_Of_Repositories, dinos como está a
estrutura de repositorios de NetBeans. Eu entendo que a versión 7.0
(releases70), que é a última que traducimos, está en:
http://hg.netbeans.org/releases. A expliación dada a continuación,
parte de que traballo no cartafol chamado code no meu home.

1. Clonar o repositorio NetBeans de releases, que contén todas as que
levan sacado

kike@galiza:~/code$ hg clone http://hg.netbeans.org/releases netbeans-releases

Isto lévalle moito tempo, polo menos no meu caso. Falamos de máis de 6 horas.

2. Clonar o repositorio de l10n das versións. Tamén lle leva tempo,
media hora ou así.

$ cd netbeans-releases

kike@galiza:~/code/netbeans-releases$ hg clone
http://hg.netbeans.org/releases/l10n

3. Listar as ramas que hai nese repositorio ou foron creadas

kike@galiza:~/code/netbeans-releases$ hg branches

Se subimos polas ramas, vemos que hai unha chamada release70_fixes.
Esta vai ser a que clonemos, que é a que nos interesa.

4. Clonar a rama seleccionada noutro repositorio.

$ cd ..

kike@galiza:~/code$ hg clone -b release70_fixes netbeans-releases release70

Isto lévalle moito. Pero debe crear un repositorio cos datos da
versión 7.0 de NetBeans, extraídos do repositorio releases que
clonamos a primeira vez, para un novo repositorio que levará o nome de
release70. Falamos dunhas catro ou cinco horas.

5. Buscar no repositorio l10n que clonamos antes, a rama que coincida
coa que xa clonamos de código fonte,a 7.0

$ cd netbeans-releases/l10n/

kike@galiza:~/code/netbeans-releases/l10n$ hg branches

A rama que coincide é a release70, xa que non existe unha rama
release70_fixes para as traducións.

6. Clonar esa rama dentro do repositorio release70 clonado anteriormente.

$ cd ..

kike@galiza:~/code/netbeans-releases$ hg clone -b release70 l10n
../release70/l10n

Isto tamén lle vai levar o seu tempo. Pero ao rematar xa teríamos o
repositorio preparado con todo para crear a versión de NetBeans 7.0 do
seu momento e na que poderemos obter o código fonte e as cadeas que
foron traducidas.

-- Nota: Algúns dos pasos que veñen agora poderían facerse a medias,
pero mellor facelos completos, así podes ver que todo vai ben. Estes
paso xa foron documentados aquí:
http://www.usc.es/osl/wiki/index.php/Translation_netbeans. O paso 1 e
4, foi o que se fixo ata o de agora, porque non había forma de clonar
directamente esas versións, xa que non están accesíbels os
repositorios como estaba no seu momento. Ou iso penso que foi o que
fixen e funcionou.

7. Compilar o código fonte desta versión. Vaille levar o seu tempo e
descargase binarios da Internet. Falamos de horas, non sei cantas.

$ cd ../release70/

kike@galiza:~/code/release70$ ant

8. Construír o nbms. Tamén lle vai levar o seu tempo. Non o calculei,
deixeino soíño.

kike@galiza:~/code/release70$ ant build-nbms

9. Xerar o kit l10n, os ficheiros en_US para traducir.

$ ant l10n-kit

Os ficheiros son xerados en release70 (onde estamos agora), dentro do
cartafol nbbuild nun ficheiro comprimido co nome l10n.zip.

A ruta sería release70/nbbuild/l10n.zip. Os ficheiros que hai dentro
deste cartafol son o que vamos alinear coas traducións para xerar a
memoria de tradución.

10. Localizar os ficheiros xa traducidos e que foron enviados ao
proxecto no seu momento. Estamos en release70

kike@galiza:~/code/release70$

$ cd l10n/src/

kike@galiza:~/code/release70/l10n/src$

Ahí hai un cartafol co nome do código do noso idioma: gl_ES

-- Nota: Xa temos os ficheiros en inglés e traducidos. Agora comeza a
explicación para alinear e xerar unha tmx con OmegaT. Non se vai
explicar como instalar OmegaT. Dase por suposto que está instalado, xa
que simplemente hai que descargar o ficheiro comprimido do aplicativo,
descomprimilo e executalo. Suponse que OmegaT foi descargado no
cartafol code.

1. Abrir OmegaT e crear un proxecto no cartafol code co nome tmx_netbeans.

2. Descomprimir o ficheiro l10n.zip xerado no proceso anterior, que é
onde están os ficheiros en_US do NetBeans, que son do tipo
.properties.

Estamos no cartafol:

kike@galiza:~/code/release70$

$ cd nbbuild/build/

kike@galiza:~/code/release70/nbbuild/build$ unzip l10n.zip  -d l10n

Isto crea un cartafol l10n con todos os ficheiros que ían no zip.

3. Agora meter eses ficheiros no cartafol source do proxecto creado co omegaT

O cartafol do proxecto ten o mesmo nome que o proxecto. Dentro dese
cartafol hai varios cartafoles. Vamos meter os ficheiros
descomprimidos no paso anterior no cartafol source.

Estamos  en:

kike@galiza:~/code/release70/nbbuild/build$

$ cp -r l10n/* ../../../tmx_netbeans/source/

4. Agora vamos a copiar os ficheiros traducidos no cartafol code, e
mantemolos no cartafol gl_ES

Estamos en:

kike@galiza:~/code/release70/nbbuild/build$

Vamos a src onde están os cartafoles coas traducións para cada idioma

$ cd ../../l10n/src/

Agora estamos en:

kike@galiza:~/code/release70/l10n/src$

Agora copiamos o cartafol gl_ES dentro do cartafol code, para
facilitar o proceso de alineado despois e poder preparalos.

$ cp -r gl_ES/ ../../../

5. Agora preparamos os ficheiros traducidos para poder alinealos cos
de en_US. En principio non debería facer falta nada, pero cando tento
alinealos, non fai nada. Despois de facer probas, comprobei que se os
ficheiros non levan engadido o código do idioma, si que funciona. Así
que vamos a renomear os ficheiros traducidos de *_gl_ES.properties a
*.properties. No manual de OmegaT parece que di que é necesario que
leven o código de idioma, pero a min non me traballou desa maneira.

Situamonos no cartafol gl_ES

$ cd ../../../gl_ES/

Renomeamos os ficheiros:

kike@galiza:~/code/gl_ES$ find . -name "*.properties" -exec rename
's/\_gl_ES.properties/\.properties/' {} \;

6. Agora temos que eliminar os ficheiros .html e se se quere os
cartafoles valeiros de ambos ficheiros, dos que están en source e dos
que están no cartafol gl_ES. Debería funcionar igual, pero parece que
non vai ou que están mal codificados. Como o que nos interesa é a tmx
da interface d NetBeans, borramolos de ambos lados. Eses ficheiros
.html deben ser as páxinas de axuda do NetBeans de cada módulo. Hai
moi pouco traducido.

Situarse dentro do cartafol gl_ES ou source, unha vez en cada e
executar as seguintes ordes:

$ find . ! -name "*.properties" -exec rm {} \;
Esta orde elimina todos os ficheiros que non teñen a extensión
.properties que haxa dentro dese cartafol e nos seus subcartafoles.
Dentro dos cartafoles que estamos traballando só hai ficheiros
.properties (que queremos conservar) e .html (que queremos eliminar).
O resto non o elimina, xa que son cartafoles e dá erro. Por eso a
continuación, executamos a orde seguinte, para eliminar os cartafoles
vacíos.

$ find . -type d -empty -exec rmdir {} \;
Esta orde elimina os cartafoles vacíos que haxa nese cartafol de forma
recursiva. Executala ata que non mostre nada despois da súa execución.

7. Crear a tmx do proxecto. Para elo executase o OmegaT desde a
terminal cos seguintes argumentos:

Situamonos no cartafol code, xa que ahí temos instalado o OmegaT
dentro do cartafol omegat, temos creado o proxecto de OmegT para o
NetBeans chamado tmx_netbeans e tamén temos os ficheiros traducidos no
cartafol gl_ES.

kike@galiza:~/code$

$ java -jar omegat/dist/OmegaT.jar  tmx_netbeans/
--mode=console-align --alignDir=gl_ES

No meu caso concreto o ficheiro executábel do OmegaT, está dentro do
cartafol omegat/dist, o normal é que estea no cartafol omegat sen
máis.
Dámoslle a ruta do proxecto, que está no cartafol code en
tmx_netbeans. Lanzamos o OmegaT no modo de alinear. E dámoslle a ruta
dos ficheiros traducidos, que están no cartafol gl_ES.

A tmx do proxecto crease dentro do cartafol omegat que hai dentro do
proxecto. Leva o nome align.tmx.

8. Limpar a tmx creada.

No proceso de creación da tmx, tamén se meten os pares que non foron
traducidos. Entón, mediante unha utilidade que se pode atopar na
páxina de OmegaT, pódense eliminar as tuplas que sexan iguais no
segmento en_US co gl_ES. Chámase TMXCleaner-1.0.RC1.jar, e vouna
anexar no correo, porque o outro día non se podía descargar.

Estamos en:

kike@galiza:~/code$

$ java -jar TMXCleaner-1.0.RC1.jar tmx_netbeans/omegat/align.tmx

A utilidade está no cartafol code. Dámoslle a ruta da tmx que queremos
limpar, que está no proxecto tmx_netbeans, no cartafol omegat e leva o
nome align.tmx. Creanos outra tmx limpa no cartafol que estaba a tmx
orixinal co nome align-clean.tmx.

Este foi o proceso para obter a tmx de NetBeans da versión 7.0, máis
dun ano despois. Curioso cando menos. Anexo a tmx de netbeans. Non
creo que aporte moito pero queda para o histórico.

No manual de OmegaT que recomendei o outro día, no apartado 6.3 OmegaT
in the command line mode, na páxina 15, explicase este modo de
execución de OmegaT.

Para realizar todo isto vas ter que ter instalado, Java (a min non me
funcionou co java-6-openjdk), Ant e Mercurial como mínimo. Por último
OmegaT.

Saúdos.
_______________________________________________
Proxecto mailing list
Proxecto@trasno.net
http://listas.trasno.net/listinfo/proxecto

Responderlle a