Okay, I still trying to track down those damn Gtk-CRITICAL messages that spew forth because some menu items are translated differently in gnucash/po/X.po verses various other gnome libs.

What follows is the step-by-step approach to doint this. I hope to add this to the TRANSLATIONS-HOWTO document I'm working on for gnucash, so comments are welcome.

Question #1: I think there must be another library besides libgnome and libgnomeui that we have to worry about. Why? Because, when I run "LANG=pt_BR gnucash" the "_View" menu appears as "_Visualizar". However, it is translated in both my gnucash po file and libgnomeui as "_Ver" (it doesn't exist in libgnome). Where is it coming from?

Question #2: Is there a simple way to simply re-install a language file after making a modification to a po file? Or, do we have to go through the whole "make install" process after a minor language translation modification?

Question #3: What *version* of the libgnome and libgnomeui libraries should we be looking into? I guess it must be the version that exists on the system under which gnucash is being run. So, in my case, for RedHat v9, that mean I should use v2.2 of libgnome and libgnomeui. What if these library file translations changed somewhat in v2.3? Or v2.1?

Thanks!
-Jon

==============================================

1) Start with a clean copy of the 1.8 gnucash source (fresh CVS or make clean)

2) Recompile/install with debug-ing activated (./autogen.sh --enable-debug; make; make install)

3) for problems by running gnucash in English (LANG=en_US gnucash) followed by running in your language (LANG=pt_BR gnucash). Look for warning messages which only appear when running under your language.

4) If there is a problem, restart gnucash under gdb under your language (LANG=pt_BR gnucash-env gdb /usr/bin/guile) followed by (run -e main -s /usr/local/libexec/gnucash/overrides/gnucash --g-fatal-warnings) from within gdb. After gnucash crashes, type 'backtrace' in the gdb interface, you should see something similar to this:

#0 0xffffe002 in ?? ()
#1 0x42028a73 in abort () from /lib/tls/libc.so.6
#2 0x4019d3d8 in g_logv () from /usr/lib/libglib-1.2.so.0
#3 0x4019d414 in g_log () from /usr/lib/libglib-1.2.so.0
#4 0x40500fdd in gtk_type_check_object_cast () from /usr/lib/libgtk-1.2.so.0
#5 0x407292e5 in gnc_mdi_tweak_menus (mc=0x825adb0) at gnc-mdi-utils.c:574
#6 0x40729d13 in gnc_mdi_child_changed_cb (mdi=0x8266fd8, prev_child=0x0,
data=0x8265fd8) at gnc-mdi-utils.c:861


Notice position #5 which has "gnc_mdi_tweak_menus at gnc-mdi-utils.c:574"? Open that source file and find line 574:

573:  widget = gnc_mdi_child_find_menu_item(mc, "_View/_Toolbar");
574:  gtk_signal_handler_block_by_data(GTK_OBJECT(widget), info);

So, the problem is with the translation of "_View/_Toolbar".

5) Download your language translations for the libgnome and libgnomeui packages installed on your system. These can be found in the appropriate tarballs on ftp://ftp.gnome.org/ in the /pub/gnome/sources/ directory. Also, you can access the files through LXR like this:

http://cvs.gnome.org/lxr/source/

(then enter libgnome/po/ or libgnomeui/po/)

6) Find how libgnome or libgnomeui translated that menu item, and change your translation in gnucash to be identical.

7) Return to step #1. Wash, rinse, repeat.

--
-**-*-*---*-*---*-*---*-----*-*-----*---*-*---*-----*-----*-*-----*---
 Jon Lapham  <[EMAIL PROTECTED]>          Rio de Janeiro, Brasil
 Work: Extracta Mol�culas Naturais SA     http://www.extracta.com.br/
 Web: http://www.jandr.org/
***-*--*----*-------*------------*--------------------*---------------


_______________________________________________ gnucash-devel mailing list [EMAIL PROTECTED] http://www.gnucash.org/cgi-bin/mailman/listinfo/gnucash-devel

Reply via email to