[gnome-hispano] Aprendiendo a traducir con gettext....no lo consigo : (



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 ADDRESS>, 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 <md email com>\n"
"Language-Team: idioma <LL li org>\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.



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