emacs, software libre, texinfo

Traduciendo Documentación en Texinfo con emacs y po4a

Texinfo es el formato de marcas estándar para documentación de GNU. Permite crear manuales en formato pdf, info, html, etc. desde un solo fichero fuente .texi con las características avanzadas que debería tener un buen manual.

Antes de familiarizarnos con los comandos del proceso de traducción instalemos los paquetes debian que vamos a utilizar:

apt-get install texlive texinfo texi2html emacs23 gettext-el po4a aspell-es dict dict-freedict-eng-spa dict-freedict-spa-eng dictionary-el dict-gcide

Si tenemos un fichero texinfo y queremos convertirlo a pdf se puede usar el siguiente comando:

texi2pdf myfile.texi

El problema con texi2pdf es que a veces no ofrece buenos mensajes de depuración, para depurar es mejor hacerlo con:

makeinfo myfile.texi

Además con este comando se crea el fichero .info

Si queremos crear un sitio web con nuestro documento podemos usar:

texi2html myfile.texi

Si se desea traducir el fichero del inglés al español u otras lenguas es posible utilizar gettext gracias a po4a. Siguiendo estos pasos:

  1. po4a-gettextize -f texinfo -m myfile.texi -p myfile.pot # Crea un fichero .pot a partir de un .texi
  2. cp myfile.pot myfile.es.po
  3. Se traduce del inglés al español abriendo myfile.es.po con emacs en modo po-mode
  4. po4a-translate -f texinfo -m myfile.texi -p myfile.es.po -l myfile.es.texi # Creamos myfile.es.texi, el texi traducido

Es probable que con el tiempo salgan nuevas actualizaciones del fichero .texi original, podemos actualizarnos con msgmerge del siguiente modo:

  1. po4a-gettextize -f texinfo -m myupdated.texi -p myupdated.pot # Crea el fichero .pot actualizado a partir del nuevo .texi
  2. msgmerge myold.es.po myupdated.pot > myupdated.es.po

Las frases en las que haya habido variaciones aparecerán como fuzzy debiendo ser debidamente revisadas.

Y ahora vemos algo de configuración del .emacs para hacer más fácil y divertida la traducción:


;;;; PO-MODE ;;;;
(require 'po-mode)
(defun iacute()
(interactive)
(insert "@'{@dotless{i}}"))
;; El atajo C-i insertará i acentuada, a la manera nativa de texinfo
(define-key po-subedit-mode-map "\C-i" 'iacute)

;; Debe cortar las líneas automáticamente
(add-hook 'po-subedit-mode-hook 'auto-fill-mode)

;;;; ASPELL ;;;;
;; Para que avise
(setq ispell-program-name "aspell"
ispell-extra-args '("--lang=es"))
(add-hook 'po-subedit-mode-hook
(lambda()
(flyspell-mode 1)))

;;;; Dictionary ;;;;
(global-set-key "\C-cs" 'dictionary-search)
(global-set-key "\C-cm" 'dictionary-match-words)

Estándar

3 thoughts on “Traduciendo Documentación en Texinfo con emacs y po4a

  1. Si tenemos un fichero texinfo y queremos convertirlo a pdf se puede usar el siguiente comando:

    texi2pdf myfile.texi

    El problema con texi2pdf es que a veces no ofrece buenos mensajes de depuración, para depurar es mejor hacerlo con:

    makeinfo myfile.texi

    Además con este comando se crea el fichero .info

    +1

  2. Pingback: Aprendiendo ikiwiki « Blog de David Arroyo Menéndez

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s