[Tech] Aiuto Gettext
Christopher R. Gabriel
cgabriel@softwarelibero.org
Sab 10 Mar 2001 02:07:41 CET
Dinogen> Ciao ALL, Aiutatemi! Non riesco a usare il gettext, non
Dinogen> ci capisco nulla. E' la quarta volta che leggo la troppo
Dinogen> lunga doc. Vorrei fare una prova col hello.c, ma non mi
Dinogen> riesce. Sono arrivato a mettere i gettext(" ... ") nel
Dinogen> sorgente, e a creare il file= =20 messages.po. Ho messo
Dinogen> le linee apposite nel main, ma non capisco proprio cosa
Dinogen> significa= =20 PACKAGE e cosa si intende per domain.
PACKAGE viene solitamente definito in config.h (se segue i GNU
standards - se usi gli GNU autotools la cosa e' praticamente
automatica) ed e' una stringa che identifica il pacchetto (solitamente
l'eseguibile). Solitamente e' anche accompagnato dalla versione dello
stesso.
Roba tipo:
#define PACKAGE "ruttolibero"
#define VERSION "0.4pre12-no-me-patch"
Per l'uso di gettext ecco alcuni indirizzi:
http://www.gnu.org/manual/gettext/html_mono/gettext.html
http://www.it.gnome.org/GGAD/sec-i18n.html
Inoltre, ti attacco qui un estratto da libgnome/gnome-i18n.h, dove
vengono definite alcune macro molto comode:
#ifdef ENABLE_NLS
# include <libintl.h>
# ifdef GNOME_EXPLICIT_TRANSLATION_DOMAIN
# undef _
# define _(String) dgettext (GNOME_EXPLICIT_TRANSLATION_DOMAIN, String)
# else
# define _(String) gettext (String)
# endif
# ifdef gettext_noop
# define N_(String) gettext_noop (String)
# else
# define N_(String) (String)
# endif
#else
/* Stubs that do something close enough. */
# define textdomain(String) (String)
# define gettext(String) (String)
# define dgettext(Domain,Message) (Message)
# define dcgettext(Domain,Message,Type) (Message)
# define bindtextdomain(Domain,Directory) (Domain)
# define _(String) (String)
# define N_(String) (String)
#endif
Dinogen> Poi sembra obbligatorio metter su una istallazione tipo
Dinogen> ./configure per il= =20 programma che si vuol tradurre,
Dinogen> =E8 vero?
No, non e' vero.
Ciao,
--
Christopher R. Gabriel <cgabriel@softwarelibero.org> ___
| __|__
http://www.linux.it/~cgabriel/ | _|___|
http://persone.softwarelibero.org/person/cgabriel/ |___|
Maggiori informazioni sulla lista
flug-tech