[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Para vuestra información [installer@ftp-master.debian.org: mozilla-locale-es_1.1-3_i386.changes ACCEPTED]



O Mércores, 15 de Xaneiro de 2003 ás 16:17:14 +0100, Javier Fernández-Sanguino Peña escribía:

> >  Puedo prometer y prometo que no valen. O sea, parece que funcionan,
> > pero ya verás cuando se te muera el navegador en la cara :-]
> IMHO entonces es una porquería entonces. ¿Por qué no mantiene los textos
> traducidos correctamente, descarta los que no existen y pone en inglés los
> que no lo están?

 Por el sistema que utiliza. Lo que hace es que, como XUL es XML, utiliza el
sistema de "entities" de XML para almacenar las cadenas de caracteres. Por
ejemplo tendríamos un fichero de traducción llamado "messengerMenu.dtd" que
contendría, por ejemplo:

<!ENTITY menuOpen.label "Open">
<!ENTITY menuOpen.accessKey "O">
<!ENTITY menuClose.label "Close">
<!ENTITY menuClose.accessKey "C">

 ... etc., etc. La traducción se hace cambiando las cadenas de texto por las
traducidas; por tanto, el programa sólo conoce la etiqueta de la cadena de
texto, no la cadena original ni la traducida.

 Para las partes de código que no son XUL (o sea, para el Javascript y el
C++) hay otros ficheros *.properties, que siguen el mismo planteamiento:

menuOpen.label=Open
menuOpen.accessKey=O

 Los ficheros .DTD van codificados en UTF-8, y los .properties en ASCII-7,
con caracteres Unicode "escapados"; por ejemplo:

colonInHeaderName=A cabeceira que introduciu cont\u00e9n un car\u00e1cter non v\u00e1lido, coma ':', un car\u00e1cter non imprimible, un car\u00e1cter non-ascii, ou un car\u00e1cter ascii de oito bits. Borre o car\u00e1cter non v\u00e1lido e volva tentalo.

 Entre dos versiones de Mozilla siempre cambian, añaden y eliminan muchas
cadenas; en muchas ocasiones, tenemos cadenas distintas (entre versiones)
con la misma etiqueta, etc.

 Gettext no utiliza etiquetas; mejor dicho, utiliza como etiqueta la cadena
original, así que si una cadena no existe en la traducción, se limita a
poner el texto en inglés; igualmente, si una cadena cambia, también cambia
su etiqueta, por lo que los problemas en ese aspecto son mucho menores.

 Alguna vez pensé (y me consta que otra gente también) en hacer un Moz2PO
para facilitar la traducción, pero es que en ésta también hay ficheros de
ayuda (HTML) y unos ficheros contents.rdf que son muy puñeteros, que son los
que guardan la información de a qué idioma corresponde esta traducción, a
qué versión de Mozilla, etc, y aunque todos son RDF muy parecidos, no son
iguales (ni siquiera su estructura es igual), y el Moz2PO no podría tratar
bien estos dos casos (HTML y RDFs).

 Yo traduzco Mozilla a mano, con el joe, y las actualizaciones las hago con
el diff. Existe al menos una herramienta, llamada MozillaTranslator, hecha
en Java, que se supone que facilita las actualizaciones, etc, llevando un
glosario; yo la probé hace tiempo, y no conseguí que funcionara; además, no
muestra los comentarios que hay en el DTD, y después los pierde. Esto parece
poco importante, pero lo es cuando editas a mano y ves algo como:

<!-- TRANSLATOR_NOTE: don't translate this (bug #87029) -->

> ¿Hay alguna forma de hacer la transición a una versión nueva de forma
> automática con los xpis?

 Semiautomática con el MozillaTranslator, pero por lo que se ve tienen que
sacar una o dos versiones nuevas en cada versión de Mozilla, para que trate
bien los RDF.

-- 

   Tarrío
(Compostela)



Reply to: