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 ();
 


Reply via email to