Converter HTML a .po e á inversa
Este como nace da necesidade de dispor dun xeito doado de tradución de ficheiros de axuda e de páxinas web feitas con HTML (.htm, .html, .xhtml).
Pensado, inicialmente, para que os desenvolvedores fornezan un método estándar para a tradución aos tradutores sen perfil técnico, serve tamén par aqueles tradutores máis avanzados que queren simplificar procesos ou fornecer métodos máis doados a compañeiros de equipo.
Neste documento imos ver os seguintes pasos para completar proceso: Traballo a cargo do(s) desenvolvedor(es) ou do coordinador de traducións
Traballo a cargo do(s) tradutor(es)
Traballo a cargo do(s) desenvolvedor(es) ou do coordinador de traducións
Traballo que debe definirse se o fai o tradutor ou o desenvolvedor/coordinador
Documentación de base
- http://translate.sourceforge.net/wiki/toolkit/html2po
- http://opensource.bureau-cornavin.com/html2pot-po2html/index.html
Preparación das ferramentas e ficheiros
Necesitamos ter instalado:
- o paquete de ferramentas de tradución «translate-toolkit» e as de desenvolvemento «python» e «python-dev»
- En Debian:
apt-get install translate-toolkit python python-dev
Emprego como exemplo o aplicativo Tupí no que estiven a traballar nestes días e que foi o que me deu a idea de facer este manual. O obxectivo é converter a ficheiros .po os ficheiros da axuda integrada no aplicativo, que están construídos con HTML.
Unha vez que examinamos o arquivo de fontes tupi_0.1-git12.tar.gz (unha vez descomprido chámase tupi-0.1) atopamos o cartafol help
/home/usuario/Tupi/tupi-0.1/src/components/help/help$
facendo un «ls» vemos que contén os seguintes cartafoles
css en es examples images man ru
destaco a cor vermello os paquetes de idioma
vexamos o contido do cartafol «en»
ls en
que danos a seguinte saída:
adding_frames.html drawing.html player.html animation.html first.html preview_time.html chapter0.html help.html shortcuts.html chapter1.html help.xml stop_motion.html chapter2.html how_to_help.html thanks.html chapter3.html images translations.html chapter4.html init.html tupi.html chapter5.html links.html tupi_short.html components.html new.html video_file.html cover.html philosophy.html
Fig. num. 1 ─ Vista do cartafol «help» e o destaque
do cartafol «en» nun explorador gráfico
Fixémonos nun detalle, temos dous cartafoles co nome «images»
- un na ruta →
/home/usuario/Tupi/tupi-0.1/src/components/help/help
- e outro na ruta →
/home/usuario/Tupi/tupi-0.1/src/components/help/help/en
Fig. num. 2 ─ Observade o marcado en verde
Normalmente, no primeiro, atópanse as imaxes inamovíbeis ou xenéricas, e no segundos as imaxes que cambian en función da tradución, como son as capturas de interface, as de mensaxes, etc. Destas segundas falaremos máis adiante.
Conversión de HTML a .po
Crear os ficheiros de tradución «.po» a partires dos «.html» orixinais
html2po en l10n ↓ ↓ ↓ ↓ ↓ nome que lle damos ao cartafol no que imos gardar os «.po» ↓ nome do cartafol no que están os «.html» orixinais orde de conversión html a(to) po
feito isto facemo outra vez un «ls»
css en es examples images l10n man ru
e comprobamos que agora temos un novo cartafol «l10n»
vexamos o seu contido cun «ls l10n»
adding_frames.po chapter5.po init.po stop_motion.po animation.po components.po links.po thanks.po chapter0.po cover.po new.po translations.po chapter1.po drawing.po philosophy.po tupi.po chapter2.po first.po player.po tupi_short.po chapter3.po help.po preview_time.po video_file.po chapter4.po how_to_help.po shortcuts.po
Fig. num. 3 ─ Vista do cartafol «help» e o destaque
do cartafol «l10n» nun explorador gráfico
Observemos, en diferencia co listado anterior, que non existe o ficheiro/cartafol «images» nin o ficheiro correspondente ao «help.xml»
Nota: Existe outra posibilidade, extraer os ficheiros HTML a «.pot» esta é unha boa forma de xerar «actualizadores». É máis sinxela para o desenvolvedor/coordenador, porén algo máis complexa de uso para os tradutores cun baixo perfil técnico.
A orde sería: html2po -P en l10n
na que a opción -P indica que a extracción se faga a ficheiros .pot
Proceso de tradución
Unha vez que xa dispomos dos ficheiros «.po» procedemos a traducilos como adoitamos facelo, empregando as ferramentas de CAT (Tradución Asistida por Computador) que mellor se adapten a nós. Outra posibilidade é enviar estes ficheiros a algún servizo de Tradución en Web, como Pootle ou Transifex.
Fig. num. 4 ─ Vista de distintas interfaces de tradución
PoEdit, Virtaal, Lokalize e OmegaT
Neste punto é importante salientar que non é necesario xerar os ficheiros binarios «.mo».
Conversión de .po a HTML
Crear os ficheiros «.html» xa traducidos a partires dos «.po» que estivemos (ou estiveron) a traducir
po2html -t en l10n gl ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ nome que lle damos ao cartafol de destino ↓ ↓ ↓ ↓ neste caso empregamos o indicador do idioma galego «gl» ↓ ↓ ↓ cartafol no que están os ficheiros «.po» xa traducidos ↓ ↓ cartafol no que están os orixinais, para seren empregados como «modelos» ↓ opción de uso de modelos (t de template) orde de conversión po a(to) html
Un novo «ls>» diranos que foi creado este cartafol «gl>»
css en es examples gl images l10n man ru
vexamos agora o contido deste cartafol «gl» coa orde «ls gl
»
adding_frames.html cover.html player.html animation.html drawing.html preview_time.html chapter0.html first.html shortcuts.html chapter1.html help.html stop_motion.html chapter2.html how_to_help.html thanks.html chapter3.html init.html translations.html chapter4.html links.html tupi.html chapter5.html new.html tupi_short.html components.html philosophy.html video_file.html
Fig. num. 5 ─ Vista do cartafol «help» e o destaque
do cartafol «gl» nun explorador gráfico
Quedamos en que neste cartafol fáltannos o cartafol «images» e o ficheiro «help.xml». Para o caso do ficheiro «.xml» imos ver a seguir como proceder, para o caso do cartafol«images» vémolo máis adiante, para rematar este manual.
Tradución de .xml
A tradución dun ficheiro «.xml» deberemos facela empregando un editor de texto sinxelo, nunca editores de texto con formato, como poden ser Abiword, LibreOffice, Apache-Openoffice, etc.
Un ficheiro «.xml» adoita ter un esquema semellante a este:
<?xml version = '1.0' encoding = 'UTF-8'?> <KHelpSystem> <Section title="Capa" file="cover.html" /> <Section title="Introdución" file="chapter0.html"> <SubSection title="A nosa visión e a Licenza" file="philosophy.html" /> <SubSection title="Animación para principiantes" file="init.html" /> </Section> <Section title="Tupí? Que é iso?" file="chapter1.html"> <SubSection title="Compoñentes principais" file="components.html" /> <SubSection title="Módulo de animación" file="animation.html" /> <SubSection title="Módulo de reprodución" file="player.html" /> <SubSection title="Módulo de axuda" file="help.html" /> </Section>
Só se debe traducir os títulos (Section title, SubSection title) e respectar rigorosamente as dobles comiñas inglesas que delimitan o texto. Nunca debemos traducir os nomes de ficheiros (file="cover.html" p.ex.) nin ningunha outra etiqueta.
Aconsellamos que empreguedes un editor de texto sinxelo que empregue coloreado en función do código, hoxe en día faino a maioría dos que acompañan a unha distribución, ou, no peor dos casos, empregan un engadido para facelo. O exemplo seguinte é unha captura do editor Gedit.
Fig. num. 6 ─ Vista do ficheiro «help.xml»
destácanse os elementos que se traducen
Tradución (?) de imaxes
Simplemente unha captura dun retallo
Fig. num. 7 ─ Vista do menú superior do aplicativo en castelán e en galego
Ou, as veces, teremos que empregar algunha ferramenta de debuxo como o Gimp ou Inkscape.
Fig. num. 5 ─ Vista do esquema do aplicativo en castelán e en galego