Converter HTML a .po e á inversa

From Proxecto Trasno
Revision as of 18:42, 9 May 2012 by Miguelbf (talk | contribs)


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

1 Preparación das ferramentas e ficheiros
2 Conversión de HTML a .po

Traballo a cargo do(s) tradutor(es)

3 Proceso de tradución

Traballo a cargo do(s) desenvolvedor(es) ou do coordinador de traducións

4 Conversión de .po a HTML
5 Tradución de .xml

Traballo que debe definirse se o fai o tradutor ou o desenvolvedor/coordinador

6 Tradución (?) de imaxes

Documentación de base


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


Tupi-help 1a gl.png

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


Tupi-help 1b.png

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


Tupi-help 2a gl.png

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.


Poedit.png Virtaal.png
Lokalize.png Omegat.png

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


Tupi-help 3a gl.png

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

Tradución (?) de imaxes