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
