Hola!

Que alegría dar ver correos con código fuente, temas de traducción,
problemas y soluciones ... gracias MD.

El sáb, 18-10-2008 a las 04:57 +0200, MD or MD escribió:
> Vale usando la táctica de prueba y error, he llegado a ver un poco el
> comportamiento del gettext (que supongo que vendrá de manera critica
> en la documentación en gnu.org), el mamoncete de el le gusta la var de
> entorno (ahora si lo recorde xD) $LANG bien maquetadita y cumpliendo
> estándares (que algo leído en la wikipedia de estos mirando sobre
> UTF-8) 2letrasIdioma_2letrasPais.codificacion .
> 
> Es decir que no es "en_UK.UTF-8" si no "en_GB.UTF-8" al igual que no
> puede ser "es_KK.UTF-8" porque son combinaciones no reconocidas ni UK
> ni KK sino la oficial GB,  es decir hay que mirar el
> /usr/share/locale/ para ver cual es el correcto ( a no ser que se sepa
> de memoria) , lo de utf-8 no se que mas puede tragar salvo UTF8 todo
> junto (casualidad me salio por error) pero "es_ES.pepito" no traga,
> pero en principio se supone que en un futuro UTF-8 reinara así que
> para que preocuparnos.
> 
> Todo  esto lo he hecho renombrado y exportando $LANG en plan:
> mv locale/es_ES locale/en_GB
> export $LANG=en_GB
> ...
> así con varias combinaciones hasta que descubrí los deseos del gettext.
> 
> Otra cosa que me olía y que comprobé insitu es que puedes tener el
> directorio es a secas locale/es/ y después le das var a $LANG
> es_AR.UTF-8 o es_ES.UTF-8 que si no lo encuentra tirada del .mo de
> locale/es/ .
> 
> Así que bueno ya me autorespondido ;) de mi duda, y ya de paso he
> dejado la solución...empírica por supuesto de esta, por si alguien se
> atasca con lo mismo o si el google u otro le da por indexar el hilo en
> sus resultado...que por cierto últimamente en las búsquedas del google
> salen pocos enlaces a hilos de listas de correo archivadas en web con
> lo útiles que eran estos resultados.
> 
> Y si alguno quiere aclarar y darle quitarle la cosa empírica a la
> solución dándonos los porques técnicos y tal pues encantado.
> 
> Saludos.
> 
> El día 18 de octubre de 2008 4:15, MD or MD <[EMAIL PROTECTED]> escribió:
> > 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

-- 
http://acsblog.es
wget -O - http://acsblog.es/~acs/acs.gpg.asc | gpg --import

Attachment: signature.asc
Description: Esta parte del mensaje está firmada digitalmente

_______________________________________________
Gnome-hispano-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/gnome-hispano-list

Responder a