locale data in different prefix


I have just recompiled GNOME and installed into another prefix (thanks
to vicious for his build scripts;). Then removed packages and my
previously installed crap from /usr prefix.

What I see now is that library messages are not translated (I have gal,
bonobo, oaf only in $HOME/INSTALL).

The problem is, that there is no way for library to specify domain
search path. In an app, it is done by:

bindtextdomain (PACKAGE, LOCALEDIR); /* this associates domain (mo file) with */
                                     /* directory where it is installed */
textdomain (PACKAGE);                /* selects default translation domain, */
                                     /* used for gettext() calls */

in library, gettext () is not used, because default domain always
belongs to caller app. But gettext does not know, where to search for
library's domain files!

Who can think of a solution? I can play with symlinks from
/usr/share/locale to ~/INSTALL/share/locale/, but it is workaround for
me, not a solution.

In labraries, who have initialization method, it is quite easy to do:
from bonobo_init or oaf_init, call bintextdomain and that's all. But not
all libraries have initialization routine (GAL does not have and there's
no point in having one).

Is there a way to run some code when library is loaded (i.e.
transparently to applications)?

Gediminas Paulauskas
Kaunas, Lithuania

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