This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: RFA: start of i18n


Tom Tromey writes:
 > This patch adds some minor infrastructure required to let gdb use
 > gettext for message translation.  Basically it works the same way as
 > gettext does in bfd, gas, ld, etc.
 > 
 > No messages are actually translated at this point.  This just makes it
 > possible to do so.
 > 
 > This causes no test suite regressions on Red Hat Linux 7.3.
 > 
 > Ok to commit?
 > 
 > Tom
 > 

Cool. The main.c part is approved.
Are you going to add the _("...") thingies too?

Would be nice if the first translated language is Italian. :-)

Elena


 > 
 > Index: ChangeLog
 > from  Tom Tromey  <tromey@redhat.com>
 > 
 > 	* Makefile.in (GDB_CFLAGS): Define LOCALEDIR.
 > 	* configure, config.in: Rebuilt.
 > 	* configure.in (PACKAGE): Define.
 > 	* defs.h: Include locale.h, libintl.h.
 > 	(_, N_): Define.
 > 	* main.c (captured_main): Call setlocale, bindtextdomain,
 > 	textdomain.
 > 
 > Index: Makefile.in
 > ===================================================================
 > RCS file: /cvs/src/src/gdb/Makefile.in,v
 > retrieving revision 1.209
 > diff -u -r1.209 Makefile.in
 > --- Makefile.in 14 Jun 2002 22:30:41 -0000 1.209
 > +++ Makefile.in 21 Jun 2002 17:02:30 -0000
 > @@ -312,7 +312,7 @@
 >  # your system doesn't have fcntl.h in /usr/include (which is where it
 >  # should be according to Posix).
 >  DEFS = @DEFS@
 > -GDB_CFLAGS = -I. -I$(srcdir) -I$(srcdir)/config $(DEFS)
 > +GDB_CFLAGS = -I. -I$(srcdir) -I$(srcdir)/config -DLOCALEDIR="\"$(prefix)/share/locale\"" $(DEFS)
 >  
 >  # M{H,T}_CFLAGS, if defined, have host- and target-dependent CFLAGS
 >  # from the config directory.
 > Index: configure.in
 > ===================================================================
 > RCS file: /cvs/src/src/gdb/configure.in,v
 > retrieving revision 1.87
 > diff -u -r1.87 configure.in
 > --- configure.in 11 May 2002 00:40:25 -0000 1.87
 > +++ configure.in 21 Jun 2002 17:02:36 -0000
 > @@ -33,10 +33,11 @@
 >  AC_CONFIG_AUX_DIR(`cd $srcdir;pwd`/..)
 >  AC_CANONICAL_SYSTEM
 >  
 > -dnl gdb doesn't use gettext, but bfd does.  We call this to ensure we
 > -dnl link with the correct libraries.
 > +dnl Set up for gettext.  PACKAGE is used when we call bindtextdomain.
 >  ALL_LINGUAS=
 >  CY_GNU_GETTEXT
 > +AC_DEFINE(PACKAGE, "gdb", [Name of this package. ])
 > +
 >  
 >  dnl List of object files added by configure.
 >  
 > Index: defs.h
 > ===================================================================
 > RCS file: /cvs/src/src/gdb/defs.h,v
 > retrieving revision 1.89
 > diff -u -r1.89 defs.h
 > --- defs.h 15 Jun 2002 18:45:31 -0000 1.89
 > +++ defs.h 21 Jun 2002 17:02:37 -0000
 > @@ -39,6 +39,28 @@
 >  #include <unistd.h>
 >  #endif
 >  
 > +#ifdef HAVE_LOCALE_H
 > +# include <locale.h>
 > +#endif
 > +
 > +#ifdef ENABLE_NLS
 > +# include <libintl.h>
 > +# define _(String) gettext (String)
 > +# ifdef gettext_noop
 > +#  define N_(String) gettext_noop (String)
 > +# else
 > +#  define N_(String) (String)
 > +# endif
 > +#else
 > +# define gettext(Msgid) (Msgid)
 > +# define dgettext(Domainname, Msgid) (Msgid)
 > +# define dcgettext(Domainname, Msgid, Category) (Msgid)
 > +# define textdomain(Domainname) while (0) /* nothing */
 > +# define bindtextdomain(Domainname, Dirname) while (0) /* nothing */
 > +# define _(String) (String)
 > +# define N_(String) (String)
 > +#endif
 > +
 >  /* For ``enum target_signal''.  */
 >  #include "gdb/signals.h"
 >  
 > Index: main.c
 > ===================================================================
 > RCS file: /cvs/src/src/gdb/main.c,v
 > retrieving revision 1.16
 > diff -u -r1.16 main.c
 > --- main.c 17 Jan 2002 22:15:17 -0000 1.16
 > +++ main.c 21 Jun 2002 17:02:44 -0000
 > @@ -157,6 +157,15 @@
 >  
 >    long time_at_startup = get_run_time ();
 >  
 > +#if defined (HAVE_SETLOCALE) && defined (HAVE_LC_MESSAGES)
 > +  setlocale (LC_MESSAGES, "");
 > +#endif
 > +#if defined (HAVE_SETLOCALE)
 > +  setlocale (LC_CTYPE, "");
 > +#endif
 > +  bindtextdomain (PACKAGE, LOCALEDIR);
 > +  textdomain (PACKAGE);
 > +
 >    START_PROGRESS (argv[0], 0);
 >  
 >  #ifdef MPW


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]