[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Castellanización de Debian



El vie, 07 ene 2000, SKaVeN escribió:
> 
> si no mal recuerdo eso que comentas lo pueden hacer los programas que usen
> el gettext, el problema vendría realmente con los programas que no lo usen.
> ¿Cual sería la mejor solucion: modificar esos paquetes o crear otros en
> castellano?
> 

Como parece que interesa y esto se hacerlo :-) comentare que añadir
soporte para internacionalización a un programa con el gettext es muy
fácil, yo lo hice hace poco con el diccionario de Inglés-Español i2e
Se hace así:

1)  A todos los ficheros .c que contengan cadenas a traducir añadir las lineas: 
#include <libintl.h>
#define _(Cadena) gettext(Cadena)

2) En el fichero .c que contiene a la función main añadir:
#include <locale.h>
#define PACKAGE "i2e"
/* i2e es el nombre del programa */
#define LOCALEDIR "/usr/share/locale"
/* directorio de donde cuelgan los locales */

3) Al inicio de la función main añadir:
setlocale( LC_ALL, "" );
bindtextdomain( PACKAGE, LOCALEDIR );
textdomain( PACKAGE );

4) En todos los ficheros con cadenas a traducir sustituir
"Text to traslate" por _("Text to traslate")

5) Con xgettext se extraen de los ficheros .c las cadenas a traducir
depositándose en un fichero .po (PACKAGE.po) con este formato:

# Mensajes en Español para i2e e i2e.sh
# Alfredo Casademunt <darkd@wanadoo.es>, 1999.
# Revisado por Amaya Rodrigo Sastre <barbwired@bigfoot.com>
# Spanish messages for i2e and i2e.sh
# Reviewed by Amaya Rodrigo Sastre <barbwired@bigfoot.com>
#
msgid ""
msgstr ""
"Project-Id-Version: i2e 0.5\n"
"POT-Creation-Date: 1999-12-17 18:22+0200\n"
"PO-Revision-Date: 1999-12-17 18:22+0200\n"
"Last-Translator: Amaya Rodrigo Sastre <barbwired@bigfoot.com>\n"
"Language-Team: Español <darkd@wanadoo.es> y <barbwired@bigfoot.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-1\n"
"Content-Transfer-Encoding: 8-bit\n"

msgid "Text to traslate"
msgstr "Texto a traducir"
...

6) Una vez traducidas las cadenas en cuestión con msgcmp se
"compila" el fichero PACKAGE.po a PACKAGE.mo

7) Por ultimo el fichero PACKAGE.mo habrá que instalarlo en el
directorio LOCALEDIR/xx/LC_MESSAGES donde xx es el idioma
al que se traduce, en nuestro caso xx=es

Bueno, espero que esto sirva a alguien.

Un saludo.

Alfredo.
-- 
Linux registered user #98432
Running Debian/GNU Linux 2.1 with kernel 2.2.14
Homepage at http://darkd.virtualave.net


Reply to: