Packages updates and i18n

Olivier Fourdan fourdan at xfce.org
Thu Jan 23 16:54:29 CET 2003


Hey Jasper,

On Thu, 2003-01-23 at 16:43, Jasper Huijsmans wrote:
> ok, here's what I did until now:
> * run 'glib-gettextize'

Well, I did that by hand :)

> * add the following to configure.ac:
> 
> GETTEXT_PACKAGE=xfce4-panel
> AC_SUBST(GETTEXT_PACKAGE)
> AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE",[Name of default
> gettext domain])
> 
> ALL_LINGUAS="nl"
> AM_GLIB_GNU_GETTEXT

Yes, that's correct :)

> * and add po/Makefile.in to AC_OUTPUT().

Yeap

> * add po to the subdirs in Makefile.am

Yeap

> * make a new header my_gettext.h to which I copied the
> /usr/share/gettext/gettext.h header and added definitions for _() and
> N_(). I then added it to global.h, so all relevant files include it.

Well, that didn't work for me. So I made my own my_intl.h file (based on the one
created by glade-2) and placed it in $(topsrcdir)/common/

Have a look to xfwm4 if that can help

> * add this to main() before gtk_init():
> 
> #ifdef ENABLE_NLS
>     bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR);
>     bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
>     textdomain (GETTEXT_PACKAGE);
> #endif
> 
>     gtk_set_locale ();

That's correct. You need to do the same (except for the gtk_set_locale) in the
mcs plugin init function.

I guess you'll have to do that in xfce4-panel plugins too (I mean not only mcs
plugins)

> * run ./autogen.sh

Obvious :)

> * in the po/ directory run 'make xfce4-panel.pot' to create the pot
> file. And copy that to nl.po and make some translations.

Yes. Please use UTF-8 as encoding.

> * Now running a normal 'make && make install" creates a translated
> xfce4-panel.
> 
> Somehow not all translated strings get replaced, so I presume I'm not
> including config.h and my_gettext.h correctly everywhere.

Yes, I noticed you forgot it in libxfcegui4/dialog.[ch] for example. So you
might have forgotten it elsewhere :)

> Anything else I should have done?

Humm, I guess you should not be too far by now :)

CU on irc tonite (if you're there, of course :)

Cheers,
Olivier.
--
XFce is a lightweight  desktop  environment  for  various *NIX systems. 
Designed for productivity,  it loads  and  executes  applications fast,
while conserving  system resources. XFce is all free software, released
under GNU General Public License.    Available from http://www.xfce.org



More information about the Xfce4-dev mailing list