Pequena guía práctica de tradución dun programa

Se estás a ler esta páxina, pode que sexa porque recentemente te interesases pola tradución de software libre. O que ven a continuación é unha pequena guía que penso que pode resultar de utilidade para alguén que quere empezar e non sabe como, que, con que ferramentas, etc.

Se se segue o titorial, creo que ó rematar terase unha mellor comprensión do que pasa nun sistema e como se fai para que os programas poidan “falar” diferentes linguas.

Presuponse, iso si, unha certa soltura para manexarse en contornos GNU/Linux (moi pouco, non vos asustedes).

Imos aló:

(As ordes precedidas de “#” son lanzadas por un usuario con privilexios, ou ben mediante “sudo”)


  • Paso 0: ter un sistema en galego, e instalar certos programas que nos serán de utilidade:
# aptitude install build-essential gettext 
# dpkg-reconfigure locales

e marcar gl_ES.UTF-8 como “default”.

  • Paso 1: Escoller un dos editores de ficheiros .po dispoñibles, e instalalo.

Supoñamos que se escolleu Poedit:

# aptitude install poedit
  • Paso 2: Executar e configurar poedit.

A primeira vez que se execute, preguntaranos certos datos (Nome, correo-e, por exemplo). Moi recomendable tamén marcar a opción “Compilar automaticamente o ficheiro .mo ó gardar”, na lapela de “Editor”.

  • Paso 3: Copiar o seguinte código nun ficheiro chamado “hello.c”:
#include<stdio.h>
#include<stdlib.h>
#include<libintl.h>
#include<locale.h>
 
 
int main()
{
 
bindtextdomain("hello","/usr/share/locale");
setlocale(LC_ALL,"");
textdomain("hello");
 
printf( gettext("\tHello!\n"));
 
return 0;
 
}
  • Paso 4: Extraer as mensaxes que imprimirá o programa cando se execute
$ xgettext hello.c

Obteremos un ficheiro chamado “messages.po”

  • Paso 5: Compilar o programa de exemplo:
$ gcc -o hello hello.c

Esta orde compilará o programa, xerando un ficheiro executable chamado “hello” no directorio actual. Se o executamos:

$ ./hello

deberiamos obter pola pantalla o seguinte:

      Hello!
  • Paso 6: Renomear o ficheiro a traducir:
$ mv messages.po hello.po
  • Paso 7: Imos acercándonos á parte de traducir, jeje
$ poedit hello.po
  • Paso 8: Traducir “\tHello!\n” . :)
  • Paso 9: Gardar e cerrar poedit.
  • Paso 10: Levar o ficheiro hello.mo a un directorio dende onde o sistema poida ler o contido e amosarnos os programas traducidos:
# mv hello.mo /usr/share/locale/gl/LC_MESSAGES/hello.mo
  • Paso 11: Probar se o fixemos ben:
$ export LANG=C;./hello; export LANG=gl_ES.UTF-8; ./hello

Se todo está ben, deberiamos ver:

      Hello!
      Ola!

Estes pasos permiten ver todo o proceso necesario para que un programa poida ser multilingüe. Pero na vida real as cousas non son tan complicadas.

O proceso normal incluiría os seguintes pasos:

  1. Un programador crea o programa, e extrae as cadeas (Pasos 3 e 4). Ou ben alguén crea un programa, e outra persoa adáptao para ser multilingüe. O software libre permite estas cousas...
  2. A mesma persoa (ou calquera outro) pon á disposición de todo o mundo un ficheiro .pot (o “t” é de “template”).
  3. Un tradutor (ou un equipo organizado) (ti mesmo!) descarga o .pot, renoméao para chamarlle .po, e tradúceo. (Pasos 6,7,8,9)
  4. Fanse revisións, e probas (10, 11). Pode ser o mesmo tradutor, ou algunha outra persoa, para intentar garantir certa calidade.
  5. Se todo está ben, o ficheiro traducido (o .po, non o .mo) vólvese pór á disposición de todo o mundo. Normalmente, envíase ao equipo de desenvolvemento do programa para que o inclúa “de serie” con el.
  6. Chega a xente dunha distribución (Debian, por exemplo), e empaqueta o programa orixinal, xunto cos ficheiros de todos os idiomas. O ficheiro .mo xa vai colocado en /usr/share/locale/<idioma>/LC_MESSAGES/<programa>.mo
  7. Listo.

Resumindo: descargar ficheiro, traducir, subir ficheiro.

Parecía máis complicado, non é?

 
comezar_a_traducir.txt · Última modificación: 2009/05/15 00:13 por jchaves
 
Recent changes RSS feed Driven by DokuWiki