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