Bueno algo he avanzado aunque no acaba de funcionar correctamente.

Con el siguiente codigo fuente:
#include <stdio.h>
#include <libintl.h>
#include <locale.h>

#define _(string) gettext(string)

int main(void)
{
        setlocale(LC_ALL,"");
        bindtextdomain("hola","./locale/");
        textdomain("hola");

        printf(_("Hello World\n"));

        return 0;
}

Que se diferencia del anterior en que la ruta es relativa.

Y siguiendo el proceso de siempre:
 xgettext -k_ hola.c -o hola.po
poedit hola.po
metiendo como cadena traducida "TRADUCIDA\n" mas claro agua ;) .

Pero ahora llevando el archivo hola.mo a ./locale/es_ES/LC_MESSAGES/ funciona.

¿Parece que el problema ha terminado no? Pues si renombro el
directorio de locale es_ES por en_UK y hago un env LANG=en_UK ./hola
falla y muestra el helloword de siempre.

¿Porque no lo se, voy a ver si estudio mas el tema? Pa' mi que ahora
esta en el tema de las variables de globales/ambiente (environment var
en ingles...¿pero en español?) voy a ver si hago pruebas.

Saludos.

El día 17 de octubre de 2008 0:49, MD or MD <[EMAIL PROTECTED]> escribió:
> Buenas noches.
>
> Llevo varios días en mis tiempos libres trasteando con el código
> fuente de http://nesqi.homeip.net/hexxagon/ y aunque el juego es
> imposible de ganar al  ordenador, es bastante divertido. Y
> casualidades de la vida salto la noticia en barrapunto de "Las
> comunidades de software libre en la actualidad ".
>
> Así que paso la duda a la comunidad, ya que la ultima versión del
> juego es del 2005 y no esta en ingles, quería meterle las traducciones
> mediante el clásico gettext, pero como uno siempre lo había conocido
> de oídas, me puse manos a la obra a aprenderlo...cosa que es un poco
> complicada por los pocos tutoriales que hay, pero bueno me eche la
> toalla a la cabeza y dije vamos a probar (despues de haber leido un
> poco pero sin profundizar (asi que posiblemente me pasado algo basico
> que no lo consiga) porque hay poco en español...o encontrado poco) con
> un ejemplito simple y no me lo traduce...por supuesto algo estare
> haciendo mal, explico el proceso:
>
> -he hecho el tipico hola.c
>
> #include <stdio.h>
> #include <libintl.h>
> #include <locale.h>
>
> #define _(string) gettext(string)
>
> int main(void)
> {
>        setlocale(LC_ALL,"");
>        bindtextdomain("hola","/home/md/proyectos/pruebas/dprueba00/");
> //probe a meter "./" para tener el .mo cerquita
>        textdomain("hola");
>
>        printf(_("Hello World\n"));
>
>        return 0;
> }
>
> -despues le pasado el xgettext -k_ hola.c -o hola.po (si se que lo
> suyo es sacar el .pot de plantilla pero es mejor pasito a pasito)
> -edite el hola.po con el poedi que es muy comodo, no se si algo afecta
> en que le puse a todas las codificaciones utf-8 en opcines del
> "proyecto", guarde y genera ya el .mo, quedando algo tal que asi
>
> # SOME DESCRIPTIVE TITLE.
> # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
> # This file is distributed under the same license as the PACKAGE package.
> # FIRST AUTHOR <[EMAIL PROTECTED]>, YEAR.
> #
> msgid ""
> msgstr ""
> "Project-Id-Version: paquete\n"
> "Report-Msgid-Bugs-To: \n"
> "POT-Creation-Date: 2008-10-17 00:01+0200\n"
> "PO-Revision-Date: 2008-10-17 00:05+0100\n"
> "Last-Translator: Miguel <[EMAIL PROTECTED]>\n"
> "Language-Team: idioma <[EMAIL PROTECTED]>\n"
> "MIME-Version: 1.0\n"
> "Content-Type: text/plain; charset=utf-8\n"
> "Content-Transfer-Encoding: 8bit\n"
> "X-Poedit-Language: Spanish\n"
> "X-Poedit-Country: SPAIN\n"
> "X-Poedit-SourceCharset: utf-8\n"
>
> #: hola.c:13
> #, c-format
> msgid "Hello World\n"
> msgstr "TRADUCIDO\n"
>
> Me huelo que los X-Poedit son parametros extendidos que no son básicos
> que mete el poedit.
>
> -y ya con el .mo he probado mil sitios para meterlo
> ./ del prueba
> ./es/ de la prueba
> ./locale/es/LC_MESSAGE que he visto en algun tutorial
>
> Y nada despues he hecho un env LANG=es ./hola y no rula...¿En que he fallado?
>
> Saludos, y nada rompiendo la vergüenza porque como dice el refran "el
> tonto duda y el sabio pregunta"...o algo asi :P.
>
_______________________________________________
Gnome-hispano-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/gnome-hispano-list

Responder a