diff options
author | Yves Combe <ycombe@src.gnome.org> | 2006-03-21 22:38:10 (GMT) |
---|---|---|
committer | Yves Combe <ycombe@src.gnome.org> | 2006-03-21 22:38:10 (GMT) |
commit | 48bf8b9a863f12096ebb61d8378f43c5163c112c (patch) | |
tree | d762f4f9527b6f522853e5eacace27735037779d | |
parent | 3f5c46ae23c7001b0c8f02b63f90d4bf150b4fb2 (diff) |
pass operators in translated string.
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | src/boards/memory.c | 32 |
2 files changed, 33 insertions, 5 deletions
@@ -1,3 +1,9 @@ +2006-03-21 Yves Combe <yves@ycombe.net> + + pass operators in translated string. + + * src/boards/memory.c: (get_random_token), (start_board): + 2006-03-20 Yves Combe <yves@ycombe.net> fix crash on g_assert(not hidden). diff --git a/src/boards/memory.c b/src/boards/memory.c index 56eaee5..6037175 100644 --- a/src/boards/memory.c +++ b/src/boards/memory.c @@ -1,6 +1,6 @@ /* gcompris - memory.c * - * Time-stamp: <2006/03/20 23:06:04 yves> + * Time-stamp: <2006/03/21 23:29:37 yves> * * Copyright (C) 2000 Bruno Coudoin * @@ -92,6 +92,11 @@ typedef enum static gchar *numbers; static gchar *alphabet_lowercase; static gchar *alphabet_uppercase; +static gchar *operators; +static gchar *op_add; +static gchar *op_minus; +static gchar *op_mult; +static gchar *op_div; typedef struct { gchar *data; @@ -570,7 +575,7 @@ void get_random_token(int token_type, gint *returned_type, gchar **string, gchar int i, j; i = k % add_levelDescription[gcomprisBoard->level][0]; j = k / add_levelDescription[gcomprisBoard->level][0]; - result = g_strdup_printf("%d+%d",i,j); + result = g_strdup_printf("%d%s%d",i,op_add,j); second = g_strdup_printf("%d",i+j);; break; } @@ -579,7 +584,7 @@ void get_random_token(int token_type, gint *returned_type, gchar **string, gchar int i, j; i = k % minus_levelDescription[gcomprisBoard->level][0]; j = k / minus_levelDescription[gcomprisBoard->level][0]; - result = g_strdup_printf("%d\u2212%d",i+j,i); + result = g_strdup_printf("%d%sd",i+j,op_minus,i); second = g_strdup_printf("%d",j);; break; } @@ -588,7 +593,7 @@ void get_random_token(int token_type, gint *returned_type, gchar **string, gchar int i, j; i = k % mult_levelDescription[gcomprisBoard->level][0]; j = k / mult_levelDescription[gcomprisBoard->level][0]; - result = g_strdup_printf("%d\u00d7%d",i,j); + result = g_strdup_printf("%d%s%d",i,op_mult,j); second = g_strdup_printf("%d",i*j);; break; } @@ -598,7 +603,7 @@ void get_random_token(int token_type, gint *returned_type, gchar **string, gchar i1 = k % div_levelDescription[gcomprisBoard->level][0]; if (i1==0) skip=TRUE; i2 = k / div_levelDescription[gcomprisBoard->level][0]; - result = g_strdup_printf("%d\u00f7%d",i1*i2,i1); + result = g_strdup_printf("%d%s%d",i1*i2,op_div,i1); second = g_strdup_printf("%d",i2); break; } @@ -841,6 +846,23 @@ static void start_board (GcomprisBoard *agcomprisBoard) assert(g_utf8_validate(alphabet_uppercase,-1,NULL)); // require by all utf8-functions g_warning("Using uppercase %s", alphabet_uppercase); + /* TRANSLATORS: Put here the mathematical operators "+-x÷" for your language. \u00D7 is mult and \u00F7 ÷ */ + operators=_("+-\u00D7\u00F7"); + g_assert(g_utf8_validate(operators,-1,NULL)); // require by all utf8-functions + g_warning("Using operators %s", operators); + + op_add = g_malloc0(2*sizeof(gunichar)); + g_utf8_strncpy(op_add, g_utf8_offset_to_pointer (operators,0),1); + + op_minus = g_malloc0(2*sizeof(gunichar)); + g_utf8_strncpy(op_minus, g_utf8_offset_to_pointer (operators,1),1); + + op_mult = g_malloc0(2*sizeof(gunichar)); + g_utf8_strncpy(op_mult, g_utf8_offset_to_pointer (operators,2),1); + + op_div = g_malloc0(2*sizeof(gunichar)); + g_utf8_strncpy(op_div, g_utf8_offset_to_pointer (operators,3),1); + if (currentMode == MODE_TUX){ tux_memory_size = tux_memory_sizes[gcomprisBoard->level]; tux_memory = g_queue_new (); |