Converter HTML a .po e á inversa

De Proxecto trasno

Este como está disponible en File:flag_es.png castellano en el wiki de Galpon.
This HowTo is available in File:flag_en.png english in the Tupi wiki.

Introdución

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 para 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 o 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


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 segundo 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.

Volver ao comezo


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


Volver ao comezo


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.



Erro ao crear a miniatura:
libgomp: Thread creation failed: Resource temporarily unavailable


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».

Volver ao comezo


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.

Volver ao comezo


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 o contido entre comiñas «"» dos 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


Volver ao comezo


Tradución (?) de imaxes

Isto é algo moi sinxelo de entender, e non moi doado de facer, xa que require de bastante paciencia e, as veces, dalgún coñecemento de tratamento de imaxes.

Todo comeza coa instalación do aplicativo no idioma obxecto da tradución e a súa correcta execución. Deberemos ir aplicando as accións tal e como aparecen nas imaxes do orixinal e iremos facendo as oportunas capturas.

Estas capturas, unha vez «procesadas» (como se pode ver a seguir) irán nun cartafol chamado images, no mesmo cartafol que creamos anteriormente. No noso exemplo en:

/home/usuario/Tupi/tupi-0.1/src/components/help/help/gl/images

Importante: as imaxes deberan respectar exactamente o mesmo nome. Calquera cambio nel fará que non sexa atopada esa imaxe.

Simplemente unha captura dun retallo


File:top_menu_es.png

File:top_menu_gl.png

Fig. num. 7 ─ Vista do menú superior do aplicativo en castelán e en galego
Nota: a diferenza que se observa no contido é debido a que corresponden a versións diferentes.


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


Volver ao comezo
Ferramentas persoais