Jeremie Knuesel wrote: > Here is at last a French translation of Quarry (done for 0.1.12 and > updated to 0.1.14). I couldn't figure out how to get Quarry to use it so > I couldn't test it... hints welcome :)
Thank you very much! To test it, you just need to add string `fr' to the file `po/LINGUAS'. Then reinstall Quarry and run it. In case your `LANGUAGE' environment variable is not set to French, you could run it like this: env LANGUAGE=fr_FR quarry [arguments] > Just tell me if there is any problem, something to change, etc. There are problems, but they are mostly on programming side. One problem is severe: menus don't get translated. The below patch fixes it (not yet in CVS.) Another problem is that when new menu items are added, they end up in a new menu instead (with an English name.) You can see this if you update to current CVS version: there will be two `Edit' menus, one in French, the other in English. Finally, there is a problem with duplicate translations of menu paths, one with underscore, the other without. Your file has different translations for `Play/Adjourn Game', so the item is not sensitized/ desensitized and GTK+ prints warnings in the terminal. I'll think about how to make it easier for translators. I'll commit your translation to CVS when I resolve these issues. Paul --- gtk-goban-window.c 28 Mar 2005 20:43:29 +0300 1.49 +++ gtk-goban-window.c 12 Apr 2005 00:20:10 +0300 @@ -405,6 +405,7 @@ gtk_goban_window_class_init (GtkGobanWin static void gtk_goban_window_init (GtkGobanWindow *goban_window) { + static gboolean menu_entries_translated = FALSE; static GtkItemFactoryEntry menu_entries[] = { { N_("/_File"), NULL, NULL, 0, "<Branch>" }, { N_("/File/_New Game..."), "<ctrl>N", @@ -755,6 +756,16 @@ gtk_goban_window_init (GtkGobanWindow *g gtk_qbox_set_ruling_widget (GTK_QBOX (qhbox), frame, gtk_goban_negotiate_height); + /* Translate the menu entries. This piece of code runs once + * only. + */ + if (!menu_entries_translated) { + for (k = 0; k < sizeof menu_entries / sizeof (GtkItemFactoryEntry); k++) + menu_entries[k].path = _(menu_entries[k].path); + + menu_entries_translated = TRUE; + } + /* Window menu bar and associated accelerator group. */ accel_group = gtk_accel_group_new ();