[Patch Preview] move module-init and locale setup from scm to C

Chris Shoemaker c.shoemaker at cox.net
Thu Jan 12 20:07:59 EST 2006


On Thu, Jan 12, 2006 at 04:51:30PM -0500, Chris Shoemaker wrote:
> On Wed, Jan 11, 2006 at 10:14:17AM -0500, David Hampton wrote:
> > On Wed, 2006-01-11 at 11:31 +0100, Christian Stimming wrote:
> > 
> > > Err... no, that's not correct. gtk_init() as well as gtk_set_locale() 
> > > initializes internationalization support *for GTK+*. We still need to 
> > > initialize i18n support *for gnucash*.
> > > 
> > > This is achieved by the four functions that we currently have -- the 3 
> > > from Chris' patch plus setlocale(). Your previous post about 
> > > setlocale(), which was identical to mine, was correct.
> > 
> > >From the gtk_set_locale() documentation:
> > 
> >   In detail - sets the current locale according to the program
> >   environment. This is the same as calling the C library function
> >   setlocale (LC_ALL, "") but also takes care of the locale specific
> >   setup of the windowing system used by GDK.
> > 
> > I looked into the gtk 2.6 sources and it does, in fact, make a call to
> > setlocale (LC_ALL, "").
> 
> Nice.  It seems that calling gtk_init() allows even people who don't
> know much about i18l to get this right.

Just in case it wasn't clear, I did mean myself...

One more thing...

> +    bindtextdomain (TEXT_DOMAIN, LOCALE_DIR);
> +    textdomain (TEXT_DOMAIN);
> +    bind_textdomain_codeset (TEXT_DOMAIN, "UTF-8");

I know this works.  At least, it does find the catalogs and use them.
But I can't figure out _how_ it's actually finding the TEXT_DOMAIN and
LOCALE_DIR macros, since I'm not purposely linking to app-utils.

I'd be a bit less puzzled if I knew why it compiled.  But anyway,
since those two macros are used _only_ right here in gnucash-bin.c,
I'm going to move the BUILT_SOURCE i18n.h.in from src/app-util to
src/bin/.

-chris


More information about the gnucash-devel mailing list